<?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>87209</bug_id>
          
          <creation_ts>2012-05-22 21:44:01 -0700</creation_ts>
          <short_desc>[V8] Pass Isolate to v8::Null() in custom bindings (Part 2)</short_desc>
          <delta_ts>2012-05-23 17:17:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          
          <blocked>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>631186</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-22 21:44:01 -0700</bug_when>
    <thetext>The objective is to pass Isolate around in V8 bindings. In this bug we pass Isolate to v8::Null() in custom bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631188</commentid>
    <comment_count>1</comment_count>
      <attachid>143457</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-22 21:45:28 -0700</bug_when>
    <thetext>Created attachment 143457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631245</commentid>
    <comment_count>2</comment_count>
      <attachid>143457</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-22 23:01:12 -0700</bug_when>
    <thetext>Comment on attachment 143457
Patch

I am the very model of a modern rubberstamp machine.  With information vegetable, animal, and isolated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631307</commentid>
    <comment_count>3</comment_count>
      <attachid>143457</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-23 00:10:42 -0700</bug_when>
    <thetext>Comment on attachment 143457
Patch

Clearing flags on attachment: 143457

Committed r118134: &lt;http://trac.webkit.org/changeset/118134&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631308</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-23 00:11:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632219</commentid>
    <comment_count>5</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-23 17:09:33 -0700</bug_when>
    <thetext>Reverted r118134 for reason:

some LayoutTests crash since the patch passes a NULL to Null(isolate)

Committed r118272: &lt;http://trac.webkit.org/changeset/118272&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143457</attachid>
            <date>2012-05-22 21:45:28 -0700</date>
            <delta_ts>2012-05-23 00:10:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87209-20120523134527.patch</filename>
            <type>text/plain</type>
            <size>28083</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc4N2ZiNTNhODkxYTYy
