<?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>199037</bug_id>
          
          <creation_ts>2019-06-19 15:54:31 -0700</creation_ts>
          <short_desc>[WHLSL] Property resolver needs to recurse on newValueExpression for RMW operations</short_desc>
          <delta_ts>2019-06-20 13:11:43 -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>WebGPU</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>195864</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jonlee</cc>
    
    <cc>justin_fan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rmorisset</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1546261</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-06-19 15:54:31 -0700</bug_when>
    <thetext>```
float4x4 mul(float4x4 x, float4x4 y) {
    float4x4 result;
    result[0][0] = 0;
    result[0][0] += x[0][0] * y[0][0];
    result[0][0] += x[0][1] * y[1][0];
    result[0][0] += x[0][2] * y[2][0];
    result[0][0] += x[0][3] * y[3][0];
    result[0][1] = 0;
    result[0][1] += x[0][0] * y[0][1];
    result[0][1] += x[0][1] * y[1][1];
    result[0][1] += x[0][2] * y[2][1];
    result[0][1] += x[0][3] * y[3][1];
    result[0][2] = 0;
    result[0][2] += x[0][0] * y[0][2];
    result[0][2] += x[0][1] * y[1][2];
    result[0][2] += x[0][2] * y[2][2];
    result[0][2] += x[0][3] * y[3][2];
    result[0][3] = 0;
    result[0][3] += x[0][0] * y[0][3];
    result[0][3] += x[0][1] * y[1][3];
    result[0][3] += x[0][2] * y[2][3];
    result[0][3] += x[0][3] * y[3][3];
    result[1][0] = 0;
    result[1][0] += x[1][0] * y[0][0];
    result[1][0] += x[1][1] * y[1][0];
    result[1][0] += x[1][2] * y[2][0];
    result[1][0] += x[1][3] * y[3][0];
    result[1][1] = 0;
    result[1][1] += x[1][0] * y[0][1];
    result[1][1] += x[1][1] * y[1][1];
    result[1][1] += x[1][2] * y[2][1];
    result[1][1] += x[1][3] * y[3][1];
    result[1][2] = 0;
    result[1][2] += x[1][0] * y[0][2];
    result[1][2] += x[1][1] * y[1][2];
    result[1][2] += x[1][2] * y[2][2];
    result[1][2] += x[1][3] * y[3][2];
    result[1][3] = 0;
    result[1][3] += x[1][0] * y[0][3];
    result[1][3] += x[1][1] * y[1][3];
    result[1][3] += x[1][2] * y[2][3];
    result[1][3] += x[1][3] * y[3][3];
    result[2][0] = 0;
    result[2][0] += x[2][0] * y[0][0];
    result[2][0] += x[2][1] * y[1][0];
    result[2][0] += x[2][2] * y[2][0];
    result[2][0] += x[2][3] * y[3][0];
    result[2][1] = 0;
    result[2][1] += x[2][0] * y[0][1];
    result[2][1] += x[2][1] * y[1][1];
    result[2][1] += x[2][2] * y[2][1];
    result[2][1] += x[2][3] * y[3][1];
    result[2][2] = 0;
    result[2][2] += x[2][0] * y[0][2];
    result[2][2] += x[2][1] * y[1][2];
    result[2][2] += x[2][2] * y[2][2];
    result[2][2] += x[2][3] * y[3][2];
    result[2][3] = 0;
    result[2][3] += x[2][0] * y[0][3];
    result[2][3] += x[2][1] * y[1][3];
    result[2][3] += x[2][2] * y[2][3];
    result[2][3] += x[2][3] * y[3][3];
    result[3][0] = 0;
    result[3][0] += x[3][0] * y[0][0];
    result[3][0] += x[3][1] * y[1][0];
    result[3][0] += x[3][2] * y[2][0];
    result[3][0] += x[3][3] * y[3][0];
    result[3][1] = 0;
    result[3][1] += x[3][0] * y[0][1];
    result[3][1] += x[3][1] * y[1][1];
    result[3][1] += x[3][2] * y[2][1];
    result[3][1] += x[3][3] * y[3][1];
    result[3][2] = 0;
    result[3][2] += x[3][0] * y[0][2];
    result[3][2] += x[3][1] * y[1][2];
    result[3][2] += x[3][2] * y[2][2];
    result[3][2] += x[3][3] * y[3][2];
    result[3][3] = 0;
    result[3][3] += x[3][0] * y[0][3];
    result[3][3] += x[3][1] * y[1][3];
    result[3][3] += x[3][2] * y[2][3];
    result[3][3] += x[3][3] * y[3][3];
    return result;
}
```

Makes High Zombie Finder fail</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546573</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-06-20 10:55:37 -0700</bug_when>
    <thetext>Looking at this now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546611</commentid>
    <comment_count>2</comment_count>
      <attachid>372577</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-06-20 12:23:25 -0700</bug_when>
    <thetext>Created attachment 372577
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546615</commentid>
    <comment_count>3</comment_count>
      <attachid>372578</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-06-20 12:38:52 -0700</bug_when>
    <thetext>Created attachment 372578
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546627</commentid>
    <comment_count>4</comment_count>
      <attachid>372578</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-20 13:10:12 -0700</bug_when>
    <thetext>Comment on attachment 372578
patch for landing

Clearing flags on attachment: 372578

Committed r246649: &lt;https://trac.webkit.org/changeset/246649&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546628</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-20 13:10:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546629</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-20 13:11:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/51956598&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372577</attachid>
            <date>2019-06-20 12:23:25 -0700</date>
            <delta_ts>2019-06-20 12:38:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>20581</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NjY0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE5LTA2LTIwICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gUHJvcGVydHkgcmVz
