<?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>101121</bug_id>
          
          <creation_ts>2012-11-02 16:16:51 -0700</creation_ts>
          <short_desc>[V8] DOMDataStore should encapsulate the knowledge of which objects go in which maps</short_desc>
          <delta_ts>2012-11-05 12:11:41 -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>DUPLICATE</resolution>
          <dup_id>101110</dup_id>
          
          <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>101110</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>haraken</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>757726</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-02 16:16:51 -0700</bug_when>
    <thetext>[V8] DOMDataStore should encapsulate the knowledge of which objects go in which maps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757730</commentid>
    <comment_count>1</comment_count>
      <attachid>172170</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-02 16:20:35 -0700</bug_when>
    <thetext>Created attachment 172170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757733</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-02 16:21:41 -0700</bug_when>
    <thetext>Feel free to review this patch if you like, it&apos;s just blocked on bug 101110.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758771</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-05 12:11:41 -0800</bug_when>
    <thetext>It&apos;s easier to do this at the same time as bug 101110.

*** This bug has been marked as a duplicate of bug 101110 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172170</attachid>
            <date>2012-11-02 16:20:35 -0700</date>
            <delta_ts>2012-11-02 16:20:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101121-20121102161937.patch</filename>
            <type>text/plain</type>
            <size>30178</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmNjZWRhNGY4OTc3NDQ4
