<?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>218686</bug_id>
          
          <creation_ts>2020-11-07 11:16:04 -0800</creation_ts>
          <short_desc>Web Inspector: ensure that `JSON::ArrayOf&lt;T&gt;` doesn&apos;t allow `addItem` to be called with a type other than `T`</short_desc>
          <delta_ts>2020-12-02 22:08:17 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=219483</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1705544</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-07 11:16:04 -0800</bug_when>
    <thetext>Right now, `JSON::ArrayOf&lt;T&gt;` always has `addItem` overloads for `int`, `double`, `String`, and `Ref&lt;T&gt;` (even when `T` is not a `JSON::Value`).  This means that I could have a `JSON::ArrayOf&lt;int&gt;` and call `addItem(42.0)` or `addItem(&quot;foo&quot;_s)` and it would work.  We should prevent that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705545</commentid>
    <comment_count>1</comment_count>
      <attachid>413529</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-07 11:16:36 -0800</bug_when>
    <thetext>Created attachment 413529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705656</commentid>
    <comment_count>2</comment_count>
      <attachid>413563</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-08 23:58:56 -0800</bug_when>
    <thetext>Created attachment 413563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705657</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-11-08 23:59:53 -0800</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707019</commentid>
    <comment_count>4</comment_count>
      <attachid>413563</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-11-12 14:32:08 -0800</bug_when>
    <thetext>Comment on attachment 413563
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=413563&amp;action=review

r=me

