<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>70751</bug_id>
          
          <creation_ts>2011-10-24 12:47:06 -0700</creation_ts>
          <short_desc>[chromium] Use the full set of rects when determining if union covers another rect.</short_desc>
          <delta_ts>2012-01-09 11:39:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>70533</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dana Jansens">danakj</reporter>
          <assigned_to name="W. James MacLean">wjmaclean</assigned_to>
          <cc>backer</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>489543</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-10-24 12:47:06 -0700</bug_when>
    <thetext>There are places where we want to know if a union of rects together cover a (rectangular) space.  Currently we just look for a single child that fills the space.  This gives no false-positives, but potentially many false negatives.

Add logic to determine if the union of rects fill a rect, and use it in these cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489544</commentid>
    <comment_count>1</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-10-24 12:47:44 -0700</bug_when>
    <thetext>Bugs this depend on represent places where the improved logic should be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492469</commentid>
    <comment_count>2</comment_count>
      <attachid>112868</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2011-10-28 08:43:58 -0700</bug_when>
    <thetext>Created attachment 112868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508845</commentid>
    <comment_count>3</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-11-24 11:15:58 -0800</bug_when>
    <thetext>Can make use of platform/graphics/Region class to do all of this. It is what I am using it in the webkit side.

If you need Region::contains() you can replace &quot;A.contains(B)&quot; with

A.intersect(B);
if (!A.isEmpty())
  B.subtract(A);
return B.isEmpty();

and use .contains() when bug #72298 lands.


Removing dep on #70634 since this is useful for UI layers already regardless of opaque flag being set in WebCore land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532375</commentid>
    <comment_count>4</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-01-09 11:39:59 -0800</bug_when>
    <thetext>I think this is covered in 70533. Marking resolved.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112868</attachid>
            <date>2011-10-28 08:43:58 -0700</date>
            <delta_ts>2011-10-28 08:58:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70751-20111028114356.patch</filename>
            <type>text/plain</type>
            <size>23389</size>
            <attacher name="W. James MacLean">wjmaclean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg1NTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkZGU4NTlkNTMxZTRjMTU5