b2x2ZXIgbmVlZHMgdG8gcmVjdXJzZSBvbiBuZXdWYWx1ZUV4cHJlc3Npb24gZm9yIFJNVyBvcGVy
YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTkwMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIHdlIGhhZCBhbiBleHByZXNzaW9uIGxpa2UgYDxlMT4gKz0gPGUyPmAsIHdlIHdlcmVuJ3Qg
cnVubmluZyB0aGUgcHJvcGVydHkKKyAgICAgICAgcmVzb2x2ZXIgb24gPGUyPi4gSWYgPGUyPiB3
YXMgc29tZXRoaW5nIGxpa2UgYG1hdFsxXVsyXWAsIHdlIHdvdWxkbid0IGVuZCB1cAorICAgICAg
ICBzaW1wbGlmeWluZyB0aGF0IGludG8gdGhlIG5lZWRlZCBnZXR0ZXIgY2FsbHMuIFRoaXMgcGF0
Y2ggZml4ZXMgdGhpcyBieSBoYXZpbmcKKyAgICAgICAgdGhlIHByb3BlcnR5IHJlc29sdmVyIHJl
Y3Vyc2Ugb24gPGUyPi4KKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBmaXhlcyBh
IGJ1ZyBpbiB0aGUgcHJvcGVydHkgcmVzb2x2ZXIgd2hlcmUgd2Ugd2VyZW4ndCBtYXJraW5nIHNv
bWUKKyAgICAgICAgZGVyZWZlcmVuY2UgZXhwcmVzc2lvbnMgYXMgTFZhbHVlcy4gVGhpcyB3YXMg
Y2F1c2luZyBidWdzIGluIHRoZSBtZXRhbCBjb2RlIGdlbmVyYXRvci4KKyAgICAgICAgCisgICAg
ICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIGEgd2F5IHRvIGR1bXAgdGhlIEFTVCBiZXR3ZWVuIHBh
c3NlcyB0aGF0IGFyZQorICAgICAgICBndWFyYW50ZWVkIHRvIG5vdCBmYWlsLgorCisgICAgICAg
IFRlc3Q6IHdlYmdwdS93aGxzbC1yZWFkLW1vZGlmeS13cml0ZS1oaWdoLXpvbWJpZXMuaHRtbAor
CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldITFNMOjpwcmVwYXJlU2hhcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OlByb3BlcnR5UmVzb2x2ZXI6OnZpc2l0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeS50eHQ6CisKIDIwMTktMDYtMjAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5naW5nIHNldHRpbmdzIG9m
IGEgTWVkaWFTdHJlYW1UcmFjayBjbG9uZSBzaG91bGQgbm90IGFsdGVyIHRoZSBzZXR0aW5ncyBv
ZiB0aGUgb3JpZ2luYWwgdHJhY2sKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMUHJlcGFyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkocmV2aXNpb24gMjQ2NjQyKQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTAsNyArOTAsNyBAQCBzdGF0aWMgYm9vbCBkdW1wQVNUQXRFbmRJZk5l
ZWRlZChQcm9ncmFtCiAgICAgcmV0dXJuIGR1bXBBU1RJZk5lZWRlZChkdW1wQVNUQXRFbmQsIHBy
b2dyYW0sICJBU1QgYXQgZW5kIik7CiB9CiAKLSNkZWZpbmUgUlVOX1BBU1MocGFzcywgLi4uKSBc
CisjZGVmaW5lIENIRUNLX1BBU1MocGFzcywgLi4uKSBcCiAgICAgZG8geyBcCiAgICAgICAgIGR1
bXBBU1RCZXR3ZWVuRWFjaFBhc3NJZk5lZWRlZChwcm9ncmFtLCAiQVNUIGJlZm9yZSAiICMgcGFz
cyk7IFwKICAgICAgICAgaWYgKCFwYXNzKF9fVkFfQVJHU19fKSkgeyBcCkBAIC05OSw3ICs5OSwx
MiBAQCBzdGF0aWMgYm9vbCBkdW1wQVNUQXRFbmRJZk5lZWRlZChQcm9ncmFtCiAgICAgICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OyBcCiAgICAgICAgIH0gXAogICAgIH0gd2hpbGUgKDApCi0g
ICAgCisKKyNkZWZpbmUgUlVOX1BBU1MocGFzcywgLi4uKSBcCisgICAgZG8geyBcCisgICAgICAg
IGR1bXBBU1RCZXR3ZWVuRWFjaFBhc3NJZk5lZWRlZChwcm9ncmFtLCAiQVNUIGJlZm9yZSAiICMg
cGFzcyk7IFwKKyAgICAgICAgcGFzcyhfX1ZBX0FSR1NfXyk7IFwKKyAgICB9IHdoaWxlICgwKQog
CiBzdGF0aWMgT3B0aW9uYWw8UHJvZ3JhbT4gcHJlcGFyZVNoYXJlZChTdHJpbmcmIHdobHNsU291
cmNlKQogewpAQCAtMTIxLDI3ICsxMjYsMjcgQEAgc3RhdGljIE9wdGlvbmFsPFByb2dyYW0+IHBy
ZXBhcmVTaGFyZWQoUwogICAgICAgICBkdW1wQVNUQWZ0ZXJQYXJzaW5nSWZOZWVkZWQocHJvZ3Jh
bSk7CiAKICAgICBOYW1lUmVzb2x2ZXIgbmFtZVJlc29sdmVyKHByb2dyYW0ubmFtZUNvbnRleHQo
KSk7Ci0gICAgUlVOX1BBU1MocmVzb2x2ZU5hbWVzSW5UeXBlcywgcHJvZ3JhbSwgbmFtZVJlc29s
dmVyKTsKLSAgICBSVU5fUEFTUyhjaGVja1JlY3Vyc2l2ZVR5cGVzLCBwcm9ncmFtKTsKLSAgICBS
VU5fUEFTUyhzeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLCBwcm9ncmFtKTsKLSAgICBSVU5f
UEFTUyhzeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMsIHByb2dyYW0pOwotICAgIFJVTl9Q
QVNTKHN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLCBwcm9ncmFtKTsKLSAgICBSVU5fUEFT
UyhyZXNvbHZlVHlwZU5hbWVzSW5GdW5jdGlvbnMsIHByb2dyYW0sIG5hbWVSZXNvbHZlcik7Ci0g
ICAgUlVOX1BBU1Moc3ludGhlc2l6ZUNvbnN0cnVjdG9ycywgcHJvZ3JhbSk7Ci0gICAgUlVOX1BB
U1MocmVzb2x2ZUNhbGxzSW5GdW5jdGlvbnMsIHByb2dyYW0sIG5hbWVSZXNvbHZlcik7Ci0gICAg
UlVOX1BBU1MoY2hlY2tEdXBsaWNhdGVGdW5jdGlvbnMsIHByb2dyYW0pOwotCi0gICAgUlVOX1BB
U1MoY2hlY2ssIHByb2dyYW0pOwotCi0gICAgY2hlY2tMaXRlcmFsVHlwZXMocHJvZ3JhbSk7Ci0g
ICAgUlVOX1BBU1MoY2hlY2tUZXh0dXJlUmVmZXJlbmNlcywgcHJvZ3JhbSk7Ci0gICAgUlVOX1BB
U1MoYXV0b0luaXRpYWxpemVWYXJpYWJsZXMsIHByb2dyYW0pOwotICAgIHJlc29sdmVQcm9wZXJ0
aWVzKHByb2dyYW0pOwotICAgIGZpbmRIaWdoWm9tYmllcyhwcm9ncmFtKTsKLSAgICBSVU5fUEFT
UyhjaGVja1N0YXRlbWVudEJlaGF2aW9yLCBwcm9ncmFtKTsKLSAgICBSVU5fUEFTUyhjaGVja1Jl
Y3Vyc2lvbiwgcHJvZ3JhbSk7Ci0gICAgUlVOX1BBU1MoY2hlY2tGdW5jdGlvblN0YWdlcywgcHJv
Z3JhbSk7Ci0gICAgcHJlc2VydmVWYXJpYWJsZUxpZmV0aW1lcyhwcm9ncmFtKTsKKyAgICBDSEVD
S19QQVNTKHJlc29sdmVOYW1lc0luVHlwZXMsIHByb2dyYW0sIG5hbWVSZXNvbHZlcik7CisgICAg
Q0hFQ0tfUEFTUyhjaGVja1JlY3Vyc2l2ZVR5cGVzLCBwcm9ncmFtKTsKKyAgICBDSEVDS19QQVNT
KHN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMsIHByb2dyYW0pOworICAgIENIRUNLX1BBU1Mo
c3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLCBwcm9ncmFtKTsKKyAgICBDSEVDS19QQVNT
KHN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLCBwcm9ncmFtKTsKKyAgICBDSEVDS19QQVNT
KHJlc29sdmVUeXBlTmFtZXNJbkZ1bmN0aW9ucywgcHJvZ3JhbSwgbmFtZVJlc29sdmVyKTsKKyAg
ICBDSEVDS19QQVNTKHN5bnRoZXNpemVDb25zdHJ1Y3RvcnMsIHByb2dyYW0pOworICAgIENIRUNL
X1BBU1MocmVzb2x2ZUNhbGxzSW5GdW5jdGlvbnMsIHByb2dyYW0sIG5hbWVSZXNvbHZlcik7Cisg
ICAgQ0hFQ0tfUEFTUyhjaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucywgcHJvZ3JhbSk7CisKKyAgICBD
SEVDS19QQVNTKGNoZWNrLCBwcm9ncmFtKTsKKworICAgIFJVTl9QQVNTKGNoZWNrTGl0ZXJhbFR5
cGVzLCBwcm9ncmFtKTsKKyAgICBDSEVDS19QQVNTKGNoZWNrVGV4dHVyZVJlZmVyZW5jZXMsIHBy
b2dyYW0pOworICAgIENIRUNLX1BBU1MoYXV0b0luaXRpYWxpemVWYXJpYWJsZXMsIHByb2dyYW0p
OworICAgIFJVTl9QQVNTKHJlc29sdmVQcm9wZXJ0aWVzLCBwcm9ncmFtKTsKKyAgICBSVU5fUEFT
UyhmaW5kSGlnaFpvbWJpZXMsIHByb2dyYW0pOworICAgIENIRUNLX1BBU1MoY2hlY2tTdGF0ZW1l
bnRCZWhhdmlvciwgcHJvZ3JhbSk7CisgICAgQ0hFQ0tfUEFTUyhjaGVja1JlY3Vyc2lvbiwgcHJv
Z3JhbSk7CisgICAgQ0hFQ0tfUEFTUyhjaGVja0Z1bmN0aW9uU3RhZ2VzLCBwcm9ncmFtKTsKKyAg
ICBSVU5fUEFTUyhwcmVzZXJ2ZVZhcmlhYmxlTGlmZXRpbWVzLCBwcm9ncmFtKTsKIAogICAgIGR1
bXBBU1RBdEVuZElmTmVlZGVkKHByb2dyYW0pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZl
ci5jcHAJKHJldmlzaW9uIDI0NjY0MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1Niw2
ICs1NTYsOSBAQCB2b2lkIFByb3BlcnR5UmVzb2x2ZXI6OnZpc2l0KEFTVDo6UmVhZE1vCiAgICAg
ICAgIC8vICpwID0gbmV3VmFsdWU7CiAKICAgICAgICAgc2ltcGxpZnlMZWZ0VmFsdWUocmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFsdWUoKSk7CisgICAgICAgIGNoZWNrRXJyb3JBbmRW
aXNpdChyZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhbHVlRXhwcmVzc2lvbigpKTsKKyAg
ICAgICAgaWYgKGVycm9yKCkpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgYXV0byBi
YXNlVHlwZSA9IHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ubGVmdFZhbHVlKCkucmVzb2x2ZWRU
eXBlKCkuY2xvbmUoKTsKICAgICAgICAgYXV0byBwb2ludGVyVHlwZSA9IG1ha2VVbmlxdWVSZWY8
QVNUOjpQb2ludGVyVHlwZT4oTGV4ZXI6OlRva2VuKHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24u
bGVmdFZhbHVlKCkub3JpZ2luKCkpLCAqcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5sZWZ0VmFs
dWUoKS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNzU3BhY2UoKSwgYmFzZVR5cGUtPmNsb25l
KCkpOwpAQCAtNTg4LDcgKzU5MSw3IEBAIHZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlzaXQoQVNU
OjpSZWFkTW8KIAogICAgICAgICAgICAgYXV0byBkZXJlZmVyZW5jZUV4cHJlc3Npb24gPSBtYWtl
VW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uPihMZXhlcjo6VG9rZW4ocmVhZE1v
ZGlmeVdyaXRlRXhwcmVzc2lvbi5vcmlnaW4oKSksIFdURk1vdmUodmFyaWFibGVSZWZlcmVuY2Ux
KSk7CiAgICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoYmFzZVR5cGUt
PmNsb25lKCkpOwotICAgICAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlQW5u
b3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJl
c3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRyZXNzU3Bh
Y2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KIAogICAgICAgICAgICAgYXV0byB2YXJpYWJs
ZVJlZmVyZW5jZTIgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm9sZFZhcmlhYmxlUmVmZXJl
bmNlKCk7CiAgICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZTItPnNldFR5cGUoYmFzZVR5cGUt
PmNsb25lKCkpOwpAQCAtNjIxLDcgKzYyNCw3IEBAIHZvaWQgUHJvcGVydHlSZXNvbHZlcjo6dmlz
aXQoQVNUOjpSZWFkTW8KIAogICAgICAgICAgICAgYXV0byBkZXJlZmVyZW5jZUV4cHJlc3Npb24g
PSBtYWtlVW5pcXVlUmVmPEFTVDo6RGVyZWZlcmVuY2VFeHByZXNzaW9uPihMZXhlcjo6VG9rZW4o
cmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5vcmlnaW4oKSksIFdURk1vdmUodmFyaWFibGVSZWZl
cmVuY2UxKSk7CiAgICAgICAgICAgICBkZXJlZmVyZW5jZUV4cHJlc3Npb24tPnNldFR5cGUoYmFz
ZVR5cGUtPmNsb25lKCkpOwotICAgICAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRU
eXBlQW5ub3RhdGlvbihBU1Q6OlJpZ2h0VmFsdWUoKSk7CisgICAgICAgICAgICBkZXJlZmVyZW5j
ZUV4cHJlc3Npb24tPnNldFR5cGVBbm5vdGF0aW9uKEFTVDo6TGVmdFZhbHVlIHsgQVNUOjpBZGRy
ZXNzU3BhY2U6OlRocmVhZCB9KTsgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTgxNjkgSXMgdGhpcyByaWdodD8KIAogICAgICAgICAgICAgYXV0byB2
YXJpYWJsZVJlZmVyZW5jZTIgPSByZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLm5ld1ZhcmlhYmxl
UmVmZXJlbmNlKCk7CiAgICAgICAgICAgICB2YXJpYWJsZVJlZmVyZW5jZTItPnNldFR5cGUoYmFz
ZVR5cGUtPmNsb25lKCkpOwpAQCAtNjYyLDYgKzY2NSwxMCBAQCB2b2lkIFByb3BlcnR5UmVzb2x2
ZXI6OnZpc2l0KEFTVDo6UmVhZE1vCiAgICAgICAgIGlmICghbGFzdEdldHRlckNhbGxFeHByZXNz
aW9uKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAorICAgICAgICBjaGVja0Vy
cm9yQW5kVmlzaXQocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5uZXdWYWx1ZUV4cHJlc3Npb24o
KSk7CisgICAgICAgIGlmIChlcnJvcigpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKwogICAgICAgICB7CiAgICAgICAgICAgICBhdXRvIHZhcmlhYmxlUmVmZXJlbmNlID0gcmVh
ZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5vbGRWYXJpYWJsZVJlZmVyZW5jZSgpOwogICAgICAgICAg
ICAgdmFyaWFibGVSZWZlcmVuY2UtPnNldFR5cGUocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5s
ZWZ0VmFsdWUoKS5yZXNvbHZlZFR5cGUoKS5jbG9uZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGli
cmFyeS50eHQJKHJldmlzaW9uIDI0NjY0MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjE5
LDExMCArNjE5LDExMCBAQCBmbG9hdDQgb3BlcmF0b3JbXT0oZmxvYXQ0IHYsIHVpbnQgaW5kZXgs
CiBmbG9hdDQgbXVsKGZsb2F0NHg0IHgsIGZsb2F0NCB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSA9IHJlc3VsdFswXSArIHhbMF1bMF0g
KiB5WzBdOwotICAgIHJlc3VsdFswXSA9IHJlc3VsdFswXSArIHhbMF1bMV0gKiB5WzFdOwotICAg
IHJlc3VsdFswXSA9IHJlc3VsdFswXSArIHhbMF1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFswXSA9
IHJlc3VsdFswXSArIHhbMF1bM10gKiB5WzNdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICog
eVswXTsKKyAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9
IHhbMF1bMl0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzNdICogeVszXTsKICAgICBy
ZXN1bHRbMV0gPSAwOwotICAgIHJlc3VsdFsxXSA9IHJlc3VsdFsxXSArIHhbMV1bMF0gKiB5WzBd
OwotICAgIHJlc3VsdFsxXSA9IHJlc3VsdFsxXSArIHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3Vs
dFsxXSA9IHJlc3VsdFsxXSArIHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSA9IHJlc3Vs
dFsxXSArIHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsK
KyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMV1b
Ml0gKiB5WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICogeVszXTsKICAgICByZXN1bHRb
Ml0gPSAwOwotICAgIHJlc3VsdFsyXSA9IHJlc3VsdFsyXSArIHhbMl1bMF0gKiB5WzBdOwotICAg
IHJlc3VsdFsyXSA9IHJlc3VsdFsyXSArIHhbMl1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9
IHJlc3VsdFsyXSArIHhbMl1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsyXSA9IHJlc3VsdFsyXSAr
IHhbMl1bM10gKiB5WzNdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKKyAgICBy
ZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzNdICogeVszXTsKICAgICByZXN1bHRbM10gPSAw
OwotICAgIHJlc3VsdFszXSA9IHJlc3VsdFszXSArIHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3Vs
dFszXSA9IHJlc3VsdFszXSArIHhbM11bMV0gKiB5WzFdOwotICAgIHJlc3VsdFszXSA9IHJlc3Vs
dFszXSArIHhbM11bMl0gKiB5WzJdOwotICAgIHJlc3VsdFszXSA9IHJlc3VsdFszXSArIHhbM11b
M10gKiB5WzNdOworICAgIHJlc3VsdFszXSArPSB4WzNdWzBdICogeVswXTsKKyAgICByZXN1bHRb
M10gKz0geFszXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzNdICs9IHhbM11bMl0gKiB5WzJdOwor
ICAgIHJlc3VsdFszXSArPSB4WzNdWzNdICogeVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
CiBmbG9hdDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NHg0IHJl
c3VsdDsKICAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSA9IHJlc3VsdFsw
XVswXSArIHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSA9IHJlc3VsdFswXVsw
XSArIHhbMF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSA9IHJlc3VsdFswXVswXSAr
IHhbMF1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSA9IHJlc3VsdFswXVswXSArIHhb
MF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzBd
ICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVsz
XVswXTsKICAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSA9IHJlc3VsdFsw
XVsxXSArIHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSA9IHJlc3VsdFswXVsx
XSArIHhbMF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSA9IHJlc3VsdFswXVsxXSAr
IHhbMF1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSA9IHJlc3VsdFswXVsxXSArIHhb
MF1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzFd
ICs9IHhbMF1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVsz
XVsxXTsKICAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSA9IHJlc3VsdFsw
XVsyXSArIHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSA9IHJlc3VsdFswXVsy
XSArIHhbMF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSA9IHJlc3VsdFswXVsyXSAr
IHhbMF1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSA9IHJlc3VsdFswXVsyXSArIHhb
MF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVsz
XVsyXTsKICAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSA9IHJlc3VsdFsw
XVszXSArIHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSA9IHJlc3VsdFswXVsz
XSArIHhbMF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSA9IHJlc3VsdFswXVszXSAr
IHhbMF1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSA9IHJlc3VsdFswXVszXSArIHhb
MF1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsK
KyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVsz
XVszXTsKICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSA9IHJlc3VsdFsx
XVswXSArIHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHJlc3VsdFsxXVsw
XSArIHhbMV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHJlc3VsdFsxXVswXSAr
IHhbMV1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHJlc3VsdFsxXVswXSArIHhb
MV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBd
ICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVsz
XVswXTsKICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSA9IHJlc3VsdFsx
XVsxXSArIHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHJlc3VsdFsxXVsx
XSArIHhbMV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHJlc3VsdFsxXVsxXSAr
IHhbMV1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHJlc3VsdFsxXVsxXSArIHhb
MV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFd
ICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVsz
XVsxXTsKICAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSA9IHJlc3VsdFsx
XVsyXSArIHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSA9IHJlc3VsdFsxXVsy
XSArIHhbMV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSA9IHJlc3VsdFsxXVsyXSAr
IHhbMV1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSA9IHJlc3VsdFsxXVsyXSArIHhb
MV1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVsz
XVsyXTsKICAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSA9IHJlc3VsdFsx
XVszXSArIHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSA9IHJlc3VsdFsxXVsz
XSArIHhbMV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSA9IHJlc3VsdFsxXVszXSAr
IHhbMV1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSA9IHJlc3VsdFsxXVszXSArIHhb
MV1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsK
KyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzFdWzNd
ICs9IHhbMV1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVsz
XVszXTsKICAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSA9IHJlc3VsdFsy
XVswXSArIHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSA9IHJlc3VsdFsyXVsw
XSArIHhbMl1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSA9IHJlc3VsdFsyXVswXSAr
IHhbMl1bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSA9IHJlc3VsdFsyXVswXSArIHhb
Ml1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBd
ICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVsz
XVswXTsKICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSA9IHJlc3VsdFsy
XVsxXSArIHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSA9IHJlc3VsdFsyXVsx
XSArIHhbMl1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSA9IHJlc3VsdFsyXVsxXSAr
IHhbMl1bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSA9IHJlc3VsdFsyXVsxXSArIHhb
Ml1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFd
ICs9IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVsz
XVsxXTsKICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSA9IHJlc3VsdFsy
XVsyXSArIHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSA9IHJlc3VsdFsyXVsy
XSArIHhbMl1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSA9IHJlc3VsdFsyXVsyXSAr
IHhbMl1bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVsyXSA9IHJlc3VsdFsyXVsyXSArIHhb
Ml1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsK
KyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJd
ICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzNdICogeVsz
XVsyXTsKICAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSA9IHJlc3VsdFsy
XVszXSArIHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSA9IHJlc3VsdFsyXVsz
XSArIHhbMl1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVszXSA9IHJlc3VsdFsyXVszXSAr
IHhbMl1bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVszXSA9IHJlc3VsdFsyXVszXSArIHhb
Ml1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsK
KyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzNdICogeVsz
XVszXTsKICAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSA9IHJlc3VsdFsz
XVswXSArIHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSA9IHJlc3VsdFszXVsw
XSArIHhbM11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSA9IHJlc3VsdFszXVswXSAr
IHhbM11bMl0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVswXSA9IHJlc3VsdFszXVswXSArIHhb
M11bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzNdWzBd
ICs9IHhbM11bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVsz
XVswXTsKICAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSA9IHJlc3VsdFsz
XVsxXSArIHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSA9IHJlc3VsdFszXVsx
XSArIHhbM11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSA9IHJlc3VsdFszXVsxXSAr
IHhbM11bMl0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSA9IHJlc3VsdFszXVsxXSArIHhb
M11bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzNdWzFd
ICs9IHhbM11bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzNdICogeVsz
XVsxXTsKICAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSA9IHJlc3VsdFsz
XVsyXSArIHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSA9IHJlc3VsdFszXVsy
XSArIHhbM11bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSA9IHJlc3VsdFszXVsyXSAr
IHhbM11bMl0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVsyXSA9IHJlc3VsdFszXVsyXSArIHhb
M11bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsK
KyAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzNdWzJd
ICs9IHhbM11bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzNdICogeVsz
XVsyXTsKICAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVszXSA9IHJlc3VsdFsz
XVszXSArIHhbM11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSA9IHJlc3VsdFszXVsz
XSArIHhbM11bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVszXSA9IHJlc3VsdFszXVszXSAr
IHhbM11bMl0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFszXVszXSA9IHJlc3VsdFszXVszXSArIHhb
M11bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzBdICogeVswXVszXTsK
KyAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzNdWzNd
ICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzNdICogeVsz
XVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDY2NDIp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBA
QAorMjAxOS0wNi0yMCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAg
ICBbV0hMU0xdIFByb3BlcnR5IHJlc29sdmVyIG5lZWRzIHRvIHJlY3Vyc2Ugb24gbmV3VmFsdWVF
eHByZXNzaW9uIGZvciBSTVcgb3BlcmF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGln
aC16b21iaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsLXJl
YWQtbW9kaWZ5LXdyaXRlLWhpZ2gtem9tYmllcy5odG1sOiBBZGRlZC4KKwogMjAxOS0wNi0yMCAg
UnVzc2VsbCBFcHN0ZWluICA8cnVzc2VsbF9lQGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlvdXQg
VGVzdCBpbXBvcnRlZC9ibGluay9mYXN0L2Nzcy91c2VyLXNlbGVjdC1ub25lLmh0bWwgaXMgZmxh
a3kuCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGln
aC16b21iaWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGlnaC16b21iaWVzLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGln
aC16b21iaWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorUEFTUyByZXN1
bHRzRmxvYXQzMkFycmF5WzBdIGlzIDU0CisKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC1yZWFkLW1vZGlmeS13cml0ZS1oaWdoLXpvbWJpZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy93ZWJncHUvd2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGlnaC16b21iaWVzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXJlYWQtbW9kaWZ5LXdy
aXRlLWhpZ2gtem9tYmllcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorY29u
c3Qgc2hhZGVyU291cmNlID0gYAorYm9vbCBmaWxsKHRocmVhZCBmbG9hdDR4NCogbWF0LCBmbG9h
dCB2YWx1ZSkKK3sKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgZm9yICh1aW50IGkgPSAwOyBp
IDwgNDsgaSA9IGkgKyAxKSB7CisgICAgICAgICAgICByZXN1bHRbaV0gPSBmbG9hdDQodmFsdWUs
IHZhbHVlLCB2YWx1ZSwgdmFsdWUpOworICAgIH0KKyAgICAqbWF0ID0gcmVzdWx0OworICAgIHJl
dHVybiB0cnVlOworfQorCitbbnVtdGhyZWFkcygxLCAxLCAxKV0KK2NvbXB1dGUgdm9pZCBjb21w
dXRlU2hhZGVyKGRldmljZSBmbG9hdFtdIGJ1ZmZlciA6IHJlZ2lzdGVyKHUwKSwgZmxvYXQzIHRo
cmVhZElEIDogU1ZfRGlzcGF0Y2hUaHJlYWRJRCkgeworICAgIGZsb2F0NHg0IG1hdDsKKyAgICBm
aWxsKCZtYXQsIDQpOworCisgICAgZmxvYXQ0IHZlYzsKKyAgICB2ZWNbMF0gKz0gbWF0WzBdWzBd
ICsgbWF0WzBdWzFdICsgbWF0WzNdWzJdOworCisgICAgZmxvYXQgdmFsdWUgPSA0MjsKKyAgICB2
YWx1ZSArPSB2ZWNbMF07CisKKyAgICBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gPSB2YWx1ZTsK
K30KK2A7CitsZXQgcmVzdWx0c0Zsb2F0MzJBcnJheTsKK2FzeW5jIGZ1bmN0aW9uIHN0YXJ0KCkg
eworICAgIGNvbnN0IGFkYXB0ZXIgPSBhd2FpdCBuYXZpZ2F0b3IuZ3B1LnJlcXVlc3RBZGFwdGVy
KCk7CisgICAgY29uc3QgZGV2aWNlID0gYXdhaXQgYWRhcHRlci5yZXF1ZXN0RGV2aWNlKCk7CisK
KyAgICBjb25zdCBzaGFkZXJNb2R1bGUgPSBkZXZpY2UuY3JlYXRlU2hhZGVyTW9kdWxlKHtjb2Rl
OiBzaGFkZXJTb3VyY2UsIGlzV0hMU0w6IHRydWV9KTsKKyAgICBjb25zdCBjb21wdXRlU3RhZ2Ug
PSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJjb21wdXRlU2hhZGVyIn07CisK
KyAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9yID0ge2JpbmRpbmdzOiBbe2JpbmRp
bmc6IDAsIHZpc2liaWxpdHk6IDcsIHR5cGU6ICJzdG9yYWdlLWJ1ZmZlciJ9XX07CisgICAgY29u
c3QgYmluZEdyb3VwTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZUJpbmRHcm91cExheW91dChiaW5kR3Jv
dXBMYXlvdXREZXNjcmlwdG9yKTsKKyAgICBjb25zdCBwaXBlbGluZUxheW91dERlc2NyaXB0b3Ig
PSB7YmluZEdyb3VwTGF5b3V0czogW2JpbmRHcm91cExheW91dF19OworICAgIGNvbnN0IHBpcGVs
aW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5lTGF5b3V0KHBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvcik7CisKKyAgICBjb25zdCBjb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yID0ge2NvbXB1
dGVTdGFnZSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07CisgICAgY29uc3QgY29tcHV0ZVBpcGVs
aW5lID0gZGV2aWNlLmNyZWF0ZUNvbXB1dGVQaXBlbGluZShjb21wdXRlUGlwZWxpbmVEZXNjcmlw
dG9yKTsKKworICAgIGNvbnN0IHNpemUgPSBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiAxOworCisgICAgY29uc3QgYnVmZmVyRGVzY3JpcHRvciA9IHtzaXplLCB1c2FnZTogR1BVQnVm
ZmVyVXNhZ2UuTUFQX1dSSVRFIHwgR1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfU1JDfTsKKyAgICBj
b25zdCBidWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKGJ1ZmZlckRlc2NyaXB0b3IpOworICAg
IGNvbnN0IGJ1ZmZlckFycmF5QnVmZmVyID0gYXdhaXQgYnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
KyAgICBjb25zdCBidWZmZXJGbG9hdDMyQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KGJ1ZmZlckFy
cmF5QnVmZmVyKTsKKyAgICBidWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAwOworICAgIGJ1ZmZlci51
bm1hcCgpOworCisgICAgY29uc3QgcmVzdWx0c0J1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZSwgdXNh
Z2U6IEdQVUJ1ZmZlclVzYWdlLlNUT1JBR0UgfCBHUFVCdWZmZXJVc2FnZS5UUkFOU0ZFUl9EU1Qg
fCBHUFVCdWZmZXJVc2FnZS5NQVBfUkVBRH07CisgICAgY29uc3QgcmVzdWx0c0J1ZmZlciA9IGRl
dmljZS5jcmVhdGVCdWZmZXIocmVzdWx0c0J1ZmZlckRlc2NyaXB0b3IpOworCisgICAgY29uc3Qg
YnVmZmVyQmluZGluZyA9IHtidWZmZXI6IHJlc3VsdHNCdWZmZXIsIHNpemV9OworICAgIGNvbnN0
IGJpbmRHcm91cEJpbmRpbmcgPSB7YmluZGluZzogMCwgcmVzb3VyY2U6IGJ1ZmZlckJpbmRpbmd9
OworICAgIGNvbnN0IGJpbmRHcm91cERlc2NyaXB0b3IgPSB7bGF5b3V0OiBiaW5kR3JvdXBMYXlv
dXQsIGJpbmRpbmdzOiBbYmluZEdyb3VwQmluZGluZ119OworICAgIGNvbnN0IGJpbmRHcm91cCA9
IGRldmljZS5jcmVhdGVCaW5kR3JvdXAoYmluZEdyb3VwRGVzY3JpcHRvcik7CisKKyAgICBjb25z
dCBjb21tYW5kRW5jb2RlciA9IGRldmljZS5jcmVhdGVDb21tYW5kRW5jb2RlcigpOyAvLyB7fQor
ICAgIGNvbW1hbmRFbmNvZGVyLmNvcHlCdWZmZXJUb0J1ZmZlcihidWZmZXIsIDAsIHJlc3VsdHNC
dWZmZXIsIDAsIHNpemUpOworICAgIGNvbnN0IGNvbXB1dGVQYXNzRW5jb2RlciA9IGNvbW1hbmRF
bmNvZGVyLmJlZ2luQ29tcHV0ZVBhc3MoKTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuc2V0UGlw
ZWxpbmUoY29tcHV0ZVBpcGVsaW5lKTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuc2V0QmluZEdy
b3VwKDAsIGJpbmRHcm91cCk7CisgICAgY29tcHV0ZVBhc3NFbmNvZGVyLmRpc3BhdGNoKDEsIDEs
IDEpOworICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5lbmRQYXNzKCk7CisgICAgY29uc3QgY29tbWFu
ZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlzaCgpOworICAgIGRldmljZS5nZXRRdWV1ZSgp
LnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOworCisgICAgY29uc3QgcmVzdWx0c0FycmF5QnVmZmVy
ID0gYXdhaXQgcmVzdWx0c0J1ZmZlci5tYXBSZWFkQXN5bmMoKTsKKyAgICByZXN1bHRzRmxvYXQz
MkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShyZXN1bHRzQXJyYXlCdWZmZXIpOworICAgIHNob3Vs
ZEJlKCJyZXN1bHRzRmxvYXQzMkFycmF5WzBdIiwgIjU0Iik7CisgICAgcmVzdWx0c0J1ZmZlci51
bm1hcCgpOworfQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsK
KyAgICBzdGFydCgpLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0sIGZ1bmN0
aW9uKCkgeworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKK30pOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>
<flag name="review"
          id="388368"
          type_id="1"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372578</attachid>
            <date>2019-06-20 12:38:52 -0700</date>
            <delta_ts>2019-06-20 13:10:12 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>20012</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NjY0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE5LTA2LTIwICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gUHJvcGVydHkgcmVz