&gt; Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py:142
&gt; +    static NeverDestroyed&lt;DispatchMap&gt; dispatchMap = DispatchMap({

🤯

&gt; Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:342
&gt; +    static NeverDestroyed&lt;DispatchMap&gt; dispatchMap = DispatchMap({

Ugh, you are the best, Devin! This is so much nicer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707038</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-12 14:54:41 -0800</bug_when>
    <thetext>Committed r269757: &lt;https://trac.webkit.org/changeset/269757&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413563.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707039</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-12 14:55:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/71345351&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413529</attachid>
            <date>2020-11-07 11:16:36 -0800</date>
            <delta_ts>2020-11-08 23:58:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>218686.diff</filename>
            <type>text/plain</type>
            <size>3007</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNzBjN2Q2MDE0MDI2Li5kYmIwOTcxOTMzYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MjAtMTEtMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGVuc3VyZSB0aGF0IGBKU09OOjpBcnJheU9mPFQ+YCBkb2Vzbid0IGFsbG93
IGBhZGRJdGVtYCB0byBiZSBjYWxsZWQgd2l0aCBhIHR5cGUgb3RoZXIgdGhhbiBgVGAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODY4NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0pTT05WYWx1
ZXMuaDoKKyAgICAgICAgUmlnaHQgbm93LCBgSlNPTjo6QXJyYXlPZjxUPmAgYWx3YXlzIGhhcyBg
YWRkSXRlbWAgb3ZlcmxvYWRzIGZvciBgaW50YCwgYGRvdWJsZWAsIGBTdHJpbmdgLAorICAgICAg
ICBhbmQgYFJlZjxUPmAgKGV2ZW4gd2hlbiBgVGAgaXMgbm90IGEgYEpTT046OlZhbHVlYCkuIFRo
aXMgbWVhbnMgdGhhdCBhIGBKU09OOjpBcnJheU9mPGludD5gCisgICAgICAgIGNhbiBjYWxsIGBh
ZGRJdGVtKDQyLjApYCBvciBgYWRkSXRlbSgiZm9vIl9zKWAgYW5kIGl0IHdvdWxkIHdvcmsuIFRo
aXMgZG9lc24ndCByZWFsbHkgbWF0Y2gKKyAgICAgICAgdGhlIGludGVudGlvbiBvZiBgSlNPTjo6
QXJyYXlPZjxUPmAsIHNvIGFkZCBzb21lIHRlbXBsYXRlIGBzdGQ6OmVuYWJsZV9pZmAgdG8gZW5z
dXJlIHRoYXQKKyAgICAgICAgdGhlIG9ubHkgYGFkZEl0ZW1gIG92ZXJsb2FkIHRoYXQgZXhpc3Rz
IGlzIHRoZSBvbmUgdGhhdCBtYXRjaGVzIGBUYC4KKwogMjAyMC0xMS0wNiAgU2FtIFdlaW5pZyAg
PHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRnVydGhlciBwcm9ncmVzcyB0b3dhcmRzIG1l
cmdpbmcgU2V0dGluZ3MueWFtbCBpbnRvIFdlYlByZWZlcmVuY2VzLnlhbWwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0pTT05WYWx1ZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0pTT05WYWx1ZXMu
aAppbmRleCBmMzRiZjZhZDU3OTYuLmEwZTA1NGI3MGIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvSlNPTlZhbHVlcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0pTT05WYWx1ZXMuaApAQCAt
NDE1LDI2ICs0MTUsNDkgQEAgcHJpdmF0ZToKICAgICB9CiAKIHB1YmxpYzoKLSAgICB2b2lkIGFk
ZEl0ZW0oUmVmPFQ+JiYgdmFsdWUpCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgViA9IFQ+Cisg
ICAgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX3NhbWVfdjxib29sLCBWPiB8fCBzdGQ6OmlzX3Nh
bWVfdjxWYWx1ZSwgVj4+IGFkZEl0ZW0oYm9vbCB2YWx1ZSkKICAgICB7Ci0gICAgICAgIGNhc3Rl
ZEFycmF5KCkucHVzaFZhbHVlKFdURk1vdmUodmFsdWUpKTsKLSAgICB9Ci0gICAgCi0gICAgdm9p
ZCBhZGRJdGVtKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBjYXN0ZWRBcnJh
eSgpLnB1c2hTdHJpbmcodmFsdWUpOworICAgICAgICBjYXN0ZWRBcnJheSgpLnB1c2hCb29sZWFu
KHZhbHVlKTsKICAgICB9CiAKLSAgICB2b2lkIGFkZEl0ZW0oaW50IHZhbHVlKQorICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBWID0gVD4KKyAgICBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfc2FtZV92
PGludCwgVj4gfHwgc3RkOjppc19zYW1lX3Y8VmFsdWUsIFY+PiBhZGRJdGVtKGludCB2YWx1ZSkK
ICAgICB7CiAgICAgICAgIGNhc3RlZEFycmF5KCkucHVzaEludGVnZXIodmFsdWUpOwogICAgIH0K
IAotICAgIHZvaWQgYWRkSXRlbShkb3VibGUgdmFsdWUpCisgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IFYgPSBUPgorICAgIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19zYW1lX3Y8ZG91YmxlLCBWPiB8
fCBzdGQ6OmlzX3NhbWVfdjxWYWx1ZSwgVj4+IGFkZEl0ZW0oZG91YmxlIHZhbHVlKQogICAgIHsK
ICAgICAgICAgY2FzdGVkQXJyYXkoKS5wdXNoRG91YmxlKHZhbHVlKTsKICAgICB9CiAKKyAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgViA9IFQ+CisgICAgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX3Nh
bWVfdjxTdHJpbmcsIFY+IHx8IHN0ZDo6aXNfc2FtZV92PFZhbHVlLCBWPj4gYWRkSXRlbShjb25z
dCBTdHJpbmcmIHZhbHVlKQorICAgIHsKKyAgICAgICAgY2FzdGVkQXJyYXkoKS5wdXNoU3RyaW5n
KHZhbHVlKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgViA9IFQ+CisgICAgc3Rk
OjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2ZfdjxWYWx1ZSwgVj4gJiYgIXN0ZDo6aXNfYmFz
ZV9vZl92PE9iamVjdEJhc2UsIFY+ICYmICFzdGQ6OmlzX2Jhc2Vfb2ZfdjxBcnJheUJhc2UsIFY+
PiBhZGRJdGVtKFJlZjxWYWx1ZT4mJiB2YWx1ZSkKKyAgICB7CisgICAgICAgIGNhc3RlZEFycmF5
KCkucHVzaFZhbHVlKFdURk1vdmUodmFsdWUpKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgViA9IFQ+CisgICAgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2ZfdjxPYmpl
Y3RCYXNlLCBWPj4gYWRkSXRlbShSZWY8T2JqZWN0QmFzZT4mJiB2YWx1ZSkKKyAgICB7CisgICAg
ICAgIGNhc3RlZEFycmF5KCkucHVzaE9iamVjdChXVEZNb3ZlKHZhbHVlKSk7CisgICAgfQorCisg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFYgPSBUPgorICAgIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjpp
c19iYXNlX29mX3Y8QXJyYXlCYXNlLCBWPj4gYWRkSXRlbShSZWY8QXJyYXlCYXNlPiYmIHZhbHVl
KQorICAgIHsKKyAgICAgICAgY2FzdGVkQXJyYXkoKS5wdXNoQXJyYXkoV1RGTW92ZSh2YWx1ZSkp
OworICAgIH0KKwogICAgIHN0YXRpYyBSZWY8QXJyYXlPZjxUPj4gY3JlYXRlKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFycmF5T2Y8VD4oKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413563</attachid>
            <date>2020-11-08 23:58:56 -0800</date>
            <delta_ts>2020-11-12 14:54:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>218686.diff</filename>
            <type>text/plain</type>
            <size>61879</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNzBjN2Q2MDE0MDI2Li5hYjA4M2Q0ZDM1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIw
MjAtMTEtMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGVuc3VyZSB0aGF0IGBKU09OOjpBcnJheU9mPFQ+YCBkb2Vzbid0IGFsbG93
IGBhZGRJdGVtYCB0byBiZSBjYWxsZWQgd2l0aCBhIHR5cGUgb3RoZXIgdGhhbiBgVGAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODY4NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0pTT05WYWx1
ZXMuaDoKKyAgICAgICAgKFdURjo6SlNPTkltcGw6OlZhbHVlOjpWYWx1ZSk6CisgICAgICAgIChX
VEY6OkpTT05JbXBsOjpWYWx1ZTo6VmFsdWUpOgorICAgICAgICAoV1RGOjpKU09OSW1wbDo6QXJy
YXlPZjo6YWRkSXRlbSk6CisgICAgICAgICogd3RmL0pTT05WYWx1ZXMuY3BwOgorICAgICAgICAo
V1RGOjpKU09OSW1wbDo6VmFsdWU6OmNyZWF0ZSk6CisgICAgICAgIFJpZ2h0IG5vdywgYEpTT046
OkFycmF5T2Y8VD5gIGFsd2F5cyBoYXMgYGFkZEl0ZW1gIG92ZXJsb2FkcyBmb3IgYGludGAsIGBk
b3VibGVgLCBgU3RyaW5nYCwKKyAgICAgICAgYW5kIGBSZWY8VD5gIChldmVuIHdoZW4gYFRgIGlz
IG5vdCBhIGBKU09OOjpWYWx1ZWApLiBUaGlzIG1lYW5zIHRoYXQgYSBgSlNPTjo6QXJyYXlPZjxp
bnQ+YAorICAgICAgICBjYW4gY2FsbCBgYWRkSXRlbSg0Mi4wKWAgb3IgYGFkZEl0ZW0oImZvbyJf
cylgIGFuZCBpdCB3b3VsZCB3b3JrLiBUaGlzIGRvZXNuJ3QgcmVhbGx5IG1hdGNoCisgICAgICAg
IHRoZSBpbnRlbnRpb24gb2YgYEpTT046OkFycmF5T2Y8VD5gLCBzbyBhZGQgc29tZSB0ZW1wbGF0
ZSBgc3RkOjplbmFibGVfaWZgIHRvIGVuc3VyZSB0aGF0CisgICAgICAgIHRoZSBvbmx5IGBhZGRJ
dGVtYCBvdmVybG9hZCB0aGF0IGV4aXN0cyBpcyB0aGUgb25lIHRoYXQgbWF0Y2hlcyBgVGAuCisK
IDIwMjAtMTEtMDYgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1
cnRoZXIgcHJvZ3Jlc3MgdG93YXJkcyBtZXJnaW5nIFNldHRpbmdzLnlhbWwgaW50byBXZWJQcmVm
ZXJlbmNlcy55YW1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9KU09OVmFsdWVzLmNwcCBi
L1NvdXJjZS9XVEYvd3RmL0pTT05WYWx1ZXMuY3BwCmluZGV4IDIzMmE0ZmUxNWI3YS4uMzJkNmE5
OGFhOWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9KU09OVmFsdWVzLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9KU09OVmFsdWVzLmNwcApAQCAtNDg0LDExICs0ODQsNiBAQCBSZWY8VmFs
dWU+IFZhbHVlOjpjcmVhdGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBWYWx1ZSh2YWx1ZSkpOwogfQogCi1SZWY8VmFsdWU+IFZhbHVlOjpjcmVhdGUoY29u
c3QgY2hhciogdmFsdWUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVmFsdWUodmFsdWUp
KTsKLX0KLQogUmVmUHRyPFZhbHVlPiBWYWx1ZTo6YXNWYWx1ZSgpCiB7CiAgICAgcmV0dXJuIHRo
aXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9KU09OVmFsdWVzLmggYi9Tb3VyY2UvV1RG
L3d0Zi9KU09OVmFsdWVzLmgKaW5kZXggZjM0YmY2YWQ1Nzk2Li40YTdmMTUyYWRiNGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0pTT05WYWx1ZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9K
U09OVmFsdWVzLmgKQEAgLTc3LDcgKzc3LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8VmFs
dWU+IGNyZWF0ZShpbnQpOwogICAgIHN0YXRpYyBSZWY8VmFsdWU+IGNyZWF0ZShkb3VibGUpOwog
ICAgIHN0YXRpYyBSZWY8VmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmKTsKLSAgICBzdGF0aWMg
UmVmPFZhbHVlPiBjcmVhdGUoY29uc3QgY2hhciopOwogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsK
ICAgICAgICAgTnVsbCA9IDAsCkBAIC0xNTAsMTUgKzE0OSw2IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgICAgIG1fdmFsdWUuc3RyaW5nLT5yZWYoKTsKICAgICB9CiAKLSAgICBleHBsaWNpdCBWYWx1
ZShjb25zdCBjaGFyKiB2YWx1ZSkKLSAgICAgICAgOiBtX3R5cGUgeyBUeXBlOjpTdHJpbmcgfQot
ICAgIHsKLSAgICAgICAgU3RyaW5nIHdyYXBwZXIodmFsdWUpOwotICAgICAgICBtX3ZhbHVlLnN0
cmluZyA9IHdyYXBwZXIuaW1wbCgpOwotICAgICAgICBpZiAobV92YWx1ZS5zdHJpbmcpCi0gICAg
ICAgICAgICBtX3ZhbHVlLnN0cmluZy0+cmVmKCk7Ci0gICAgfQotCiBwcml2YXRlOgogICAgIFR5
cGUgbV90eXBlIHsgVHlwZTo6TnVsbCB9OwogICAgIHVuaW9uIHsKQEAgLTQxNSwyNiArNDA1LDQ5
IEBAIHByaXZhdGU6CiAgICAgfQogCiBwdWJsaWM6Ci0gICAgdm9pZCBhZGRJdGVtKFJlZjxUPiYm
IHZhbHVlKQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFYgPSBUPgorICAgIHN0ZDo6ZW5hYmxl
X2lmX3Q8c3RkOjppc19zYW1lX3Y8Ym9vbCwgVj4gfHwgc3RkOjppc19zYW1lX3Y8VmFsdWUsIFY+
PiBhZGRJdGVtKGJvb2wgdmFsdWUpCiAgICAgewotICAgICAgICBjYXN0ZWRBcnJheSgpLnB1c2hW
YWx1ZShXVEZNb3ZlKHZhbHVlKSk7Ci0gICAgfQotICAgIAotICAgIHZvaWQgYWRkSXRlbShjb25z
dCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgY2FzdGVkQXJyYXkoKS5wdXNoU3RyaW5n
KHZhbHVlKTsKKyAgICAgICAgY2FzdGVkQXJyYXkoKS5wdXNoQm9vbGVhbih2YWx1ZSk7CiAgICAg
fQogCi0gICAgdm9pZCBhZGRJdGVtKGludCB2YWx1ZSkKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
ViA9IFQ+CisgICAgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX3NhbWVfdjxpbnQsIFY+IHx8IHN0
ZDo6aXNfc2FtZV92PFZhbHVlLCBWPj4gYWRkSXRlbShpbnQgdmFsdWUpCiAgICAgewogICAgICAg
ICBjYXN0ZWRBcnJheSgpLnB1c2hJbnRlZ2VyKHZhbHVlKTsKICAgICB9CiAKLSAgICB2b2lkIGFk
ZEl0ZW0oZG91YmxlIHZhbHVlKQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWID0gVD4KKyAgICBz
dGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfc2FtZV92PGRvdWJsZSwgVj4gfHwgc3RkOjppc19zYW1l
X3Y8VmFsdWUsIFY+PiBhZGRJdGVtKGRvdWJsZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIGNhc3Rl
ZEFycmF5KCkucHVzaERvdWJsZSh2YWx1ZSk7CiAgICAgfQogCisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFYgPSBUPgorICAgIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19zYW1lX3Y8U3RyaW5nLCBW
PiB8fCBzdGQ6OmlzX3NhbWVfdjxWYWx1ZSwgVj4+IGFkZEl0ZW0oY29uc3QgU3RyaW5nJiB2YWx1
ZSkKKyAgICB7CisgICAgICAgIGNhc3RlZEFycmF5KCkucHVzaFN0cmluZyh2YWx1ZSk7CisgICAg
fQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFYgPSBUPgorICAgIHN0ZDo6ZW5hYmxlX2lmX3Q8
c3RkOjppc19iYXNlX29mX3Y8VmFsdWUsIFY+ICYmICFzdGQ6OmlzX2Jhc2Vfb2ZfdjxPYmplY3RC
YXNlLCBWPiAmJiAhc3RkOjppc19iYXNlX29mX3Y8QXJyYXlCYXNlLCBWPj4gYWRkSXRlbShSZWY8
VmFsdWU+JiYgdmFsdWUpCisgICAgeworICAgICAgICBjYXN0ZWRBcnJheSgpLnB1c2hWYWx1ZShX
VEZNb3ZlKHZhbHVlKSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFYgPSBUPgor
ICAgIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mX3Y8T2JqZWN0QmFzZSwgVj4+IGFk
ZEl0ZW0oUmVmPE9iamVjdEJhc2U+JiYgdmFsdWUpCisgICAgeworICAgICAgICBjYXN0ZWRBcnJh
eSgpLnB1c2hPYmplY3QoV1RGTW92ZSh2YWx1ZSkpOworICAgIH0KKworICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBWID0gVD4KKyAgICBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZl92PEFy
cmF5QmFzZSwgVj4+IGFkZEl0ZW0oUmVmPEFycmF5QmFzZT4mJiB2YWx1ZSkKKyAgICB7CisgICAg
ICAgIGNhc3RlZEFycmF5KCkucHVzaEFycmF5KFdURk1vdmUodmFsdWUpKTsKKyAgICB9CisKICAg
ICBzdGF0aWMgUmVmPEFycmF5T2Y8VD4+IGNyZWF0ZSgpCiAgICAgewogICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBBcnJheU9mPFQ+KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
Njk4OGY4MjlkM2M0Li4yYmMxODI3Y2M0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM5IEBACisyMDIwLTExLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBlbnN1cmUgdGhhdCBgSlNPTjo6QXJyYXlPZjxU
PmAgZG9lc24ndCBhbGxvdyBgYWRkSXRlbWAgdG8gYmUgY2FsbGVkIHdpdGggYSB0eXBlIG90aGVy
IHRoYW4gYFRgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTg2ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHk6
CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2Vu
ZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAgICAgICAoQ3BwQmFja2VuZERpc3Bh
dGNoZXJJbXBsZW1lbnRhdGlvbkdlbmVyYXRvci5fZ2VuZXJhdGVfc21hbGxfZGlzcGF0Y2hlcl9z
d2l0Y2hfaW1wbGVtZW50YXRpb25fZm9yX2RvbWFpbik6CisgICAgICAgIChDcHBCYWNrZW5kRGlz
cGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLl9nZW5lcmF0ZV9sYXJnZV9kaXNwYXRjaGVy
X3N3aXRjaF9pbXBsZW1lbnRhdGlvbl9mb3JfZG9tYWluKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHk6Cisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xf
dHlwZXNfaW1wbGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBQcm90b2NvbFR5cGVzSW1wbGVt
ZW50YXRpb25HZW5lcmF0b3IuX2dlbmVyYXRlX2VudW1fbWFwcGluZyk6CisgICAgICAgIChDcHBQ
cm90b2NvbFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0b3IuX2dlbmVyYXRlX29wZW5fZmllbGRf
bmFtZXMpOgorICAgICAgICBVc2UgYEFTQ0lJTGl0ZXJhbGAsIGBtYWtlU3RyaW5nYCwgYW5kIGBf
c2AgaW5zdGVhZCBvZiBpbmxpbmVkIGBjaGFyKmAgdG8gZW5zdXJlIHRoYXQgdGhlCisgICAgICAg
IGBTdHJpbmdgIGZ1bmN0aW9uIG92ZXJsb2FkIGlzIHVzZWQuCisKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kLXRhcmdldFR5cGUtbWF0Y2hpbmctZG9t
YWluLWRlYnVnZ2FibGVUeXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVz
dWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRz
LXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdDoKKyAgICAg
ICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1h
Yy1wbGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9kb21haW4tZGVidWdnYWJsZVR5cGVzLmpzb24tcmVzdWx0OgorICAgICAgICAq
IGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbi10YXJnZXRUeXBlLW1hdGNo
aW5nLWRvbWFpbi1kZWJ1Z2dhYmxlVHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW4tdGFyZ2V0VHlwZXMuanNvbi1yZXN1bHQ6
CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRo
LXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdDoKKyAgICAgICAg
KiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudC10YXJnZXRUeXBlLW1hdGNo
aW5nLWRvbWFpbi1kZWJ1Z2dhYmxlVHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1n
dWFyZHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0OgorICAgICAg
ICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJy
YXktdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9l
eHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAg
KiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVj
dC10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS13aXRoLW9wZW4tcGFyYW1l
dGVycy5qc29uLXJlc3VsdDoKKwogMjAyMC0xMS0wNiAgRG1pdHJ5IEJlemhldHNrb3YgIDxkYmV6
aGV0c2tvdkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXQVNNLVJlZmVyZW5jZXNdIFJlbmFtZSBh
bnlyZWYgdG8gZXh0ZXJucmVmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3Jf
dGVtcGxhdGVzLnB5CmluZGV4IDFiZTliOGEzMjY4ZS4uN2U3ZWFkMGYzMzkzIDEwMDc1NQotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2Vu
ZXJhdG9yX3RlbXBsYXRlcy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpAQCAtMTI3LDcgKzEy
Nyw3IEBAIHByaXZhdGU6CiAKICR7ZGlzcGF0Y2hDYXNlc30KIAotICAgIG1fYmFja2VuZERpc3Bh
dGNoZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZv
dW5kLCAiJyR7ZG9tYWluTmFtZX0uIiArIHByb3RvY29sX21ldGhvZCArICInIHdhcyBub3QgZm91
bmQiKTsKKyAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5yZXBvcnRQcm90b2NvbEVycm9yKEJhY2tl
bmREaXNwYXRjaGVyOjpNZXRob2ROb3RGb3VuZCwgbWFrZVN0cmluZygiJyR7ZG9tYWluTmFtZX0u
Il9zLCBwcm90b2NvbF9tZXRob2QsICInIHdhcyBub3QgZm91bmQiX3MpKTsKIH0iIiIpCiAKICAg
ICBCYWNrZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uTGFyZ2VTd2l0Y2ggPSAoCkBAIC0xMzks
MjIgKzEzOSwxMyBAQCAke2Rpc3BhdGNoQ2FzZXN9CiAKICAgICB1c2luZyBDYWxsSGFuZGxlciA9
IHZvaWQgKCR7ZG9tYWluTmFtZX1CYWNrZW5kRGlzcGF0Y2hlcjo6KikobG9uZyBwcm90b2NvbF9y
ZXF1ZXN0SWQsIFJlZlB0cjxKU09OOjpPYmplY3Q+JiYgcHJvdG9jb2xfbWVzc2FnZSk7CiAgICAg
dXNpbmcgRGlzcGF0Y2hNYXAgPSBIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRsZXI+OwotICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxEaXNwYXRjaE1hcD4gZGlzcGF0Y2hNYXA7Ci0gICAgaWYgKGRp
c3BhdGNoTWFwLmdldCgpLmlzRW1wdHkoKSkgewotICAgICAgICBzdGF0aWMgY29uc3Qgc3RydWN0
IE1ldGhvZFRhYmxlIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWU7Ci0gICAgICAgICAg
ICBDYWxsSGFuZGxlciBoYW5kbGVyOwotICAgICAgICB9IGNvbW1hbmRzW10gPSB7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPERpc3BhdGNoTWFwPiBkaXNwYXRjaE1hcCA9IERpc3BhdGNoTWFw
KHsKICR7ZGlzcGF0Y2hDYXNlc30KLSAgICAgICAgfTsKLSAgICAgICAgc2l6ZV90IGxlbmd0aCA9
IFdURl9BUlJBWV9MRU5HVEgoY29tbWFuZHMpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxlbmd0aDsgKytpKQotICAgICAgICAgICAgZGlzcGF0Y2hNYXAuZ2V0KCkuYWRkKGNvbW1h
bmRzW2ldLm5hbWUsIGNvbW1hbmRzW2ldLmhhbmRsZXIpOwotICAgIH0KKyAgICB9KTsKIAotICAg
IGF1dG8gZmluZFJlc3VsdCA9IGRpc3BhdGNoTWFwLmdldCgpLmZpbmQocHJvdG9jb2xfbWV0aG9k
KTsKLSAgICBpZiAoZmluZFJlc3VsdCA9PSBkaXNwYXRjaE1hcC5nZXQoKS5lbmQoKSkgewotICAg
ICAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5yZXBvcnRQcm90b2NvbEVycm9yKEJhY2tlbmREaXNw
YXRjaGVyOjpNZXRob2ROb3RGb3VuZCwgIicke2RvbWFpbk5hbWV9LiIgKyBwcm90b2NvbF9tZXRo
b2QgKyAiJyB3YXMgbm90IGZvdW5kIik7CisgICAgYXV0byBmaW5kUmVzdWx0ID0gZGlzcGF0Y2hN
YXAtPmZpbmQocHJvdG9jb2xfbWV0aG9kKTsKKyAgICBpZiAoZmluZFJlc3VsdCA9PSBkaXNwYXRj
aE1hcC0+ZW5kKCkpIHsKKyAgICAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlci0+cmVwb3J0UHJvdG9j
b2xFcnJvcihCYWNrZW5kRGlzcGF0Y2hlcjo6TWV0aG9kTm90Rm91bmQsIG1ha2VTdHJpbmcoIick
e2RvbWFpbk5hbWV9LiJfcywgcHJvdG9jb2xfbWV0aG9kLCAiJyB3YXMgbm90IGZvdW5kIl9zKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3Bh
dGNoZXJfaW1wbGVtZW50YXRpb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVu
dGF0aW9uLnB5CmluZGV4IDhhMTA0NmQ2ODI1Yy4uMjNjNzc0NDcxZWU0IDEwMDc1NQotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9j
cHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5k
X2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKQEAgLTEyMCw3ICsxMjAsNyBAQCBjbGFzcyBD
cHBCYWNrZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKENwcEdlbmVyYXRvcik6
CiAgICAgICAgIGNhc2VzID0gW10KIAogICAgICAgICBmaXJzdF9jb21tYW5kX3N0cmluZyA9ICJc
biIuam9pbihbCi0gICAgICAgICAgICAnICAgIGlmIChwcm90b2NvbF9tZXRob2QgPT0gIiVzIikg
eycgJSBjb21tYW5kc1swXS5jb21tYW5kX25hbWUsCisgICAgICAgICAgICAnICAgIGlmIChwcm90
b2NvbF9tZXRob2QgPT0gIiVzIl9zKSB7JyAlIGNvbW1hbmRzWzBdLmNvbW1hbmRfbmFtZSwKICAg
ICAgICAgICAgICcgICAgICAgICVzKHByb3RvY29sX3JlcXVlc3RJZCwgV1RGTW92ZShwcm90b2Nv
bF9wYXJhbWV0ZXJzKSk7JyAlIGNvbW1hbmRzWzBdLmNvbW1hbmRfbmFtZSwKICAgICAgICAgICAg
ICcgICAgICAgIHJldHVybjsnLAogICAgICAgICAgICAgJyAgICB9JywKQEAgLTEyOSw3ICsxMjks
NyBAQCBjbGFzcyBDcHBCYWNrZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKENw
cEdlbmVyYXRvcik6CiAKICAgICAgICAgZm9yIGNvbW1hbmQgaW4gY29tbWFuZHNbMTpdOgogICAg
ICAgICAgICAgYWRkaXRpb25hbF9jb21tYW5kX3N0cmluZyA9ICJcbiIuam9pbihbCi0gICAgICAg
ICAgICAgICAgJyAgICBpZiAocHJvdG9jb2xfbWV0aG9kID09ICIlcyIpIHsnICUgY29tbWFuZC5j
b21tYW5kX25hbWUsCisgICAgICAgICAgICAgICAgJyAgICBpZiAocHJvdG9jb2xfbWV0aG9kID09
ICIlcyJfcykgeycgJSBjb21tYW5kLmNvbW1hbmRfbmFtZSwKICAgICAgICAgICAgICAgICAnICAg
ICAgICAlcyhwcm90b2NvbF9yZXF1ZXN0SWQsIFdURk1vdmUocHJvdG9jb2xfcGFyYW1ldGVycykp
OycgJSBjb21tYW5kLmNvbW1hbmRfbmFtZSwKICAgICAgICAgICAgICAgICAnICAgICAgICByZXR1
cm47JywKICAgICAgICAgICAgICAgICAnICAgIH0nLApAQCAtMTUyLDcgKzE1Miw3IEBAIGNsYXNz
IENwcEJhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IoQ3BwR2VuZXJhdG9y
KToKICAgICAgICAgICAgICAgICAnZG9tYWluTmFtZSc6IGRvbWFpbi5kb21haW5fbmFtZSwKICAg
ICAgICAgICAgICAgICAnY29tbWFuZE5hbWUnOiBjb21tYW5kLmNvbW1hbmRfbmFtZQogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgY2FzZXMuYXBwZW5kKHNlbGYud3JhcF93aXRoX2d1YXJkX2Zv
cl9jb25kaXRpb24oY29tbWFuZC5jb25kaXRpb24sICcgICAgICAgICAgICB7ICIlKGNvbW1hbmRO
YW1lKXMiLCAmJShkb21haW5OYW1lKXNCYWNrZW5kRGlzcGF0Y2hlcjo6JShjb21tYW5kTmFtZSlz
IH0sJyAlIGFyZ3MpKQorICAgICAgICAgICAgY2FzZXMuYXBwZW5kKHNlbGYud3JhcF93aXRoX2d1
YXJkX2Zvcl9jb25kaXRpb24oY29tbWFuZC5jb25kaXRpb24sICcgICAgICAgIHsgIiUoY29tbWFu
ZE5hbWUpcyJfcywgJiUoZG9tYWluTmFtZSlzQmFja2VuZERpc3BhdGNoZXI6OiUoY29tbWFuZE5h
bWUpcyB9LCcgJSBhcmdzKSkKIAogICAgICAgICBzd2l0Y2hfYXJncyA9IHsKICAgICAgICAgICAg
ICdkb21haW5OYW1lJzogZG9tYWluLmRvbWFpbl9uYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3Rv
Y29sX3R5cGVzX2hlYWRlci5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkKaW5kZXgg
NzgxZDA2ZDk0MDU2Li45NTNiZmI4NzU1NzEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBl
c19oZWFkZXIucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weQpAQCAtMjc2LDcg
KzI3Niw3IEBAIGNsYXNzIENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IoQ3BwR2VuZXJh
dG9yKToKICAgICAgICAgICAgIG9wZW5fbWVtYmVycyA9IEdlbmVyYXRvci5vcGVuX2ZpZWxkcyh0
eXBlX2RlY2xhcmF0aW9uKQogICAgICAgICAgICAgZm9yIHR5cGVfbWVtYmVyIGluIG9wZW5fbWVt
YmVyczoKICAgICAgICAgICAgICAgICBleHBvcnRfbWFjcm8gPSBzZWxmLm1vZGVsKCkuZnJhbWV3
b3JrLnNldHRpbmcoJ2V4cG9ydF9tYWNybycsIE5vbmUpCi0gICAgICAgICAgICAgICAgbGluZXMu
YXBwZW5kKCcgICAgJXMgc3RhdGljIGNvbnN0IGNoYXIqICVzS2V5OycgJSAoZXhwb3J0X21hY3Jv
LCB0eXBlX21lbWJlci5tZW1iZXJfbmFtZSkpCisgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5k
KCcgICAgJXMgc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCAlc0tleTsnICUgKGV4cG9ydF9tYWNy
bywgdHlwZV9tZW1iZXIubWVtYmVyX25hbWUpKQogCiAgICAgICAgIGxpbmVzLmFwcGVuZCgnfTsn
KQogICAgICAgICByZXR1cm4gc2VsZi53cmFwX3dpdGhfZ3VhcmRfZm9yX2NvbmRpdGlvbih0eXBl
X2RlY2xhcmF0aW9uLmNvbmRpdGlvbiwgJ1xuJy5qb2luKGxpbmVzKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19p
bXBsZW1lbnRhdGlvbi5weQppbmRleCAxM2U1ODk3MjZkNGMuLjQ1MmZjNzAxZTg0ZiAxMDA3NTUK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2Vu
ZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90
b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weQpAQCAtOTEsOCArOTEsOCBAQCBjbGFzcyBDcHBQ
cm90b2NvbFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0b3IoQ3BwR2VuZXJhdG9yKToKICAgICAg
ICAgICAgIHJldHVybiBbXQogCiAgICAgICAgIGxpbmVzID0gW10KLSAgICAgICAgbGluZXMuYXBw
ZW5kKCdzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZW51bV9jb25zdGFudF92YWx1ZXNbXSA9IHsn
KQotICAgICAgICBsaW5lcy5leHRlbmQoWycgICAgIiVzIiwnICUgZW51bV92YWx1ZSBmb3IgZW51
bV92YWx1ZSBpbiBzZWxmLmFzc2lnbmVkX2VudW1fdmFsdWVzKCldKQorICAgICAgICBsaW5lcy5h
cHBlbmQoJ3N0YXRpYyBjb25zdCBBU0NJSUxpdGVyYWwgZW51bV9jb25zdGFudF92YWx1ZXNbXSA9
IHsnKQorICAgICAgICBsaW5lcy5leHRlbmQoWycgICAgIiVzIl9zLCcgJSBlbnVtX3ZhbHVlIGZv
ciBlbnVtX3ZhbHVlIGluIHNlbGYuYXNzaWduZWRfZW51bV92YWx1ZXMoKV0pCiAgICAgICAgIGxp
bmVzLmFwcGVuZCgnfTsnKQogICAgICAgICBsaW5lcy5hcHBlbmQoJycpCiAgICAgICAgIGxpbmVz
LmFwcGVuZCgnU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7JykKQEAgLTE4
MSw3ICsxODEsNyBAQCBjbGFzcyBDcHBQcm90b2NvbFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0
b3IoQ3BwR2VuZXJhdG9yKToKICAgICAgICAgICAgIGZvciB0eXBlX2RlY2xhcmF0aW9uIGluIFtk
ZWNsIGZvciBkZWNsIGluIHR5cGVfZGVjbGFyYXRpb25zIGlmIEdlbmVyYXRvci50eXBlX2hhc19v
cGVuX2ZpZWxkcyhkZWNsLnR5cGUpXToKICAgICAgICAgICAgICAgICBvcGVuX21lbWJlcnMgPSBH
ZW5lcmF0b3Iub3Blbl9maWVsZHModHlwZV9kZWNsYXJhdGlvbikKICAgICAgICAgICAgICAgICBm
b3IgdHlwZV9tZW1iZXIgaW4gc29ydGVkKG9wZW5fbWVtYmVycywga2V5PWxhbWJkYSBtZW1iZXI6
IG1lbWJlci5tZW1iZXJfbmFtZSk6Ci0gICAgICAgICAgICAgICAgICAgIGRvbWFpbl9saW5lcy5h
cHBlbmQoJ2NvbnN0IGNoYXIqIFByb3RvY29sOjolczo6JXM6OiVzS2V5ID0gIiVzIjsnICUgKGRv
bWFpbi5kb21haW5fbmFtZSwgdWNmaXJzdCh0eXBlX2RlY2xhcmF0aW9uLnR5cGVfbmFtZSksIHR5
cGVfbWVtYmVyLm1lbWJlcl9uYW1lLCB0eXBlX21lbWJlci5tZW1iZXJfbmFtZSkpCisgICAgICAg
ICAgICAgICAgICAgIGRvbWFpbl9saW5lcy5hcHBlbmQoJ2NvbnN0IEFTQ0lJTGl0ZXJhbCBQcm90
b2NvbDo6JXM6OiVzOjolc0tleSA9ICIlcyJfczsnICUgKGRvbWFpbi5kb21haW5fbmFtZSwgdWNm
aXJzdCh0eXBlX2RlY2xhcmF0aW9uLnR5cGVfbmFtZSksIHR5cGVfbWVtYmVyLm1lbWJlcl9uYW1l
LCB0eXBlX21lbWJlci5tZW1iZXJfbmFtZSkpCiAgICAgICAgICAgICBpZiBsZW4oZG9tYWluX2xp
bmVzKToKICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoc2VsZi53cmFwX3dpdGhfZ3VhcmRf
Zm9yX2NvbmRpdGlvbihkb21haW4uY29uZGl0aW9uLCAnXG4nLmpvaW4oZG9tYWluX2xpbmVzKSkp
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC9jb21tYW5kLXRhcmdldFR5cGUtbWF0Y2hpbmctZG9tYWluLWRlYnVnZ2Fi
bGVUeXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmQtdGFyZ2V0VHlwZS1tYXRjaGluZy1kb21haW4tZGVi
dWdnYWJsZVR5cGUuanNvbi1yZXN1bHQKaW5kZXggNjRmYzM0MGVhZTVmLi4zMmViMzU0NzgzOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9jb21tYW5kLXRhcmdldFR5cGUtbWF0Y2hpbmctZG9tYWluLWRlYnVnZ2FibGVU
eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kLXRhcmdldFR5cGUtbWF0Y2hpbmctZG9tYWluLWRl
YnVnZ2FibGVUeXBlLmpzb24tcmVzdWx0CkBAIC0yMzIsMTIgKzIzMiwxMiBAQCB2b2lkIERvbWFp
bkJhY2tlbmREaXNwYXRjaGVyOjpkaXNwYXRjaChsb25nIHByb3RvY29sX3JlcXVlc3RJZCwgY29u
c3QgU3RyaW5nJiBwcgogCiAgICAgYXV0byBwcm90b2NvbF9wYXJhbWV0ZXJzID0gcHJvdG9jb2xf
bWVzc2FnZS0+Z2V0T2JqZWN0KCJwYXJhbXMiX3MpOwogCi0gICAgaWYgKHByb3RvY29sX21ldGhv
ZCA9PSAiQ29tbWFuZCIpIHsKKyAgICBpZiAocHJvdG9jb2xfbWV0aG9kID09ICJDb21tYW5kIl9z
KSB7CiAgICAgICAgIENvbW1hbmQocHJvdG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHByb3RvY29s
X3BhcmFtZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fYmFja2VuZERp
c3BhdGNoZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5v
dEZvdW5kLCAiJ0RvbWFpbi4iICsgcHJvdG9jb2xfbWV0aG9kICsgIicgd2FzIG5vdCBmb3VuZCIp
OworICAgIG1fYmFja2VuZERpc3BhdGNoZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERp
c3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5kLCBtYWtlU3RyaW5nKCInRG9tYWluLiJfcywgcHJvdG9j
b2xfbWV0aG9kLCAiJyB3YXMgbm90IGZvdW5kIl9zKSk7CiB9CiAKIHZvaWQgRG9tYWluQmFja2Vu
ZERpc3BhdGNoZXI6OkNvbW1hbmQobG9uZyBwcm90b2NvbF9yZXF1ZXN0SWQsIFJlZlB0cjxKU09O
OjpPYmplY3Q+JiYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNv
bi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQKaW5kZXgg
MDUxZjk3MWNhZjU1Li5kOGZhOTc2YzQyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5j
LWF0dHJpYnV0ZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUu
anNvbi1yZXN1bHQKQEAgLTI1NCwyNCArMjU0LDI0IEBAIHZvaWQgRGF0YWJhc2VCYWNrZW5kRGlz
cGF0Y2hlcjo6ZGlzcGF0Y2gobG9uZyBwcm90b2NvbF9yZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYK
IAogICAgIGF1dG8gcHJvdG9jb2xfcGFyYW1ldGVycyA9IHByb3RvY29sX21lc3NhZ2UtPmdldE9i
amVjdCgicGFyYW1zIl9zKTsKIAotICAgIGlmIChwcm90b2NvbF9tZXRob2QgPT0gImV4ZWN1dGVT
UUxTeW5jT3B0aW9uYWxSZXR1cm5WYWx1ZXMiKSB7CisgICAgaWYgKHByb3RvY29sX21ldGhvZCA9
PSAiZXhlY3V0ZVNRTFN5bmNPcHRpb25hbFJldHVyblZhbHVlcyJfcykgewogICAgICAgICBleGVj
dXRlU1FMU3luY09wdGlvbmFsUmV0dXJuVmFsdWVzKHByb3RvY29sX3JlcXVlc3RJZCwgV1RGTW92
ZShwcm90b2NvbF9wYXJhbWV0ZXJzKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYg
KHByb3RvY29sX21ldGhvZCA9PSAiZXhlY3V0ZVNRTEFzeW5jT3B0aW9uYWxSZXR1cm5WYWx1ZXMi
KSB7CisgICAgaWYgKHByb3RvY29sX21ldGhvZCA9PSAiZXhlY3V0ZVNRTEFzeW5jT3B0aW9uYWxS
ZXR1cm5WYWx1ZXMiX3MpIHsKICAgICAgICAgZXhlY3V0ZVNRTEFzeW5jT3B0aW9uYWxSZXR1cm5W
YWx1ZXMocHJvdG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHByb3RvY29sX3BhcmFtZXRlcnMpKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAocHJvdG9jb2xfbWV0aG9kID09ICJleGVj
dXRlU1FMU3luYyIpIHsKKyAgICBpZiAocHJvdG9jb2xfbWV0aG9kID09ICJleGVjdXRlU1FMU3lu
YyJfcykgewogICAgICAgICBleGVjdXRlU1FMU3luYyhwcm90b2NvbF9yZXF1ZXN0SWQsIFdURk1v
dmUocHJvdG9jb2xfcGFyYW1ldGVycykpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlm
IChwcm90b2NvbF9tZXRob2QgPT0gImV4ZWN1dGVTUUxBc3luYyIpIHsKKyAgICBpZiAocHJvdG9j
b2xfbWV0aG9kID09ICJleGVjdXRlU1FMQXN5bmMiX3MpIHsKICAgICAgICAgZXhlY3V0ZVNRTEFz
eW5jKHByb3RvY29sX3JlcXVlc3RJZCwgV1RGTW92ZShwcm90b2NvbF9wYXJhbWV0ZXJzKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5yZXBvcnRQ
cm90b2NvbEVycm9yKEJhY2tlbmREaXNwYXRjaGVyOjpNZXRob2ROb3RGb3VuZCwgIidEYXRhYmFz
ZS4iICsgcHJvdG9jb2xfbWV0aG9kICsgIicgd2FzIG5vdCBmb3VuZCIpOworICAgIG1fYmFja2Vu
ZERpc3BhdGNoZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhv
ZE5vdEZvdW5kLCBtYWtlU3RyaW5nKCInRGF0YWJhc2UuIl9zLCBwcm90b2NvbF9tZXRob2QsICIn
IHdhcyBub3QgZm91bmQiX3MpKTsKIH0KIAogdm9pZCBEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVy
OjpleGVjdXRlU1FMU3luY09wdGlvbmFsUmV0dXJuVmFsdWVzKGxvbmcgcHJvdG9jb2xfcmVxdWVz
dElkLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmIHByb3RvY29sX3BhcmFtZXRlcnMpCkBAIC03NTIs
MTQgKzc1MiwxNCBAQCBuYW1lc3BhY2UgUHJvdG9jb2wgewogCiBuYW1lc3BhY2UgVGVzdEhlbHBl
cnMgewogCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZW51bV9jb25zdGFudF92YWx1ZXNbXSA9
IHsKLSAgICAicmVkIiwKLSAgICAiZ3JlZW4iLAotICAgICJibHVlIiwKLSAgICAiY3lhbiIsCi0g
ICAgIm1hZ2VudGEiLAotICAgICJ5ZWxsb3ciLAotICAgICJibGFjayIsCitzdGF0aWMgY29uc3Qg
QVNDSUlMaXRlcmFsIGVudW1fY29uc3RhbnRfdmFsdWVzW10gPSB7CisgICAgInJlZCJfcywKKyAg
ICAiZ3JlZW4iX3MsCisgICAgImJsdWUiX3MsCisgICAgImN5YW4iX3MsCisgICAgIm1hZ2VudGEi
X3MsCisgICAgInllbGxvdyJfcywKKyAgICAiYmxhY2siX3MsCiB9OwogCiBTdHJpbmcgZ2V0RW51
bUNvbnN0YW50VmFsdWUoaW50IGNvZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlv
bmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRp
b25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CmluZGV4IDlmNDRjNWI3NGZl
Mi4uMTExMzdjYjk3MDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJl
dHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNh
bGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKQEAgLTIzNSwxNiArMjM1LDE2IEBAIHZv
aWQgRGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcjo6ZGlzcGF0Y2gobG9uZyBwcm90b2NvbF9yZXF1
ZXN0SWQsIGNvbnN0IFN0cmluZyYKIAogICAgIGF1dG8gcHJvdG9jb2xfcGFyYW1ldGVycyA9IHBy
b3RvY29sX21lc3NhZ2UtPmdldE9iamVjdCgicGFyYW1zIl9zKTsKIAotICAgIGlmIChwcm90b2Nv
bF9tZXRob2QgPT0gImV4ZWN1dGVBbGxPcHRpb25hbFBhcmFtZXRlcnMiKSB7CisgICAgaWYgKHBy
b3RvY29sX21ldGhvZCA9PSAiZXhlY3V0ZUFsbE9wdGlvbmFsUGFyYW1ldGVycyJfcykgewogICAg
ICAgICBleGVjdXRlQWxsT3B0aW9uYWxQYXJhbWV0ZXJzKHByb3RvY29sX3JlcXVlc3RJZCwgV1RG
TW92ZShwcm90b2NvbF9wYXJhbWV0ZXJzKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAg
aWYgKHByb3RvY29sX21ldGhvZCA9PSAiZXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzIikgewor
ICAgIGlmIChwcm90b2NvbF9tZXRob2QgPT0gImV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVycyJf
cykgewogICAgICAgICBleGVjdXRlTm9PcHRpb25hbFBhcmFtZXRlcnMocHJvdG9jb2xfcmVxdWVz
dElkLCBXVEZNb3ZlKHByb3RvY29sX3BhcmFtZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIG1fYmFja2VuZERpc3BhdGNoZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2Vu
ZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5kLCAiJ0RhdGFiYXNlLiIgKyBwcm90b2NvbF9tZXRo
b2QgKyAiJyB3YXMgbm90IGZvdW5kIik7CisgICAgbV9iYWNrZW5kRGlzcGF0Y2hlci0+cmVwb3J0
UHJvdG9jb2xFcnJvcihCYWNrZW5kRGlzcGF0Y2hlcjo6TWV0aG9kTm90Rm91bmQsIG1ha2VTdHJp
bmcoIidEYXRhYmFzZS4iX3MsIHByb3RvY29sX21ldGhvZCwgIicgd2FzIG5vdCBmb3VuZCJfcykp
OwogfQogCiB2b2lkIERhdGFiYXNlQmFja2VuZERpc3BhdGNoZXI6OmV4ZWN1dGVBbGxPcHRpb25h
bFBhcmFtZXRlcnMobG9uZyBwcm90b2NvbF9yZXF1ZXN0SWQsIFJlZlB0cjxKU09OOjpPYmplY3Q+
JiYgcHJvdG9jb2xfcGFyYW1ldGVycykKQEAgLTY2NSwxNCArNjY1LDE0IEBAIG5hbWVzcGFjZSBQ
cm90b2NvbCB7CiAKIG5hbWVzcGFjZSBUZXN0SGVscGVycyB7CiAKLXN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBlbnVtX2NvbnN0YW50X3ZhbHVlc1tdID0gewotICAgICJyZWQiLAotICAgICJncmVl
biIsCi0gICAgImJsdWUiLAotICAgICJjeWFuIiwKLSAgICAibWFnZW50YSIsCi0gICAgInllbGxv
dyIsCi0gICAgImJsYWNrIiwKK3N0YXRpYyBjb25zdCBBU0NJSUxpdGVyYWwgZW51bV9jb25zdGFu
dF92YWx1ZXNbXSA9IHsKKyAgICAicmVkIl9zLAorICAgICJncmVlbiJfcywKKyAgICAiYmx1ZSJf
cywKKyAgICAiY3lhbiJfcywKKyAgICAibWFnZW50YSJfcywKKyAgICAieWVsbG93Il9zLAorICAg
ICJibGFjayJfcywKIH07CiAKIFN0cmluZyBnZXRFbnVtQ29uc3RhbnRWYWx1ZShpbnQgY29kZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Rl
ZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CmluZGV4IDYzNWE5ZmJjZDRk
ZC4uNzk0Y2QzY2ZlMzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0u
anNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0
CkBAIC0yNTYsMTMgKzI1NiwxMyBAQCB2b2lkIE5ldHdvcmtCYWNrZW5kRGlzcGF0Y2hlcjo6ZGlz
cGF0Y2gobG9uZyBwcm90b2NvbF9yZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgcAogICAgIGF1dG8g
cHJvdG9jb2xfcGFyYW1ldGVycyA9IHByb3RvY29sX21lc3NhZ2UtPmdldE9iamVjdCgicGFyYW1z
Il9zKTsKIAogI2lmIENPTU1BTkQtTUFDCi0gICAgaWYgKHByb3RvY29sX21ldGhvZCA9PSAibG9h
ZFJlc291cmNlIikgeworICAgIGlmIChwcm90b2NvbF9tZXRob2QgPT0gImxvYWRSZXNvdXJjZSJf
cykgewogICAgICAgICBsb2FkUmVzb3VyY2UocHJvdG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHBy
b3RvY29sX3BhcmFtZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRpZiAvLyBD
T01NQU5ELU1BQwogCi0gICAgbV9iYWNrZW5kRGlzcGF0Y2hlci0+cmVwb3J0UHJvdG9jb2xFcnJv
cihCYWNrZW5kRGlzcGF0Y2hlcjo6TWV0aG9kTm90Rm91bmQsICInTmV0d29yay4iICsgcHJvdG9j
b2xfbWV0aG9kICsgIicgd2FzIG5vdCBmb3VuZCIpOworICAgIG1fYmFja2VuZERpc3BhdGNoZXIt
PnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5kLCBt
YWtlU3RyaW5nKCInTmV0d29yay4iX3MsIHByb3RvY29sX21ldGhvZCwgIicgd2FzIG5vdCBmb3Vu
ZCJfcykpOwogfQogCiAjaWYgQ09NTUFORC1NQUMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW4tZGVidWdnYWJs
ZVR5cGVzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbi1kZWJ1Z2dhYmxlVHlwZXMuanNvbi1yZXN1bHQKaW5k
ZXggYWM3ZTQ5ZDE5NzBkLi41Zjk0NGQ1YWUwOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW4tZGVidWdnYWJs
ZVR5cGVzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW4tZGVidWdnYWJsZVR5cGVzLmpzb24tcmVzdWx0
CkBAIC0yMzIsMTIgKzIzMiwxMiBAQCB2b2lkIERvbWFpbkJhY2tlbmREaXNwYXRjaGVyOjpkaXNw
YXRjaChsb25nIHByb3RvY29sX3JlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBwcgogCiAgICAgYXV0
byBwcm90b2NvbF9wYXJhbWV0ZXJzID0gcHJvdG9jb2xfbWVzc2FnZS0+Z2V0T2JqZWN0KCJwYXJh
bXMiX3MpOwogCi0gICAgaWYgKHByb3RvY29sX21ldGhvZCA9PSAiQ29tbWFuZCIpIHsKKyAgICBp
ZiAocHJvdG9jb2xfbWV0aG9kID09ICJDb21tYW5kIl9zKSB7CiAgICAgICAgIENvbW1hbmQocHJv
dG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHByb3RvY29sX3BhcmFtZXRlcnMpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIG1fYmFja2VuZERpc3BhdGNoZXItPnJlcG9ydFByb3RvY29s
RXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5kLCAiJ0RvbWFpbi4iICsgcHJv
dG9jb2xfbWV0aG9kICsgIicgd2FzIG5vdCBmb3VuZCIpOworICAgIG1fYmFja2VuZERpc3BhdGNo
ZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5k
LCBtYWtlU3RyaW5nKCInRG9tYWluLiJfcywgcHJvdG9jb2xfbWV0aG9kLCAiJyB3YXMgbm90IGZv
dW5kIl9zKSk7CiB9CiAKIHZvaWQgRG9tYWluQmFja2VuZERpc3BhdGNoZXI6OkNvbW1hbmQobG9u
ZyBwcm90b2NvbF9yZXF1ZXN0SWQsIFJlZlB0cjxKU09OOjpPYmplY3Q+JiYpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
ZG9tYWluLXRhcmdldFR5cGUtbWF0Y2hpbmctZG9tYWluLWRlYnVnZ2FibGVUeXBlLmpzb24tcmVz
dWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL2RvbWFpbi10YXJnZXRUeXBlLW1hdGNoaW5nLWRvbWFpbi1kZWJ1Z2dhYmxlVHlwZS5qc29u
LXJlc3VsdAppbmRleCBlYjllNTAwMzU3OTQuLmI4ODg2MmI1MzI5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFp
bi10YXJnZXRUeXBlLW1hdGNoaW5nLWRvbWFpbi1kZWJ1Z2dhYmxlVHlwZS5qc29uLXJlc3VsdAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0
ZWQvZG9tYWluLXRhcmdldFR5cGUtbWF0Y2hpbmctZG9tYWluLWRlYnVnZ2FibGVUeXBlLmpzb24t
cmVzdWx0CkBAIC0yMzIsMTIgKzIzMiwxMiBAQCB2b2lkIERvbWFpbkJhY2tlbmREaXNwYXRjaGVy
OjpkaXNwYXRjaChsb25nIHByb3RvY29sX3JlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBwcgogCiAg
ICAgYXV0byBwcm90b2NvbF9wYXJhbWV0ZXJzID0gcHJvdG9jb2xfbWVzc2FnZS0+Z2V0T2JqZWN0
KCJwYXJhbXMiX3MpOwogCi0gICAgaWYgKHByb3RvY29sX21ldGhvZCA9PSAiQ29tbWFuZCIpIHsK
KyAgICBpZiAocHJvdG9jb2xfbWV0aG9kID09ICJDb21tYW5kIl9zKSB7CiAgICAgICAgIENvbW1h
bmQocHJvdG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHByb3RvY29sX3BhcmFtZXRlcnMpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fYmFja2VuZERpc3BhdGNoZXItPnJlcG9ydFBy
b3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5kLCAiJ0RvbWFpbi4i
ICsgcHJvdG9jb2xfbWV0aG9kICsgIicgd2FzIG5vdCBmb3VuZCIpOworICAgIG1fYmFja2VuZERp
c3BhdGNoZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5v
dEZvdW5kLCBtYWtlU3RyaW5nKCInRG9tYWluLiJfcywgcHJvdG9jb2xfbWV0aG9kLCAiJyB3YXMg
bm90IGZvdW5kIl9zKSk7CiB9CiAKIHZvaWQgRG9tYWluQmFja2VuZERpc3BhdGNoZXI6OkNvbW1h
bmQobG9uZyBwcm90b2NvbF9yZXF1ZXN0SWQsIFJlZlB0cjxKU09OOjpPYmplY3Q+JiYpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvZG9tYWluLXRhcmdldFR5cGVzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbi10YXJnZXRUeXBlcy5q
c29uLXJlc3VsdAppbmRleCBiODhjNDM0ZTdjYWUuLjM5YzMyNWEyYzQ5NiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Rv
bWFpbi10YXJnZXRUeXBlcy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWluLXRhcmdldFR5cGVzLmpzb24t
cmVzdWx0CkBAIC0yMzIsMTIgKzIzMiwxMiBAQCB2b2lkIERvbWFpbkJhY2tlbmREaXNwYXRjaGVy
OjpkaXNwYXRjaChsb25nIHByb3RvY29sX3JlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBwcgogCiAg
ICAgYXV0byBwcm90b2NvbF9wYXJhbWV0ZXJzID0gcHJvdG9jb2xfbWVzc2FnZS0+Z2V0T2JqZWN0
KCJwYXJhbXMiX3MpOwogCi0gICAgaWYgKHByb3RvY29sX21ldGhvZCA9PSAiQ29tbWFuZCIpIHsK
KyAgICBpZiAocHJvdG9jb2xfbWV0aG9kID09ICJDb21tYW5kIl9zKSB7CiAgICAgICAgIENvbW1h
bmQocHJvdG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHByb3RvY29sX3BhcmFtZXRlcnMpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fYmFja2VuZERpc3BhdGNoZXItPnJlcG9ydFBy
b3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5kLCAiJ0RvbWFpbi4i
ICsgcHJvdG9jb2xfbWV0aG9kICsgIicgd2FzIG5vdCBmb3VuZCIpOworICAgIG1fYmFja2VuZERp
c3BhdGNoZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5v
dEZvdW5kLCBtYWtlU3RyaW5nKCInRG9tYWluLiJfcywgcHJvdG9jb2xfbWV0aG9kLCAiJyB3YXMg
bm90IGZvdW5kIl9zKSk7CiB9CiAKIHZvaWQgRG9tYWluQmFja2VuZERpc3BhdGNoZXI6OkNvbW1h
bmQobG9uZyBwcm90b2NvbF9yZXF1ZXN0SWQsIFJlZlB0cjxKU09OOjpPYmplY3Q+JiYpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21h
aW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24tcmVzdWx0CmluZGV4IDg2OTM3ZDU1
YjA0Zi4uMDIzNDk4MzcyYzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFu
ZC1zaXplcy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXpl
cy5qc29uLXJlc3VsdApAQCAtMjkxLDEyICsyOTEsMTIgQEAgdm9pZCBOZXR3b3JrMUJhY2tlbmRE
aXNwYXRjaGVyOjpkaXNwYXRjaChsb25nIHByb3RvY29sX3JlcXVlc3RJZCwgY29uc3QgU3RyaW5n
JgogCiAgICAgYXV0byBwcm90b2NvbF9wYXJhbWV0ZXJzID0gcHJvdG9jb2xfbWVzc2FnZS0+Z2V0
T2JqZWN0KCJwYXJhbXMiX3MpOwogCi0gICAgaWYgKHByb3RvY29sX21ldGhvZCA9PSAibG9hZFJl
c291cmNlMSIpIHsKKyAgICBpZiAocHJvdG9jb2xfbWV0aG9kID09ICJsb2FkUmVzb3VyY2UxIl9z
KSB7CiAgICAgICAgIGxvYWRSZXNvdXJjZTEocHJvdG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHBy
b3RvY29sX3BhcmFtZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fYmFj
a2VuZERpc3BhdGNoZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1l
dGhvZE5vdEZvdW5kLCAiJ05ldHdvcmsxLiIgKyBwcm90b2NvbF9tZXRob2QgKyAiJyB3YXMgbm90
IGZvdW5kIik7CisgICAgbV9iYWNrZW5kRGlzcGF0Y2hlci0+cmVwb3J0UHJvdG9jb2xFcnJvcihC
YWNrZW5kRGlzcGF0Y2hlcjo6TWV0aG9kTm90Rm91bmQsIG1ha2VTdHJpbmcoIidOZXR3b3JrMS4i
X3MsIHByb3RvY29sX21ldGhvZCwgIicgd2FzIG5vdCBmb3VuZCJfcykpOwogfQogCiB2b2lkIE5l
dHdvcmsxQmFja2VuZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZTEobG9uZyBwcm90b2NvbF9yZXF1
ZXN0SWQsIFJlZlB0cjxKU09OOjpPYmplY3Q+JiYpCkBAIC0zMzksMjggKzMzOSwxOSBAQCB2b2lk
IE5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6OmRpc3BhdGNoKGxvbmcgcHJvdG9jb2xfcmVxdWVz
dElkLCBjb25zdCBTdHJpbmcmCiAKICAgICB1c2luZyBDYWxsSGFuZGxlciA9IHZvaWQgKE5ldHdv
cmszQmFja2VuZERpc3BhdGNoZXI6OiopKGxvbmcgcHJvdG9jb2xfcmVxdWVzdElkLCBSZWZQdHI8
SlNPTjo6T2JqZWN0PiYmIHByb3RvY29sX21lc3NhZ2UpOwogICAgIHVzaW5nIERpc3BhdGNoTWFw
ID0gSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPjsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8RGlzcGF0Y2hNYXA+IGRpc3BhdGNoTWFwOwotICAgIGlmIChkaXNwYXRjaE1hcC5nZXQoKS5p
c0VtcHR5KCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHN0cnVjdCBNZXRob2RUYWJsZSB7Ci0g
ICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lOwotICAgICAgICAgICAgQ2FsbEhhbmRsZXIgaGFu
ZGxlcjsKLSAgICAgICAgfSBjb21tYW5kc1tdID0gewotICAgICAgICAgICAgeyAibG9hZFJlc291
cmNlMSIsICZOZXR3b3JrM0JhY2tlbmREaXNwYXRjaGVyOjpsb2FkUmVzb3VyY2UxIH0sCi0gICAg
ICAgICAgICB7ICJsb2FkUmVzb3VyY2UyIiwgJk5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6Omxv
YWRSZXNvdXJjZTIgfSwKLSAgICAgICAgICAgIHsgImxvYWRSZXNvdXJjZTMiLCAmTmV0d29yazNC
YWNrZW5kRGlzcGF0Y2hlcjo6bG9hZFJlc291cmNlMyB9LAotICAgICAgICAgICAgeyAibG9hZFJl
c291cmNlNCIsICZOZXR3b3JrM0JhY2tlbmREaXNwYXRjaGVyOjpsb2FkUmVzb3VyY2U0IH0sCi0g
ICAgICAgICAgICB7ICJsb2FkUmVzb3VyY2U1IiwgJk5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6
OmxvYWRSZXNvdXJjZTUgfSwKLSAgICAgICAgICAgIHsgImxvYWRSZXNvdXJjZTYiLCAmTmV0d29y
azNCYWNrZW5kRGlzcGF0Y2hlcjo6bG9hZFJlc291cmNlNiB9LAotICAgICAgICAgICAgeyAibG9h
ZFJlc291cmNlNyIsICZOZXR3b3JrM0JhY2tlbmREaXNwYXRjaGVyOjpsb2FkUmVzb3VyY2U3IH0s
Ci0gICAgICAgIH07Ci0gICAgICAgIHNpemVfdCBsZW5ndGggPSBXVEZfQVJSQVlfTEVOR1RIKGNv
bW1hbmRzKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKLSAg
ICAgICAgICAgIGRpc3BhdGNoTWFwLmdldCgpLmFkZChjb21tYW5kc1tpXS5uYW1lLCBjb21tYW5k
c1tpXS5oYW5kbGVyKTsKLSAgICB9CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPERpc3BhdGNo
TWFwPiBkaXNwYXRjaE1hcCA9IERpc3BhdGNoTWFwKHsKKyAgICAgICAgeyAibG9hZFJlc291cmNl
MSJfcywgJk5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZTEgfSwKKyAgICAg
ICAgeyAibG9hZFJlc291cmNlMiJfcywgJk5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6OmxvYWRS
ZXNvdXJjZTIgfSwKKyAgICAgICAgeyAibG9hZFJlc291cmNlMyJfcywgJk5ldHdvcmszQmFja2Vu
ZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZTMgfSwKKyAgICAgICAgeyAibG9hZFJlc291cmNlNCJf
cywgJk5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZTQgfSwKKyAgICAgICAg
eyAibG9hZFJlc291cmNlNSJfcywgJk5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6OmxvYWRSZXNv
dXJjZTUgfSwKKyAgICAgICAgeyAibG9hZFJlc291cmNlNiJfcywgJk5ldHdvcmszQmFja2VuZERp
c3BhdGNoZXI6OmxvYWRSZXNvdXJjZTYgfSwKKyAgICAgICAgeyAibG9hZFJlc291cmNlNyJfcywg
Jk5ldHdvcmszQmFja2VuZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZTcgfSwKKyAgICB9KTsKIAot
ICAgIGF1dG8gZmluZFJlc3VsdCA9IGRpc3BhdGNoTWFwLmdldCgpLmZpbmQocHJvdG9jb2xfbWV0
aG9kKTsKLSAgICBpZiAoZmluZFJlc3VsdCA9PSBkaXNwYXRjaE1hcC5nZXQoKS5lbmQoKSkgewot
ICAgICAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5yZXBvcnRQcm90b2NvbEVycm9yKEJhY2tlbmRE
aXNwYXRjaGVyOjpNZXRob2ROb3RGb3VuZCwgIidOZXR3b3JrMy4iICsgcHJvdG9jb2xfbWV0aG9k
ICsgIicgd2FzIG5vdCBmb3VuZCIpOworICAgIGF1dG8gZmluZFJlc3VsdCA9IGRpc3BhdGNoTWFw
LT5maW5kKHByb3RvY29sX21ldGhvZCk7CisgICAgaWYgKGZpbmRSZXN1bHQgPT0gZGlzcGF0Y2hN
YXAtPmVuZCgpKSB7CisgICAgICAgIG1fYmFja2VuZERpc3BhdGNoZXItPnJlcG9ydFByb3RvY29s
RXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5kLCBtYWtlU3RyaW5nKCInTmV0
d29yazMuIl9zLCBwcm90b2NvbF9tZXRob2QsICInIHdhcyBub3QgZm91bmQiX3MpKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Vu
dW0tdmFsdWVzLmpzb24tcmVzdWx0CmluZGV4IGFiYTk3NzEwMTNiMy4uNTljZTczYzRhOTc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVz
dWx0CkBAIC0yNDMsMTIgKzI0MywxMiBAQCB2b2lkIENvbW1hbmREb21haW5CYWNrZW5kRGlzcGF0
Y2hlcjo6ZGlzcGF0Y2gobG9uZyBwcm90b2NvbF9yZXF1ZXN0SWQsIGNvbnN0IFN0cgogCiAgICAg
YXV0byBwcm90b2NvbF9wYXJhbWV0ZXJzID0gcHJvdG9jb2xfbWVzc2FnZS0+Z2V0T2JqZWN0KCJw
YXJhbXMiX3MpOwogCi0gICAgaWYgKHByb3RvY29sX21ldGhvZCA9PSAiY29tbWFuZCIpIHsKKyAg
ICBpZiAocHJvdG9jb2xfbWV0aG9kID09ICJjb21tYW5kIl9zKSB7CiAgICAgICAgIGNvbW1hbmQo
cHJvdG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHByb3RvY29sX3BhcmFtZXRlcnMpKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fYmFja2VuZERpc3BhdGNoZXItPnJlcG9ydFByb3Rv
Y29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5kLCAiJ0NvbW1hbmREb21h
aW4uIiArIHByb3RvY29sX21ldGhvZCArICInIHdhcyBub3QgZm91bmQiKTsKKyAgICBtX2JhY2tl
bmREaXNwYXRjaGVyLT5yZXBvcnRQcm90b2NvbEVycm9yKEJhY2tlbmREaXNwYXRjaGVyOjpNZXRo
b2ROb3RGb3VuZCwgbWFrZVN0cmluZygiJ0NvbW1hbmREb21haW4uIl9zLCBwcm90b2NvbF9tZXRo
b2QsICInIHdhcyBub3QgZm91bmQiX3MpKTsKIH0KIAogdm9pZCBDb21tYW5kRG9tYWluQmFja2Vu
ZERpc3BhdGNoZXI6OmNvbW1hbmQobG9uZyBwcm90b2NvbF9yZXF1ZXN0SWQsIFJlZlB0cjxKU09O
OjpPYmplY3Q+JiYgcHJvdG9jb2xfcGFyYW1ldGVycykKQEAgLTU2NiwxOCArNTY2LDE4IEBAIG5h
bWVzcGFjZSBQcm90b2NvbCB7CiAKIG5hbWVzcGFjZSBUZXN0SGVscGVycyB7CiAKLXN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBlbnVtX2NvbnN0YW50X3ZhbHVlc1tdID0gewotICAgICJzaGFyZWQi
LAotICAgICIxIiwKLSAgICAiMiIsCi0gICAgInNoYXJlZFJlcXVpcmVkIiwKLSAgICAiZ3JleSIs
Ci0gICAgInNoYXJlZE9wdGlvbmFsIiwKLSAgICAiZ3JlZW4iLAotICAgICJibGFjayIsCi0gICAg
InJlZCIsCi0gICAgIndoaXRlIiwKLSAgICAiYmx1ZSIsCitzdGF0aWMgY29uc3QgQVNDSUlMaXRl
cmFsIGVudW1fY29uc3RhbnRfdmFsdWVzW10gPSB7CisgICAgInNoYXJlZCJfcywKKyAgICAiMSJf
cywKKyAgICAiMiJfcywKKyAgICAic2hhcmVkUmVxdWlyZWQiX3MsCisgICAgImdyZXkiX3MsCisg
ICAgInNoYXJlZE9wdGlvbmFsIl9zLAorICAgICJncmVlbiJfcywKKyAgICAiYmxhY2siX3MsCisg
ICAgInJlZCJfcywKKyAgICAid2hpdGUiX3MsCisgICAgImJsdWUiX3MsCiB9OwogCiBTdHJpbmcg
Z2V0RW51bUNvbnN0YW50VmFsdWUoaW50IGNvZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudC10YXJnZXRU
eXBlLW1hdGNoaW5nLWRvbWFpbi1kZWJ1Z2dhYmxlVHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudC10YXJn
ZXRUeXBlLW1hdGNoaW5nLWRvbWFpbi1kZWJ1Z2dhYmxlVHlwZS5qc29uLXJlc3VsdAppbmRleCA2
MjNjNGIxZjM3MTQuLjBhYTJkMjZiNzY0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2V2ZW50LXRhcmdldFR5cGUtbWF0
Y2hpbmctZG9tYWluLWRlYnVnZ2FibGVUeXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudC10YXJnZXRU
eXBlLW1hdGNoaW5nLWRvbWFpbi1kZWJ1Z2dhYmxlVHlwZS5qc29uLXJlc3VsdApAQCAtMjMyLDEy
ICsyMzIsMTIgQEAgdm9pZCBEb21haW5CYWNrZW5kRGlzcGF0Y2hlcjo6ZGlzcGF0Y2gobG9uZyBw
cm90b2NvbF9yZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgcHIKIAogICAgIGF1dG8gcHJvdG9jb2xf
cGFyYW1ldGVycyA9IHByb3RvY29sX21lc3NhZ2UtPmdldE9iamVjdCgicGFyYW1zIl9zKTsKIAot
ICAgIGlmIChwcm90b2NvbF9tZXRob2QgPT0gIkNvbW1hbmQiKSB7CisgICAgaWYgKHByb3RvY29s
X21ldGhvZCA9PSAiQ29tbWFuZCJfcykgewogICAgICAgICBDb21tYW5kKHByb3RvY29sX3JlcXVl
c3RJZCwgV1RGTW92ZShwcm90b2NvbF9wYXJhbWV0ZXJzKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5yZXBvcnRQcm90b2NvbEVycm9yKEJhY2tl
bmREaXNwYXRjaGVyOjpNZXRob2ROb3RGb3VuZCwgIidEb21haW4uIiArIHByb3RvY29sX21ldGhv
ZCArICInIHdhcyBub3QgZm91bmQiKTsKKyAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5yZXBvcnRQ
cm90b2NvbEVycm9yKEJhY2tlbmREaXNwYXRjaGVyOjpNZXRob2ROb3RGb3VuZCwgbWFrZVN0cmlu
ZygiJ0RvbWFpbi4iX3MsIHByb3RvY29sX21ldGhvZCwgIicgd2FzIG5vdCBmb3VuZCJfcykpOwog
fQogCiB2b2lkIERvbWFpbkJhY2tlbmREaXNwYXRjaGVyOjpDb21tYW5kKGxvbmcgcHJvdG9jb2xf
cmVxdWVzdElkLCBSZWZQdHI8SlNPTjo6T2JqZWN0PiYmKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2dlbmVyYXRlLWRv
bWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1kb21haW5zLXdp
dGgtZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1bHQKaW5kZXggZTdiMDU4ZTc1MThhLi4xMDZmY2Q3
OGI2MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJl
c3VsdApAQCAtMjM2LDEyICsyMzYsMTIgQEAgdm9pZCBOZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVy
OjpkaXNwYXRjaChsb25nIHByb3RvY29sX3JlcXVlc3RJZCwgY29uc3QgU3RyaW5nJgogCiAgICAg
YXV0byBwcm90b2NvbF9wYXJhbWV0ZXJzID0gcHJvdG9jb2xfbWVzc2FnZS0+Z2V0T2JqZWN0KCJw
YXJhbXMiX3MpOwogCi0gICAgaWYgKHByb3RvY29sX21ldGhvZCA9PSAibG9hZFJlc291cmNlIikg
eworICAgIGlmIChwcm90b2NvbF9tZXRob2QgPT0gImxvYWRSZXNvdXJjZSJfcykgewogICAgICAg
ICBsb2FkUmVzb3VyY2UocHJvdG9jb2xfcmVxdWVzdElkLCBXVEZNb3ZlKHByb3RvY29sX3BhcmFt
ZXRlcnMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fYmFja2VuZERpc3BhdGNo
ZXItPnJlcG9ydFByb3RvY29sRXJyb3IoQmFja2VuZERpc3BhdGNoZXI6Ok1ldGhvZE5vdEZvdW5k
LCAiJ05ldHdvcmsxLiIgKyBwcm90b2NvbF9tZXRob2QgKyAiJyB3YXMgbm90IGZvdW5kIik7Cisg
ICAgbV9iYWNrZW5kRGlzcGF0Y2hlci0+cmVwb3J0UHJvdG9jb2xFcnJvcihCYWNrZW5kRGlzcGF0
Y2hlcjo6TWV0aG9kTm90Rm91bmQsIG1ha2VTdHJpbmcoIidOZXR3b3JrMS4iX3MsIHByb3RvY29s
X21ldGhvZCwgIicgd2FzIG5vdCBmb3VuZCJfcykpOwogfQogCiB2b2lkIE5ldHdvcmsxQmFja2Vu
ZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZShsb25nIHByb3RvY29sX3JlcXVlc3RJZCwgUmVmUHRy
PEpTT046Ok9iamVjdD4mJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRl
cnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0
CmluZGV4IDhlY2VjYzcwMTAzNC4uMTgyNDkyMWE0Y2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0
aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBl
LXNldHRlcnMuanNvbi1yZXN1bHQKQEAgLTQ2OCwxMCArNDY4LDEwIEBAIG5hbWVzcGFjZSBQcm90
b2NvbCB7CiAKIG5hbWVzcGFjZSBUZXN0SGVscGVycyB7CiAKLXN0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBlbnVtX2NvbnN0YW50X3ZhbHVlc1tdID0gewotICAgICJudWxsIiwKLSAgICAic3RyaW5n
IiwKLSAgICAiYXJyYXkiLAorc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBlbnVtX2NvbnN0YW50
X3ZhbHVlc1tdID0geworICAgICJudWxsIl9zLAorICAgICJzdHJpbmciX3MsCisgICAgImFycmF5
Il9zLAogfTsKIAogU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFy
YXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdAppbmRleCA5NDBmMTU4MGJkYzEuLmE1ZjQ4NWYx
MzJkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0
ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0CkBAIC00MjgsMTAgKzQy
OCwxMCBAQCBuYW1lc3BhY2UgUHJvdG9jb2wgewogCiBuYW1lc3BhY2UgVGVzdEhlbHBlcnMgewog
Ci1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgZW51bV9jb25zdGFudF92YWx1ZXNbXSA9IHsKLSAg
ICAiRGllZCIsCi0gICAgIkZhaW50ZWQiLAotICAgICJIdW5ncnkiLAorc3RhdGljIGNvbnN0IEFT
Q0lJTGl0ZXJhbCBlbnVtX2NvbnN0YW50X3ZhbHVlc1tdID0geworICAgICJEaWVkIl9zLAorICAg
ICJGYWludGVkIl9zLAorICAgICJIdW5ncnkiX3MsCiB9OwogCiBTdHJpbmcgZ2V0RW51bUNvbnN0
YW50VmFsdWUoaW50IGNvZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlw
ZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdAppbmRl
eCA5NTExNmJjNTBhYmYuLmE3ZWNhZjQ1ZDFlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24t
ZW51bS10eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29u
LXJlc3VsdApAQCAtNDI5LDE0ICs0MjksMTQgQEAgbmFtZXNwYWNlIFByb3RvY29sIHsKIAogbmFt
ZXNwYWNlIFRlc3RIZWxwZXJzIHsKIAotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGVudW1fY29u
c3RhbnRfdmFsdWVzW10gPSB7Ci0gICAgIlBpZ3MiLAotICAgICJDb3dzIiwKLSAgICAiQ2F0cyIs
Ci0gICAgIkhlbnMiLAotICAgICJEdWNrcyIsCi0gICAgIkNyb3dzIiwKLSAgICAiRmxhbWluZ29z
IiwKK3N0YXRpYyBjb25zdCBBU0NJSUxpdGVyYWwgZW51bV9jb25zdGFudF92YWx1ZXNbXSA9IHsK
KyAgICAiUGlncyJfcywKKyAgICAiQ293cyJfcywKKyAgICAiQ2F0cyJfcywKKyAgICAiSGVucyJf
cywKKyAgICAiRHVja3MiX3MsCisgICAgIkNyb3dzIl9zLAorICAgICJGbGFtaW5nb3MiX3MsCiB9
OwogCiBTdHJpbmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoaW50IGNvZGUpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24t
b2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggYmE5ZjE3YzYyNTBkLi44ZWQ3NjExNmE3MzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0CkBAIC0xMDA4LDEzICsxMDA4
LDEzIEBAIG5hbWVzcGFjZSBQcm90b2NvbCB7CiAKIG5hbWVzcGFjZSBUZXN0SGVscGVycyB7CiAK
LXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBlbnVtX2NvbnN0YW50X3ZhbHVlc1tdID0gewotICAg
ICJOb25lIiwKLSAgICAiTGVmdCIsCi0gICAgIk1pZGRsZSIsCi0gICAgIlJpZ2h0IiwKLSAgICAi
TFRSIiwKLSAgICAiUlRMIiwKK3N0YXRpYyBjb25zdCBBU0NJSUxpdGVyYWwgZW51bV9jb25zdGFu
dF92YWx1ZXNbXSA9IHsKKyAgICAiTm9uZSJfcywKKyAgICAiTGVmdCJfcywKKyAgICAiTWlkZGxl
Il9zLAorICAgICJSaWdodCJfcywKKyAgICAiTFRSIl9zLAorICAgICJSVEwiX3MsCiB9OwogCiBT
dHJpbmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoaW50IGNvZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJl
cXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUt
Y2FzdHMuanNvbi1yZXN1bHQKaW5kZXggNGRlMDRhYjRiNmQ5Li5iZWEyNjQ2ZDFlZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBl
Y3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJl
cXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CkBAIC02NDYsMTQgKzY0NiwxNCBAQCBu
YW1lc3BhY2UgUHJvdG9jb2wgewogCiBuYW1lc3BhY2UgVGVzdEhlbHBlcnMgewogCi1zdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgZW51bV9jb25zdGFudF92YWx1ZXNbXSA9IHsKLSAgICAiRHVja3Mi
LAotICAgICJIZW5zIiwKLSAgICAiQ3Jvd3MiLAotICAgICJGbGFtaW5nb3MiLAotICAgICJQaWdz
IiwKLSAgICAiQ293cyIsCi0gICAgIkNhdHMiLAorc3RhdGljIGNvbnN0IEFTQ0lJTGl0ZXJhbCBl
bnVtX2NvbnN0YW50X3ZhbHVlc1tdID0geworICAgICJEdWNrcyJfcywKKyAgICAiSGVucyJfcywK
KyAgICAiQ3Jvd3MiX3MsCisgICAgIkZsYW1pbmdvcyJfcywKKyAgICAiUGlncyJfcywKKyAgICAi
Q293cyJfcywKKyAgICAiQ2F0cyJfcywKIH07CiAKIFN0cmluZyBnZXRFbnVtQ29uc3RhbnRWYWx1
ZShpbnQgY29kZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1y
ZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvdHlwZS13aXRoLW9wZW4tcGFyYW1ldGVycy5qc29uLXJlc3VsdAppbmRleCBiOTg0Y2Iw
N2MyYjMuLjZhZGRhYjM1ZGRlNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMu
anNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKQEAg
LTQ1Myw3ICs0NTMsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gUHJvcGVydHkgbmFtZXMg
Zm9yIHR5cGUgZ2VuZXJhdGVkIGFzIG9wZW4uCi0gICAgTm9uZSBzdGF0aWMgY29uc3QgY2hhciog
YWxwaGFLZXk7CisgICAgTm9uZSBzdGF0aWMgY29uc3QgQVNDSUlMaXRlcmFsIGFscGhhS2V5Owog
fTsKIAogfSAvLyBUZXN0CkBAIC01MDQsNyArNTA0LDcgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7
CiAKIG5hbWVzcGFjZSBQcm90b2NvbCB7CiAKLWNvbnN0IGNoYXIqIFByb3RvY29sOjpUZXN0OjpP
cGVuUGFyYW1ldGVyczo6YWxwaGFLZXkgPSAiYWxwaGEiOworY29uc3QgQVNDSUlMaXRlcmFsIFBy
b3RvY29sOjpUZXN0OjpPcGVuUGFyYW1ldGVyczo6YWxwaGFLZXkgPSAiYWxwaGEiX3M7CiAKIH0g
Ly8gbmFtZXNwYWNlIFByb3RvY29sCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCAwZWRhYjAzNDQxZTUuLjI4MzJhNzM0OWI3YSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTExLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBlbnN1cmUgdGhhdCBgSlNPTjo6QXJyYXlPZjxUPmAgZG9lc24ndCBh
bGxvdyBgYWRkSXRlbWAgdG8gYmUgY2FsbGVkIHdpdGggYSB0eXBlIG90aGVyIHRoYW4gYFRgCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg2ODYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL0pTT05WYWx1ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgVXNlIGBfc2AgYW5kIGBtYWtlU3RyaW5nYCB0byBlbnN1cmUgdGhhdCB0
aGUgYFN0cmluZ2AgZnVuY3Rpb24gb3ZlcmxvYWQgaXMgdXNlZC4KKwogMjAyMC0xMS0wNiAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JF
U1NJT04gKHIyNjk0MzUpOiBbaU9TIERlYnVnXSBBU1NFUlRJT04gRkFJTEVEOiAhbV9pbXBsIHx8
IFRocmVhZDo6bWF5QmVHQ1RocmVhZCgpIHx8IG1faW1wbC0+d2FzQ29uc3RydWN0ZWRPbk1haW5U
aHJlYWQoKSA9PSBpc01haW5UaHJlYWQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvSlNPTlZhbHVlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L0pTT05WYWx1ZS5jcHAKaW5kZXggZjNlMzMxZDBkNTI2Li44MDc3MWM4YTVhNjkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0pTT05WYWx1ZS5jcHAKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSlNPTlZhbHVlLmNwcApAQCAtODYsMTEgKzg2LDEx
IEBAIFRFU1QoSlNPTlZhbHVlLCBDb25zdHJ1Y3QpCiAgICAgfQogCiAgICAgewotICAgICAgICBS
ZWY8SlNPTjo6VmFsdWU+IHZhbHVlID0gSlNPTjo6VmFsdWU6OmNyZWF0ZSgid2Via2l0Iik7Cisg
ICAgICAgIFJlZjxKU09OOjpWYWx1ZT4gdmFsdWUgPSBKU09OOjpWYWx1ZTo6Y3JlYXRlKG1ha2VT
dHJpbmcoIndlYmtpdCJfcykpOwogICAgICAgICBFWFBFQ1RfVFJVRSh2YWx1ZS0+dHlwZSgpID09
IEpTT046OlZhbHVlOjpUeXBlOjpTdHJpbmcpOwogICAgICAgICBhdXRvIHN0cmluZ1ZhbHVlID0g
dmFsdWUtPmFzU3RyaW5nKCk7CiAgICAgICAgIEVYUEVDVF9UUlVFKCEhc3RyaW5nVmFsdWUpOwot
ICAgICAgICBFWFBFQ1RfRVEoc3RyaW5nVmFsdWUsICJ3ZWJraXQiKTsKKyAgICAgICAgRVhQRUNU
X0VRKHN0cmluZ1ZhbHVlLCAid2Via2l0Il9zKTsKIAogICAgICAgICBTdHJpbmcgbnVsbFN0cmlu
ZzsKICAgICAgICAgdmFsdWUgPSBKU09OOjpWYWx1ZTo6Y3JlYXRlKG51bGxTdHJpbmcpOwpAQCAt
MTYwLDEzICsxNjAsMTMgQEAgVEVTVChKU09OQXJyYXksIEJhc2ljKQogICAgIEVYUEVDVF9UUlVF
KGRvdWJsZVZhbHVlKTsKICAgICBFWFBFQ1RfRVEoKmRvdWJsZVZhbHVlLCAxLjUpOwogCi0gICAg
YXJyYXktPnB1c2hTdHJpbmcoIndlYmtpdCIpOworICAgIGFycmF5LT5wdXNoU3RyaW5nKCJ3ZWJr
aXQiX3MpOwogICAgIEVYUEVDVF9FUShhcnJheS0+bGVuZ3RoKCksIDVVKTsKICAgICB2YWx1ZSA9
IGFycmF5LT5nZXQoNCk7CiAgICAgRVhQRUNUX1RSVUUodmFsdWUtPnR5cGUoKSA9PSBKU09OOjpW
YWx1ZTo6VHlwZTo6U3RyaW5nKTsKICAgICBhdXRvIHN0cmluZ1ZhbHVlID0gdmFsdWUtPmFzU3Ry
aW5nKCk7CiAgICAgRVhQRUNUX1RSVUUoISFzdHJpbmdWYWx1ZSk7Ci0gICAgRVhQRUNUX0VRKHN0
cmluZ1ZhbHVlLCAid2Via2l0Iik7CisgICAgRVhQRUNUX0VRKHN0cmluZ1ZhbHVlLCAid2Via2l0
Il9zKTsKIAogICAgIGFycmF5LT5wdXNoT2JqZWN0KEpTT046Ok9iamVjdDo6Y3JlYXRlKCkpOwog
ICAgIEVYUEVDVF9FUShhcnJheS0+bGVuZ3RoKCksIDZVKTsKQEAgLTI0OSwxMyArMjQ5LDEzIEBA
IFRFU1QoSlNPTkFycmF5T2YsIEJhc2ljKQogICAgIEVYUEVDVF9UUlVFKGRvdWJsZVZhbHVlKTsK
ICAgICBFWFBFQ1RfRVEoKmRvdWJsZVZhbHVlLCAxLjUpOwogCi0gICAgYXJyYXktPmFkZEl0ZW0o
IndlYmtpdCIpOworICAgIGFycmF5LT5hZGRJdGVtKG1ha2VTdHJpbmcoIndlYmtpdCJfcykpOwog
ICAgIEVYUEVDVF9FUShhcnJheS0+bGVuZ3RoKCksIDRVKTsKICAgICB2YWx1ZSA9IGFycmF5LT5n
ZXQoMyk7CiAgICAgRVhQRUNUX1RSVUUodmFsdWUtPnR5cGUoKSA9PSBKU09OOjpWYWx1ZTo6VHlw
ZTo6U3RyaW5nKTsKICAgICBhdXRvIHN0cmluZ1ZhbHVlID0gdmFsdWUtPmFzU3RyaW5nKCk7CiAg
ICAgRVhQRUNUX1RSVUUoISFzdHJpbmdWYWx1ZSk7Ci0gICAgRVhQRUNUX0VRKHN0cmluZ1ZhbHVl
LCAid2Via2l0Iik7CisgICAgRVhQRUNUX0VRKHN0cmluZ1ZhbHVlLCAid2Via2l0Il9zKTsKIAog
ICAgIGFycmF5LT5hZGRJdGVtKEpTT046Ok9iamVjdDo6Y3JlYXRlKCkpOwogICAgIEVYUEVDVF9F
UShhcnJheS0+bGVuZ3RoKCksIDVVKTsKQEAgLTMxMSw0NyArMzExLDQ3IEBAIFRFU1QoSlNPTk9i
amVjdCwgQmFzaWMpCiAKICAgICBvYmplY3QtPnNldFZhbHVlKCJudWxsIiwgSlNPTjo6VmFsdWU6
Om51bGwoKSk7CiAgICAgRVhQRUNUX0VRKG9iamVjdC0+c2l6ZSgpLCAxVSk7Ci0gICAgYXV0byB2
YWx1ZSA9IG9iamVjdC0+Z2V0VmFsdWUoIm51bGwiKTsKKyAgICBhdXRvIHZhbHVlID0gb2JqZWN0
LT5nZXRWYWx1ZSgibnVsbCJfcyk7CiAgICAgRVhQRUNUX1RSVUUodmFsdWUpOwogICAgIEVYUEVD
VF9UUlVFKHZhbHVlLT5pc051bGwoKSk7CiAKICAgICBvYmplY3QtPnNldEJvb2xlYW4oImJvb2xl
YW4iLCB0cnVlKTsKICAgICBFWFBFQ1RfRVEob2JqZWN0LT5zaXplKCksIDJVKTsKLSAgICBhdXRv
IGJvb2xlYW5WYWx1ZSA9IG9iamVjdC0+Z2V0Qm9vbGVhbigiYm9vbGVhbiIpOworICAgIGF1dG8g
Ym9vbGVhblZhbHVlID0gb2JqZWN0LT5nZXRCb29sZWFuKCJib29sZWFuIl9zKTsKICAgICBFWFBF
Q1RfVFJVRShib29sZWFuVmFsdWUpOwogICAgIEVYUEVDVF9FUSgqYm9vbGVhblZhbHVlLCB0cnVl
KTsKIAogICAgIG9iamVjdC0+c2V0SW50ZWdlcigiaW50ZWdlciIsIDEpOwogICAgIEVYUEVDVF9F
UShvYmplY3QtPnNpemUoKSwgM1UpOwotICAgIGF1dG8gaW50ZWdlclZhbHVlID0gb2JqZWN0LT5n
ZXRJbnRlZ2VyKCJpbnRlZ2VyIik7CisgICAgYXV0byBpbnRlZ2VyVmFsdWUgPSBvYmplY3QtPmdl
dEludGVnZXIoImludGVnZXIiX3MpOwogICAgIEVYUEVDVF9UUlVFKGludGVnZXJWYWx1ZSk7CiAg
ICAgRVhQRUNUX0VRKCppbnRlZ2VyVmFsdWUsIDEpOwogCiAgICAgb2JqZWN0LT5zZXREb3VibGUo
ImRvdWJsZSIsIDEuNSk7CiAgICAgRVhQRUNUX0VRKG9iamVjdC0+c2l6ZSgpLCA0VSk7Ci0gICAg
YXV0byBkb3VibGVWYWx1ZSA9IG9iamVjdC0+Z2V0RG91YmxlKCJkb3VibGUiKTsKKyAgICBhdXRv
IGRvdWJsZVZhbHVlID0gb2JqZWN0LT5nZXREb3VibGUoImRvdWJsZSJfcyk7CiAgICAgRVhQRUNU
X1RSVUUoZG91YmxlVmFsdWUpOwogICAgIEVYUEVDVF9FUSgqZG91YmxlVmFsdWUsIDEuNSk7CiAK
LSAgICBvYmplY3QtPnNldFN0cmluZygic3RyaW5nIiwgIndlYmtpdCIpOworICAgIG9iamVjdC0+
c2V0U3RyaW5nKCJzdHJpbmciLCAid2Via2l0Il9zKTsKICAgICBFWFBFQ1RfRVEob2JqZWN0LT5z
aXplKCksIDVVKTsKLSAgICBhdXRvIHN0cmluZ1ZhbHVlID0gb2JqZWN0LT5nZXRTdHJpbmcoInN0
cmluZyIpOworICAgIGF1dG8gc3RyaW5nVmFsdWUgPSBvYmplY3QtPmdldFN0cmluZygic3RyaW5n
Il9zKTsKICAgICBFWFBFQ1RfVFJVRSghIXN0cmluZ1ZhbHVlKTsKLSAgICBFWFBFQ1RfRVEoc3Ry
aW5nVmFsdWUsICJ3ZWJraXQiKTsKKyAgICBFWFBFQ1RfRVEoc3RyaW5nVmFsdWUsICJ3ZWJraXQi
X3MpOwogCiAgICAgb2JqZWN0LT5zZXRPYmplY3QoIm9iamVjdCIsIEpTT046Ok9iamVjdDo6Y3Jl
YXRlKCkpOwogICAgIEVYUEVDVF9FUShvYmplY3QtPnNpemUoKSwgNlUpOwotICAgIGF1dG8gb2Jq
ZWN0VmFsdWUgPSBvYmplY3QtPmdldE9iamVjdCgib2JqZWN0Iik7CisgICAgYXV0byBvYmplY3RW
YWx1ZSA9IG9iamVjdC0+Z2V0T2JqZWN0KCJvYmplY3QiX3MpOwogICAgIEVYUEVDVF9UUlVFKG9i
amVjdFZhbHVlKTsKICAgICBFWFBFQ1RfRVEob2JqZWN0VmFsdWUtPnNpemUoKSwgMFUpOwogCiAg
ICAgb2JqZWN0LT5zZXRBcnJheSgiYXJyYXkiLCBKU09OOjpBcnJheTo6Y3JlYXRlKCkpOwogICAg
IEVYUEVDVF9FUShvYmplY3QtPnNpemUoKSwgN1UpOwotICAgIGF1dG8gYXJyYXlWYWx1ZSA9IG9i
amVjdC0+Z2V0QXJyYXkoImFycmF5Iik7CisgICAgYXV0byBhcnJheVZhbHVlID0gb2JqZWN0LT5n
ZXRBcnJheSgiYXJyYXkiX3MpOwogICAgIEVYUEVDVF9UUlVFKGFycmF5VmFsdWUpOwogICAgIEVY
UEVDVF9FUShhcnJheVZhbHVlLT5sZW5ndGgoKSwgMFUpOwogCi0gICAgVmVjdG9yPGNvbnN0IGNo
YXIqPiBrZXlzID0geyAibnVsbCIsICJib29sZWFuIiwgImludGVnZXIiLCAiZG91YmxlIiwgInN0
cmluZyIsICJvYmplY3QiLCAiYXJyYXkiIH07CisgICAgVmVjdG9yPFN0cmluZz4ga2V5cyA9IHsg
Im51bGwiX3MsICJib29sZWFuIl9zLCAiaW50ZWdlciJfcywgImRvdWJsZSJfcywgInN0cmluZyJf
cywgIm9iamVjdCJfcywgImFycmF5Il9zIH07CiAgICAgYXV0byBlbmQgPSBvYmplY3QtPmVuZCgp
OwogICAgIGZvciAoYXV0byBpdCA9IG9iamVjdC0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
CiAgICAgICAgIGF1dG8gcG9zaXRpb24gPSBrZXlzLmZpbmQoaXQtPmtleSk7CkBAIC0zNjEsMTI0
ICszNjEsMTI0IEBAIFRFU1QoSlNPTk9iamVjdCwgQmFzaWMpCiAgICAgfQogICAgIEVYUEVDVF9U
UlVFKGtleXMuaXNFbXB0eSgpKTsKIAotICAgIG9iamVjdC0+cmVtb3ZlKCJudWxsIik7CisgICAg
b2JqZWN0LT5yZW1vdmUoIm51bGwiX3MpOwogICAgIEVYUEVDVF9FUShvYmplY3QtPnNpemUoKSwg
NlUpOwotICAgIEVYUEVDVF9UUlVFKG9iamVjdC0+ZmluZCgibnVsbCIpID09IG9iamVjdC0+ZW5k
KCkpOworICAgIEVYUEVDVF9UUlVFKG9iamVjdC0+ZmluZCgibnVsbCJfcykgPT0gb2JqZWN0LT5l
bmQoKSk7CiAKLSAgICBvYmplY3QtPnJlbW92ZSgiYm9vbGVhbiIpOworICAgIG9iamVjdC0+cmVt
b3ZlKCJib29sZWFuIl9zKTsKICAgICBFWFBFQ1RfRVEob2JqZWN0LT5zaXplKCksIDVVKTsKLSAg
ICBFWFBFQ1RfVFJVRShvYmplY3QtPmZpbmQoImJvb2xlYW4iKSA9PSBvYmplY3QtPmVuZCgpKTsK
KyAgICBFWFBFQ1RfVFJVRShvYmplY3QtPmZpbmQoImJvb2xlYW4iX3MpID09IG9iamVjdC0+ZW5k
KCkpOwogCi0gICAgb2JqZWN0LT5yZW1vdmUoImludGVnZXIiKTsKKyAgICBvYmplY3QtPnJlbW92
ZSgiaW50ZWdlciJfcyk7CiAgICAgRVhQRUNUX0VRKG9iamVjdC0+c2l6ZSgpLCA0VSk7Ci0gICAg
RVhQRUNUX1RSVUUob2JqZWN0LT5maW5kKCJpbnRlZ2VyIikgPT0gb2JqZWN0LT5lbmQoKSk7Cisg
ICAgRVhQRUNUX1RSVUUob2JqZWN0LT5maW5kKCJpbnRlZ2VyIl9zKSA9PSBvYmplY3QtPmVuZCgp
KTsKIAotICAgIG9iamVjdC0+cmVtb3ZlKCJkb3VibGUiKTsKKyAgICBvYmplY3QtPnJlbW92ZSgi
ZG91YmxlIl9zKTsKICAgICBFWFBFQ1RfRVEob2JqZWN0LT5zaXplKCksIDNVKTsKLSAgICBFWFBF
Q1RfVFJVRShvYmplY3QtPmZpbmQoImRvdWJsZSIpID09IG9iamVjdC0+ZW5kKCkpOworICAgIEVY
UEVDVF9UUlVFKG9iamVjdC0+ZmluZCgiZG91YmxlIl9zKSA9PSBvYmplY3QtPmVuZCgpKTsKIAot
ICAgIG9iamVjdC0+cmVtb3ZlKCJzdHJpbmciKTsKKyAgICBvYmplY3QtPnJlbW92ZSgic3RyaW5n
Il9zKTsKICAgICBFWFBFQ1RfRVEob2JqZWN0LT5zaXplKCksIDJVKTsKLSAgICBFWFBFQ1RfVFJV
RShvYmplY3QtPmZpbmQoInN0cmluZyIpID09IG9iamVjdC0+ZW5kKCkpOworICAgIEVYUEVDVF9U
UlVFKG9iamVjdC0+ZmluZCgic3RyaW5nIl9zKSA9PSBvYmplY3QtPmVuZCgpKTsKIAotICAgIG9i
amVjdC0+cmVtb3ZlKCJvYmplY3QiKTsKKyAgICBvYmplY3QtPnJlbW92ZSgib2JqZWN0Il9zKTsK
ICAgICBFWFBFQ1RfRVEob2JqZWN0LT5zaXplKCksIDFVKTsKLSAgICBFWFBFQ1RfVFJVRShvYmpl
Y3QtPmZpbmQoIm9iamVjdCIpID09IG9iamVjdC0+ZW5kKCkpOworICAgIEVYUEVDVF9UUlVFKG9i
amVjdC0+ZmluZCgib2JqZWN0Il9zKSA9PSBvYmplY3QtPmVuZCgpKTsKIAotICAgIG9iamVjdC0+
cmVtb3ZlKCJhcnJheSIpOworICAgIG9iamVjdC0+cmVtb3ZlKCJhcnJheSJfcyk7CiAgICAgRVhQ
RUNUX0VRKG9iamVjdC0+c2l6ZSgpLCAwVSk7Ci0gICAgRVhQRUNUX1RSVUUob2JqZWN0LT5maW5k
KCJhcnJheSIpID09IG9iamVjdC0+ZW5kKCkpOworICAgIEVYUEVDVF9UUlVFKG9iamVjdC0+Zmlu
ZCgiYXJyYXkiX3MpID09IG9iamVjdC0+ZW5kKCkpOwogfQogCiBURVNUKEpTT05WYWx1ZSwgVG9K
U09OU3RyaW5nKQogewogICAgIHsKICAgICAgICAgUmVmPEpTT046OlZhbHVlPiB2YWx1ZSA9IEpT
T046OlZhbHVlOjpudWxsKCk7Ci0gICAgICAgIEVYUEVDVF9FUSh2YWx1ZS0+dG9KU09OU3RyaW5n
KCksICJudWxsIik7CisgICAgICAgIEVYUEVDVF9FUSh2YWx1ZS0+dG9KU09OU3RyaW5nKCksICJu
dWxsIl9zKTsKICAgICB9CiAKICAgICB7CiAgICAgICAgIFJlZjxKU09OOjpWYWx1ZT4gdmFsdWUg
PSBKU09OOjpWYWx1ZTo6Y3JlYXRlKHRydWUpOwotICAgICAgICBFWFBFQ1RfRVEodmFsdWUtPnRv
SlNPTlN0cmluZygpLCAidHJ1ZSIpOworICAgICAgICBFWFBFQ1RfRVEodmFsdWUtPnRvSlNPTlN0
cmluZygpLCAidHJ1ZSJfcyk7CiAKICAgICAgICAgdmFsdWUgPSBKU09OOjpWYWx1ZTo6Y3JlYXRl
KGZhbHNlKTsKLSAgICAgICAgRVhQRUNUX0VRKHZhbHVlLT50b0pTT05TdHJpbmcoKSwgImZhbHNl
Iik7CisgICAgICAgIEVYUEVDVF9FUSh2YWx1ZS0+dG9KU09OU3RyaW5nKCksICJmYWxzZSJfcyk7
CiAgICAgfQogCiAgICAgewogICAgICAgICBSZWY8SlNPTjo6VmFsdWU+IHZhbHVlID0gSlNPTjo6
VmFsdWU6OmNyZWF0ZSgxKTsKLSAgICAgICAgRVhQRUNUX0VRKHZhbHVlLT50b0pTT05TdHJpbmco
KSwgIjEiKTsKKyAgICAgICAgRVhQRUNUX0VRKHZhbHVlLT50b0pTT05TdHJpbmcoKSwgIjEiX3Mp
OwogICAgIH0KIAogICAgIHsKICAgICAgICAgUmVmPEpTT046OlZhbHVlPiB2YWx1ZSA9IEpTT046
OlZhbHVlOjpjcmVhdGUoMS41KTsKLSAgICAgICAgRVhQRUNUX0VRKHZhbHVlLT50b0pTT05TdHJp
bmcoKSwgIjEuNSIpOworICAgICAgICBFWFBFQ1RfRVEodmFsdWUtPnRvSlNPTlN0cmluZygpLCAi
MS41Il9zKTsKICAgICB9CiAKICAgICB7Ci0gICAgICAgIFJlZjxKU09OOjpWYWx1ZT4gdmFsdWUg
PSBKU09OOjpWYWx1ZTo6Y3JlYXRlKCJ3ZWJraXQiKTsKLSAgICAgICAgRVhQRUNUX0VRKHZhbHVl
LT50b0pTT05TdHJpbmcoKSwgIlwid2Via2l0XCIiKTsKKyAgICAgICAgUmVmPEpTT046OlZhbHVl
PiB2YWx1ZSA9IEpTT046OlZhbHVlOjpjcmVhdGUobWFrZVN0cmluZygid2Via2l0Il9zKSk7Cisg
ICAgICAgIEVYUEVDVF9FUSh2YWx1ZS0+dG9KU09OU3RyaW5nKCksICJcIndlYmtpdFwiIl9zKTsK
ICAgICB9CiAKICAgICB7CiAgICAgICAgIFJlZjxKU09OOjpBcnJheT4gYXJyYXkgPSBKU09OOjpB
cnJheTo6Y3JlYXRlKCk7Ci0gICAgICAgIEVYUEVDVF9FUShhcnJheS0+dG9KU09OU3RyaW5nKCks
ICJbXSIpOworICAgICAgICBFWFBFQ1RfRVEoYXJyYXktPnRvSlNPTlN0cmluZygpLCAiW10iX3Mp
OwogICAgICAgICBhcnJheS0+cHVzaFZhbHVlKEpTT046OlZhbHVlOjpudWxsKCkpOwotICAgICAg
ICBFWFBFQ1RfRVEoYXJyYXktPnRvSlNPTlN0cmluZygpLCAiW251bGxdIik7CisgICAgICAgIEVY
UEVDVF9FUShhcnJheS0+dG9KU09OU3RyaW5nKCksICJbbnVsbF0iX3MpOwogICAgICAgICBhcnJh
eS0+cHVzaEJvb2xlYW4odHJ1ZSk7CiAgICAgICAgIGFycmF5LT5wdXNoQm9vbGVhbihmYWxzZSk7
Ci0gICAgICAgIEVYUEVDVF9FUShhcnJheS0+dG9KU09OU3RyaW5nKCksICJbbnVsbCx0cnVlLGZh
bHNlXSIpOworICAgICAgICBFWFBFQ1RfRVEoYXJyYXktPnRvSlNPTlN0cmluZygpLCAiW251bGws
dHJ1ZSxmYWxzZV0iX3MpOwogICAgICAgICBhcnJheS0+cHVzaEludGVnZXIoMSk7CiAgICAgICAg
IGFycmF5LT5wdXNoRG91YmxlKDEuNSk7Ci0gICAgICAgIEVYUEVDVF9FUShhcnJheS0+dG9KU09O
U3RyaW5nKCksICJbbnVsbCx0cnVlLGZhbHNlLDEsMS41XSIpOwotICAgICAgICBhcnJheS0+cHVz
aFN0cmluZygid2Via2l0Iik7Ci0gICAgICAgIEVYUEVDVF9FUShhcnJheS0+dG9KU09OU3RyaW5n
KCksICJbbnVsbCx0cnVlLGZhbHNlLDEsMS41LFwid2Via2l0XCJdIik7CisgICAgICAgIEVYUEVD
VF9FUShhcnJheS0+dG9KU09OU3RyaW5nKCksICJbbnVsbCx0cnVlLGZhbHNlLDEsMS41XSJfcyk7
CisgICAgICAgIGFycmF5LT5wdXNoU3RyaW5nKCJ3ZWJraXQiX3MpOworICAgICAgICBFWFBFQ1Rf
RVEoYXJyYXktPnRvSlNPTlN0cmluZygpLCAiW251bGwsdHJ1ZSxmYWxzZSwxLDEuNSxcIndlYmtp
dFwiXSJfcyk7CiAgICAgICAgIFJlZjxKU09OOjpBcnJheT4gc3ViQXJyYXkgPSBKU09OOjpBcnJh
eTo6Y3JlYXRlKCk7Ci0gICAgICAgIHN1YkFycmF5LT5wdXNoU3RyaW5nKCJzdHJpbmciKTsKKyAg
ICAgICAgc3ViQXJyYXktPnB1c2hTdHJpbmcoInN0cmluZyJfcyk7CiAgICAgICAgIHN1YkFycmF5
LT5wdXNoT2JqZWN0KEpTT046Ok9iamVjdDo6Y3JlYXRlKCkpOwotICAgICAgICBFWFBFQ1RfRVEo
c3ViQXJyYXktPnRvSlNPTlN0cmluZygpLCAiW1wic3RyaW5nXCIse31dIik7CisgICAgICAgIEVY
UEVDVF9FUShzdWJBcnJheS0+dG9KU09OU3RyaW5nKCksICJbXCJzdHJpbmdcIix7fV0iX3MpOwog
ICAgICAgICBhcnJheS0+cHVzaEFycmF5KFdURk1vdmUoc3ViQXJyYXkpKTsKLSAgICAgICAgRVhQ
RUNUX0VRKGFycmF5LT50b0pTT05TdHJpbmcoKSwgIltudWxsLHRydWUsZmFsc2UsMSwxLjUsXCJ3
ZWJraXRcIixbXCJzdHJpbmdcIix7fV1dIik7CisgICAgICAgIEVYUEVDVF9FUShhcnJheS0+dG9K
U09OU3RyaW5nKCksICJbbnVsbCx0cnVlLGZhbHNlLDEsMS41LFwid2Via2l0XCIsW1wic3RyaW5n
XCIse31dXSJfcyk7CiAgICAgfQogCiAgICAgewogICAgICAgICBSZWY8SlNPTjo6T2JqZWN0PiBv
YmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwotICAgICAgICBFWFBFQ1RfRVEob2JqZWN0
LT50b0pTT05TdHJpbmcoKSwgInt9Iik7CisgICAgICAgIEVYUEVDVF9FUShvYmplY3QtPnRvSlNP
TlN0cmluZygpLCAie30iX3MpOwogICAgICAgICBvYmplY3QtPnNldFZhbHVlKCJudWxsIiwgSlNP
Tjo6VmFsdWU6Om51bGwoKSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3QtPnRvSlNPTlN0cmlu
ZygpLCAie1wibnVsbFwiOm51bGx9Iik7CisgICAgICAgIEVYUEVDVF9FUShvYmplY3QtPnRvSlNP
TlN0cmluZygpLCAie1wibnVsbFwiOm51bGx9Il9zKTsKICAgICAgICAgb2JqZWN0LT5zZXRCb29s
ZWFuKCJib29sZWFuIiwgdHJ1ZSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3QtPnRvSlNPTlN0
cmluZygpLCAie1wibnVsbFwiOm51bGwsXCJib29sZWFuXCI6dHJ1ZX0iKTsKKyAgICAgICAgRVhQ
RUNUX0VRKG9iamVjdC0+dG9KU09OU3RyaW5nKCksICJ7XCJudWxsXCI6bnVsbCxcImJvb2xlYW5c
Ijp0cnVlfSJfcyk7CiAgICAgICAgIG9iamVjdC0+c2V0RG91YmxlKCJkb3VibGUiLCAxLjUpOwot
ICAgICAgICBFWFBFQ1RfRVEob2JqZWN0LT50b0pTT05TdHJpbmcoKSwgIntcIm51bGxcIjpudWxs
LFwiYm9vbGVhblwiOnRydWUsXCJkb3VibGVcIjoxLjV9Iik7Ci0gICAgICAgIG9iamVjdC0+c2V0
U3RyaW5nKCJzdHJpbmciLCAid2Via2l0Iik7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3QtPnRv
SlNPTlN0cmluZygpLCAie1wibnVsbFwiOm51bGwsXCJib29sZWFuXCI6dHJ1ZSxcImRvdWJsZVwi
OjEuNSxcInN0cmluZ1wiOlwid2Via2l0XCJ9Iik7CisgICAgICAgIEVYUEVDVF9FUShvYmplY3Qt
PnRvSlNPTlN0cmluZygpLCAie1wibnVsbFwiOm51bGwsXCJib29sZWFuXCI6dHJ1ZSxcImRvdWJs
ZVwiOjEuNX0iX3MpOworICAgICAgICBvYmplY3QtPnNldFN0cmluZygic3RyaW5nIiwgIndlYmtp
dCJfcyk7CisgICAgICAgIEVYUEVDVF9FUShvYmplY3QtPnRvSlNPTlN0cmluZygpLCAie1wibnVs
bFwiOm51bGwsXCJib29sZWFuXCI6dHJ1ZSxcImRvdWJsZVwiOjEuNSxcInN0cmluZ1wiOlwid2Vi
a2l0XCJ9Il9zKTsKICAgICAgICAgb2JqZWN0LT5zZXRBcnJheSgiYXJyYXkiLCBKU09OOjpBcnJh
eTo6Y3JlYXRlKCkpOwotICAgICAgICBFWFBFQ1RfRVEob2JqZWN0LT50b0pTT05TdHJpbmcoKSwg
IntcIm51bGxcIjpudWxsLFwiYm9vbGVhblwiOnRydWUsXCJkb3VibGVcIjoxLjUsXCJzdHJpbmdc
IjpcIndlYmtpdFwiLFwiYXJyYXlcIjpbXX0iKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iamVjdC0+
dG9KU09OU3RyaW5nKCksICJ7XCJudWxsXCI6bnVsbCxcImJvb2xlYW5cIjp0cnVlLFwiZG91Ymxl
XCI6MS41LFwic3RyaW5nXCI6XCJ3ZWJraXRcIixcImFycmF5XCI6W119Il9zKTsKICAgICAgICAg
UmVmPEpTT046Ok9iamVjdD4gc3ViT2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKLSAg
ICAgICAgc3ViT2JqZWN0LT5zZXRTdHJpbmcoImZvbyIsICJiYXIiKTsKKyAgICAgICAgc3ViT2Jq
ZWN0LT5zZXRTdHJpbmcoImZvbyIsICJiYXIiX3MpOwogICAgICAgICBzdWJPYmplY3QtPnNldElu
dGVnZXIoImJheiIsIDI1KTsKICAgICAgICAgb2JqZWN0LT5zZXRPYmplY3QoIm9iamVjdCIsIFdU
Rk1vdmUoc3ViT2JqZWN0KSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3QtPnRvSlNPTlN0cmlu
ZygpLCAie1wibnVsbFwiOm51bGwsXCJib29sZWFuXCI6dHJ1ZSxcImRvdWJsZVwiOjEuNSxcInN0
cmluZ1wiOlwid2Via2l0XCIsXCJhcnJheVwiOltdLFwib2JqZWN0XCI6e1wiZm9vXCI6XCJiYXJc
IixcImJhelwiOjI1fX0iKTsKKyAgICAgICAgRVhQRUNUX0VRKG9iamVjdC0+dG9KU09OU3RyaW5n
KCksICJ7XCJudWxsXCI6bnVsbCxcImJvb2xlYW5cIjp0cnVlLFwiZG91YmxlXCI6MS41LFwic3Ry
aW5nXCI6XCJ3ZWJraXRcIixcImFycmF5XCI6W10sXCJvYmplY3RcIjp7XCJmb29cIjpcImJhclwi
LFwiYmF6XCI6MjV9fSJfcyk7CiAgICAgfQogfQogCiBURVNUKEpTT05WYWx1ZSwgUGFyc2VKU09O
KQogewogICAgIHsKLSAgICAgICAgYXV0byB2YWx1ZSA9IEpTT046OlZhbHVlOjpwYXJzZUpTT04o
Im51bGwiKTsKKyAgICAgICAgYXV0byB2YWx1ZSA9IEpTT046OlZhbHVlOjpwYXJzZUpTT04oIm51
bGwiX3MpOwogICAgICAgICBFWFBFQ1RfVFJVRSh2YWx1ZSk7CiAgICAgICAgIEVYUEVDVF9UUlVF
KHZhbHVlLT5pc051bGwoKSk7CiAgICAgfQogCiAgICAgewotICAgICAgICBhdXRvIHZhbHVlID0g
SlNPTjo6VmFsdWU6OnBhcnNlSlNPTigidHJ1ZSIpOworICAgICAgICBhdXRvIHZhbHVlID0gSlNP
Tjo6VmFsdWU6OnBhcnNlSlNPTigidHJ1ZSJfcyk7CiAgICAgICAgIEVYUEVDVF9UUlVFKHZhbHVl
KTsKICAgICAgICAgRVhQRUNUX1RSVUUodmFsdWUtPnR5cGUoKSA9PSBKU09OOjpWYWx1ZTo6VHlw
ZTo6Qm9vbGVhbik7CiAgICAgICAgIGF1dG8gYm9vbGVhblZhbHVlID0gdmFsdWUtPmFzQm9vbGVh
bigpOwogICAgICAgICBFWFBFQ1RfVFJVRShib29sZWFuVmFsdWUpOwogICAgICAgICBFWFBFQ1Rf
RVEoKmJvb2xlYW5WYWx1ZSwgdHJ1ZSk7CiAKLSAgICAgICAgdmFsdWUgPSBKU09OOjpWYWx1ZTo6
cGFyc2VKU09OKCJmYWxzZSIpOworICAgICAgICB2YWx1ZSA9IEpTT046OlZhbHVlOjpwYXJzZUpT
T04oImZhbHNlIl9zKTsKICAgICAgICAgRVhQRUNUX1RSVUUodmFsdWUpOwogICAgICAgICBFWFBF
Q1RfVFJVRSh2YWx1ZS0+dHlwZSgpID09IEpTT046OlZhbHVlOjpUeXBlOjpCb29sZWFuKTsKICAg
ICAgICAgYm9vbGVhblZhbHVlID0gdmFsdWUtPmFzQm9vbGVhbigpOwpAQCAtNDg3LDcgKzQ4Nyw3
IEBAIFRFU1QoSlNPTlZhbHVlLCBQYXJzZUpTT04pCiAgICAgfQogCiAgICAgewotICAgICAgICBh
dXRvIHZhbHVlID0gSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiMSIpOworICAgICAgICBhdXRvIHZh
bHVlID0gSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiMSJfcyk7CiAgICAgICAgIEVYUEVDVF9UUlVF
KHZhbHVlKTsKICAgICAgICAgLy8gTnVtYmVycyBhcmUgYWx3YXlzIHBhcnNlZCBhcyBkb3VibGUu
CiAgICAgICAgIEVYUEVDVF9UUlVFKHZhbHVlLT50eXBlKCkgPT0gSlNPTjo6VmFsdWU6OlR5cGU6
OkRvdWJsZSk7CkBAIC00OTUsNyArNDk1LDcgQEAgVEVTVChKU09OVmFsdWUsIFBhcnNlSlNPTikK
ICAgICAgICAgRVhQRUNUX1RSVUUoZG91YmxlVmFsdWUpOwogICAgICAgICBFWFBFQ1RfRVEoKmRv
dWJsZVZhbHVlLCAxLjApOwogCi0gICAgICAgIHZhbHVlID0gSlNPTjo6VmFsdWU6OnBhcnNlSlNP
TigiMS41Iik7CisgICAgICAgIHZhbHVlID0gSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiMS41Il9z
KTsKICAgICAgICAgRVhQRUNUX1RSVUUodmFsdWUpOwogICAgICAgICBFWFBFQ1RfVFJVRSh2YWx1
ZS0+dHlwZSgpID09IEpTT046OlZhbHVlOjpUeXBlOjpEb3VibGUpOwogICAgICAgICBkb3VibGVW
YWx1ZSA9IHZhbHVlLT5hc0RvdWJsZSgpOwpAQCAtNTA0LDIzICs1MDQsMjMgQEAgVEVTVChKU09O
VmFsdWUsIFBhcnNlSlNPTikKICAgICB9CiAKICAgICB7Ci0gICAgICAgIGF1dG8gdmFsdWUgPSBK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcInN0cmluZ1wiIik7CisgICAgICAgIGF1dG8gdmFsdWUg
PSBKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcInN0cmluZ1wiIl9zKTsKICAgICAgICAgRVhQRUNU
X1RSVUUodmFsdWUpOwogICAgICAgICBFWFBFQ1RfVFJVRSh2YWx1ZS0+dHlwZSgpID09IEpTT046
OlZhbHVlOjpUeXBlOjpTdHJpbmcpOwogICAgICAgICBhdXRvIHN0cmluZ1ZhbHVlID0gdmFsdWUt
PmFzU3RyaW5nKCk7CiAgICAgICAgIEVYUEVDVF9UUlVFKCEhc3RyaW5nVmFsdWUpOwotICAgICAg
ICBFWFBFQ1RfRVEoc3RyaW5nVmFsdWUsICJzdHJpbmciKTsKKyAgICAgICAgRVhQRUNUX0VRKHN0
cmluZ1ZhbHVlLCAic3RyaW5nIl9zKTsKICAgICB9CiAKICAgICB7Ci0gICAgICAgIGF1dG8gdmFs
dWUgPSBKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJbXSIpOworICAgICAgICBhdXRvIHZhbHVlID0g
SlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiW10iX3MpOwogICAgICAgICBFWFBFQ1RfVFJVRSh2YWx1
ZSk7CiAgICAgICAgIEVYUEVDVF9UUlVFKHZhbHVlLT50eXBlKCkgPT0gSlNPTjo6VmFsdWU6OlR5
cGU6OkFycmF5KTsKICAgICAgICAgYXV0byBhcnJheVZhbHVlID0gdmFsdWUtPmFzQXJyYXkoKTsK
ICAgICAgICAgRVhQRUNUX1RSVUUoYXJyYXlWYWx1ZSk7CiAgICAgICAgIEVYUEVDVF9FUShhcnJh
eVZhbHVlLT5sZW5ndGgoKSwgMFUpOwogCi0gICAgICAgIHZhbHVlID0gSlNPTjo6VmFsdWU6OnBh
cnNlSlNPTigiW251bGwsIDEgLDIuNSxbe1wiZm9vXCI6XCJiYXJcIn0se1wiYmF6XCI6ZmFsc2V9
XSxcIndlYmtpdFwiXSIpOworICAgICAgICB2YWx1ZSA9IEpTT046OlZhbHVlOjpwYXJzZUpTT04o
IltudWxsLCAxICwyLjUsW3tcImZvb1wiOlwiYmFyXCJ9LHtcImJhelwiOmZhbHNlfV0sXCJ3ZWJr
aXRcIl0iX3MpOwogICAgICAgICBFWFBFQ1RfVFJVRSh2YWx1ZSk7CiAgICAgICAgIEVYUEVDVF9U
UlVFKHZhbHVlLT50eXBlKCkgPT0gSlNPTjo6VmFsdWU6OlR5cGU6OkFycmF5KTsKICAgICAgICAg
YXJyYXlWYWx1ZSA9IHZhbHVlLT5hc0FycmF5KCk7CkBAIC01NTQsMTUgKzU1NCwxNSBAQCBURVNU
KEpTT05WYWx1ZSwgUGFyc2VKU09OKQogICAgICAgICBhdXRvIG9iamVjdCA9IG9iamVjdFZhbHVl
LT5hc09iamVjdCgpOwogICAgICAgICBFWFBFQ1RfVFJVRShvYmplY3QpOwogICAgICAgICBFWFBF
Q1RfRVEob2JqZWN0LT5zaXplKCksIDFVKTsKLSAgICAgICAgYXV0byBzdHJpbmdWYWx1ZSA9IG9i
amVjdC0+Z2V0U3RyaW5nKCJmb28iKTsKKyAgICAgICAgYXV0byBzdHJpbmdWYWx1ZSA9IG9iamVj
dC0+Z2V0U3RyaW5nKCJmb28iX3MpOwogICAgICAgICBFWFBFQ1RfVFJVRSghIXN0cmluZ1ZhbHVl
KTsKLSAgICAgICAgRVhQRUNUX0VRKHN0cmluZ1ZhbHVlLCAiYmFyIik7CisgICAgICAgIEVYUEVD
VF9FUShzdHJpbmdWYWx1ZSwgImJhciJfcyk7CiAgICAgICAgIG9iamVjdFZhbHVlID0gc3ViQXJy
YXlWYWx1ZS0+Z2V0KDEpOwogICAgICAgICBFWFBFQ1RfVFJVRShvYmplY3RWYWx1ZS0+dHlwZSgp
ID09IEpTT046OlZhbHVlOjpUeXBlOjpPYmplY3QpOwogICAgICAgICBvYmplY3QgPW9iamVjdFZh
bHVlLT5hc09iamVjdCgpOwogICAgICAgICBFWFBFQ1RfVFJVRShvYmplY3QpOwogICAgICAgICBF
WFBFQ1RfRVEob2JqZWN0LT5zaXplKCksIDFVKTsKLSAgICAgICAgYXV0byBib29sZWFuVmFsdWUg
PSBvYmplY3QtPmdldEJvb2xlYW4oImJheiIpOworICAgICAgICBhdXRvIGJvb2xlYW5WYWx1ZSA9
IG9iamVjdC0+Z2V0Qm9vbGVhbigiYmF6Il9zKTsKICAgICAgICAgRVhQRUNUX1RSVUUoYm9vbGVh
blZhbHVlKTsKICAgICAgICAgRVhQRUNUX0VRKCpib29sZWFuVmFsdWUsIGZhbHNlKTsKICAgICAg
ICAgKytpdDsKQEAgLTU3MSw2MyArNTcxLDYzIEBAIFRFU1QoSlNPTlZhbHVlLCBQYXJzZUpTT04p
CiAgICAgICAgIEVYUEVDVF9UUlVFKCgqaXQpLT50eXBlKCkgPT0gSlNPTjo6VmFsdWU6OlR5cGU6
OlN0cmluZyk7CiAgICAgICAgIHN0cmluZ1ZhbHVlID0gKCppdCktPmFzU3RyaW5nKCk7CiAgICAg
ICAgIEVYUEVDVF9UUlVFKCEhc3RyaW5nVmFsdWUpOwotICAgICAgICBFWFBFQ1RfRVEoc3RyaW5n
VmFsdWUsICJ3ZWJraXQiKTsKKyAgICAgICAgRVhQRUNUX0VRKHN0cmluZ1ZhbHVlLCAid2Via2l0
Il9zKTsKICAgICAgICAgKytpdDsKICAgICAgICAgRVhQRUNUX1RSVUUoaXQgPT0gYXJyYXlWYWx1
ZS0+ZW5kKCkpOwogICAgIH0KIAogICAgIHsKLSAgICAgICAgYXV0byB2YWx1ZSA9IEpTT046OlZh
bHVlOjpwYXJzZUpTT04oInt9Iik7CisgICAgICAgIGF1dG8gdmFsdWUgPSBKU09OOjpWYWx1ZTo6
cGFyc2VKU09OKCJ7fSJfcyk7CiAgICAgICAgIEVYUEVDVF9UUlVFKHZhbHVlKTsKICAgICAgICAg
RVhQRUNUX1RSVUUodmFsdWUtPnR5cGUoKSA9PSBKU09OOjpWYWx1ZTo6VHlwZTo6T2JqZWN0KTsK
ICAgICAgICAgYXV0byBvYmplY3RWYWx1ZSA9IHZhbHVlLT5hc09iamVjdCgpOwogICAgICAgICBF
WFBFQ1RfVFJVRShvYmplY3RWYWx1ZSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3RWYWx1ZS0+
c2l6ZSgpLCAwVSk7CiAKLSAgICAgICAgdmFsdWUgPSBKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJ7
XCJmb29cIjogXCJiYXJcIiwgXCJiYXpcIjoge1wic3ViXCI6W251bGwsZmFsc2VdfX0iKTsKKyAg
ICAgICAgdmFsdWUgPSBKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJ7XCJmb29cIjogXCJiYXJcIiwg
XCJiYXpcIjoge1wic3ViXCI6W251bGwsZmFsc2VdfX0iX3MpOwogICAgICAgICBFWFBFQ1RfVFJV
RSh2YWx1ZSk7CiAgICAgICAgIEVYUEVDVF9UUlVFKHZhbHVlLT50eXBlKCkgPT0gSlNPTjo6VmFs
dWU6OlR5cGU6Ok9iamVjdCk7CiAgICAgICAgIG9iamVjdFZhbHVlID0gdmFsdWUtPmFzT2JqZWN0
KCk7CiAgICAgICAgIEVYUEVDVF9UUlVFKG9iamVjdFZhbHVlKTsKICAgICAgICAgRVhQRUNUX0VR
KG9iamVjdFZhbHVlLT5zaXplKCksIDJVKTsKIAotICAgICAgICBhdXRvIHN0cmluZ1ZhbHVlID0g
b2JqZWN0VmFsdWUtPmdldFN0cmluZygiZm9vIik7CisgICAgICAgIGF1dG8gc3RyaW5nVmFsdWUg
PSBvYmplY3RWYWx1ZS0+Z2V0U3RyaW5nKCJmb28iX3MpOwogICAgICAgICBFWFBFQ1RfVFJVRSgh
IXN0cmluZ1ZhbHVlKTsKLSAgICAgICAgRVhQRUNUX0VRKHN0cmluZ1ZhbHVlLCAiYmFyIik7Cisg
ICAgICAgIEVYUEVDVF9FUShzdHJpbmdWYWx1ZSwgImJhciJfcyk7CiAKLSAgICAgICAgYXV0byBv
YmplY3QgPSBvYmplY3RWYWx1ZS0+Z2V0T2JqZWN0KCJiYXoiKTsKKyAgICAgICAgYXV0byBvYmpl
Y3QgPSBvYmplY3RWYWx1ZS0+Z2V0T2JqZWN0KCJiYXoiX3MpOwogICAgICAgICBFWFBFQ1RfVFJV
RShvYmplY3QpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0LT5zaXplKCksIDFVKTsKLSAgICAg
ICAgYXV0byBhcnJheSA9IG9iamVjdC0+Z2V0QXJyYXkoInN1YiIpOworICAgICAgICBhdXRvIGFy
cmF5ID0gb2JqZWN0LT5nZXRBcnJheSgic3ViIl9zKTsKICAgICAgICAgRVhQRUNUX1RSVUUoYXJy
YXkpOwogICAgICAgICBFWFBFQ1RfRVEoYXJyYXktPmxlbmd0aCgpLCAyVSk7CiAgICAgfQogCiAg
ICAgewotICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiLCIpKTsK
LSAgICAgICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlwiZm9vIikpOwot
ICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiZm9vXCIiKSk7Ci0g
ICAgICAgIEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJUclVlIikpOwotICAg
ICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiRmFsc2UiKSk7Ci0gICAg
ICAgIEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCIxLmQiKSk7Ci0gICAgICAg
IEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJbMSxdIikpOwotICAgICAgICBF
WFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiMSwyXSIpKTsKLSAgICAgICAgRVhQ
RUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlsxLDIiKSk7Ci0gICAgICAgIEVYUEVD
VF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJbMSAyXSIpKTsKLSAgICAgICAgRVhQRUNU
X0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlsxLDJdXSIpKTsKLSAgICAgICAgRVhQRUNU
X0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlsxLDJdLCIpKTsKLSAgICAgICAgRVhQRUNU
X0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIntmb286XCJiYXJcIn0iKSk7Ci0gICAgICAg
IEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJ7XCJmb29cIjpiYXJ9IikpOwot
ICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigie1wiZm9vOlwiYmFy
XCJ9IikpOwotICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigie2Zv
b1wiOlwiYmFyXCJ9IikpOwotICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNl
SlNPTigie3tcImZvb1wiOlwiYmFyXCJ9fSIpKTsKLSAgICAgICAgRVhQRUNUX0ZBTFNFKEpTT046
OlZhbHVlOjpwYXJzZUpTT04oIntcImZvb1wiOlwiYmFyXCJ9LCIpKTsKLSAgICAgICAgRVhQRUNU
X0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlt7XCJmb29cIjpcImJhclwifSx7XCJiYXpc
IjpmYWxzZX0sXSIpKTsKLSAgICAgICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpT
T04oIlt7XCJmb29cIjp7XCJiYXpcIjpmYWxzZX1dIikpOworICAgICAgICBFWFBFQ1RfRkFMU0Uo
SlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiLCJfcykpOworICAgICAgICBFWFBFQ1RfRkFMU0UoSlNP
Tjo6VmFsdWU6OnBhcnNlSlNPTigiXCJmb28iX3MpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKEpT
T046OlZhbHVlOjpwYXJzZUpTT04oImZvb1wiIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKCJUclVlIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKCJGYWxzZSJfcykpOworICAgICAgICBFWFBFQ1RfRkFMU0Uo
SlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiMS5kIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKCJbMSxdIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKCIxLDJdIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKCJbMSwyIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKCJbMSAyXSJfcykpOworICAgICAgICBFWFBFQ1RfRkFMU0Uo
SlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiWzEsMl1dIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxT
RShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJbMSwyXSwiX3MpKTsKKyAgICAgICAgRVhQRUNUX0ZB
TFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIntmb286XCJiYXJcIn0iX3MpKTsKKyAgICAgICAg
RVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIntcImZvb1wiOmJhcn0iX3MpKTsK
KyAgICAgICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIntcImZvbzpcImJh
clwifSJfcykpOworICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigi
e2Zvb1wiOlwiYmFyXCJ9Il9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6
cGFyc2VKU09OKCJ7e1wiZm9vXCI6XCJiYXJcIn19Il9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxT
RShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJ7XCJmb29cIjpcImJhclwifSwiX3MpKTsKKyAgICAg
ICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlt7XCJmb29cIjpcImJhclwi
fSx7XCJiYXpcIjpmYWxzZX0sXSJfcykpOworICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFs
dWU6OnBhcnNlSlNPTigiW3tcImZvb1wiOntcImJhelwiOmZhbHNlfV0iX3MpKTsKICAgICB9CiAK
ICAgICB7Ci0gICAgICAgIGF1dG8gdmFsdWUgPSBKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCIgXCJm
b29cIiBcbiIpOworICAgICAgICBhdXRvIHZhbHVlID0gSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigi
IFwiZm9vXCIgXG4iX3MpOwogICAgICAgICBFWFBFQ1RfVFJVRSh2YWx1ZSk7CiAgICAgICAgIGF1
dG8gc3RyaW5nVmFsdWUgPSB2YWx1ZS0+YXNTdHJpbmcoKTsKICAgICAgICAgRVhQRUNUX1RSVUUo
ISFzdHJpbmdWYWx1ZSk7CkBAIC02MzUsMzQgKzYzNSwzNCBAQCBURVNUKEpTT05WYWx1ZSwgUGFy
c2VKU09OKQogICAgIH0KIAogICAgIHsKLSAgICAgICAgRVhQRUNUX1RSVUUoSlNPTjo6VmFsdWU6
OnBhcnNlSlNPTigiIDEiKSk7Ci0gICAgICAgIEVYUEVDVF9UUlVFKEpTT046OlZhbHVlOjpwYXJz
ZUpTT04oIlx0MSIpKTsKLSAgICAgICAgRVhQRUNUX1RSVUUoSlNPTjo6VmFsdWU6OnBhcnNlSlNP
TigiXG4xIikpOwotICAgICAgICBFWFBFQ1RfVFJVRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCIx
ICIpKTsKLSAgICAgICAgRVhQRUNUX1RSVUUoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiMVx0Iikp
OwotICAgICAgICBFWFBFQ1RfVFJVRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCIxXG4iKSk7Ci0g
ICAgICAgIEVYUEVDVF9UUlVFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIiAxICIpKTsKLSAgICAg
ICAgRVhQRUNUX1RSVUUoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiIHt9ICIpKTsKLSAgICAgICAg
RVhQRUNUX1RSVUUoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiIFtdICIpKTsKLSAgICAgICAgRVhQ
RUNUX1RSVUUoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHhGRlwiIikpOwotICAgICAgICBF
WFBFQ1RfVFJVRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcIlxcdTEyMzRcIiIpKTsKKyAgICAg
ICAgRVhQRUNUX1RSVUUoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiIDEiX3MpKTsKKyAgICAgICAg
RVhQRUNUX1RSVUUoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXHQxIl9zKSk7CisgICAgICAgIEVY
UEVDVF9UUlVFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlxuMSJfcykpOworICAgICAgICBFWFBF
Q1RfVFJVRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCIxICJfcykpOworICAgICAgICBFWFBFQ1Rf
VFJVRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCIxXHQiX3MpKTsKKyAgICAgICAgRVhQRUNUX1RS
VUUoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiMVxuIl9zKSk7CisgICAgICAgIEVYUEVDVF9UUlVF
KEpTT046OlZhbHVlOjpwYXJzZUpTT04oIiAxICJfcykpOworICAgICAgICBFWFBFQ1RfVFJVRShK
U09OOjpWYWx1ZTo6cGFyc2VKU09OKCIge30gIl9zKSk7CisgICAgICAgIEVYUEVDVF9UUlVFKEpT
T046OlZhbHVlOjpwYXJzZUpTT04oIiBbXSAiX3MpKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoSlNP
Tjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHhGRlwiIl9zKSk7CisgICAgICAgIEVYUEVDVF9UUlVF
KEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlwiXFx1MTIzNFwiIl9zKSk7CiAKLSAgICAgICAgRVhQ
RUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIjEgMSIpKTsKLSAgICAgICAgRVhQRUNU
X0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oInt9IHt9IikpOwotICAgICAgICBFWFBFQ1Rf
RkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiW10gW10iKSk7Ci0gICAgICAgIEVYUEVDVF9G
QUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcIlxcIikpOwotICAgICAgICBFWFBFQ1RfRkFM
U0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHhGIikpOwotICAgICAgICBFWFBFQ1RfRkFM
U0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHhGXCIiKSk7Ci0gICAgICAgIEVYUEVDVF9G
QUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcIlxceEYgXCIiKSk7Ci0gICAgICAgIEVYUEVD
VF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcIlxcdTEiKSk7Ci0gICAgICAgIEVYUEVD
VF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcIlxcdTFcIiIpKTsKLSAgICAgICAgRVhQ
RUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlwiXFx1MSAgIFwiIikpOwotICAgICAg
ICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHUxMiIpKTsKLSAgICAg
ICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlwiXFx1MTJcIiIpKTsKLSAg
ICAgICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlwiXFx1MTIgIFwiIikp
OwotICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHUxMjMi
KSk7Ci0gICAgICAgIEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcIlxcdTEy
M1wiIikpOwotICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJc
XHUxMjMgXCIiKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09O
KCIxIDEiX3MpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04o
Int9IHt9Il9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09O
KCJbXSBbXSJfcykpOworICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNP
TigiXCJcXCJfcykpOworICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNP
TigiXCJcXHhGIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VK
U09OKCJcIlxceEZcIiJfcykpOworICAgICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBh
cnNlSlNPTigiXCJcXHhGIFwiIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShKU09OOjpWYWx1
ZTo6cGFyc2VKU09OKCJcIlxcdTEiX3MpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKEpTT046OlZh
bHVlOjpwYXJzZUpTT04oIlwiXFx1MVwiIl9zKSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShKU09O
OjpWYWx1ZTo6cGFyc2VKU09OKCJcIlxcdTEgICBcIiJfcykpOworICAgICAgICBFWFBFQ1RfRkFM
U0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHUxMiJfcykpOworICAgICAgICBFWFBFQ1Rf
RkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHUxMlwiIl9zKSk7CisgICAgICAgIEVY
UEVDVF9GQUxTRShKU09OOjpWYWx1ZTo6cGFyc2VKU09OKCJcIlxcdTEyICBcIiJfcykpOworICAg
ICAgICBFWFBFQ1RfRkFMU0UoSlNPTjo6VmFsdWU6OnBhcnNlSlNPTigiXCJcXHUxMjMiX3MpKTsK
KyAgICAgICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlwiXFx1MTIzXCIi
X3MpKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKEpTT046OlZhbHVlOjpwYXJzZUpTT04oIlwiXFx1
MTIzIFwiIl9zKSk7CiAgICAgfQogfQogCkBAIC02OTcsMTQgKzY5NywxNCBAQCBURVNUKEpTT05W
YWx1ZSwgTWVtb3J5Q29zdCkKICAgICB9CiAKICAgICB7Ci0gICAgICAgIFJlZjxKU09OOjpWYWx1
ZT4gdmFsdWUgPSBKU09OOjpWYWx1ZTo6Y3JlYXRlKCJ0ZXN0Iik7CisgICAgICAgIFJlZjxKU09O
OjpWYWx1ZT4gdmFsdWUgPSBKU09OOjpWYWx1ZTo6Y3JlYXRlKG1ha2VTdHJpbmcoInRlc3QiX3Mp
KTsKICAgICAgICAgc2l6ZV90IG1lbW9yeUNvc3QgPSB2YWx1ZS0+bWVtb3J5Q29zdCgpOwogICAg
ICAgICBFWFBFQ1RfR1QobWVtb3J5Q29zdCwgMFUpOwogICAgICAgICBFWFBFQ1RfTEUobWVtb3J5
Q29zdCwgMzZVKTsKICAgICB9CiAKICAgICB7Ci0gICAgICAgIFJlZjxKU09OOjpWYWx1ZT4gdmFs
dWUgPSBKU09OOjpWYWx1ZTo6Y3JlYXRlKCIiKTsKKyAgICAgICAgUmVmPEpTT046OlZhbHVlPiB2
YWx1ZSA9IEpTT046OlZhbHVlOjpjcmVhdGUoZW1wdHlTdHJpbmcoKSk7CiAgICAgICAgIHNpemVf
dCBtZW1vcnlDb3N0ID0gdmFsdWUtPm1lbW9yeUNvc3QoKTsKICAgICAgICAgRVhQRUNUX0dUKG1l
bW9yeUNvc3QsIDBVKTsKICAgICAgICAgRVhQRUNUX0xFKG1lbW9yeUNvc3QsIDMyVSk7CkBAIC03
MTgsMTggKzcxOCwxOCBAQCBURVNUKEpTT05WYWx1ZSwgTWVtb3J5Q29zdCkKICAgICB9CiAKICAg
ICB7Ci0gICAgICAgIFJlZjxKU09OOjpWYWx1ZT4gdmFsdWVBID0gSlNPTjo6VmFsdWU6OmNyZWF0
ZSgidCIpOwotICAgICAgICBSZWY8SlNPTjo6VmFsdWU+IHZhbHVlQiA9IEpTT046OlZhbHVlOjpj
cmVhdGUoInRlIik7Ci0gICAgICAgIFJlZjxKU09OOjpWYWx1ZT4gdmFsdWVDID0gSlNPTjo6VmFs
dWU6OmNyZWF0ZSgidGVzIik7Ci0gICAgICAgIFJlZjxKU09OOjpWYWx1ZT4gdmFsdWVEID0gSlNP
Tjo6VmFsdWU6OmNyZWF0ZSgidGVzdCIpOworICAgICAgICBSZWY8SlNPTjo6VmFsdWU+IHZhbHVl
QSA9IEpTT046OlZhbHVlOjpjcmVhdGUobWFrZVN0cmluZygidCJfcykpOworICAgICAgICBSZWY8
SlNPTjo6VmFsdWU+IHZhbHVlQiA9IEpTT046OlZhbHVlOjpjcmVhdGUobWFrZVN0cmluZygidGUi
X3MpKTsKKyAgICAgICAgUmVmPEpTT046OlZhbHVlPiB2YWx1ZUMgPSBKU09OOjpWYWx1ZTo6Y3Jl
YXRlKG1ha2VTdHJpbmcoInRlcyJfcykpOworICAgICAgICBSZWY8SlNPTjo6VmFsdWU+IHZhbHVl
RCA9IEpTT046OlZhbHVlOjpjcmVhdGUobWFrZVN0cmluZygidGVzdCJfcykpOwogICAgICAgICBF
WFBFQ1RfTFQodmFsdWVBLT5tZW1vcnlDb3N0KCksIHZhbHVlQi0+bWVtb3J5Q29zdCgpKTsKICAg
ICAgICAgRVhQRUNUX0xUKHZhbHVlQi0+bWVtb3J5Q29zdCgpLCB2YWx1ZUMtPm1lbW9yeUNvc3Qo
KSk7CiAgICAgICAgIEVYUEVDVF9MVCh2YWx1ZUMtPm1lbW9yeUNvc3QoKSwgdmFsdWVELT5tZW1v
cnlDb3N0KCkpOwogICAgIH0KIAogICAgIHsKLSAgICAgICAgUmVmPEpTT046OlZhbHVlPiB2YWx1
ZUEgPSBKU09OOjpWYWx1ZTo6Y3JlYXRlKCJ0Iik7Ci0gICAgICAgIFJlZjxKU09OOjpWYWx1ZT4g
dmFsdWVCID0gSlNPTjo6VmFsdWU6OmNyZWF0ZSgi8J+YgCIpOworICAgICAgICBSZWY8SlNPTjo6
VmFsdWU+IHZhbHVlQSA9IEpTT046OlZhbHVlOjpjcmVhdGUobWFrZVN0cmluZygidCJfcykpOwor
ICAgICAgICBSZWY8SlNPTjo6VmFsdWU+IHZhbHVlQiA9IEpTT046OlZhbHVlOjpjcmVhdGUobWFr
ZVN0cmluZygi8J+YgCIpKTsKICAgICAgICAgRVhQRUNUX0xUKHZhbHVlQS0+bWVtb3J5Q29zdCgp
LCB2YWx1ZUItPm1lbW9yeUNvc3QoKSk7CiAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>