NmJhZWE3ZmRiMzVlYmY4NDc1NTE5MDBkMS4uNzFiMmFlNTIxOTJiMjhkOGRhMDQxMWU2ODUxYjdh
ZGE0YzRhNDBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDEyLTA1LTIyICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFBhc3MgSXNv
bGF0ZSB0byB2ODo6TnVsbCgpIGluIGN1c3RvbSBiaW5kaW5ncyAoUGFydCAyKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcyMDkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgb2JqZWN0aXZlIGlzIHRv
IHBhc3MgSXNvbGF0ZSBhcm91bmQgaW4gVjggYmluZGluZ3MuCisgICAgICAgIFRoaXMgcGF0Y2gg
cGFzc2VzIElzb2xhdGUgdG8gdjg6Ok51bGwoKSBpbiBjdXN0b20gYmluZGluZ3MuCisKKyAgICAg
ICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
VjhPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEhpc3Rv
cnk6OnN0YXRlQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OElEQkFueUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW1hZ2VEYXRhQ3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEludDE2QXJyYXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbnQ4QXJy
YXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9W
OCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlY4TWVzc2FnZUV2ZW50OjpkYXRhQWNjZXNzb3JHZXR0ZXIp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhOb2RlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm9kZTo6aW5zZXJ0QmVmb3Jl
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb2RlOjpyZXBsYWNlQ2hpbGRDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpWOE5vZGU6OnJlbW92ZUNoaWxkQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6VjhOb2RlOjphcHBlbmRDaGlsZENhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OnRvVjhTbG93KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0
ZUV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4UG9wU3RhdGVFdmVudDo6c3Rh
dGVBY2Nlc3NvckdldHRlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVz
dWx0U2V0Um93TGlzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFNRTFJlc3VsdFNl
dFJvd0xpc3Q6Oml0ZW1DYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U1ZHRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhTVkdQYXRoU2Vn
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFNjcmlwdFByb2ZpbGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4VHJhY2tFdmVudDo6dHJhY2tBY2Nlc3NvckdldHRlcik6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDE2QXJyYXlDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWlu
dDMyQXJyYXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50OENsYW1wZWRB
cnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9WOE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0QXR0YWNoZWRTaGFkZXJzQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnNDYWxsYmFj
ayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKwogMjAxMi0wNS0yMiAgRW1pbCBBIEVrbHVu
ZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVwcmVzZW50cyBtYXJnaW5zIGFzIGJv
eCBhbmQgc2ltcGxpZnkgd3JpdGluZyBtb2RlIGxvZ2ljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRWxlbWVudEN1c3RvbS5jcHAKaW5kZXgg
MTkyODYxMjRmMTQ2ODM1Y2FhNmJjMzQ2ZTI4NDZkMjUxNDE4OTNiYy4uY2E3MmFkMTEwNWVlOTJi
YWM2ZDU4Nzg0MTVhZTk0NGE5YTJjZDNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcApAQCAtNDQsNyAr
NDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjhPYmplY3QoTWljcm9EYXRhSXRlbVZhbHVlKiBpdGVtVmFsdWUsIHY4OjpJc29sYXRlKiBp
c29sYXRlKQogewogICAgIGlmICghaXRlbVZhbHVlKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwo
KTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwogCiAgICAgaWYgKGl0ZW1WYWx1
ZS0+aXNOb2RlKCkpCiAgICAgICAgIHJldHVybiB0b1Y4KGl0ZW1WYWx1ZS0+Z2V0Tm9kZSgpLCBp
c29sYXRlKTsKQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4T2JqZWN0KE1pY3JvRGF0YUl0ZW1WYWx1ZSogaXRlbVZhbHVlLCB2ODo6SXNvbGEKIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KEhUTUxFbGVtZW50KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNv
bGF0ZSwgYm9vbCBmb3JjZU5ld09iamVjdCkKIHsKICAgICBpZiAoIWltcGwpCi0gICAgICAgIHJl
dHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjg6Ok51bGwoaXNvbGF0ZSk7CiAgICAg
cmV0dXJuIGNyZWF0ZVY4SFRNTFdyYXBwZXIoaW1wbCwgaXNvbGF0ZSwgZm9yY2VOZXdPYmplY3Qp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhI
aXN0b3J5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhp
c3RvcnlDdXN0b20uY3BwCmluZGV4IDRlMzBkYjUxNGJhMTczZGUyNjZlMjVmOTRmMjQ2NTZmMmVk
NTk4ZGMuLmJjY2RhMGM5ZTRhYmNmZTVkZjFhNjhiNmVhNGY1NGRjM2IyNGM0ZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20u
Y3BwCkBAIC01Myw3ICs1Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhpc3Rvcnk6OnN0
YXRlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsCiAgICAgICAgIHJl
dHVybiB2YWx1ZTsKIAogICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2VyaWFsaXplZCA9IGhp
c3RvcnktPnN0YXRlKCk7Ci0gICAgdmFsdWUgPSBzZXJpYWxpemVkID8gc2VyaWFsaXplZC0+ZGVz
ZXJpYWxpemUoMCwgaW5mby5HZXRJc29sYXRlKCkpIDogdjg6OkhhbmRsZTx2ODo6VmFsdWU+KHY4
OjpOdWxsKCkpOworICAgIHZhbHVlID0gc2VyaWFsaXplZCA/IHNlcmlhbGl6ZWQtPmRlc2VyaWFs
aXplKDAsIGluZm8uR2V0SXNvbGF0ZSgpKSA6IHY4OjpIYW5kbGU8djg6OlZhbHVlPih2ODo6TnVs
bChpbmZvLkdldElzb2xhdGUoKSkpOwogICAgIGluZm8uSG9sZGVyKCktPlNldEhpZGRlblZhbHVl
KFY4SGlkZGVuUHJvcGVydHlOYW1lOjpzdGF0ZSgpLCB2YWx1ZSk7CiAKICAgICByZXR1cm4gdmFs
dWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJB
bnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCQW55
Q3VzdG9tLmNwcAppbmRleCAxZTM3Y2RmYmZlYzAxZmU5YWM0Y2U5NmVhYTJjYzZiOTEzODQxZGUw
Li4zNzU2ODNiMzI0MmE4ZjgzOTA3MWQ2NGU4N2E1YTExNjc0Yjk4MjQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJBbnlDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQkFueUN1c3RvbS5jcHAKQEAg
LTQ4LDEzICs0OCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChJREJBbnkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICgh
aW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVybiB2ODo6TnVs
bChpc29sYXRlKTsKIAogICAgIHN3aXRjaCAoaW1wbC0+dHlwZSgpKSB7CiAgICAgY2FzZSBJREJB
bnk6OlVuZGVmaW5lZFR5cGU6CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAg
Y2FzZSBJREJBbnk6Ok51bGxUeXBlOgotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwogICAgIGNhc2UgSURCQW55OjpET01TdHJpbmdM
aXN0VHlwZToKICAgICAgICAgcmV0dXJuIHRvVjgoaW1wbC0+ZG9tU3RyaW5nTGlzdCgpLCBpc29s
YXRlKTsKICAgICBjYXNlIElEQkFueTo6SURCQ3Vyc29yVHlwZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwCmluZGV4IDliMGU2
NTQxNDY1Yzc5MzUzYTQ3NmQ1MWJiYmNkYTU4MzZmM2EzMjIuLmJiZmQ4ZTEwYWQ2MWEwYmJiZTg5
NDkxMTE1OWYxMzdjNGI2OTgxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtleSwgdjg6
Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFrZXkpCi0gICAgICAgIHJldHVybiB2ODo6
TnVsbCgpOworICAgICAgICByZXR1cm4gdjg6Ok51bGwoaXNvbGF0ZSk7CiAKICAgICBzd2l0Y2gg
KGtleS0+dHlwZSgpKSB7CiAgICAgY2FzZSBJREJLZXk6OkludmFsaWRUeXBlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW1hZ2VEYXRhQ3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEltYWdlRGF0YUN1c3RvbS5j
cHAKaW5kZXggN2E4NTQ0ZGQ5MjcwYjBiOTM1ZWRjYzgwYTlhZmE2ZWEwZTQwMzdkZS4uMzIxYzhm
OGM2YTRiOGVkYjY5MWNiODg2YzdhNmJiZjhhMGVjMTk2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW1hZ2VEYXRhQ3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbWFnZURhdGFDdXN0b20uY3BwCkBAIC0z
OCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4KEltYWdlRGF0YSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFp
bXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxs
KGlzb2xhdGUpOwogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4SW1hZ2VE
YXRhOjp3cmFwKGltcGwsIGlzb2xhdGUpOwogICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkpIHsK
ICAgICAgICAgLy8gQ3JlYXRlIGEgVjggVWludDhDbGFtcGVkQXJyYXkgb2JqZWN0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MTZBcnJheUN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnQxNkFycmF5Q3Vz
dG9tLmNwcAppbmRleCAzMTk5ZGQwYTY4N2ZjMjhiNmIyZWMzZmQ5ZTEyM2JkMmIzOWRhNzYzLi4z
NTUwMzAyMjYyZDUyZTM3NzIzZmIwZDQ3NmZiN2M4MzI1NjBhYjI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnQxNkFycmF5Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnQxNkFycmF5Q3VzdG9tLmNw
cApAQCAtNTYsNyArNTYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhJbnQxNkFycmF5Ojpz
ZXRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRvVjgoSW50MTZBcnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAg
aWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4
OjpOdWxsKGlzb2xhdGUpOwogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4
SW50MTZBcnJheTo6d3JhcChpbXBsLCBpc29sYXRlKTsKICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0
eSgpKQogICAgICAgICB3cmFwcGVyLT5TZXRJbmRleGVkUHJvcGVydGllc1RvRXh0ZXJuYWxBcnJh
eURhdGEoaW1wbC0+YmFzZUFkZHJlc3MoKSwgdjg6OmtFeHRlcm5hbFNob3J0QXJyYXksIGltcGwt
Pmxlbmd0aCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEludDMyQXJyYXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHAKaW5kZXggNDI5NDVjMDc3NTAzZjkyZWFhYWJkOWRj
ZmZjNWUzMTc2MWFhZWRhYy4uNzcxODE2MDBjMmE1NjQ0ODE2YTg2NGNmMzhjNjFhYTBhZWQ3YmFj
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MzJB
cnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW50MzJBcnJheUN1c3RvbS5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4SW50MzJBcnJheTo6c2V0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEludDMyQXJyYXkqIGltcGwsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7
CisgICAgICAgIHJldHVybiB2ODo6TnVsbChpc29sYXRlKTsKICAgICB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXBwZXIgPSBWOEludDMyQXJyYXk6OndyYXAoaW1wbCwgaXNvbGF0ZSk7CiAgICAg
aWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgd3JhcHBlci0+U2V0SW5kZXhlZFByb3Bl
cnRpZXNUb0V4dGVybmFsQXJyYXlEYXRhKGltcGwtPmJhc2VBZGRyZXNzKCksIHY4OjprRXh0ZXJu
YWxJbnRBcnJheSwgaW1wbC0+bGVuZ3RoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50OEFycmF5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDhBcnJheUN1c3RvbS5jcHAKaW5kZXggYTg4YTdlNzZj
NDdkZTYzZTBkN2QxMzIxZWU5YzAzY2M0NTViM2MwMS4uOTliYTcyMGMzMzg5ZGEwNGQ1NjdkMDdl
NDIwYmU2ODYzZDdjZjQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SW50OEFycmF5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhJbnQ4QXJyYXlDdXN0b20uY3BwCkBAIC01Niw3ICs1Niw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOEludDhBcnJheTo6c2V0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncykKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEludDhBcnJheSogaW1wbCwg
djg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4g
djg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwogICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4SW50OEFycmF5Ojp3cmFwKGltcGwsIGlzb2xh
dGUpOwogICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkpCiAgICAgICAgIHdyYXBwZXItPlNldElu
ZGV4ZWRQcm9wZXJ0aWVzVG9FeHRlcm5hbEFycmF5RGF0YShpbXBsLT5iYXNlQWRkcmVzcygpLCB2
ODo6a0V4dGVybmFsQnl0ZUFycmF5LCBpbXBsLT5sZW5ndGgoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHAKaW5kZXgg
ZjQwMzQ0YmNjOGU0NjEwZTNlNTFlOGE1ZjYzZjE0M2UwMDA3ZjAyYS4uMzRmZGEwODA1Yzk1OWIw
OGVjNjc2MjljMjcwODI2ODMzNDIzM2VmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOExvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMjc1LDcgKzI3NSw3
IEBAIGJvb2wgVjhMb2NhdGlvbjo6bmFtZWRTZWN1cml0eUNoZWNrKHY4OjpMb2NhbDx2ODo6T2Jq
ZWN0PiBob3N0LCB2ODo6TG9jYWw8djg6OlZhCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChM
b2NhdGlvbiogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQot
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xh
dGUpOwogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGdldERPTU9iamVjdE1h
cCgpLmdldChpbXBsKTsKICAgICBpZiAod3JhcHBlci5Jc0VtcHR5KCkpIHsKICAgICAgICAgd3Jh
cHBlciA9IFY4TG9jYXRpb246OndyYXAoaW1wbCwgaXNvbGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNw
cAppbmRleCA1YmIwMTg3YWUwYTgwYzE4M2RlNmQ5MDBlZTYzOTgxYzYwZTJlN2Y5Li43N2JhM2Yy
NjZiYWRjNzNiNTJmYTBmODk0Yjg3MDFkZGY4ZWQzNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAK
QEAgLTUzLDcgKzUzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TWVzc2FnZUV2ZW50Ojpk
YXRhQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG4KICAgICBjYXNlIE1lc3Nh
Z2VFdmVudDo6RGF0YVR5cGVTY3JpcHRWYWx1ZTogewogICAgICAgICBTY3JpcHRWYWx1ZSBzY3Jp
cHRWYWx1ZSA9IGV2ZW50LT5kYXRhQXNTY3JpcHRWYWx1ZSgpOwogICAgICAgICBpZiAoc2NyaXB0
VmFsdWUuaGFzTm9WYWx1ZSgpKQotICAgICAgICAgICAgcmVzdWx0ID0gdjg6Ok51bGwoKTsKKyAg
ICAgICAgICAgIHJlc3VsdCA9IHY4OjpOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgcmVzdWx0ID0gdjg6OkxvY2FsPHY4OjpWYWx1ZT46Ok5ldyhzY3Jp
cHRWYWx1ZS52OFZhbHVlKCkpOwogICAgICAgICBicmVhazsKQEAgLTYzLDcgKzYzLDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4TWVzc2FnZUV2ZW50OjpkYXRhQWNjZXNzb3JHZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG4KICAgICAgICAgaWYgKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSog
c2VyaWFsaXplZFZhbHVlID0gZXZlbnQtPmRhdGFBc1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSgpKQog
ICAgICAgICAgICAgcmVzdWx0ID0gc2VyaWFsaXplZFZhbHVlLT5kZXNlcmlhbGl6ZShldmVudC0+
cG9ydHMoKSwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBy
ZXN1bHQgPSB2ODo6TnVsbCgpOworICAgICAgICAgICAgcmVzdWx0ID0gdjg6Ok51bGwoaW5mby5H
ZXRJc29sYXRlKCkpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgTWVzc2FnZUV2ZW50OjpE
YXRhVHlwZVN0cmluZzogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKaW5kZXggNDdmZWIwNDM1NTE4NDVj
NjVjYzIzMGI1YThmOWRiNzExZDJmYjM3ZC4uNmZkM2Y4YjE4MTQ1OTdmNzg5ZDA0ZTU1MjNhNzU1
NGU1ODk0MjAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCkBAIC03NCw3ICs3NCw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOE5hbWVkTm9kZU1hcDo6bmFtZWRQcm9wZXJ0eUdldHRlcih2ODo6
TG9jYWw8djg6OlN0cmluZz4KIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KE5hbWVkTm9kZU1h
cCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQotICAgICAg
ICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwog
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4TmFtZWROb2RlTWFwOjp3cmFw
KGltcGwsIGlzb2xhdGUpOwogICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSBuYW1l
ZCBub2RlIG1hcCB0byBpdHMgb3duZXIgbm9kZS4KICAgICBFbGVtZW50KiBlbGVtZW50ID0gaW1w
bC0+ZWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Tm9kZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhOb2RlQ3VzdG9tLmNwcAppbmRleCAzODQ4ZDVjOWMzNzcwZTkzNTQ5M2M0MWVmZWRiNjI0ODRl
MzFhNDkzLi45ODc0NWVjMjNkNGY5NWQ1ZjA0MjkzMzFhZTdkMzUwZTE3OTcwYmE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcApA
QCAtNzcsNyArNzcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2RlOjppbnNlcnRCZWZv
cmVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICByZXR1cm4gVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgaWYgKHN1
Y2Nlc3MpCiAgICAgICAgIHJldHVybiBhcmdzWzBdOwotICAgIHJldHVybiB2ODo6TnVsbCgpOwor
ICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKIC8vIFRoaXMgZnVu
Y3Rpb24gaXMgY3VzdG9taXplZCB0byB0YWtlIGFkdmFudGFnZSBvZiB0aGUgb3B0aW9uYWwgNHRo
IGFyZ3VtZW50OiBzaG91bGRMYXp5QXR0YWNoCkBAIC05NCw3ICs5NCw3IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOE5vZGU6OnJlcGxhY2VDaGlsZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCiAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoc3VjY2VzcykKICAgICAgICAgcmV0dXJuIGFyZ3Nb
MV07Ci0gICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm9kZTo6cmVtb3ZlQ2hp
bGRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpAQCAtMTA5LDcgKzEwOSw3IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vZGU6OnJlbW92ZUNoaWxkQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2Vw
dGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdWNjZXNzKQogICAgICAgICBy
ZXR1cm4gYXJnc1swXTsKLSAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51
bGwoYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiAvLyBUaGlzIGZ1bmN0aW9uIGlzIGN1c3RvbWl6
ZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIG9wdGlvbmFsIDR0aCBhcmd1bWVudDogc2hvdWxk
TGF6eUF0dGFjaApAQCAtMTI1LDEzICsxMjUsMTMgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
Tm9kZTo6YXBwZW5kQ2hpbGRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAg
ICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgaWYgKHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybiBhcmdzWzBdOwotICAgIHJldHVy
biB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CiB9
CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4U2xvdyhOb2RlKiBpbXBsLCB2ODo6SXNvbGF0
ZSogaXNvbGF0ZSwgYm9vbCBmb3JjZU5ld09iamVjdCkKIHsKICAgICBpZiAoIWltcGwpCi0gICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjg6Ok51bGwoaXNvbGF0ZSk7
CiAKICAgICBpZiAoIWZvcmNlTmV3T2JqZWN0KSB7CiAgICAgICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB3cmFwcGVyID0gVjhET01XcmFwcGVyOjpnZXRDYWNoZWRXcmFwcGVyKGltcGwpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9wU3RhdGVFdmVu
dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0
ZUV2ZW50Q3VzdG9tLmNwcAppbmRleCBiM2Q5MGY0ZDIwYjY4MTVlNDc0NTQzM2E0ODEwNTM2NTcw
MmI2OWU3Li4wYWJmMGMwNDNlMTc2NjYyZmM2MTNhN2Y0YmMxYWY2Y2I4ZjUzODcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0
ZUV2ZW50Q3VzdG9tLmNwcApAQCAtNjIsNyArNjIsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhQb3BTdGF0ZUV2ZW50OjpzdGF0ZUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5n
PgogCiAgICAgSGlzdG9yeSogaGlzdG9yeSA9IGV2ZW50LT5oaXN0b3J5KCk7CiAgICAgaWYgKCFo
aXN0b3J5IHx8ICFldmVudC0+c2VyaWFsaXplZFN0YXRlKCkpCi0gICAgICAgIHJldHVybiBjYWNo
ZVN0YXRlKGluZm8uSG9sZGVyKCksIHY4OjpOdWxsKCkpOworICAgICAgICByZXR1cm4gY2FjaGVT
dGF0ZShpbmZvLkhvbGRlcigpLCB2ODo6TnVsbChpbmZvLkdldElzb2xhdGUoKSkpOwogCiAgICAg
Ly8gVGhlcmUncyBubyBjYWNoZWQgdmFsdWUgZnJvbSBhIHByZXZpb3VzIGludm9jYXRpb24sIG5v
ciBhIHN0YXRlIHZhbHVlIHdhcyBwcm92aWRlZCBieSB0aGUKICAgICAvLyBldmVudCwgYnV0IHRo
ZXJlIGlzIGEgaGlzdG9yeSBvYmplY3QsIHNvIGZpcnN0IHdlIG5lZWQgdG8gc2VlIGlmIHRoZSBz
dGF0ZSBvYmplY3QgaGFzIGJlZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAKaW5k
ZXggYTRmODBkMGExYmI2ZDRlYWU2YjFiYjUyNjY2MThjMDdhZjUyZTExNS4uNjQ3OGJhMzdlMmRi
MTc4MTEzNjQ4YzdjYjE1YjI3ZjlhYzBmZjM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1
c3RvbS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1FMUmVz
dWx0U2V0Um93TGlzdDo6aXRlbUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGEKICAgICAg
ICAgICAgICAgICB2YWx1ZSA9IHY4U3RyaW5nKHNxbFZhbHVlLnN0cmluZygpKTsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgU1FMVmFsdWU6Ok51bGxWYWx1ZToKLSAg
ICAgICAgICAgICAgICB2YWx1ZSA9IHY4OjpOdWxsKCk7CisgICAgICAgICAgICAgICAgdmFsdWUg
PSB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICBjYXNlIFNRTFZhbHVlOjpOdW1iZXJWYWx1ZToKICAgICAgICAgICAgICAgICB2
YWx1ZSA9IHY4OjpOdW1iZXI6Ok5ldyhzcWxWYWx1ZS5udW1iZXIoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdEb2N1bWVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdEb2N1bWVudEN1c3RvbS5j
cHAKaW5kZXggZjU0YjhiN2RlZWFmMzM0MjI3M2JkNjUzYjIzNmNkMjMxMjQ0OTM1OS4uNjU0YTM1
YWFhNDQ1YjMxNWZmNjc3M2M2ZThlMTFhZDEyZTcxYmY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0RvY3VtZW50Q3VzdG9tLmNwcApA
QCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChTVkdEb2N1bWVudCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUsIGJvb2wgZm9y
Y2VOZXdPYmplY3QpCiB7CiAgICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwo
KTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwogICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gd3JhcHBlciA9IFY4U1ZHRG9jdW1lbnQ6OndyYXAoaW1wbCwgaXNvbGF0ZSwgZm9y
Y2VOZXdPYmplY3QpOwogICAgIGlmICh3cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
IHdyYXBwZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTVkdFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFNWR0VsZW1lbnRDdXN0b20uY3BwCmluZGV4IDI1N2Y0MmRiYjZjNWQzODY5YmJhNzIyZDBh
NWI2NzdkMzQzMjhhYzEuLjM5Njk0Y2I3YzAyMGU5ODMzNjVkZjY5ODljMGY5YTFiZTk1ZWNhNTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0VsZW1l
bnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNW
R0VsZW1lbnRDdXN0b20uY3BwCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFNWR0VsZW1lbnQqIGltcGwsIHY4OjpJc29sYXRl
KiBpc29sYXRlLCBib29sIGZvcmNlTmV3T2JqZWN0KQogewogICAgIGlmICghaW1wbCkKLSAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVybiB2ODo6TnVsbChpc29sYXRlKTsK
ICAgICByZXR1cm4gY3JlYXRlVjhTVkdXcmFwcGVyKGltcGwsIGlzb2xhdGUsIGZvcmNlTmV3T2Jq
ZWN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U1ZHUGF0aFNlZ0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcAppbmRleCA1NTI3ZDEyNDZkYTc2OWRjY2YxODgyZDZh
ZTg1NmNmYTYzYzRlNGEyLi4zZDc5NDVjYmEwMmE4OTQ1YWMxNTcxMWEzZTYxYTk3YWZlMDhlNWI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdQYXRo
U2VnQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhT
VkdQYXRoU2VnQ3VzdG9tLmNwcApAQCAtNjAsNyArNjAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChTVkdQYXRoU2VnKiBpbXBsLCB2ODo6SXNvbGF0
ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgp
OworICAgICAgICByZXR1cm4gdjg6Ok51bGwoaXNvbGF0ZSk7CiAgICAgc3dpdGNoIChpbXBsLT5w
YXRoU2VnVHlwZSgpKSB7CiAgICAgY2FzZSBTVkdQYXRoU2VnOjpQQVRIU0VHX0NMT1NFUEFUSDoK
ICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8U1ZHUGF0aFNlZ0Nsb3NlUGF0aCo+KGlt
cGwpLCBpc29sYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFNjcmlwdFByb2ZpbGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZUN1c3RvbS5jcHAKaW5kZXggN2JhYjQ2YmI4ZDVkYTdk
NjMzNmY5YzZhMjRhNWQ0NmZhMzdjZTliYy4uOGE4ODkwMjc5NTJmZTZjZjQ4ZTcwNDMxNGIxYTA0
YWU5MDk5N2Q0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U2NyaXB0UHJvZmlsZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZUN1c3RvbS5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoU2NyaXB0UHJvZmls
ZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQotICAgICAg
ICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwog
ICAgIHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uID0gVjhTY3JpcHRQcm9maWxlOjpH
ZXRUZW1wbGF0ZSgpLT5HZXRGdW5jdGlvbigpOwogICAgIGlmIChmdW5jdGlvbi5Jc0VtcHR5KCkp
IHsKICAgICAgICAgLy8gUmV0dXJuIGlmIGFsbG9jYXRpb24gZmFpbGVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmls
ZU5vZGVDdXN0b20uY3BwCmluZGV4IDNlZThmOGZlMmVlMDliZmZlOTVmMmQ2ZWNiODk3YmUzMGIw
MzJjNjkuLjc1MjZjZWM4MTY3NzM3MzgyZWVmNGZkZDg3MDdmMmYwZDhlMTRlMjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNjcmlwdFByb2ZpbGVOb2Rl
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTY3Jp
cHRQcm9maWxlTm9kZUN1c3RvbS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4U2NyaXB0UHJvZmlsZU5vZGU6OmNhbGxVSURBY2Nlc3NvckdldHRlcih2ODo6TG9j
YWw8djg6OlMKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFNjcmlwdFByb2ZpbGVOb2RlKiBp
bXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwpCi0gICAgICAgIHJl
dHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjg6Ok51bGwoaXNvbGF0ZSk7CiAgICAg
djg6OkxvY2FsPHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24gPSBWOFNjcmlwdFByb2ZpbGVOb2RlOjpH
ZXRUZW1wbGF0ZSgpLT5HZXRGdW5jdGlvbigpOwogICAgIGlmIChmdW5jdGlvbi5Jc0VtcHR5KCkp
IHsKICAgICAgICAgLy8gUmV0dXJuIGlmIGFsbG9jYXRpb24gZmFpbGVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNw
cAppbmRleCA2YTAzY2VmYmUzOGNmZDlkMjAwZWI3NGViNTdiNDVkODlkYzUxMjFiLi5hNmI1NTRm
MmNmODhjNDNmMTQzZmJmNmY4NGI0NDI0MjhjYmQwZGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcApAQCAt
NDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOChTdHlsZVNoZWV0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAo
IWltcGwpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjg6Ok51
bGwoaXNvbGF0ZSk7CiAgICAgaWYgKGltcGwtPmlzQ1NTU3R5bGVTaGVldCgpKQogICAgICAgICBy
ZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDU1NTdHlsZVNoZWV0Kj4oaW1wbCksIGlzb2xhdGUpOwog
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4U3R5bGVTaGVldDo6d3JhcChp
bXBsLCBpc29sYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAKaW5kZXggNTk0MmY1YzRkZTEwYzE1NjQzNDkw
MjEyMGU4MTdjODdjZGMwMWNmMS4uYzdjNTE3NTI4NGZkMTIxYWRmNmNlZTJjOTQzMWVjYTE3Mzkx
MWUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJh
Y2tFdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VHJhY2tFdmVudEN1c3RvbS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4VHJhY2tFdmVudDo6dHJhY2tBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4gbmEKICAgICBUcmFja0Jhc2UqIHRyYWNrID0gdHJhY2tFdmVudC0+dHJhY2soKTsKICAg
ICAKICAgICBpZiAoIXRyYWNrKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAg
cmV0dXJuIHY4OjpOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKIAogICAgIHN3aXRjaCAodHJhY2st
PnR5cGUoKSkgewogICAgIGNhc2UgVHJhY2tCYXNlOjpCYXNlVHJhY2s6CkBAIC02Nyw3ICs2Nyw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRyYWNrRXZlbnQ6OnRyYWNrQWNjZXNzb3JHZXR0
ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAg
IHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVsbChpbmZvLkdldElzb2xhdGUo
KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcAppbmRleCBk
MGZjMDIwNjBkYTJmYWZlZjc4YzhiYjcyMGFiYjhmYjUxZWVjYTc1Li5iNTEzYmFiNDNlY2ZhOTcx
MWU3Zjc4NjEzY2Q4ZDBhZjExYWFkMzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDE2QXJyYXlDdXN0b20uY3BwCkBAIC01Niw3ICs1
Niw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFVpbnQxNkFycmF5OjpzZXRDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVWlu
dDE2QXJyYXkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkK
LSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVybiB2ODo6TnVsbChpc29s
YXRlKTsKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOFVpbnQxNkFycmF5
Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwogICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkpCiAgICAg
ICAgIHdyYXBwZXItPlNldEluZGV4ZWRQcm9wZXJ0aWVzVG9FeHRlcm5hbEFycmF5RGF0YShpbXBs
LT5iYXNlQWRkcmVzcygpLCB2ODo6a0V4dGVybmFsVW5zaWduZWRTaG9ydEFycmF5LCBpbXBsLT5s
ZW5ndGgoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhVaW50MzJBcnJheUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhVaW50MzJBcnJheUN1c3RvbS5jcHAKaW5kZXggNmM5MDczYTI1NWVmZDE0ZGY2NmMzODBj
MTE5NjdiYTY4ODI0Y2UyOS4uNzBiZjBiYjIxNWRjMGYxZTNhZGVlOGFkNWViMzJhMmE1YTY0YTI4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDMy
QXJyYXlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFVpbnQzMkFycmF5Q3VzdG9tLmNwcApAQCAtNTYsNyArNTYsNyBAQCB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhVaW50MzJBcnJheTo6c2V0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFVpbnQzMkFycmF5KiBpbXBsLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2ODo6TnVs
bCgpOworICAgICAgICByZXR1cm4gdjg6Ok51bGwoaXNvbGF0ZSk7CiAgICAgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhVaW50MzJBcnJheTo6d3JhcChpbXBsLCBpc29sYXRlKTsK
ICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAgICB3cmFwcGVyLT5TZXRJbmRleGVk
UHJvcGVydGllc1RvRXh0ZXJuYWxBcnJheURhdGEoaW1wbC0+YmFzZUFkZHJlc3MoKSwgdjg6OmtF
eHRlcm5hbFVuc2lnbmVkSW50QXJyYXksIGltcGwtPmxlbmd0aCgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAK
aW5kZXggZjdjNzBkNDg0YTg0NGM5NTYxMGIxMTU2YzQ3YzYyZTFhZTg2OTYxOS4uMzBmMWIyYjli
MDU4MWU4OGU2ZGNkNGFjOWE5MmRlZTRjMWQwNzIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAKQEAgLTU2
LDcgKzU2LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VWludDhBcnJheTo6c2V0Q2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KFVpbnQ4QXJyYXkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1w
bCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVybiB2ODo6TnVsbChp
c29sYXRlKTsKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOFVpbnQ4QXJy
YXk6OndyYXAoaW1wbCwgaXNvbGF0ZSk7CiAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAg
ICAgICAgd3JhcHBlci0+U2V0SW5kZXhlZFByb3BlcnRpZXNUb0V4dGVybmFsQXJyYXlEYXRhKGlt
cGwtPmJhc2VBZGRyZXNzKCksIHY4OjprRXh0ZXJuYWxVbnNpZ25lZEJ5dGVBcnJheSwgaW1wbC0+
bGVuZ3RoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VWludDhDbGFtcGVkQXJyYXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4VWludDhDbGFtcGVkQXJyYXlDdXN0b20uY3BwCmluZGV4IGFlY2I0OTNkYjIx
YTUzNmNhMjVhMGI4MTk0ODBjYWFmMDRlMGEzOTkuLjBhYjc3ZGRmMWUxZTlkYjM3M2NmZWM5Yjlk
MWU5MTQxYzExNjM5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFVpbnQ4Q2xhbXBlZEFycmF5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhVaW50OENsYW1wZWRBcnJheUN1c3RvbS5jcHAKQEAgLTUzLDcg
KzUzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VWludDhDbGFtcGVkQXJyYXk6OnNldENh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4KFVpbnQ4Q2xhbXBlZEFycmF5KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAg
ICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4g
djg6Ok51bGwoaXNvbGF0ZSk7CiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0g
VjhVaW50OENsYW1wZWRBcnJheTo6d3JhcChpbXBsLCBpc29sYXRlKTsKICAgICBpZiAoIXdyYXBw
ZXIuSXNFbXB0eSgpKQogICAgICAgICB3cmFwcGVyLT5TZXRJbmRleGVkUHJvcGVydGllc1RvRXh0
ZXJuYWxBcnJheURhdGEoaW1wbC0+YmFzZUFkZHJlc3MoKSwgdjg6OmtFeHRlcm5hbFBpeGVsQXJy
YXksIGltcGwtPmxlbmd0aCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3Bw
CmluZGV4IDhjNzVjNjRiYWE1MmU0YThhOTdjNzEyYmJjZmVlYzM0MTlkNTBjOTkuLjg1MjdiYzIx
Yjg4NmU2ZTBjMWI1YjQxODNkOTY0ZTkwNGNhNWFiNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdD
b250ZXh0Q3VzdG9tLmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdG9WOE9iamVjdChjb25zdCBXZWJHTEdldEluZm8mIGluZm8sIHY4OjpJc29sYXRl
KiBpCiAgICAgY2FzZSBXZWJHTEdldEluZm86OmtUeXBlSW50OgogICAgICAgICByZXR1cm4gdjg6
OkludGVnZXI6Ok5ldyhpbmZvLmdldEludCgpKTsKICAgICBjYXNlIFdlYkdMR2V0SW5mbzo6a1R5
cGVOdWxsOgotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKGlzb2xhdGUpOwogICAgIGNhc2UgV2ViR0xHZXRJbmZvOjprVHlwZVN0cmluZzoKICAgICAg
ICAgcmV0dXJuIHY4OjpTdHJpbmc6Ok5ldyhmcm9tV2ViQ29yZVN0cmluZyhpbmZvLmdldFN0cmlu
ZygpKSwgaW5mby5nZXRTdHJpbmcoKS5sZW5ndGgoKSk7CiAgICAgY2FzZSBXZWJHTEdldEluZm86
OmtUeXBlVW5zaWduZWRJbnQ6CkBAIC0xNjgsNyArMTY4LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB0b1Y4T2JqZWN0KGNvbnN0IFdlYkdMR2V0SW5mbyYgaW5mbywgdjg6Oklzb2xh
dGUqIGkKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOE9iamVjdChXZWJHTEV4dGVu
c2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNvbnRleHRPYmplY3QsIHY4
OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghZXh0ZW5zaW9uKQotICAgICAgICByZXR1
cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGlzb2xhdGUpOwogICAgIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBleHRlbnNpb25PYmplY3Q7CiAgICAgY29uc3QgY2hhciogcmVm
ZXJlbmNlTmFtZSA9IDA7CiAgICAgc3dpdGNoIChleHRlbnNpb24tPmdldE5hbWUoKSkgewpAQCAt
Mjc4LDEwICsyNzgsMTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpnZXRBdHRhY2hlZFNoYWRlcnNDYWxsYmFjayhjb25zdAogICAgIGJvb2wgc3VjY2Vl
ZCA9IGNvbnRleHQtPmdldEF0dGFjaGVkU2hhZGVycyhwcm9ncmFtLCBzaGFkZXJzLCBlYyk7CiAg
ICAgaWYgKGVjKSB7CiAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5H
ZXRJc29sYXRlKCkpOwotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJu
IHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgaWYgKCFzdWNjZWVkKQot
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3Mu
R2V0SXNvbGF0ZSgpKTsKICAgICB2ODo6TG9jYWw8djg6OkFycmF5PiBhcnJheSA9IHY4OjpBcnJh
eTo6TmV3KHNoYWRlcnMuc2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBpaSA9IDA7IGlpIDwgc2hh
ZGVycy5zaXplKCk7ICsraWkpCiAgICAgICAgIGFycmF5LT5TZXQodjg6OkludGVnZXI6Ok5ldyhp
aSksIHRvVjgoc2hhZGVyc1tpaV0uZ2V0KCksIGFyZ3MuR2V0SXNvbGF0ZSgpKSk7CkBAIC0zODgs
NyArMzg4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zQ2FsbGJhY2soY28KICAgICBJTkNfU1RBVFMoIkRPTS5X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKCkiKTsK
ICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGltcCA9IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBpZiAoaW1wLT5pc0NvbnRleHRMb3N0KCkp
Ci0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4gdjg6Ok51bGwoYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgVmVjdG9yPFN0cmluZz4gdmFsdWUgPSBpbXAtPmdldFN1
cHBvcnRlZEV4dGVuc2lvbnMoKTsKICAgICB2ODo6TG9jYWw8djg6OkFycmF5PiBhcnJheSA9IHY4
OjpBcnJheTo6TmV3KHZhbHVlLnNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwCmluZGV4IDc4
ZDk0YTQwMjk3NjZmYzYwNTY5MjFkOWRlNjdiNjFlOWMwZTJmOTIuLjM3N2M5Yzc3ZjZkN2Q3ZDA4
Zjc5NGQ4Y2RiNTRiZjBmMmMyMDZhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwCkBAIC0xMjcs
MTEgKzEyNywxMSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXJDb250ZXh0OjpzZXRJ
bnRlcnZhbENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmCiB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChXb3JrZXJDb250ZXh0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAg
ICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgICAgICByZXR1cm4g
djg6Ok51bGwoaXNvbGF0ZSk7CiAKICAgICBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkqIHBy
b3h5ID0gaW1wbC0+c2NyaXB0KCktPnByb3h5KCk7CiAgICAgaWYgKCFwcm94eSkKLSAgICAgICAg
cmV0dXJuIHY4OjpOdWxsKCk7CisgICAgICAgIHJldHVybiB2ODo6TnVsbChpc29sYXRlKTsKIAog
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2xvYmFsID0gcHJveHktPmNvbnRleHQoKS0+R2xv
YmFsKCk7CiAgICAgQVNTRVJUKCFnbG9iYWwuSXNFbXB0eSgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>