b2x2ZXIgbmVlZHMgdG8gcmVjdXJzZSBvbiBuZXdWYWx1ZUV4cHJlc3Npb24gZm9yIFJNVyBvcGVy
YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTkwMzcKKworICAgICAgICBSZXZpZXdlZCBieSBNeWxlcyBDLiBNYXhmaWVsZC4KKworICAgICAg
ICBXaGVuIHdlIGhhZCBhbiBleHByZXNzaW9uIGxpa2UgYDxlMT4gKz0gPGUyPmAsIHdlIHdlcmVu
J3QgcnVubmluZyB0aGUgcHJvcGVydHkKKyAgICAgICAgcmVzb2x2ZXIgb24gPGUyPi4gSWYgPGUy
PiB3YXMgc29tZXRoaW5nIGxpa2UgYG1hdFsxXVsyXWAsIHdlIHdvdWxkbid0IGVuZCB1cAorICAg
ICAgICBzaW1wbGlmeWluZyB0aGF0IGludG8gdGhlIG5lZWRlZCBnZXR0ZXIgY2FsbHMuIFRoaXMg
cGF0Y2ggZml4ZXMgdGhpcyBieSBoYXZpbmcKKyAgICAgICAgdGhlIHByb3BlcnR5IHJlc29sdmVy
IHJlY3Vyc2Ugb24gPGUyPi4KKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBmaXhl
cyBhIGJ1ZyBpbiB0aGUgcHJvcGVydHkgcmVzb2x2ZXIgd2hlcmUgd2Ugd2VyZW4ndCBtYXJraW5n
IHNvbWUKKyAgICAgICAgZGVyZWZlcmVuY2UgZXhwcmVzc2lvbnMgYXMgTFZhbHVlcy4gVGhpcyB3
YXMgY2F1c2luZyBidWdzIGluIHRoZSBtZXRhbCBjb2RlIGdlbmVyYXRvci4KKyAgICAgICAgCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIGEgd2F5IHRvIGR1bXAgdGhlIEFTVCBiZXR3ZWVu
IHBhc3NlcyB0aGF0IGFyZQorICAgICAgICBndWFyYW50ZWVkIHRvIG5vdCBmYWlsLgorCisgICAg
ICAgIFRlc3Q6IHdlYmdwdS93aGxzbC1yZWFkLW1vZGlmeS13cml0ZS1oaWdoLXpvbWJpZXMuaHRt
bAorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldITFNMOjpwcmVwYXJlU2hhcmVkKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OlByb3BlcnR5UmVzb2x2ZXI6OnZpc2l0KToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeS50eHQ6CisKIDIwMTktMDYtMjAgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5naW5nIHNldHRpbmdz
IG9mIGEgTWVkaWFTdHJlYW1UcmFjayBjbG9uZSBzaG91bGQgbm90IGFsdGVyIHRoZSBzZXR0aW5n
cyBvZiB0aGUgb3JpZ2luYWwgdHJhY2sKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJlcGFyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAkocmV2aXNpb24gMjQ2NjQyKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVwYXJlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTAsNyArOTAsNyBAQCBzdGF0aWMgYm9vbCBkdW1wQVNUQXRFbmRJ
Zk5lZWRlZChQcm9ncmFtCiAgICAgcmV0dXJuIGR1bXBBU1RJZk5lZWRlZChkdW1wQVNUQXRFbmQs
IHByb2dyYW0sICJBU1QgYXQgZW5kIik7CiB9CiAKLSNkZWZpbmUgUlVOX1BBU1MocGFzcywgLi4u
KSBcCisjZGVmaW5lIENIRUNLX1BBU1MocGFzcywgLi4uKSBcCiAgICAgZG8geyBcCiAgICAgICAg
IGR1bXBBU1RCZXR3ZWVuRWFjaFBhc3NJZk5lZWRlZChwcm9ncmFtLCAiQVNUIGJlZm9yZSAiICMg
cGFzcyk7IFwKICAgICAgICAgaWYgKCFwYXNzKF9fVkFfQVJHU19fKSkgeyBcCkBAIC05OSw3ICs5
OSwxMiBAQCBzdGF0aWMgYm9vbCBkdW1wQVNUQXRFbmRJZk5lZWRlZChQcm9ncmFtCiAgICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OyBcCiAgICAgICAgIH0gXAogICAgIH0gd2hpbGUgKDAp
Ci0gICAgCisKKyNkZWZpbmUgUlVOX1BBU1MocGFzcywgLi4uKSBcCisgICAgZG8geyBcCisgICAg
ICAgIGR1bXBBU1RCZXR3ZWVuRWFjaFBhc3NJZk5lZWRlZChwcm9ncmFtLCAiQVNUIGJlZm9yZSAi
ICMgcGFzcyk7IFwKKyAgICAgICAgcGFzcyhfX1ZBX0FSR1NfXyk7IFwKKyAgICB9IHdoaWxlICgw
KQogCiBzdGF0aWMgT3B0aW9uYWw8UHJvZ3JhbT4gcHJlcGFyZVNoYXJlZChTdHJpbmcmIHdobHNs
U291cmNlKQogewpAQCAtMTIxLDI3ICsxMjYsMjcgQEAgc3RhdGljIE9wdGlvbmFsPFByb2dyYW0+
IHByZXBhcmVTaGFyZWQoUwogICAgICAgICBkdW1wQVNUQWZ0ZXJQYXJzaW5nSWZOZWVkZWQocHJv
Z3JhbSk7CiAKICAgICBOYW1lUmVzb2x2ZXIgbmFtZVJlc29sdmVyKHByb2dyYW0ubmFtZUNvbnRl
eHQoKSk7Ci0gICAgUlVOX1BBU1MocmVzb2x2ZU5hbWVzSW5UeXBlcywgcHJvZ3JhbSwgbmFtZVJl
c29sdmVyKTsKLSAgICBSVU5fUEFTUyhjaGVja1JlY3Vyc2l2ZVR5cGVzLCBwcm9ncmFtKTsKLSAg
ICBSVU5fUEFTUyhzeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLCBwcm9ncmFtKTsKLSAgICBS
VU5fUEFTUyhzeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMsIHByb2dyYW0pOwotICAgIFJV
Tl9QQVNTKHN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLCBwcm9ncmFtKTsKLSAgICBSVU5f
UEFTUyhyZXNvbHZlVHlwZU5hbWVzSW5GdW5jdGlvbnMsIHByb2dyYW0sIG5hbWVSZXNvbHZlcik7
Ci0gICAgUlVOX1BBU1Moc3ludGhlc2l6ZUNvbnN0cnVjdG9ycywgcHJvZ3JhbSk7Ci0gICAgUlVO
X1BBU1MocmVzb2x2ZUNhbGxzSW5GdW5jdGlvbnMsIHByb2dyYW0sIG5hbWVSZXNvbHZlcik7Ci0g
ICAgUlVOX1BBU1MoY2hlY2tEdXBsaWNhdGVGdW5jdGlvbnMsIHByb2dyYW0pOwotCi0gICAgUlVO
X1BBU1MoY2hlY2ssIHByb2dyYW0pOwotCi0gICAgY2hlY2tMaXRlcmFsVHlwZXMocHJvZ3JhbSk7
Ci0gICAgUlVOX1BBU1MoY2hlY2tUZXh0dXJlUmVmZXJlbmNlcywgcHJvZ3JhbSk7Ci0gICAgUlVO
X1BBU1MoYXV0b0luaXRpYWxpemVWYXJpYWJsZXMsIHByb2dyYW0pOwotICAgIHJlc29sdmVQcm9w
ZXJ0aWVzKHByb2dyYW0pOwotICAgIGZpbmRIaWdoWm9tYmllcyhwcm9ncmFtKTsKLSAgICBSVU5f
UEFTUyhjaGVja1N0YXRlbWVudEJlaGF2aW9yLCBwcm9ncmFtKTsKLSAgICBSVU5fUEFTUyhjaGVj
a1JlY3Vyc2lvbiwgcHJvZ3JhbSk7Ci0gICAgUlVOX1BBU1MoY2hlY2tGdW5jdGlvblN0YWdlcywg
cHJvZ3JhbSk7Ci0gICAgcHJlc2VydmVWYXJpYWJsZUxpZmV0aW1lcyhwcm9ncmFtKTsKKyAgICBD
SEVDS19QQVNTKHJlc29sdmVOYW1lc0luVHlwZXMsIHByb2dyYW0sIG5hbWVSZXNvbHZlcik7Cisg
ICAgQ0hFQ0tfUEFTUyhjaGVja1JlY3Vyc2l2ZVR5cGVzLCBwcm9ncmFtKTsKKyAgICBDSEVDS19Q
QVNTKHN5bnRoZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMsIHByb2dyYW0pOworICAgIENIRUNLX1BB
U1Moc3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLCBwcm9ncmFtKTsKKyAgICBDSEVDS19Q
QVNTKHN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLCBwcm9ncmFtKTsKKyAgICBDSEVDS19Q
QVNTKHJlc29sdmVUeXBlTmFtZXNJbkZ1bmN0aW9ucywgcHJvZ3JhbSwgbmFtZVJlc29sdmVyKTsK
KyAgICBDSEVDS19QQVNTKHN5bnRoZXNpemVDb25zdHJ1Y3RvcnMsIHByb2dyYW0pOworICAgIENI
RUNLX1BBU1MocmVzb2x2ZUNhbGxzSW5GdW5jdGlvbnMsIHByb2dyYW0sIG5hbWVSZXNvbHZlcik7
CisgICAgQ0hFQ0tfUEFTUyhjaGVja0R1cGxpY2F0ZUZ1bmN0aW9ucywgcHJvZ3JhbSk7CisKKyAg
ICBDSEVDS19QQVNTKGNoZWNrLCBwcm9ncmFtKTsKKworICAgIFJVTl9QQVNTKGNoZWNrTGl0ZXJh
bFR5cGVzLCBwcm9ncmFtKTsKKyAgICBDSEVDS19QQVNTKGNoZWNrVGV4dHVyZVJlZmVyZW5jZXMs
IHByb2dyYW0pOworICAgIENIRUNLX1BBU1MoYXV0b0luaXRpYWxpemVWYXJpYWJsZXMsIHByb2dy
YW0pOworICAgIFJVTl9QQVNTKHJlc29sdmVQcm9wZXJ0aWVzLCBwcm9ncmFtKTsKKyAgICBSVU5f
UEFTUyhmaW5kSGlnaFpvbWJpZXMsIHByb2dyYW0pOworICAgIENIRUNLX1BBU1MoY2hlY2tTdGF0
ZW1lbnRCZWhhdmlvciwgcHJvZ3JhbSk7CisgICAgQ0hFQ0tfUEFTUyhjaGVja1JlY3Vyc2lvbiwg
cHJvZ3JhbSk7CisgICAgQ0hFQ0tfUEFTUyhjaGVja0Z1bmN0aW9uU3RhZ2VzLCBwcm9ncmFtKTsK
KyAgICBSVU5fUEFTUyhwcmVzZXJ2ZVZhcmlhYmxlTGlmZXRpbWVzLCBwcm9ncmFtKTsKIAogICAg
IGR1bXBBU1RBdEVuZElmTmVlZGVkKHByb2dyYW0pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNv
bHZlci5jcHAJKHJldmlzaW9uIDI0NjY0MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMUHJvcGVydHlSZXNvbHZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0
Niw2ICs1NDYsMTAgQEAgdm9pZCBQcm9wZXJ0eVJlc29sdmVyOjp2aXNpdChBU1Q6OkFzc2lnbgog
CiB2b2lkIFByb3BlcnR5UmVzb2x2ZXI6OnZpc2l0KEFTVDo6UmVhZE1vZGlmeVdyaXRlRXhwcmVz
c2lvbiYgcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbikKIHsKKyAgICBjaGVja0Vycm9yQW5kVmlz
aXQocmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5uZXdWYWx1ZUV4cHJlc3Npb24oKSk7CisgICAg
aWYgKGVycm9yKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChyZWFkTW9kaWZ5V3JpdGVF
eHByZXNzaW9uLmxlZnRWYWx1ZSgpLnR5cGVBbm5vdGF0aW9uKCkubGVmdEFkZHJlc3NTcGFjZSgp
KSB7CiAgICAgICAgIC8vIENvbnNpZGVyIGErKzsKICAgICAgICAgLy8gVGhpcyB3b3VsZCBnZXQg
dHJhbnNmb3JtZWQgaW50bzoKQEAgLTU4OCw3ICs1OTIsNyBAQCB2b2lkIFByb3BlcnR5UmVzb2x2
ZXI6OnZpc2l0KEFTVDo6UmVhZE1vCiAKICAgICAgICAgICAgIGF1dG8gZGVyZWZlcmVuY2VFeHBy
ZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4oTGV4ZXI6
OlRva2VuKHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ub3JpZ2luKCkpLCBXVEZNb3ZlKHZhcmlh
YmxlUmVmZXJlbmNlMSkpOwogICAgICAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRU
eXBlKGJhc2VUeXBlLT5jbG9uZSgpKTsKLSAgICAgICAgICAgIGRlcmVmZXJlbmNlRXhwcmVzc2lv
bi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOworICAgICAgICAgICAgZGVy
ZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1ZSB7IEFT
VDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/CiAKICAgICAgICAgICAg
IGF1dG8gdmFyaWFibGVSZWZlcmVuY2UyID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lvbi5vbGRW
YXJpYWJsZVJlZmVyZW5jZSgpOwogICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2UyLT5zZXRU
eXBlKGJhc2VUeXBlLT5jbG9uZSgpKTsKQEAgLTYyMSw3ICs2MjUsNyBAQCB2b2lkIFByb3BlcnR5
UmVzb2x2ZXI6OnZpc2l0KEFTVDo6UmVhZE1vCiAKICAgICAgICAgICAgIGF1dG8gZGVyZWZlcmVu
Y2VFeHByZXNzaW9uID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OkRlcmVmZXJlbmNlRXhwcmVzc2lvbj4o
TGV4ZXI6OlRva2VuKHJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24ub3JpZ2luKCkpLCBXVEZNb3Zl
KHZhcmlhYmxlUmVmZXJlbmNlMSkpOwogICAgICAgICAgICAgZGVyZWZlcmVuY2VFeHByZXNzaW9u
LT5zZXRUeXBlKGJhc2VUeXBlLT5jbG9uZSgpKTsKLSAgICAgICAgICAgIGRlcmVmZXJlbmNlRXhw
cmVzc2lvbi0+c2V0VHlwZUFubm90YXRpb24oQVNUOjpSaWdodFZhbHVlKCkpOworICAgICAgICAg
ICAgZGVyZWZlcmVuY2VFeHByZXNzaW9uLT5zZXRUeXBlQW5ub3RhdGlvbihBU1Q6OkxlZnRWYWx1
ZSB7IEFTVDo6QWRkcmVzc1NwYWNlOjpUaHJlYWQgfSk7IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTY5IElzIHRoaXMgcmlnaHQ/CiAKICAgICAg
ICAgICAgIGF1dG8gdmFyaWFibGVSZWZlcmVuY2UyID0gcmVhZE1vZGlmeVdyaXRlRXhwcmVzc2lv
bi5uZXdWYXJpYWJsZVJlZmVyZW5jZSgpOwogICAgICAgICAgICAgdmFyaWFibGVSZWZlcmVuY2Uy
LT5zZXRUeXBlKGJhc2VUeXBlLT5jbG9uZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeS50
eHQJKHJldmlzaW9uIDI0NjY0MikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dI
TFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5LnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjE5LDExMCAr
NjE5LDExMCBAQCBmbG9hdDQgb3BlcmF0b3JbXT0oZmxvYXQ0IHYsIHVpbnQgaW5kZXgsCiBmbG9h
dDQgbXVsKGZsb2F0NHg0IHgsIGZsb2F0NCB5KSB7CiAgICAgZmxvYXQ0IHJlc3VsdDsKICAgICBy
ZXN1bHRbMF0gPSAwOwotICAgIHJlc3VsdFswXSA9IHJlc3VsdFswXSArIHhbMF1bMF0gKiB5WzBd
OwotICAgIHJlc3VsdFswXSA9IHJlc3VsdFswXSArIHhbMF1bMV0gKiB5WzFdOwotICAgIHJlc3Vs
dFswXSA9IHJlc3VsdFswXSArIHhbMF1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFswXSA9IHJlc3Vs
dFswXSArIHhbMF1bM10gKiB5WzNdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsK
KyAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMF1b
Ml0gKiB5WzJdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzNdICogeVszXTsKICAgICByZXN1bHRb
MV0gPSAwOwotICAgIHJlc3VsdFsxXSA9IHJlc3VsdFsxXSArIHhbMV1bMF0gKiB5WzBdOwotICAg
IHJlc3VsdFsxXSA9IHJlc3VsdFsxXSArIHhbMV1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsxXSA9
IHJlc3VsdFsxXSArIHhbMV1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsxXSA9IHJlc3VsdFsxXSAr
IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICBy
ZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzNdICogeVszXTsKICAgICByZXN1bHRbMl0gPSAw
OwotICAgIHJlc3VsdFsyXSA9IHJlc3VsdFsyXSArIHhbMl1bMF0gKiB5WzBdOwotICAgIHJlc3Vs
dFsyXSA9IHJlc3VsdFsyXSArIHhbMl1bMV0gKiB5WzFdOwotICAgIHJlc3VsdFsyXSA9IHJlc3Vs
dFsyXSArIHhbMl1bMl0gKiB5WzJdOwotICAgIHJlc3VsdFsyXSA9IHJlc3VsdFsyXSArIHhbMl1b
M10gKiB5WzNdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKKyAgICByZXN1bHRb
Ml0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMl0gKiB5WzJdOwor
ICAgIHJlc3VsdFsyXSArPSB4WzJdWzNdICogeVszXTsKICAgICByZXN1bHRbM10gPSAwOwotICAg
IHJlc3VsdFszXSA9IHJlc3VsdFszXSArIHhbM11bMF0gKiB5WzBdOwotICAgIHJlc3VsdFszXSA9
IHJlc3VsdFszXSArIHhbM11bMV0gKiB5WzFdOwotICAgIHJlc3VsdFszXSA9IHJlc3VsdFszXSAr
IHhbM11bMl0gKiB5WzJdOwotICAgIHJlc3VsdFszXSA9IHJlc3VsdFszXSArIHhbM11bM10gKiB5
WzNdOworICAgIHJlc3VsdFszXSArPSB4WzNdWzBdICogeVswXTsKKyAgICByZXN1bHRbM10gKz0g
eFszXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzNdICs9IHhbM11bMl0gKiB5WzJdOworICAgIHJl
c3VsdFszXSArPSB4WzNdWzNdICogeVszXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBmbG9h
dDR4NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDQgeSkgewogICAgIGZsb2F0NHg0IHJlc3VsdDsK
ICAgICByZXN1bHRbMF1bMF0gPSAwOwotICAgIHJlc3VsdFswXVswXSA9IHJlc3VsdFswXVswXSAr
IHhbMF1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFswXVswXSA9IHJlc3VsdFswXVswXSArIHhb
MF1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFswXVswXSA9IHJlc3VsdFswXVswXSArIHhbMF1b
Ml0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFswXVswXSA9IHJlc3VsdFswXVswXSArIHhbMF1bM10g
KiB5WzNdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMF0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzBdICs9IHhb
MF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVswXSArPSB4WzBdWzNdICogeVszXVswXTsK
ICAgICByZXN1bHRbMF1bMV0gPSAwOwotICAgIHJlc3VsdFswXVsxXSA9IHJlc3VsdFswXVsxXSAr
IHhbMF1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFswXVsxXSA9IHJlc3VsdFswXVsxXSArIHhb
MF1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFswXVsxXSA9IHJlc3VsdFswXVsxXSArIHhbMF1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFswXVsxXSA9IHJlc3VsdFswXVsxXSArIHhbMF1bM10g
KiB5WzNdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMV0gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzFdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzNdICogeVszXVsxXTsK
ICAgICByZXN1bHRbMF1bMl0gPSAwOwotICAgIHJlc3VsdFswXVsyXSA9IHJlc3VsdFswXVsyXSAr
IHhbMF1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFswXVsyXSA9IHJlc3VsdFswXVsyXSArIHhb
MF1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFswXVsyXSA9IHJlc3VsdFswXVsyXSArIHhbMF1b
Ml0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFswXVsyXSA9IHJlc3VsdFswXVsyXSArIHhbMF1bM10g
KiB5WzNdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzJdICs9IHhb
MF1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsyXTsK
ICAgICByZXN1bHRbMF1bM10gPSAwOwotICAgIHJlc3VsdFswXVszXSA9IHJlc3VsdFswXVszXSAr
IHhbMF1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFswXVszXSA9IHJlc3VsdFswXVszXSArIHhb
MF1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFswXVszXSA9IHJlc3VsdFswXVszXSArIHhbMF1b
Ml0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFswXVszXSA9IHJlc3VsdFswXVszXSArIHhbMF1bM10g
KiB5WzNdWzNdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVszXTsKKyAgICBy
ZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzNdICogeVszXVszXTsK
ICAgICByZXN1bHRbMV1bMF0gPSAwOwotICAgIHJlc3VsdFsxXVswXSA9IHJlc3VsdFsxXVswXSAr
IHhbMV1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHJlc3VsdFsxXVswXSArIHhb
MV1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHJlc3VsdFsxXVswXSArIHhbMV1b
Ml0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsxXVswXSA9IHJlc3VsdFsxXVswXSArIHhbMV1bM10g
KiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMV1bMF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdICs9IHhb
MV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzNdICogeVszXVswXTsK
ICAgICByZXN1bHRbMV1bMV0gPSAwOwotICAgIHJlc3VsdFsxXVsxXSA9IHJlc3VsdFsxXVsxXSAr
IHhbMV1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHJlc3VsdFsxXVsxXSArIHhb
MV1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHJlc3VsdFsxXVsxXSArIHhbMV1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsxXVsxXSA9IHJlc3VsdFsxXVsxXSArIHhbMV1bM10g
KiB5WzNdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMV0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzFdICs9IHhb
MV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXVsxXSArPSB4WzFdWzNdICogeVszXVsxXTsK
ICAgICByZXN1bHRbMV1bMl0gPSAwOwotICAgIHJlc3VsdFsxXVsyXSA9IHJlc3VsdFsxXVsyXSAr
IHhbMV1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsxXVsyXSA9IHJlc3VsdFsxXVsyXSArIHhb
MV1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsxXVsyXSA9IHJlc3VsdFsxXVsyXSArIHhbMV1b
Ml0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsxXVsyXSA9IHJlc3VsdFsxXVsyXSArIHhbMV1bM10g
KiB5WzNdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsyXTsK
ICAgICByZXN1bHRbMV1bM10gPSAwOwotICAgIHJlc3VsdFsxXVszXSA9IHJlc3VsdFsxXVszXSAr
IHhbMV1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsxXVszXSA9IHJlc3VsdFsxXVszXSArIHhb
MV1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsxXVszXSA9IHJlc3VsdFsxXVszXSArIHhbMV1b
Ml0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsxXVszXSA9IHJlc3VsdFsxXVszXSArIHhbMV1bM10g
KiB5WzNdWzNdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKKyAgICBy
ZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzFdWzNdICs9IHhb
MV1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzNdICogeVszXVszXTsK
ICAgICByZXN1bHRbMl1bMF0gPSAwOwotICAgIHJlc3VsdFsyXVswXSA9IHJlc3VsdFsyXVswXSAr
IHhbMl1bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFsyXVswXSA9IHJlc3VsdFsyXVswXSArIHhb
Ml1bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFsyXVswXSA9IHJlc3VsdFsyXVswXSArIHhbMl1b
Ml0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFsyXVswXSA9IHJlc3VsdFsyXVswXSArIHhbMl1bM10g
KiB5WzNdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMl1bMF0gKz0geFsyXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzBdICs9IHhb
Ml1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVswXSArPSB4WzJdWzNdICogeVszXVswXTsK
ICAgICByZXN1bHRbMl1bMV0gPSAwOwotICAgIHJlc3VsdFsyXVsxXSA9IHJlc3VsdFsyXVsxXSAr
IHhbMl1bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFsyXVsxXSA9IHJlc3VsdFsyXVsxXSArIHhb
Ml1bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFsyXVsxXSA9IHJlc3VsdFsyXVsxXSArIHhbMl1b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFsyXVsxXSA9IHJlc3VsdFsyXVsxXSArIHhbMl1bM10g
KiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMV0gKz0geFsyXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzFdICs9IHhb
Ml1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsxXSArPSB4WzJdWzNdICogeVszXVsxXTsK
ICAgICByZXN1bHRbMl1bMl0gPSAwOwotICAgIHJlc3VsdFsyXVsyXSA9IHJlc3VsdFsyXVsyXSAr
IHhbMl1bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFsyXVsyXSA9IHJlc3VsdFsyXVsyXSArIHhb
Ml1bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFsyXVsyXSA9IHJlc3VsdFsyXVsyXSArIHhbMl1b
Ml0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFsyXVsyXSA9IHJlc3VsdFsyXVsyXSArIHhbMl1bM10g
KiB5WzNdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzJdICs9IHhb
Ml1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzNdICogeVszXVsyXTsK
ICAgICByZXN1bHRbMl1bM10gPSAwOwotICAgIHJlc3VsdFsyXVszXSA9IHJlc3VsdFsyXVszXSAr
IHhbMl1bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFsyXVszXSA9IHJlc3VsdFsyXVszXSArIHhb
Ml1bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFsyXVszXSA9IHJlc3VsdFsyXVszXSArIHhbMl1b
Ml0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFsyXVszXSA9IHJlc3VsdFsyXVszXSArIHhbMl1bM10g
KiB5WzNdWzNdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVszXTsKKyAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzNdICs9IHhb
Ml1bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzNdICogeVszXVszXTsK
ICAgICByZXN1bHRbM11bMF0gPSAwOwotICAgIHJlc3VsdFszXVswXSA9IHJlc3VsdFszXVswXSAr
IHhbM11bMF0gKiB5WzBdWzBdOwotICAgIHJlc3VsdFszXVswXSA9IHJlc3VsdFszXVswXSArIHhb
M11bMV0gKiB5WzFdWzBdOwotICAgIHJlc3VsdFszXVswXSA9IHJlc3VsdFszXVswXSArIHhbM11b
Ml0gKiB5WzJdWzBdOwotICAgIHJlc3VsdFszXVswXSA9IHJlc3VsdFszXVswXSArIHhbM11bM10g
KiB5WzNdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbM11bMF0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzNdWzBdICs9IHhb
M11bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFszXVswXSArPSB4WzNdWzNdICogeVszXVswXTsK
ICAgICByZXN1bHRbM11bMV0gPSAwOwotICAgIHJlc3VsdFszXVsxXSA9IHJlc3VsdFszXVsxXSAr
IHhbM11bMF0gKiB5WzBdWzFdOwotICAgIHJlc3VsdFszXVsxXSA9IHJlc3VsdFszXVsxXSArIHhb
M11bMV0gKiB5WzFdWzFdOwotICAgIHJlc3VsdFszXVsxXSA9IHJlc3VsdFszXVsxXSArIHhbM11b
Ml0gKiB5WzJdWzFdOwotICAgIHJlc3VsdFszXVsxXSA9IHJlc3VsdFszXVsxXSArIHhbM11bM10g
KiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbM11bMV0gKz0geFszXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzNdWzFdICs9IHhb
M11bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsxXSArPSB4WzNdWzNdICogeVszXVsxXTsK
ICAgICByZXN1bHRbM11bMl0gPSAwOwotICAgIHJlc3VsdFszXVsyXSA9IHJlc3VsdFszXVsyXSAr
IHhbM11bMF0gKiB5WzBdWzJdOwotICAgIHJlc3VsdFszXVsyXSA9IHJlc3VsdFszXVsyXSArIHhb
M11bMV0gKiB5WzFdWzJdOwotICAgIHJlc3VsdFszXVsyXSA9IHJlc3VsdFszXVsyXSArIHhbM11b
Ml0gKiB5WzJdWzJdOwotICAgIHJlc3VsdFszXVsyXSA9IHJlc3VsdFszXVsyXSArIHhbM11bM10g
KiB5WzNdWzJdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzNdWzJdICs9IHhb
M11bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzNdICogeVszXVsyXTsK
ICAgICByZXN1bHRbM11bM10gPSAwOwotICAgIHJlc3VsdFszXVszXSA9IHJlc3VsdFszXVszXSAr
IHhbM11bMF0gKiB5WzBdWzNdOwotICAgIHJlc3VsdFszXVszXSA9IHJlc3VsdFszXVszXSArIHhb
M11bMV0gKiB5WzFdWzNdOwotICAgIHJlc3VsdFszXVszXSA9IHJlc3VsdFszXVszXSArIHhbM11b
Ml0gKiB5WzJdWzNdOwotICAgIHJlc3VsdFszXVszXSA9IHJlc3VsdFszXVszXSArIHhbM11bM10g
KiB5WzNdWzNdOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICBy
ZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzNdWzNdICs9IHhb
M11bMl0gKiB5WzJdWzNdOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzNdICogeVszXVszXTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDY2NDIpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
OS0wNi0yMCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBbV0hM
U0xdIFByb3BlcnR5IHJlc29sdmVyIG5lZWRzIHRvIHJlY3Vyc2Ugb24gbmV3VmFsdWVFeHByZXNz
aW9uIGZvciBSTVcgb3BlcmF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5MDM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4
ZmllbGQuCisKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGlnaC16
b21iaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsLXJlYWQt
bW9kaWZ5LXdyaXRlLWhpZ2gtem9tYmllcy5odG1sOiBBZGRlZC4KKwogMjAxOS0wNi0yMCAgUnVz
c2VsbCBFcHN0ZWluICA8cnVzc2VsbF9lQGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlvdXQgVGVz
dCBpbXBvcnRlZC9ibGluay9mYXN0L2Nzcy91c2VyLXNlbGVjdC1ub25lLmh0bWwgaXMgZmxha3ku
CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGlnaC16
b21iaWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wtcmVhZC1tb2RpZnktd3JpdGUtaGlnaC16b21iaWVzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGlnaC16
b21iaWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorUEFTUyByZXN1bHRz
RmxvYXQzMkFycmF5WzBdIGlzIDY2CisKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1y
ZWFkLW1vZGlmeS13cml0ZS1oaWdoLXpvbWJpZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wtcmVhZC1tb2RpZnktd3JpdGUtaGlnaC16b21iaWVzLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXJlYWQtbW9kaWZ5LXdyaXRl
LWhpZ2gtem9tYmllcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTcgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorY29uc3Qg
c2hhZGVyU291cmNlID0gYAorYm9vbCBmaWxsKHRocmVhZCBmbG9hdDR4NCogbWF0LCBmbG9hdCB2
YWx1ZSkKK3sKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgZm9yICh1aW50IGkgPSAwOyBpIDwg
NDsgaSA9IGkgKyAxKSB7CisgICAgICAgICAgICByZXN1bHRbaV0gPSBmbG9hdDQodmFsdWUsIHZh
bHVlLCB2YWx1ZSwgdmFsdWUpOworICAgIH0KKyAgICAqbWF0ID0gcmVzdWx0OworICAgIHJldHVy
biB0cnVlOworfQorCitbbnVtdGhyZWFkcygxLCAxLCAxKV0KK2NvbXB1dGUgdm9pZCBjb21wdXRl
U2hhZGVyKGRldmljZSBmbG9hdFtdIGJ1ZmZlciA6IHJlZ2lzdGVyKHUwKSwgZmxvYXQzIHRocmVh
ZElEIDogU1ZfRGlzcGF0Y2hUaHJlYWRJRCkgeworICAgIGZsb2F0NHg0IG1hdDsKKyAgICBmaWxs
KCZtYXQsIDQpOworCisgICAgZmxvYXQ0IHZlYzsKKyAgICB2ZWNbMF0gKz0gbWF0WzBdWzBdICsg
bWF0WzBdWzFdICsgbWF0WzNdWzJdOworCisgICAgZmxvYXQgdmFsdWUgPSA0MjsKKyAgICB2YWx1
ZSArPSB2ZWNbMF07CisKKyAgICBtYXRbMF1bMF0gKz0gKG1hdFswXVswXSArPSAodmFsdWUgKz0g
bWF0WzBdWzBdKSk7CisKKyAgICBidWZmZXJbdWludCh0aHJlYWRJRC54KV0gPSBtYXRbMF1bMF07
Cit9CitgOworbGV0IHJlc3VsdHNGbG9hdDMyQXJyYXk7Cithc3luYyBmdW5jdGlvbiBzdGFydCgp
IHsKKyAgICBjb25zdCBhZGFwdGVyID0gYXdhaXQgbmF2aWdhdG9yLmdwdS5yZXF1ZXN0QWRhcHRl
cigpOworICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IGFkYXB0ZXIucmVxdWVzdERldmljZSgpOwor
CisgICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7Y29k
ZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7CisgICAgY29uc3QgY29tcHV0ZVN0YWdl
ID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiY29tcHV0ZVNoYWRlciJ9Owor
CisgICAgY29uc3QgYmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kaW5nczogW3tiaW5k
aW5nOiAwLCB2aXNpYmlsaXR5OiA3LCB0eXBlOiAic3RvcmFnZS1idWZmZXIifV19OworICAgIGNv
bnN0IGJpbmRHcm91cExheW91dCA9IGRldmljZS5jcmVhdGVCaW5kR3JvdXBMYXlvdXQoYmluZEdy
b3VwTGF5b3V0RGVzY3JpcHRvcik7CisgICAgY29uc3QgcGlwZWxpbmVMYXlvdXREZXNjcmlwdG9y
ID0ge2JpbmRHcm91cExheW91dHM6IFtiaW5kR3JvdXBMYXlvdXRdfTsKKyAgICBjb25zdCBwaXBl
bGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dChwaXBlbGluZUxheW91dERl
c2NyaXB0b3IpOworCisgICAgY29uc3QgY29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciA9IHtjb21w
dXRlU3RhZ2UsIGxheW91dDogcGlwZWxpbmVMYXlvdXR9OworICAgIGNvbnN0IGNvbXB1dGVQaXBl
bGluZSA9IGRldmljZS5jcmVhdGVDb21wdXRlUGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lRGVzY3Jp
cHRvcik7CisKKyAgICBjb25zdCBzaXplID0gRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5U
ICogMTsKKworICAgIGNvbnN0IGJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZSwgdXNhZ2U6IEdQVUJ1
ZmZlclVzYWdlLk1BUF9XUklURSB8IEdQVUJ1ZmZlclVzYWdlLlRSQU5TRkVSX1NSQ307CisgICAg
Y29uc3QgYnVmZmVyID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcihidWZmZXJEZXNjcmlwdG9yKTsKKyAg
ICBjb25zdCBidWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IGJ1ZmZlci5tYXBXcml0ZUFzeW5jKCk7
CisgICAgY29uc3QgYnVmZmVyRmxvYXQzMkFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShidWZmZXJB
cnJheUJ1ZmZlcik7CisgICAgYnVmZmVyRmxvYXQzMkFycmF5WzBdID0gMDsKKyAgICBidWZmZXIu
dW5tYXAoKTsKKworICAgIGNvbnN0IHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yID0ge3NpemUsIHVz
YWdlOiBHUFVCdWZmZXJVc2FnZS5TVE9SQUdFIHwgR1BVQnVmZmVyVXNhZ2UuVFJBTlNGRVJfRFNU
IHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1JFQUR9OworICAgIGNvbnN0IHJlc3VsdHNCdWZmZXIgPSBk
ZXZpY2UuY3JlYXRlQnVmZmVyKHJlc3VsdHNCdWZmZXJEZXNjcmlwdG9yKTsKKworICAgIGNvbnN0
IGJ1ZmZlckJpbmRpbmcgPSB7YnVmZmVyOiByZXN1bHRzQnVmZmVyLCBzaXplfTsKKyAgICBjb25z
dCBiaW5kR3JvdXBCaW5kaW5nID0ge2JpbmRpbmc6IDAsIHJlc291cmNlOiBidWZmZXJCaW5kaW5n
fTsKKyAgICBjb25zdCBiaW5kR3JvdXBEZXNjcmlwdG9yID0ge2xheW91dDogYmluZEdyb3VwTGF5
b3V0LCBiaW5kaW5nczogW2JpbmRHcm91cEJpbmRpbmddfTsKKyAgICBjb25zdCBiaW5kR3JvdXAg
PSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwKGJpbmRHcm91cERlc2NyaXB0b3IpOworCisgICAgY29u
c3QgY29tbWFuZEVuY29kZXIgPSBkZXZpY2UuY3JlYXRlQ29tbWFuZEVuY29kZXIoKTsgLy8ge30K
KyAgICBjb21tYW5kRW5jb2Rlci5jb3B5QnVmZmVyVG9CdWZmZXIoYnVmZmVyLCAwLCByZXN1bHRz
QnVmZmVyLCAwLCBzaXplKTsKKyAgICBjb25zdCBjb21wdXRlUGFzc0VuY29kZXIgPSBjb21tYW5k
RW5jb2Rlci5iZWdpbkNvbXB1dGVQYXNzKCk7CisgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldFBp
cGVsaW5lKGNvbXB1dGVQaXBlbGluZSk7CisgICAgY29tcHV0ZVBhc3NFbmNvZGVyLnNldEJpbmRH
cm91cCgwLCBiaW5kR3JvdXApOworICAgIGNvbXB1dGVQYXNzRW5jb2Rlci5kaXNwYXRjaCgxLCAx
LCAxKTsKKyAgICBjb21wdXRlUGFzc0VuY29kZXIuZW5kUGFzcygpOworICAgIGNvbnN0IGNvbW1h
bmRCdWZmZXIgPSBjb21tYW5kRW5jb2Rlci5maW5pc2goKTsKKyAgICBkZXZpY2UuZ2V0UXVldWUo
KS5zdWJtaXQoW2NvbW1hbmRCdWZmZXJdKTsKKworICAgIGNvbnN0IHJlc3VsdHNBcnJheUJ1ZmZl
ciA9IGF3YWl0IHJlc3VsdHNCdWZmZXIubWFwUmVhZEFzeW5jKCk7CisgICAgcmVzdWx0c0Zsb2F0
MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzdWx0c0FycmF5QnVmZmVyKTsKKyAgICBzaG91
bGRCZSgicmVzdWx0c0Zsb2F0MzJBcnJheVswXSIsICI2NiIpOworICAgIHJlc3VsdHNCdWZmZXIu
dW5tYXAoKTsKK30KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7
CisgICAgc3RhcnQoKS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCBmdW5j
dGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>