MDEwMjQ5NzYwYTcwMDkzZTAxNWNiZTQ2Li40NWFiZjY0OTgwNzcwNTdlMmJlYzdiOWQ5ZTcxYjI5
MWU2NTdlNzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEtMTAtMjggIFcuIEph
bWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVzZSB0aGUg
ZnVsbCBzZXQgb2YgcmVjdHMgd2hlbiBkZXRlcm1pbmluZyBpZiB1bmlvbiBjb3ZlcnMgYW5vdGhl
ciByZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzA3NTEKKworICAgICAgICBBbGxvd3MgQ0NUaWxlZExheWVyIHRvIGNoZWNrIG9wYXF1ZW5lc3Mg
b2YgbGF5ZXJzIHRoYXQgZHJhdyBhZnRlciBpdCBpbiBvcmRlcgorICAgICAgICB0byBhdHRlbXB0
IGN1bGxpbmcgb2YgY29tcGxldGVseSBvY2NsdWRlZCB0aWxlcy4gV2lsbCB1bHRpbWF0ZWx5IGFs
c28gZGV0ZWN0CisgICAgICAgIHBhcnRpYWxseSBvY2NsdWRlZCB0aWxlcyBhbmQgb25seSBkcmF3
IHRoZSByZWxldmFudCBzdWItcmVnaW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoWWV0ISkKKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnNPbnRvUmVuZGVyU3Vy
ZmFjZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQ2Fu
dmFzTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDQ2FudmFzTGF5ZXJJbXBsOjpk
cmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0NhbnZhc0xh
eWVySW1wbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpkcmF3KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllckxpc3RUcmF2ZXJzZTo6Q0NMYXllckxpc3RUcmF2ZXJzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ0xheWVyTGlzdFRyYXZlcnNlOjpiZWdpbik6CisgICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVyTGlzdFRyYXZlcnNlOjplbmQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDUGx1Z2luTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNDUGx1Z2luTGF5ZXJJbXBsOjpkcmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1BsdWdpbkxheWVySW1wbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NUaWxlZExheWVySW1wbDo6ZHJhdyk6CisgICAgICAgIChXZWJDb3JlOjppc0F4aXNBbGln
bmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVUaWxlUmVjdHNWaXNpYmxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDVGlsZWRMYXllckltcGw6OmRyYXdUaWxlcyk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaWxlZExheWVySW1wbC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NWaWRlb0xheWVySW1wbDo6ZHJhdyk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5oOgorCiAyMDExLTEwLTI3
ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZW1vdmUgdGhvc2UgdW4tbmVlZGVkIGZpbGVzIGNvbW1pdHRlZCBieSBlcnJvciBp
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXggMDU3NmFkOTIzODM5
MjY4Yjg1MGMwOTQ4ZmU0NGIyMjA4NzM0YTZlZS4uMThhOGZiOWYwZjU0YzlkOTUzNDZkNDk3YjIx
MDBmM2Y2YzRkOWM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBA
IC01Myw3ICs1Myw2IEBACiAjaW5jbHVkZSAiVHJhY2tpbmdUZXh0dXJlQWxsb2NhdG9yLmgiCiAj
aW5jbHVkZSAiVHJlZVN5bmNocm9uaXplci5oIgogI2luY2x1ZGUgIldlYkdMTGF5ZXJDaHJvbWl1
bS5oIgotI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllclRy
ZWVIb3N0Q29tbW9uLmgiCiAjaW5jbHVkZSAiY2MvQ0NNYWluVGhyZWFkVGFzay5oIgogI2luY2x1
ZGUgImNjL0NDVGhyZWFkUHJveHkuaCIKQEAgLTMzMiw5ICszMzEsOSBAQCB2b2lkIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyc09udG9SZW5kZXJTdXJmYWNlcyhDQ0xheWVySW1wbCog
cm9vdERyYXdMYQogICAgICAgICAgICAgICAgIEdMQyhtX2NvbnRleHQuZ2V0KCksIG1fY29udGV4
dC0+ZW5hYmxlKEdyYXBoaWNzQ29udGV4dDNEOjpTQ0lTU09SX1RFU1QpKTsKICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgY29uc3QgQ0NMYXllckxpc3QmIGxheWVyTGlzdCA9IHJlbmRlclN1
cmZhY2UtPmxheWVyTGlzdCgpOwotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBsYXllckluZGV4
ID0gMDsgbGF5ZXJJbmRleCA8IGxheWVyTGlzdC5zaXplKCk7ICsrbGF5ZXJJbmRleCkKLSAgICAg
ICAgICAgICAgICBkcmF3TGF5ZXIobGF5ZXJMaXN0W2xheWVySW5kZXhdLmdldCgpLCByZW5kZXJT
dXJmYWNlKTsKKyAgICAgICAgICAgIENDTGF5ZXJMaXN0JiBsYXllckxpc3QgPSByZW5kZXJTdXJm
YWNlLT5sYXllckxpc3QoKTsKKyAgICAgICAgICAgIGZvciAoQ0NMYXllckxpc3Q6Oml0ZXJhdG9y
IGxheWVySXQgPSBsYXllckxpc3QuYmVnaW4oKTsgbGF5ZXJJdCAhPSBsYXllckxpc3QuZW5kKCk7
ICsrbGF5ZXJJdCkKKyAgICAgICAgICAgICAgICBkcmF3TGF5ZXIoQ0NMYXllckxpc3RUcmF2ZXJz
ZShsYXllckl0LCBsYXllckxpc3QuZW5kKCkpLCByZW5kZXJTdXJmYWNlKTsKICAgICAgICAgfQog
ICAgIH0KIH0KQEAgLTU2OCw4ICs1NjcsOSBAQCBib29sIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6
dXNlUmVuZGVyU3VyZmFjZShDQ1JlbmRlclN1cmZhY2UqIHJlbmRlclN1cmZhY2UpCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLXZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXIoQ0NM
YXllckltcGwqIGxheWVyLCBDQ1JlbmRlclN1cmZhY2UqIHRhcmdldFN1cmZhY2UpCit2b2lkIExh
eWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyKGNvbnN0IENDTGF5ZXJMaXN0VHJhdmVyc2Um
IGxheWVyVHJhdmVyc2UsIENDUmVuZGVyU3VyZmFjZSogdGFyZ2V0U3VyZmFjZSkKIHsKKyAgICBD
Q0xheWVySW1wbCogbGF5ZXIgPSBsYXllclRyYXZlcnNlLmJlZ2luKCktPmdldCgpOwogICAgIGlm
IChsYXllci0+cmVuZGVyU3VyZmFjZSgpICYmIGxheWVyLT5yZW5kZXJTdXJmYWNlKCkgIT0gdGFy
Z2V0U3VyZmFjZSkgewogICAgICAgICBsYXllci0+cmVuZGVyU3VyZmFjZSgpLT5kcmF3KHRoaXMs
IGxheWVyLT5nZXREcmF3UmVjdCgpKTsKICAgICAgICAgbGF5ZXItPnJlbmRlclN1cmZhY2UoKS0+
cmVsZWFzZUNvbnRlbnRzVGV4dHVyZSgpOwpAQCAtNTg3LDcgKzU4Nyw3IEBAIHZvaWQgTGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXIoQ0NMYXllckltcGwqIGxheWVyLCBDQ1JlbmRlclN1
cmZhY2UqIHRhcmdlCiAgICAgZWxzZQogICAgICAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2Nv
bnRleHQtPmRpc2FibGUoR3JhcGhpY3NDb250ZXh0M0Q6OlNDSVNTT1JfVEVTVCkpOwogCi0gICAg
bGF5ZXItPmRyYXcodGhpcyk7CisgICAgbGF5ZXItPmRyYXcodGhpcywgbGF5ZXJUcmF2ZXJzZSk7
CiAKICAgICAvLyBEcmF3IHRoZSBkZWJ1ZyBib3JkZXIgaWYgdGhlcmUgaXMgb25lLgogICAgIGxh
eWVyLT5kcmF3RGVidWdCb3JkZXIodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5oCmluZGV4IDY0NmVhNmU1YzQ0OGE1OGM2MTI0MTM0MmIwZjlhNmVhZGRhZWY0NDcuLjhhMTQ0
ZWVkZTM0MTA4NmEzYTQ1YjNhYjdkOTY0ZDY4MzA2ZGVmMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiVmlkZW9MYXllckNo
cm9taXVtLmgiCiAjaW5jbHVkZSAiY2MvQ0NDYW52YXNMYXllckltcGwuaCIKICNpbmNsdWRlICJj
Yy9DQ0hlYWRzVXBEaXNwbGF5LmgiCisjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwuaCIKICNpbmNs
dWRlICJjYy9DQ0xheWVyU29ydGVyLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllclRyZWVIb3N0SW1w
bC5oIgogI2luY2x1ZGUgImNjL0NDUGx1Z2luTGF5ZXJJbXBsLmgiCkBAIC02NCw3ICs2NSw2IEBA
IGNsYXNzIEdyQ29udGV4dDsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0NIZWFkc1Vw
RGlzcGxheTsKLWNsYXNzIENDTGF5ZXJJbXBsOwogY2xhc3MgQ0NMYXllclRyZWVIb3N0SW1wbDsK
IGNsYXNzIEdlb21ldHJ5QmluZGluZzsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwpAQCAtMTQ5
LDggKzE0OSw2IEBAIHB1YmxpYzoKIAogICAgIEdDM0RlbnVtIGJlc3RUZXh0dXJlRm9ybWF0KCk7
CiAKLSAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8Q0NMYXllckltcGw+ID4gQ0NMYXllckxpc3Q7
Ci0KICAgICBzdGF0aWMgdm9pZCB0b0dMTWF0cml4KGZsb2F0KiwgY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmKTsKICAgICB2b2lkIGRyYXdUZXh0dXJlZFF1YWQoY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmIGxheWVyTWF0cml4LAogICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCB3
aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBGbG9hdFF1YWQmLApAQCAt
MTYyLDcgKzE2MCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRyYXdMYXllcnNJbnRlcm5hbCgp
OwogICAgIHZvaWQgZHJhd0xheWVyc09udG9SZW5kZXJTdXJmYWNlcyhDQ0xheWVySW1wbCogcm9v
dERyYXdMYXllciwgY29uc3QgQ0NMYXllckxpc3QmIHJlbmRlclN1cmZhY2VMYXllckxpc3QpOwot
ICAgIHZvaWQgZHJhd0xheWVyKENDTGF5ZXJJbXBsKiwgQ0NSZW5kZXJTdXJmYWNlKik7CisgICAg
dm9pZCBkcmF3TGF5ZXIoY29uc3QgQ0NMYXllckxpc3RUcmF2ZXJzZSYsIENDUmVuZGVyU3VyZmFj
ZSopOwogCiAgICAgTWFuYWdlZFRleHR1cmUqIGdldE9mZnNjcmVlbkxheWVyVGV4dHVyZSgpOwog
ICAgIHZvaWQgY29weU9mZnNjcmVlblRleHR1cmVUb0Rpc3BsYXkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQ2FudmFzTGF5ZXJJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
Q2FudmFzTGF5ZXJJbXBsLmNwcAppbmRleCAyMjQzNjA3YTMxMzAzODMyODVmNzAzNmQwNDViZWM2
OWU4NGY2MmI0Li4yODlmYmQ3OWJjMjhiZWE4Y2ZiZDdhZWU1MDkxOGNjYTI2MTY4YjA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Nh
bnZhc0xheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NDYW52YXNMYXllckltcGwuY3BwCkBAIC00OCw3ICs0OCw3IEBAIENDQ2Fu
dmFzTGF5ZXJJbXBsOjp+Q0NDYW52YXNMYXllckltcGwoKQogewogfQogCi12b2lkIENDQ2FudmFz
TGF5ZXJJbXBsOjpkcmF3KExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlcikKK3Zv
aWQgQ0NDYW52YXNMYXllckltcGw6OmRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJl
bmRlcmVyLCBjb25zdCBDQ0xheWVyTGlzdFRyYXZlcnNlJiBsYXllclRyYXZlcnNlKQogewogICAg
IEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7CiAgICAgY29uc3QgQ0NDYW52YXNMYXll
ckltcGw6OlByb2dyYW0qIHByb2dyYW0gPSBsYXllclJlbmRlcmVyLT5jYW52YXNMYXllclByb2dy
YW0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDQ2FudmFzTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0NhbnZhc0xheWVySW1wbC5oCmluZGV4IDM4MjY3MDg2ZjRiNDNl
NjU3N2M3ZDljNzE1ZGU5ODQ4NjQzZWRhZjguLjQ3ZDMwNWI0MDQ0N2ZiMjUxMTQ0MmQ0MDY3MmNm
ODc2ZWM3M2M1NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDQ2FudmFzTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NDYW52YXNMYXllckltcGwuaApAQCAtNDIsNyAr
NDIsNyBAQCBwdWJsaWM6CiAKICAgICB0eXBlZGVmIFByb2dyYW1CaW5kaW5nPFZlcnRleFNoYWRl
clBvc1RleCwgRnJhZ21lbnRTaGFkZXJSR0JBVGV4RmxpcEFscGhhPiBQcm9ncmFtOwogCi0gICAg
dmlydHVhbCB2b2lkIGRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgdmlydHVhbCB2
b2lkIGRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKiwgY29uc3QgQ0NMYXllckxpc3RUcmF2ZXJz
ZSYpOwogCiAgICAgdmlydHVhbCB2b2lkIGR1bXBMYXllclByb3BlcnRpZXMoVGV4dFN0cmVhbSYs
IGludCBpbmRlbnQpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAKaW5kZXggMmIwNWQ5
ZmYwZDE3ZTAyYmI0ZWU3ZDgzYmIwZjNiMjRmY2I3NWNmMy4uMDllMDI5YjMwMWJjNzM0MDA4ZDBi
Zjk3M2E5NGQwYTVkNTc5NTcyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmNwcApAQCAtMTA4LDcg
KzEwOCw3IEBAIGJvb2wgQ0NMYXllckltcGw6OmRlc2NlbmRhbnREcmF3c0NvbnRlbnQoKQogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBDQ0xheWVySW1wbDo6ZHJhdyhMYXllclJlbmRlcmVy
Q2hyb21pdW0qKQordm9pZCBDQ0xheWVySW1wbDo6ZHJhdyhMYXllclJlbmRlcmVyQ2hyb21pdW0q
LCBjb25zdCBDQ0xheWVyTGlzdFRyYXZlcnNlJikKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4IDM5YzZmOGUxMGJhMGY4NzdiOTJhZmExMzBm
NDExODQzNGZhNWVjYTQuLmJlOWQ3MDM3MTljNzlhNjY2OWNkMGM2YjQzNDRiNjZkZjJjMjY2Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtMzksMTAgKzM5LDI3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorY2xhc3MgQ0NMYXllckltcGw7CiBjbGFzcyBDQ0xheWVyU29ydGVyOwogY2xh
c3MgTGF5ZXJDaHJvbWl1bTsKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIAordHlwZWRl
ZiBWZWN0b3I8UmVmUHRyPENDTGF5ZXJJbXBsPiA+IENDTGF5ZXJMaXN0OworCitjbGFzcyBDQ0xh
eWVyTGlzdFRyYXZlcnNlIHsKK3B1YmxpYzoKKyAgICBDQ0xheWVyTGlzdFRyYXZlcnNlKENDTGF5
ZXJMaXN0OjppdGVyYXRvciBiZWdpbiwgQ0NMYXllckxpc3Q6Oml0ZXJhdG9yIGVuZCkKKyAgICAg
ICAgOiBtX2JlZ2luKGJlZ2luKQorICAgICAgICAsIG1fZW5kKGVuZCkKKyAgICB7CisgICAgfQor
ICAgIENDTGF5ZXJMaXN0OjppdGVyYXRvciBiZWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fYmVnaW47
IH0KKyAgICBDQ0xheWVyTGlzdDo6aXRlcmF0b3IgZW5kKCkgY29uc3QgeyByZXR1cm4gbV9lbmQ7
IH0KK3ByaXZhdGU6CisgICAgQ0NMYXllckxpc3Q6Oml0ZXJhdG9yIG1fYmVnaW47CisgICAgQ0NM
YXllckxpc3Q6Oml0ZXJhdG9yIG1fZW5kOworfTsKKwogY2xhc3MgQ0NMYXllckltcGwgOiBwdWJs
aWMgUmVmQ291bnRlZDxDQ0xheWVySW1wbD4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPENDTGF5ZXJJbXBsPiBjcmVhdGUoaW50IGlkKQpAQCAtNzAsNyArODcsNyBAQCBwdWJsaWM6
CiAgICAgaW50IGRlYnVnSUQoKSBjb25zdCB7IHJldHVybiBtX2RlYnVnSUQ7IH0KICNlbmRpZgog
Ci0gICAgdmlydHVhbCB2b2lkIGRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgdmly
dHVhbCB2b2lkIGRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKiwgY29uc3QgQ0NMYXllckxpc3RU
cmF2ZXJzZSYpOwogICAgIHZvaWQgdW5yZXNlcnZlQ29udGVudHNUZXh0dXJlKCk7CiAgICAgdmly
dHVhbCB2b2lkIGJpbmRDb250ZW50c1RleHR1cmUoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUGx1Z2luTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUGx1Z2luTGF5ZXJJbXBsLmNwcAppbmRleCA2YWZlODAxMjRiNzk3ZDIx
NjE3NGY3ZjhkNDkzYmQ4NzdlZmZlY2M0Li5iYzNlNjg5NjczMzdmNTBiMjYwMjA0MWJiYmJlODAw
MGU1YzA2MmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1BsdWdpbkxheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQbHVnaW5MYXllckltcGwuY3BwCkBAIC02Niw3
ICs2Niw3IEBAIENDUGx1Z2luTGF5ZXJJbXBsOjp+Q0NQbHVnaW5MYXllckltcGwoKQogewogfQog
Ci12b2lkIENDUGx1Z2luTGF5ZXJJbXBsOjpkcmF3KExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5
ZXJSZW5kZXJlcikKK3ZvaWQgQ0NQbHVnaW5MYXllckltcGw6OmRyYXcoTGF5ZXJSZW5kZXJlckNo
cm9taXVtKiBsYXllclJlbmRlcmVyLCBjb25zdCBDQ0xheWVyTGlzdFRyYXZlcnNlJiBsYXllclRy
YXZlcnNlKQogewogICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7CiAgICAgUGx1
Z2luUHJvZ3JhbUJpbmRpbmcgYmluZGluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUGx1Z2luTGF5ZXJJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1BsdWdpbkxheWVySW1wbC5o
CmluZGV4IDU2MGUxNzQ3Y2ExNTRkMGY5NDdlYmIzMTVhYmM0ODE4ZjBlYzU2NTkuLjQ2ZjJiYjVj
ODNhMzBmMzE1OWNhYmJjN2RjZmRkZjU1Y2NjNGM5N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUGx1Z2luTGF5ZXJJbXBsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQbHVnaW5M
YXllckltcGwuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBQcm9ncmFt
QmluZGluZzxWZXJ0ZXhTaGFkZXJQb3NUZXgsIEZyYWdtZW50U2hhZGVyUkdCQVRleEFscGhhPiBQ
cm9ncmFtOwogICAgIHR5cGVkZWYgUHJvZ3JhbUJpbmRpbmc8VmVydGV4U2hhZGVyUG9zVGV4LCBG
cmFnbWVudFNoYWRlclJHQkFUZXhGbGlwQWxwaGE+IFByb2dyYW1GbGlwOwogCi0gICAgdmlydHVh
bCB2b2lkIGRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgdmlydHVhbCB2b2lkIGRy
YXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKiwgY29uc3QgQ0NMYXllckxpc3RUcmF2ZXJzZSYpOwog
CiAgICAgdmlydHVhbCB2b2lkIGR1bXBMYXllclByb3BlcnRpZXMoVGV4dFN0cmVhbSYsIGludCBp
bmRlbnQpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1RpbGVkTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwCmluZGV4IDEx
NTVhNGNhZDUzN2M2YTY2ZTYzNmYwNDAyMGJmYTk2Y2Y5MmJkN2QuLmMwY2ZjNTExNjFiZTVkMWZl
OTM1YjIzNTgwN2I3YWQyYjY2NjY3Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwu
Y3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggQ0NUaWxlZExheWVy
SW1wbDo6dGlsaW5nVHJhbnNmb3JtKCkgY29uc3QKICAgICByZXR1cm4gdHJhbnNmb3JtOwogfQog
Ci12b2lkIENDVGlsZWRMYXllckltcGw6OmRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXll
clJlbmRlcmVyKQordm9pZCBDQ1RpbGVkTGF5ZXJJbXBsOjpkcmF3KExheWVyUmVuZGVyZXJDaHJv
bWl1bSogbGF5ZXJSZW5kZXJlciwgY29uc3QgQ0NMYXllckxpc3RUcmF2ZXJzZSYgbGF5ZXJUcmF2
ZXJzZSkKIHsKICAgICBjb25zdCBJbnRSZWN0JiBsYXllclJlY3QgPSB2aXNpYmxlTGF5ZXJSZWN0
KCk7CiAKQEAgLTE1MSwxOSArMTUxLDE5IEBAIHZvaWQgQ0NUaWxlZExheWVySW1wbDo6ZHJhdyhM
YXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIpCiAgICAgY2FzZSBMYXllclRleHR1
cmVVcGRhdGVyOjpTYW1wbGVkVGV4ZWxGb3JtYXRSR0JBOgogICAgICAgICBpZiAodXNlQUEpIHsK
ICAgICAgICAgICAgIGNvbnN0IFByb2dyYW1BQSogcHJvZ3JhbSA9IGxheWVyUmVuZGVyZXItPnRp
bGVyUHJvZ3JhbUFBKCk7Ci0gICAgICAgICAgICBkcmF3VGlsZXMobGF5ZXJSZW5kZXJlciwgbGF5
ZXJSZWN0LCBsYXllclRyYW5zZm9ybSwgZGV2aWNlTWF0cml4LCBkZXZpY2VSZWN0LCBsYXllclF1
YWQsIGRyYXdPcGFjaXR5KCksIHByb2dyYW0sIHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuZnJh
Z21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbigpLCBwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmVk
Z2VMb2NhdGlvbigpKTsKKyAgICAgICAgICAgIGRyYXdUaWxlcyhsYXllclJlbmRlcmVyLCBsYXll
clJlY3QsIGxheWVyVHJhbnNmb3JtLCBkZXZpY2VNYXRyaXgsIGRldmljZVJlY3QsIGxheWVyUXVh
ZCwgZHJhd09wYWNpdHkoKSwgcHJvZ3JhbSwgcHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5mcmFn
bWVudFRleFRyYW5zZm9ybUxvY2F0aW9uKCksIHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuZWRn
ZUxvY2F0aW9uKCksIGxheWVyVHJhdmVyc2UpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgY29uc3QgUHJvZ3JhbSogcHJvZ3JhbSA9IGxheWVyUmVuZGVyZXItPnRpbGVyUHJvZ3JhbSgp
OwotICAgICAgICAgICAgZHJhd1RpbGVzKGxheWVyUmVuZGVyZXIsIGxheWVyUmVjdCwgbGF5ZXJU
cmFuc2Zvcm0sIGRldmljZU1hdHJpeCwgZGV2aWNlUmVjdCwgbGF5ZXJRdWFkLCBkcmF3T3BhY2l0
eSgpLCBwcm9ncmFtLCAtMSwgLTEpOworICAgICAgICAgICAgZHJhd1RpbGVzKGxheWVyUmVuZGVy
ZXIsIGxheWVyUmVjdCwgbGF5ZXJUcmFuc2Zvcm0sIGRldmljZU1hdHJpeCwgZGV2aWNlUmVjdCwg
bGF5ZXJRdWFkLCBkcmF3T3BhY2l0eSgpLCBwcm9ncmFtLCAtMSwgLTEsIGxheWVyVHJhdmVyc2Up
OwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTGF5ZXJUZXh0dXJlVXBkYXRl
cjo6U2FtcGxlZFRleGVsRm9ybWF0QkdSQToKICAgICAgICAgaWYgKHVzZUFBKSB7CiAgICAgICAg
ICAgICBjb25zdCBQcm9ncmFtU3dpenpsZUFBKiBwcm9ncmFtID0gbGF5ZXJSZW5kZXJlci0+dGls
ZXJQcm9ncmFtU3dpenpsZUFBKCk7Ci0gICAgICAgICAgICBkcmF3VGlsZXMobGF5ZXJSZW5kZXJl
ciwgbGF5ZXJSZWN0LCBsYXllclRyYW5zZm9ybSwgZGV2aWNlTWF0cml4LCBkZXZpY2VSZWN0LCBs
YXllclF1YWQsIGRyYXdPcGFjaXR5KCksIHByb2dyYW0sIHByb2dyYW0tPmZyYWdtZW50U2hhZGVy
KCkuZnJhZ21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbigpLCBwcm9ncmFtLT5mcmFnbWVudFNoYWRl
cigpLmVkZ2VMb2NhdGlvbigpKTsKKyAgICAgICAgICAgIGRyYXdUaWxlcyhsYXllclJlbmRlcmVy
LCBsYXllclJlY3QsIGxheWVyVHJhbnNmb3JtLCBkZXZpY2VNYXRyaXgsIGRldmljZVJlY3QsIGxh
eWVyUXVhZCwgZHJhd09wYWNpdHkoKSwgcHJvZ3JhbSwgcHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIo
KS5mcmFnbWVudFRleFRyYW5zZm9ybUxvY2F0aW9uKCksIHByb2dyYW0tPmZyYWdtZW50U2hhZGVy
KCkuZWRnZUxvY2F0aW9uKCksIGxheWVyVHJhdmVyc2UpOwogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgY29uc3QgUHJvZ3JhbVN3aXp6bGUqIHByb2dyYW0gPSBsYXllclJlbmRlcmVyLT50
aWxlclByb2dyYW1Td2l6emxlKCk7Ci0gICAgICAgICAgICBkcmF3VGlsZXMobGF5ZXJSZW5kZXJl
ciwgbGF5ZXJSZWN0LCBsYXllclRyYW5zZm9ybSwgZGV2aWNlTWF0cml4LCBkZXZpY2VSZWN0LCBs
YXllclF1YWQsIGRyYXdPcGFjaXR5KCksIHByb2dyYW0sIC0xLCAtMSk7CisgICAgICAgICAgICBk
cmF3VGlsZXMobGF5ZXJSZW5kZXJlciwgbGF5ZXJSZWN0LCBsYXllclRyYW5zZm9ybSwgZGV2aWNl
TWF0cml4LCBkZXZpY2VSZWN0LCBsYXllclF1YWQsIGRyYXdPcGFjaXR5KCksIHByb2dyYW0sIC0x
LCAtMSwgbGF5ZXJUcmF2ZXJzZSk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgZGVm
YXVsdDoKQEAgLTE5Myw4ICsxOTMsMzYgQEAgdm9pZCBDQ1RpbGVkTGF5ZXJJbXBsOjpzeW5jVGV4
dHVyZUlkKGludCBpLCBpbnQgaiwgUGxhdGZvcm0zRE9iamVjdCB0ZXh0dXJlSWQpCiAgICAgdGls
ZS0+c2V0VGV4dHVyZUlkKHRleHR1cmVJZCk7CiB9CiAKKy8vIGRhbmFraidzIGNvZGUKKy8vIFRl
c3QgaWYgdGhlIHRyYW5zbGF0aW9uIGdpdmVzIGEgcmVzdWx0IHRoYXQgaXMgYXhpcy1hbGlnbmVk
LgorLy8gU2NhbGVzIGFuZCB0cmFuc2xhdGlvbnMgYXJlIGFsbG93ZWQsIGJ1dCBhbHNvIHJvdGF0
aW9ucyBieSBtdWx0aXBsZXMgb2YKKy8vIHBpLzIgYWxvbmcgYW55IGF4aXMuCitzdGF0aWMgYm9v
bCBpc0F4aXNBbGlnbmVkKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtKQoreworICAgIC8v
IFdlIGFsbG93IG9ubHkgb25lIG5vbi16ZXJvIGluIHRoZSB1cHBlciAzeDMgbWF0cml4LCBhbmQg
Y29weSB0aGUgbG9naWMgZnJvbQorICAgIC8vIGlzU2NhbGVPclRyYW5zbGF0aW9uIG90aGVyd2lz
ZS4KKyAgICByZXR1cm4gKCghbS5tMTEoKSAmJiAhbS5tMjEoKSkgfHwgKCFtLm0xMSgpICYmICFt
Lm0zMSgpKSB8fCAoIW0ubTIxKCkgJiYgIW0ubTMxKCkpKQorICAgICAgICAgICAmJiAoKCFtLm0x
MigpICYmICFtLm0yMigpKSB8fCAoIW0ubTExKCkgJiYgIW0ubTMyKCkpIHx8ICghbS5tMjEoKSAm
JiAhbS5tMzIoKSkpCisgICAgICAgICAgICYmICgoIW0ubTEzKCkgJiYgIW0ubTIzKCkpIHx8ICgh
bS5tMTEoKSAmJiAhbS5tMzMoKSkgfHwgKCFtLm0yMSgpICYmICFtLm0zMygpKSkKKyAgICAgICAg
ICAgJiYgIW0ubTE0KCkgJiYgIW0ubTI0KCkgJiYgIW0ubTQzKCkgJiYgbS5tNDQoKTsKK30KKwor
Ly8gRklYTUU6IERlbGV0ZSB0aGlzIHdoZW4gd2UgY29udmVydCB0byBEYW5hJ3MgY29kZS4KK3N0
YXRpYyB2b2lkIENvbXB1dGVUaWxlUmVjdHNWaXNpYmxlKFZlY3RvcjxJbnRSZWN0PiYgdGlsZVJl
Y3RzLCBWZWN0b3I8SW50UmVjdD4mIHN1YnNlcXVlbnRSZWN0cykKK3sKKyAgICAvLyBEbyBhIHNp
bXBsZSB0ZXN0IHdoZXJlIHdlIG9ubHkgZGV0ZWN0IGlmIHRoZSB0aWxlJ3MgcmVjdCBpcyBjb21w
bGV0ZWx5IG9jY2x1ZGVkIGJ5IGEgc2luZ2xlCisgICAgLy8gc3Vic2VxdWVudCBsYXllci4gRGFu
YSdzIGNvZGUgd2lsbCBleHBhbmQgb24gdGhpcyBhbmQgZGljZSB0aGUgdGlsZSdzIHJlY3QgdXAK
KyAgICAvLyBhcyBpdCBjb25zaWRlcnMgc3Vic2VxdWVudCBsYXllcnMsIHByb2R1Y2luZyBhIGxp
c3Qgb2Ygd2hhdCAoaWYgYW55dGhpbmcpIHJlbWFpbnMgdG8gYmUKKyAgICAvLyBkcmF3bi4KKyAg
ICBmb3IgKFZlY3RvcjxJbnRSZWN0Pjo6aXRlcmF0b3IgaXQgPSBzdWJzZXF1ZW50UmVjdHMuYmVn
aW4oKTsgaXQgIT0gc3Vic2VxdWVudFJlY3RzLmVuZCgpOyArK2l0KQorICAgICAgICBpZiAoaXQt
PmNvbnRhaW5zKHRpbGVSZWN0cy5hdCgwKSkpIHsKKyAgICAgICAgICAgIHRpbGVSZWN0cy5jbGVh
cigpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cit9CisKIHRlbXBsYXRlIDxjbGFz
cyBUPgotdm9pZCBDQ1RpbGVkTGF5ZXJJbXBsOjpkcmF3VGlsZXMoTGF5ZXJSZW5kZXJlckNocm9t
aXVtKiBsYXllclJlbmRlcmVyLCBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCwgY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmIGdsb2JhbFRyYW5zZm9ybSwgY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaXgmIGRldmljZVRyYW5zZm9ybSwgY29uc3QgQ0NMYXllclF1YWQmIGRldmljZVJlY3QsIGNv
bnN0IENDTGF5ZXJRdWFkJiBjb250ZW50UXVhZCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgVCogcHJv
Z3JhbSwgaW50IGZyYWdtZW50VGV4VHJhbnNmb3JtTG9jYXRpb24sIGludCBlZGdlTG9jYXRpb24p
Cit2b2lkIENDVGlsZWRMYXllckltcGw6OmRyYXdUaWxlcyhMYXllclJlbmRlcmVyQ2hyb21pdW0q
IGxheWVyUmVuZGVyZXIsIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0LCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgZ2xvYmFsVHJhbnNmb3JtLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgZGV2aWNlVHJhbnNmb3JtLCBjb25zdCBDQ0xheWVyUXVhZCYgZGV2aWNlUmVjdCwgY29uc3Qg
Q0NMYXllclF1YWQmIGNvbnRlbnRRdWFkLCBmbG9hdCBvcGFjaXR5LCBjb25zdCBUKiBwcm9ncmFt
LCBpbnQgZnJhZ21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgaW50IGVkZ2VMb2NhdGlvbiwgY29u
c3QgQ0NMYXllckxpc3RUcmF2ZXJzZSYgbGF5ZXJUcmF2ZXJzZSkKIHsKICAgICBHcmFwaGljc0Nv
bnRleHQzRCogY29udGV4dCA9IGxheWVyUmVuZGVyZXItPmNvbnRleHQoKTsKICAgICBHTEMoY29u
dGV4dCwgY29udGV4dC0+dXNlUHJvZ3JhbShwcm9ncmFtLT5wcm9ncmFtKCkpKTsKQEAgLTI2NSw2
ICsyOTMsMzUgQEAgdm9pZCBDQ1RpbGVkTGF5ZXJJbXBsOjpkcmF3VGlsZXMoTGF5ZXJSZW5kZXJl
ckNocm9taXVtKiBsYXllclJlbmRlcmVyLCBjb25zdCBJbnQKIAogICAgICAgICAgICAgdGlsZVJl
Y3QgPSBtX3RpbGVyLT5sYXllclJlY3RUb0NvbnRlbnRSZWN0KHRpbGVSZWN0KTsKIAorICAgICAg
ICAgICAgLy8gV0pNIC0gTm93IHRoYXQgd2UgaGF2ZSB0aGUgdGlsZSByZWN0LCB3aGljaCBJIGFz
c3VtZSBpcyBpbiBzdXJmYWNlIGNvb3JkcywKKyAgICAgICAgICAgIC8vIGNvbXBhcmUgaXQgYWdh
aW5zdCBvdGhlciBsYXllcnMgdGhhdCBkcmF3IGludG8gdGhpcyBzdXJmYWNlLgorICAgICAgICAg
ICAgQ0NMYXllckxpc3Q6Oml0ZXJhdG9yIGl0ID0gbGF5ZXJUcmF2ZXJzZS5iZWdpbigpOworICAg
ICAgICAgICAgLy8gTm90ZTogdGhlIGl0ZXJhdG9yIHNob3VsZCBpbml0aWFsbHkgcmVmZXJlbmNl
IHRoaXMgbGF5ZXIsIHNvIGl0IHNob3VsZAorICAgICAgICAgICAgLy8gbmV2ZXIgYmUgYXQgdGhl
IGVuZCBvZiB0aGUgbGlzdC4KKyAgICAgICAgICAgIEFTU0VSVChpdCAhPSBsYXllclRyYXZlcnNl
LmVuZCgpKTsKKyAgICAgICAgICAgIFZlY3RvcjxJbnRSZWN0PiB0aWxlUmVjdHNWaXNpYmxlOwor
ICAgICAgICAgICAgVmVjdG9yPEludFJlY3Q+IHN1YnNlcXVlbnRSZWN0czsKKworICAgICAgICAg
ICAgdGlsZVJlY3RzVmlzaWJsZS5hcHBlbmQodGlsZVJlY3QpOworICAgICAgICAgICAgaWYgKGlz
QXhpc0FsaWduZWQoaXQtPmdldCgpLT5kcmF3VHJhbnNmb3JtKCkpKQorICAgICAgICAgICAgICAg
IHdoaWxlICgrK2l0ICE9IGxheWVyVHJhdmVyc2UuZW5kKCkgJiYgIXRpbGVSZWN0c1Zpc2libGUu
aXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAgIENDTGF5ZXJJbXBsKiBzdWJzZXF1ZW50
TGF5ZXIgPSBpdC0+Z2V0KCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdWJzZXF1ZW50TGF5
ZXItPm9wYWNpdHkoKSA+PSAwLjk5OTkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBz
dWJzZXF1ZW50TGF5ZXItPmRyYXdPcGFjaXR5KCkgPj0gMC45OTk5CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJiYgaXNBeGlzQWxpZ25lZChzdWJzZXF1ZW50TGF5ZXItPmRyYXdUcmFuc2Zv
cm0oKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNlcXVlbnRSZWN0cy5hcHBlbmQo
c3Vic2VxdWVudExheWVyLT5kcmF3YWJsZUNvbnRlbnRSZWN0KCkpOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBGSVhNRTogUmVwbGFj
ZSB0aGlzIHdpdGggRGFuYSdzIGltcHJvdmVkIHZlcnNpb24uCisgICAgICAgICAgICBDb21wdXRl
VGlsZVJlY3RzVmlzaWJsZSh0aWxlUmVjdHNWaXNpYmxlLCBzdWJzZXF1ZW50UmVjdHMpOworCisg
ICAgICAgICAgICBpZiAodGlsZVJlY3RzVmlzaWJsZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAg
ICAgICAvLyBGSVhNRTogUmVtb3ZlIG5leHQgbGluZSBiZWZvcmUgbGFuZGluZyBwYXRjaC4KKyAg
ICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIndqbSBMYXllciglcCwgJWQsICVkKSBpcyBj
b21wbGV0ZWx5IG9jY2x1ZGVkLCBubyBuZWVkIHRvIGRyYXchXG4iLCB0aGlzLCBpLCBqKTsKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsgLy8gV0pNIC0gdmVyaWZ5IHRoaXMganVtcHMgb3V0IG9m
IHRoZSBmb3IgbG9vcCB3aXRoIG5vIGlsbCBlZmZlY3QgLi4uCisgICAgICAgICAgICB9CisKICAg
ICAgICAgICAgIEZsb2F0UmVjdCBjbGFtcFJlY3QodGlsZVJlY3QpOwogICAgICAgICAgICAgLy8g
Q2xhbXAgdGV4dHVyZSBjb29yZGluYXRlcyB0byBhdm9pZCBzYW1wbGluZyBvdXRzaWRlIHRoZSBs
YXllcgogICAgICAgICAgICAgLy8gYnkgZGVmbGF0aW5nIHRoZSB0aWxlIHJlZ2lvbiBoYWxmIGEg
dGV4ZWwgb3IgaGFsZiBhIHRleGVsCkBAIC0zNDEsMTIgKzM5OCwyMCBAQCB2b2lkIENDVGlsZWRM
YXllckltcGw6OmRyYXdUaWxlcyhMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIs
IGNvbnN0IEludAogICAgICAgICAgICAgICAgIEdMQyhjb250ZXh0LCBjb250ZXh0LT51bmlmb3Jt
NGYoZnJhZ21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgZnJhZ21lbnRUZXhUcmFuc2xhdGVYLCBm
cmFnbWVudFRleFRyYW5zbGF0ZVksIGZyYWdtZW50VGV4U2NhbGVYLCBmcmFnbWVudFRleFNjYWxl
WSkpOwogCiAgICAgICAgICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dW5pZm9ybTRmKHByb2dy
YW0tPnZlcnRleFNoYWRlcigpLnZlcnRleFRleFRyYW5zZm9ybUxvY2F0aW9uKCksIHZlcnRleFRl
eFRyYW5zbGF0ZVgsIHZlcnRleFRleFRyYW5zbGF0ZVksIHZlcnRleFRleFNjYWxlWCwgdmVydGV4
VGV4U2NhbGVZKSk7Ci0KLSAgICAgICAgICAgIGxheWVyUmVuZGVyZXItPmRyYXdUZXh0dXJlZFF1
YWQoZ2xvYmFsVHJhbnNmb3JtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0aWxlUmVjdC53aWR0aCgpLCB0aWxlUmVjdC5oZWlnaHQoKSwgb3BhY2l0eSwgcXVh
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbS0+
dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5hbHBoYUxvY2F0
aW9uKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dy
YW0tPnZlcnRleFNoYWRlcigpLnBvaW50TG9jYXRpb24oKSk7CisgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIHN1YlJlY3RJbmRleCA9IDA7IHN1YlJlY3RJbmRleCA8IHRpbGVSZWN0c1Zpc2libGUu
c2l6ZSgpOyArK3N1YlJlY3RJbmRleCkgeworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB0aGlz
IG9ubHkgd29ya3MgYXQgcHJlc2VudCBiZWNhdXNlIHdlIGtub3cgdGlsZVJlY3RzVmlzaWJsZSBj
b250YWlucyBhdCBtb3N0CisgICAgICAgICAgICAgICAgLy8gb25lIGZ1bGwtc2l6ZWQgdGlsZS4g
V2hlbiB3ZSBuZWVkIHRvIHByb2Nlc3MgYSBsaXN0IG9mIHN1Yi1yZWN0cywgdGhlbiB3ZSBuZWVk
CisgICAgICAgICAgICAgICAgLy8gYSB3YXkgdG8gZHJhdyBhIHBhcnRpYWwgdGlsZS4gTm90IHN1
cmUgaWYgdGhpcyBpcyBiZXN0IGRvbmUgdGhyb3VnaCBhIG5ldworICAgICAgICAgICAgICAgIC8v
IHNoYWRlciAoc2luY2UgdGhlIGRyYXcgZ2VvbWV0cnkgaXMgZml4ZWQpIG9yIHdoYXQuCisKKyAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIGNvZGUgdG8gZHJhdyBzdWJyZWdpb25zIG9mIGEg
dGV4dHVyZSBoZXJlLgorCisgICAgICAgICAgICAgICAgbGF5ZXJSZW5kZXJlci0+ZHJhd1RleHR1
cmVkUXVhZChnbG9iYWxUcmFuc2Zvcm0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aWxlUmVjdC53aWR0aCgpLCB0aWxlUmVjdC5oZWlnaHQoKSwgb3Bh
Y2l0eSwgcXVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHByb2dyYW0tPnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtLT5mcmFnbWVudFNo
YWRlcigpLmFscGhhTG9jYXRpb24oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnBvaW50TG9jYXRpb24oKSk7
CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHByZXZFZGdlWCA9IGVkZ2VYOwogICAgICAg
ICAgICAgLy8gUmV2ZXJzZSBkaXJlY3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbGVkTGF5ZXJJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RpbGVkTGF5ZXJJbXBsLmgK
aW5kZXggZGQxYzI5MDg3ZTI5YjQ0NjMzZjc0OWRkNGE0ZmU0NTAyZjE3YWZmYi4uYmM4MjIyMGE5
MGI0OWI5YmQ5NmIzMGJlOGYwOGQ1ZjY1MjMyYmRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaWxlZExheWVySW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXll
ckltcGwuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIHZpcnR1YWwgfkND
VGlsZWRMYXllckltcGwoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3KExheWVyUmVuZGVyZXJD
aHJvbWl1bSopOworICAgIHZpcnR1YWwgdm9pZCBkcmF3KExheWVyUmVuZGVyZXJDaHJvbWl1bSos
IGNvbnN0IENDTGF5ZXJMaXN0VHJhdmVyc2UmKTsKICAgICB2aXJ0dWFsIHZvaWQgYmluZENvbnRl
bnRzVGV4dHVyZShMYXllclJlbmRlcmVyQ2hyb21pdW0qKTsKIAogICAgIHZpcnR1YWwgdm9pZCBk
dW1wTGF5ZXJQcm9wZXJ0aWVzKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50KSBjb25zdDsKQEAgLTc4
LDcgKzc4LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIERyYXcgYWxsIHRpbGVzIHRoYXQgaW50ZXJz
ZWN0IHdpdGggY29udGVudFJlY3QuCiAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+Ci0gICAgdm9pZCBk
cmF3VGlsZXMoTGF5ZXJSZW5kZXJlckNocm9taXVtKiwgY29uc3QgSW50UmVjdCYgY29udGVudFJl
Y3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBnbG9iYWxUcmFuc2Zvcm0sIGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiBkZXZpY2VUcmFuc2Zvcm0sIGNvbnN0IENDTGF5ZXJRdWFkJiBk
ZXZpY2VSZWN0LCBjb25zdCBDQ0xheWVyUXVhZCYgY29udGVudFF1YWQsIGZsb2F0IG9wYWNpdHks
IGNvbnN0IFQqIHByb2dyYW0sIGludCBmcmFnbWVudFRleFRyYW5zZm9ybUxvY2F0aW9uLCBpbnQg
ZWRnZUxvY2F0aW9uKTsKKyAgICB2b2lkIGRyYXdUaWxlcyhMYXllclJlbmRlcmVyQ2hyb21pdW0q
LCBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
IGdsb2JhbFRyYW5zZm9ybSwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRldmljZVRyYW5z
Zm9ybSwgY29uc3QgQ0NMYXllclF1YWQmIGRldmljZVJlY3QsIGNvbnN0IENDTGF5ZXJRdWFkJiBj
b250ZW50UXVhZCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgVCogcHJvZ3JhbSwgaW50IGZyYWdtZW50
VGV4VHJhbnNmb3JtTG9jYXRpb24sIGludCBlZGdlTG9jYXRpb24sIGNvbnN0IENDTGF5ZXJMaXN0
VHJhdmVyc2UmIGxheWVyVHJhdmVyc2UpOwogCiAgICAgYm9vbCBtX3NraXBzRHJhdzsKICAgICBM
YXllclRleHR1cmVVcGRhdGVyOjpPcmllbnRhdGlvbiBtX3RleHR1cmVPcmllbnRhdGlvbjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
VmlkZW9MYXllckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAKaW5kZXggMTc0MzY4ZWE3Mjg0M2E2ZTE2M2Qy
M2RkMGZhNjI2MGZlMGYzM2FiZC4uZmI0NjFiZTVlOWQyNGE3ZmZmMTc5YTZlNGI5M2JiZTU0NmNk
ODAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAKQEAgLTc3LDcgKzc3LDcg
QEAgdm9pZCBDQ1ZpZGVvTGF5ZXJJbXBsOjpzZXRUZXh0dXJlKHNpemVfdCBpbmRleCwgUGxhdGZv
cm0zRE9iamVjdCB0ZXh0dXJlSWQsIGNvbnMKICAgICBtX3RleHR1cmVzW2luZGV4XS52aXNpYmxl
U2l6ZSA9IHZpc2libGVTaXplOwogfQogCi12b2lkIENDVmlkZW9MYXllckltcGw6OmRyYXcoTGF5
ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVyKQordm9pZCBDQ1ZpZGVvTGF5ZXJJbXBs
OjpkcmF3KExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlciwgY29uc3QgQ0NMYXll
ckxpc3RUcmF2ZXJzZSYgbGF5ZXJUcmF2ZXJzZSkKIHsKICAgICBBU1NFUlQoQ0NQcm94eTo6aXNJ
bXBsVGhyZWFkKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBsLmgKaW5kZXggZTZhNTQ0
ZDhmNTg2ZDM4MjNhY2RjM2NlNTYzNWU0Mzg3MDQwYzkxMi4uMDE5MjE2MWQ0NGFhYWExM2QxOWY0
YmExZTI4YTNmMjg5OWI0MGIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwuaApAQCAt
NDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBQcm9ncmFtQmluZGluZzxWZXJ0ZXhT
aGFkZXJQb3NUZXhUcmFuc2Zvcm0sIEZyYWdtZW50U2hhZGVyUkdCQVRleEZsaXBBbHBoYT4gUkdC
QVByb2dyYW07CiAgICAgdHlwZWRlZiBQcm9ncmFtQmluZGluZzxWZXJ0ZXhTaGFkZXJQb3NUZXhZ
VVZTdHJldGNoLCBGcmFnbWVudFNoYWRlcllVVlZpZGVvPiBZVVZQcm9ncmFtOwogCi0gICAgdmly
dHVhbCB2b2lkIGRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgdmlydHVhbCB2b2lk
IGRyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKiwgY29uc3QgQ0NMYXllckxpc3RUcmF2ZXJzZSYp
OwogCiAgICAgdmlydHVhbCB2b2lkIGR1bXBMYXllclByb3BlcnRpZXMoVGV4dFN0cmVhbSYsIGlu
dCBpbmRlbnQpIGNvbnN0OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>