YTliNGU4YzVhOGRhYzFjYWIwMTJkYjJiMS4uODUwNTAxNmQ0NWFmM2E5MjBkM2QwNjc4N2EzYjEx
ODQxMDI3NDM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDcyIEBACiAyMDEyLTExLTAyICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgW1Y4XSBET01EYXRhU3RvcmUg
c2hvdWxkIGVuY2Fwc3VsYXRlIHRoZSBrbm93bGVkZ2Ugb2Ygd2hpY2ggb2JqZWN0cyBnbyBpbiB3
aGljaCBtYXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDExMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZnRlciB0aGlzIHBhdGNoLCBET01EYXRhU3RvcmUgaXMgdGhlIG9ubHkgb2JqZWN0IHRoYXQg
a25vd3Mgd2hpY2gKKyAgICAgICAgb2JqZWN0cyBnbyBpbiB3aGljaCBET00gd3JhcHBlciBtYXBz
LiBUaGF0IG1lYW5zIHdlIGNhbiBtb3ZlIG9iamVjdHMKKyAgICAgICAgYmV0d2VlbiBtYXBzIGJ5
IGFkZGluZyBvciByZW1vdmluZyBTY3JpcHRXcmFwcGFibGUgYXMgYSBiYXNlIGNsYXNzLgorCisg
ICAgICAgIE5vdGU6IFRoZXJlIGFyZSBhIGNvdXBsZSBleGNlcHRpb25zIHRvIHRoaXMgcnVsZSwg
c3VjaCBhcworICAgICAgICBWOERPTVdyYXBwZXI6OmdldENhY2hlZFdyYXBwZXIsIHdoaWNoIGtu
b3cgdGhhdCBOb2RlcyBoYXZlIGlubGluZQorICAgICAgICB3cmFwcGVycy4gSXQncyBub3QgY2xl
YXIgdG8gbWUgeWV0IHdoZXRoZXIgd2UnbGwgbmVlZCB0byByZW1vdmUgdGhhdAorICAgICAgICBr
bm93bGVkZ2UgYXMgd2VsbC4KKworICAgICAgICAqIFVzZVY4LmNtYWtlOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0
ckdldHRlcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFy
cmF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpWOEZsb2F0NjRBcnJheTo6d3JhcCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6VjhUZXN0QWN0aXZlRE9NT2JqZWN0Ojp3cmFwKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjp3cmFwKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOgorICAgICAg
ICAoV2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpWOFRlc3RFdmVudFRhcmdldDo6d3JhcCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0RXhj
ZXB0aW9uOjp3cmFwKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RJbnRlcmZhY2U6OndyYXApOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Ojp3cmFwKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6
d3JhcCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6cmVhZE9ubHlUZXN0T2JqQXR0
ckF0dHJHZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RP
YmouaDoKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdE9iajo6d3JhcCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlOjp3cmFwKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NRGF0YVN0b3JlOjpjdXJyZW50KToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9ET01EYXRhU3RvcmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6Z2V0
KToKKyAgICAgICAgKERPTURhdGFTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3Rv
cmU6OnNldCk6CisgICAgICAgICogYmluZGluZ3MvdjgvRE9NV3JhcHBlcldvcmxkLmg6CisgICAg
ICAgICogYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6Om5ldXRlckJpbmRpbmcpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9N
TWFwLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTU1hcC5oOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6VjhET01X
cmFwcGVyOjpnZXRDYWNoZWRXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV3JhcHBl
cjo6c2V0V3JhcHBlckNsYXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV3JhcHBlcjo6c2V0
SlNXcmFwcGVyRm9yRE9NT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOE5QT2JqZWN0
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHku
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwOgor
CisyMDEyLTExLTAyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKICAgICAgICAg
W1Y4XSBJbnRydXNpdmVET01XcmFwcGVyTWFwIHNob3VsZCBiZSB1c2FibGUgZm9yIG1vcmUgdGhh
biBqdXN0IE5vZGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDExMTAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9T
b3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCBiNjM1OGY3Yzc2NWZkYmRkYWQxNWZlNDgw
YThkZDMwM2E1NTc3Y2U4Li43ZGUwOTRjNjA2MTY1ZDc4ZmZhNDIwN2U4YmYyOGIwNGMxMDk0ZDUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Vc2VWOC5jbWFrZQpAQCAtNDgsNyArNDgsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NP
VVJDRVMKICAgICBiaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCiAgICAgYmluZGluZ3MvdjgvVjhD
b2xsZWN0aW9uLmNwcAogICAgIGJpbmRpbmdzL3Y4L1Y4RE9NQ29uZmlndXJhdGlvbi5jcHAsCi0g
ICAgYmluZGluZ3MvdjgvVjhET01NYXAuY3BwCiAgICAgYmluZGluZ3MvdjgvVjhET01XaW5kb3dT
aGVsbC5jcHAKICAgICBiaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCiAgICAgYmluZGluZ3Mv
djgvVjhFdmVudExpc3RlbmVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDE4MjA1NDk5NmU2YWFl
Y2JmZmFkMWFjZmJhYmUzMGNhOWIxNmU1YzIuLjdiZTg3ZmE3Nzg0NDZmODQxZjkwOTk1MWRkNjBh
MTgzZDJiOTIzYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMDIsOCArMjMwMiw2IEBACiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvVjhEZXBlbmRlbnRSZXRhaW5lZC5oJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uaCcsCi0gICAgICAgICAgICAnYmluZGluZ3Mvdjgv
VjhET01NYXAuY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOERPTU1hcC5oJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5oJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9WOERPTVdyYXBwZXIuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggYTQwYjJkYjEwZWI0MjgzOGQyMGQwZDFm
MWMwYjc3Y2FiMmUwYWFhMC4uMmQ5ZjkxMmUyYjc4MzA5YTNkMTg0OTk4ZTgwYTVmMmZhNGMwNjcy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yVjgucG0KQEAgLTUwMiw4ICs1MDIsNyBAQCBFTkQKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
JHtjbGFzc05hbWV9Ojp3cmFwKCR7bmF0aXZlVHlwZX0qIGltcGwsIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gY3JlYXRpb25Db250ZXh0LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKIEVORAotICAg
IG15ICRkb21NYXBGdW5jdGlvbiA9IEdldERvbU1hcEZ1bmN0aW9uKCRkYXRhTm9kZSwgJGludGVy
ZmFjZU5hbWUsICJpc29sYXRlIik7Ci0gICAgbXkgJGdldENhY2hlZFdyYXBwZXIgPSBJc05vZGVT
dWJUeXBlKCRkYXRhTm9kZSkgPyAiVjhET01XcmFwcGVyOjpnZXRDYWNoZWRXcmFwcGVyKGltcGwp
IiA6ICIke2RvbU1hcEZ1bmN0aW9ufS5nZXQoaW1wbCkiOworICAgIG15ICRnZXRDYWNoZWRXcmFw
cGVyID0gSXNOb2RlU3ViVHlwZSgkZGF0YU5vZGUpID8gIlY4RE9NV3JhcHBlcjo6Z2V0Q2FjaGVk
V3JhcHBlcihpbXBsKSIgOiAiRE9NRGF0YVN0b3JlOjpjdXJyZW50KGlzb2xhdGUpLT5nZXQoaW1w
bCkiOwogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIDw8RU5EKTsKICAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gJGdldENhY2hlZFdyYXBwZXI7CiAgICAgICAgIGlmICgh
d3JhcHBlci5Jc0VtcHR5KCkpCkBAIC0xMDM3LDggKzEwMzYsNyBAQCBFTkQKICAgICAgICAgIyBD
aGVjayBmb3IgYSB3cmFwcGVyIGluIHRoZSB3cmFwcGVyIGNhY2hlLiBJZiB0aGVyZSBpcyBvbmUs
IHdlIGtub3cgdGhhdCBhIGhpZGRlbiByZWZlcmVuY2UgaGFzIGFscmVhZHkKICAgICAgICAgIyBi
ZWVuIGNyZWF0ZWQuIElmIHdlIGRvbid0IGZpbmQgYSB3cmFwcGVyLCB3ZSBjcmVhdGUgYm90aCBh
IHdyYXBwZXIgYW5kIGEgaGlkZGVuIHJlZmVyZW5jZS4KICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnREZWNscywgIiAgICBSZWZQdHI8JHJldHVyblR5cGU+IHJlc3VsdCA9ICR7Z2V0dGVyU3RyaW5n
fTtcbiIpOwotICAgICAgICBteSAkZG9tTWFwRnVuY3Rpb24gPSBHZXREb21NYXBGdW5jdGlvbigk
ZGF0YU5vZGUsICRpbnRlcmZhY2VOYW1lLCAiaW5mby5HZXRJc29sYXRlKCkiKTsKLSAgICAgICAg
cHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBl
ciA9IHJlc3VsdC5nZXQoKSA/ICR7ZG9tTWFwRnVuY3Rpb259LmdldChyZXN1bHQuZ2V0KCkpIDog
djhVbmRlZmluZWQoKTtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAg
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3cmFwcGVyID0gcmVzdWx0LmdldCgpID8gdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+KERPTURhdGFTdG9yZTo6Y3VycmVudChpbmZvLkdldElzb2xhdGUoKSktPmdl
dChyZXN1bHQuZ2V0KCkpKSA6IHY4VW5kZWZpbmVkKCk7XG4iKTsKICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnREZWNscywgIiAgICBpZiAod3JhcHBlci5Jc0VtcHR5KCkpIHtcbiIpOwogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICB3cmFwcGVyID0gdG9WOChyZXN1bHQu
Z2V0KCksIGluZm8uSG9sZGVyKCksIGluZm8uR2V0SXNvbGF0ZSgpKTtcbiIpOwogICAgICAgICBw
dXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKVxu
Iik7CkBAIC0zNDY4LDE2ICszNDY2LDYgQEAgRU5ECiBFTkQKIH0KIAotc3ViIEdldERvbU1hcEZ1
bmN0aW9uCi17Ci0gICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7Ci0gICAgbXkgJGludGVyZmFjZU5h
bWUgPSBzaGlmdDsKLSAgICBteSAkZ2V0SXNvbGF0ZSA9IHNoaWZ0OwotCi0gICAgcmV0dXJuICJn
ZXRTY3JpcHRXcmFwcGFibGVNYXAoJGdldElzb2xhdGUpIiBpZiBJc05vZGVTdWJUeXBlKCRkYXRh
Tm9kZSk7Ci0gICAgcmV0dXJuICJnZXRET01PYmplY3RNYXAoJGdldElzb2xhdGUpIjsKLX0KLQog
c3ViIEdldE5hdGl2ZVR5cGVGb3JDb252ZXJzaW9ucwogewogICAgIG15ICRkYXRhTm9kZSA9IHNo
aWZ0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4RmxvYXQ2NEFycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhGbG9hdDY0QXJyYXkuaAppbmRleCBhZmIwMTM0NGViZTFlZWEzYzdiNTAyNjg3ZGQ2OTI1
Y2Q2OTk5YTIwLi5iZTAxYjFjMDZkZWYzNDFhZThkODhmNjJlYTk3MmJkOWY4YmQ4NDBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0
QXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhG
bG9hdDY0QXJyYXkuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogCiB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IFY4RmxvYXQ2NEFycmF5Ojp3cmFwKEZsb2F0NjRBcnJheSogaW1wbCwgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRlKiBpc29sYXRlKQog
ewotICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRET01PYmplY3RN
YXAoaXNvbGF0ZSkuZ2V0KGltcGwpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdy
YXBwZXIgPSBET01EYXRhU3RvcmU6OmN1cnJlbnQoaXNvbGF0ZSktPmdldChpbXBsKTsKICAgICAg
ICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyOwog
ICAgIHJldHVybiBWOEZsb2F0NjRBcnJheTo6d3JhcFNsb3coaW1wbCwgY3JlYXRpb25Db250ZXh0
LCBpc29sYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaAppbmRleCA3YmFlYWNjYTk3
NzMzYTdjYjBmZGJkY2M3MjM1NWE3YzlhMDM2NWJlLi4xOTIzODEwYWIwNDllMmEzNDE2YjM0MzZk
OGM5NGI2MmZmZWIwYTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCkBAIC01NSw3
ICs1NSw3IEBAIHByaXZhdGU6CiAKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0QWN0aXZl
RE9NT2JqZWN0Ojp3cmFwKFRlc3RBY3RpdmVET01PYmplY3QqIGltcGwsIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gY3JlYXRpb25Db250ZXh0LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKLSAgICAg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gZ2V0RE9NT2JqZWN0TWFwKGlzb2xh
dGUpLmdldChpbXBsKTsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0g
RE9NRGF0YVN0b3JlOjpjdXJyZW50KGlzb2xhdGUpLT5nZXQoaW1wbCk7CiAgICAgICAgIGlmICgh
d3JhcHBlci5Jc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICByZXR1
cm4gVjhUZXN0QWN0aXZlRE9NT2JqZWN0Ojp3cmFwU2xvdyhpbXBsLCBjcmVhdGlvbkNvbnRleHQs
IGlzb2xhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAppbmRleCBlYTMzNGIw
ZTRjYzkzYTNjZDE4NDRmMzVmMjlmYmM1ZDk0NzE0M2NlLi44Yzg5YzBhMjlkZGE1NDdmNjFiNzIy
NTEyODUxYTVhZGJlZGU3NWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaApA
QCAtNTQsNyArNTQsNyBAQCBwcml2YXRlOgogCiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVz
dEN1c3RvbU5hbWVkR2V0dGVyOjp3cmFwKFRlc3RDdXN0b21OYW1lZEdldHRlciogaW1wbCwgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRlKiBpc29sYXRl
KQogewotICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRET01PYmpl
Y3RNYXAoaXNvbGF0ZSkuZ2V0KGltcGwpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IHdyYXBwZXIgPSBET01EYXRhU3RvcmU6OmN1cnJlbnQoaXNvbGF0ZSktPmdldChpbXBsKTsKICAg
ICAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVy
OwogICAgIHJldHVybiBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6d3JhcFNsb3coaW1wbCwgY3Jl
YXRpb25Db250ZXh0LCBpc29sYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmlu
ZGV4IDk5NjEyODBmMGVmMzcyM2Y1YWIyYzI0OTk4NDQ1ODcyYjg1YWRjN2IuLjYyOWE1YjU1ZTli
NzY2YzhkZmNjMzFjY2IyZDUxMzc5NTIwNzNiOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3Ry
dWN0b3IuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogCiB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+IFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OndyYXAoVGVzdEV2ZW50Q29uc3RydWN0b3IqIGlt
cGwsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3JlYXRpb25Db250ZXh0LCB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSkKIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gZ2V0
RE9NT2JqZWN0TWFwKGlzb2xhdGUpLmdldChpbXBsKTsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiB3cmFwcGVyID0gRE9NRGF0YVN0b3JlOjpjdXJyZW50KGlzb2xhdGUpLT5nZXQoaW1w
bCk7CiAgICAgICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4g
d3JhcHBlcjsKICAgICByZXR1cm4gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcFNsb3coaW1w
bCwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKaW5kZXgg
ZjliMWY3YWYxNmZlODA4ZDVhYWYwNGM2OWRiMTcxOWFjNGUwMWI5MS4uOWI2OGUzNGUxZmYxYWZi
MWZiY2M3ZjViZjRmNDk2MTBmZTMyYTI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTU2
LDcgKzU2LDcgQEAgcHJpdmF0ZToKIAogdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RFdmVu
dFRhcmdldDo6d3JhcChUZXN0RXZlbnRUYXJnZXQqIGltcGwsIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gY3JlYXRpb25Db250ZXh0LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKLSAgICAgICAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gZ2V0RE9NT2JqZWN0TWFwKGlzb2xhdGUpLmdl
dChpbXBsKTsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gRE9NRGF0
YVN0b3JlOjpjdXJyZW50KGlzb2xhdGUpLT5nZXQoaW1wbCk7CiAgICAgICAgIGlmICghd3JhcHBl
ci5Jc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICByZXR1cm4gVjhU
ZXN0RXZlbnRUYXJnZXQ6OndyYXBTbG93KGltcGwsIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXhjZXB0aW9uLmgKaW5kZXggOTlhZmU4YjE2MzliMmI3YTVkMmIzMGIyOGVkMjkyYzdl
NGY2OTM3Ny4uNzFiOTQ3OGQzZmU5NWUwNzg1M2Y1MjExMDBiNzc4N2Q0MTg0MjQ2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2Vw
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RFeGNlcHRpb24uaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogCiB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IFY4VGVzdEV4Y2VwdGlvbjo6d3JhcChUZXN0RXhjZXB0aW9uKiBpbXBsLCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29udGV4dCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUp
CiB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGdldERPTU9iamVj
dE1hcChpc29sYXRlKS5nZXQoaW1wbCk7CisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
d3JhcHBlciA9IERPTURhdGFTdG9yZTo6Y3VycmVudChpc29sYXRlKS0+Z2V0KGltcGwpOwogICAg
ICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuIHdyYXBwZXI7
CiAgICAgcmV0dXJuIFY4VGVzdEV4Y2VwdGlvbjo6d3JhcFNsb3coaW1wbCwgY3JlYXRpb25Db250
ZXh0LCBpc29sYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaAppbmRleCA4N2NhMGI4YWRjNTQ3ZDJiN2U5
NTAxZTgyMGFmYWQzM2ZlOWQzNTRmLi43NWZkMTFmZjI2YzMxNTc5MGQ2ZDNjYWQwNWQwMzZjODQx
ZDdjMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCkBAIC01OCw3ICs1OCw3IEBAIHByaXZhdGU6CiAK
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0SW50ZXJmYWNlOjp3cmFwKFRlc3RJbnRlcmZh
Y2UqIGltcGwsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3JlYXRpb25Db250ZXh0LCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSkKIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVy
ID0gZ2V0RE9NT2JqZWN0TWFwKGlzb2xhdGUpLmdldChpbXBsKTsKKyAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gRE9NRGF0YVN0b3JlOjpjdXJyZW50KGlzb2xhdGUpLT5n
ZXQoaW1wbCk7CiAgICAgICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkpCiAgICAgICAgICAgICBy
ZXR1cm4gd3JhcHBlcjsKICAgICByZXR1cm4gVjhUZXN0SW50ZXJmYWNlOjp3cmFwU2xvdyhpbXBs
LCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmgKaW5kZXggZjg4NTk4MDQ2Y2U4NThhZTI0OTcxMjdlOTI3YjRkNDZiY2Nk
YzM2NS4uN2JhNGE1NjQxNmNlYjNmNjg3MzVlNGFhZGM5ODJlMDU3OWE1NTJiMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCkBAIC01Myw3ICs1Myw3IEBAIHBy
aXZhdGU6CiAKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcjo6d3JhcChUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogaW1wbCwgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewotICAg
ICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRET01PYmplY3RNYXAoaXNv
bGF0ZSkuZ2V0KGltcGwpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIg
PSBET01EYXRhU3RvcmU6OmN1cnJlbnQoaXNvbGF0ZSktPmdldChpbXBsKTsKICAgICAgICAgaWYg
KCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgIHJl
dHVybiBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjp3cmFwU2xvdyhpbXBsLCBjcmVhdGlv
bkNvbnRleHQsIGlzb2xhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmgKaW5kZXgg
OTk1OTllNjI1YjIwYzI0NWU3OTBkMTU0MWY5YzBlYjBmMGQxOTUyMy4uYjBmMzQ3MWM4OTczZDBh
OTFkMWUxNjQ2Yjg2ZGU1NGRjNDNiM2E0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rv
ci5oCkBAIC02MCw3ICs2MCw3IEBAIHByaXZhdGU6CiAKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6d3JhcChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCwg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRlKiBpc29s
YXRlKQogewotICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRET01P
YmplY3RNYXAoaXNvbGF0ZSkuZ2V0KGltcGwpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+IHdyYXBwZXIgPSBET01EYXRhU3RvcmU6OmN1cnJlbnQoaXNvbGF0ZSktPmdldChpbXBsKTsK
ICAgICAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFw
cGVyOwogICAgIHJldHVybiBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp3cmFwU2xvdyhpbXBsLCBj
cmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCAyZGM3MzY2MThhMmI5NjFk
ODkyYWUxZDA5ZmJmYjgzNWVmNzhiMmRiLi4yNWI2YjRiOWRkYzI1NmVkNTVlYjFlN2MzMWQwN2Jl
MzdhYWZmMzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gcmVhZE9ubHlUZXN0T2JqQXR0ckF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4
OjpTdHJpbmc+CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5yZWFkT25seVRlc3RPYmpBdHRy
Ll9nZXQiKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8uSG9s
ZGVyKCkpOwogICAgIFJlZlB0cjxUZXN0T2JqPiByZXN1bHQgPSBpbXAtPnJlYWRPbmx5VGVzdE9i
akF0dHIoKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBlciA9IHJlc3VsdC5nZXQo
KSA/IGdldERPTU9iamVjdE1hcChpbmZvLkdldElzb2xhdGUoKSkuZ2V0KHJlc3VsdC5nZXQoKSkg
OiB2OFVuZGVmaW5lZCgpOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3cmFwcGVyID0gcmVz
dWx0LmdldCgpID8gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KERPTURhdGFTdG9yZTo6Y3VycmVudChp
bmZvLkdldElzb2xhdGUoKSktPmdldChyZXN1bHQuZ2V0KCkpKSA6IHY4VW5kZWZpbmVkKCk7CiAg
ICAgaWYgKHdyYXBwZXIuSXNFbXB0eSgpKSB7CiAgICAgICAgIHdyYXBwZXIgPSB0b1Y4KHJlc3Vs
dC5nZXQoKSwgaW5mby5Ib2xkZXIoKSwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgICAgICBpZiAo
IXdyYXBwZXIuSXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCmluZGV4IDYyMWUyOTdhZjM5OTlmMDM4ZWQ5ZmRjMTcw
YmU4OTZiN2FkNmIyY2YuLjk0Mzg5NTJjODgyMmU5M2U4NzNmNmY4OTA3MDgyMzA0MTgyZDNiZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHJpdmF0ZToKIAogdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBWOFRlc3RPYmo6OndyYXAoVGVzdE9iaiogaW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewotICAgICAgICB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRET01PYmplY3RNYXAoaXNvbGF0ZSkuZ2V0
KGltcGwpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBET01EYXRh
U3RvcmU6OmN1cnJlbnQoaXNvbGF0ZSktPmdldChpbXBsKTsKICAgICAgICAgaWYgKCF3cmFwcGVy
LklzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgIHJldHVybiBWOFRl
c3RPYmo6OndyYXBTbG93KGltcGwsIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKaW5kZXgg
NjNjMjIyYTBiMGMxNmRlOWU5ZTc0MjNhNWQ1NmUxMDdiMDE4MDQ1MC4uMzk3MDE2ODUwZGI1ZWJl
OGYzNWRmNDlmNzI0ZDg2ZGIyYzk1NjQwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaApAQCAtNTYsNyArNTYsNyBAQCBwcml2YXRl
OgogCiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZTo6d3JhcChUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiBpbXBsLCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29udGV4dCwgdjg6Oklzb2xhdGUqIGlzb2xh
dGUpCiB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGdldERPTU9i
amVjdE1hcChpc29sYXRlKS5nZXQoaW1wbCk7CisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gd3JhcHBlciA9IERPTURhdGFTdG9yZTo6Y3VycmVudChpc29sYXRlKS0+Z2V0KGltcGwpOwog
ICAgICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuIHdyYXBw
ZXI7CiAgICAgcmV0dXJuIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6d3Jh
cFNsb3coaW1wbCwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwCmluZGV4IGRlOTQxOTkxNWQ5YmRiMzM0MWNjZjUw
OWZjM2JjNDFhYzAwMzRlM2IuLmVkY2UxNjdkOGM0MDQ1MjhhNDg0YjJkNjEwZjU3YmQ1MjJmMGY1
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNwcApAQCAt
NjksNiArNjksOCBAQCBET01EYXRhU3RvcmU6On5ET01EYXRhU3RvcmUoKQogRE9NRGF0YVN0b3Jl
KiBET01EYXRhU3RvcmU6OmN1cnJlbnQodjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChET01EYXRhU3RvcmUsIGRlZmF1bHRTdG9yZSwgKE1haW5Xb3JsZCkp
OworICAgIGlmICghaXNvbGF0ZSkKKyAgICAgICAgaXNvbGF0ZSA9IHY4OjpJc29sYXRlOjpHZXRD
dXJyZW50KCk7CiAgICAgVjhQZXJJc29sYXRlRGF0YSogZGF0YSA9IFY4UGVySXNvbGF0ZURhdGE6
OmZyb20oaXNvbGF0ZSk7CiAgICAgaWYgKFVOTElLRUxZKCEhZGF0YS0+ZG9tRGF0YVN0b3JlKCkp
KQogICAgICAgICByZXR1cm4gZGF0YS0+ZG9tRGF0YVN0b3JlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4IGViOTJhMWQzMjYwMGUwZDQ1MjUyNzg5YWEw
NmYyYzRjNWQzMTZjYWQuLjMxMDYwMmM5MGZkYmJlNDZkNDhmMDIxYjE1NGFkZTVhMjFjZTU2MWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC01NywxMCAr
NTcsMTQgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IERPTURhdGFTdG9yZShUeXBlKTsKICAgICB+
RE9NRGF0YVN0b3JlKCk7CiAKLSAgICBzdGF0aWMgRE9NRGF0YVN0b3JlKiBjdXJyZW50KHY4OjpJ
c29sYXRlKik7CisgICAgc3RhdGljIERPTURhdGFTdG9yZSogY3VycmVudCh2ODo6SXNvbGF0ZSog
PSAwKTsKIAotICAgIERPTVdyYXBwZXJNYXA8U2NyaXB0V3JhcHBhYmxlPiYgc2NyaXB0V3JhcHBh
YmxlTWFwKCkgeyByZXR1cm4gKm1fc2NyaXB0V3JhcHBhYmxlTWFwOyB9Ci0gICAgRE9NV3JhcHBl
ck1hcDx2b2lkPiYgZG9tT2JqZWN0TWFwKCkgeyByZXR1cm4gKm1fZG9tT2JqZWN0TWFwOyB9Cisg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXQoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpIGNv
bnN0IHsgcmV0dXJuIG1fc2NyaXB0V3JhcHBhYmxlTWFwLT5nZXQob2JqZWN0KTsgfQorICAgIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2V0KHZvaWQqIG9iamVjdCkgY29uc3QgeyByZXR1cm4gbV9k
b21PYmplY3RNYXAtPmdldChvYmplY3QpOyB9CisKKyAgICAvLyBUYWtlcyBvd25lcnNoaXAgb2Yg
fG9iamVjdHwgYW5kIHx3cmFwcGVyfC4KKyAgICB2b2lkIHNldChTY3JpcHRXcmFwcGFibGUqIG9i
amVjdCwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gd3JhcHBlcikgeyBtX3NjcmlwdFdyYXBw
YWJsZU1hcC0+c2V0KG9iamVjdCwgd3JhcHBlcik7IH0KKyAgICB2b2lkIHNldCh2b2lkKiBvYmpl
Y3QsIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIpIHsgbV9kb21PYmplY3RNYXAt
PnNldChvYmplY3QsIHdyYXBwZXIpOyB9CiAKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NV3JhcHBlcldvcmxkLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01XcmFwcGVyV29ybGQuaAppbmRleCA2OGVlNmU5Y2Y1NDRlNmEzNDY0Zjg2ZjFjNDAyMTA0YjY4
MjgwZmM5Li41ZGYzMDU4MTVkMjRmYmQ0NjhjOGYxMDMyOTdhYzU4YjlkYTIyYjNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQuaApAQCAtMzMsNyArMzMs
NiBAQAogCiAjaW5jbHVkZSAiRE9NRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKLSNpbmNsdWRlICJWOERPTU1hcC5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHAKaW5kZXggYzg0
MGYyMjgxZDc1NzQ1MTgxZGIyZGVlMjRiNGYwNjQwMDE4ZjMyYy4uZmY1N2MzY2UyNGNlZmI3MjUx
ZmEyMzhkZjNlZjgzOGNlMDAyMWQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0UHJvZmlsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdFByb2ZpbGVyLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIlNjcmlwdE9i
amVjdC5oIgogI2luY2x1ZGUgIlY4QXJyYXlCdWZmZXJWaWV3LmgiCiAjaW5jbHVkZSAiVjhCaW5k
aW5nLmgiCi0jaW5jbHVkZSAiVjhET01NYXAuaCIKICNpbmNsdWRlICJWOE5vZGUuaCIKICNpbmNs
dWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiV3JhcHBlclR5
cGVJbmZvLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcAppbmRleCAwZjYwNDIxMjg3NTJlNDE3YWE0MTRhZWMxOTE3ZGJlNzBk
ZGMxYjU5Li5kMTJkMDg1M2Q0NDdmZDYzMTdmNTYwMjQ2NjA4MmM5OGE3NzVmODAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHAKQEAgLTIyMDYsMTMgKzIyMDYsMTQgQEAgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpTZXJpYWxp
emVkU2NyaXB0VmFsdWUoKQogewogfQogCi1zdGF0aWMgdm9pZCBuZXV0ZXJCaW5kaW5nKHZvaWQq
IGRvbU9iamVjdCkgCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIHZvaWQgbmV1dGVyQmlu
ZGluZyhUKiBvYmplY3QpIAogewogICAgIFZlY3RvcjxET01EYXRhU3RvcmUqPiYgYWxsU3RvcmVz
ID0gVjhQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgpLT5hbGxTdG9yZXMoKTsKICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGFsbFN0b3Jlcy5zaXplKCk7IGkrKykgewotICAgICAgICB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IG9iaiA9IGFsbFN0b3Jlc1tpXS0+ZG9tT2JqZWN0TWFwKCkuZ2V0KGRv
bU9iamVjdCk7Ci0gICAgICAgIGlmICghb2JqLklzRW1wdHkoKSkKLSAgICAgICAgICAgIG9iai0+
U2V0SW5kZXhlZFByb3BlcnRpZXNUb0V4dGVybmFsQXJyYXlEYXRhKDAsIHY4OjprRXh0ZXJuYWxC
eXRlQXJyYXksIDApOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBh
bGxTdG9yZXNbaV0tPmdldChvYmplY3QpOworICAgICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgp
KQorICAgICAgICAgICAgd3JhcHBlci0+U2V0SW5kZXhlZFByb3BlcnRpZXNUb0V4dGVybmFsQXJy
YXlEYXRhKDAsIHY4OjprRXh0ZXJuYWxCeXRlQXJyYXksIDApOwogICAgIH0KIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiNGIwODA5ZDUwZmEwMGVkZjVhN2VkMjNhYzhkZWE0MjA2MDhmM2UxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4RE9NTWFwLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlz
dHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwot
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVjhET01NYXAuaCIKLQotI2luY2x1ZGUgIkRPTURhdGFT
dG9yZS5oIgotI2luY2x1ZGUgIlY4QmluZGluZy5oIgotI2luY2x1ZGUgIlY4Tm9kZS5oIgotI2lu
Y2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotRE9NV3Jh
cHBlck1hcDxTY3JpcHRXcmFwcGFibGU+JiBnZXRTY3JpcHRXcmFwcGFibGVNYXAodjg6Oklzb2xh
dGUqIGlzb2xhdGUpCi17Ci0gICAgaWYgKCFpc29sYXRlKQotICAgICAgICBpc29sYXRlID0gdjg6
Oklzb2xhdGU6OkdldEN1cnJlbnQoKTsKLSAgICByZXR1cm4gRE9NRGF0YVN0b3JlOjpjdXJyZW50
KGlzb2xhdGUpLT5zY3JpcHRXcmFwcGFibGVNYXAoKTsKLX0KLQotRE9NV3JhcHBlck1hcDx2b2lk
PiYgZ2V0RE9NT2JqZWN0TWFwKHY4OjpJc29sYXRlKiBpc29sYXRlKQotewotICAgIGlmICghaXNv
bGF0ZSkKLSAgICAgICAgaXNvbGF0ZSA9IHY4OjpJc29sYXRlOjpHZXRDdXJyZW50KCk7Ci0gICAg
cmV0dXJuIERPTURhdGFTdG9yZTo6Y3VycmVudChpc29sYXRlKS0+ZG9tT2JqZWN0TWFwKCk7Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RE9NTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1h
cC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDMwNDU0NjBlYzJjNWNlYWFkNDJk
NjY0NTBiZDc4NzQ3MDEwNjNlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
LSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBWOERPTU1hcF9oCi0jZGVmaW5lIFY4RE9NTWFw
X2gKLQotI2luY2x1ZGUgIkRPTVdyYXBwZXJNYXAuaCIKLSNpbmNsdWRlICJOb2RlLmgiCi0jaW5j
bHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTWVtb3J5SW5z
dHJ1bWVudGF0aW9uSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRl
IDx2OC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLURPTVdyYXBwZXJNYXA8U2NyaXB0V3Jh
cHBhYmxlPiYgZ2V0U2NyaXB0V3JhcHBhYmxlTWFwKHY4OjpJc29sYXRlKiA9IDApOwotRE9NV3Jh
cHBlck1hcDx2b2lkPiYgZ2V0RE9NT2JqZWN0TWFwKHY4OjpJc29sYXRlKiA9IDApOwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBWOERPTU1hcF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCmluZGV4IDRkMzdmYzkzY2Ez
YjM0Nzk1NjAwNjY3MzIyYmRiNzNiYmVlMmM5MDguLjAyYjM0N2RjMjdiN2U2YWI5MDMzMmJhMmNk
N2RhZTk2NjM2NDU5ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV2luZG93U2hlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V2luZG93U2hlbGwuY3BwCkBAIC01MSw3ICs1MSw2IEBACiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
eVNldC5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4Q29sbGVjdGlvbi5o
IgotI2luY2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3cuaCIKICNpbmNs
dWRlICJWOERvY3VtZW50LmgiCiAjaW5jbHVkZSAiVjhHQ0NvbnRyb2xsZXIuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmgKaW5kZXggZTNjNGY3NmIyZGI4YzkwNjJk
YjM0NTQyZDExNGU2YjRmNTJjMjM1ZS4uZDUwMTRjMTk2NzQ1NjdhOTAwNmQ1M2QxMzM3ZDhjYjc0
YTdiZDFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFw
cGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmgKQEAg
LTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiTm9kZUZpbHRlci5o
IgogI2luY2x1ZGUgIlY4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgiCi0jaW5jbHVkZSAiVjhET01N
YXAuaCIKICNpbmNsdWRlICJWOERPTVdpbmRvd1NoZWxsLmgiCiAjaW5jbHVkZSAiVjhVdGlsaXRp
ZXMuaCIKICNpbmNsdWRlICJXcmFwcGVyVHlwZUluZm8uaCIKQEAgLTEyMCw3ICsxMTksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUtPndyYXBwZXIo
KTsKIAogICAgICAgICAgICAgRE9NRGF0YVN0b3JlKiBzdG9yZSA9IGNvbnRleHQtPndvcmxkKCkt
PmRvbURhdGFTdG9yZSgpOwotICAgICAgICAgICAgcmV0dXJuIHN0b3JlLT5zY3JpcHRXcmFwcGFi
bGVNYXAoKS5nZXQobm9kZSk7CisgICAgICAgICAgICByZXR1cm4gc3RvcmUtPmdldChub2RlKTsK
ICAgICAgICAgfQogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNldFdyYXBwZXJD
bGFzcyh2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gd3JhcHBlcikKQEAgLTEzMiwx
NiArMTMxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB7CiAgICAgICAgICAgICB3
cmFwcGVyLlNldFdyYXBwZXJDbGFzc0lkKHY4RE9NTm9kZUNsYXNzSWQpOwogICAgICAgICB9Ci0K
LSAgICAgICAgc3RhdGljIHZvaWQgc3RvcmVXcmFwcGVySW5NYXAodm9pZCogb2JqZWN0LCB2ODo6
UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3cmFwcGVyLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKLSAg
ICAgICAgewotICAgICAgICAgICAgZ2V0RE9NT2JqZWN0TWFwKGlzb2xhdGUpLnNldChvYmplY3Qs
IHdyYXBwZXIpOwotICAgICAgICB9Ci0KLSAgICAgICAgc3RhdGljIHZvaWQgc3RvcmVXcmFwcGVy
SW5NYXAoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QsIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+
IHdyYXBwZXIsIHY4OjpJc29sYXRlKiBpc29sYXRlKQotICAgICAgICB7Ci0gICAgICAgICAgICBn
ZXRTY3JpcHRXcmFwcGFibGVNYXAoaXNvbGF0ZSkuc2V0KG9iamVjdCwgd3JhcHBlcik7Ci0gICAg
ICAgIH0KICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTE1MCw3ICsxMzks
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmpl
Y3Q+IHdyYXBwZXJIYW5kbGUgPSB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KHdyYXBw
ZXIpOwogICAgICAgICBBU1NFUlQobWF5YmVET01XcmFwcGVyKHdyYXBwZXJIYW5kbGUpKTsKICAg
ICAgICAgc2V0V3JhcHBlckNsYXNzKG9iamVjdC5nZXQoKSwgd3JhcHBlckhhbmRsZSk7Ci0gICAg
ICAgIHN0b3JlV3JhcHBlckluTWFwKG9iamVjdC5sZWFrUmVmKCksIHdyYXBwZXJIYW5kbGUsIGlz
b2xhdGUpOworICAgICAgICBET01EYXRhU3RvcmU6OmN1cnJlbnQoaXNvbGF0ZSktPnNldChvYmpl
Y3QubGVha1JlZigpLCB3cmFwcGVySGFuZGxlKTsKICAgICAgICAgcmV0dXJuIHdyYXBwZXJIYW5k
bGU7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOE5Q
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwCmlu
ZGV4IDRlNTI4M2IxODUyMWVhYzkyZjExYWVhOWI4NDYyOWFkMzE2Yzc5NGUuLmJjMzBiNGM4Yzgy
MTU4Mzc1M2M5Y2M2MTc2MTAxYjNiY2VkMmY2NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4TlBPYmplY3QuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiSFRNTFBsdWdJ
bkVsZW1lbnQuaCIKICNpbmNsdWRlICJOUFY4T2JqZWN0LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5n
LmgiCi0jaW5jbHVkZSAiVjhET01NYXAuaCIKICNpbmNsdWRlICJWOEhUTUxBcHBsZXRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiVjhIVE1MRW1iZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhIVE1MT2Jq
ZWN0RWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29y
a2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKaW5kZXggOTlhYTA5ZWJiNmExMWZiZTdj
ZjVlNTJhOTllMWVlNzdjMzFlZjhiOC4uMTVjNWU5MDBiZjVlNGY2YTc5OWM5MmZiYzI4ODVhMjE2
MTNhY2VmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29u
dGV4dEV4ZWN1dGlvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVk
ZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyQ29udGV4dC5oIgogI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgotI2luY2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5jbHVkZSAiVjhE
T01XaW5kb3dTaGVsbC5oIgogI2luY2x1ZGUgIlY4RGVkaWNhdGVkV29ya2VyQ29udGV4dC5oIgog
I2luY2x1ZGUgIlY4R0NDb250cm9sbGVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDViYWNiNWFkOWJlMWRk
N2I2YjgxYWY0OGNmZTk2MTU2YmZhNGY0MTEuLjYyOGY1MWI2MGQ5NTY0ZTI0OWIxNTdmYTczOWY4
YmI3ZTBlZWNiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtl
clNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dv
cmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiU2Ny
aXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUg
IlNjcmlwdFZhbHVlLmgiCi0jaW5jbHVkZSAiVjhET01NYXAuaCIKICNpbmNsdWRlICJWOFdvcmtl
ckNvbnRleHQuaCIKICNpbmNsdWRlICJXb3JrZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2Vy
Q29udGV4dEV4ZWN1dGlvblByb3h5LmgiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>