<?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>210980</bug_id>
          
          <creation_ts>2020-04-24 11:22:18 -0700</creation_ts>
          <short_desc>Fix WASM Error classes and re-sync wpt/wasm/jsapi from upstream</short_desc>
          <delta_ts>2023-03-07 16:52:56 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mail</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1645288</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-24 11:22:18 -0700</bug_when>
    <thetext>Fix WASM Error classes and re-sync wpt/wasm/jsapi from upstream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645306</commentid>
    <comment_count>1</comment_count>
      <attachid>397479</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-24 12:00:59 -0700</bug_when>
    <thetext>Created attachment 397479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645309</commentid>
    <comment_count>2</comment_count>
      <attachid>397479</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-04-24 12:08:32 -0700</bug_when>
    <thetext>Comment on attachment 397479
Patch

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645313</commentid>
    <comment_count>3</comment_count>
      <attachid>397479</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-04-24 12:10:27 -0700</bug_when>
    <thetext>Comment on attachment 397479
Patch

Err, let&apos;s wait for EWS to run first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645319</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-24 12:17:00 -0700</bug_when>
    <thetext>(In reply to Keith Miller from comment #3)
&gt; Comment on attachment 397479 [details]
&gt; Patch
&gt; 
&gt; Err, let&apos;s wait for EWS to run first.

Absolutely: it is easy to miss a file from staging or update platform-related expectations.

Thank you for review, Keith.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645395</commentid>
    <comment_count>5</comment_count>
      <attachid>397509</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-24 14:30:02 -0700</bug_when>
    <thetext>Created attachment 397509
Patch

Set reviewer and adjust WASM tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645522</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-24 21:58:42 -0700</bug_when>
    <thetext>Committed r260690: &lt;https://trac.webkit.org/changeset/260690&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397509.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645523</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-24 21:59:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/62361454&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645533</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-04-24 22:59:49 -0700</bug_when>
    <thetext>This patch broke Apple&apos;s internal builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645542</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-24 23:14:59 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #8)
&gt; This patch broke Apple&apos;s internal builds.

https://bugs.webkit.org/show_bug.cgi?id=211011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1939601</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2023-03-07 16:52:56 -0800</bug_when>
    <thetext>*** Bug 204054 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397479</attachid>
            <date>2020-04-24 12:00:59 -0700</date>
            <delta_ts>2020-04-24 14:29:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210980-20200424220057.patch</filename>
            <type>text/plain</type>
            <size>290937</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ODZkODJlZjZkYWM2ZWNlZDE4NTIxZjRlNzI1ZGIxNjNmMjZmYzRjLi40Njg3YmEwOTcxZDk2M2Rl
OTcwZmJmYzg3ODYxZjk1ZDRkOTY1OTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAyMC0wNC0yNCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgRml4IFdBU00gRXJyb3IgY2xhc3NlcyBhbmQgcmUtc3luYyB3cHQv
d2FzbS9qc2FwaSBmcm9tIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA5ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKCkgaGFybmVzcywgd2hpY2ggaXMgZXh0
ZW5zaXZlbHkgdXNlZCBpbiB3cHQvd2FzbS9qc2FwaSB0ZXN0cywKKyAgICAgICAgd2FzIHJlY2Vu
dGx5IHVwZGF0ZWQgdG8gYXNzZXJ0IHRoYXQgcGFzc2VkIGNvbnN0cnVjdG9ycyBzdWJjbGFzcyBF
cnJvciBpbgorICAgICAgICBzcGVjLXBlcmZlY3Qgd2F5LgorCisgICAgICAgIFdpdGggdGhpcyBw
YXRjaCwgV2ViQXNzZW1ibHkgZXJyb3JzIGhhdmUgRXJyb3IgYXMgW1tQcm90b3R5cGVdXSBvZiB0
aGVpciBjb25zdHJ1Y3RvcnMKKyAgICAgICAgYW5kIGRlZmluZSBjb3JyZWN0ICJuYW1lIiBhbmQg
Im1lc3NhZ2UiIHByb3BlcnRpZXMgb24gdGhlaXIgcHJvdG90eXBlcywgYWxpZ25pbmcgSlNDCisg
ICAgICAgIHdpdGggdGhlIHNwZWMgWzFdLCBWOCBhbmQgU3BpZGVyTW9ua2V5LgorCisgICAgICAg
IFsxXTogaHR0cHM6Ly93ZWJhc3NlbWJseS5naXRodWIuaW8vc3BlYy9qcy1hcGkvI2Vycm9yLW9i
amVjdHMKKworICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJs
eUNvbXBpbGVFcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5Q29t
cGlsZUVycm9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9X
ZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OldlYkFzc2Vt
Ymx5TGlua0Vycm9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9q
cy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6Oldl
YkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisKIDIwMjAt
MDQtMjMgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAg
IFJlbW92ZSByZXZva2VkIFByb3h5IGNoZWNrcyBmcm9tIFByb3h5Q3JlYXRlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTlhNDhm
YjkzMGM1YmYwZjM1NTFlM2YzNDZkNjRjODc1NmU0NTYzMS4uZDk1ZGY4OWViZTE5OGIwMjQ1ZmJh
ZGMwNGJlOTVjYTk1MjEzYWJhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMTI0Myw3ICsxMjQzLDggQEAgY2FwaXRhbE5hbWUg
IyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8g
Y2FwaXRhbE5hbWUKICAgICAgICAgICAgIFtdIChMYXp5Q2xhc3NTdHJ1Y3R1cmU6OkluaXRpYWxp
emVyJiBpbml0KSB7IFwKICAgICAgICAgICAgICAgICBpbml0LnNldFByb3RvdHlwZShjYXBpdGFs
TmFtZSMjUHJvdG90eXBlOjpjcmVhdGUoaW5pdC52bSwgaW5pdC5nbG9iYWwsIGNhcGl0YWxOYW1l
IyNQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBpbml0Lmdsb2JhbCwgaW5pdC5n
bG9iYWwtPnByb3RvdHlwZUJhc2UgIyMgUHJvdG90eXBlKCkpKSk7IFwKICAgICAgICAgICAgICAg
ICBpbml0LnNldFN0cnVjdHVyZShpbnN0YW5jZVR5cGU6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZt
LCBpbml0Lmdsb2JhbCwgaW5pdC5wcm90b3R5cGUpKTsgXAotICAgICAgICAgICAgICAgIGluaXQu
c2V0Q29uc3RydWN0b3IoY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZShpbml0LnZt
LCBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0sIGlu
aXQuZ2xvYmFsLCBpbml0Lmdsb2JhbC0+ZnVuY3Rpb25Qcm90b3R5cGUoKSksIGpzQ2FzdDxjYXBp
dGFsTmFtZSAjIyBQcm90b3R5cGUqPihpbml0LnByb3RvdHlwZSkpKTsgXAorICAgICAgICAgICAg
ICAgIGF1dG8qIGNvbnN0cnVjdG9yUHJvdG90eXBlID0gI3Byb3RvdHlwZUJhc2UgPT0gImVycm9y
IiA/IGluaXQuZ2xvYmFsLT5tX2Vycm9yU3RydWN0dXJlLmNvbnN0cnVjdG9yKGluaXQuZ2xvYmFs
KSA6IGluaXQuZ2xvYmFsLT5mdW5jdGlvblByb3RvdHlwZSgpOyBcCisgICAgICAgICAgICAgICAg
aW5pdC5zZXRDb25zdHJ1Y3RvcihjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGlu
aXQudm0sIGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52
bSwgaW5pdC5nbG9iYWwsIGNvbnN0cnVjdG9yUHJvdG90eXBlKSwganNDYXN0PGNhcGl0YWxOYW1l
ICMjIFByb3RvdHlwZSo+KGluaXQucHJvdG90eXBlKSkpOyBcCiAgICAgICAgICAgICB9KTsgXAog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuY3BwCmluZGV4IDkyODkyMDJi
OTYxYzU2ODVmNGZmYTcyYzZlODM0ZmQ1OWRiZjNhODAuLjMyMTMzOGRlYzQxOTA4ZTEzOGU0NjI3
MmMxNGZjNmQ0YjZkYjI4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZS5jcHAK
QEAgLTU3LDYgKzU3LDkgQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3Rv
dHlwZTo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKIHZvaWQgV2ViQXNzZW1i
bHlDb21waWxlRXJyb3JQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIHsKICAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkp
KTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiQ29tcGlsZUVycm9yIl9zKSwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOworICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdlLCBqc0VtcHR5
U3RyaW5nKHZtKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSkpOwogfQogCiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZTo6V2ViQXNzZW1i
bHlDb21waWxlRXJyb3JQcm90b3R5cGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vy
cm9yUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5TGlua0Vycm9yUHJvdG90eXBlLmNwcAppbmRleCBhMjA1YTU4MjI3ZDE2NzAxNjM4MDU0MGJj
M2FmMGM5YTlmMWEwNGMxLi5jN2NlMTFjMmU2MmQ0MTgyMWEwNzkxZjRkNTA5MzlhNzBhZDZhMDhl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxp
bmtFcnJvclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUuY3BwCkBAIC01Nyw2ICs1Nyw5IEBAIFN0cnVj
dHVyZSogV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0CiB2b2lkIFdlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwor
ICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIkxpbmtFcnJvciJfcyksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pKTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bWVzc2FnZSwganNFbXB0eVN0cmluZyh2bSksIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKIH0KIAogV2ViQXNzZW1ibHlMaW5r
RXJyb3JQcm90b3R5cGU6OldlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5jcHAKaW5k
ZXggNDIxMTk2NWM3MWNjMmQwZjI1NjQxYjU2NGI1ZjQ4MGI5MjU0MTc5OC4uZjk3MzFhZTFiMmUx
MzlkMzUyMzkxODkxZTIyMWJiZjI0M2MwMTQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yUHJv
dG90eXBlLmNwcApAQCAtNTcsNiArNTcsOSBAQCBTdHJ1Y3R1cmUqIFdlYkFzc2VtYmx5UnVudGlt
ZUVycm9yUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iagogdm9p
ZCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBBU1NFUlQoaW5oZXJpdHMo
dm0sIGluZm8oKSkpOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJSdW50aW1lRXJyb3IiX3Mp
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7Cisg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPm1lc3Nh
Z2UsIGpzRW1wdHlTdHJpbmcodm0pLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSk7CiB9CiAKIFdlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBl
OjpXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZShWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWRlYjMwN2Y4NmI1MDIx
OGMyNWFhMWU0YTIxNTkyOTY3ZmI1YjQzZi4uZjMwYmJjZjQ4ZWRkZWQwZDgwZjUxMzExZTRjZDBl
ZmE3NTk2ZWUwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMjAtMDQtMjQgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgor
CisgICAgICAgIEZpeCBXQVNNIEVycm9yIGNsYXNzZXMgYW5kIHJlLXN5bmMgd3B0L3dhc20vanNh
cGkgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjEwOTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgd2ViLXBsYXRmb3JtLXRlc3RzIHJldmlzaW9uOiAwMjhiZDg2NTA3NTgKKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpLyo6IFVwZGF0ZWQuCisKIDIwMjAt
MDQtMjIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAg
ICBVcGRhdGUgZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1yZWRpc3BhdGNoLmh0bWwgZnJvbSB1
cHN0cmVhbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9hc3NlcnRpb25zLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2Fzc2VydGlvbnMuanMKaW5kZXgg
MTUxYTQwNjY1NWNiNTA5NDYyNTEyMmJkYmQzNTlkMWZmOTFkOGZiZC4uZjAwMzAzZjZhYTUwNTRk
MzI2NGJkZWJlNzhkMDBlZjU0MjZiMjhkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2Fzc2VydGlvbnMuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2Fz
c2VydGlvbnMuanMKQEAgLTE1LDMgKzE1LDgxIEBAIGZ1bmN0aW9uIGFzc2VydF9mdW5jdGlvbl9s
ZW5ndGgoZm4sIGxlbmd0aCwgZGVzY3JpcHRpb24pIHsKICAgYXNzZXJ0X3RydWUocHJvcGRlc2Mu
Y29uZmlndXJhYmxlLCAiY29uZmlndXJhYmxlIiwgYCR7ZGVzY3JpcHRpb259IGxlbmd0aCBzaG91
bGQgYmUgY29uZmlndXJhYmxlYCk7CiAgIGFzc2VydF9lcXVhbHMocHJvcGRlc2MudmFsdWUsIGxl
bmd0aCwgYCR7ZGVzY3JpcHRpb259IGxlbmd0aCBzaG91bGQgYmUgJHtsZW5ndGh9YCk7CiB9CisK
K2Z1bmN0aW9uIGFzc2VydF9leHBvcnRlZF9mdW5jdGlvbihmbiwgeyBuYW1lLCBsZW5ndGggfSwg
ZGVzY3JpcHRpb24pIHsKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoZm4p
LCBGdW5jdGlvbi5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAgYCR7ZGVzY3JpcHRpb259OiBw
cm90b3R5cGVgKTsKKworICBhc3NlcnRfZnVuY3Rpb25fbmFtZShmbiwgbmFtZSwgZGVzY3JpcHRp
b24pOworICBhc3NlcnRfZnVuY3Rpb25fbGVuZ3RoKGZuLCBsZW5ndGgsIGRlc2NyaXB0aW9uKTsK
K30KKworZnVuY3Rpb24gYXNzZXJ0X0luc3RhbmNlKGluc3RhbmNlLCBleHBlY3RlZF9leHBvcnRz
KSB7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKSwgV2Vi
QXNzZW1ibHkuSW5zdGFuY2UucHJvdG90eXBlLAorICAgICAgICAgICAgICAgICJwcm90b3R5cGUi
KTsKKyAgYXNzZXJ0X3RydWUoT2JqZWN0LmlzRXh0ZW5zaWJsZShpbnN0YW5jZSksICJleHRlbnNp
YmxlIik7CisKKyAgYXNzZXJ0X2VxdWFscyhpbnN0YW5jZS5leHBvcnRzLCBpbnN0YW5jZS5leHBv
cnRzLCAiZXhwb3J0cyBzaG91bGQgYmUgaWRlbXBvdGVudCIpOworICBjb25zdCBleHBvcnRzID0g
aW5zdGFuY2UuZXhwb3J0czsKKworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihleHBvcnRzKSwgbnVsbCwgImV4cG9ydHMgcHJvdG90eXBlIik7CisgIGFzc2VydF9mYWxzZShP
YmplY3QuaXNFeHRlbnNpYmxlKGV4cG9ydHMpLCAiZXh0ZW5zaWJsZSBleHBvcnRzIik7CisgIGFz
c2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMoZXhwb3J0cyksIE9iamVjdC5rZXlzKGV4cGVj
dGVkX2V4cG9ydHMpLCAibWF0Y2hpbmcgZXhwb3J0IGtleXMiKTsKKyAgZm9yIChjb25zdCBba2V5
LCBleHBlY3RlZF0gb2YgT2JqZWN0LmVudHJpZXMoZXhwZWN0ZWRfZXhwb3J0cykpIHsKKyAgICBj
b25zdCBwcm9wZXJ0eSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZXhwb3J0cywg
a2V5KTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBwcm9wZXJ0eSwgIm9iamVjdCIsIGAke2tl
eX0gc2hvdWxkIGJlIHByZXNlbnRgKTsKKyAgICBhc3NlcnRfZmFsc2UocHJvcGVydHkud3JpdGFi
bGUsIGAke2tleX06IHdyaXRhYmxlYCk7CisgICAgYXNzZXJ0X3RydWUocHJvcGVydHkuZW51bWVy
YWJsZSwgYCR7a2V5fTogZW51bWVyYWJsZWApOworICAgIGFzc2VydF9mYWxzZShwcm9wZXJ0eS5j
b25maWd1cmFibGUsIGAke2tleX06IGNvbmZpZ3VyYWJsZWApOworICAgIGNvbnN0IGFjdHVhbCA9
IHByb3BlcnR5LnZhbHVlOworICAgIGFzc2VydF90cnVlKE9iamVjdC5pc0V4dGVuc2libGUoYWN0
dWFsKSwgYCR7a2V5fTogZXh0ZW5zaWJsZWApOworCisgICAgc3dpdGNoIChleHBlY3RlZC5raW5k
KSB7CisgICAgY2FzZSAiZnVuY3Rpb24iOgorICAgICAgYXNzZXJ0X2V4cG9ydGVkX2Z1bmN0aW9u
KGFjdHVhbCwgZXhwZWN0ZWQsIGB2YWx1ZSBvZiAke2tleX1gKTsKKyAgICAgIGJyZWFrOworICAg
IGNhc2UgImdsb2JhbCI6CisgICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihhY3R1YWwpLCBXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlLAorICAgICAgICAgICAgICAg
ICAgICBgdmFsdWUgb2YgJHtrZXl9OiBwcm90b3R5cGVgKTsKKyAgICAgIGFzc2VydF9lcXVhbHMo
YWN0dWFsLnZhbHVlLCBleHBlY3RlZC52YWx1ZSwgYHZhbHVlIG9mICR7a2V5fTogdmFsdWVgKTsK
KyAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsLnZhbHVlT2YoKSwgZXhwZWN0ZWQudmFsdWUsIGB2
YWx1ZSBvZiAke2tleX06IHZhbHVlT2YoKWApOworICAgICAgYnJlYWs7CisgICAgY2FzZSAibWVt
b3J5IjoKKyAgICAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFjdHVhbCks
IFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAgICAgIGB2YWx1
ZSBvZiAke2tleX06IHByb3RvdHlwZWApOworICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0
UHJvdG90eXBlT2YoYWN0dWFsLmJ1ZmZlciksIEFycmF5QnVmZmVyLnByb3RvdHlwZSwKKyAgICAg
ICAgICAgICAgICAgICAgYHZhbHVlIG9mICR7a2V5fTogcHJvdG90eXBlIG9mIGJ1ZmZlcmApOwor
ICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWwuYnVmZmVyLmJ5dGVMZW5ndGgsIDB4MTAwMDAgKiBl
eHBlY3RlZC5zaXplLCBgdmFsdWUgb2YgJHtrZXl9OiBzaXplIG9mIGJ1ZmZlcmApOworICAgICAg
Y29uc3QgYXJyYXkgPSBuZXcgVWludDhBcnJheShhY3R1YWwuYnVmZmVyKTsKKyAgICAgIGFzc2Vy
dF9lcXVhbHMoYXJyYXlbMF0sIDAsIGB2YWx1ZSBvZiAke2tleX06IGZpcnN0IGVsZW1lbnQgb2Yg
YnVmZmVyYCk7CisgICAgICBhc3NlcnRfZXF1YWxzKGFycmF5W2FycmF5LmJ5dGVMZW5ndGggLSAx
XSwgMCwgYHZhbHVlIG9mICR7a2V5fTogbGFzdCBlbGVtZW50IG9mIGJ1ZmZlcmApOworICAgICAg
YnJlYWs7CisgICAgY2FzZSAidGFibGUiOgorICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0
UHJvdG90eXBlT2YoYWN0dWFsKSwgV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlLAorICAgICAg
ICAgICAgICAgICAgICBgdmFsdWUgb2YgJHtrZXl9OiBwcm90b3R5cGVgKTsKKyAgICAgIGFzc2Vy
dF9lcXVhbHMoYWN0dWFsLmxlbmd0aCwgZXhwZWN0ZWQubGVuZ3RoLCBgdmFsdWUgb2YgJHtrZXl9
OiBsZW5ndGggb2YgdGFibGVgKTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorfQorCitmdW5j
dGlvbiBhc3NlcnRfV2ViQXNzZW1ibHlJbnN0YW50aWF0ZWRTb3VyY2UoYWN0dWFsLCBleHBlY3Rl
ZF9leHBvcnRzPXt9KSB7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFj
dHVhbCksIE9iamVjdC5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAgIlByb3RvdHlwZSIpOwor
ICBhc3NlcnRfdHJ1ZShPYmplY3QuaXNFeHRlbnNpYmxlKGFjdHVhbCksICJFeHRlbnNpYmlsaXR5
Iik7CisKKyAgY29uc3QgbW9kdWxlID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihh
Y3R1YWwsICJtb2R1bGUiKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgbW9kdWxlLCAib2JqZWN0
IiwgIm1vZHVsZTogdHlwZSBvZiBkZXNjcmlwdG9yIik7CisgIGFzc2VydF90cnVlKG1vZHVsZS53
cml0YWJsZSwgIm1vZHVsZTogd3JpdGFibGUiKTsKKyAgYXNzZXJ0X3RydWUobW9kdWxlLmVudW1l
cmFibGUsICJtb2R1bGU6IGVudW1lcmFibGUiKTsKKyAgYXNzZXJ0X3RydWUobW9kdWxlLmNvbmZp
Z3VyYWJsZSwgIm1vZHVsZTogY29uZmlndXJhYmxlIik7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0
LmdldFByb3RvdHlwZU9mKG1vZHVsZS52YWx1ZSksIFdlYkFzc2VtYmx5Lk1vZHVsZS5wcm90b3R5
cGUsCisgICAgICAgICAgICAgICAgIm1vZHVsZTogcHJvdG90eXBlIik7CisKKyAgY29uc3QgaW5z
dGFuY2UgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFjdHVhbCwgImluc3RhbmNl
Iik7CisgIGFzc2VydF9lcXVhbHModHlwZW9mIGluc3RhbmNlLCAib2JqZWN0IiwgImluc3RhbmNl
OiB0eXBlIG9mIGRlc2NyaXB0b3IiKTsKKyAgYXNzZXJ0X3RydWUoaW5zdGFuY2Uud3JpdGFibGUs
ICJpbnN0YW5jZTogd3JpdGFibGUiKTsKKyAgYXNzZXJ0X3RydWUoaW5zdGFuY2UuZW51bWVyYWJs
ZSwgImluc3RhbmNlOiBlbnVtZXJhYmxlIik7CisgIGFzc2VydF90cnVlKGluc3RhbmNlLmNvbmZp
Z3VyYWJsZSwgImluc3RhbmNlOiBjb25maWd1cmFibGUiKTsKKyAgYXNzZXJ0X0luc3RhbmNlKGlu
c3RhbmNlLnZhbHVlLCBleHBlY3RlZF9leHBvcnRzKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9iYWQtaW1wb3J0
cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9iYWQtaW1wb3J0cy5qcwppbmRleCBmMDc2YmFhY2NhOGIzZTZhZGRmNDlmNjg0MTg3NGQx
MWJmY2ZlNWEyLi5hZmQ0MTkzNmQzZTA0NTliNzdmNGU3ZmQ0Y2RhNmIxNzU0YjlkNGRhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvYmFkLWltcG9ydHMuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2JhZC1pbXBvcnRzLmpzCkBAIC0xLDcgKzEsMTkgQEAK
Ky8qKgorICogYHRgIHNob3VsZCBiZSBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYXQgbGVhc3QgdGhy
ZWUgYXJndW1lbnRzOgorICoKKyAqIC0gdGhlIG5hbWUgb2YgdGhlIHRlc3Q7CisgKiAtIHRoZSBl
eHBlY3RlZCBlcnJvciAodG8gYmUgcGFzc2VkIHRvIGBhc3NlcnRfdGhyb3dzX2pzYCk7CisgKiAt
IGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIGBXYXNtTW9kdWxlQnVpbGRlcmAgYW5kIGluaXRpYWxp
emVzIGl0OworICogLSAob3B0aW9uYWxseSkgYW4gb3B0aW9ucyBvYmplY3QuCisgKgorICogVGhl
IGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIGNyZWF0ZSBhIHRlc3QgdGhhdCBjaGVja3MgaWYgaW5z
dGFudGlhdGluZyBhCisgKiBtb2R1bGUgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBgV2FzbU1vZHVs
ZUJ1aWxkZXJgIGFuZCB0aGUgb3B0aW9ucyBvYmplY3QKKyAqIChpZiBhbnkpIHlpZWxkcyB0aGUg
Y29ycmVjdCBlcnJvci4KKyAqLwogZnVuY3Rpb24gdGVzdF9iYWRfaW1wb3J0cyh0KSB7CiAgIGZv
ciAoY29uc3QgdmFsdWUgb2YgW251bGwsIHRydWUsICIiLCBTeW1ib2woKSwgMSwgMC4xLCBOYU5d
KSB7CiAgICAgdChgTm9uLW9iamVjdCBpbXBvcnRzIGFyZ3VtZW50OiAke2Zvcm1hdF92YWx1ZSh2
YWx1ZSl9YCwKLSAgICAgIG5ldyBUeXBlRXJyb3IoKSwKKyAgICAgIFR5cGVFcnJvciwKICAgICAg
IGJ1aWxkZXIgPT4ge30sCiAgICAgICB2YWx1ZSk7CiAgIH0KQEAgLTExLDIyICsyMywyMiBAQCBm
dW5jdGlvbiB0ZXN0X2JhZF9pbXBvcnRzKHQpIHsKICAgICAgICJtb2R1bGUiOiB2YWx1ZSwKICAg
ICB9OwogICAgIHQoYE5vbi1vYmplY3QgbW9kdWxlOiAke2Zvcm1hdF92YWx1ZSh2YWx1ZSl9YCwK
LSAgICAgIG5ldyBUeXBlRXJyb3IoKSwKKyAgICAgIFR5cGVFcnJvciwKICAgICAgIGJ1aWxkZXIg
PT4gewogICAgICAgICBidWlsZGVyLmFkZEltcG9ydCgibW9kdWxlIiwgImZuIiwga1NpZ192X3Yp
OwogICAgICAgfSwKLSAgICAgIHZhbHVlKTsKKyAgICAgIGltcG9ydHMpOwogICB9CiAKICAgdChg
TWlzc2luZyBpbXBvcnRzIGFyZ3VtZW50YCwKLSAgICBuZXcgVHlwZUVycm9yKCksCisgICAgVHlw
ZUVycm9yLAogICAgIGJ1aWxkZXIgPT4gewogICAgICAgYnVpbGRlci5hZGRJbXBvcnQoIm1vZHVs
ZSIsICJmbiIsIGtTaWdfdl92KTsKICAgICB9KTsKIAogICBmb3IgKGNvbnN0IFt2YWx1ZSwgbmFt
ZV0gb2YgW1t1bmRlZmluZWQsICJ1bmRlZmluZWQiXSwgW3t9LCAiZW1wdHkgb2JqZWN0Il0sIFt7
ICJtb2R1bGVcMCI6IG51bGwgfSwgIndyb25nIHByb3BlcnR5Il1dKSB7CiAgICAgdChgSW1wb3J0
cyBhcmd1bWVudCB3aXRoIG1pc3NpbmcgcHJvcGVydHk6ICR7bmFtZX1gLAotICAgICAgbmV3IFR5
cGVFcnJvcigpLAorICAgICAgVHlwZUVycm9yLAogICAgICAgYnVpbGRlciA9PiB7CiAgICAgICAg
IGJ1aWxkZXIuYWRkSW1wb3J0KCJtb2R1bGUiLCAiZm4iLCBrU2lnX3Zfdik7CiAgICAgICB9LApA
QCAtMzQsNyArNDYsNyBAQCBmdW5jdGlvbiB0ZXN0X2JhZF9pbXBvcnRzKHQpIHsKICAgfQogCiAg
IHQoYEltcG9ydGluZyBhbiBpNjQgZ2xvYmFsYCwKLSAgICBuZXcgV2ViQXNzZW1ibHkuTGlua0Vy
cm9yKCksCisgICAgV2ViQXNzZW1ibHkuTGlua0Vycm9yLAogICAgIGJ1aWxkZXIgPT4gewogICAg
ICAgYnVpbGRlci5hZGRJbXBvcnRlZEdsb2JhbCgibW9kdWxlIiwgImdsb2JhbCIsIGtXYXNtSTY0
KTsKICAgICB9LApAQCAtNDYsNyArNTgsNyBAQCBmdW5jdGlvbiB0ZXN0X2JhZF9pbXBvcnRzKHQp
IHsKIAogICBmb3IgKGNvbnN0IHZhbHVlIG9mIFt1bmRlZmluZWQsIG51bGwsIHRydWUsICIiLCBT
eW1ib2woKSwgMSwgMC4xLCBOYU4sIHt9XSkgewogICAgIHQoYEltcG9ydGluZyBhIGZ1bmN0aW9u
IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6ICR7Zm9ybWF0X3ZhbHVlKHZhbHVlKX1g
LAotICAgICAgbmV3IFdlYkFzc2VtYmx5LkxpbmtFcnJvcigpLAorICAgICAgV2ViQXNzZW1ibHku
TGlua0Vycm9yLAogICAgICAgYnVpbGRlciA9PiB7CiAgICAgICAgIGJ1aWxkZXIuYWRkSW1wb3J0
KCJtb2R1bGUiLCAiZm4iLCBrU2lnX3Zfdik7CiAgICAgICB9LApAQCAtNjcsMTEgKzc5LDEyIEBA
IGZ1bmN0aW9uIHRlc3RfYmFkX2ltcG9ydHModCkgewogICAgIFtXZWJBc3NlbWJseS5HbG9iYWws
ICJXZWJBc3NlbWJseS5HbG9iYWwiXSwKICAgICBbV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlw
ZSwgIldlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUiXSwKICAgICBbT2JqZWN0LmNyZWF0ZShX
ZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlKSwgIk9iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHku
R2xvYmFsLnByb3RvdHlwZSkiXSwKKyAgICBbbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbCh7dmFsdWU6
ICJmMzIifSksICJXZWJBc3NlbWJseS5HbG9iYWwgb2JqZWN0ICh3cm9uZyB2YWx1ZSB0eXBlKSJd
LAogICBdOwogCiAgIGZvciAoY29uc3QgW3ZhbHVlLCBuYW1lID0gZm9ybWF0X3ZhbHVlKHZhbHVl
KV0gb2Ygbm9uR2xvYmFscykgewogICAgIHQoYEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGlu
Y29ycmVjdGx5LXR5cGVkIHZhbHVlOiAke25hbWV9YCwKLSAgICAgIG5ldyBXZWJBc3NlbWJseS5M
aW5rRXJyb3IoKSwKKyAgICAgIFdlYkFzc2VtYmx5LkxpbmtFcnJvciwKICAgICAgIGJ1aWxkZXIg
PT4gewogICAgICAgICBidWlsZGVyLmFkZEltcG9ydGVkR2xvYmFsKCJtb2R1bGUiLCAiZ2xvYmFs
Iiwga1dhc21JMzIpOwogICAgICAgfSwKQEAgLTk1LDExICsxMDgsMTIgQEAgZnVuY3Rpb24gdGVz
dF9iYWRfaW1wb3J0cyh0KSB7CiAgICAgW1dlYkFzc2VtYmx5Lk1lbW9yeSwgIldlYkFzc2VtYmx5
Lk1lbW9yeSJdLAogICAgIFtXZWJBc3NlbWJseS5NZW1vcnkucHJvdG90eXBlLCAiV2ViQXNzZW1i
bHkuTWVtb3J5LnByb3RvdHlwZSJdLAogICAgIFtPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5Lk1l
bW9yeS5wcm90b3R5cGUpLCAiT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5NZW1vcnkucHJvdG90
eXBlKSJdLAorICAgIFtuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHsiaW5pdGlhbCI6IDI1Nn0pLCAi
V2ViQXNzZW1ibHkuTWVtb3J5IG9iamVjdCAodG9vIGxhcmdlKSJdLAogICBdOwogCiAgIGZvciAo
Y29uc3QgW3ZhbHVlLCBuYW1lID0gZm9ybWF0X3ZhbHVlKHZhbHVlKV0gb2Ygbm9uTWVtb3JpZXMp
IHsKICAgICB0KGBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFs
dWU6ICR7bmFtZX1gLAotICAgICAgbmV3IFdlYkFzc2VtYmx5LkxpbmtFcnJvcigpLAorICAgICAg
V2ViQXNzZW1ibHkuTGlua0Vycm9yLAogICAgICAgYnVpbGRlciA9PiB7CiAgICAgICAgIGJ1aWxk
ZXIuYWRkSW1wb3J0ZWRNZW1vcnkoIm1vZHVsZSIsICJtZW1vcnkiLCAwLCAxMjgpOwogICAgICAg
fSwKQEAgLTEyMywxMSArMTM3LDEyIEBAIGZ1bmN0aW9uIHRlc3RfYmFkX2ltcG9ydHModCkgewog
ICAgIFtXZWJBc3NlbWJseS5UYWJsZSwgIldlYkFzc2VtYmx5LlRhYmxlIl0sCiAgICAgW1dlYkFz
c2VtYmx5LlRhYmxlLnByb3RvdHlwZSwgIldlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSJdLAog
ICAgIFtPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSksICJPYmplY3Qu
Y3JlYXRlKFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSkiXSwKKyAgICBbbmV3IFdlYkFzc2Vt
Ymx5LlRhYmxlKHsiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiAyNTZ9KSwgIldlYkFz
c2VtYmx5LlRhYmxlIG9iamVjdCAodG9vIGxhcmdlKSJdLAogICBdOwogCiAgIGZvciAoY29uc3Qg
W3ZhbHVlLCBuYW1lID0gZm9ybWF0X3ZhbHVlKHZhbHVlKV0gb2Ygbm9uVGFibGVzKSB7CiAgICAg
dChgSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6ICR7bmFt
ZX1gLAotICAgICAgbmV3IFdlYkFzc2VtYmx5LkxpbmtFcnJvcigpLAorICAgICAgV2ViQXNzZW1i
bHkuTGlua0Vycm9yLAogICAgICAgYnVpbGRlciA9PiB7CiAgICAgICAgIGJ1aWxkZXIuYWRkSW1w
b3J0ZWRUYWJsZSgibW9kdWxlIiwgInRhYmxlIiwgMCwgMTI4KTsKICAgICAgIH0sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvY29uc3RydWN0b3IvY29tcGlsZS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBp
bGUuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmIwZjg1MGNlOWM2YTdiYTRhOTRlNDAx
YjM5OGJhNTM1MjJkMzZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1BBU1MgTWlzc2luZyBhcmd1bWVudCAK
K1BBU1MgSW52YWxpZCBhcmd1bWVudHMgCitQQVNTIEJyYW5kaW5nIAorUEFTUyBQcm9taXNlIHR5
cGUgCitQQVNTIEVtcHR5IGJ1ZmZlciAKK1BBU1MgSW52YWxpZCBjb2RlIAorUEFTUyBSZXN1bHQg
dHlwZSAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCitQQVNTIENoYW5naW5nIHRoZSBidWZmZXIgCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9jb21waWxlLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBp
bGUuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4
MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9jb21waWxlLmFueS5odG1sCkBA
IC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9jb21waWxlLmFueS5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25z
dHJ1Y3Rvci9jb21waWxlLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzQxMjM5NDNlNzc1ZjQ2ZTg1NGIy
YzA3MjU4YTdkMDhjNWNmNjkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUu
YW55LmpzCkBAIC0wLDAgKzEsODUgQEAKKy8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRB
OiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcworCitmdW5jdGlvbiBh
c3NlcnRfTW9kdWxlKG1vZHVsZSkgeworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5
cGVPZihtb2R1bGUpLCBXZWJBc3NlbWJseS5Nb2R1bGUucHJvdG90eXBlLAorICAgICAgICAgICAg
ICAgICJQcm90b3R5cGUiKTsKKyAgYXNzZXJ0X3RydWUoT2JqZWN0LmlzRXh0ZW5zaWJsZShtb2R1
bGUpLCAiRXh0ZW5zaWJpbGl0eSIpOworfQorCitsZXQgZW1wdHlNb2R1bGVCaW5hcnk7CitzZXR1
cCgoKSA9PiB7CisgIGVtcHR5TW9kdWxlQmluYXJ5ID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCku
dG9CdWZmZXIoKTsKK30pOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBXZWJBc3NlbWJseS5jb21waWxlKCkpOworfSwgIk1p
c3NpbmcgYXJndW1lbnQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCBpbnZhbGlk
QXJndW1lbnRzID0gWworICAgIHVuZGVmaW5lZCwKKyAgICBudWxsLAorICAgIHRydWUsCisgICAg
IiIsCisgICAgU3ltYm9sKCksCisgICAgMSwKKyAgICB7fSwKKyAgICBBcnJheUJ1ZmZlciwKKyAg
ICBBcnJheUJ1ZmZlci5wcm90b3R5cGUsCisgICAgQXJyYXkuZnJvbShlbXB0eU1vZHVsZUJpbmFy
eSksCisgIF07CisgIHJldHVybiBQcm9taXNlLmFsbChpbnZhbGlkQXJndW1lbnRzLm1hcChhcmd1
bWVudCA9PiB7CisgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIFdl
YkFzc2VtYmx5LmNvbXBpbGUoYXJndW1lbnQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
YGNvbXBpbGUoJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKKyAgfSkpOworfSwgIkludmFs
aWQgYXJndW1lbnRzIik7CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIGNvbnN0IGZuID0gV2Vi
QXNzZW1ibHkuY29tcGlsZTsKKyAgY29uc3QgdGhpc1ZhbHVlcyA9IFsKKyAgICB1bmRlZmluZWQs
CisgICAgbnVsbCwKKyAgICB0cnVlLAorICAgICIiLAorICAgIFN5bWJvbCgpLAorICAgIDEsCisg
ICAge30sCisgICAgV2ViQXNzZW1ibHksCisgIF07CisgIHJldHVybiBQcm9taXNlLmFsbCh0aGlz
VmFsdWVzLm1hcCh0aGlzVmFsdWUgPT4geworICAgIHJldHVybiBmbi5jYWxsKHRoaXNWYWx1ZSwg
ZW1wdHlNb2R1bGVCaW5hcnkpLnRoZW4oYXNzZXJ0X01vZHVsZSk7CisgIH0pKTsKK30sICJCcmFu
ZGluZyIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgcHJvbWlzZSA9IFdlYkFzc2VtYmx5LmNv
bXBpbGUoZW1wdHlNb2R1bGVCaW5hcnkpOworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90
b3R5cGVPZihwcm9taXNlKSwgUHJvbWlzZS5wcm90b3R5cGUsICJwcm90b3R5cGUiKTsKKyAgYXNz
ZXJ0X3RydWUoT2JqZWN0LmlzRXh0ZW5zaWJsZShwcm9taXNlKSwgImV4dGVuc2liaWxpdHkiKTsK
K30sICJQcm9taXNlIHR5cGUiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCBidWZm
ZXIgPSBuZXcgVWludDhBcnJheSgpOworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFdl
YkFzc2VtYmx5LkNvbXBpbGVFcnJvciwgV2ViQXNzZW1ibHkuY29tcGlsZShidWZmZXIpKTsKK30s
ICJFbXB0eSBidWZmZXIiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCBidWZmZXIg
PSBuZXcgVWludDhBcnJheShBcnJheS5mcm9tKGVtcHR5TW9kdWxlQmluYXJ5KS5jb25jYXQoWzAs
IDBdKSk7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgV2ViQXNzZW1ibHkuQ29tcGls
ZUVycm9yLCBXZWJBc3NlbWJseS5jb21waWxlKGJ1ZmZlcikpOworfSwgIkludmFsaWQgY29kZSIp
OworCitwcm9taXNlX3Rlc3QoKCkgPT4geworICByZXR1cm4gV2ViQXNzZW1ibHkuY29tcGlsZShl
bXB0eU1vZHVsZUJpbmFyeSkudGhlbihhc3NlcnRfTW9kdWxlKTsKK30sICJSZXN1bHQgdHlwZSIp
OworCitwcm9taXNlX3Rlc3QoKCkgPT4geworICByZXR1cm4gV2ViQXNzZW1ibHkuY29tcGlsZShl
bXB0eU1vZHVsZUJpbmFyeSwge30pLnRoZW4oYXNzZXJ0X01vZHVsZSk7Cit9LCAiU3RyYXkgYXJn
dW1lbnQiKTsKKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgY29uc3QgYnVmZmVyID0gbmV3IFdh
c21Nb2R1bGVCdWlsZGVyKCkudG9CdWZmZXIoKTsKKyAgYXNzZXJ0X2VxdWFscyhidWZmZXJbMF0s
IDApOworICBjb25zdCBwcm9taXNlID0gV2ViQXNzZW1ibHkuY29tcGlsZShidWZmZXIpOworICBi
dWZmZXJbMF0gPSAxOworICByZXR1cm4gcHJvbWlzZS50aGVuKGFzc2VydF9Nb2R1bGUpOworfSwg
IkNoYW5naW5nIHRoZSBidWZmZXIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9jb21waWxlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODZiMGY4NTBjZTljNmE3YmE0YTk0ZTQwMWIzOThiYTUzNTIy
ZDM2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9jb21waWxlLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworUEFTUyBNaXNzaW5nIGFyZ3VtZW50IAorUEFT
UyBJbnZhbGlkIGFyZ3VtZW50cyAKK1BBU1MgQnJhbmRpbmcgCitQQVNTIFByb21pc2UgdHlwZSAK
K1BBU1MgRW1wdHkgYnVmZmVyIAorUEFTUyBJbnZhbGlkIGNvZGUgCitQQVNTIFJlc3VsdCB0eXBl
IAorUEFTUyBTdHJheSBhcmd1bWVudCAKK1BBU1MgQ2hhbmdpbmcgdGhlIGJ1ZmZlciAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2Nv
bXBpbGUuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2
NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvY29tcGlsZS5h
bnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2lu
c3RhbnRpYXRlLWJhZC1pbXBvcnRzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFu
dGlhdGUtYmFkLWltcG9ydHMuYW55LWV4cGVjdGVkLnR4dAppbmRleCBmYjdkNzU5MTViMjQ5Njll
YzcyZTlhZTYyOTNiNThjMDQ1MjEwN2ZmLi5jMGY0MmIzMTQ3MjU5NzdiYjFkMDgyMjg5ZmJiYjY0
ZjgyNDc2NjM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUtYmFkLWltcG9ydHMu
YW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUtYmFkLWltcG9ydHMu
YW55LWV4cGVjdGVkLnR4dApAQCAtMzcsNiArMzcsNyBAQCBQQVNTIFdlYkFzc2VtYmx5Lmluc3Rh
bnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9i
YWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xvYmFsIAog
UEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9iYWwg
d2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xvYmFsLnByb3Rv
dHlwZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIGEg
Z2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IE9iamVjdC5jcmVhdGUoV2Vi
QXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSkgCitQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRl
KG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZh
bHVlOiBXZWJBc3NlbWJseS5HbG9iYWwgb2JqZWN0ICh3cm9uZyB2YWx1ZSB0eXBlKSAKIFBBU1Mg
V2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFu
IGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB1bmRlZmluZWQgCiBQQVNTIFdlYkFzc2VtYmx5Lmlu
c3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10
eXBlZCB2YWx1ZTogbnVsbCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTog
SW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB0cnVlIApA
QCAtNDksNiArNTAsNyBAQCBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IElt
cG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZAogUEFTUyBXZWJBc3NlbWJs
eS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0
bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lk1lbW9yeSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5z
dGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5NZW1vcnkucHJvdG90eXBlIAogUEFTUyBXZWJBc3NlbWJs
eS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0
bHktdHlwZWQgdmFsdWU6IE9iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHkuTWVtb3J5LnByb3RvdHlw
ZSkgCitQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1v
cnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuTWVtb3J5IG9i
amVjdCAodG9vIGxhcmdlKSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTog
SW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHVuZGVmaW5l
ZCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxl
IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IG51bGwgCiBQQVNTIFdlYkFzc2VtYmx5
Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5
LXR5cGVkIHZhbHVlOiB0cnVlIApAQCAtNjEsNiArNjMsNyBAQCBQQVNTIFdlYkFzc2VtYmx5Lmlu
c3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cGVkCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJs
ZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZSAKIFBB
U1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGgg
YW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSAK
IFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdp
dGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IE9iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHku
VGFibGUucHJvdG90eXBlKSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTog
SW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2Vt
Ymx5LlRhYmxlIG9iamVjdCAodG9vIGxhcmdlKSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlh
dGUoYnVmZmVyKTogTm9uLW9iamVjdCBpbXBvcnRzIGFyZ3VtZW50OiBudWxsIAogUEFTUyBXZWJB
c3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBOb24tb2JqZWN0IGltcG9ydHMgYXJndW1lbnQ6
IHRydWUgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IE5vbi1vYmplY3Qg
aW1wb3J0cyBhcmd1bWVudDogIiIgCkBAIC05OSw2ICsxMDIsNyBAQCBQQVNTIFdlYkFzc2VtYmx5
Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcg
YSBnbG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xv
YmFsIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgYSBn
bG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xvYmFs
LnByb3RvdHlwZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0
aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IE9iamVjdC5jcmVh
dGUoV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSkgCitQQVNTIFdlYkFzc2VtYmx5Lmluc3Rh
bnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwgb2JqZWN0ICh3cm9uZyB2YWx1ZSB0eXBlKSAK
IFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIG1lbW9yeSB3
aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB1bmRlZmluZWQgCiBQQVNTIFdlYkFzc2Vt
Ymx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJl
Y3RseS10eXBlZCB2YWx1ZTogbnVsbCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVm
ZmVyKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB0
cnVlIApAQCAtMTExLDYgKzExNSw3IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVm
ZmVyKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkCiBQQVNTIFdl
YkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBp
bmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuTWVtb3J5IAogUEFTUyBXZWJBc3Nl
bWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3Jy
ZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUgCiBQQVNTIFdl
YkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBp
bmNvcnJlY3RseS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5NZW1vcnku
cHJvdG90eXBlKSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0
aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5N
ZW1vcnkgb2JqZWN0ICh0b28gbGFyZ2UpIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShi
dWZmZXIpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTog
dW5kZWZpbmVkIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRp
bmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogbnVsbCAKIFBBU1MgV2Vi
QXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5j
b3JyZWN0bHktdHlwZWQgdmFsdWU6IHRydWUgCkBAIC0xMjMsNCArMTI4LDUgQEAgUEFTUyBXZWJB
c3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNv
cnJlY3RseS10eXBlZAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBv
cnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHku
VGFibGUgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyB0
YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZS5w
cm90b3R5cGUgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGlu
ZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBPYmplY3QuY3JlYXRlKFdl
YkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSkgCitQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRl
KGJ1ZmZlcik6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVl
OiBXZWJBc3NlbWJseS5UYWJsZSBvYmplY3QgKHRvbyBsYXJnZSkgCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25z
dHJ1Y3Rvci9pbnN0YW50aWF0ZS1iYWQtaW1wb3J0cy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFu
dGlhdGUtYmFkLWltcG9ydHMuYW55LmpzCmluZGV4IDg2NzAwMjk4ZGZhZTY2ZGU2ZjRkMDI2YmFh
MjllNmUzNTg0MzIwZjcuLjM3MDcyNDM0MjA4YTU4ODE5YTBhNDFmYWE2YTE5MTA3MDRjMTA4NDUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS1iYWQtaW1wb3J0cy5hbnkuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLWJhZC1pbXBvcnRzLmFueS5qcwpAQCAtMSw1ICsxLDQg
QEAKIC8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCi0vLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkv
d2FzbS1jb25zdGFudHMuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVs
ZS1idWlsZGVyLmpzCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvYmFkLWltcG9ydHMuanMK
IApAQCAtOSw3ICs4LDcgQEAgdGVzdF9iYWRfaW1wb3J0cygobmFtZSwgZXJyb3IsIGJ1aWxkLCAu
Li5hcmd1bWVudHMpID0+IHsKICAgICBidWlsZChidWlsZGVyKTsKICAgICBjb25zdCBidWZmZXIg
PSBidWlsZGVyLnRvQnVmZmVyKCk7CiAgICAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5
Lk1vZHVsZShidWZmZXIpOwotICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgZXJyb3IsIFdl
YkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSwgLi4uYXJndW1lbnRzKSk7CisgICAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBlcnJvciwgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9k
dWxlLCAuLi5hcmd1bWVudHMpKTsKICAgfSwgYFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVs
ZSk6ICR7bmFtZX1gKTsKIH0pOwogCkBAIC0xOCw2ICsxNyw2IEBAIHRlc3RfYmFkX2ltcG9ydHMo
KG5hbWUsIGVycm9yLCBidWlsZCwgLi4uYXJndW1lbnRzKSA9PiB7CiAgICAgY29uc3QgYnVpbGRl
ciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpOwogICAgIGJ1aWxkKGJ1aWxkZXIpOwogICAgIGNv
bnN0IGJ1ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKLSAgICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzKHQsIGVycm9yLCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIsIC4uLmFyZ3VtZW50
cykpOworICAgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgZXJyb3IsIFdlYkFzc2VtYmx5
Lmluc3RhbnRpYXRlKGJ1ZmZlciwgLi4uYXJndW1lbnRzKSk7CiAgIH0sIGBXZWJBc3NlbWJseS5p
bnN0YW50aWF0ZShidWZmZXIpOiAke25hbWV9YCk7CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rv
ci9pbnN0YW50aWF0ZS1iYWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1
Y3Rvci9pbnN0YW50aWF0ZS1iYWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRl
eCBmYjdkNzU5MTViMjQ5NjllYzcyZTlhZTYyOTNiNThjMDQ1MjEwN2ZmLi5jMGY0MmIzMTQ3MjU5
NzdiYjFkMDgyMjg5ZmJiYjY0ZjgyNDc2NjM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFu
dGlhdGUtYmFkLWltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9y
L2luc3RhbnRpYXRlLWJhZC1pbXBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0zNyw2
ICszNyw3IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5n
IGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3Rh
bnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRp
YXRlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVk
IHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlIAogUEFTUyBXZWJBc3NlbWJseS5p
bnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9iYWwgd2l0aCBhbiBpbmNvcnJlY3Rs
eS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBl
KSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIGEgZ2xv
YmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lkdsb2JhbCBv
YmplY3QgKHdyb25nIHZhbHVlIHR5cGUpIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZSht
b2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6
IHVuZGVmaW5lZCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0
aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBudWxsIAogUEFTUyBX
ZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4g
aW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHRydWUgCkBAIC00OSw2ICs1MCw3IEBAIFBBU1MgV2Vi
QXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGlu
Y29ycmVjdGx5LXR5cGVkCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IElt
cG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1i
bHkuTWVtb3J5IAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRp
bmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lk1l
bW9yeS5wcm90b3R5cGUgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IElt
cG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogT2JqZWN0LmNy
ZWF0ZShXZWJBc3NlbWJseS5NZW1vcnkucHJvdG90eXBlKSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5z
dGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5NZW1vcnkgb2JqZWN0ICh0b28gbGFyZ2UpIAogUEFTUyBX
ZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBp
bmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdW5kZWZpbmVkIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0
YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBl
ZCB2YWx1ZTogbnVsbCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1w
b3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHRydWUgCkBAIC02
MSw2ICs2Myw3IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0
aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQKIFBBU1MgV2ViQXNzZW1ibHkuaW5z
dGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlw
ZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0
ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1
ZTogV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50
aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2
YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUpIAorUEFTUyBX
ZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBp
bmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuVGFibGUgb2JqZWN0ICh0b28gbGFy
Z2UpIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBOb24tb2JqZWN0IGlt
cG9ydHMgYXJndW1lbnQ6IG51bGwgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZl
cik6IE5vbi1vYmplY3QgaW1wb3J0cyBhcmd1bWVudDogdHJ1ZSAKIFBBU1MgV2ViQXNzZW1ibHku
aW5zdGFudGlhdGUoYnVmZmVyKTogTm9uLW9iamVjdCBpbXBvcnRzIGFyZ3VtZW50OiAiIiAKQEAg
LTk5LDYgKzEwMiw3IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1w
b3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwCiBQQVNTIFdlYkFzc2VtYmx5
Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwgCiBQQVNTIFdlYkFzc2VtYmx5Lmlu
c3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5
LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlIAogUEFTUyBXZWJBc3Nl
bWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgYSBnbG9iYWwgd2l0aCBhbiBpbmNv
cnJlY3RseS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5HbG9iYWwucHJv
dG90eXBlKSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5n
IGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lkds
b2JhbCBvYmplY3QgKHdyb25nIHZhbHVlIHR5cGUpIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50
aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQg
dmFsdWU6IHVuZGVmaW5lZCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTog
SW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBudWxsIAog
UEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgbWVtb3J5IHdp
dGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHRydWUgCkBAIC0xMTEsNiArMTE1LDcgQEAg
UEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgbWVtb3J5IHdp
dGggYW4gaW5jb3JyZWN0bHktdHlwZWQKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVm
ZmVyKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBX
ZWJBc3NlbWJseS5NZW1vcnkgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6
IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNz
ZW1ibHkuTWVtb3J5LnByb3RvdHlwZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVm
ZmVyKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBP
YmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUpIAorUEFTUyBXZWJBc3Nl
bWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3Jy
ZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lk1lbW9yeSBvYmplY3QgKHRvbyBsYXJnZSkg
CiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyB0YWJsZSB3
aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB1bmRlZmluZWQgCiBQQVNTIFdlYkFzc2Vt
Ymx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cGVkIHZhbHVlOiBudWxsIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZm
ZXIpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdHJ1
ZSAKQEAgLTEyMyw0ICsxMjgsNSBAQCBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZl
cik6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkCiBQQVNTIFdlYkFz
c2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29y
cmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZSAKIFBBU1MgV2ViQXNzZW1ibHku
aW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHkt
dHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSAKIFBBU1MgV2ViQXNzZW1i
bHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0
bHktdHlwZWQgdmFsdWU6IE9iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBl
KSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRhYmxl
IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlIG9iamVj
dCAodG9vIGxhcmdlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42NGVmMGJmNGNlMzVhMWUwODFiNjcxOTg1MzkyNmQyODA2Y2I4ZjE5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyNyBAQAorCitQQVNTIE1pc3NpbmcgYXJndW1lbnRzIAorUEFTUyBCcmFuZGluZyAKK1BB
U1MgSW52YWxpZCBhcmd1bWVudHMgCitQQVNTIFByb21pc2UgdHlwZSAKK1BBU1MgRW1wdHkgbW9k
dWxlIHdpdGhvdXQgaW1wb3J0cyBhcmd1bWVudDogQnVmZmVyU291cmNlIGFyZ3VtZW50IAorUEFT
UyBFbXB0eSBtb2R1bGUgd2l0aG91dCBpbXBvcnRzIGFyZ3VtZW50OiBNb2R1bGUgYXJndW1lbnQg
CitQQVNTIEVtcHR5IG1vZHVsZSB3aXRoIHVuZGVmaW5lZCBpbXBvcnRzIGFyZ3VtZW50OiBCdWZm
ZXJTb3VyY2UgYXJndW1lbnQgCitQQVNTIEVtcHR5IG1vZHVsZSB3aXRoIHVuZGVmaW5lZCBpbXBv
cnRzIGFyZ3VtZW50OiBNb2R1bGUgYXJndW1lbnQgCitQQVNTIEVtcHR5IG1vZHVsZSB3aXRoIGVt
cHR5IGltcG9ydHMgYXJndW1lbnQ6IEJ1ZmZlclNvdXJjZSBhcmd1bWVudCAKK1BBU1MgRW1wdHkg
bW9kdWxlIHdpdGggZW1wdHkgaW1wb3J0cyBhcmd1bWVudDogTW9kdWxlIGFyZ3VtZW50IAorRkFJ
TCBnZXR0ZXIgb3JkZXIgZm9yIGltcG9ydHMgb2JqZWN0OiBCdWZmZXJTb3VyY2UgYXJndW1lbnQg
YXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMSwgZXhwZWN0ZWQgImdsb2JhbDEgZ2V0dGVy
IiBidXQgZ290ICJtZW1vcnkgZ2V0dGVyIgorRkFJTCBnZXR0ZXIgb3JkZXIgZm9yIGltcG9ydHMg
b2JqZWN0OiBNb2R1bGUgYXJndW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMSwg
ZXhwZWN0ZWQgImdsb2JhbDEgZ2V0dGVyIiBidXQgZ290ICJtZW1vcnkgZ2V0dGVyIgorUEFTUyBp
bXBvcnRzOiBCdWZmZXJTb3VyY2UgYXJndW1lbnQgCitQQVNTIGltcG9ydHM6IE1vZHVsZSBhcmd1
bWVudCAKK0ZBSUwgTm8gaW1wb3J0czogQnVmZmVyU291cmNlIGFyZ3VtZW50IGFzc2VydF9hcnJh
eV9lcXVhbHM6IG1hdGNoaW5nIGV4cG9ydCBrZXlzIHByb3BlcnR5IDIsIGV4cGVjdGVkICJ0YWJs
ZSIgYnV0IGdvdCAiZ2xvYmFsIgorRkFJTCBObyBpbXBvcnRzOiBNb2R1bGUgYXJndW1lbnQgYXNz
ZXJ0X2FycmF5X2VxdWFsczogbWF0Y2hpbmcgZXhwb3J0IGtleXMgcHJvcGVydHkgMiwgZXhwZWN0
ZWQgInRhYmxlIiBidXQgZ290ICJnbG9iYWwiCitGQUlMIGV4cG9ydHMgYW5kIGltcG9ydHM6IEJ1
ZmZlclNvdXJjZSBhcmd1bWVudCBhc3NlcnRfZmFsc2U6IGZuOiB3cml0YWJsZSBleHBlY3RlZCBm
YWxzZSBnb3QgdHJ1ZQorRkFJTCBleHBvcnRzIGFuZCBpbXBvcnRzOiBNb2R1bGUgYXJndW1lbnQg
YXNzZXJ0X2ZhbHNlOiBmbjogd3JpdGFibGUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1Mg
c3RyYXkgYXJndW1lbnQ6IEJ1ZmZlclNvdXJjZSBhcmd1bWVudCAKK1BBU1Mgc3RyYXkgYXJndW1l
bnQ6IE1vZHVsZSBhcmd1bWVudCAKK1BBU1MgU3luY2hyb25vdXMgb3B0aW9ucyBoYW5kbGluZzog
QnVmZmVyIGFyZ3VtZW50IAorRkFJTCBTeW5jaHJvbm91cyBvcHRpb25zIGhhbmRsaW5nOiBNb2R1
bGUgYXJndW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVk
IDIgZ290IDAKK1BBU1MgRW1wdHkgYnVmZmVyIAorUEFTUyBJbnZhbGlkIGNvZGUgCitQQVNTIENo
YW5naW5nIHRoZSBidWZmZXIgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5h
bnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgy
OTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2Nv
bnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUu
YW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAyMThkZTJiNDUyOTJjMjNlOGZjYzcyMGRiZjhjMmM0YTVjOWI2
OTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55LmpzCkBAIC0w
LDAgKzEsMTUyIEBACisvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAorLy8gTUVUQTogc2NyaXB0PS93
YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vd2FzbS9q
c2FwaS9hc3NlcnRpb25zLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvaW5zdGFuY2VU
ZXN0RmFjdG9yeS5qcworCitsZXQgZW1wdHlNb2R1bGVCaW5hcnk7CitzZXR1cCgoKSA9PiB7Cisg
IGVtcHR5TW9kdWxlQmluYXJ5ID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCkudG9CdWZmZXIoKTsK
K30pOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZSgpKTsKK30sICJNaXNzaW5nIGFy
Z3VtZW50cyIpOworCitwcm9taXNlX3Rlc3QoKCkgPT4geworICBjb25zdCBmbiA9IFdlYkFzc2Vt
Ymx5Lmluc3RhbnRpYXRlOworICBjb25zdCB0aGlzVmFsdWVzID0gWworICAgIHVuZGVmaW5lZCwK
KyAgICBudWxsLAorICAgIHRydWUsCisgICAgIiIsCisgICAgU3ltYm9sKCksCisgICAgMSwKKyAg
ICB7fSwKKyAgICBXZWJBc3NlbWJseSwKKyAgXTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKHRoaXNW
YWx1ZXMubWFwKHRoaXNWYWx1ZSA9PiB7CisgICAgcmV0dXJuIGZuLmNhbGwodGhpc1ZhbHVlLCBl
bXB0eU1vZHVsZUJpbmFyeSkudGhlbihhc3NlcnRfV2ViQXNzZW1ibHlJbnN0YW50aWF0ZWRTb3Vy
Y2UpOworICB9KSk7Cit9LCAiQnJhbmRpbmciKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBj
b25zdCBpbnZhbGlkQXJndW1lbnRzID0gWworICAgIHVuZGVmaW5lZCwKKyAgICBudWxsLAorICAg
IHRydWUsCisgICAgIiIsCisgICAgU3ltYm9sKCksCisgICAgMSwKKyAgICB7fSwKKyAgICBXZWJB
c3NlbWJseS5Nb2R1bGUsCisgICAgV2ViQXNzZW1ibHkuTW9kdWxlLnByb3RvdHlwZSwKKyAgICBB
cnJheUJ1ZmZlciwKKyAgICBBcnJheUJ1ZmZlci5wcm90b3R5cGUsCisgICAgQXJyYXkuZnJvbShl
bXB0eU1vZHVsZUJpbmFyeSksCisgIF07CisgIHJldHVybiBQcm9taXNlLmFsbChpbnZhbGlkQXJn
dW1lbnRzLm1hcChhcmd1bWVudCA9PiB7CisgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGFyZ3VtZW50KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGBpbnN0YW50aWF0ZSgke2Zvcm1hdF92YWx1ZShhcmd1bWVudCl9
KWApOworICB9KSk7Cit9LCAiSW52YWxpZCBhcmd1bWVudHMiKTsKKwordGVzdCgoKSA9PiB7Cisg
IGNvbnN0IHByb21pc2UgPSBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShlbXB0eU1vZHVsZUJpbmFy
eSk7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb21pc2UpLCBQcm9t
aXNlLnByb3RvdHlwZSwgInByb3RvdHlwZSIpOworICBhc3NlcnRfdHJ1ZShPYmplY3QuaXNFeHRl
bnNpYmxlKHByb21pc2UpLCAiZXh0ZW5zaWJpbGl0eSIpOworfSwgIlByb21pc2UgdHlwZSIpOwor
Citmb3IgKGNvbnN0IFtuYW1lLCBmbl0gb2YgaW5zdGFuY2VUZXN0RmFjdG9yeSkgeworICBwcm9t
aXNlX3Rlc3QoKCkgPT4geworICAgIGNvbnN0IHsgYnVmZmVyLCBhcmdzLCBleHBvcnRzLCB2ZXJp
ZnkgfSA9IGZuKCk7CisgICAgcmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlciwg
Li4uYXJncykudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X1dlYkFzc2VtYmx5SW5zdGFu
dGlhdGVkU291cmNlKHJlc3VsdCwgZXhwb3J0cyk7CisgICAgICB2ZXJpZnkocmVzdWx0Lmluc3Rh
bmNlKTsKKyAgICB9KTsKKyAgfSwgYCR7bmFtZX06IEJ1ZmZlclNvdXJjZSBhcmd1bWVudGApOwor
CisgIHByb21pc2VfdGVzdCgoKSA9PiB7CisgICAgY29uc3QgeyBidWZmZXIsIGFyZ3MsIGV4cG9y
dHMsIHZlcmlmeSB9ID0gZm4oKTsKKyAgICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHku
TW9kdWxlKGJ1ZmZlcik7CisgICAgcmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVs
ZSwgLi4uYXJncykudGhlbihpbnN0YW5jZSA9PiB7CisgICAgICBhc3NlcnRfSW5zdGFuY2UoaW5z
dGFuY2UsIGV4cG9ydHMpOworICAgICAgdmVyaWZ5KGluc3RhbmNlKTsKKyAgICB9KTsKKyAgfSwg
YCR7bmFtZX06IE1vZHVsZSBhcmd1bWVudGApOworfQorCitwcm9taXNlX3Rlc3QoKCkgPT4gewor
ICBjb25zdCBidWlsZGVyID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7CisgIGJ1aWxkZXIuYWRk
SW1wb3J0ZWRHbG9iYWwoIm1vZHVsZSIsICJnbG9iYWwiLCBrV2FzbUkzMik7CisgIGNvbnN0IGJ1
ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKKyAgY29uc3Qgb3JkZXIgPSBbXTsKKworICBjb25z
dCBpbXBvcnRzID0geworICAgIGdldCBtb2R1bGUoKSB7CisgICAgICBvcmRlci5wdXNoKCJtb2R1
bGUgZ2V0dGVyIik7CisgICAgICByZXR1cm4geworICAgICAgICBnZXQgZ2xvYmFsKCkgeworICAg
ICAgICAgIG9yZGVyLnB1c2goImdsb2JhbCBnZXR0ZXIiKTsKKyAgICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgfSwKKyAgICAgIH0KKyAgICB9LAorICB9OworCisgIGNvbnN0IGV4cGVjdGVkID0g
WworICAgICJtb2R1bGUgZ2V0dGVyIiwKKyAgICAiZ2xvYmFsIGdldHRlciIsCisgIF07CisgIGNv
bnN0IHAgPSBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIsIGltcG9ydHMpOworICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKG9yZGVyLCBbXSk7CisgIHJldHVybiBwLnRoZW4ocmVzdWx0ID0+IHsK
KyAgICBhc3NlcnRfV2ViQXNzZW1ibHlJbnN0YW50aWF0ZWRTb3VyY2UocmVzdWx0KTsKKyAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKG9yZGVyLCBleHBlY3RlZCk7CisgIH0pOworfSwgIlN5bmNocm9u
b3VzIG9wdGlvbnMgaGFuZGxpbmc6IEJ1ZmZlciBhcmd1bWVudCIpOworCitwcm9taXNlX3Rlc3Qo
KCkgPT4geworICBjb25zdCBidWlsZGVyID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7CisgIGJ1
aWxkZXIuYWRkSW1wb3J0ZWRHbG9iYWwoIm1vZHVsZSIsICJnbG9iYWwiLCBrV2FzbUkzMik7Cisg
IGNvbnN0IGJ1ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKKyAgY29uc3QgbW9kdWxlID0gbmV3
IFdlYkFzc2VtYmx5Lk1vZHVsZShidWZmZXIpOworICBjb25zdCBvcmRlciA9IFtdOworCisgIGNv
bnN0IGltcG9ydHMgPSB7CisgICAgZ2V0IG1vZHVsZSgpIHsKKyAgICAgIG9yZGVyLnB1c2goIm1v
ZHVsZSBnZXR0ZXIiKTsKKyAgICAgIHJldHVybiB7CisgICAgICAgIGdldCBnbG9iYWwoKSB7Cisg
ICAgICAgICAgb3JkZXIucHVzaCgiZ2xvYmFsIGdldHRlciIpOworICAgICAgICAgIHJldHVybiAw
OworICAgICAgICB9LAorICAgICAgfQorICAgIH0sCisgIH07CisKKyAgY29uc3QgZXhwZWN0ZWQg
PSBbCisgICAgIm1vZHVsZSBnZXR0ZXIiLAorICAgICJnbG9iYWwgZ2V0dGVyIiwKKyAgXTsKKyAg
Y29uc3QgcCA9IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSwgaW1wb3J0cyk7CisgIGFz
c2VydF9hcnJheV9lcXVhbHMob3JkZXIsIGV4cGVjdGVkKTsKKyAgcmV0dXJuIHAudGhlbihpbnN0
YW5jZSA9PiBhc3NlcnRfSW5zdGFuY2UoaW5zdGFuY2UsIHt9KSk7Cit9LCAiU3luY2hyb25vdXMg
b3B0aW9ucyBoYW5kbGluZzogTW9kdWxlIGFyZ3VtZW50Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgY29uc3QgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoKTsKKyAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0c19qcyh0LCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3IsIFdlYkFzc2VtYmx5Lmluc3Rh
bnRpYXRlKGJ1ZmZlcikpOworfSwgIkVtcHR5IGJ1ZmZlciIpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KEFycmF5LmZyb20oZW1wdHlNb2R1
bGVCaW5hcnkpLmNvbmNhdChbMCwgMF0pKTsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3IsIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZl
cikpOworfSwgIkludmFsaWQgY29kZSIpOworCitwcm9taXNlX3Rlc3QoKCkgPT4geworICBjb25z
dCBidWZmZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKS50b0J1ZmZlcigpOworICBhc3NlcnRf
ZXF1YWxzKGJ1ZmZlclswXSwgMCk7CisgIGNvbnN0IHByb21pc2UgPSBXZWJBc3NlbWJseS5pbnN0
YW50aWF0ZShidWZmZXIpOworICBidWZmZXJbMF0gPSAxOworICByZXR1cm4gcHJvbWlzZS50aGVu
KGFzc2VydF9XZWJBc3NlbWJseUluc3RhbnRpYXRlZFNvdXJjZSk7Cit9LCAiQ2hhbmdpbmcgdGhl
IGJ1ZmZlciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY0ZWYwYmY0Y2UzNWExZTA4MWI2NzE5ODUzOTI2ZDI4MDZjYjhmMTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAorCitQQVNTIE1pc3NpbmcgYXJndW1lbnRzIAorUEFT
UyBCcmFuZGluZyAKK1BBU1MgSW52YWxpZCBhcmd1bWVudHMgCitQQVNTIFByb21pc2UgdHlwZSAK
K1BBU1MgRW1wdHkgbW9kdWxlIHdpdGhvdXQgaW1wb3J0cyBhcmd1bWVudDogQnVmZmVyU291cmNl
IGFyZ3VtZW50IAorUEFTUyBFbXB0eSBtb2R1bGUgd2l0aG91dCBpbXBvcnRzIGFyZ3VtZW50OiBN
b2R1bGUgYXJndW1lbnQgCitQQVNTIEVtcHR5IG1vZHVsZSB3aXRoIHVuZGVmaW5lZCBpbXBvcnRz
IGFyZ3VtZW50OiBCdWZmZXJTb3VyY2UgYXJndW1lbnQgCitQQVNTIEVtcHR5IG1vZHVsZSB3aXRo
IHVuZGVmaW5lZCBpbXBvcnRzIGFyZ3VtZW50OiBNb2R1bGUgYXJndW1lbnQgCitQQVNTIEVtcHR5
IG1vZHVsZSB3aXRoIGVtcHR5IGltcG9ydHMgYXJndW1lbnQ6IEJ1ZmZlclNvdXJjZSBhcmd1bWVu
dCAKK1BBU1MgRW1wdHkgbW9kdWxlIHdpdGggZW1wdHkgaW1wb3J0cyBhcmd1bWVudDogTW9kdWxl
IGFyZ3VtZW50IAorRkFJTCBnZXR0ZXIgb3JkZXIgZm9yIGltcG9ydHMgb2JqZWN0OiBCdWZmZXJT
b3VyY2UgYXJndW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMSwgZXhwZWN0ZWQg
Imdsb2JhbDEgZ2V0dGVyIiBidXQgZ290ICJtZW1vcnkgZ2V0dGVyIgorRkFJTCBnZXR0ZXIgb3Jk
ZXIgZm9yIGltcG9ydHMgb2JqZWN0OiBNb2R1bGUgYXJndW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFs
czogcHJvcGVydHkgMSwgZXhwZWN0ZWQgImdsb2JhbDEgZ2V0dGVyIiBidXQgZ290ICJtZW1vcnkg
Z2V0dGVyIgorUEFTUyBpbXBvcnRzOiBCdWZmZXJTb3VyY2UgYXJndW1lbnQgCitQQVNTIGltcG9y
dHM6IE1vZHVsZSBhcmd1bWVudCAKK0ZBSUwgTm8gaW1wb3J0czogQnVmZmVyU291cmNlIGFyZ3Vt
ZW50IGFzc2VydF9hcnJheV9lcXVhbHM6IG1hdGNoaW5nIGV4cG9ydCBrZXlzIHByb3BlcnR5IDIs
IGV4cGVjdGVkICJ0YWJsZSIgYnV0IGdvdCAiZ2xvYmFsIgorRkFJTCBObyBpbXBvcnRzOiBNb2R1
bGUgYXJndW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogbWF0Y2hpbmcgZXhwb3J0IGtleXMgcHJv
cGVydHkgMiwgZXhwZWN0ZWQgInRhYmxlIiBidXQgZ290ICJnbG9iYWwiCitGQUlMIGV4cG9ydHMg
YW5kIGltcG9ydHM6IEJ1ZmZlclNvdXJjZSBhcmd1bWVudCBhc3NlcnRfZmFsc2U6IGZuOiB3cml0
YWJsZSBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorRkFJTCBleHBvcnRzIGFuZCBpbXBvcnRzOiBN
b2R1bGUgYXJndW1lbnQgYXNzZXJ0X2ZhbHNlOiBmbjogd3JpdGFibGUgZXhwZWN0ZWQgZmFsc2Ug
Z290IHRydWUKK1BBU1Mgc3RyYXkgYXJndW1lbnQ6IEJ1ZmZlclNvdXJjZSBhcmd1bWVudCAKK1BB
U1Mgc3RyYXkgYXJndW1lbnQ6IE1vZHVsZSBhcmd1bWVudCAKK1BBU1MgU3luY2hyb25vdXMgb3B0
aW9ucyBoYW5kbGluZzogQnVmZmVyIGFyZ3VtZW50IAorRkFJTCBTeW5jaHJvbm91cyBvcHRpb25z
IGhhbmRsaW5nOiBNb2R1bGUgYXJndW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBk
aWZmZXIsIGV4cGVjdGVkIDIgZ290IDAKK1BBU1MgRW1wdHkgYnVmZmVyIAorUEFTUyBJbnZhbGlk
IGNvZGUgCitQQVNTIENoYW5naW5nIHRoZSBidWZmZXIgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rv
ci9pbnN0YW50aWF0ZS5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55
Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5
ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55Lndv
cmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12
YWx1ZS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211bHRpLXZhbHVlLmFueS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2Y3MDE3ZTM3NGM1ZjJkODRmNTc4MjNlZWRlYmUzNGFiODkxNWFh
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorCitQQVNTIG11bHRpcGxlIHJldHVybiB2YWx1ZXMgZnJvbSB3
YXNtIHRvIGpzIAorUEFTUyBtdWx0aXBsZSByZXR1cm4gdmFsdWVzIGluc2lkZSB3YXNtIAorRkFJ
TCBtdWx0aXBsZSByZXR1cm4gdmFsdWVzIGZyb20ganMgdG8gd2FzbSBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBwcm9wZXJ0eSA2LCBleHBlY3RlZCAibmV4dCBjYWxsIDIiIGJ1dCBnb3QgInZhbHVlT2Yg
Z2V0IDEiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25z
dHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2Iz
YTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211
bHRpLXZhbHVlLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rv
ci9tdWx0aS12YWx1ZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUuYW55LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJjNTNlMzYxMWUwNDRjOGJhNDRhNWMwNDM2ZDQ0MDliYzlmMWFmNDIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUuYW55LmpzCkBAIC0wLDAgKzEsMTQ5IEBA
CisvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAorLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dh
c20tbW9kdWxlLWJ1aWxkZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9hc3NlcnRp
b25zLmpzCisKK2NvbnN0IHR5cGVfaWZfZmkgPSBtYWtlU2lnKFtrV2FzbUY2NCwga1dhc21JMzJd
LCBba1dhc21JMzIsIGtXYXNtRjY0XSk7CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Cisg
IGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKKworICBidWlsZGVyCisg
ICAgLmFkZEZ1bmN0aW9uKCJzd2FwIiwgdHlwZV9pZl9maSkKKyAgICAuYWRkQm9keShbCisgICAg
ICAgIGtFeHByTG9jYWxHZXQsIDEsCisgICAgICAgIGtFeHByTG9jYWxHZXQsIDAsCisgICAgICAg
IGtFeHByUmV0dXJuLAorICAgIF0pCisgICAgLmV4cG9ydEZ1bmMoKTsKKworICBjb25zdCBidWZm
ZXIgPSBidWlsZGVyLnRvQnVmZmVyKCk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgV2ViQXNz
ZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTsKKyAgY29uc3Qgc3dhcHBlZCA9IHJlc3VsdC5pbnN0
YW5jZS5leHBvcnRzLnN3YXAoNC4yLCA3KTsKKyAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShz
d2FwcGVkKSk7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKHN3YXBwZWQp
LCBBcnJheS5wcm90b3R5cGUpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN3YXBwZWQsIFs3LCA0
LjJdKTsKK30sICJtdWx0aXBsZSByZXR1cm4gdmFsdWVzIGZyb20gd2FzbSB0byBqcyIpOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICBjb25zdCBidWlsZGVyID0gbmV3IFdhc21Nb2R1
bGVCdWlsZGVyKCk7CisKKyAgY29uc3Qgc3dhcCA9IGJ1aWxkZXIKKyAgICAuYWRkRnVuY3Rpb24o
InN3YXAiLCB0eXBlX2lmX2ZpKQorICAgIC5hZGRCb2R5KFsKKyAgICAgICAga0V4cHJMb2NhbEdl
dCwgMSwKKyAgICAgICAga0V4cHJMb2NhbEdldCwgMCwKKyAgICAgICAga0V4cHJSZXR1cm4sCisg
ICAgXSk7CisgIGJ1aWxkZXIKKyAgICAuYWRkRnVuY3Rpb24oImNhbGxzd2FwIiwga1NpZ19pX3Yp
CisgICAgLmFkZEJvZHkoWworICAgICAgICAuLi53YXNtRjY0Q29uc3QoNC4yKSwKKyAgICAgICAg
Li4ud2FzbUkzMkNvbnN0KDcpLAorICAgICAgICBrRXhwckNhbGxGdW5jdGlvbiwgc3dhcC5pbmRl
eCwKKyAgICAgICAga0V4cHJEcm9wLAorICAgICAgICBrRXhwclJldHVybiwKKyAgICBdKQorICAg
IC5leHBvcnRGdW5jKCk7CisKKyAgY29uc3QgYnVmZmVyID0gYnVpbGRlci50b0J1ZmZlcigpOwor
CisgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik7
CisgIGNvbnN0IHN3YXBwZWQgPSByZXN1bHQuaW5zdGFuY2UuZXhwb3J0cy5jYWxsc3dhcCgpOwor
ICBhc3NlcnRfZXF1YWxzKHN3YXBwZWQsIDcpOworfSwgIm11bHRpcGxlIHJldHVybiB2YWx1ZXMg
aW5zaWRlIHdhc20iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgY29uc3QgYnVp
bGRlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpOworCisgIGNvbnN0IGZuSW5kZXggPSBidWls
ZGVyLmFkZEltcG9ydCgibW9kdWxlIiwgImZuIiwgdHlwZV9pZl9maSk7CisgIGJ1aWxkZXIKKyAg
ICAuYWRkRnVuY3Rpb24oImNhbGxmbiIsIGtTaWdfaV92KQorICAgIC5hZGRCb2R5KFsKKyAgICAg
ICAgLi4ud2FzbUY2NENvbnN0KDQuMiksCisgICAgICAgIC4uLndhc21JMzJDb25zdCg3KSwKKyAg
ICAgICAga0V4cHJDYWxsRnVuY3Rpb24sIGZuSW5kZXgsCisgICAgICAgIGtFeHByRHJvcCwKKyAg
ICAgICAga0V4cHJSZXR1cm4sCisgICAgXSkKKyAgICAuZXhwb3J0RnVuYygpOworCisgIGNvbnN0
IGJ1ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKKworICBjb25zdCBhY3R1YWwgPSBbXTsKKyAg
Y29uc3QgaW1wb3J0cyA9IHsKKyAgICAibW9kdWxlIjogeworICAgICAgZm4oZjMyLCBpMzIpIHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhmMzIsIDQuMik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
aTMyLCA3KTsKKyAgICAgICAgY29uc3QgcmVzdWx0ID0gWzIsIDcuM107CisgICAgICAgIGxldCBp
ID0gMDsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICBnZXQgW1N5bWJvbC5pdGVyYXRvcl0o
KSB7CisgICAgICAgICAgICBhY3R1YWwucHVzaCgiQEBpdGVyYXRvciBnZXR0ZXIiKTsKKyAgICAg
ICAgICAgIHJldHVybiBmdW5jdGlvbiBpdGVyYXRvcigpIHsKKyAgICAgICAgICAgICAgYWN0dWFs
LnB1c2goIkBAaXRlcmF0b3IgY2FsbCIpOworICAgICAgICAgICAgICByZXR1cm4geworICAgICAg
ICAgICAgICAgIGdldCBuZXh0KCkgeworICAgICAgICAgICAgICAgICAgYWN0dWFsLnB1c2goIm5l
eHQgZ2V0dGVyIik7CisgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gbmV4dCguLi5h
cmdzKSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoYXJncywgW10p
OworICAgICAgICAgICAgICAgICAgICBsZXQgaiA9ICsraTsKKyAgICAgICAgICAgICAgICAgICAg
YWN0dWFsLnB1c2goYG5leHQgY2FsbCAke2p9YCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChq
ID4gcmVzdWx0Lmxlbmd0aCkgeworICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBnZXQgZG9uZSgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWN0dWFsLnB1c2goYGRvbmUgY2FsbCAke2p9YCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHsKKyAgICAgICAgICAgICAgICAgICAgICBnZXQgZG9uZSgpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdHVhbC5wdXNoKGBkb25lIGNhbGwgJHtqfWApOworICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgZ2V0IHZhbHVlKCkgeworICAgICAgICAgICAgICAgICAgICAgICAg
YWN0dWFsLnB1c2goYHZhbHVlIGNhbGwgJHtqfWApOworICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IHZhbHVlT2YoKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsLnB1c2goYHZhbHVlT2YgZ2V0ICR7an1gKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWwucHVzaChgdmFsdWVPZiBjYWxsICR7an1gKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRbaiAtIDFdOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgIH07CisgICAgICAgICAgICB9CisgICAgICAgICAgfSwKKyAgICAg
ICAgfTsKKyAgICAgIH0sCisgICAgfQorICB9OworCisgIGNvbnN0IHsgaW5zdGFuY2UgfSA9IGF3
YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlciwgaW1wb3J0cyk7CisgIGNvbnN0IHJl
c3VsdCA9IGluc3RhbmNlLmV4cG9ydHMuY2FsbGZuKCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0
LCAyKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWwsIFsKKyAgICAiQEBpdGVyYXRvciBn
ZXR0ZXIiLAorICAgICJAQGl0ZXJhdG9yIGNhbGwiLAorICAgICJuZXh0IGdldHRlciIsCisgICAg
Im5leHQgY2FsbCAxIiwKKyAgICAiZG9uZSBjYWxsIDEiLAorICAgICJ2YWx1ZSBjYWxsIDEiLAor
ICAgICJuZXh0IGNhbGwgMiIsCisgICAgImRvbmUgY2FsbCAyIiwKKyAgICAidmFsdWUgY2FsbCAy
IiwKKyAgICAibmV4dCBjYWxsIDMiLAorICAgICJkb25lIGNhbGwgMyIsCisgICAgInZhbHVlT2Yg
Z2V0IDEiLAorICAgICJ2YWx1ZU9mIGNhbGwgMSIsCisgICAgInZhbHVlT2YgZ2V0IDIiLAorICAg
ICJ2YWx1ZU9mIGNhbGwgMiIsCisgIF0pOworfSwgIm11bHRpcGxlIHJldHVybiB2YWx1ZXMgZnJv
bSBqcyB0byB3YXNtIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUuYW55Lndv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y3MDE3ZTM3NGM1ZjJkODRmNTc4MjNlZWRlYmUzNGFiODkx
NWFhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBtdWx0aXBsZSByZXR1cm4gdmFs
dWVzIGZyb20gd2FzbSB0byBqcyAKK1BBU1MgbXVsdGlwbGUgcmV0dXJuIHZhbHVlcyBpbnNpZGUg
d2FzbSAKK0ZBSUwgbXVsdGlwbGUgcmV0dXJuIHZhbHVlcyBmcm9tIGpzIHRvIHdhc20gYXNzZXJ0
X2FycmF5X2VxdWFsczogcHJvcGVydHkgNiwgZXhwZWN0ZWQgIm5leHQgY2FsbCAyIiBidXQgZ290
ICJ2YWx1ZU9mIGdldCAxIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUuYW55
Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211bHRpLXZhbHVlLmFueS53b3JrZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211bHRpLXZhbHVlLmFueS53b3JrZXIuaHRtbApAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvdmFsaWRhdGUuYW55LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9jb25zdHJ1Y3Rvci92YWxpZGF0ZS5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmYTk5
YzdiNWQ5ZDViMzliMmNiZWQyOTNmNDZlOGNjZmVhMjk0OWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29u
c3RydWN0b3IvdmFsaWRhdGUuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY0IEBACisKK1BB
U1MgTWlzc2luZyBhcmd1bWVudCAKK1BBU1MgSW52YWxpZCBhcmd1bWVudHMgCitQQVNTIEJyYW5k
aW5nIAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbXSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxp
ZGF0aW5nIG1vZHVsZSBbXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFtd
IGluIFVpbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbXSBpbiBJbnQxNkFycmF5
IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbXSBpbiBVaW50MzJBcnJheSAKK1BBU1MgVmFsaWRh
dGluZyBtb2R1bGUgW10gaW4gSW50MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzBd
IGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswXSBpbiBJbnQ4QXJyYXkg
CitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxXSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxp
ZGF0aW5nIG1vZHVsZSBbMCA2MV0gaW4gSW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVs
ZSBbMCA2MV0gaW4gVWludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxXSBp
biBJbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3M10gaW4gVWludDhB
cnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzNdIGluIEludDhBcnJheSAKK1BB
U1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmRdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZh
bGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxIDczIDZkXSBpbiBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBt
b2R1bGUgWzAgNjEgNzMgNmRdIGluIEludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxl
IFswIDYxIDczIDZkXSBpbiBVaW50MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAg
NjEgNzMgNmRdIGluIEludDMyQXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDcz
IDZkIDFdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZk
IDFdIGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAw
XSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDBd
IGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwXSBp
biBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwXSBp
biBJbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMF0g
aW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDBd
IGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAg
MF0gaW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAw
IDAgMF0gaW4gSW50OEFycmF5IAorRkFJTCBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAx
IDAgMCAwXSBpbiBVaW50MTZBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBn
b3QgZmFsc2UKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMF0gaW4g
SW50MTZBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK0ZB
SUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMF0gaW4gVWludDMyQXJyYXkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCitGQUlMIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDBdIGluIEludDMyQXJyYXkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFsw
IDYxIDczIDZkIDAgMCAwIDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxl
IFswIDYxIDczIDZkIDAgMCAwIDBdIGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1
bGUgWzAgNjEgNzMgNmQgMCAwIDAgMF0gaW4gVWludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcg
bW9kdWxlIFswIDYxIDczIDZkIDAgMCAwIDBdIGluIEludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxIDczIDZkIDAgMCAwIDBdIGluIFVpbnQzMkFycmF5IAorUEFTUyBWYWxp
ZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAwIDAgMCAwXSBpbiBJbnQzMkFycmF5IAorUEFTUyBW
YWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBVaW50OEFycmF5IAorUEFT
UyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBJbnQ4QXJyYXkgCitQ
QVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDIgMCAwIDBdIGluIFVpbnQxNkFycmF5
IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBJbnQxNkFy
cmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBVaW50
MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMiAwIDAgMF0gaW4g
SW50MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAw
IDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEg
MCAwIDAgMCAwXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDcz
IDZkIDEgMCAwIDAgMCAwXSBpbiBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUg
WzAgNjEgNzMgNmQgMSAwIDAgMCAwIDBdIGluIEludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcg
bW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDAgMCAxIDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZh
bGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDAgMCAxIDBdIGluIEludDhBcnJheSAK
K1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAwIDIgMSA2MV0gaW4g
VWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAw
IDIgMSA2MV0gaW4gSW50OEFycmF5IAorRkFJTCBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2
ZCAxIDAgMCAwIDAgMiAxIDYxXSBpbiBVaW50MTZBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQg
MSAwIDAgMCAwIDIgMSA2MV0gaW4gSW50MTZBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0
cnVlIGJ1dCBnb3QgZmFsc2UKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAw
IDAgMCAwIDIgMSA2MV0gaW4gVWludDMyQXJyYXkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1
ZSBidXQgZ290IGZhbHNlCitGQUlMIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAw
IDAgMCAyIDEgNjFdIGluIEludDMyQXJyYXkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBi
dXQgZ290IGZhbHNlCitQQVNTIFN0cmF5IGFyZ3VtZW50IAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0
b3IvdmFsaWRhdGUuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvdmFsaWRhdGUuYW55Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9jb25zdHJ1Y3Rvci92YWxpZGF0ZS5hbnkuaHRtbApAQCAtMCwwICsxIEBACis8IS0t
IFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8g
cnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvY29uc3RydWN0b3IvdmFsaWRhdGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL3ZhbGlkYXRl
LmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNTIzYWNjNzkyNWM5ZWY3NjQ2ZDI5NmE3OGJmOTgzMWVkYTg2
ZDcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL3ZhbGlkYXRlLmFueS5qcwpAQCAtMCww
ICsxLDk5IEBACisvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAorLy8gTUVUQTogc2NyaXB0PS93YXNt
L2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKKworbGV0IGVtcHR5TW9kdWxlQmluYXJ5Owor
c2V0dXAoKCkgPT4geworICBlbXB0eU1vZHVsZUJpbmFyeSA9IG5ldyBXYXNtTW9kdWxlQnVpbGRl
cigpLnRvQnVmZmVyKCk7Cit9KTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF90aHJvd3NfanMo
VHlwZUVycm9yLCAoKSA9PiBXZWJBc3NlbWJseS52YWxpZGF0ZSgpKTsKK30sICJNaXNzaW5nIGFy
Z3VtZW50Iik7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBpbnZhbGlkQXJndW1lbnRzID0gWwor
ICAgIHVuZGVmaW5lZCwKKyAgICBudWxsLAorICAgIHRydWUsCisgICAgIiIsCisgICAgU3ltYm9s
KCksCisgICAgMSwKKyAgICB7fSwKKyAgICBBcnJheUJ1ZmZlciwKKyAgICBBcnJheUJ1ZmZlci5w
cm90b3R5cGUsCisgICAgQXJyYXkuZnJvbShlbXB0eU1vZHVsZUJpbmFyeSksCisgIF07CisgIGZv
ciAoY29uc3QgYXJndW1lbnQgb2YgaW52YWxpZEFyZ3VtZW50cykgeworICAgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiBXZWJBc3NlbWJseS52YWxpZGF0ZShhcmd1bWVudCksCisg
ICAgICAgICAgICAgICAgICAgICBgdmFsaWRhdGUoJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlg
KTsKKyAgfQorfSwgIkludmFsaWQgYXJndW1lbnRzIik7CisKK3Rlc3QoKCkgPT4geworICBjb25z
dCBmbiA9IFdlYkFzc2VtYmx5LnZhbGlkYXRlOworICBjb25zdCB0aGlzVmFsdWVzID0gWworICAg
IHVuZGVmaW5lZCwKKyAgICBudWxsLAorICAgIHRydWUsCisgICAgIiIsCisgICAgU3ltYm9sKCks
CisgICAgMSwKKyAgICB7fSwKKyAgICBXZWJBc3NlbWJseSwKKyAgXTsKKyAgZm9yIChjb25zdCB0
aGlzVmFsdWUgb2YgdGhpc1ZhbHVlcykgeworICAgIGFzc2VydF90cnVlKGZuLmNhbGwodGhpc1Zh
bHVlLCBlbXB0eU1vZHVsZUJpbmFyeSksIGB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9
YCk7CisgIH0KK30sICJCcmFuZGluZyIpOworCitjb25zdCBtb2R1bGVzID0gWworICAvLyBJbmNv
bXBsZXRlIGhlYWRlci4KKyAgW1tdLCBmYWxzZV0sCisgIFtbMHgwMF0sIGZhbHNlXSwKKyAgW1sw
eDAwLCAweDYxXSwgZmFsc2VdLAorICBbWzB4MDAsIDB4NjEsIDB4NzNdLCBmYWxzZV0sCisgIFtb
MHgwMCwgMHg2MSwgMHg3MywgMHg2ZF0sIGZhbHNlXSwKKyAgW1sweDAwLCAweDYxLCAweDczLCAw
eDZkLCAweDAxXSwgZmFsc2VdLAorICBbWzB4MDAsIDB4NjEsIDB4NzMsIDB4NmQsIDB4MDEsIDB4
MDBdLCBmYWxzZV0sCisgIFtbMHgwMCwgMHg2MSwgMHg3MywgMHg2ZCwgMHgwMSwgMHgwMCwgMHgw
MF0sIGZhbHNlXSwKKworICAvLyBDb21wbGV0ZSBoZWFkZXIuCisgIFtbMHgwMCwgMHg2MSwgMHg3
MywgMHg2ZCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMF0sIHRydWVdLAorCisgIC8vIEludmFsaWQg
dmVyc2lvbi4KKyAgW1sweDAwLCAweDYxLCAweDczLCAweDZkLCAweDAwLCAweDAwLCAweDAwLCAw
eDAwXSwgZmFsc2VdLAorICBbWzB4MDAsIDB4NjEsIDB4NzMsIDB4NmQsIDB4MDIsIDB4MDAsIDB4
MDAsIDB4MDBdLCBmYWxzZV0sCisKKyAgLy8gTmFtZWxlc3MgY3VzdG9tIHNlY3Rpb24uCisgIFtb
MHgwMCwgMHg2MSwgMHg3MywgMHg2ZCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MF0sIGZhbHNlXSwKKworICAvLyBDdXN0b20gc2VjdGlvbiB3aXRoIGVtcHR5IG5hbWUuCisgIFtb
MHgwMCwgMHg2MSwgMHg3MywgMHg2ZCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MSwgMHgwMF0sIHRydWVdLAorCisgIC8vIEN1c3RvbSBzZWN0aW9uIHdpdGggbmFtZSAiYSIuCisg
IFtbMHgwMCwgMHg2MSwgMHg3MywgMHg2ZCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMiwgMHgwMSwgMHg2MV0sIHRydWVdLAorXTsKK2NvbnN0IGJ1ZmZlclR5cGVzID0gWworICBV
aW50OEFycmF5LAorICBJbnQ4QXJyYXksCisgIFVpbnQxNkFycmF5LAorICBJbnQxNkFycmF5LAor
ICBVaW50MzJBcnJheSwKKyAgSW50MzJBcnJheSwKK107Citmb3IgKGNvbnN0IFttb2R1bGUsIGV4
cGVjdGVkXSBvZiBtb2R1bGVzKSB7CisgIGNvbnN0IG5hbWUgPSBtb2R1bGUubWFwKG4gPT4gbi50
b1N0cmluZygxNikpLmpvaW4oIiAiKTsKKyAgZm9yIChjb25zdCBidWZmZXJUeXBlIG9mIGJ1ZmZl
clR5cGVzKSB7CisgICAgaWYgKG1vZHVsZS5sZW5ndGggJSBidWZmZXJUeXBlLkJZVEVTX1BFUl9F
TEVNRU5UID09PSAwKSB7CisgICAgICB0ZXN0KCgpID0+IHsKKyAgICAgICAgY29uc3QgYnl0ZXMg
PSBuZXcgVWludDhBcnJheShtb2R1bGUpOworICAgICAgICBjb25zdCBtb2R1bGVCdWZmZXIgPSBu
ZXcgYnVmZmVyVHlwZShieXRlcy5idWZmZXIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKFdlYkFz
c2VtYmx5LnZhbGlkYXRlKG1vZHVsZUJ1ZmZlciksIGV4cGVjdGVkKTsKKyAgICAgIH0sIGBWYWxp
ZGF0aW5nIG1vZHVsZSBbJHtuYW1lfV0gaW4gJHtidWZmZXJUeXBlLm5hbWV9YCk7CisgICAgfQor
ICB9Cit9CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfdHJ1ZShXZWJBc3NlbWJseS52YWxpZGF0
ZShlbXB0eU1vZHVsZUJpbmFyeSwge30pKTsKK30sICJTdHJheSBhcmd1bWVudCIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2NvbnN0cnVjdG9yL3ZhbGlkYXRlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVj
dG9yL3ZhbGlkYXRlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmYTk5Yzdi
NWQ5ZDViMzliMmNiZWQyOTNmNDZlOGNjZmVhMjk0OWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3Ry
dWN0b3IvdmFsaWRhdGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NCBAQAor
CitQQVNTIE1pc3NpbmcgYXJndW1lbnQgCitQQVNTIEludmFsaWQgYXJndW1lbnRzIAorUEFTUyBC
cmFuZGluZyAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgW10gaW4gVWludDhBcnJheSAKK1BBU1Mg
VmFsaWRhdGluZyBtb2R1bGUgW10gaW4gSW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVs
ZSBbXSBpbiBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgW10gaW4gSW50MTZB
cnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgW10gaW4gVWludDMyQXJyYXkgCitQQVNTIFZh
bGlkYXRpbmcgbW9kdWxlIFtdIGluIEludDMyQXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxl
IFswXSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMF0gaW4gSW50OEFy
cmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MV0gaW4gVWludDhBcnJheSAKK1BBU1Mg
VmFsaWRhdGluZyBtb2R1bGUgWzAgNjFdIGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBt
b2R1bGUgWzAgNjFdIGluIFVpbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2
MV0gaW4gSW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzNdIGluIFVp
bnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczXSBpbiBJbnQ4QXJyYXkg
CitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkXSBpbiBVaW50OEFycmF5IAorUEFT
UyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZF0gaW4gSW50OEFycmF5IAorUEFTUyBWYWxp
ZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZF0gaW4gVWludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxIDczIDZkXSBpbiBJbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1v
ZHVsZSBbMCA2MSA3MyA2ZF0gaW4gVWludDMyQXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxl
IFswIDYxIDczIDZkXSBpbiBJbnQzMkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2
MSA3MyA2ZCAxXSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3
MyA2ZCAxXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZk
IDEgMF0gaW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQg
MSAwXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEg
MF0gaW4gVWludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEg
MF0gaW4gSW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAw
IDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEg
MCAwXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEg
MCAwIDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZk
IDEgMCAwIDBdIGluIEludDhBcnJheSAKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMg
NmQgMSAwIDAgMF0gaW4gVWludDE2QXJyYXkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBi
dXQgZ290IGZhbHNlCitGQUlMIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDBd
IGluIEludDE2QXJyYXkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNl
CitGQUlMIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDBdIGluIFVpbnQzMkFy
cmF5IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQorRkFJTCBWYWxp
ZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwXSBpbiBJbnQzMkFycmF5IGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQorUEFTUyBWYWxpZGF0aW5nIG1vZHVs
ZSBbMCA2MSA3MyA2ZCAwIDAgMCAwXSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1v
ZHVsZSBbMCA2MSA3MyA2ZCAwIDAgMCAwXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcg
bW9kdWxlIFswIDYxIDczIDZkIDAgMCAwIDBdIGluIFVpbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0
aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAwIDAgMCAwXSBpbiBJbnQxNkFycmF5IAorUEFTUyBWYWxp
ZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAwIDAgMCAwXSBpbiBVaW50MzJBcnJheSAKK1BBU1Mg
VmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMCAwIDAgMF0gaW4gSW50MzJBcnJheSAKK1BB
U1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMiAwIDAgMF0gaW4gVWludDhBcnJheSAK
K1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMiAwIDAgMF0gaW4gSW50OEFycmF5
IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBVaW50MTZB
cnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMiAwIDAgMF0gaW4gSW50
MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMiAwIDAgMF0gaW4g
VWludDMyQXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDIgMCAwIDBd
IGluIEludDMyQXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAw
IDAgMCAwXSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2
ZCAxIDAgMCAwIDAgMF0gaW4gSW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2
MSA3MyA2ZCAxIDAgMCAwIDAgMF0gaW4gVWludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9k
dWxlIFswIDYxIDczIDZkIDEgMCAwIDAgMCAwXSBpbiBJbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0
aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwIDAgMSAwXSBpbiBVaW50OEFycmF5IAorUEFT
UyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwIDAgMSAwXSBpbiBJbnQ4QXJy
YXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDAgMCAyIDEgNjFd
IGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAw
IDAgMCAyIDEgNjFdIGluIEludDhBcnJheSAKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEg
NzMgNmQgMSAwIDAgMCAwIDIgMSA2MV0gaW4gVWludDE2QXJyYXkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCitGQUlMIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDcz
IDZkIDEgMCAwIDAgMCAyIDEgNjFdIGluIEludDE2QXJyYXkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCitGQUlMIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZk
IDEgMCAwIDAgMCAyIDEgNjFdIGluIFVpbnQzMkFycmF5IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IHRydWUgYnV0IGdvdCBmYWxzZQorRkFJTCBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAx
IDAgMCAwIDAgMiAxIDYxXSBpbiBJbnQzMkFycmF5IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRy
dWUgYnV0IGdvdCBmYWxzZQorUEFTUyBTdHJheSBhcmd1bWVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0
cnVjdG9yL3ZhbGlkYXRlLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci92YWxpZGF0ZS5hbnku
d29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4
MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci92YWxpZGF0ZS5hbnkud29ya2Vy
Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2NvbnN0cnVjdG9yL3czYy1pbXBvcnQubG9nCmluZGV4IDcxOTdmZDIzZDNmNWMzZTdjYTJl
ZjI1MDJiNTcyYWNlZDU2NmMwM2YuLmY4OWI3OTk4Yjk0NjIyMDdmZmMxOTkyNTI1NTIwMjdlOWEz
YzA4MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0
b3IvdzNjLWltcG9ydC5sb2cKQEAgLTE0LDQgKzE0LDggQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmls
ZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLWJh
ZC1pbXBvcnRzLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkuanMKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0
b3IvbXVsdGktdmFsdWUuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL3ZhbGlkYXRlLmFueS5qcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2Vycm9yLWludGVyZmFjZXMtbm8tc3ltYm9sLXRvc3RyaW5ndGFnLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2Vycm9yLWludGVy
ZmFjZXMtbm8tc3ltYm9sLXRvc3RyaW5ndGFnLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3MmRiMGMwMWI2MjBk
ZDMxN2YyMDc5ZGY2ZDBlYTdjZmY2MzMzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZXJyb3ItaW50ZXJm
YWNlcy1uby1zeW1ib2wtdG9zdHJpbmd0YWcuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gTUVUQTog
Z2xvYmFsPWpzc2hlbGwKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9ub3Rfb3duX3Byb3BlcnR5
KFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZyk7
Cit9LCAiV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yIik7CisKK3Rlc3QoKCkgPT4geworICBhc3Nl
cnRfbm90X293bl9wcm9wZXJ0eShXZWJBc3NlbWJseS5MaW5rRXJyb3IucHJvdG90eXBlLCBTeW1i
b2wudG9TdHJpbmdUYWcpOworfSwgIldlYkFzc2VtYmx5LkxpbmtFcnJvciIpOworCit0ZXN0KCgp
ID0+IHsKKyAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHkoV2ViQXNzZW1ibHkuUnVudGltZUVycm9y
LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKTsKK30sICJXZWJBc3NlbWJseS5SdW50aW1l
RXJyb3IiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvY29uc3RydWN0b3IuYW55LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9n
bG9iYWwvY29uc3RydWN0b3IuYW55LWV4cGVjdGVkLnR4dAppbmRleCBmMzkwZjdlMDFjODExYzhh
MWFlNmU3NjM4OTllZTk4MTlhOGUzMmU4Li42NDQzYjA3MTg2YmM5OWIzYjA1MmYyNTI0MTA3YWJk
N2E0ODg5NTYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL2NvbnN0cnVjdG9yLmFueS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2dsb2JhbC9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0CkBAIC0zNCw0ICszNCw1IEBA
IFBBU1MgRXhwbGljaXQgdmFsdWUgMiBmb3IgdHlwZSBmNjQKIFBBU1MgRXhwbGljaXQgdmFsdWUg
IjMiIGZvciB0eXBlIGY2NCAKIFBBU1MgRXhwbGljaXQgdmFsdWUgb2JqZWN0IHdpdGggdG9TdHJp
bmcgZm9yIHR5cGUgZjY0IAogUEFTUyBFeHBsaWNpdCB2YWx1ZSBvYmplY3Qgd2l0aCB2YWx1ZU9m
IGZvciB0eXBlIGY2NCAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwv
Y29uc3RydWN0b3IuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC9jb25zdHJ1Y3Rvci5hbnkuanMKaW5kZXggN2E0NWNj
NDE5MWM1NTY4NGNkZTE4N2ZjNzNmYjk3NDFkNmY1YzJjNS4uMjcwMTQ5ZWMxNDQzMDQ1ZTQxMzRl
ZWI4MDQwMzY1MWEzZDBhMTJmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC9jb25zdHJ1Y3Rvci5hbnkuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2dsb2JhbC9jb25zdHJ1Y3Rvci5hbnkuanMKQEAgLTE5LDEyICsxOSwxMiBAQCB0ZXN0KCgp
ID0+IHsKIH0sICJsZW5ndGgiKTsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKCkpOworICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbCgpKTsKIH0s
ICJObyBhcmd1bWVudHMiKTsKIAogdGVzdCgoKSA9PiB7CiAgIGNvbnN0IGFyZ3VtZW50ID0geyAi
dmFsdWUiOiAiaTMyIiB9OwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4g
V2ViQXNzZW1ibHkuR2xvYmFsKGFyZ3VtZW50KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVy
cm9yLCAoKSA9PiBXZWJBc3NlbWJseS5HbG9iYWwoYXJndW1lbnQpKTsKIH0sICJDYWxsaW5nIik7
CiAKIHRlc3QoKCkgPT4gewpAQCAtNzMsOSArNzMsOSBAQCB0ZXN0KCgpID0+IHsKICAgICB7fSwK
ICAgXTsKICAgZm9yIChjb25zdCBpbnZhbGlkQXJndW1lbnQgb2YgaW52YWxpZEFyZ3VtZW50cykg
ewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLAotICAgICAgICAgICAgICAgICAg
KCkgPT4gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChpbnZhbGlkQXJndW1lbnQpLAotICAgICAgICAg
ICAgICAgICAgYG5ldyBHbG9iYWwoJHtmb3JtYXRfdmFsdWUoaW52YWxpZEFyZ3VtZW50KX0pYCk7
CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAo
KSA9PiBuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKGludmFsaWRBcmd1bWVudCksCisgICAgICAgICAg
ICAgICAgICAgICBgbmV3IEdsb2JhbCgke2Zvcm1hdF92YWx1ZShpbnZhbGlkQXJndW1lbnQpfSlg
KTsKICAgfQogfSwgIkludmFsaWQgZGVzY3JpcHRvciBhcmd1bWVudCIpOwogCkBAIC04MywxNSAr
ODMsMTUgQEAgdGVzdCgoKSA9PiB7CiAgIGNvbnN0IGludmFsaWRUeXBlcyA9IFsiaTE2IiwgImkx
MjgiLCAiZjE2IiwgImYxMjgiLCAidTMyIiwgInU2NCIsICJpMzJcMCJdOwogICBmb3IgKGNvbnN0
IHZhbHVlIG9mIGludmFsaWRUeXBlcykgewogICAgIGNvbnN0IGFyZ3VtZW50ID0geyB2YWx1ZSB9
OwotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1i
bHkuR2xvYmFsKGFyZ3VtZW50KSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgp
ID0+IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwoYXJndW1lbnQpKTsKICAgfQogfSwgIkludmFsaWQg
dHlwZSBhcmd1bWVudCIpOwogCiB0ZXN0KCgpID0+IHsKICAgY29uc3QgYXJndW1lbnQgPSB7ICJ2
YWx1ZSI6ICJpNjQiIH07CiAgIGNvbnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwo
YXJndW1lbnQpOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gZ2xvYmFs
LnZhbHVlKTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGdsb2JhbC52
YWx1ZU9mKCkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZ2xvYmFsLnZh
bHVlKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IGdsb2JhbC52YWx1ZU9m
KCkpOwogfSwgImk2NCB3aXRoIGRlZmF1bHQiKTsKIAogZm9yIChjb25zdCB0eXBlIG9mIFsiaTMy
IiwgImYzMiIsICJmNjQiXSkgewpAQCAtMTE5LDMgKzExOSw5IEBAIGZvciAoY29uc3QgdHlwZSBv
ZiBbImkzMiIsICJmMzIiLCAiZjY0Il0pIHsKICAgICB9LCBgRXhwbGljaXQgdmFsdWUgJHtuYW1l
fSBmb3IgdHlwZSAke3R5cGV9YCk7CiAgIH0KIH0KKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGFy
Z3VtZW50ID0geyAidmFsdWUiOiAiaTMyIiB9OworICBjb25zdCBnbG9iYWwgPSBuZXcgV2ViQXNz
ZW1ibHkuR2xvYmFsKGFyZ3VtZW50LCAwLCB7fSk7CisgIGFzc2VydF9HbG9iYWwoZ2xvYmFsLCAw
KTsKK30sICJTdHJheSBhcmd1bWVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC9jb25zdHJ1Y3Rvci5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvY29uc3RydWN0b3IuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggZjM5MGY3ZTAxYzgxMWM4YTFhZTZlNzYzODk5ZWU5ODE5YThlMzJlOC4u
NjQ0M2IwNzE4NmJjOTliM2IwNTJmMjUyNDEwN2FiZDdhNDg4OTU2MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2Jh
bC9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL2NvbnN0cnVj
dG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0zNCw0ICszNCw1IEBAIFBBU1MgRXhwbGlj
aXQgdmFsdWUgMiBmb3IgdHlwZSBmNjQKIFBBU1MgRXhwbGljaXQgdmFsdWUgIjMiIGZvciB0eXBl
IGY2NCAKIFBBU1MgRXhwbGljaXQgdmFsdWUgb2JqZWN0IHdpdGggdG9TdHJpbmcgZm9yIHR5cGUg
ZjY0IAogUEFTUyBFeHBsaWNpdCB2YWx1ZSBvYmplY3Qgd2l0aCB2YWx1ZU9mIGZvciB0eXBlIGY2
NCAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdG9TdHJpbmcuYW55
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9nbG9iYWwvdG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dAppbmRleCAyMjM5
YjVlYWI1NjY2ZTU1MWQwNzMxYzE3ODBjOTI5MzM2Nzg1MWFhLi4zMTJhMmIxZDk4ODQ2YWM1Y2Mz
MWRiMmM5NjBiMzg5MmU2NTkxMTg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3RvU3RyaW5nLmFueS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2dsb2JhbC90b1N0cmluZy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
NCBAQAogCiBQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgb24gYW4gR2xvYmFsIAorRkFJ
TCBAQHRvU3RyaW5nVGFnIGV4aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJp
YXRlIGRlc2NyaXB0b3IgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3lt
Ym9sICJTeW1ib2woU3ltYm9sLnRvU3RyaW5nVGFnKSIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xv
YmFsL3RvU3RyaW5nLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdG9TdHJpbmcuYW55LmpzCmluZGV4IGNhMDI1NTc2
YzJiNDk2MDRmMDUzYzgzMDAyZjNhOWNjOGVmNDFhN2IuLjVmNjRkNzJkZTlkOWRmNGE5OWU0ODJj
ZGVkNWEzMGFjMWM4YTM0M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdG9TdHJpbmcuYW55LmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9n
bG9iYWwvdG9TdHJpbmcuYW55LmpzCkBAIC01LDMgKzUsMTMgQEAgdGVzdCgoKSA9PiB7CiAgIGNv
bnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwoYXJndW1lbnQpOwogICBhc3NlcnRf
Y2xhc3Nfc3RyaW5nKGdsb2JhbCwgIldlYkFzc2VtYmx5Lkdsb2JhbCIpOwogfSwgIk9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcgb24gYW4gR2xvYmFsIik7CisKK3Rlc3QoKCkgPT4geworICBhc3Nl
cnRfb3duX3Byb3BlcnR5KFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUsIFN5bWJvbC50b1N0
cmluZ1RhZyk7CisKKyAgY29uc3QgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZyk7
CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2MudmFsdWUsICJXZWJBc3NlbWJseS5HbG9iYWwiLCAi
dmFsdWUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5jb25maWd1cmFibGUsIHRydWUsICJj
b25maWd1cmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5lbnVtZXJhYmxlLCBmYWxz
ZSwgImVudW1lcmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy53cml0YWJsZSwgZmFs
c2UsICJ3cml0YWJsZSIpOworfSwgIkBAdG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5
cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC90
b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdG9TdHJpbmcuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKaW5kZXggMjIzOWI1ZWFiNTY2NmU1NTFkMDczMWMxNzgwYzkyOTMzNjc4
NTFhYS4uMzEyYTJiMWQ5ODg0NmFjNWNjMzFkYjJjOTYwYjM4OTJlNjU5MTE4NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2dsb2JhbC90b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3RvU3Ry
aW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcgb24gYW4gR2xvYmFsIAorRkFJTCBAQHRvU3RyaW5nVGFnIGV4
aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3IgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJTeW1ib2woU3ltYm9s
LnRvU3RyaW5nVGFnKSIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQu
YW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdjYmRjN2ZjZjc2NTViYTRmZmI3YTQ1NGY3YzkyYjg0MjYyYjg1NGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQuYW55LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDU1IEBACisKK1BBU1MgQnJhbmRpbmcgCitQQVNTIEltbXV0YWJsZSBpMzIgKG1pc3Npbmcp
IAorUEFTUyBJbW11dGFibGUgaTMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChtaXNzaW5n
KSAKK1BBU1MgSW1tdXRhYmxlIGkzMiAodW5kZWZpbmVkKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiB3
aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAodW5kZWZpbmVkKSAKK1BBU1MgSW1tdXRhYmxlIGkz
MiAobnVsbCkgCitQQVNTIEltbXV0YWJsZSBpMzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMg
KG51bGwpIAorUEFTUyBJbW11dGFibGUgaTMyIChmYWxzZSkgCitQQVNTIEltbXV0YWJsZSBpMzIg
d2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKGZhbHNlKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiAo
ZW1wdHkgc3RyaW5nKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZm
ZWN0cyAoZW1wdHkgc3RyaW5nKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiAoemVybykgCitQQVNTIElt
bXV0YWJsZSBpMzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKHplcm8pIAorUEFTUyBNdXRh
YmxlIGkzMiAodHJ1ZSkgCitQQVNTIE11dGFibGUgaTMyIChvbmUpIAorUEFTUyBNdXRhYmxlIGkz
MiAoc3RyaW5nKSAKK1BBU1MgTXV0YWJsZSBpMzIgKHRydWUgb24gcHJvdG90eXBlKSAKK1BBU1Mg
SW1tdXRhYmxlIGYzMiAobWlzc2luZykgCitQQVNTIEltbXV0YWJsZSBmMzIgd2l0aCBUb051bWJl
ciBzaWRlLWVmZmVjdHMgKG1pc3NpbmcpIAorUEFTUyBJbW11dGFibGUgZjMyICh1bmRlZmluZWQp
IAorUEFTUyBJbW11dGFibGUgZjMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzICh1bmRlZmlu
ZWQpIAorUEFTUyBJbW11dGFibGUgZjMyIChudWxsKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiB3aXRo
IFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAobnVsbCkgCitQQVNTIEltbXV0YWJsZSBmMzIgKGZhbHNl
KSAKK1BBU1MgSW1tdXRhYmxlIGYzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAoZmFsc2Up
IAorUEFTUyBJbW11dGFibGUgZjMyIChlbXB0eSBzdHJpbmcpIAorUEFTUyBJbW11dGFibGUgZjMy
IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChlbXB0eSBzdHJpbmcpIAorUEFTUyBJbW11dGFi
bGUgZjMyICh6ZXJvKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZm
ZWN0cyAoemVybykgCitQQVNTIE11dGFibGUgZjMyICh0cnVlKSAKK1BBU1MgTXV0YWJsZSBmMzIg
KG9uZSkgCitQQVNTIE11dGFibGUgZjMyIChzdHJpbmcpIAorUEFTUyBNdXRhYmxlIGYzMiAodHJ1
ZSBvbiBwcm90b3R5cGUpIAorUEFTUyBJbW11dGFibGUgZjY0IChtaXNzaW5nKSAKK1BBU1MgSW1t
dXRhYmxlIGY2NCB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAobWlzc2luZykgCitQQVNTIElt
bXV0YWJsZSBmNjQgKHVuZGVmaW5lZCkgCitQQVNTIEltbXV0YWJsZSBmNjQgd2l0aCBUb051bWJl
ciBzaWRlLWVmZmVjdHMgKHVuZGVmaW5lZCkgCitQQVNTIEltbXV0YWJsZSBmNjQgKG51bGwpIAor
UEFTUyBJbW11dGFibGUgZjY0IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChudWxsKSAKK1BB
U1MgSW1tdXRhYmxlIGY2NCAoZmFsc2UpIAorUEFTUyBJbW11dGFibGUgZjY0IHdpdGggVG9OdW1i
ZXIgc2lkZS1lZmZlY3RzIChmYWxzZSkgCitQQVNTIEltbXV0YWJsZSBmNjQgKGVtcHR5IHN0cmlu
ZykgCitQQVNTIEltbXV0YWJsZSBmNjQgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKGVtcHR5
IHN0cmluZykgCitQQVNTIEltbXV0YWJsZSBmNjQgKHplcm8pIAorUEFTUyBJbW11dGFibGUgZjY0
IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzICh6ZXJvKSAKK1BBU1MgTXV0YWJsZSBmNjQgKHRy
dWUpIAorUEFTUyBNdXRhYmxlIGY2NCAob25lKSAKK1BBU1MgTXV0YWJsZSBmNjQgKHN0cmluZykg
CitQQVNTIE11dGFibGUgZjY0ICh0cnVlIG9uIHByb3RvdHlwZSkgCitQQVNTIGk2NCB3aXRoIGRl
ZmF1bHQgCitQQVNTIGk2NCB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAKK1BBU1MgQ2FsbGlu
ZyBzZXR0ZXIgd2l0aG91dCBhcmd1bWVudCAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5h
bnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0
OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS5odG1sCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnkuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFs
L3ZhbHVlLWdldC1zZXQuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5ZjBlNDYzNzlmZmQyMGEzYjliZmIx
OTA0ODczNzZkNjE2ZDkxNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQu
YW55LmpzCkBAIC0wLDAgKzEsMTM2IEBACisvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAorCit0ZXN0
KCgpID0+IHsKKyAgY29uc3QgdGhpc1ZhbHVlcyA9IFsKKyAgICB1bmRlZmluZWQsCisgICAgbnVs
bCwKKyAgICB0cnVlLAorICAgICIiLAorICAgIFN5bWJvbCgpLAorICAgIDEsCisgICAge30sCisg
ICAgV2ViQXNzZW1ibHkuR2xvYmFsLAorICAgIFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUs
CisgIF07CisKKyAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
V2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSwgInZhbHVlIik7CisgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGRlc2MsICJvYmplY3QiKTsKKworICBjb25zdCBnZXR0ZXIgPSBkZXNjLmdldDsKKyAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgZ2V0dGVyLCAiZnVuY3Rpb24iKTsKKworICBjb25zdCBzZXR0
ZXIgPSBkZXNjLnNldDsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Ygc2V0dGVyLCAiZnVuY3Rpb24i
KTsKKworICBmb3IgKGNvbnN0IHRoaXNWYWx1ZSBvZiB0aGlzVmFsdWVzKSB7CisgICAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IGdldHRlci5jYWxsKHRoaXNWYWx1ZSksIGBnZXR0
ZXIgd2l0aCB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7CisgICAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsICgpID0+IHNldHRlci5jYWxsKHRoaXNWYWx1ZSwgMSksIGBzZXR0
ZXIgd2l0aCB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7CisgIH0KK30sICJCcmFu
ZGluZyIpOworCitmb3IgKGNvbnN0IHR5cGUgb2YgWyJpMzIiLCAiZjMyIiwgImY2NCJdKSB7Cisg
IGNvbnN0IGltbXV0YWJsZU9wdGlvbnMgPSBbCisgICAgW3t9LCAibWlzc2luZyJdLAorICAgIFt7
ICJtdXRhYmxlIjogdW5kZWZpbmVkIH0sICJ1bmRlZmluZWQiXSwKKyAgICBbeyAibXV0YWJsZSI6
IG51bGwgfSwgIm51bGwiXSwKKyAgICBbeyAibXV0YWJsZSI6IGZhbHNlIH0sICJmYWxzZSJdLAor
ICAgIFt7ICJtdXRhYmxlIjogIiIgfSwgImVtcHR5IHN0cmluZyJdLAorICAgIFt7ICJtdXRhYmxl
IjogMCB9LCAiemVybyJdLAorICBdOworICBmb3IgKGNvbnN0IFtvcHRzLCBuYW1lXSBvZiBpbW11
dGFibGVPcHRpb25zKSB7CisgICAgdGVzdCgoKSA9PiB7CisgICAgICBvcHRzLnZhbHVlID0gdHlw
ZTsKKyAgICAgIGNvbnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwob3B0cyk7Cisg
ICAgICBhc3NlcnRfZXF1YWxzKGdsb2JhbC52YWx1ZSwgMCwgImluaXRpYWwgdmFsdWUiKTsKKyAg
ICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlT2YoKSwgMCwgImluaXRpYWwgdmFsdWVPZiIp
OworCisgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZ2xvYmFsLnZhbHVl
ID0gMSk7CisKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlLCAwLCAicG9zdC1zZXQg
dmFsdWUiKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlT2YoKSwgMCwgInBvc3Qt
c2V0IHZhbHVlT2YiKTsKKyAgICB9LCBgSW1tdXRhYmxlICR7dHlwZX0gKCR7bmFtZX0pYCk7CisK
KyAgICB0ZXN0KHQgPT4geworICAgICAgb3B0cy52YWx1ZSA9IHR5cGU7CisgICAgICBjb25zdCBn
bG9iYWwgPSBuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKG9wdHMpOworICAgICAgYXNzZXJ0X2VxdWFs
cyhnbG9iYWwudmFsdWUsIDAsICJpbml0aWFsIHZhbHVlIik7CisgICAgICBhc3NlcnRfZXF1YWxz
KGdsb2JhbC52YWx1ZU9mKCksIDAsICJpbml0aWFsIHZhbHVlT2YiKTsKKworICAgICAgY29uc3Qg
dmFsdWUgPSB7CisgICAgICAgIHZhbHVlT2Y6IHQudW5yZWFjaGVkX2Z1bmMoInNob3VsZCBub3Qg
Y2FsbCB2YWx1ZU9mIiksCisgICAgICAgIHRvU3RyaW5nOiB0LnVucmVhY2hlZF9mdW5jKCJzaG91
bGQgbm90IGNhbGwgdG9TdHJpbmciKSwKKyAgICAgIH07CisgICAgICBhc3NlcnRfdGhyb3dzX2pz
KFR5cGVFcnJvciwgKCkgPT4gZ2xvYmFsLnZhbHVlID0gdmFsdWUpOworCisgICAgICBhc3NlcnRf
ZXF1YWxzKGdsb2JhbC52YWx1ZSwgMCwgInBvc3Qtc2V0IHZhbHVlIik7CisgICAgICBhc3NlcnRf
ZXF1YWxzKGdsb2JhbC52YWx1ZU9mKCksIDAsICJwb3N0LXNldCB2YWx1ZU9mIik7CisgICAgfSwg
YEltbXV0YWJsZSAke3R5cGV9IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzICgke25hbWV9KWAp
OworICB9CisKKyAgY29uc3QgbXV0YWJsZU9wdGlvbnMgPSBbCisgICAgW3sgIm11dGFibGUiOiB0
cnVlIH0sICJ0cnVlIl0sCisgICAgW3sgIm11dGFibGUiOiAxIH0sICJvbmUiXSwKKyAgICBbeyAi
bXV0YWJsZSI6ICJ4IiB9LCAic3RyaW5nIl0sCisgICAgW09iamVjdC5jcmVhdGUoeyAibXV0YWJs
ZSI6IHRydWUgfSksICJ0cnVlIG9uIHByb3RvdHlwZSJdLAorICBdOworICBmb3IgKGNvbnN0IFtv
cHRzLCBuYW1lXSBvZiBtdXRhYmxlT3B0aW9ucykgeworICAgIHRlc3QoKCkgPT4geworICAgICAg
b3B0cy52YWx1ZSA9IHR5cGU7CisgICAgICBjb25zdCBnbG9iYWwgPSBuZXcgV2ViQXNzZW1ibHku
R2xvYmFsKG9wdHMpOworICAgICAgYXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWUsIDAsICJpbml0
aWFsIHZhbHVlIik7CisgICAgICBhc3NlcnRfZXF1YWxzKGdsb2JhbC52YWx1ZU9mKCksIDAsICJp
bml0aWFsIHZhbHVlT2YiKTsKKworICAgICAgZ2xvYmFsLnZhbHVlID0gMTsKKworICAgICAgYXNz
ZXJ0X2VxdWFscyhnbG9iYWwudmFsdWUsIDEsICJwb3N0LXNldCB2YWx1ZSIpOworICAgICAgYXNz
ZXJ0X2VxdWFscyhnbG9iYWwudmFsdWVPZigpLCAxLCAicG9zdC1zZXQgdmFsdWVPZiIpOworICAg
IH0sIGBNdXRhYmxlICR7dHlwZX0gKCR7bmFtZX0pYCk7CisgIH0KK30KKwordGVzdCgoKSA9PiB7
CisgIGNvbnN0IGFyZ3VtZW50ID0geyAidmFsdWUiOiAiaTY0IiwgIm11dGFibGUiOiB0cnVlIH07
CisgIGNvbnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwoYXJndW1lbnQpOworICBh
c3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZ2xvYmFsLnZhbHVlKTsKKyAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IGdsb2JhbC52YWx1ZSA9IDApOworICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZ2xvYmFsLnZhbHVlT2YoKSk7Cit9LCAiaTY0IHdp
dGggZGVmYXVsdCIpOworCit0ZXN0KHQgPT4geworICBjb25zdCBhcmd1bWVudCA9IHsgInZhbHVl
IjogImk2NCIsICJtdXRhYmxlIjogdHJ1ZSB9OworICBjb25zdCBnbG9iYWwgPSBuZXcgV2ViQXNz
ZW1ibHkuR2xvYmFsKGFyZ3VtZW50KTsKKyAgY29uc3QgdmFsdWUgPSB7CisgICAgdmFsdWVPZjog
dC51bnJlYWNoZWRfZnVuYygic2hvdWxkIG5vdCBjYWxsIHZhbHVlT2YiKSwKKyAgICB0b1N0cmlu
ZzogdC51bnJlYWNoZWRfZnVuYygic2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5nIiksCisgIH07Cisg
IGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBnbG9iYWwudmFsdWUgPSB2YWx1ZSk7
Cit9LCAiaTY0IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIik7CisKK3Rlc3QoKCkgPT4gewor
ICBjb25zdCBhcmd1bWVudCA9IHsgInZhbHVlIjogImkzMiIsICJtdXRhYmxlIjogdHJ1ZSB9Owor
ICBjb25zdCBnbG9iYWwgPSBuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKGFyZ3VtZW50KTsKKyAgY29u
c3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoV2ViQXNzZW1ibHkuR2xv
YmFsLnByb3RvdHlwZSwgInZhbHVlIik7CisgIGFzc2VydF9lcXVhbHModHlwZW9mIGRlc2MsICJv
YmplY3QiKTsKKworICBjb25zdCBzZXR0ZXIgPSBkZXNjLnNldDsKKyAgYXNzZXJ0X2VxdWFscyh0
eXBlb2Ygc2V0dGVyLCAiZnVuY3Rpb24iKTsKKworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJv
ciwgKCkgPT4gc2V0dGVyLmNhbGwoZ2xvYmFsKSk7Cit9LCAiQ2FsbGluZyBzZXR0ZXIgd2l0aG91
dCBhcmd1bWVudCIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgYXJndW1lbnQgPSB7ICJ2YWx1
ZSI6ICJpMzIiLCAibXV0YWJsZSI6IHRydWUgfTsKKyAgY29uc3QgZ2xvYmFsID0gbmV3IFdlYkFz
c2VtYmx5Lkdsb2JhbChhcmd1bWVudCk7CisgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUsICJ2YWx1ZSIpOwor
ICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZXNjLCAib2JqZWN0Iik7CisKKyAgY29uc3QgZ2V0dGVy
ID0gZGVzYy5nZXQ7CisgIGFzc2VydF9lcXVhbHModHlwZW9mIGdldHRlciwgImZ1bmN0aW9uIik7
CisKKyAgY29uc3Qgc2V0dGVyID0gZGVzYy5zZXQ7CisgIGFzc2VydF9lcXVhbHModHlwZW9mIHNl
dHRlciwgImZ1bmN0aW9uIik7CisKKyAgYXNzZXJ0X2VxdWFscyhnZXR0ZXIuY2FsbChnbG9iYWws
IHt9KSwgMCk7CisgIGFzc2VydF9lcXVhbHMoc2V0dGVyLmNhbGwoZ2xvYmFsLCAxLCB7fSksIHVu
ZGVmaW5lZCk7CisgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlLCAxKTsKK30sICJTdHJheSBh
cmd1bWVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdjYmRjN2ZjZjc2NTViYTRmZmI3YTQ1NGY3YzkyYjg0MjYyYjg1NGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1NSBAQAorCitQQVNTIEJyYW5kaW5nIAorUEFTUyBJbW11dGFibGUgaTMyICht
aXNzaW5nKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAo
bWlzc2luZykgCitQQVNTIEltbXV0YWJsZSBpMzIgKHVuZGVmaW5lZCkgCitQQVNTIEltbXV0YWJs
ZSBpMzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKHVuZGVmaW5lZCkgCitQQVNTIEltbXV0
YWJsZSBpMzIgKG51bGwpIAorUEFTUyBJbW11dGFibGUgaTMyIHdpdGggVG9OdW1iZXIgc2lkZS1l
ZmZlY3RzIChudWxsKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiAoZmFsc2UpIAorUEFTUyBJbW11dGFi
bGUgaTMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChmYWxzZSkgCitQQVNTIEltbXV0YWJs
ZSBpMzIgKGVtcHR5IHN0cmluZykgCitQQVNTIEltbXV0YWJsZSBpMzIgd2l0aCBUb051bWJlciBz
aWRlLWVmZmVjdHMgKGVtcHR5IHN0cmluZykgCitQQVNTIEltbXV0YWJsZSBpMzIgKHplcm8pIAor
UEFTUyBJbW11dGFibGUgaTMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzICh6ZXJvKSAKK1BB
U1MgTXV0YWJsZSBpMzIgKHRydWUpIAorUEFTUyBNdXRhYmxlIGkzMiAob25lKSAKK1BBU1MgTXV0
YWJsZSBpMzIgKHN0cmluZykgCitQQVNTIE11dGFibGUgaTMyICh0cnVlIG9uIHByb3RvdHlwZSkg
CitQQVNTIEltbXV0YWJsZSBmMzIgKG1pc3NpbmcpIAorUEFTUyBJbW11dGFibGUgZjMyIHdpdGgg
VG9OdW1iZXIgc2lkZS1lZmZlY3RzIChtaXNzaW5nKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiAodW5k
ZWZpbmVkKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAo
dW5kZWZpbmVkKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiAobnVsbCkgCitQQVNTIEltbXV0YWJsZSBm
MzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKG51bGwpIAorUEFTUyBJbW11dGFibGUgZjMy
IChmYWxzZSkgCitQQVNTIEltbXV0YWJsZSBmMzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMg
KGZhbHNlKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiAoZW1wdHkgc3RyaW5nKSAKK1BBU1MgSW1tdXRh
YmxlIGYzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAoZW1wdHkgc3RyaW5nKSAKK1BBU1Mg
SW1tdXRhYmxlIGYzMiAoemVybykgCitQQVNTIEltbXV0YWJsZSBmMzIgd2l0aCBUb051bWJlciBz
aWRlLWVmZmVjdHMgKHplcm8pIAorUEFTUyBNdXRhYmxlIGYzMiAodHJ1ZSkgCitQQVNTIE11dGFi
bGUgZjMyIChvbmUpIAorUEFTUyBNdXRhYmxlIGYzMiAoc3RyaW5nKSAKK1BBU1MgTXV0YWJsZSBm
MzIgKHRydWUgb24gcHJvdG90eXBlKSAKK1BBU1MgSW1tdXRhYmxlIGY2NCAobWlzc2luZykgCitQ
QVNTIEltbXV0YWJsZSBmNjQgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKG1pc3NpbmcpIAor
UEFTUyBJbW11dGFibGUgZjY0ICh1bmRlZmluZWQpIAorUEFTUyBJbW11dGFibGUgZjY0IHdpdGgg
VG9OdW1iZXIgc2lkZS1lZmZlY3RzICh1bmRlZmluZWQpIAorUEFTUyBJbW11dGFibGUgZjY0IChu
dWxsKSAKK1BBU1MgSW1tdXRhYmxlIGY2NCB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAobnVs
bCkgCitQQVNTIEltbXV0YWJsZSBmNjQgKGZhbHNlKSAKK1BBU1MgSW1tdXRhYmxlIGY2NCB3aXRo
IFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAoZmFsc2UpIAorUEFTUyBJbW11dGFibGUgZjY0IChlbXB0
eSBzdHJpbmcpIAorUEFTUyBJbW11dGFibGUgZjY0IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3Rz
IChlbXB0eSBzdHJpbmcpIAorUEFTUyBJbW11dGFibGUgZjY0ICh6ZXJvKSAKK1BBU1MgSW1tdXRh
YmxlIGY2NCB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAoemVybykgCitQQVNTIE11dGFibGUg
ZjY0ICh0cnVlKSAKK1BBU1MgTXV0YWJsZSBmNjQgKG9uZSkgCitQQVNTIE11dGFibGUgZjY0IChz
dHJpbmcpIAorUEFTUyBNdXRhYmxlIGY2NCAodHJ1ZSBvbiBwcm90b3R5cGUpIAorUEFTUyBpNjQg
d2l0aCBkZWZhdWx0IAorUEFTUyBpNjQgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgCitQQVNT
IENhbGxpbmcgc2V0dGVyIHdpdGhvdXQgYXJndW1lbnQgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92
YWx1ZS1nZXQtc2V0LmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2Iz
YTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1n
ZXQtc2V0LmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyBy
ZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0
ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFs
L3ZhbHVlLXNldC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1zZXQuYW55LWV4cGVjdGVk
LnR4dAppbmRleCBhMTAwOTM0ZjAyY2I1ZjRhOTgxOTJhOWNkYWQyMzExM2IzZTAwOGM5Li41OWZl
ZDRmMmE0ZDZlMDQwOWVmODUwNTcyMzk0MmZiNzhlMWQ2MjY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3Zh
bHVlLXNldC5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtc2V0LmFueS1leHBlY3Rl
ZC50eHQKQEAgLTEsMzUgKzEsOCBAQAotCi1QQVNTIEJyYW5kaW5nIAotUEFTUyBJbW11dGFibGUg
aTMyIChtaXNzaW5nKSAKLVBBU1MgSW1tdXRhYmxlIGkzMiAodW5kZWZpbmVkKSAKLVBBU1MgSW1t
dXRhYmxlIGkzMiAobnVsbCkgCi1QQVNTIEltbXV0YWJsZSBpMzIgKGZhbHNlKSAKLVBBU1MgSW1t
dXRhYmxlIGkzMiAoZW1wdHkgc3RyaW5nKSAKLVBBU1MgSW1tdXRhYmxlIGkzMiAoemVybykgCi1Q
QVNTIE11dGFibGUgaTMyICh0cnVlKSAKLVBBU1MgTXV0YWJsZSBpMzIgKG9uZSkgCi1QQVNTIE11
dGFibGUgaTMyIChzdHJpbmcpIAotUEFTUyBNdXRhYmxlIGkzMiAodHJ1ZSBvbiBwcm90b3R5cGUp
IAotUEFTUyBJbW11dGFibGUgZjMyIChtaXNzaW5nKSAKLVBBU1MgSW1tdXRhYmxlIGYzMiAodW5k
ZWZpbmVkKSAKLVBBU1MgSW1tdXRhYmxlIGYzMiAobnVsbCkgCi1QQVNTIEltbXV0YWJsZSBmMzIg
KGZhbHNlKSAKLVBBU1MgSW1tdXRhYmxlIGYzMiAoZW1wdHkgc3RyaW5nKSAKLVBBU1MgSW1tdXRh
YmxlIGYzMiAoemVybykgCi1QQVNTIE11dGFibGUgZjMyICh0cnVlKSAKLVBBU1MgTXV0YWJsZSBm
MzIgKG9uZSkgCi1QQVNTIE11dGFibGUgZjMyIChzdHJpbmcpIAotUEFTUyBNdXRhYmxlIGYzMiAo
dHJ1ZSBvbiBwcm90b3R5cGUpIAotUEFTUyBJbW11dGFibGUgZjY0IChtaXNzaW5nKSAKLVBBU1Mg
SW1tdXRhYmxlIGY2NCAodW5kZWZpbmVkKSAKLVBBU1MgSW1tdXRhYmxlIGY2NCAobnVsbCkgCi1Q
QVNTIEltbXV0YWJsZSBmNjQgKGZhbHNlKSAKLVBBU1MgSW1tdXRhYmxlIGY2NCAoZW1wdHkgc3Ry
aW5nKSAKLVBBU1MgSW1tdXRhYmxlIGY2NCAoemVybykgCi1QQVNTIE11dGFibGUgZjY0ICh0cnVl
KSAKLVBBU1MgTXV0YWJsZSBmNjQgKG9uZSkgCi1QQVNTIE11dGFibGUgZjY0IChzdHJpbmcpIAot
UEFTUyBNdXRhYmxlIGY2NCAodHJ1ZSBvbiBwcm90b3R5cGUpIAotUEFTUyBpNjQgd2l0aCBkZWZh
dWx0IAotUEFTUyBDYWxsaW5nIHNldHRlciB3aXRob3V0IGFyZ3VtZW50IAotCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc5
CisgICAgICBSZW5kZXJCbG9jayB7UFJFfSBhdCAoMCwwKSBzaXplIDc4NHgxNQorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMDV4MTUKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAzMDU6ICJ7XCJlcnJvclwiOiB7XCJtZXNzYWdlXCI6IFwiXCIsIFwi
Y29kZVwiOiA0MDR9fSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtc2V0LmFueS5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwv
dmFsdWUtc2V0LmFueS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRlNjc3MGYx
MGVkOWUzYWQ1NWI5YWUxOGVlOTZkZWRhM2ZmMTcxZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLXNldC5hbnkuanMKKysrIC9kZXYvbnVs
bApAQCAtMSw5NCArMCwwIEBACi0vLyBNRVRBOiBnbG9iYWw9anNzaGVsbAotCi10ZXN0KCgpID0+
IHsKLSAgY29uc3QgdGhpc1ZhbHVlcyA9IFsKLSAgICB1bmRlZmluZWQsCi0gICAgbnVsbCwKLSAg
ICB0cnVlLAotICAgICIiLAotICAgIFN5bWJvbCgpLAotICAgIDEsCi0gICAge30sCi0gICAgV2Vi
QXNzZW1ibHkuR2xvYmFsLAotICAgIFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUsCi0gIF07
Ci0KLSAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoV2ViQXNz
ZW1ibHkuR2xvYmFsLnByb3RvdHlwZSwgInZhbHVlIik7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9m
IGRlc2MsICJvYmplY3QiKTsKLQotICBjb25zdCBnZXR0ZXIgPSBkZXNjLmdldDsKLSAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgZ2V0dGVyLCAiZnVuY3Rpb24iKTsKLQotICBjb25zdCBzZXR0ZXIgPSBk
ZXNjLnNldDsKLSAgYXNzZXJ0X2VxdWFscyh0eXBlb2Ygc2V0dGVyLCAiZnVuY3Rpb24iKTsKLQot
ICBmb3IgKGNvbnN0IHRoaXNWYWx1ZSBvZiB0aGlzVmFsdWVzKSB7Ci0gICAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGdldHRlci5jYWxsKHRoaXNWYWx1ZSksIGBnZXR0ZXIg
d2l0aCB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7Ci0gICAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHNldHRlci5jYWxsKHRoaXNWYWx1ZSwgMSksIGBzZXR0
ZXIgd2l0aCB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7Ci0gIH0KLX0sICJCcmFu
ZGluZyIpOwotCi1mb3IgKGNvbnN0IHR5cGUgb2YgWyJpMzIiLCAiZjMyIiwgImY2NCJdKSB7Ci0g
IGNvbnN0IGltbXV0YWJsZU9wdGlvbnMgPSBbCi0gICAgW3t9LCAibWlzc2luZyJdLAotICAgIFt7
ICJtdXRhYmxlIjogdW5kZWZpbmVkIH0sICJ1bmRlZmluZWQiXSwKLSAgICBbeyAibXV0YWJsZSI6
IG51bGwgfSwgIm51bGwiXSwKLSAgICBbeyAibXV0YWJsZSI6IGZhbHNlIH0sICJmYWxzZSJdLAot
ICAgIFt7ICJtdXRhYmxlIjogIiIgfSwgImVtcHR5IHN0cmluZyJdLAotICAgIFt7ICJtdXRhYmxl
IjogMCB9LCAiemVybyJdLAotICBdOwotICBmb3IgKGNvbnN0IFtvcHRzLCBuYW1lXSBvZiBpbW11
dGFibGVPcHRpb25zKSB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBvcHRzLnZhbHVlID0gdHlw
ZTsKLSAgICAgIGNvbnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwob3B0cyk7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKGdsb2JhbC52YWx1ZSwgMCwgImluaXRpYWwgdmFsdWUiKTsKLSAg
ICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlT2YoKSwgMCwgImluaXRpYWwgdmFsdWVPZiIp
OwotCi0gICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gZ2xvYmFsLnZh
bHVlID0gMSk7Ci0KLSAgICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlLCAwLCAicG9zdC1z
ZXQgdmFsdWUiKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlT2YoKSwgMCwgInBv
c3Qtc2V0IHZhbHVlT2YiKTsKLSAgICB9LCBgSW1tdXRhYmxlICR7dHlwZX0gKCR7bmFtZX0pYCk7
Ci0gIH0KLQotICBjb25zdCBtdXRhYmxlT3B0aW9ucyA9IFsKLSAgICBbeyAibXV0YWJsZSI6IHRy
dWUgfSwgInRydWUiXSwKLSAgICBbeyAibXV0YWJsZSI6IDEgfSwgIm9uZSJdLAotICAgIFt7ICJt
dXRhYmxlIjogIngiIH0sICJzdHJpbmciXSwKLSAgICBbT2JqZWN0LmNyZWF0ZSh7ICJtdXRhYmxl
IjogdHJ1ZSB9KSwgInRydWUgb24gcHJvdG90eXBlIl0sCi0gIF07Ci0gIGZvciAoY29uc3QgW29w
dHMsIG5hbWVdIG9mIG11dGFibGVPcHRpb25zKSB7Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICBv
cHRzLnZhbHVlID0gdHlwZTsKLSAgICAgIGNvbnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJseS5H
bG9iYWwob3B0cyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGdsb2JhbC52YWx1ZSwgMCwgImluaXRp
YWwgdmFsdWUiKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlT2YoKSwgMCwgImlu
aXRpYWwgdmFsdWVPZiIpOwotCi0gICAgICBnbG9iYWwudmFsdWUgPSAxOwotCi0gICAgICBhc3Nl
cnRfZXF1YWxzKGdsb2JhbC52YWx1ZSwgMSwgInBvc3Qtc2V0IHZhbHVlIik7Ci0gICAgICBhc3Nl
cnRfZXF1YWxzKGdsb2JhbC52YWx1ZU9mKCksIDEsICJwb3N0LXNldCB2YWx1ZU9mIik7Ci0gICAg
fSwgYE11dGFibGUgJHt0eXBlfSAoJHtuYW1lfSlgKTsKLSAgfQotfQotCi10ZXN0KCgpID0+IHsK
LSAgY29uc3QgYXJndW1lbnQgPSB7ICJ2YWx1ZSI6ICJpNjQiLCAibXV0YWJsZSI6IHRydWUgfTsK
LSAgY29uc3QgZ2xvYmFsID0gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChhcmd1bWVudCk7Ci0gIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBnbG9iYWwudmFsdWUpOwotICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gZ2xvYmFsLnZhbHVlID0gMCk7Ci0gIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBnbG9iYWwudmFsdWVPZigpKTsKLX0s
ICJpNjQgd2l0aCBkZWZhdWx0Iik7Ci0KLQotdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IGFyZ3VtZW50
ID0geyAidmFsdWUiOiAiaTMyIiwgIm11dGFibGUiOiB0cnVlIH07Ci0gIGNvbnN0IGdsb2JhbCA9
IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwoYXJndW1lbnQpOwotICBjb25zdCBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlLCAi
dmFsdWUiKTsKLSAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVzYywgIm9iamVjdCIpOwotCi0gIGNv
bnN0IHNldHRlciA9IGRlc2Muc2V0OwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBzZXR0ZXIsICJm
dW5jdGlvbiIpOwotCi0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBzZXR0
ZXIuY2FsbChnbG9iYWwpKTsKLX0sICJDYWxsaW5nIHNldHRlciB3aXRob3V0IGFyZ3VtZW50Iik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLXNldC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9i
YWwvdmFsdWUtc2V0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGExMDA5MzRmMDJjYjVm
NGE5ODE5MmE5Y2RhZDIzMTEzYjNlMDA4YzkuLjU5ZmVkNGYyYTRkNmUwNDA5ZWY4NTA1NzIzOTQy
ZmI3OGUxZDYyNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtc2V0LmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtc2V0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDM1ICsxLDggQEAKLQotUEFTUyBCcmFuZGluZyAKLVBBU1MgSW1tdXRhYmxlIGkzMiAobWlzc2lu
ZykgCi1QQVNTIEltbXV0YWJsZSBpMzIgKHVuZGVmaW5lZCkgCi1QQVNTIEltbXV0YWJsZSBpMzIg
KG51bGwpIAotUEFTUyBJbW11dGFibGUgaTMyIChmYWxzZSkgCi1QQVNTIEltbXV0YWJsZSBpMzIg
KGVtcHR5IHN0cmluZykgCi1QQVNTIEltbXV0YWJsZSBpMzIgKHplcm8pIAotUEFTUyBNdXRhYmxl
IGkzMiAodHJ1ZSkgCi1QQVNTIE11dGFibGUgaTMyIChvbmUpIAotUEFTUyBNdXRhYmxlIGkzMiAo
c3RyaW5nKSAKLVBBU1MgTXV0YWJsZSBpMzIgKHRydWUgb24gcHJvdG90eXBlKSAKLVBBU1MgSW1t
dXRhYmxlIGYzMiAobWlzc2luZykgCi1QQVNTIEltbXV0YWJsZSBmMzIgKHVuZGVmaW5lZCkgCi1Q
QVNTIEltbXV0YWJsZSBmMzIgKG51bGwpIAotUEFTUyBJbW11dGFibGUgZjMyIChmYWxzZSkgCi1Q
QVNTIEltbXV0YWJsZSBmMzIgKGVtcHR5IHN0cmluZykgCi1QQVNTIEltbXV0YWJsZSBmMzIgKHpl
cm8pIAotUEFTUyBNdXRhYmxlIGYzMiAodHJ1ZSkgCi1QQVNTIE11dGFibGUgZjMyIChvbmUpIAot
UEFTUyBNdXRhYmxlIGYzMiAoc3RyaW5nKSAKLVBBU1MgTXV0YWJsZSBmMzIgKHRydWUgb24gcHJv
dG90eXBlKSAKLVBBU1MgSW1tdXRhYmxlIGY2NCAobWlzc2luZykgCi1QQVNTIEltbXV0YWJsZSBm
NjQgKHVuZGVmaW5lZCkgCi1QQVNTIEltbXV0YWJsZSBmNjQgKG51bGwpIAotUEFTUyBJbW11dGFi
bGUgZjY0IChmYWxzZSkgCi1QQVNTIEltbXV0YWJsZSBmNjQgKGVtcHR5IHN0cmluZykgCi1QQVNT
IEltbXV0YWJsZSBmNjQgKHplcm8pIAotUEFTUyBNdXRhYmxlIGY2NCAodHJ1ZSkgCi1QQVNTIE11
dGFibGUgZjY0IChvbmUpIAotUEFTUyBNdXRhYmxlIGY2NCAoc3RyaW5nKSAKLVBBU1MgTXV0YWJs
ZSBmNjQgKHRydWUgb24gcHJvdG90eXBlKSAKLVBBU1MgaTY0IHdpdGggZGVmYXVsdCAKLVBBU1Mg
Q2FsbGluZyBzZXR0ZXIgd2l0aG91dCBhcmd1bWVudCAKLQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3OQorICAgICAgUmVu
ZGVyQmxvY2sge1BSRX0gYXQgKDAsMCkgc2l6ZSA3ODR4MTUKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMzA1eDE1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMzA1OiAie1wiZXJyb3JcIjoge1wibWVzc2FnZVwiOiBcIlwiLCBcImNvZGVcIjogNDA0
fX0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlT2YuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFs
dWVPZi5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDg5ZWY3MTI4MzQzZGRjZjI2YTViMjMwNDgyN2Ux
YjgwZmIzMjg3ZjkuLmJhZWYzYmE1NGM2OTI1MDQ3OTczYjM0YzVmMjE3ZmE4MzQ0NTQ3MmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9nbG9iYWwvdmFsdWVPZi5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWVP
Zi5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIEJyYW5kaW5nIAorUEFT
UyBTdHJheSBhcmd1bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZU9mLmFueS5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9i
YWwvdmFsdWVPZi5hbnkuanMKaW5kZXggMTc2YzVhNzg0Njk4Mzk5MzUxZWVkZWFhYzBlYzMwNWFh
OGFiN2I4MS4uMGQ0ZGU5M2E2YmQyMjlmOGQ5ZmFiNzk0MWIyNGExOTQ0ZGM2YWE3OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2dsb2JhbC92YWx1ZU9mLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlT2YuYW55LmpzCkBAIC0x
Nyw2ICsxNywxMiBAQCB0ZXN0KCgpID0+IHsKICAgY29uc3QgZm4gPSBXZWJBc3NlbWJseS5HbG9i
YWwucHJvdG90eXBlLnZhbHVlT2Y7CiAKICAgZm9yIChjb25zdCB0aGlzVmFsdWUgb2YgdGhpc1Zh
bHVlcykgewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBmbi5jYWxs
KHRoaXNWYWx1ZSksIGB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7CisgICAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IGZuLmNhbGwodGhpc1ZhbHVlKSwgYHRoaXM9
JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKICAgfQogfSwgIkJyYW5kaW5nIik7CisKK3Rl
c3QoKCkgPT4geworICBjb25zdCBhcmd1bWVudCA9IHsgInZhbHVlIjogImkzMiIgfTsKKyAgY29u
c3QgZ2xvYmFsID0gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChhcmd1bWVudCwgMCk7CisgIGFzc2Vy
dF9lcXVhbHMoZ2xvYmFsLnZhbHVlT2Yoe30pLCAwKTsKK30sICJTdHJheSBhcmd1bWVudCIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL2dsb2JhbC92YWx1ZU9mLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92
YWx1ZU9mLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDg5ZWY3MTI4MzQzZGRjZjI2YTVi
MjMwNDgyN2UxYjgwZmIzMjg3ZjkuLmJhZWYzYmE1NGM2OTI1MDQ3OTczYjM0YzVmMjE3ZmE4MzQ0
NTQ3MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWVPZi5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvZ2xvYmFsL3ZhbHVlT2YuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBA
CiAKIFBBU1MgQnJhbmRpbmcgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xv
YmFsL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC93M2MtaW1wb3J0LmxvZwppbmRleCBhYjFmM2VmNzRh
NDRmYjU2MWU3ZjVjOTE4MjRmOWM4MGUzNTY0N2I3Li40MThlYmRkYTcyYTE2OTcyZDZiZDQzYTIw
NGEyZjY4MzJkOWZkYzNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3czYy1pbXBvcnQubG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9i
YWwvdzNjLWltcG9ydC5sb2cKQEAgLTE2LDUgKzE2LDUgQEAgTm9uZQogTGlzdCBvZiBmaWxlczoK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
Z2xvYmFsL2NvbnN0cnVjdG9yLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdG9TdHJpbmcuYW55LmpzCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92
YWx1ZS1zZXQuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWVP
Zi5hbnkuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVz
cy5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0YjAxYTViZjMzMGQ5M2IyN2Y5ZWNmNzQ5
YzBhYjE3NzI1ZjJjNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNjUgQEAKKworUEFTUyB3YXNtLWpzLWFwaSBpbnRlcmZhY2VzLiAKK1BB
U1MgV2ViQXNzZW1ibHkgbmFtZXNwYWNlOiBvcGVyYXRpb24gdmFsaWRhdGUoQnVmZmVyU291cmNl
KSAKK1BBU1MgV2ViQXNzZW1ibHkgbmFtZXNwYWNlOiBvcGVyYXRpb24gY29tcGlsZShCdWZmZXJT
b3VyY2UpIAorUEFTUyBXZWJBc3NlbWJseSBuYW1lc3BhY2U6IG9wZXJhdGlvbiBpbnN0YW50aWF0
ZShCdWZmZXJTb3VyY2UsIG9iamVjdCkgCitQQVNTIFdlYkFzc2VtYmx5IG5hbWVzcGFjZTogb3Bl
cmF0aW9uIGluc3RhbnRpYXRlKE1vZHVsZSwgb2JqZWN0KSAKK1BBU1MgTW9kdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1v
ZHVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTW9kdWxlIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSAKK1BBU1MgTW9kdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNb2R1bGUgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNb2R1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IAorUEFTUyBNb2R1bGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZXhwb3J0cyhN
b2R1bGUpIAorUEFTUyBNb2R1bGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW1wb3J0cyhNb2R1bGUp
IAorUEFTUyBNb2R1bGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3VzdG9tU2VjdGlvbnMoTW9kdWxl
LCBET01TdHJpbmcpIAorRkFJTCBNb2R1bGUgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBt
b2QgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9i
amVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogbW9kIgorRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbW9kIGFzc2VydF9l
cXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0
ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IG1vZCIKK0ZBSUwgTW9kdWxlIGludGVyZmFjZTogbW9kIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiZXhwb3J0cyhNb2R1bGUpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBV
bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwg
YnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBtb2Qi
CitGQUlMIE1vZHVsZSBpbnRlcmZhY2U6IGNhbGxpbmcgZXhwb3J0cyhNb2R1bGUpIG9uIG1vZCB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6
IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVs
bCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IG1v
ZCIKK0ZBSUwgTW9kdWxlIGludGVyZmFjZTogbW9kIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaW1w
b3J0cyhNb2R1bGUpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVj
dGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdv
dCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBtb2QiCitGQUlM
IE1vZHVsZSBpbnRlcmZhY2U6IGNhbGxpbmcgaW1wb3J0cyhNb2R1bGUpIG9uIG1vZCB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IG1vZCIKK0ZB
SUwgTW9kdWxlIGludGVyZmFjZTogbW9kIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY3VzdG9tU2Vj
dGlvbnMoTW9kdWxlLCBET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1
YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVk
IG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBtb2QiCitGQUlMIE1vZHVsZSBpbnRlcmZhY2U6IGNhbGxpbmcgY3VzdG9tU2VjdGlvbnMoTW9k
dWxlLCBET01TdHJpbmcpIG9uIG1vZCB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVh
dGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IG1vZCIKK1BBU1MgSW5zdGFuY2UgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSW5zdGFuY2Ug
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIEluc3RhbmNlIGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKK1BBU1MgSW5zdGFuY2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIEluc3RhbmNlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSW5zdGFuY2UgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IAorUEFTUyBJbnN0YW5jZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBleHBv
cnRzIAorRkFJTCBJbnN0YW5jZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGluc3RhbmNl
IGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmpl
Y3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IGluc3RhbmNlIgorRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgaW5zdGFuY2Ug
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogaW5zdGFuY2UiCitGQUlMIEluc3RhbmNlIGludGVyZmFjZTogaW5zdGFuY2Ug
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJleHBvcnRzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3Nl
cnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4
cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBpbnN0YW5jZSIKK1BBU1MgTWVtb3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lbW9yeSBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCAKK1BBU1MgTWVtb3J5IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVt
b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IAorUEFTUyBNZW1vcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAorUEFTUyBNZW1vcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFT
UyBNZW1vcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ3Jvdyh1bnNpZ25lZCBsb25nKSAKK1BBU1Mg
TWVtb3J5IGludGVyZmFjZTogYXR0cmlidXRlIGJ1ZmZlciAKK1BBU1MgTWVtb3J5IG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgbWVtb3J5IAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbWVt
b3J5IAorUEFTUyBNZW1vcnkgaW50ZXJmYWNlOiBtZW1vcnkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJncm93KHVuc2lnbmVkIGxvbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgTWVtb3J5
IGludGVyZmFjZTogY2FsbGluZyBncm93KHVuc2lnbmVkIGxvbmcpIG9uIG1lbW9yeSB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBNZW1vcnkgaW50ZXJm
YWNlOiBtZW1vcnkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJidWZmZXIiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBUYWJsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBUYWJsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
K1BBU1MgVGFibGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBUYWJsZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAK
K1BBU1MgVGFibGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBUYWJs
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIFRhYmxlIGludGVyZmFj
ZTogb3BlcmF0aW9uIGdyb3codW5zaWduZWQgbG9uZykgCitQQVNTIFRhYmxlIGludGVyZmFjZTog
b3BlcmF0aW9uIGdldCh1bnNpZ25lZCBsb25nKSAKK1BBU1MgVGFibGUgaW50ZXJmYWNlOiBvcGVy
YXRpb24gc2V0KHVuc2lnbmVkIGxvbmcsIEZ1bmN0aW9uKSAKK1BBU1MgVGFibGUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgbGVuZ3RoIAorUEFTUyBHbG9iYWwgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgR2xvYmFsIGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIAorUEFTUyBHbG9iYWwgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBH
bG9iYWwgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCitQQVNTIEdsb2JhbCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkgCitQQVNTIEdsb2JhbCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQ
QVNTIEdsb2JhbCBpbnRlcmZhY2U6IG9wZXJhdGlvbiB2YWx1ZU9mKCkgCitQQVNTIEdsb2JhbCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSB2YWx1ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3MuYW55Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvaWRsaGFybmVzcy5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZj
NjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3MuYW55Lmh0bWwK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3MuYW55LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3Mu
YW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI1Mjk4ZDNkYWJmYmJjZTc0OTBmYTA0MDI1OGYzZTA2Y2Q5NGI1
ODIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnkuanMKQEAgLTAsMCArMSw0MCBAQAor
Ly8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3Jp
cHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisvLyBNRVRBOiBzY3JpcHQ9Li4vcmVzb3VyY2Vz
L2xvYWRfd2FzbS5qcworCisndXNlIHN0cmljdCc7CisKKy8vIGh0dHBzOi8vd2ViYXNzZW1ibHku
Z2l0aHViLmlvL3NwZWMvanMtYXBpLworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICBj
b25zdCBzcmNzID0gWyd3YXNtLWpzLWFwaSddOworICBjb25zdCBbd2FzbV0gPSBhd2FpdCBQcm9t
aXNlLmFsbCgKKyAgICBzcmNzLm1hcChpID0+IGZldGNoKGAvaW50ZXJmYWNlcy8ke2l9LmlkbGAp
LnRoZW4ociA9PiByLnRleHQoKSkpKTsKKworICBjb25zdCBpZGxfYXJyYXkgPSBuZXcgSWRsQXJy
YXkoKTsKKyAgaWRsX2FycmF5LmFkZF9pZGxzKHdhc20sIHsKKyAgICAvLyBOb3RlIHRoZSBwcm9z
ZSByZXF1aXJlbWVudHMgaW4gdGhlIHNwZWNpZmljYXRpb24uCisgICAgZXhjZXB0OiBbJ0NvbXBp
bGVFcnJvcicsICdMaW5rRXJyb3InLCAnUnVudGltZUVycm9yJ10KKyAgfSk7CisKKyAgLy8gaHR0
cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzLzEyODUwCisgIGlk
bF9hcnJheS5hZGRfdW50ZXN0ZWRfaWRscygnW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXSBpbnRl
cmZhY2UgQXJyYXlCdWZmZXIge307Jyk7CisKKyAgLy8gSWdub3JlZCBlcnJvcnMgYXJlIHN1cmZh
Y2VkIGluIGlkbGhhcm5lc3MuanMncyB0ZXN0X29iamVjdCBiZWxvdy4KKyAgdHJ5IHsKKyAgICBz
ZWxmLm1lbW9yeSA9IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoe2luaXRpYWw6IDEwMjR9KTsKKyAg
fSBjYXRjaCAoZSkgeyB9CisKKyAgdHJ5IHsKKyAgICBzZWxmLm1vZCA9IGF3YWl0IGNyZWF0ZVdh
c21Nb2R1bGUoKTsKKyAgICBzZWxmLmluc3RhbmNlID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNl
KHNlbGYubW9kKTsKKyAgfSBjYXRjaCAoZSkgeyB9CisKKyAgaWRsX2FycmF5LmFkZF9vYmplY3Rz
KHsKKyAgICBNZW1vcnk6IFsnbWVtb3J5J10sCisgICAgTW9kdWxlOiBbJ21vZCddLAorICAgIElu
c3RhbmNlOiBbJ2luc3RhbmNlJ10sCisgIH0pOworICBpZGxfYXJyYXkudGVzdCgpOworfSwgJ3dh
c20tanMtYXBpIGludGVyZmFjZXMuJyk7CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pZGxoYXJuZXNzLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODY2NmNlYTJlZThkNzE1MGJmNTNjMWI2ODBkZjNhMzc1YjVhMGE1MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorQ09OU09MRSBNRVNTQUdFOiBOZXR3b3JrRXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgKKwor
SGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBOZXR3b3JrRXJyb3I6IFJlc3BvbnNlIGlz
IG5vdCAyeHgKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFy
bmVzcy5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2
MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pZGxoYXJuZXNzLmFueS53b3JrZXIu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3ItYmFk
LWltcG9ydHMuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1iYWQtaW1wb3J0
cy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDIyNTJhODYzMjhiODFlOGIxYzNlZGE2YThmNjJkYjFj
MzUzMDQyNmUuLjE4NDFkODBlYjJhNmNiODlkM2Y4ZjYxNWMxOGFmM2RlYTc0MDJjNmIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1iYWQtaW1wb3J0cy5hbnktZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1iYWQtaW1wb3J0cy5hbnktZXhwZWN0ZWQudHh0CkBAIC0z
Nyw2ICszNyw3IEBAIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9y
dGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5CiBQQVNTIG5ldyBXZWJBc3NlbWJs
eS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9iYWwgd2l0aCBhbiBpbmNvcnJlY3Rs
eS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xvYmFsIAogUEFTUyBuZXcgV2ViQXNzZW1ibHku
SW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHkt
dHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUgCiBQQVNTIG5ldyBXZWJB
c3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9iYWwgd2l0aCBhbiBpbmNv
cnJlY3RseS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5HbG9iYWwucHJv
dG90eXBlKSAKK1BBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGlu
ZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5H
bG9iYWwgb2JqZWN0ICh3cm9uZyB2YWx1ZSB0eXBlKSAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lklu
c3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBl
ZCB2YWx1ZTogdW5kZWZpbmVkIAogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxl
KTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBudWxs
IAogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9y
eSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB0cnVlIApAQCAtNDksNiArNTAsNyBA
QCBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5
IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZQogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2Uo
bW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVl
OiBXZWJBc3NlbWJseS5NZW1vcnkgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1
bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdl
YkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5j
ZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFs
dWU6IE9iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHkuTWVtb3J5LnByb3RvdHlwZSkgCitQQVNTIG5l
dyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4g
aW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lk1lbW9yeSBvYmplY3QgKHRvbyBs
YXJnZSkgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcg
dGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdW5kZWZpbmVkIAogUEFTUyBu
ZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4g
aW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IG51bGwgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0
YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2
YWx1ZTogdHJ1ZSAKQEAgLTYxLDQgKzYzLDUgQEAgUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFu
Y2UobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQKIFBB
U1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRo
IGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZSAKIFBBU1MgbmV3
IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGlu
Y29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUgCiBQQVNT
IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBh
biBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5UYWJs
ZS5wcm90b3R5cGUpIAorUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1w
b3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5
LlRhYmxlIG9iamVjdCAodG9vIGxhcmdlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVj
dG9yLWJhZC1pbXBvcnRzLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1iYWQtaW1wb3J0cy5h
bnkuanMKaW5kZXggMjRjNTFjMTBkYzVkZjlkNTJjMDZiZmIwNzE1ZTQzNWIxN2YyNGY3YS4uZTg4
ZDAyYjY0OTY4NGIwZDdjZWVjYjBkMGEzZDFlODc1ZGQyMWM0OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNl
L2NvbnN0cnVjdG9yLWJhZC1pbXBvcnRzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3It
YmFkLWltcG9ydHMuYW55LmpzCkBAIC0xLDUgKzEsNCBAQAogLy8gTUVUQTogZ2xvYmFsPWpzc2hl
bGwKLS8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLWNvbnN0YW50cy5qcwogLy8gTUVU
QTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKIC8vIE1FVEE6IHNj
cmlwdD0vd2FzbS9qc2FwaS9iYWQtaW1wb3J0cy5qcwogCkBAIC05LDYgKzgsNiBAQCB0ZXN0X2Jh
ZF9pbXBvcnRzKChuYW1lLCBlcnJvciwgYnVpbGQsIC4uLmFyZ3VtZW50cykgPT4gewogICAgIGJ1
aWxkKGJ1aWxkZXIpOwogICAgIGNvbnN0IGJ1ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKICAg
ICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcik7Ci0gICAgYXNz
ZXJ0X3Rocm93cyhlcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSwg
Li4uYXJndW1lbnRzKSk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhlcnJvciwgKCkgPT4gbmV3IFdl
YkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSwgLi4uYXJndW1lbnRzKSk7CiAgIH0sIGBuZXcgV2Vi
QXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogJHtuYW1lfWApOwogfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5z
dGFuY2UvY29uc3RydWN0b3ItYmFkLWltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5z
dGFuY2UvY29uc3RydWN0b3ItYmFkLWltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5k
ZXggMjI1MmE4NjMyOGI4MWU4YjFjM2VkYTZhOGY2MmRiMWMzNTMwNDI2ZS4uMTg0MWQ4MGViMmE2
Y2I4OWQzZjhmNjE1YzE4YWYzZGVhNzQwMmM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVj
dG9yLWJhZC1pbXBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25z
dHJ1Y3Rvci1iYWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMzcsNiArMzcs
NyBAQCBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBn
bG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eQogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFu
Y2UobW9kdWxlKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQg
dmFsdWU6IFdlYkFzc2VtYmx5Lkdsb2JhbCAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNl
KG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZh
bHVlOiBXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlIAogUEFTUyBuZXcgV2ViQXNzZW1ibHku
SW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHkt
dHlwZWQgdmFsdWU6IE9iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSkg
CitQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9i
YWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xvYmFsIG9i
amVjdCAod3JvbmcgdmFsdWUgdHlwZSkgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZSht
b2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6
IHVuZGVmaW5lZCAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9y
dGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogbnVsbCAKIFBBU1Mg
bmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBh
biBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdHJ1ZSAKQEAgLTQ5LDYgKzUwLDcgQEAgUEFTUyBu
ZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFu
IGluY29ycmVjdGx5LXR5cGUKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6
IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNz
ZW1ibHkuTWVtb3J5IAogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1w
b3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJs
eS5NZW1vcnkucHJvdG90eXBlIAogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxl
KTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBPYmpl
Y3QuY3JlYXRlKFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUpIAorUEFTUyBuZXcgV2ViQXNz
ZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5NZW1vcnkgb2JqZWN0ICh0b28gbGFyZ2UpIAog
UEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdp
dGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHVuZGVmaW5lZCAKIFBBU1MgbmV3IFdlYkFz
c2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cGVkIHZhbHVlOiBudWxsIAogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9k
dWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHRy
dWUgCkBAIC02MSw0ICs2Myw1IEBAIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVs
ZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkCiBQQVNTIG5ldyBX
ZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNv
cnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuVGFibGUgCiBQQVNTIG5ldyBXZWJBc3Nl
bWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3Rs
eS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlIAogUEFTUyBuZXcgV2Vi
QXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3Jy
ZWN0bHktdHlwZWQgdmFsdWU6IE9iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHkuVGFibGUucHJvdG90
eXBlKSAKK1BBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyB0
YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZSBv
YmplY3QgKHRvbyBsYXJnZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1jYWNo
aW5nLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3ItY2FjaGluZy5hbnktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1ODczZGVmYTJiMzYxNTdiYjU5MmE2NDI4NThiZTEyYTc1
YWUyNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3ItY2FjaGluZy5hbnkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIGNvbnN0cnVjdG9yLWNhY2hpbmcg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFdlYkFzc2VtYmx5Lkdsb2Jh
bF0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFdlYkFzc2VtYmx5Lkdsb2JhbF0iCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1jYWNoaW5nLmFueS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0
cnVjdG9yLWNhY2hpbmcuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2
YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rv
ci1jYWNoaW5nLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9j
b25zdHJ1Y3Rvci1jYWNoaW5nLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1jYWNoaW5nLmFu
eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTViMDc4YTBmOTQ3ODYyMDcxNWIwZmVmMjU5ZjcyMDc0MzdmMjlk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWNhY2hpbmcuYW55LmpzCkBA
IC0wLDAgKzEsNTQgQEAKKy8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBzY3JpcHQ9
L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcworCitmdW5jdGlvbiBnZXRFeHBvcnRz
KCkgeworICBjb25zdCBidWlsZGVyID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7CisgIGJ1aWxk
ZXIKKyAgICAuYWRkRnVuY3Rpb24oImZuIiwga1NpZ192X2QpCisgICAgLmFkZEJvZHkoW10pCisg
ICAgLmV4cG9ydEZ1bmMoKTsKKworICBidWlsZGVyLnNldFRhYmxlQm91bmRzKDEpOworICBidWls
ZGVyLmFkZEV4cG9ydE9mS2luZCgidGFibGUiLCBrRXh0ZXJuYWxUYWJsZSwgMCk7CisgIGJ1aWxk
ZXIuYWRkR2xvYmFsKGtXYXNtSTMyLCBmYWxzZSkuZXhwb3J0QXMoImdsb2JhbCIpOworICBidWls
ZGVyLmFkZE1lbW9yeSg0LCA4LCB0cnVlKTsKKworICBjb25zdCBidWZmZXIgPSBidWlsZGVyLnRv
QnVmZmVyKCk7CisgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVy
KTsKKyAgY29uc3QgaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTsK
KyAgcmV0dXJuIGluc3RhbmNlLmV4cG9ydHM7Cit9CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBl
eHBvcnRzID0gZ2V0RXhwb3J0cygpOworCisgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVs
ZUJ1aWxkZXIoKTsKKyAgY29uc3QgZnVuY3Rpb25JbmRleCA9IGJ1aWxkZXIuYWRkSW1wb3J0KCJt
b2R1bGUiLCAiaW1wb3J0ZWQiLCBrU2lnX3ZfZCk7CisgIGJ1aWxkZXIuYWRkRXhwb3J0KCJleHBv
cnRlZEZ1bmN0aW9uIiwgZnVuY3Rpb25JbmRleCk7CisKKyAgY29uc3QgZ2xvYmFsSW5kZXggPSBi
dWlsZGVyLmFkZEltcG9ydGVkR2xvYmFsKCJtb2R1bGUiLCAiZ2xvYmFsIiwga1dhc21JMzIpOwor
ICBidWlsZGVyLmFkZEV4cG9ydE9mS2luZCgiZXhwb3J0ZWRHbG9iYWwiLCBrRXh0ZXJuYWxHbG9i
YWwsIGdsb2JhbEluZGV4KTsKKworICBidWlsZGVyLmFkZEltcG9ydGVkTWVtb3J5KCJtb2R1bGUi
LCAibWVtb3J5IiwgNCk7CisgIGJ1aWxkZXIuZXhwb3J0TWVtb3J5QXMoImV4cG9ydGVkTWVtb3J5
Iik7CisKKyAgY29uc3QgdGFibGVJbmRleCA9IGJ1aWxkZXIuYWRkSW1wb3J0ZWRUYWJsZSgibW9k
dWxlIiwgInRhYmxlIiwgMSk7CisgIGJ1aWxkZXIuYWRkRXhwb3J0T2ZLaW5kKCJleHBvcnRlZFRh
YmxlIiwga0V4dGVybmFsVGFibGUsIHRhYmxlSW5kZXgpOworCisgIGNvbnN0IGJ1ZmZlciA9IGJ1
aWxkZXIudG9CdWZmZXIoKTsKKworICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9k
dWxlKGJ1ZmZlcik7CisgIGNvbnN0IGluc3RhbmNlID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNl
KG1vZHVsZSwgeworICAgICJtb2R1bGUiOiB7CisgICAgICAiaW1wb3J0ZWQiOiBleHBvcnRzLmZu
LAorICAgICAgImdsb2JhbCI6IGV4cG9ydHMuZ2xvYmFsLAorICAgICAgIm1lbW9yeSI6IGV4cG9y
dHMubWVtb3J5LAorICAgICAgInRhYmxlIjogZXhwb3J0cy50YWJsZSwKKyAgICB9CisgIH0pOwor
CisgIGFzc2VydF9lcXVhbHMoaW5zdGFuY2UuZXhwb3J0cy5leHBvcnRlZEZ1bmN0aW9uLCBleHBv
cnRzLmZuKTsKKyAgYXNzZXJ0X2VxdWFscyhpbnN0YW5jZS5leHBvcnRzLmV4cG9ydGVkR2xvYmFs
LCBleHBvcnRzLmdsb2JhbCk7CisgIGFzc2VydF9lcXVhbHMoaW5zdGFuY2UuZXhwb3J0cy5leHBv
cnRlZE1lbW9yeSwgZXhwb3J0cy5tZW1vcnkpOworICBhc3NlcnRfZXF1YWxzKGluc3RhbmNlLmV4
cG9ydHMuZXhwb3J0ZWRUYWJsZSwgZXhwb3J0cy50YWJsZSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0
YW5jZS9jb25zdHJ1Y3Rvci1jYWNoaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNl
L2NvbnN0cnVjdG9yLWNhY2hpbmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjU4NzNkZWZhMmIzNjE1N2JiNTkyYTY0Mjg1OGJlMTJhNzVhZTI0ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1jYWNoaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorCitGQUlMIGNvbnN0cnVjdG9yLWNhY2hpbmcgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFdlYkFzc2VtYmx5Lkdsb2JhbF0iIGJ1dCBnb3Qgb2Jq
ZWN0ICJbb2JqZWN0IFdlYkFzc2VtYmx5Lkdsb2JhbF0iCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9j
b25zdHJ1Y3Rvci1jYWNoaW5nLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1j
YWNoaW5nLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZj
NjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9y
LWNhY2hpbmcuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBs
YXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0
YW5jZS9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLmFu
eS1leHBlY3RlZC50eHQKaW5kZXggMjA5Y2ZhYzYxNzQwYTFlMDA1MmM4NDVmN2E4OGU5NTRhZjA4
MzI4ZS4uM2Y1NGY3NDZmYjE1ZjUxZmQ0NjBmNGQ4MmU4NTE4YTY1NmRlNTc5ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2luc3RhbmNlL2NvbnN0cnVjdG9yLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0
cnVjdG9yLmFueS1leHBlY3RlZC50eHQKQEAgLTMsMTAgKzMsMTMgQEAgUEFTUyBuYW1lCiBQQVNT
IGxlbmd0aCAKIFBBU1MgTm8gYXJndW1lbnRzIAogUEFTUyBOb24tTW9kdWxlIGFyZ3VtZW50cyAK
LVBBU1MgTm9uLW9iamVjdCBpbXBvcnRzIAogUEFTUyBDYWxsaW5nIAotUEFTUyBFbXB0eSBtb2R1
bGUgCi1QQVNTIGdldHRlciBvcmRlciBmb3IgaW1wb3J0cyBvYmplY3QgCitQQVNTIEVtcHR5IG1v
ZHVsZSB3aXRob3V0IGltcG9ydHMgYXJndW1lbnQgCitQQVNTIEVtcHR5IG1vZHVsZSB3aXRoIHVu
ZGVmaW5lZCBpbXBvcnRzIGFyZ3VtZW50IAorUEFTUyBFbXB0eSBtb2R1bGUgd2l0aCBlbXB0eSBp
bXBvcnRzIGFyZ3VtZW50IAorRkFJTCBnZXR0ZXIgb3JkZXIgZm9yIGltcG9ydHMgb2JqZWN0IGFz
c2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnR5IDEsIGV4cGVjdGVkICJnbG9iYWwxIGdldHRlciIg
YnV0IGdvdCAibWVtb3J5IGdldHRlciIKIFBBU1MgaW1wb3J0cyAKLUZBSUwgZXhwb3J0cyBhc3Nl
cnRfZmFsc2U6IGZuOiB3cml0YWJsZSBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorRkFJTCBObyBp
bXBvcnRzIGFzc2VydF9hcnJheV9lcXVhbHM6IG1hdGNoaW5nIGV4cG9ydCBrZXlzIHByb3BlcnR5
IDIsIGV4cGVjdGVkICJ0YWJsZSIgYnV0IGdvdCAiZ2xvYmFsIgorRkFJTCBleHBvcnRzIGFuZCBp
bXBvcnRzIGFzc2VydF9mYWxzZTogZm46IHdyaXRhYmxlIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVl
CitQQVNTIHN0cmF5IGFyZ3VtZW50IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3Iu
YW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLmFueS5qcwppbmRleCA2MWE4ZjUzYTAxNGMxOTJm
MjhhMGMyNTI1MmNmMzcwMjU2MWU3MTkxLi4wNmM2ZDdhODhjMDkyMzVhYmQ0MGE3MWEzNzlmMGQ4
MDA1YTMzNjE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3IuYW55LmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0
YW5jZS9jb25zdHJ1Y3Rvci5hbnkuanMKQEAgLTEsNjMgKzEsNyBAQAogLy8gTUVUQTogZ2xvYmFs
PWpzc2hlbGwKLS8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLWNvbnN0YW50cy5qcwog
Ly8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKIC8vIE1F
VEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9hc3NlcnRpb25zLmpzCi0KLWZ1bmN0aW9uIGFzc2VydF9l
eHBvcnRlZF9mdW5jdGlvbihmbiwgeyBuYW1lLCBsZW5ndGggfSwgZGVzY3JpcHRpb24pIHsKLSAg
YXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoZm4pLCBGdW5jdGlvbi5wcm90b3R5
cGUsCi0gICAgICAgICAgICAgICAgYCR7ZGVzY3JpcHRpb259OiBwcm90b3R5cGVgKTsKLQotICBh
c3NlcnRfZnVuY3Rpb25fbmFtZShmbiwgbmFtZSwgZGVzY3JpcHRpb24pOwotICBhc3NlcnRfZnVu
Y3Rpb25fbGVuZ3RoKGZuLCBsZW5ndGgsIGRlc2NyaXB0aW9uKTsKLX0KLQotZnVuY3Rpb24gYXNz
ZXJ0X0luc3RhbmNlKGluc3RhbmNlLCBleHBlY3RlZF9leHBvcnRzKSB7Ci0gIGFzc2VydF9lcXVh
bHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKSwgV2ViQXNzZW1ibHkuSW5zdGFuY2Uu
cHJvdG90eXBlLAotICAgICAgICAgICAgICAgICJwcm90b3R5cGUiKTsKLSAgYXNzZXJ0X3RydWUo
T2JqZWN0LmlzRXh0ZW5zaWJsZShpbnN0YW5jZSksICJleHRlbnNpYmxlIik7Ci0KLSAgYXNzZXJ0
X2VxdWFscyhpbnN0YW5jZS5leHBvcnRzLCBpbnN0YW5jZS5leHBvcnRzLCAiZXhwb3J0cyBzaG91
bGQgYmUgaWRlbXBvdGVudCIpOwotICBjb25zdCBleHBvcnRzID0gaW5zdGFuY2UuZXhwb3J0czsK
LQotICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihleHBvcnRzKSwgbnVsbCwg
ImV4cG9ydHMgcHJvdG90eXBlIik7Ci0gIGFzc2VydF9mYWxzZShPYmplY3QuaXNFeHRlbnNpYmxl
KGV4cG9ydHMpLCAiZXh0ZW5zaWJsZSBleHBvcnRzIik7Ci0gIGZvciAoY29uc3QgW2tleSwgZXhw
ZWN0ZWRdIG9mIE9iamVjdC5lbnRyaWVzKGV4cGVjdGVkX2V4cG9ydHMpKSB7Ci0gICAgY29uc3Qg
cHJvcGVydHkgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGV4cG9ydHMsIGtleSk7
Ci0gICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgcHJvcGVydHksICJvYmplY3QiLCBgJHtrZXl9IHNo
b3VsZCBiZSBwcmVzZW50YCk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHByb3BlcnR5LndyaXRhYmxlLCBg
JHtrZXl9OiB3cml0YWJsZWApOwotICAgIGFzc2VydF90cnVlKHByb3BlcnR5LmVudW1lcmFibGUs
IGAke2tleX06IGVudW1lcmFibGVgKTsKLSAgICBhc3NlcnRfZmFsc2UocHJvcGVydHkuY29uZmln
dXJhYmxlLCBgJHtrZXl9OiBjb25maWd1cmFibGVgKTsKLSAgICBjb25zdCBhY3R1YWwgPSBwcm9w
ZXJ0eS52YWx1ZTsKLSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuaXNFeHRlbnNpYmxlKGFjdHVhbCks
IGAke2tleX06IGV4dGVuc2libGVgKTsKLQotICAgIHN3aXRjaCAoZXhwZWN0ZWQua2luZCkgewot
ICAgIGNhc2UgImZ1bmN0aW9uIjoKLSAgICAgIGFzc2VydF9leHBvcnRlZF9mdW5jdGlvbihhY3R1
YWwsIGV4cGVjdGVkLCBgdmFsdWUgb2YgJHtrZXl9YCk7Ci0gICAgICBicmVhazsKLSAgICBjYXNl
ICJnbG9iYWwiOgotICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoYWN0
dWFsKSwgV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSwKLSAgICAgICAgICAgICAgICAgICAg
YHZhbHVlIG9mICR7a2V5fTogcHJvdG90eXBlYCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGFjdHVh
bC52YWx1ZSwgZXhwZWN0ZWQudmFsdWUsIGB2YWx1ZSBvZiAke2tleX06IHZhbHVlYCk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKGFjdHVhbC52YWx1ZU9mKCksIGV4cGVjdGVkLnZhbHVlLCBgdmFsdWUg
b2YgJHtrZXl9OiB2YWx1ZU9mKClgKTsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgIm1lbW9yeSI6
Ci0gICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihhY3R1YWwpLCBXZWJB
c3NlbWJseS5NZW1vcnkucHJvdG90eXBlLAotICAgICAgICAgICAgICAgICAgICBgdmFsdWUgb2Yg
JHtrZXl9OiBwcm90b3R5cGVgKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3Rv
dHlwZU9mKGFjdHVhbC5idWZmZXIpLCBBcnJheUJ1ZmZlci5wcm90b3R5cGUsCi0gICAgICAgICAg
ICAgICAgICAgIGB2YWx1ZSBvZiAke2tleX06IHByb3RvdHlwZSBvZiBidWZmZXJgKTsKLSAgICAg
IGFzc2VydF9lcXVhbHMoYWN0dWFsLmJ1ZmZlci5ieXRlTGVuZ3RoLCAweDEwMDAwICogZXhwZWN0
ZWQuc2l6ZSwgYHZhbHVlIG9mICR7a2V5fTogc2l6ZSBvZiBidWZmZXJgKTsKLSAgICAgIGNvbnN0
IGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYWN0dWFsLmJ1ZmZlcik7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKGFycmF5WzBdLCAwLCBgdmFsdWUgb2YgJHtrZXl9OiBmaXJzdCBlbGVtZW50IG9mIGJ1ZmZl
cmApOwotICAgICAgYXNzZXJ0X2VxdWFscyhhcnJheVthcnJheS5ieXRlTGVuZ3RoIC0gMV0sIDAs
IGB2YWx1ZSBvZiAke2tleX06IGxhc3QgZWxlbWVudCBvZiBidWZmZXJgKTsKLSAgICAgIGJyZWFr
OwotICAgIGNhc2UgInRhYmxlIjoKLSAgICAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3Rv
dHlwZU9mKGFjdHVhbCksIFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSwKLSAgICAgICAgICAg
ICAgICAgICAgYHZhbHVlIG9mICR7a2V5fTogcHJvdG90eXBlYCk7Ci0gICAgICBhc3NlcnRfZXF1
YWxzKGFjdHVhbC5sZW5ndGgsIGV4cGVjdGVkLmxlbmd0aCwgYHZhbHVlIG9mICR7a2V5fTogbGVu
Z3RoIG9mIHRhYmxlYCk7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gIH0KLX0KKy8vIE1FVEE6IHNj
cmlwdD0vd2FzbS9qc2FwaS9pbnN0YW5jZVRlc3RGYWN0b3J5LmpzCiAKIGxldCBlbXB0eU1vZHVs
ZUJpbmFyeTsKIHNldHVwKCgpID0+IHsKQEAgLTczLDcgKzE3LDcgQEAgdGVzdCgoKSA9PiB7CiB9
LCAibGVuZ3RoIik7CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKCkpOworICBhc3NlcnRfdGhyb3dz
X2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKCkpOwogfSwgIk5v
IGFyZ3VtZW50cyIpOwogCiB0ZXN0KCgpID0+IHsKQEAgLTg5LDEzOSArMzMsMjIgQEAgdGVzdCgo
KSA9PiB7CiAgICAgV2ViQXNzZW1ibHkuTW9kdWxlLnByb3RvdHlwZSwKICAgXTsKICAgZm9yIChj
b25zdCBhcmd1bWVudCBvZiBpbnZhbGlkQXJndW1lbnRzKSB7Ci0gICAgYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShhcmd1bWVudCks
Ci0gICAgICAgICAgICAgICAgICBgbmV3IEluc3RhbmNlKCR7Zm9ybWF0X3ZhbHVlKGFyZ3VtZW50
KX0pYCk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IG5ldyBXZWJBc3Nl
bWJseS5JbnN0YW5jZShhcmd1bWVudCksCisgICAgICAgICAgICAgICAgICAgICBgbmV3IEluc3Rh
bmNlKCR7Zm9ybWF0X3ZhbHVlKGFyZ3VtZW50KX0pYCk7CiAgIH0KIH0sICJOb24tTW9kdWxlIGFy
Z3VtZW50cyIpOwogCiB0ZXN0KCgpID0+IHsKICAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2Vt
Ymx5Lk1vZHVsZShlbXB0eU1vZHVsZUJpbmFyeSk7Ci0gIGNvbnN0IGludmFsaWRBcmd1bWVudHMg
PSBbCi0gICAgbnVsbCwKLSAgICB0cnVlLAotICAgICIiLAotICAgIFN5bWJvbCgpLAotICAgIDEs
Ci0gIF07Ci0gIGZvciAoY29uc3QgYXJndW1lbnQgb2YgaW52YWxpZEFyZ3VtZW50cykgewotICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuSW5z
dGFuY2UobW9kdWxlLCBhcmd1bWVudCksCi0gICAgICAgICAgICAgICAgICBgbmV3IEluc3RhbmNl
KG1vZHVsZSwgJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKLSAgfQotfSwgIk5vbi1vYmpl
Y3QgaW1wb3J0cyIpOwotCi10ZXN0KCgpID0+IHsKLSAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFz
c2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJpbmFyeSk7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCAoKSA9PiBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpKTsKKyAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSkp
OwogfSwgIkNhbGxpbmciKTsKIAotdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IG1vZHVsZSA9IG5ldyBX
ZWJBc3NlbWJseS5Nb2R1bGUoZW1wdHlNb2R1bGVCaW5hcnkpOwotICBjb25zdCBhcmd1bWVudHMg
PSBbCi0gICAgW10sCi0gICAgW3VuZGVmaW5lZF0sCi0gICAgW3t9XSwKLSAgXTsKLSAgZm9yIChj
b25zdCB2YWx1ZSBvZiBhcmd1bWVudHMpIHsKLSAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJB
c3NlbWJseS5JbnN0YW5jZShtb2R1bGUsIC4uLmFyZ3VtZW50cyk7Ci0gICAgYXNzZXJ0X0luc3Rh
bmNlKGluc3RhbmNlLCB7fSk7Ci0gIH0KLX0sICJFbXB0eSBtb2R1bGUiKTsKLQotdGVzdCgoKSA9
PiB7Ci0gIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKLSAgYnVpbGRl
ci5hZGRJbXBvcnRlZEdsb2JhbCgibW9kdWxlIiwgImdsb2JhbDEiLCBrV2FzbUkzMik7Ci0gIGJ1
aWxkZXIuYWRkSW1wb3J0ZWRHbG9iYWwoIm1vZHVsZSIsICJnbG9iYWwyIiwga1dhc21JMzIpOwot
ICBjb25zdCBidWZmZXIgPSBidWlsZGVyLnRvQnVmZmVyKCk7Ci0gIGNvbnN0IG1vZHVsZSA9IG5l
dyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKTsKLSAgY29uc3Qgb3JkZXIgPSBbXTsKLSAgY29u
c3QgaW1wb3J0cyA9IHsKLSAgICBnZXQgbW9kdWxlKCkgewotICAgICAgb3JkZXIucHVzaCgibW9k
dWxlIGdldHRlciIpOwotICAgICAgcmV0dXJuIHsKLSAgICAgICAgZ2V0IGdsb2JhbDEoKSB7Ci0g
ICAgICAgICAgb3JkZXIucHVzaCgiZ2xvYmFsMSBnZXR0ZXIiKTsKLSAgICAgICAgICByZXR1cm4g
MDsKLSAgICAgICAgfSwKLSAgICAgICAgZ2V0IGdsb2JhbDIoKSB7Ci0gICAgICAgICAgb3JkZXIu
cHVzaCgiZ2xvYmFsMiBnZXR0ZXIiKTsKLSAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfSwK
LSAgICAgIH0KLSAgICB9LAotICB9OwotICBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxl
LCBpbXBvcnRzKTsKLSAgY29uc3QgZXhwZWN0ZWQgPSBbCi0gICAgIm1vZHVsZSBnZXR0ZXIiLAot
ICAgICJnbG9iYWwxIGdldHRlciIsCi0gICAgIm1vZHVsZSBnZXR0ZXIiLAotICAgICJnbG9iYWwy
IGdldHRlciIsCi0gIF07Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMob3JkZXIsIGV4cGVjdGVkKTsK
LX0sICJnZXR0ZXIgb3JkZXIgZm9yIGltcG9ydHMgb2JqZWN0Iik7Ci0KLXRlc3QoKCkgPT4gewot
ICBjb25zdCBidWlsZGVyID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7Ci0KLSAgYnVpbGRlci5h
ZGRJbXBvcnQoIm1vZHVsZSIsICJmbiIsIGtTaWdfdl92KTsKLSAgYnVpbGRlci5hZGRJbXBvcnRl
ZEdsb2JhbCgibW9kdWxlIiwgImdsb2JhbCIsIGtXYXNtSTMyKTsKLSAgYnVpbGRlci5hZGRJbXBv
cnRlZE1lbW9yeSgibW9kdWxlIiwgIm1lbW9yeSIsIDAsIDEyOCk7Ci0gIGJ1aWxkZXIuYWRkSW1w
b3J0ZWRUYWJsZSgibW9kdWxlIiwgInRhYmxlIiwgMCwgMTI4KTsKLQotICBjb25zdCBidWZmZXIg
PSBidWlsZGVyLnRvQnVmZmVyKCk7Ci0gIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5N
b2R1bGUoYnVmZmVyKTsKLSAgY29uc3QgaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFu
Y2UobW9kdWxlLCB7Ci0gICAgIm1vZHVsZSI6IHsKLSAgICAgICJmbiI6IGZ1bmN0aW9uKCkge30s
Ci0gICAgICAiZ2xvYmFsIjogMCwKLSAgICAgICJtZW1vcnkiOiBuZXcgV2ViQXNzZW1ibHkuTWVt
b3J5KHsgImluaXRpYWwiOiA2NCwgbWF4aW11bTogMTI4IH0pLAotICAgICAgInRhYmxlIjogbmV3
IFdlYkFzc2VtYmx5LlRhYmxlKHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogNjQs
IG1heGltdW06IDEyOCB9KSwKLSAgICB9LAotICAgIGdldCAibW9kdWxlMiIoKSB7Ci0gICAgICBh
c3NlcnRfdW5yZWFjaGVkKCJTaG91bGQgbm90IGdldCBtb2R1bGVzIHRoYXQgYXJlIG5vdCBpbXBv
cnRlZCIpOwotICAgIH0sCi0gIH0pOwotICBhc3NlcnRfSW5zdGFuY2UoaW5zdGFuY2UsIHt9KTsK
LX0sICJpbXBvcnRzIik7Ci0KLXRlc3QoKCkgPT4gewotICBjb25zdCBidWlsZGVyID0gbmV3IFdh
c21Nb2R1bGVCdWlsZGVyKCk7Ci0KLSAgYnVpbGRlcgotICAgIC5hZGRGdW5jdGlvbigiZm4iLCBr
U2lnX3ZfZCkKLSAgICAuYWRkQm9keShbCi0gICAgICAgIGtFeHByRW5kCi0gICAgXSkKLSAgICAu
ZXhwb3J0RnVuYygpOwotICBidWlsZGVyCi0gICAgLmFkZEZ1bmN0aW9uKCJmbjIiLCBrU2lnX3Zf
dikKLSAgICAuYWRkQm9keShbCi0gICAgICAgIGtFeHByRW5kCi0gICAgXSkKLSAgICAuZXhwb3J0
RnVuYygpOwotCi0gIGJ1aWxkZXIuc2V0RnVuY3Rpb25UYWJsZUxlbmd0aCgxKTsKLSAgYnVpbGRl
ci5hZGRFeHBvcnRPZktpbmQoInRhYmxlIiwga0V4dGVybmFsVGFibGUsIDApOwotCi0gIGJ1aWxk
ZXIuYWRkR2xvYmFsKGtXYXNtSTMyLCB0cnVlKQotICAgIC5leHBvcnRBcygiZ2xvYmFsIikKLSAg
ICAuaW5pdCA9IDc7Ci0gIGJ1aWxkZXIuYWRkR2xvYmFsKGtXYXNtRjY0LCB0cnVlKQotICAgIC5l
eHBvcnRBcygiZ2xvYmFsMiIpCi0gICAgLmluaXQgPSAxLjI7Ci0KLSAgYnVpbGRlci5hZGRNZW1v
cnkoNCwgOCwgdHJ1ZSk7Ci0KLSAgY29uc3QgYnVmZmVyID0gYnVpbGRlci50b0J1ZmZlcigpCi0g
IGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKTsKLQotICBjb25z
dCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUsIHt9KTsKLSAgY29u
c3QgZXhwZWN0ZWQgPSB7Ci0gICAgImZuIjogeyAia2luZCI6ICJmdW5jdGlvbiIsICJuYW1lIjog
IjAiLCAibGVuZ3RoIjogMSB9LAotICAgICJmbjIiOiB7ICJraW5kIjogImZ1bmN0aW9uIiwgIm5h
bWUiOiAiMSIsICJsZW5ndGgiOiAwIH0sCi0gICAgInRhYmxlIjogeyAia2luZCI6ICJ0YWJsZSIs
ICJsZW5ndGgiOiAxIH0sCi0gICAgImdsb2JhbCI6IHsgImtpbmQiOiAiZ2xvYmFsIiwgInZhbHVl
IjogNyB9LAotICAgICJnbG9iYWwyIjogeyAia2luZCI6ICJnbG9iYWwiLCAidmFsdWUiOiAxLjIg
fSwKLSAgICAibWVtb3J5IjogeyAia2luZCI6ICJtZW1vcnkiLCAic2l6ZSI6IDQgfSwKLSAgfTsK
LSAgYXNzZXJ0X0luc3RhbmNlKGluc3RhbmNlLCBleHBlY3RlZCk7Ci19LCAiZXhwb3J0cyIpOwor
Zm9yIChjb25zdCBbbmFtZSwgZm5dIG9mIGluc3RhbmNlVGVzdEZhY3RvcnkpIHsKKyAgdGVzdCgo
KSA9PiB7CisgICAgY29uc3QgeyBidWZmZXIsIGFyZ3MsIGV4cG9ydHMsIHZlcmlmeSB9ID0gZm4o
KTsKKyAgICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcik7Cisg
ICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlLCAuLi5h
cmdzKTsKKyAgICBhc3NlcnRfSW5zdGFuY2UoaW5zdGFuY2UsIGV4cG9ydHMpOworICAgIHZlcmlm
eShpbnN0YW5jZSk7CisgIH0sIG5hbWUpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVj
dG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CmluZGV4IDIwOWNmYWM2MTc0MGExZTAwNTJjODQ1ZjdhODhlOTU0YWYw
ODMyOGUuLjNmNTRmNzQ2ZmIxNWY1MWZkNDYwZjRkODJlODUxOGE2NTZkZTU3OWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFu
Y2UvY29uc3RydWN0b3IuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTMsMTAgKzMsMTMgQEAg
UEFTUyBuYW1lCiBQQVNTIGxlbmd0aCAKIFBBU1MgTm8gYXJndW1lbnRzIAogUEFTUyBOb24tTW9k
dWxlIGFyZ3VtZW50cyAKLVBBU1MgTm9uLW9iamVjdCBpbXBvcnRzIAogUEFTUyBDYWxsaW5nIAot
UEFTUyBFbXB0eSBtb2R1bGUgCi1QQVNTIGdldHRlciBvcmRlciBmb3IgaW1wb3J0cyBvYmplY3Qg
CitQQVNTIEVtcHR5IG1vZHVsZSB3aXRob3V0IGltcG9ydHMgYXJndW1lbnQgCitQQVNTIEVtcHR5
IG1vZHVsZSB3aXRoIHVuZGVmaW5lZCBpbXBvcnRzIGFyZ3VtZW50IAorUEFTUyBFbXB0eSBtb2R1
bGUgd2l0aCBlbXB0eSBpbXBvcnRzIGFyZ3VtZW50IAorRkFJTCBnZXR0ZXIgb3JkZXIgZm9yIGlt
cG9ydHMgb2JqZWN0IGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnR5IDEsIGV4cGVjdGVkICJn
bG9iYWwxIGdldHRlciIgYnV0IGdvdCAibWVtb3J5IGdldHRlciIKIFBBU1MgaW1wb3J0cyAKLUZB
SUwgZXhwb3J0cyBhc3NlcnRfZmFsc2U6IGZuOiB3cml0YWJsZSBleHBlY3RlZCBmYWxzZSBnb3Qg
dHJ1ZQorRkFJTCBObyBpbXBvcnRzIGFzc2VydF9hcnJheV9lcXVhbHM6IG1hdGNoaW5nIGV4cG9y
dCBrZXlzIHByb3BlcnR5IDIsIGV4cGVjdGVkICJ0YWJsZSIgYnV0IGdvdCAiZ2xvYmFsIgorRkFJ
TCBleHBvcnRzIGFuZCBpbXBvcnRzIGFzc2VydF9mYWxzZTogZm46IHdyaXRhYmxlIGV4cGVjdGVk
IGZhbHNlIGdvdCB0cnVlCitQQVNTIHN0cmF5IGFyZ3VtZW50IAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFu
Y2UvZXhwb3J0cy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2V4cG9ydHMuYW55LWV4cGVjdGVk
LnR4dAppbmRleCA2NzBmMjgxMWYyNjlkMjJhZTljM2QzNzM4NzdiZmY0OWQxY2VmMjY1Li5kNDVm
NmY4NDg1MDViMTZjNGY0ZGE5NDBkMDkzYjNiY2U5ZjRlYzE0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2Uv
ZXhwb3J0cy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9leHBvcnRzLmFueS1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw2IEBACiAKIFBBU1MgQnJhbmRpbmcgCitQQVNTIFN0cmF5IGFyZ3Vt
ZW50IAogUEFTUyBTZXR0aW5nIChzbG9wcHkgbW9kZSkgCiBQQVNTIFNldHRpbmcgKHN0cmljdCBt
b2RlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2V4cG9ydHMuYW55LmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2V4cG9y
dHMuYW55LmpzCmluZGV4IDMxNDIzOTE4NzIwNTQzZGEyYmEyNWUzOTIyNjdiZjU0MWI3NTYyNDIu
LjdjODFhNDEyOTViMGExZjJlMjBlZTc5NzIyOTFlMTA5OWYyMzc1ZmUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0
YW5jZS9leHBvcnRzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvZXhwb3J0cy5hbnkuanMKQEAgLTEsNSAr
MSw0IEBACiAvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAotLy8gTUVUQTogc2NyaXB0PS93YXNtL2pz
YXBpL3dhc20tY29uc3RhbnRzLmpzCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1t
b2R1bGUtYnVpbGRlci5qcwogCiBsZXQgZW1wdHlNb2R1bGVCaW5hcnk7CkBAIC0yOSwxMCArMjgs
MjQgQEAgdGVzdCgoKSA9PiB7CiAgIGFzc2VydF9lcXVhbHModHlwZW9mIGRlc2Muc2V0LCAidW5k
ZWZpbmVkIik7CiAKICAgZm9yIChjb25zdCB0aGlzVmFsdWUgb2YgdGhpc1ZhbHVlcykgewotICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBnZXR0ZXIuY2FsbCh0aGlzVmFs
dWUpLCBgdGhpcz0ke2Zvcm1hdF92YWx1ZSh0aGlzVmFsdWUpfWApOworICAgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiBnZXR0ZXIuY2FsbCh0aGlzVmFsdWUpLCBgdGhpcz0ke2Zv
cm1hdF92YWx1ZSh0aGlzVmFsdWUpfWApOwogICB9CiB9LCAiQnJhbmRpbmciKTsKIAordGVzdCgo
KSA9PiB7CisgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoZW1wdHlNb2R1
bGVCaW5hcnkpOworICBjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZSht
b2R1bGUpOworICBjb25zdCBleHBvcnRzID0gaW5zdGFuY2UuZXhwb3J0czsKKworICBjb25zdCBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihXZWJBc3NlbWJseS5JbnN0YW5j
ZS5wcm90b3R5cGUsICJleHBvcnRzIik7CisgIGFzc2VydF9lcXVhbHModHlwZW9mIGRlc2MsICJv
YmplY3QiKTsKKworICBjb25zdCBnZXR0ZXIgPSBkZXNjLmdldDsKKyAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgZ2V0dGVyLCAiZnVuY3Rpb24iKTsKKworICBhc3NlcnRfZXF1YWxzKGdldHRlci5jYWxs
KGluc3RhbmNlLCB7fSksIGV4cG9ydHMpOworfSwgIlN0cmF5IGFyZ3VtZW50Iik7CisKIHRlc3Qo
KCkgPT4gewogICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5TW9k
dWxlQmluYXJ5KTsKICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2Uo
bW9kdWxlKTsKQEAgLTQ1LDcgKzU4LDcgQEAgdGVzdCgoKSA9PiB7CiAgIGNvbnN0IG1vZHVsZSA9
IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoZW1wdHlNb2R1bGVCaW5hcnkpOwogICBjb25zdCBpbnN0
YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOwogICBjb25zdCBleHBvcnRz
ID0gaW5zdGFuY2UuZXhwb3J0czsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgp
ID0+IHsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKICAgICAidXNlIHN0
cmljdCI7CiAgICAgaW5zdGFuY2UuZXhwb3J0cyA9IHt9OwogICB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0
YW5jZS9leHBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2V4cG9ydHMuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNjcwZjI4MTFmMjY5ZDIyYWU5YzNkMzczODc3YmZm
NDlkMWNlZjI2NS4uZDQ1ZjZmODQ4NTA1YjE2YzRmNGRhOTQwZDA5M2IzYmNlOWY0ZWMxNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2luc3RhbmNlL2V4cG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3Rh
bmNlL2V4cG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw2IEBACiAKIFBB
U1MgQnJhbmRpbmcgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAogUEFTUyBTZXR0aW5nIChzbG9wcHkg
bW9kZSkgCiBQQVNTIFNldHRpbmcgKHN0cmljdCBtb2RlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNl
L3RvU3RyaW5nLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdG9TdHJpbmcuYW55LWV4cGVjdGVk
LnR4dAppbmRleCA3MzAzOGE5NTZlNDgzN2ZmNTZmMzZhNWRkYWEzZWVlNDYyZjA1OGYzLi5hMzgx
YzU5YzBiMjE1ZWYxZGE3ZmVhZjMyYWI0M2Y5ZGQ1OWNmZWE1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2Uv
dG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdG9TdHJpbmcuYW55LWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIAogUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
IG9uIGFuIEluc3RhbmNlIAorRkFJTCBAQHRvU3RyaW5nVGFnIGV4aXN0cyBvbiB0aGUgcHJvdG90
eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3IgYXNzZXJ0X293bl9wcm9wZXJ0eTog
ZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJTeW1ib2woU3ltYm9sLnRvU3RyaW5nVGFnKSIgbWlz
c2luZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdG9TdHJpbmcuYW55LmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL3RvU3Ry
aW5nLmFueS5qcwppbmRleCAwOGRjYjE0YTUwZDA0ZjZkYjE5NjYyNmRkYjkzZjJiNTBkYThmMDU1
Li43MDFlYzhmOWJhZDk5OGJjMjYzMTBlNzRhOGE3ZTIzZjJjYmY1YzRkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5z
dGFuY2UvdG9TdHJpbmcuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS90b1N0cmluZy5hbnkuanMKQEAgLTEs
NSArMSw0IEBACiAvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAotLy8gTUVUQTogc2NyaXB0PS93YXNt
L2pzYXBpL3dhc20tY29uc3RhbnRzLmpzCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2Fz
bS1tb2R1bGUtYnVpbGRlci5qcwogCiB0ZXN0KCgpID0+IHsKQEAgLTgsMyArNywxMyBAQCB0ZXN0
KCgpID0+IHsKICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9k
dWxlKTsKICAgYXNzZXJ0X2NsYXNzX3N0cmluZyhpbnN0YW5jZSwgIldlYkFzc2VtYmx5Lkluc3Rh
bmNlIik7CiB9LCAiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBvbiBhbiBJbnN0YW5jZSIpOwor
Cit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X293bl9wcm9wZXJ0eShXZWJBc3NlbWJseS5JbnN0YW5j
ZS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZyk7CisKKyAgY29uc3QgcHJvcERlc2MgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFdlYkFzc2VtYmx5Lkluc3RhbmNlLnByb3Rv
dHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy52YWx1
ZSwgIldlYkFzc2VtYmx5Lkluc3RhbmNlIiwgInZhbHVlIik7CisgIGFzc2VydF9lcXVhbHMocHJv
cERlc2MuY29uZmlndXJhYmxlLCB0cnVlLCAiY29uZmlndXJhYmxlIik7CisgIGFzc2VydF9lcXVh
bHMocHJvcERlc2MuZW51bWVyYWJsZSwgZmFsc2UsICJlbnVtZXJhYmxlIik7CisgIGFzc2VydF9l
cXVhbHMocHJvcERlc2Mud3JpdGFibGUsIGZhbHNlLCAid3JpdGFibGUiKTsKK30sICJAQHRvU3Ry
aW5nVGFnIGV4aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2Ny
aXB0b3IiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS90b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9pbnN0YW5jZS90b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3MzAz
OGE5NTZlNDgzN2ZmNTZmMzZhNWRkYWEzZWVlNDYyZjA1OGYzLi5hMzgxYzU5YzBiMjE1ZWYxZGE3
ZmVhZjMyYWI0M2Y5ZGQ1OWNmZWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdG9TdHJpbmcuYW55Lndv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL3RvU3RyaW5nLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcg
b24gYW4gSW5zdGFuY2UgCitGQUlMIEBAdG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5
cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSBzeW1ib2wgIlN5bWJvbChTeW1ib2wudG9TdHJpbmdUYWcpIiBtaXNz
aW5nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS93M2MtaW1w
b3J0LmxvZwppbmRleCBlNjg5Njk4NjJhNTg2MzU2OWI1OGM5YWEzYzgwZDRjODVkYzA2MmI0Li4z
N2RkNWFmMzRjZTZjNjQ3ODczNzM2NzFkOTE2YTY4MmJkZmRjMThjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFu
Y2UvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL3czYy1pbXBvcnQubG9nCkBAIC0xNSw2ICsx
NSw3IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29u
c3RydWN0b3ItYmFkLWltcG9ydHMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWNhY2hpbmcu
YW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9leHBvcnRzLmFueS5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9pbnN0YW5jZS90b1N0cmluZy5hbnkuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZVRlc3RGYWN0b3J5
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2luc3RhbmNlVGVzdEZhY3RvcnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgxNjcyZjIwOGIxNTA1NDMw
ZGQxZWU5MDlhZmFmMTJkOWIyZGIyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZVRlc3RGYWN0
b3J5LmpzCkBAIC0wLDAgKzEsMjI0IEBACitjb25zdCBpbnN0YW5jZVRlc3RGYWN0b3J5ID0gWwor
ICBbCisgICAgIkVtcHR5IG1vZHVsZSB3aXRob3V0IGltcG9ydHMgYXJndW1lbnQiLAorICAgIGZ1
bmN0aW9uKCkgeworICAgICAgcmV0dXJuIHsKKyAgICAgICAgYnVmZmVyOiBlbXB0eU1vZHVsZUJp
bmFyeSwKKyAgICAgICAgYXJnczogW10sCisgICAgICAgIGV4cG9ydHM6IHt9LAorICAgICAgICB2
ZXJpZnk6ICgpID0+IHt9LAorICAgICAgfTsKKyAgICB9CisgIF0sCisKKyAgWworICAgICJFbXB0
eSBtb2R1bGUgd2l0aCB1bmRlZmluZWQgaW1wb3J0cyBhcmd1bWVudCIsCisgICAgZnVuY3Rpb24o
KSB7CisgICAgICByZXR1cm4geworICAgICAgICBidWZmZXI6IGVtcHR5TW9kdWxlQmluYXJ5LAor
ICAgICAgICBhcmdzOiBbdW5kZWZpbmVkXSwKKyAgICAgICAgZXhwb3J0czoge30sCisgICAgICAg
IHZlcmlmeTogKCkgPT4ge30sCisgICAgICB9OworICAgIH0KKyAgXSwKKworICBbCisgICAgIkVt
cHR5IG1vZHVsZSB3aXRoIGVtcHR5IGltcG9ydHMgYXJndW1lbnQiLAorICAgIGZ1bmN0aW9uKCkg
eworICAgICAgcmV0dXJuIHsKKyAgICAgICAgYnVmZmVyOiBlbXB0eU1vZHVsZUJpbmFyeSwKKyAg
ICAgICAgYXJnczogW3t9XSwKKyAgICAgICAgZXhwb3J0czoge30sCisgICAgICAgIHZlcmlmeTog
KCkgPT4ge30sCisgICAgICB9OworICAgIH0KKyAgXSwKKworICBbCisgICAgImdldHRlciBvcmRl
ciBmb3IgaW1wb3J0cyBvYmplY3QiLAorICAgIGZ1bmN0aW9uKCkgeworICAgICAgY29uc3QgYnVp
bGRlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpOworICAgICAgYnVpbGRlci5hZGRJbXBvcnRl
ZEdsb2JhbCgibW9kdWxlIiwgImdsb2JhbDEiLCBrV2FzbUkzMik7CisgICAgICBidWlsZGVyLmFk
ZEltcG9ydGVkR2xvYmFsKCJtb2R1bGUyIiwgImdsb2JhbDMiLCBrV2FzbUkzMik7CisgICAgICBi
dWlsZGVyLmFkZEltcG9ydGVkTWVtb3J5KCJtb2R1bGUiLCAibWVtb3J5IiwgMCwgMTI4KTsKKyAg
ICAgIGJ1aWxkZXIuYWRkSW1wb3J0ZWRHbG9iYWwoIm1vZHVsZSIsICJnbG9iYWwyIiwga1dhc21J
MzIpOworICAgICAgY29uc3QgYnVmZmVyID0gYnVpbGRlci50b0J1ZmZlcigpOworICAgICAgY29u
c3Qgb3JkZXIgPSBbXTsKKworICAgICAgY29uc3QgaW1wb3J0cyA9IHsKKyAgICAgICAgZ2V0IG1v
ZHVsZSgpIHsKKyAgICAgICAgICBvcmRlci5wdXNoKCJtb2R1bGUgZ2V0dGVyIik7CisgICAgICAg
ICAgcmV0dXJuIHsKKyAgICAgICAgICAgIGdldCBnbG9iYWwxKCkgeworICAgICAgICAgICAgICBv
cmRlci5wdXNoKCJnbG9iYWwxIGdldHRlciIpOworICAgICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICBnZXQgZ2xvYmFsMigpIHsKKyAgICAgICAgICAgICAg
b3JkZXIucHVzaCgiZ2xvYmFsMiBnZXR0ZXIiKTsKKyAgICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgZ2V0IG1lbW9yeSgpIHsKKyAgICAgICAgICAgICAg
b3JkZXIucHVzaCgibWVtb3J5IGdldHRlciIpOworICAgICAgICAgICAgICByZXR1cm4gbmV3IFdl
YkFzc2VtYmx5Lk1lbW9yeSh7ICJpbml0aWFsIjogNjQsIG1heGltdW06IDEyOCB9KTsKKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICBnZXQgbW9kdWxlMigp
IHsKKyAgICAgICAgICBvcmRlci5wdXNoKCJtb2R1bGUyIGdldHRlciIpOworICAgICAgICAgIHJl
dHVybiB7CisgICAgICAgICAgICBnZXQgZ2xvYmFsMygpIHsKKyAgICAgICAgICAgICAgb3JkZXIu
cHVzaCgiZ2xvYmFsMyBnZXR0ZXIiKTsKKyAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
ICAgICB9LAorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgIH07CisKKyAgICAgIGNvbnN0
IGV4cGVjdGVkID0gWworICAgICAgICAibW9kdWxlIGdldHRlciIsCisgICAgICAgICJnbG9iYWwx
IGdldHRlciIsCisgICAgICAgICJtb2R1bGUyIGdldHRlciIsCisgICAgICAgICJnbG9iYWwzIGdl
dHRlciIsCisgICAgICAgICJtb2R1bGUgZ2V0dGVyIiwKKyAgICAgICAgIm1lbW9yeSBnZXR0ZXIi
LAorICAgICAgICAibW9kdWxlIGdldHRlciIsCisgICAgICAgICJnbG9iYWwyIGdldHRlciIsCisg
ICAgICBdOworICAgICAgcmV0dXJuIHsKKyAgICAgICAgYnVmZmVyLAorICAgICAgICBhcmdzOiBb
aW1wb3J0c10sCisgICAgICAgIGV4cG9ydHM6IHt9LAorICAgICAgICB2ZXJpZnk6ICgpID0+IGFz
c2VydF9hcnJheV9lcXVhbHMob3JkZXIsIGV4cGVjdGVkKSwKKyAgICAgIH07CisgICAgfQorICBd
LAorCisgIFsKKyAgICAiaW1wb3J0cyIsCisgICAgZnVuY3Rpb24oKSB7CisgICAgICBjb25zdCBi
dWlsZGVyID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7CisKKyAgICAgIGJ1aWxkZXIuYWRkSW1w
b3J0KCJtb2R1bGUiLCAiZm4iLCBrU2lnX3Zfdik7CisgICAgICBidWlsZGVyLmFkZEltcG9ydGVk
R2xvYmFsKCJtb2R1bGUiLCAiZ2xvYmFsIiwga1dhc21JMzIpOworICAgICAgYnVpbGRlci5hZGRJ
bXBvcnRlZE1lbW9yeSgibW9kdWxlIiwgIm1lbW9yeSIsIDAsIDEyOCk7CisgICAgICBidWlsZGVy
LmFkZEltcG9ydGVkVGFibGUoIm1vZHVsZSIsICJ0YWJsZSIsIDAsIDEyOCk7CisKKyAgICAgIGNv
bnN0IGJ1ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKKyAgICAgIGNvbnN0IGltcG9ydHMgPSB7
CisgICAgICAgICJtb2R1bGUiOiB7CisgICAgICAgICAgImZuIjogZnVuY3Rpb24oKSB7fSwKKyAg
ICAgICAgICAiZ2xvYmFsIjogMCwKKyAgICAgICAgICAibWVtb3J5IjogbmV3IFdlYkFzc2VtYmx5
Lk1lbW9yeSh7ICJpbml0aWFsIjogNjQsIG1heGltdW06IDEyOCB9KSwKKyAgICAgICAgICAidGFi
bGUiOiBuZXcgV2ViQXNzZW1ibHkuVGFibGUoeyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRp
YWwiOiA2NCwgbWF4aW11bTogMTI4IH0pLAorICAgICAgICB9LAorICAgICAgICBnZXQgIm1vZHVs
ZTIiKCkgeworICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIlNob3VsZCBub3QgZ2V0IG1vZHVs
ZXMgdGhhdCBhcmUgbm90IGltcG9ydGVkIik7CisgICAgICAgIH0sCisgICAgICB9OworCisgICAg
ICByZXR1cm4geworICAgICAgICBidWZmZXIsCisgICAgICAgIGFyZ3M6IFtpbXBvcnRzXSwKKyAg
ICAgICAgZXhwb3J0czoge30sCisgICAgICAgIHZlcmlmeTogKCkgPT4ge30sCisgICAgICB9Owor
ICAgIH0KKyAgXSwKKworICBbCisgICAgIk5vIGltcG9ydHMiLAorICAgIGZ1bmN0aW9uKCkgewor
ICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpOworCisgICAgICBi
dWlsZGVyCisgICAgICAgIC5hZGRGdW5jdGlvbigiZm4iLCBrU2lnX3ZfZCkKKyAgICAgICAgLmFk
ZEJvZHkoW10pCisgICAgICAgIC5leHBvcnRGdW5jKCk7CisgICAgICBidWlsZGVyCisgICAgICAg
IC5hZGRGdW5jdGlvbigiZm4yIiwga1NpZ192X3YpCisgICAgICAgIC5hZGRCb2R5KFtdKQorICAg
ICAgICAuZXhwb3J0RnVuYygpOworCisgICAgICBidWlsZGVyLnNldFRhYmxlQm91bmRzKDEpOwor
ICAgICAgYnVpbGRlci5hZGRFeHBvcnRPZktpbmQoInRhYmxlIiwga0V4dGVybmFsVGFibGUsIDAp
OworCisgICAgICBidWlsZGVyLmFkZEdsb2JhbChrV2FzbUkzMiwgdHJ1ZSkKKyAgICAgICAgLmV4
cG9ydEFzKCJnbG9iYWwiKQorICAgICAgICAuaW5pdCA9IDc7CisgICAgICBidWlsZGVyLmFkZEds
b2JhbChrV2FzbUY2NCwgdHJ1ZSkKKyAgICAgICAgLmV4cG9ydEFzKCJnbG9iYWwyIikKKyAgICAg
ICAgLmluaXQgPSAxLjI7CisKKyAgICAgIGJ1aWxkZXIuYWRkTWVtb3J5KDQsIDgsIHRydWUpOwor
CisgICAgICBjb25zdCBidWZmZXIgPSBidWlsZGVyLnRvQnVmZmVyKCk7CisKKyAgICAgIGNvbnN0
IGV4cG9ydHMgPSB7CisgICAgICAgICJmbiI6IHsgImtpbmQiOiAiZnVuY3Rpb24iLCAibmFtZSI6
ICIwIiwgImxlbmd0aCI6IDEgfSwKKyAgICAgICAgImZuMiI6IHsgImtpbmQiOiAiZnVuY3Rpb24i
LCAibmFtZSI6ICIxIiwgImxlbmd0aCI6IDAgfSwKKyAgICAgICAgInRhYmxlIjogeyAia2luZCI6
ICJ0YWJsZSIsICJsZW5ndGgiOiAxIH0sCisgICAgICAgICJnbG9iYWwiOiB7ICJraW5kIjogImds
b2JhbCIsICJ2YWx1ZSI6IDcgfSwKKyAgICAgICAgImdsb2JhbDIiOiB7ICJraW5kIjogImdsb2Jh
bCIsICJ2YWx1ZSI6IDEuMiB9LAorICAgICAgICAibWVtb3J5IjogeyAia2luZCI6ICJtZW1vcnki
LCAic2l6ZSI6IDQgfSwKKyAgICAgIH07CisKKyAgICAgIHJldHVybiB7CisgICAgICAgIGJ1ZmZl
ciwKKyAgICAgICAgYXJnczogW10sCisgICAgICAgIGV4cG9ydHMsCisgICAgICAgIHZlcmlmeTog
KCkgPT4ge30sCisgICAgICB9OworICAgIH0KKyAgXSwKKworICBbCisgICAgImV4cG9ydHMgYW5k
IGltcG9ydHMiLAorICAgIGZ1bmN0aW9uKCkgeworICAgICAgY29uc3QgdmFsdWUgPSAxMDI7CisK
KyAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKKworICAgICAg
Y29uc3QgaW5kZXggPSBidWlsZGVyLmFkZEltcG9ydGVkR2xvYmFsKCJtb2R1bGUiLCAiZ2xvYmFs
Iiwga1dhc21JMzIpOworICAgICAgYnVpbGRlcgorICAgICAgICAuYWRkRnVuY3Rpb24oImZuIiwg
a1NpZ19pX3YpCisgICAgICAgIC5hZGRCb2R5KFsKKyAgICAgICAgICAgIGtFeHByR2xvYmFsR2V0
LAorICAgICAgICAgICAgaW5kZXgsCisgICAgICAgICAgICBrRXhwclJldHVybiwKKyAgICAgICAg
XSkKKyAgICAgICAgLmV4cG9ydEZ1bmMoKTsKKworICAgICAgY29uc3QgYnVmZmVyID0gYnVpbGRl
ci50b0J1ZmZlcigpOworCisgICAgICBjb25zdCBpbXBvcnRzID0geworICAgICAgICAibW9kdWxl
IjogeworICAgICAgICAgICJnbG9iYWwiOiB2YWx1ZSwKKyAgICAgICAgfSwKKyAgICAgIH07CisK
KyAgICAgIGNvbnN0IGV4cG9ydHMgPSB7CisgICAgICAgICJmbiI6IHsgImtpbmQiOiAiZnVuY3Rp
b24iLCAibmFtZSI6ICIwIiwgImxlbmd0aCI6IDAgfSwKKyAgICAgIH07CisKKyAgICAgIHJldHVy
biB7CisgICAgICAgIGJ1ZmZlciwKKyAgICAgICAgYXJnczogW2ltcG9ydHNdLAorICAgICAgICBl
eHBvcnRzLAorICAgICAgICB2ZXJpZnk6IGluc3RhbmNlID0+IGFzc2VydF9lcXVhbHMoaW5zdGFu
Y2UuZXhwb3J0cy5mbigpLCB2YWx1ZSkKKyAgICAgIH07CisgICAgfQorICBdLAorCisgIFsKKyAg
ICAic3RyYXkgYXJndW1lbnQiLAorICAgIGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIHsKKyAg
ICAgICAgYnVmZmVyOiBlbXB0eU1vZHVsZUJpbmFyeSwKKyAgICAgICAgYXJnczogW3t9LCB7fV0s
CisgICAgICAgIGV4cG9ydHM6IHt9LAorICAgICAgICB2ZXJpZnk6ICgpID0+IHt9CisgICAgICB9
OworICAgIH0KKyAgXSwKK107CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNlLmFueS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
aW50ZXJmYWNlLmFueS1leHBlY3RlZC50eHQKaW5kZXggZGM4OTJkN2E3YTAwMWU1MDM3MjE5Y2Mz
Zjk1MTM3NzQ3NzZkYTJmMC4uMjI5ZmYyZTBiOGIwODRiNjljYzA1MGI5NzgwMWFjNzU2NzNhYWNj
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2ludGVyZmFjZS5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55
LWV4cGVjdGVkLnR4dApAQCAtMzUsNTUgKzM1LDM3IEBAIFBBU1MgV2ViQXNzZW1ibHkuY29tcGls
ZTogbGVuZ3RoCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlIAogUEFTUyBXZWJBc3NlbWJs
eS5pbnN0YW50aWF0ZTogbmFtZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGU6IGxlbmd0
aCAKLUZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlLmV4cG9ydHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVu
Y3Rpb24gZXhwb3J0cygpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IgorUEFTUyBXZWJBc3NlbWJs
eS5Nb2R1bGUuZXhwb3J0cyAKIFBBU1MgV2ViQXNzZW1ibHkuTW9kdWxlLmV4cG9ydHM6IG5hbWUg
CiBQQVNTIFdlYkFzc2VtYmx5Lk1vZHVsZS5leHBvcnRzOiBsZW5ndGggCi1GQUlMIFdlYkFzc2Vt
Ymx5Lk1vZHVsZS5pbXBvcnRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVu
ZGVmaW5lZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9uIGltcG9ydHMoKSB7
Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuTW9kdWxlLmltcG9ydHMg
CiBQQVNTIFdlYkFzc2VtYmx5Lk1vZHVsZS5pbXBvcnRzOiBuYW1lIAogUEFTUyBXZWJBc3NlbWJs
eS5Nb2R1bGUuaW1wb3J0czogbGVuZ3RoIAotRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9t
U2VjdGlvbnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1
dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gY3VzdG9tU2VjdGlvbnMoKSB7Ci0g
ICAgW25hdGl2ZSBjb2RlXQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuTW9kdWxlLmN1c3RvbVNlY3Rp
b25zIAogUEFTUyBXZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnM6IG5hbWUgCiBQQVNT
IFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9uczogbGVuZ3RoIAogUEFTUyBXZWJBc3Nl
bWJseS5JbnN0YW5jZS5leHBvcnRzIAogUEFTUyBXZWJBc3NlbWJseS5JbnN0YW5jZS5leHBvcnRz
OiBnZXR0ZXIgCiBQQVNTIFdlYkFzc2VtYmx5Lkluc3RhbmNlLmV4cG9ydHM6IHNldHRlciAKLUZB
SUwgV2ViQXNzZW1ibHkuTWVtb3J5Lmdyb3cgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gZ3Jv
dygpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IgorUEFTUyBXZWJBc3NlbWJseS5NZW1vcnkuZ3Jv
dyAKIFBBU1MgV2ViQXNzZW1ibHkuTWVtb3J5Lmdyb3c6IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5
Lk1lbW9yeS5ncm93OiBsZW5ndGggCiBQQVNTIFdlYkFzc2VtYmx5Lk1lbW9yeS5idWZmZXIgCiBQ
QVNTIFdlYkFzc2VtYmx5Lk1lbW9yeS5idWZmZXI6IGdldHRlciAKIFBBU1MgV2ViQXNzZW1ibHku
TWVtb3J5LmJ1ZmZlcjogc2V0dGVyIAotRkFJTCBXZWJBc3NlbWJseS5UYWJsZS5ncm93IGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlv
bikgZnVuY3Rpb24gImZ1bmN0aW9uIGdyb3coKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIKK1BB
U1MgV2ViQXNzZW1ibHkuVGFibGUuZ3JvdyAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUuZ3Jvdzog
bmFtZSAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUuZ3JvdzogbGVuZ3RoIAotRkFJTCBXZWJBc3Nl
bWJseS5UYWJsZS5nZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gZ2V0KCkgewotICAgIFtu
YXRpdmUgY29kZV0KLX0iCitQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLmdldCAKIFBBU1MgV2ViQXNz
ZW1ibHkuVGFibGUuZ2V0OiBuYW1lIAogUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5nZXQ6IGxlbmd0
aCAKLUZBSUwgV2ViQXNzZW1ibHkuVGFibGUuc2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1
bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9u
IHNldCgpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IgorUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5z
ZXQgCiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLnNldDogbmFtZSAKIFBBU1MgV2ViQXNzZW1ibHku
VGFibGUuc2V0OiBsZW5ndGggCiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLmxlbmd0aCAKIFBBU1Mg
V2ViQXNzZW1ibHkuVGFibGUubGVuZ3RoOiBnZXR0ZXIgCiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxl
Lmxlbmd0aDogc2V0dGVyIAotRkFJTCBXZWJBc3NlbWJseS5HbG9iYWwudmFsdWVPZiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gdmFsdWVPZigpIHsKLSAgICBbbmF0
aXZlIGNvZGVdCi19IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiB2YWx1ZU9mKCkgewotICAg
IFtuYXRpdmUgY29kZV0KLX0iCitQQVNTIFdlYkFzc2VtYmx5Lkdsb2JhbC52YWx1ZU9mIAogUEFT
UyBXZWJBc3NlbWJseS5HbG9iYWwudmFsdWVPZjogbmFtZSAKIFBBU1MgV2ViQXNzZW1ibHkuR2xv
YmFsLnZhbHVlT2Y6IGxlbmd0aCAKIFBBU1MgV2ViQXNzZW1ibHkuR2xvYmFsLnZhbHVlIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2ludGVyZmFjZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNlLmFueS5qcwppbmRleCA1ZDc2YWM1NmVj
NWZhZmRlOGRkZTM5MjRkZjg2M2EyNjk0YmQ2NjkxLi44ODk0MGJlNTFhN2Y1NzI3YzI3ZTE2N2Q5
ZTEwYWJiYWViMDRhMDZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNlLmFueS5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNl
LmFueS5qcwpAQCAtOSw3ICs5LDcgQEAgZnVuY3Rpb24gdGVzdF9vcGVyYXRpb25zKG9iamVjdCwg
b2JqZWN0X25hbWUsIG9wZXJhdGlvbnMpIHsKICAgICAgIGFzc2VydF90cnVlKHByb3BkZXNjLndy
aXRhYmxlLCAid3JpdGFibGUiKTsKICAgICAgIGFzc2VydF90cnVlKHByb3BkZXNjLmVudW1lcmFi
bGUsICJlbnVtZXJhYmxlIik7CiAgICAgICBhc3NlcnRfdHJ1ZShwcm9wZGVzYy5jb25maWd1cmFi
bGUsICJjb25maWd1cmFibGUiKTsKLSAgICAgIGFzc2VydF9lcXVhbHMocHJvcGRlc2MudmFsdWUs
IFdlYkFzc2VtYmx5W25hbWVdKTsKKyAgICAgIGFzc2VydF9lcXVhbHMocHJvcGRlc2MudmFsdWUs
IG9iamVjdFtuYW1lXSk7CiAgICAgfSwgYCR7b2JqZWN0X25hbWV9LiR7bmFtZX1gKTsKIAogICAg
IHRlc3QoKCkgPT4gewpAQCAtNjMsMTEgKzYzLDExIEBAIHRlc3QoKCkgPT4gewogfSwgIldlYkFz
c2VtYmx5OiBwcm9wZXJ0eSBkZXNjcmlwdG9yIik7CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gV2ViQXNzZW1ibHkoKSk7CisgIGFzc2VydF90
aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBXZWJBc3NlbWJseSgpKTsKIH0sICJXZWJBc3NlbWJs
eTogY2FsbGluZyIpOwogCiB0ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseSgpKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBl
RXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseSgpKTsKIH0sICJXZWJBc3NlbWJseTogY29uc3Ry
dWN0aW5nIik7CiAKIGNvbnN0IGludGVyZmFjZXMgPSBbCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2ludGVyZmFjZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCBkYzg5MmQ3YTdhMDAxZTUwMzcyMTljYzNmOTUxMzc3NDc3NmRhMmYwLi4yMjlmZjJlMGI4
YjA4NGI2OWNjMDUwYjk3ODAxYWM3NTY3M2FhY2MyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNlLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
QEAgLTM1LDU1ICszNSwzNyBAQCBQQVNTIFdlYkFzc2VtYmx5LmNvbXBpbGU6IGxlbmd0aAogUEFT
UyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGU6
IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlOiBsZW5ndGggCi1GQUlMIFdlYkFz
c2VtYmx5Lk1vZHVsZS5leHBvcnRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQp
IHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9uIGV4cG9ydHMo
KSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuTW9kdWxlLmV4cG9y
dHMgCiBQQVNTIFdlYkFzc2VtYmx5Lk1vZHVsZS5leHBvcnRzOiBuYW1lIAogUEFTUyBXZWJBc3Nl
bWJseS5Nb2R1bGUuZXhwb3J0czogbGVuZ3RoIAotRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGUuaW1w
b3J0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdv
dCAoZnVuY3Rpb24pIGZ1bmN0aW9uICJmdW5jdGlvbiBpbXBvcnRzKCkgewotICAgIFtuYXRpdmUg
Y29kZV0KLX0iCitQQVNTIFdlYkFzc2VtYmx5Lk1vZHVsZS5pbXBvcnRzIAogUEFTUyBXZWJBc3Nl
bWJseS5Nb2R1bGUuaW1wb3J0czogbmFtZSAKIFBBU1MgV2ViQXNzZW1ibHkuTW9kdWxlLmltcG9y
dHM6IGxlbmd0aCAKLUZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlLmN1c3RvbVNlY3Rpb25zIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlv
bikgZnVuY3Rpb24gImZ1bmN0aW9uIGN1c3RvbVNlY3Rpb25zKCkgewotICAgIFtuYXRpdmUgY29k
ZV0KLX0iCitQQVNTIFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9ucyAKIFBBU1MgV2Vi
QXNzZW1ibHkuTW9kdWxlLmN1c3RvbVNlY3Rpb25zOiBuYW1lIAogUEFTUyBXZWJBc3NlbWJseS5N
b2R1bGUuY3VzdG9tU2VjdGlvbnM6IGxlbmd0aCAKIFBBU1MgV2ViQXNzZW1ibHkuSW5zdGFuY2Uu
ZXhwb3J0cyAKIFBBU1MgV2ViQXNzZW1ibHkuSW5zdGFuY2UuZXhwb3J0czogZ2V0dGVyIAogUEFT
UyBXZWJBc3NlbWJseS5JbnN0YW5jZS5leHBvcnRzOiBzZXR0ZXIgCi1GQUlMIFdlYkFzc2VtYmx5
Lk1lbW9yeS5ncm93IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5l
ZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9uIGdyb3coKSB7Ci0gICAgW25h
dGl2ZSBjb2RlXQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuTWVtb3J5Lmdyb3cgCiBQQVNTIFdlYkFz
c2VtYmx5Lk1lbW9yeS5ncm93OiBuYW1lIAogUEFTUyBXZWJBc3NlbWJseS5NZW1vcnkuZ3Jvdzog
bGVuZ3RoIAogUEFTUyBXZWJBc3NlbWJseS5NZW1vcnkuYnVmZmVyIAogUEFTUyBXZWJBc3NlbWJs
eS5NZW1vcnkuYnVmZmVyOiBnZXR0ZXIgCiBQQVNTIFdlYkFzc2VtYmx5Lk1lbW9yeS5idWZmZXI6
IHNldHRlciAKLUZBSUwgV2ViQXNzZW1ibHkuVGFibGUuZ3JvdyBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoZnVuY3Rpb24pIGZ1bmN0aW9uICJm
dW5jdGlvbiBncm93KCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0iCitQQVNTIFdlYkFzc2VtYmx5
LlRhYmxlLmdyb3cgCiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLmdyb3c6IG5hbWUgCiBQQVNTIFdl
YkFzc2VtYmx5LlRhYmxlLmdyb3c6IGxlbmd0aCAKLUZBSUwgV2ViQXNzZW1ibHkuVGFibGUuZ2V0
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChm
dW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9uIGdldCgpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19
IgorUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5nZXQgCiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLmdl
dDogbmFtZSAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUuZ2V0OiBsZW5ndGggCi1GQUlMIFdlYkFz
c2VtYmx5LlRhYmxlLnNldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQgYnV0IGdvdCAoZnVuY3Rpb24pIGZ1bmN0aW9uICJmdW5jdGlvbiBzZXQoKSB7Ci0gICAg
W25hdGl2ZSBjb2RlXQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuVGFibGUuc2V0IAogUEFTUyBXZWJB
c3NlbWJseS5UYWJsZS5zZXQ6IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLnNldDogbGVu
Z3RoIAogUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5sZW5ndGggCiBQQVNTIFdlYkFzc2VtYmx5LlRh
YmxlLmxlbmd0aDogZ2V0dGVyIAogUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5sZW5ndGg6IHNldHRl
ciAKLUZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsLnZhbHVlT2YgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIHZhbHVlT2YoKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIg
YnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gdmFsdWVPZigpIHsKLSAgICBbbmF0aXZlIGNvZGVd
Ci19IgorUEFTUyBXZWJBc3NlbWJseS5HbG9iYWwudmFsdWVPZiAKIFBBU1MgV2ViQXNzZW1ibHku
R2xvYmFsLnZhbHVlT2Y6IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5Lkdsb2JhbC52YWx1ZU9mOiBs
ZW5ndGggCiBQQVNTIFdlYkFzc2VtYmx5Lkdsb2JhbC52YWx1ZSAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkv
YnVmZmVyLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2J1ZmZlci5hbnktZXhwZWN0ZWQudHh0Cmlu
ZGV4IDY3MGYyODExZjI2OWQyMmFlOWMzZDM3Mzg3N2JmZjQ5ZDFjZWYyNjUuLmQ0NWY2Zjg0ODUw
NWIxNmM0ZjRkYTk0MGQwOTNiM2JjZTlmNGVjMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvYnVmZmVyLmFu
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9idWZmZXIuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDYgQEAKIAogUEFTUyBCcmFuZGluZyAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiBQQVNTIFNl
dHRpbmcgKHNsb3BweSBtb2RlKSAKIFBBU1MgU2V0dGluZyAoc3RyaWN0IG1vZGUpIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvbWVtb3J5L2J1ZmZlci5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2J1ZmZlci5hbnkuanMKaW5kZXggYjA0
NDYwYjZjNWU1NmNmMWZlOTkwZTMxMDdhYTllZmNiNDk2NGVkNS4uYTgzNWU2NTExYTBhNmM1M2Mz
NmEwZmZkODE0M2Y0YTFhNzM4OGVjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9idWZmZXIuYW55LmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9tZW1vcnkvYnVmZmVyLmFueS5qcwpAQCAtMjIsMTAgKzIyLDI0IEBAIHRlc3QoKCkgPT4gewog
ICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZXNjLnNldCwgInVuZGVmaW5lZCIpOwogCiAgIGZvciAo
Y29uc3QgdGhpc1ZhbHVlIG9mIHRoaXNWYWx1ZXMpIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgKCkgPT4gZ2V0dGVyLmNhbGwodGhpc1ZhbHVlKSwgYHRoaXM9JHtmb3JtYXRf
dmFsdWUodGhpc1ZhbHVlKX1gKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkg
PT4gZ2V0dGVyLmNhbGwodGhpc1ZhbHVlKSwgYHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVl
KX1gKTsKICAgfQogfSwgIkJyYW5kaW5nIik7CiAKK3Rlc3QoKCkgPT4geworICBjb25zdCBhcmd1
bWVudCA9IHsgImluaXRpYWwiOiAwIH07CisgIGNvbnN0IG1lbW9yeSA9IG5ldyBXZWJBc3NlbWJs
eS5NZW1vcnkoYXJndW1lbnQpOworICBjb25zdCBidWZmZXIgPSBtZW1vcnkuYnVmZmVyOworCisg
IGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFdlYkFzc2VtYmx5
Lk1lbW9yeS5wcm90b3R5cGUsICJidWZmZXIiKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVz
YywgIm9iamVjdCIpOworCisgIGNvbnN0IGdldHRlciA9IGRlc2MuZ2V0OworICBhc3NlcnRfZXF1
YWxzKHR5cGVvZiBnZXR0ZXIsICJmdW5jdGlvbiIpOworCisgIGFzc2VydF9lcXVhbHMoZ2V0dGVy
LmNhbGwobWVtb3J5LCB7fSksIGJ1ZmZlcik7Cit9LCAiU3RyYXkgYXJndW1lbnQiKTsKKwogdGVz
dCgoKSA9PiB7CiAgIGNvbnN0IGFyZ3VtZW50ID0geyAiaW5pdGlhbCI6IDAgfTsKICAgY29uc3Qg
bWVtb3J5ID0gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeShhcmd1bWVudCk7CkBAIC00Miw3ICs1Niw3
IEBAIHRlc3QoKCkgPT4gewogICBjb25zdCBtZW1vcnkyID0gbmV3IFdlYkFzc2VtYmx5Lk1lbW9y
eShhcmd1bWVudCk7CiAgIGNvbnN0IGJ1ZmZlciA9IG1lbW9yeS5idWZmZXI7CiAgIGFzc2VydF9u
b3RfZXF1YWxzKGJ1ZmZlciwgbWVtb3J5Mi5idWZmZXIsICJOZWVkIHR3byBkaXN0aW5jdCBidWZm
ZXJzIik7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7CisgIGFzc2Vy
dF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7CiAgICAgInVzZSBzdHJpY3QiOwogICAgIG1l
bW9yeS5idWZmZXIgPSBtZW1vcnkyLmJ1ZmZlcjsKICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2J1
ZmZlci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvYnVmZmVyLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDY3MGYyODExZjI2OWQyMmFlOWMzZDM3Mzg3N2JmZjQ5ZDFjZWYyNjUu
LmQ0NWY2Zjg0ODUwNWIxNmM0ZjRkYTk0MGQwOTNiM2JjZTlmNGVjMTQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1v
cnkvYnVmZmVyLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvYnVmZmVyLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNiBAQAogCiBQQVNTIEJyYW5kaW5nIAorUEFT
UyBTdHJheSBhcmd1bWVudCAKIFBBU1MgU2V0dGluZyAoc2xvcHB5IG1vZGUpIAogUEFTUyBTZXR0
aW5nIChzdHJpY3QgbW9kZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvY29uc3RydWN0b3IuYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9tZW1vcnkvY29uc3RydWN0b3IuYW55LWV4cGVjdGVkLnR4dAppbmRleCAwNzRh
MmU2YmQwODBhYzAwZGY0MGM1MTA1YmU2ZWVlOTIzMzFlMjM3Li4xNThhNmFlODkzNDdmMjgyMmM4
ZTc4NmIyZjYyMjNmNTU0NWZhZWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2NvbnN0cnVjdG9yLmFueS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0CkBAIC0x
Nyw4ICsxNywxMyBAQCBQQVNTIE91dC1vZi1yYW5nZSBpbml0aWFsIHZhbHVlIGluIGRlc2NyaXB0
b3I6IDQyOTQ5NjcyOTYKIFBBU1MgT3V0LW9mLXJhbmdlIG1heGltdW0gdmFsdWUgaW4gZGVzY3Jp
cHRvcjogNDI5NDk2NzI5NiAKIFBBU1MgT3V0LW9mLXJhbmdlIGluaXRpYWwgdmFsdWUgaW4gZGVz
Y3JpcHRvcjogNjg3MTk0NzY3MzYgCiBQQVNTIE91dC1vZi1yYW5nZSBtYXhpbXVtIHZhbHVlIGlu
IGRlc2NyaXB0b3I6IDY4NzE5NDc2NzM2IAorUEFTUyBJbml0aWFsIHZhbHVlIGV4Y2VlZHMgbWF4
aW11bSAKK0ZBSUwgU2hhcmVkIG1lbW9yeSB3aXRob3V0IG1heGltdW0gYXNzZXJ0X3Rocm93c19q
czogZnVuY3Rpb24gIigpID0+IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoeyAiaW5pdGlhbCI6IDEw
LCAic2hhcmVkIjogdHJ1ZSB9KSIgZGlkIG5vdCB0aHJvdwogUEFTUyBQcm94eSBkZXNjcmlwdG9y
IAogUEFTUyBPcmRlciBvZiBldmFsdWF0aW9uIGZvciBkZXNjcmlwdG9yIAorRkFJTCBPcmRlciBv
ZiBldmFsdWF0aW9uIGZvciBkZXNjcmlwdG9yICh3aXRoIHNoYXJlZCkgYXNzZXJ0X2FycmF5X2Vx
dWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDUgZ290IDQKIFBBU1MgWmVybyBpbml0aWFs
IAogUEFTUyBOb24temVybyBpbml0aWFsIAorRkFJTCBTdHJheSBhcmd1bWVudCBXZWJBc3NlbWJs
eS5NZW1vcnkgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudAorRkFJTCBTaGFyZWQgbWVtb3J5
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdidWZmZXJUeXBlLnByb3Rv
dHlwZScpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvY29uc3RydWN0b3IuYW55LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9jb25z
dHJ1Y3Rvci5hbnkuanMKaW5kZXggZjk5MDdjYTYxMDRkOGVjNzY4NjFlNDNiNmI5ODEwNDJkODZm
Yjg2NS4uMDNlZWQ1MjcwODMxYjUwNGU2YWIyMWJjYzhlZTM2ZmRmZDA1MDMwNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L21lbW9yeS9jb25zdHJ1Y3Rvci5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9jb25zdHJ1Y3Rvci5hbnkuanMK
QEAgLTgsMTUgKzgsMTggQEAgZnVuY3Rpb24gYXNzZXJ0X01lbW9yeShtZW1vcnksIGV4cGVjdGVk
KSB7CiAKICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL1dlYkFzc2VtYmx5L3NwZWMvaXNzdWVzLzg0
MAogICBhc3NlcnRfZXF1YWxzKG1lbW9yeS5idWZmZXIsIG1lbW9yeS5idWZmZXIsICJidWZmZXIg
c2hvdWxkIGJlIGlkZW1wb3RlbnQiKTsKLSAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90
eXBlT2YobWVtb3J5LmJ1ZmZlciksIEFycmF5QnVmZmVyLnByb3RvdHlwZSwKLSAgICAgICAgICAg
ICAgICAicHJvdG90eXBlIG9mIGJ1ZmZlciIpOwotICBhc3NlcnRfdHJ1ZShPYmplY3QuaXNFeHRl
bnNpYmxlKG1lbW9yeS5idWZmZXIpLCAiYnVmZmVyIGV4dGVuc2liaWxpdHkiKTsKKyAgY29uc3Qg
aXNTaGFyZWQgPSAhIWV4cGVjdGVkLnNoYXJlZDsKKyAgY29uc3QgYnVmZmVyVHlwZSA9IGlzU2hh
cmVkID8gc2VsZi5TaGFyZWRBcnJheUJ1ZmZlciA6IEFycmF5QnVmZmVyOworICBhc3NlcnRfZXF1
YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihtZW1vcnkuYnVmZmVyKSwgYnVmZmVyVHlwZS5wcm90
b3R5cGUsCisgICAgICAgICAgICAgICAgJ3Byb3RvdHlwZSBvZiBidWZmZXInKTsKICAgYXNzZXJ0
X2VxdWFscyhtZW1vcnkuYnVmZmVyLmJ5dGVMZW5ndGgsIDB4MTAwMDAgKiBleHBlY3RlZC5zaXpl
LCAic2l6ZSBvZiBidWZmZXIiKTsKICAgaWYgKGV4cGVjdGVkLnNpemUgPiAwKSB7CiAgICAgY29u
c3QgYXJyYXkgPSBuZXcgVWludDhBcnJheShtZW1vcnkuYnVmZmVyKTsKICAgICBhc3NlcnRfZXF1
YWxzKGFycmF5WzBdLCAwLCAiZmlyc3QgZWxlbWVudCBvZiBidWZmZXIiKTsKICAgICBhc3NlcnRf
ZXF1YWxzKGFycmF5W2FycmF5LmJ5dGVMZW5ndGggLSAxXSwgMCwgImxhc3QgZWxlbWVudCBvZiBi
dWZmZXIiKTsKICAgfQorICBhc3NlcnRfZXF1YWxzKGlzU2hhcmVkLCBPYmplY3QuaXNGcm96ZW4o
bWVtb3J5LmJ1ZmZlciksICJidWZmZXIgZnJvemVuIik7CisgIGFzc2VydF9ub3RfZXF1YWxzKE9i
amVjdC5pc0V4dGVuc2libGUobWVtb3J5LmJ1ZmZlciksIGlzU2hhcmVkLCAiYnVmZmVyIGV4dGVu
c2liaWxpdHkiKTsKIH0KIAogdGVzdCgoKSA9PiB7CkBAIC0yOCwxMiArMzEsMTIgQEAgdGVzdCgo
KSA9PiB7CiB9LCAibGVuZ3RoIik7CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSgpKTsKKyAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoKSk7CiB9
LCAiTm8gYXJndW1lbnRzIik7CiAKIHRlc3QoKCkgPT4gewogICBjb25zdCBhcmd1bWVudCA9IHsg
ImluaXRpYWwiOiAwIH07Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBX
ZWJBc3NlbWJseS5NZW1vcnkoYXJndW1lbnQpKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsICgpID0+IFdlYkFzc2VtYmx5Lk1lbW9yeShhcmd1bWVudCkpOwogfSwgIkNhbGxpbmciKTsK
IAogdGVzdCgoKSA9PiB7CkBAIC01MCwxNCArNTMsMTQgQEAgdGVzdCgoKSA9PiB7CiAgICAge30s
CiAgIF07CiAgIGZvciAoY29uc3QgaW52YWxpZEFyZ3VtZW50IG9mIGludmFsaWRBcmd1bWVudHMp
IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwKLSAgICAgICAgICAgICAgICAg
ICgpID0+IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoaW52YWxpZEFyZ3VtZW50KSwKLSAgICAgICAg
ICAgICAgICAgIGBuZXcgTWVtb3J5KCR7Zm9ybWF0X3ZhbHVlKGludmFsaWRBcmd1bWVudCl9KWAp
OworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAg
KCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeShpbnZhbGlkQXJndW1lbnQpLAorICAgICAgICAg
ICAgICAgICAgICAgYG5ldyBNZW1vcnkoJHtmb3JtYXRfdmFsdWUoaW52YWxpZEFyZ3VtZW50KX0p
YCk7CiAgIH0KIH0sICJJbnZhbGlkIGRlc2NyaXB0b3IgYXJndW1lbnQiKTsKIAogdGVzdCgoKSA9
PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1i
bHkuTWVtb3J5KHsgImluaXRpYWwiOiB1bmRlZmluZWQgfSkpOworICBhc3NlcnRfdGhyb3dzX2pz
KFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7ICJpbml0aWFsIjogdW5k
ZWZpbmVkIH0pKTsKIH0sICJVbmRlZmluZWQgaW5pdGlhbCB2YWx1ZSBpbiBkZXNjcmlwdG9yIik7
CiAKIGNvbnN0IG91dE9mUmFuZ2VWYWx1ZXMgPSBbCkBAIC03MSwxNCArNzQsMjIgQEAgY29uc3Qg
b3V0T2ZSYW5nZVZhbHVlcyA9IFsKIAogZm9yIChjb25zdCB2YWx1ZSBvZiBvdXRPZlJhbmdlVmFs
dWVzKSB7CiAgIHRlc3QoKCkgPT4gewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHsgImluaXRpYWwiOiB2YWx1ZSB9KSk7Cisg
ICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseS5NZW1v
cnkoeyAiaW5pdGlhbCI6IHZhbHVlIH0pKTsKICAgfSwgYE91dC1vZi1yYW5nZSBpbml0aWFsIHZh
bHVlIGluIGRlc2NyaXB0b3I6ICR7Zm9ybWF0X3ZhbHVlKHZhbHVlKX1gKTsKIAogICB0ZXN0KCgp
ID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gbmV3IFdlYkFz
c2VtYmx5Lk1lbW9yeSh7ICJpbml0aWFsIjogMCwgIm1heGltdW0iOiB2YWx1ZSB9KSk7CisgICAg
YXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseS5NZW1vcnko
eyAiaW5pdGlhbCI6IDAsICJtYXhpbXVtIjogdmFsdWUgfSkpOwogICB9LCBgT3V0LW9mLXJhbmdl
IG1heGltdW0gdmFsdWUgaW4gZGVzY3JpcHRvcjogJHtmb3JtYXRfdmFsdWUodmFsdWUpfWApOwog
fQogCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X3Rocm93c19qcyhSYW5nZUVycm9yLCAoKSA9PiBu
ZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHsgImluaXRpYWwiOiAxMCwgIm1heGltdW0iOiA5IH0pKTsK
K30sICJJbml0aWFsIHZhbHVlIGV4Y2VlZHMgbWF4aW11bSIpOworCit0ZXN0KCgpID0+IHsKKyAg
YXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseS5NZW1vcnko
eyAiaW5pdGlhbCI6IDEwLCAic2hhcmVkIjogdHJ1ZSB9KSk7Cit9LCAiU2hhcmVkIG1lbW9yeSB3
aXRob3V0IG1heGltdW0iKTsKKwogdGVzdCgoKSA9PiB7CiAgIGNvbnN0IHByb3h5ID0gbmV3IFBy
b3h5KHt9LCB7CiAgICAgaGFzKG8sIHgpIHsKQEAgLTEyNCw2ICsxMzUsNDcgQEAgdGVzdCgoKSA9
PiB7CiAgIF0pOwogfSwgIk9yZGVyIG9mIGV2YWx1YXRpb24gZm9yIGRlc2NyaXB0b3IiKTsKIAor
dGVzdCh0ID0+IHsKKyAgY29uc3Qgb3JkZXIgPSBbXTsKKworICBuZXcgV2ViQXNzZW1ibHkuTWVt
b3J5KHsKKyAgICBnZXQgbWF4aW11bSgpIHsKKyAgICAgIG9yZGVyLnB1c2goIm1heGltdW0iKTsK
KyAgICAgIHJldHVybiB7CisgICAgICAgIHZhbHVlT2YoKSB7CisgICAgICAgICAgb3JkZXIucHVz
aCgibWF4aW11bSB2YWx1ZU9mIik7CisgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0sCisg
ICAgICB9OworICAgIH0sCisKKyAgICBnZXQgaW5pdGlhbCgpIHsKKyAgICAgIG9yZGVyLnB1c2go
ImluaXRpYWwiKTsKKyAgICAgIHJldHVybiB7CisgICAgICAgIHZhbHVlT2YoKSB7CisgICAgICAg
ICAgb3JkZXIucHVzaCgiaW5pdGlhbCB2YWx1ZU9mIik7CisgICAgICAgICAgcmV0dXJuIDE7Cisg
ICAgICAgIH0sCisgICAgICB9OworICAgIH0sCisKKyAgICBnZXQgc2hhcmVkKCkgeworICAgICAg
b3JkZXIucHVzaCgic2hhcmVkIik7CisgICAgICByZXR1cm4geworICAgICAgICB2YWx1ZU9mOiB0
LnVucmVhY2hlZF9mdW5jKCJzaG91bGQgbm90IGNhbGwgc2hhcmVkIHZhbHVlT2YiKSwKKyAgICAg
IH07CisgICAgfSwKKyAgfSk7CisKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhvcmRlciwgWworICAg
ICJpbml0aWFsIiwKKyAgICAiaW5pdGlhbCB2YWx1ZU9mIiwKKyAgICAibWF4aW11bSIsCisgICAg
Im1heGltdW0gdmFsdWVPZiIsCisgICAgInNoYXJlZCIsCisgIF0pOworfSwgIk9yZGVyIG9mIGV2
YWx1YXRpb24gZm9yIGRlc2NyaXB0b3IgKHdpdGggc2hhcmVkKSIpOworCiB0ZXN0KCgpID0+IHsK
ICAgY29uc3QgYXJndW1lbnQgPSB7ICJpbml0aWFsIjogMCB9OwogICBjb25zdCBtZW1vcnkgPSBu
ZXcgV2ViQXNzZW1ibHkuTWVtb3J5KGFyZ3VtZW50KTsKQEAgLTEzNSwzICsxODcsMTUgQEAgdGVz
dCgoKSA9PiB7CiAgIGNvbnN0IG1lbW9yeSA9IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoYXJndW1l
bnQpOwogICBhc3NlcnRfTWVtb3J5KG1lbW9yeSwgeyAic2l6ZSI6IDQgfSk7CiB9LCAiTm9uLXpl
cm8gaW5pdGlhbCIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgYXJndW1lbnQgPSB7ICJpbml0
aWFsIjogMCB9OworICBjb25zdCBtZW1vcnkgPSBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KGFyZ3Vt
ZW50LCB7fSk7CisgIGFzc2VydF9NZW1vcnkobWVtb3J5LCB7ICJzaXplIjogMCB9KTsKK30sICJT
dHJheSBhcmd1bWVudCIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgYXJndW1lbnQgPSB7ICJp
bml0aWFsIjogNCwgIm1heGltdW0iOiAxMCwgc2hhcmVkOiB0cnVlIH07CisgIGNvbnN0IG1lbW9y
eSA9IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoYXJndW1lbnQpOworICBhc3NlcnRfTWVtb3J5KG1l
bW9yeSwgeyAic2l6ZSI6IDQsICJzaGFyZWQiOiB0cnVlIH0pOworfSwgIlNoYXJlZCBtZW1vcnki
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9tZW1vcnkvY29uc3RydWN0b3IuYW55Lndvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
bWVtb3J5L2NvbnN0cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDA3NGEyZTZi
ZDA4MGFjMDBkZjQwYzUxMDViZTZlZWU5MjMzMWUyMzcuLjE1OGE2YWU4OTM0N2YyODIyYzhlNzg2
YjJmNjIyM2Y1NTQ1ZmFlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvY29uc3RydWN0b3IuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMTcsOCArMTcsMTMgQEAgUEFTUyBPdXQtb2YtcmFuZ2UgaW5pdGlhbCB2YWx1ZSBp
biBkZXNjcmlwdG9yOiA0Mjk0OTY3Mjk2CiBQQVNTIE91dC1vZi1yYW5nZSBtYXhpbXVtIHZhbHVl
IGluIGRlc2NyaXB0b3I6IDQyOTQ5NjcyOTYgCiBQQVNTIE91dC1vZi1yYW5nZSBpbml0aWFsIHZh
bHVlIGluIGRlc2NyaXB0b3I6IDY4NzE5NDc2NzM2IAogUEFTUyBPdXQtb2YtcmFuZ2UgbWF4aW11
bSB2YWx1ZSBpbiBkZXNjcmlwdG9yOiA2ODcxOTQ3NjczNiAKK1BBU1MgSW5pdGlhbCB2YWx1ZSBl
eGNlZWRzIG1heGltdW0gCitGQUlMIFNoYXJlZCBtZW1vcnkgd2l0aG91dCBtYXhpbXVtIGFzc2Vy
dF90aHJvd3NfanM6IGZ1bmN0aW9uICIoKSA9PiBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHsgImlu
aXRpYWwiOiAxMCwgInNoYXJlZCI6IHRydWUgfSkiIGRpZCBub3QgdGhyb3cKIFBBU1MgUHJveHkg
ZGVzY3JpcHRvciAKIFBBU1MgT3JkZXIgb2YgZXZhbHVhdGlvbiBmb3IgZGVzY3JpcHRvciAKK0ZB
SUwgT3JkZXIgb2YgZXZhbHVhdGlvbiBmb3IgZGVzY3JpcHRvciAod2l0aCBzaGFyZWQpIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CiBQQVNTIFpl
cm8gaW5pdGlhbCAKIFBBU1MgTm9uLXplcm8gaW5pdGlhbCAKK0ZBSUwgU3RyYXkgYXJndW1lbnQg
V2ViQXNzZW1ibHkuTWVtb3J5IGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQKK0ZBSUwgU2hh
cmVkIG1lbW9yeSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnYnVmZmVy
VHlwZS5wcm90b3R5cGUnKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2dyb3cuYW55LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9tZW1vcnkvZ3Jvdy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDMzNDg5YjY0OWM5Y2QyYWQ3ODY4
ZjJmMjc5ZWM5NWZhODFlNjdjNzUuLmJlOTFiYTMzZjM3OWY5OTQ3MjkyODZhMTUzZGEzZjA0MjIz
MDg5YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvZ3Jvdy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkv
Z3Jvdy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xNiw0ICsxNiw2IEBAIFBBU1MgT3V0LW9mLXJhbmdl
IGFyZ3VtZW50OiA0Mjk0OTY3Mjk2CiBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVudDogNjg3MTk0
NzY3MzYgCiBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVudDogIjB4MTAwMDAwMDAwIiAKIFBBU1Mg
T3V0LW9mLXJhbmdlIGFyZ3VtZW50OiBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgCitQQVNTIFN0
cmF5IGFyZ3VtZW50IAorRkFJTCBHcm93aW5nIHNoYXJlZCBtZW1vcnkgZG9lcyBub3QgZGV0YWNo
IG9sZCBidWZmZXIgYXNzZXJ0X2VxdWFsczogQnVmZmVyIGJlZm9yZSBncm93aW5nOiBjb25zdHJ1
Y3RvciBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9ncm93
LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9tZW1vcnkvZ3Jvdy5hbnkuanMKaW5kZXggOTUzMDAzOTlmMTkyYjdlYWI3MGRkOGYw
N2M0M2Y0ZGIzN2VlYmUwMS4uMGNlYThiNGIxYTYzM2YxZjZkYTkyMzEzMzJlMzk0YjdmY2Q3NjE5
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL21lbW9yeS9ncm93LmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2dyb3cuYW55LmpzCkBA
IC0xLDEwICsxLDE0IEBACiAvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAogCi1mdW5jdGlvbiBhc3Nl
cnRfQXJyYXlCdWZmZXIoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworZnVuY3Rpb24gYXNz
ZXJ0X0FycmF5QnVmZmVyKGFjdHVhbCwgeyBzaXplPTAsIHNoYXJlZD1mYWxzZSwgZGV0YWNoZWQ9
ZmFsc2UgfSwgbWVzc2FnZSkgewogICAvLyBodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1ibHkv
c3BlYy9pc3N1ZXMvODQwCi0gIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFj
dHVhbCksIEFycmF5QnVmZmVyLnByb3RvdHlwZSwKLSAgICAgICAgICAgICAgICBgJHttZXNzYWdl
fTogcHJvdG90eXBlYCk7Ci0gIGlmIChleHBlY3RlZC5kZXRhY2hlZCkgeworICAvLyBTZWUgaHR0
cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL2lzc3Vlcy81MzgwIGZvciB3aHkgbm90IGBzZWxm
LlNoYXJlZEFycmF5QnVmZmVyYAorICBjb25zdCBpc1NoYXJlZCA9ICEoImlzVmlldyIgaW4gYWN0
dWFsLmNvbnN0cnVjdG9yKTsKKyAgYXNzZXJ0X2VxdWFscyhpc1NoYXJlZCwgc2hhcmVkLCBgJHtt
ZXNzYWdlfTogY29uc3RydWN0b3JgKTsKKyAgY29uc3Qgc2hhcmVkU3RyaW5nID0gc2hhcmVkID8g
IlNoYXJlZCIgOiAiIjsKKyAgYXNzZXJ0X2VxdWFscyhhY3R1YWwudG9TdHJpbmcoKSwgYFtvYmpl
Y3QgJHtzaGFyZWRTdHJpbmd9QXJyYXlCdWZmZXJdYCwgYCR7bWVzc2FnZX06IHRvU3RyaW5nKClg
KTsKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoYWN0dWFsKS50b1N0cmlu
ZygpLCBgW29iamVjdCAke3NoYXJlZFN0cmluZ31BcnJheUJ1ZmZlcl1gLCBgJHttZXNzYWdlfTog
cHJvdG90eXBlIHRvU3RyaW5nKClgKTsKKyAgaWYgKGRldGFjaGVkKSB7CiAgICAgLy8gaHR0cHM6
Ly9naXRodWIuY29tL3RjMzkvZWNtYTI2Mi9pc3N1ZXMvNjc4CiAgICAgbGV0IGJ5dGVMZW5ndGg7
CiAgICAgdHJ5IHsKQEAgLTE0LDggKzE4LDggQEAgZnVuY3Rpb24gYXNzZXJ0X0FycmF5QnVmZmVy
KGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKICAgICB9CiAgICAgYXNzZXJ0X2VxdWFscyhi
eXRlTGVuZ3RoLCAwLCBgJHttZXNzYWdlfTogZGV0YWNoZWQgc2l6ZWApOwogICB9IGVsc2Ugewot
ICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsLmJ5dGVMZW5ndGgsIDB4MTAwMDAgKiBleHBlY3RlZC5z
aXplLCBgJHttZXNzYWdlfTogc2l6ZWApOwotICAgIGlmIChleHBlY3RlZC5zaXplID4gMCkgewor
ICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsLmJ5dGVMZW5ndGgsIDB4MTAwMDAgKiBzaXplLCBgJHtt
ZXNzYWdlfTogc2l6ZWApOworICAgIGlmIChzaXplID4gMCkgewogICAgICAgY29uc3QgYXJyYXkg
PSBuZXcgVWludDhBcnJheShhY3R1YWwpOwogICAgICAgYXNzZXJ0X2VxdWFscyhhcnJheVswXSwg
MCwgYCR7bWVzc2FnZX06IGZpcnN0IGVsZW1lbnRgKTsKICAgICAgIGFzc2VydF9lcXVhbHMoYXJy
YXlbYXJyYXkuYnl0ZUxlbmd0aCAtIDFdLCAwLCBgJHttZXNzYWdlfTogbGFzdCBlbGVtZW50YCk7
CkBAIC0yNiw3ICszMCw3IEBAIGZ1bmN0aW9uIGFzc2VydF9BcnJheUJ1ZmZlcihhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CiB0ZXN0KCgpID0+IHsKICAgY29uc3QgYXJndW1lbnQgPSB7ICJp
bml0aWFsIjogMCB9OwogICBjb25zdCBtZW1vcnkgPSBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KGFy
Z3VtZW50KTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IG1lbW9yeS5n
cm93KCkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbWVtb3J5Lmdyb3co
KSk7CiB9LCAiTWlzc2luZyBhcmd1bWVudHMiKTsKIAogdGVzdCh0ID0+IHsKQEAgLTUwLDcgKzU0
LDcgQEAgdGVzdCh0ID0+IHsKICAgY29uc3QgZm4gPSBXZWJBc3NlbWJseS5NZW1vcnkucHJvdG90
eXBlLmdyb3c7CiAKICAgZm9yIChjb25zdCB0aGlzVmFsdWUgb2YgdGhpc1ZhbHVlcykgewotICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBmbi5jYWxsKHRoaXNWYWx1ZSwg
YXJndW1lbnQpLCBgdGhpcz0ke2Zvcm1hdF92YWx1ZSh0aGlzVmFsdWUpfWApOworICAgIGFzc2Vy
dF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBmbi5jYWxsKHRoaXNWYWx1ZSwgYXJndW1lbnQp
LCBgdGhpcz0ke2Zvcm1hdF92YWx1ZSh0aGlzVmFsdWUpfWApOwogICB9CiB9LCAiQnJhbmRpbmci
KTsKIApAQCAtMTQ0LDcgKzE0OCw3IEBAIHRlc3QoKCkgPT4gewogICBjb25zdCBvbGRNZW1vcnkg
PSBtZW1vcnkuYnVmZmVyOwogICBhc3NlcnRfQXJyYXlCdWZmZXIob2xkTWVtb3J5LCB7ICJzaXpl
IjogMSB9LCAiQnVmZmVyIGJlZm9yZSBncm93aW5nIik7CiAKLSAgYXNzZXJ0X3Rocm93cyhuZXcg
UmFuZ2VFcnJvcigpLCAoKSA9PiBtZW1vcnkuZ3JvdygyKSk7CisgIGFzc2VydF90aHJvd3NfanMo
UmFuZ2VFcnJvciwgKCkgPT4gbWVtb3J5Lmdyb3coMikpOwogICBhc3NlcnRfZXF1YWxzKG1lbW9y
eS5idWZmZXIsIG9sZE1lbW9yeSk7CiAgIGFzc2VydF9BcnJheUJ1ZmZlcihtZW1vcnkuYnVmZmVy
LCB7ICJzaXplIjogMSB9LCAiQnVmZmVyIGJlZm9yZSB0cnlpbmcgdG8gZ3JvdyIpOwogfSwgIlpl
cm8gaW5pdGlhbCBncm93aW5nIHRvbyBtdWNoIik7CkBAIC0xNjUsNiArMTY5LDQ3IEBAIGZvciAo
Y29uc3QgdmFsdWUgb2Ygb3V0T2ZSYW5nZVZhbHVlcykgewogICB0ZXN0KCgpID0+IHsKICAgICBj
b25zdCBhcmd1bWVudCA9IHsgImluaXRpYWwiOiAwIH07CiAgICAgY29uc3QgbWVtb3J5ID0gbmV3
IFdlYkFzc2VtYmx5Lk1lbW9yeShhcmd1bWVudCk7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksICgpID0+IG1lbW9yeS5ncm93KHZhbHVlKSk7CisgICAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsICgpID0+IG1lbW9yeS5ncm93KHZhbHVlKSk7CiAgIH0sIGBPdXQtb2YtcmFu
Z2UgYXJndW1lbnQ6ICR7Zm9ybWF0X3ZhbHVlKHZhbHVlKX1gKTsKIH0KKwordGVzdCgoKSA9PiB7
CisgIGNvbnN0IGFyZ3VtZW50ID0geyAiaW5pdGlhbCI6IDAgfTsKKyAgY29uc3QgbWVtb3J5ID0g
bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeShhcmd1bWVudCk7CisgIGNvbnN0IG9sZE1lbW9yeSA9IG1l
bW9yeS5idWZmZXI7CisgIGFzc2VydF9BcnJheUJ1ZmZlcihvbGRNZW1vcnksIHsgInNpemUiOiAw
IH0sICJCdWZmZXIgYmVmb3JlIGdyb3dpbmciKTsKKworICBjb25zdCByZXN1bHQgPSBtZW1vcnku
Z3JvdygyLCB7fSk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAwKTsKKworICBjb25zdCBuZXdN
ZW1vcnkgPSBtZW1vcnkuYnVmZmVyOworICBhc3NlcnRfbm90X2VxdWFscyhvbGRNZW1vcnksIG5l
d01lbW9yeSk7CisgIGFzc2VydF9BcnJheUJ1ZmZlcihvbGRNZW1vcnksIHsgImRldGFjaGVkIjog
dHJ1ZSB9LCAiT2xkIGJ1ZmZlciBhZnRlciBncm93aW5nIik7CisgIGFzc2VydF9BcnJheUJ1ZmZl
cihuZXdNZW1vcnksIHsgInNpemUiOiAyIH0sICJOZXcgYnVmZmVyIGFmdGVyIGdyb3dpbmciKTsK
K30sICJTdHJheSBhcmd1bWVudCIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgYXJndW1lbnQg
PSB7ICJpbml0aWFsIjogMSwgIm1heGltdW0iOiAyLCAic2hhcmVkIjogdHJ1ZSB9OworICBjb25z
dCBtZW1vcnkgPSBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KGFyZ3VtZW50KTsKKyAgY29uc3Qgb2xk
TWVtb3J5ID0gbWVtb3J5LmJ1ZmZlcjsKKyAgYXNzZXJ0X0FycmF5QnVmZmVyKG9sZE1lbW9yeSwg
eyAic2l6ZSI6IDEsICJzaGFyZWQiOiB0cnVlIH0sICJCdWZmZXIgYmVmb3JlIGdyb3dpbmciKTsK
KworICBjb25zdCByZXN1bHQgPSBtZW1vcnkuZ3JvdygxKTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1
bHQsIDEpOworCisgIGNvbnN0IG5ld01lbW9yeSA9IG1lbW9yeS5idWZmZXI7CisgIGFzc2VydF9u
b3RfZXF1YWxzKG9sZE1lbW9yeSwgbmV3TWVtb3J5KTsKKyAgYXNzZXJ0X0FycmF5QnVmZmVyKG9s
ZE1lbW9yeSwgeyAic2l6ZSI6IDEsICJzaGFyZWQiOiB0cnVlIH0sICJPbGQgYnVmZmVyIGFmdGVy
IGdyb3dpbmciKTsKKyAgYXNzZXJ0X0FycmF5QnVmZmVyKG5ld01lbW9yeSwgeyAic2l6ZSI6IDIs
ICJzaGFyZWQiOiB0cnVlIH0sICJOZXcgYnVmZmVyIGFmdGVyIGdyb3dpbmciKTsKKworICAvLyBU
aGUgb2xkIGFuZCBuZXcgYnVmZmVycyBtdXN0IGhhdmUgdGhlIHNhbWUgdmFsdWUgZm9yIHRoZQor
ICAvLyBbW0FycmF5QnVmZmVyRGF0YV1dIGludGVybmFsIHNsb3QuCisgIGNvbnN0IG9sZEFycmF5
ID0gbmV3IFVpbnQ4QXJyYXkob2xkTWVtb3J5KTsKKyAgY29uc3QgbmV3QXJyYXkgPSBuZXcgVWlu
dDhBcnJheShuZXdNZW1vcnkpOworICBhc3NlcnRfZXF1YWxzKG9sZEFycmF5WzBdLCAwLCAib2xk
IGZpcnN0IGVsZW1lbnQiKTsKKyAgYXNzZXJ0X2VxdWFscyhuZXdBcnJheVswXSwgMCwgIm5ldyBm
aXJzdCBlbGVtZW50Iik7CisgIG9sZEFycmF5WzBdID0gMTsKKyAgYXNzZXJ0X2VxdWFscyhvbGRB
cnJheVswXSwgMSwgIm9sZCBmaXJzdCBlbGVtZW50Iik7CisgIGFzc2VydF9lcXVhbHMobmV3QXJy
YXlbMF0sIDEsICJuZXcgZmlyc3QgZWxlbWVudCIpOworCit9LCAiR3Jvd2luZyBzaGFyZWQgbWVt
b3J5IGRvZXMgbm90IGRldGFjaCBvbGQgYnVmZmVyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2dyb3cu
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2dyb3cuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKaW5kZXggMzM0ODliNjQ5YzljZDJhZDc4NjhmMmYyNzllYzk1ZmE4MWU2N2M3NS4uYmU5MWJh
MzNmMzc5Zjk5NDcyOTI4NmExNTNkYTNmMDQyMjMwODliOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9ncm93
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvZ3Jvdy5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMTYsNCArMTYsNiBAQCBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVudDogNDI5
NDk2NzI5NgogUEFTUyBPdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IDY4NzE5NDc2NzM2IAogUEFTUyBP
dXQtb2YtcmFuZ2UgYXJndW1lbnQ6ICIweDEwMDAwMDAwMCIgCiBQQVNTIE91dC1vZi1yYW5nZSBh
cmd1bWVudDogb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iIAorUEFTUyBTdHJheSBhcmd1bWVudCAK
K0ZBSUwgR3Jvd2luZyBzaGFyZWQgbWVtb3J5IGRvZXMgbm90IGRldGFjaCBvbGQgYnVmZmVyIGFz
c2VydF9lcXVhbHM6IEJ1ZmZlciBiZWZvcmUgZ3Jvd2luZzogY29uc3RydWN0b3IgZXhwZWN0ZWQg
dHJ1ZSBidXQgZ290IGZhbHNlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvdG9TdHJpbmcuYW55LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9tZW1vcnkvdG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dAppbmRleCA2NWU0NDQwYzgw
N2FhMDFlYWMxNmNmNjhkYmE3YzhmNjAxYWRjMTdhLi5kMjBmM2I1YzFiMWEyNmMwZjc5Y2FkNzJk
NDRiNGI5ZTkzMDY4MzM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L3RvU3RyaW5nLmFueS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL21lbW9yeS90b1N0cmluZy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAog
CiBQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgb24gYW4gTWVtb3J5IAorRkFJTCBAQHRv
U3RyaW5nVGFnIGV4aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRl
c2NyaXB0b3IgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJT
eW1ib2woU3ltYm9sLnRvU3RyaW5nVGFnKSIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L3Rv
U3RyaW5nLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9tZW1vcnkvdG9TdHJpbmcuYW55LmpzCmluZGV4IDRlMTVkNzVlYTIwZjFl
YmZlYmE1ZGM3YzhhOWE1MmMyNTNkZDAxYmYuLmJiOTA4MWQxODYxN2UxYWY3MjQyNGVhNzAwZDMw
ZTVjYjBlZmQ5OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvdG9TdHJpbmcuYW55LmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkv
dG9TdHJpbmcuYW55LmpzCkBAIC01LDMgKzUsMTMgQEAgdGVzdCgoKSA9PiB7CiAgIGNvbnN0IG1l
bW9yeSA9IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoYXJndW1lbnQpOwogICBhc3NlcnRfY2xhc3Nf
c3RyaW5nKG1lbW9yeSwgIldlYkFzc2VtYmx5Lk1lbW9yeSIpOwogfSwgIk9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcgb24gYW4gTWVtb3J5Iik7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfb3du
X3Byb3BlcnR5KFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1Rh
Zyk7CisKKyAgY29uc3QgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZyk7CisgIGFz
c2VydF9lcXVhbHMocHJvcERlc2MudmFsdWUsICJXZWJBc3NlbWJseS5NZW1vcnkiLCAidmFsdWUi
KTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5jb25maWd1cmFibGUsIHRydWUsICJjb25maWd1
cmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5lbnVtZXJhYmxlLCBmYWxzZSwgImVu
dW1lcmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy53cml0YWJsZSwgZmFsc2UsICJ3
cml0YWJsZSIpOworfSwgIkBAdG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5cGUgd2l0
aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS90b1N0cmlu
Zy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvdG9TdHJpbmcuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggNjVlNDQ0MGM4MDdhYTAxZWFjMTZjZjY4ZGJhN2M4ZjYwMWFkYzE3YS4u
ZDIwZjNiNWMxYjFhMjZjMGY3OWNhZDcyZDQ0YjRiOWU5MzA2ODMzNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9y
eS90b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L3RvU3RyaW5nLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcgb24gYW4gTWVtb3J5IAorRkFJTCBAQHRvU3RyaW5nVGFnIGV4aXN0cyBv
biB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3IgYXNzZXJ0X293
bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJTeW1ib2woU3ltYm9sLnRvU3Ry
aW5nVGFnKSIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2NvbnN0cnVjdG9yLmFueS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvbW9kdWxlL2NvbnN0cnVjdG9yLmFueS1leHBlY3RlZC50eHQKaW5kZXggNmQxMjIz
NzJiNzczYzQ4MTllMDM3MmUzNzBlMTMwMzBhYTNiNDU3MS4uN2ZjNWY3MDdiZDZkNmUxZmE1ZWNj
MjEyMDlhZTdlMmExNDQ3MmU1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jb25zdHJ1Y3Rvci5hbnktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55LWV4cGVjdGVkLnR4dApAQCAtNSw2
ICs1LDggQEAgUEFTUyBObyBhcmd1bWVudHMKIFBBU1MgQ2FsbGluZyAKIFBBU1MgSW52YWxpZCBh
cmd1bWVudHMgCiBQQVNTIEVtcHR5IGJ1ZmZlciAKK1BBU1MgSW52YWxpZCBjb2RlIAogUEFTUyBQ
cm90b3R5cGUgCiBQQVNTIEV4dGVuc2liaWxpdHkgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvbW9kdWxlL2NvbnN0cnVjdG9yLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55
LmpzCmluZGV4IDMyZjE4M2ZhYzg3MzhkMzBjYzhhNDMyNzY4ZGEzMTU5NDkzMjAyNTcuLmFjNGNk
ZTJlMzE3ZTVlY2IxODdhOTY0ZjRmNTJmNmE3ZGM3NmRkOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY29u
c3RydWN0b3IuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55LmpzCkBAIC0xLDUgKzEs
NCBAQAogLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKLS8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2Fw
aS93YXNtLWNvbnN0YW50cy5qcwogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9k
dWxlLWJ1aWxkZXIuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9hc3NlcnRpb25zLmpz
CiAKQEAgLTE3LDExICsxNiwxMSBAQCB0ZXN0KCgpID0+IHsKIH0sICJsZW5ndGgiKTsKIAogdGVz
dCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2Vi
QXNzZW1ibHkuTW9kdWxlKCkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4g
bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZSgpKTsKIH0sICJObyBhcmd1bWVudHMiKTsKIAogdGVzdCgo
KSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBXZWJBc3NlbWJs
eS5Nb2R1bGUoZW1wdHlNb2R1bGVCaW5hcnkpKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJpbmFyeSkpOwogfSwgIkNh
bGxpbmciKTsKIAogdGVzdCgoKSA9PiB7CkBAIC0zOSwxNiArMzgsMjEgQEAgdGVzdCgoKSA9PiB7
CiAgICAgQXJyYXkuZnJvbShlbXB0eU1vZHVsZUJpbmFyeSksCiAgIF07CiAgIGZvciAoY29uc3Qg
YXJndW1lbnQgb2YgaW52YWxpZEFyZ3VtZW50cykgewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGFyZ3VtZW50KSwKLSAgICAg
ICAgICAgICAgICAgIGBuZXcgTW9kdWxlKCR7Zm9ybWF0X3ZhbHVlKGFyZ3VtZW50KX0pYCk7Cisg
ICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseS5Nb2R1
bGUoYXJndW1lbnQpLAorICAgICAgICAgICAgICAgICAgICAgYG5ldyBNb2R1bGUoJHtmb3JtYXRf
dmFsdWUoYXJndW1lbnQpfSlgKTsKICAgfQogfSwgIkludmFsaWQgYXJndW1lbnRzIik7CiAKIHRl
c3QoKCkgPT4gewogICBjb25zdCBidWZmZXIgPSBuZXcgVWludDhBcnJheSgpOwotICBhc3NlcnRf
dGhyb3dzKG5ldyBXZWJBc3NlbWJseS5Db21waWxlRXJyb3IoKSwgKCkgPT4gbmV3IFdlYkFzc2Vt
Ymx5Lk1vZHVsZShidWZmZXIpKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhXZWJBc3NlbWJseS5Db21w
aWxlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKSk7CiB9LCAiRW1w
dHkgYnVmZmVyIik7CiAKK3Rlc3QoKCkgPT4geworICBjb25zdCBidWZmZXIgPSBuZXcgVWludDhB
cnJheShBcnJheS5mcm9tKGVtcHR5TW9kdWxlQmluYXJ5KS5jb25jYXQoWzAsIDBdKSk7CisgIGFz
c2VydF90aHJvd3NfanMoV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yLCAoKSA9PiBuZXcgV2ViQXNz
ZW1ibHkuTW9kdWxlKGJ1ZmZlcikpOworfSwgIkludmFsaWQgY29kZSIpOworCiB0ZXN0KCgpID0+
IHsKICAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJp
bmFyeSk7CiAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKG1vZHVsZSksIFdl
YkFzc2VtYmx5Lk1vZHVsZS5wcm90b3R5cGUpOwpAQCAtNTgsMyArNjIsOCBAQCB0ZXN0KCgpID0+
IHsKICAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJp
bmFyeSk7CiAgIGFzc2VydF90cnVlKE9iamVjdC5pc0V4dGVuc2libGUobW9kdWxlKSk7CiB9LCAi
RXh0ZW5zaWJpbGl0eSIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgbW9kdWxlID0gbmV3IFdl
YkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJpbmFyeSwge30pOworICBhc3NlcnRfZXF1YWxz
KE9iamVjdC5nZXRQcm90b3R5cGVPZihtb2R1bGUpLCBXZWJBc3NlbWJseS5Nb2R1bGUucHJvdG90
eXBlKTsKK30sICJTdHJheSBhcmd1bWVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jb25zdHJ1Y3Rv
ci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggNmQxMjIzNzJiNzczYzQ4MTllMDM3MmUzNzBlMTMwMzBhYTNiNDU3
MS4uN2ZjNWY3MDdiZDZkNmUxZmE1ZWNjMjEyMDlhZTdlMmExNDQ3MmU1ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21v
ZHVsZS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2NvbnN0
cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsOCBAQCBQQVNTIE5vIGFy
Z3VtZW50cwogUEFTUyBDYWxsaW5nIAogUEFTUyBJbnZhbGlkIGFyZ3VtZW50cyAKIFBBU1MgRW1w
dHkgYnVmZmVyIAorUEFTUyBJbnZhbGlkIGNvZGUgCiBQQVNTIFByb3RvdHlwZSAKIFBBU1MgRXh0
ZW5zaWJpbGl0eSAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY3Vz
dG9tU2VjdGlvbnMuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY3VzdG9tU2VjdGlvbnMuYW55LWV4
cGVjdGVkLnR4dAppbmRleCA0YzhkOTFlY2FlZTRiZTc0NDg3YWRiNmM1NmQ0ZWU1YzQ3ZDYxZmM4
Li41NjdhZTFjNjMyZjcxMGU3MTYyMTRmMjlkNjg0ZDc2Y2U5YWVmMTIzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9k
dWxlL2N1c3RvbVNlY3Rpb25zLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jdXN0b21TZWN0
aW9ucy5hbnktZXhwZWN0ZWQudHh0CkBAIC02LDUgKzYsNiBAQCBQQVNTIEVtcHR5IG1vZHVsZQog
UEFTUyBFbXB0eSBtb2R1bGU6IGFycmF5IGNhY2hpbmcgCiBQQVNTIEN1c3RvbSBzZWN0aW9ucyAK
IFBBU1MgQ3VzdG9tIHNlY3Rpb25zIHdpdGggc3Vycm9nYXRlIHBhaXJzIAotRkFJTCBDdXN0b20g
c2VjdGlvbnMgd2l0aCBVK0ZGRkQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAK
K1BBU1MgQ3VzdG9tIHNlY3Rpb25zIHdpdGggVStGRkZEIAorUEFTUyBTdHJheSBhcmd1bWVudCAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL21vZHVsZS9jdXN0b21TZWN0aW9ucy5hbnkuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2N1c3RvbVNl
Y3Rpb25zLmFueS5qcwppbmRleCA1OGFjNjNiNjFjOTNhMDE1YmZhOWQ1ZGFhYjM5ZjhkNWI0ODU0
OGRhLi44YzIxNWQxN2JkMjU4MzRhZDI5ODNlODgxNzIzNzFjNGVlMWY2NWMyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
bW9kdWxlL2N1c3RvbVNlY3Rpb25zLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2N1c3RvbVNlY3Rpb25zLmFu
eS5qcwpAQCAtMSw1ICsxLDQgQEAKIC8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCi0vLyBNRVRBOiBz
Y3JpcHQ9L3dhc20vanNhcGkvd2FzbS1jb25zdGFudHMuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2Fz
bS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAKIGZ1bmN0aW9uIGFzc2VydF9BcnJheUJ1
ZmZlcihidWZmZXIsIGV4cGVjdGVkKSB7CkBAIC0yNSw5ICsyNCw5IEBAIHNldHVwKCgpID0+IHsK
IH0pOwogCiB0ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgp
ID0+IFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9ucygpKTsKKyAgYXNzZXJ0X3Rocm93
c19qcyhUeXBlRXJyb3IsICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9ucygp
KTsKICAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJp
bmFyeSk7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBXZWJBc3NlbWJs
eS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnMobW9kdWxlKSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCAoKSA9PiBXZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnMobW9kdWxlKSk7
CiB9LCAiTWlzc2luZyBhcmd1bWVudHMiKTsKIAogdGVzdCgoKSA9PiB7CkBAIC00Myw4ICs0Miw4
IEBAIHRlc3QoKCkgPT4gewogICAgIFdlYkFzc2VtYmx5Lk1vZHVsZS5wcm90b3R5cGUsCiAgIF07
CiAgIGZvciAoY29uc3QgYXJndW1lbnQgb2YgaW52YWxpZEFyZ3VtZW50cykgewotICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBXZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9t
U2VjdGlvbnMoYXJndW1lbnQsICIiKSwKLSAgICAgICAgICAgICAgICAgIGBjdXN0b21TZWN0aW9u
cygke2Zvcm1hdF92YWx1ZShhcmd1bWVudCl9KWApOworICAgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCAoKSA9PiBXZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnMoYXJndW1lbnQs
ICIiKSwKKyAgICAgICAgICAgICAgICAgICAgIGBjdXN0b21TZWN0aW9ucygke2Zvcm1hdF92YWx1
ZShhcmd1bWVudCl9KWApOwogICB9CiB9LCAiTm9uLU1vZHVsZSBhcmd1bWVudHMiKTsKIApAQCAt
ODIsMjIgKzgxLDEwIEBAIHRlc3QoKCkgPT4gewogICBjb25zdCBieXRlczEgPSBbODcsIDEwMSwg
OTgsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgsIDEyMV07CiAgIGNvbnN0IGJ5dGVz
MiA9IFs3NCwgODMsIDY1LCA4MCwgNzNdOwogCi0gIGNvbnN0IGJpbmFyeSA9IG5ldyBCaW5hcnk7
Ci0gIGJpbmFyeS5lbWl0X3NlY3Rpb24oa1Vua25vd25TZWN0aW9uQ29kZSwgc2VjdGlvbiA9PiB7
Ci0gICAgc2VjdGlvbi5lbWl0X3N0cmluZygibmFtZSIpOwotICAgIHNlY3Rpb24uZW1pdF9ieXRl
cyhieXRlczEpOwotICB9KTsKLSAgYmluYXJ5LmVtaXRfc2VjdGlvbihrVW5rbm93blNlY3Rpb25D
b2RlLCBzZWN0aW9uID0+IHsKLSAgICBzZWN0aW9uLmVtaXRfc3RyaW5nKCJuYW1lIik7Ci0gICAg
c2VjdGlvbi5lbWl0X2J5dGVzKGJ5dGVzMik7Ci0gIH0pOwotICBiaW5hcnkuZW1pdF9zZWN0aW9u
KGtVbmtub3duU2VjdGlvbkNvZGUsIHNlY3Rpb24gPT4gewotICAgIHNlY3Rpb24uZW1pdF9zdHJp
bmcoImZvbyIpOwotICAgIHNlY3Rpb24uZW1pdF9ieXRlcyhieXRlczEpOwotICB9KTsKLQogICBj
b25zdCBidWlsZGVyID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7Ci0gIGJ1aWxkZXIuYWRkRXhw
bGljaXRTZWN0aW9uKGJpbmFyeSk7CisgIGJ1aWxkZXIuYWRkQ3VzdG9tU2VjdGlvbigibmFtZSIs
IGJ5dGVzMSk7CisgIGJ1aWxkZXIuYWRkQ3VzdG9tU2VjdGlvbigibmFtZSIsIGJ5dGVzMik7Cisg
IGJ1aWxkZXIuYWRkQ3VzdG9tU2VjdGlvbigiZm9vIiwgYnl0ZXMxKTsKICAgY29uc3QgYnVmZmVy
ID0gYnVpbGRlci50b0J1ZmZlcigpCiAgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5N
b2R1bGUoYnVmZmVyKTsKIApAQCAtMTIwLDE0ICsxMDcsOCBAQCB0ZXN0KCgpID0+IHsKICAgY29u
c3QgYnl0ZXMgPSBbODcsIDEwMSwgOTgsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgs
IDEyMV07CiAgIGNvbnN0IG5hbWUgPSAieWVlXHVEODAxXHVEQzM3ZWV5IgogCi0gIGNvbnN0IGJp
bmFyeSA9IG5ldyBCaW5hcnk7Ci0gIGJpbmFyeS5lbWl0X3NlY3Rpb24oa1Vua25vd25TZWN0aW9u
Q29kZSwgc2VjdGlvbiA9PiB7Ci0gICAgc2VjdGlvbi5lbWl0X3N0cmluZyhuYW1lKTsKLSAgICBz
ZWN0aW9uLmVtaXRfYnl0ZXMoYnl0ZXMpOwotICB9KTsKLQogICBjb25zdCBidWlsZGVyID0gbmV3
IFdhc21Nb2R1bGVCdWlsZGVyKCk7Ci0gIGJ1aWxkZXIuYWRkRXhwbGljaXRTZWN0aW9uKGJpbmFy
eSk7CisgIGJ1aWxkZXIuYWRkQ3VzdG9tU2VjdGlvbihuYW1lLCBieXRlcyk7CiAgIGNvbnN0IGJ1
ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKICAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2Vt
Ymx5Lk1vZHVsZShidWZmZXIpOwogCkBAIC0xNDEsMTQgKzEyMiw4IEBAIHRlc3QoKCkgPT4gewog
dGVzdCgoKSA9PiB7CiAgIGNvbnN0IGJ5dGVzID0gWzg3LCAxMDEsIDk4LCA2NSwgMTE1LCAxMTUs
IDEwMSwgMTA5LCA5OCwgMTA4LCAxMjFdOwogCi0gIGNvbnN0IGJpbmFyeSA9IG5ldyBCaW5hcnk7
Ci0gIGJpbmFyeS5lbWl0X3NlY3Rpb24oa1Vua25vd25TZWN0aW9uQ29kZSwgc2VjdGlvbiA9PiB7
Ci0gICAgc2VjdGlvbi5lbWl0X3N0cmluZygibmFcdUZGRkRtZSIpOwotICAgIHNlY3Rpb24uZW1p
dF9ieXRlcyhieXRlcyk7Ci0gIH0pOwotCiAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVs
ZUJ1aWxkZXIoKTsKLSAgYnVpbGRlci5hZGRFeHBsaWNpdFNlY3Rpb24oYmluYXJ5KTsKKyAgYnVp
bGRlci5hZGRDdXN0b21TZWN0aW9uKCJuYVx1RkZGRG1lIiwgYnl0ZXMpOwogICBjb25zdCBidWZm
ZXIgPSBidWlsZGVyLnRvQnVmZmVyKCk7CiAgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJs
eS5Nb2R1bGUoYnVmZmVyKTsKIApAQCAtMTU2LDcgKzEzMSwxMCBAQCB0ZXN0KCgpID0+IHsKICAg
YXNzZXJ0X3NlY3Rpb25zKFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9ucyhtb2R1bGUs
ICJuYVx1RkZGRG1lIiksIFsKICAgICBieXRlcywKICAgXSk7Ci0gIGFzc2VydF9zZWN0aW9ucyhX
ZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnMobW9kdWxlLCAibmFcdURDMDFtZSIpLCBb
Ci0gICAgYnl0ZXMsCi0gIF0pOworICBhc3NlcnRfc2VjdGlvbnMoV2ViQXNzZW1ibHkuTW9kdWxl
LmN1c3RvbVNlY3Rpb25zKG1vZHVsZSwgIm5hXHVEQzAxbWUiKSwgW10pOwogfSwgIkN1c3RvbSBz
ZWN0aW9ucyB3aXRoIFUrRkZGRCIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgbW9kdWxlID0g
bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJpbmFyeSk7CisgIGFzc2VydF9zZWN0
aW9ucyhXZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnMobW9kdWxlLCAiIiwge30pLCBb
XSk7Cit9LCAiU3RyYXkgYXJndW1lbnQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY3VzdG9tU2VjdGlv
bnMuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2N1c3RvbVNlY3Rpb25zLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CmluZGV4IDRjOGQ5MWVjYWVlNGJlNzQ0ODdhZGI2YzU2ZDRlZTVjNDdk
NjFmYzguLjU2N2FlMWM2MzJmNzEwZTcxNjIxNGYyOWQ2ODRkNzZjZTlhZWYxMjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9tb2R1bGUvY3VzdG9tU2VjdGlvbnMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVs
ZS9jdXN0b21TZWN0aW9ucy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtNiw1ICs2LDYgQEAg
UEFTUyBFbXB0eSBtb2R1bGUKIFBBU1MgRW1wdHkgbW9kdWxlOiBhcnJheSBjYWNoaW5nIAogUEFT
UyBDdXN0b20gc2VjdGlvbnMgCiBQQVNTIEN1c3RvbSBzZWN0aW9ucyB3aXRoIHN1cnJvZ2F0ZSBw
YWlycyAKLUZBSUwgQ3VzdG9tIHNlY3Rpb25zIHdpdGggVStGRkZEIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEgYnV0IGdvdCAwCitQQVNTIEN1c3RvbSBzZWN0aW9ucyB3aXRoIFUrRkZGRCAKK1BB
U1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvZXhwb3J0cy5hbnktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL21vZHVsZS9leHBvcnRzLmFueS1leHBlY3RlZC50eHQKaW5kZXggZWFhZDNmZTE1MzBk
YzQ0ZmVlZDE0MDhjZGEyZDQ4MmY3NGFiMTUyMC4uOGRjMTdlOGFhZjAwZmU3ZGI5ODZmZjEyMmI1
NGZjMTJhODUyYmE3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9leHBvcnRzLmFueS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL21vZHVsZS9leHBvcnRzLmFueS1leHBlY3RlZC50eHQKQEAgLTUsNCArNSw1IEBAIFBBU1Mg
QnJhbmRpbmcKIFBBU1MgRW1wdHkgbW9kdWxlIAogUEFTUyBFbXB0eSBtb2R1bGU6IGFycmF5IGNh
Y2hpbmcgCiBQQVNTIGV4cG9ydHMgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
bW9kdWxlL2V4cG9ydHMuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9leHBvcnRzLmFueS5qcwppbmRleCBlNjNhODg1
YTRjMzRhZGQwZjY3ODdkMzY0MmRlODNkOTc2NjU2OGQxLi4xMzI5YzZhNjAyMWYyZDU5MDJmNzU5
ZTRkYTkyZDIwOTk3NGRhNzBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2V4cG9ydHMuYW55LmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9t
b2R1bGUvZXhwb3J0cy5hbnkuanMKQEAgLTEsNSArMSw0IEBACiAvLyBNRVRBOiBnbG9iYWw9anNz
aGVsbAotLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tY29uc3RhbnRzLmpzCiAvLyBN
RVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogCiBsZXQgZW1w
dHlNb2R1bGVCaW5hcnk7CkBAIC0zNiw3ICszNSw3IEBAIGZ1bmN0aW9uIGFzc2VydF9leHBvcnRz
KGV4cG9ydHMsIGV4cGVjdGVkKSB7CiB9CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gV2ViQXNzZW1ibHkuTW9kdWxlLmV4cG9ydHMoKSk7Cisg
IGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBXZWJBc3NlbWJseS5Nb2R1bGUuZXhw
b3J0cygpKTsKIH0sICJNaXNzaW5nIGFyZ3VtZW50cyIpOwogCiB0ZXN0KCgpID0+IHsKQEAgLTUy
LDggKzUxLDggQEAgdGVzdCgoKSA9PiB7CiAgICAgV2ViQXNzZW1ibHkuTW9kdWxlLnByb3RvdHlw
ZSwKICAgXTsKICAgZm9yIChjb25zdCBhcmd1bWVudCBvZiBpbnZhbGlkQXJndW1lbnRzKSB7Ci0g
ICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVs
ZS5leHBvcnRzKGFyZ3VtZW50KSwKLSAgICAgICAgICAgICAgICAgIGBleHBvcnRzKCR7Zm9ybWF0
X3ZhbHVlKGFyZ3VtZW50KX0pYCk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgp
ID0+IFdlYkFzc2VtYmx5Lk1vZHVsZS5leHBvcnRzKGFyZ3VtZW50KSwKKyAgICAgICAgICAgICAg
ICAgICAgIGBleHBvcnRzKCR7Zm9ybWF0X3ZhbHVlKGFyZ3VtZW50KX0pYCk7CiAgIH0KIH0sICJO
b24tTW9kdWxlIGFyZ3VtZW50cyIpOwogCkBAIC05MiwxOCArOTEsMTQgQEAgdGVzdCgoKSA9PiB7
CiAKICAgYnVpbGRlcgogICAgIC5hZGRGdW5jdGlvbigiZm4iLCBrU2lnX3ZfdikKLSAgICAuYWRk
Qm9keShbCi0gICAgICAgIGtFeHByRW5kCi0gICAgXSkKKyAgICAuYWRkQm9keShbXSkKICAgICAu
ZXhwb3J0RnVuYygpOwogICBidWlsZGVyCiAgICAgLmFkZEZ1bmN0aW9uKCJmbjIiLCBrU2lnX3Zf
dikKLSAgICAuYWRkQm9keShbCi0gICAgICAgIGtFeHByRW5kCi0gICAgXSkKKyAgICAuYWRkQm9k
eShbXSkKICAgICAuZXhwb3J0RnVuYygpOwogCi0gIGJ1aWxkZXIuc2V0RnVuY3Rpb25UYWJsZUxl
bmd0aCgxKTsKKyAgYnVpbGRlci5zZXRUYWJsZUJvdW5kcygxKTsKICAgYnVpbGRlci5hZGRFeHBv
cnRPZktpbmQoInRhYmxlIiwga0V4dGVybmFsVGFibGUsIDApOwogCiAgIGJ1aWxkZXIuYWRkR2xv
YmFsKGtXYXNtSTMyLCB0cnVlKQpAQCAtMTI4LDMgKzEyMyw5IEBAIHRlc3QoKCkgPT4gewogICBd
OwogICBhc3NlcnRfZXhwb3J0cyhleHBvcnRzLCBleHBlY3RlZCk7CiB9LCAiZXhwb3J0cyIpOwor
Cit0ZXN0KCgpID0+IHsKKyAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShl
bXB0eU1vZHVsZUJpbmFyeSk7CisgIGNvbnN0IGV4cG9ydHMgPSBXZWJBc3NlbWJseS5Nb2R1bGUu
ZXhwb3J0cyhtb2R1bGUsIHt9KTsKKyAgYXNzZXJ0X2V4cG9ydHMoZXhwb3J0cywgW10pOworfSwg
IlN0cmF5IGFyZ3VtZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2V4cG9ydHMuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvbW9kdWxlL2V4cG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXgg
ZWFhZDNmZTE1MzBkYzQ0ZmVlZDE0MDhjZGEyZDQ4MmY3NGFiMTUyMC4uOGRjMTdlOGFhZjAwZmU3
ZGI5ODZmZjEyMmI1NGZjMTJhODUyYmE3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9leHBvcnRzLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvZXhwb3J0cy5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtNSw0ICs1LDUgQEAgUEFTUyBCcmFuZGluZwogUEFTUyBFbXB0eSBtb2R1bGUgCiBQ
QVNTIEVtcHR5IG1vZHVsZTogYXJyYXkgY2FjaGluZyAKIFBBU1MgZXhwb3J0cyAKK1BBU1MgU3Ry
YXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvaW1wb3J0cy5hbnktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L21vZHVsZS9pbXBvcnRzLmFueS1leHBlY3RlZC50eHQKaW5kZXggNDcyM2U2MzcxYmVlNTZhYzlj
Yzg5MTVlNDU2MmY5OTU0YWEwMTQzNC4uMWE3Nzg4NjMwNTlmMjE1NzMyYTgzMGQ3MTE2YzliYThh
ZmZjMmRkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9pbXBvcnRzLmFueS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21v
ZHVsZS9pbXBvcnRzLmFueS1leHBlY3RlZC50eHQKQEAgLTYsNCArNiw1IEBAIFBBU1MgUmV0dXJu
IHR5cGUKIFBBU1MgRW1wdHkgbW9kdWxlIAogUEFTUyBFbXB0eSBtb2R1bGU6IGFycmF5IGNhY2hp
bmcgCiBQQVNTIGltcG9ydHMgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9k
dWxlL2ltcG9ydHMuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9pbXBvcnRzLmFueS5qcwppbmRleCA2NDBkYTU5MWQy
MWQ4OTI0ZDI2MWZkYzU4YjhlN2NjNzYyMTg3YTExLi45YTdkNjExNTk4NmVhMDY2YzUwNzVkMTRm
NjBkM2NiMDI3N2E3OGExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2ltcG9ydHMuYW55LmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1
bGUvaW1wb3J0cy5hbnkuanMKQEAgLTEsNSArMSw0IEBACiAvLyBNRVRBOiBnbG9iYWw9anNzaGVs
bAotLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tY29uc3RhbnRzLmpzCiAvLyBNRVRB
OiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogCiBmdW5jdGlvbiBh
c3NlcnRfTW9kdWxlSW1wb3J0RGVzY3JpcHRvcihpbXBvcnRfLCBleHBlY3RlZCkgewpAQCAtNDIs
NyArNDEsNyBAQCBzZXR1cCgoKSA9PiB7CiB9KTsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBXZWJBc3NlbWJseS5Nb2R1bGUuaW1wb3J0cygp
KTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVs
ZS5pbXBvcnRzKCkpOwogfSwgIk1pc3NpbmcgYXJndW1lbnRzIik7CiAKIHRlc3QoKCkgPT4gewpA
QCAtNTgsOCArNTcsOCBAQCB0ZXN0KCgpID0+IHsKICAgICBXZWJBc3NlbWJseS5Nb2R1bGUucHJv
dG90eXBlLAogICBdOwogICBmb3IgKGNvbnN0IGFyZ3VtZW50IG9mIGludmFsaWRBcmd1bWVudHMp
IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gV2ViQXNzZW1ibHku
TW9kdWxlLmltcG9ydHMoYXJndW1lbnQpLAotICAgICAgICAgICAgICAgICAgYGltcG9ydHMoJHtm
b3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJv
ciwgKCkgPT4gV2ViQXNzZW1ibHkuTW9kdWxlLmltcG9ydHMoYXJndW1lbnQpLAorICAgICAgICAg
ICAgICAgICAgICAgYGltcG9ydHMoJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKICAgfQog
fSwgIk5vbi1Nb2R1bGUgYXJndW1lbnRzIik7CiAKQEAgLTExOCwzICsxMTcsOSBAQCB0ZXN0KCgp
ID0+IHsKICAgXTsKICAgYXNzZXJ0X2ltcG9ydHMoaW1wb3J0cywgZXhwZWN0ZWQpOwogfSwgImlt
cG9ydHMiKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJs
eS5Nb2R1bGUoZW1wdHlNb2R1bGVCaW5hcnkpOworICBjb25zdCBpbXBvcnRzID0gV2ViQXNzZW1i
bHkuTW9kdWxlLmltcG9ydHMobW9kdWxlLCB7fSk7CisgIGFzc2VydF9pbXBvcnRzKGltcG9ydHMs
IFtdKTsKK30sICJTdHJheSBhcmd1bWVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9pbXBvcnRzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9pbXBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IDQ3MjNlNjM3MWJlZTU2YWM5Y2M4OTE1ZTQ1NjJmOTk1NGFhMDE0MzQuLjFhNzc4
ODYzMDU5ZjIxNTczMmE4MzBkNzExNmM5YmE4YWZmYzJkZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvaW1w
b3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2ltcG9ydHMuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTYsNCArNiw1IEBAIFBBU1MgUmV0dXJuIHR5cGUKIFBBU1MgRW1w
dHkgbW9kdWxlIAogUEFTUyBFbXB0eSBtb2R1bGU6IGFycmF5IGNhY2hpbmcgCiBQQVNTIGltcG9y
dHMgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL3RvU3RyaW5nLmFu
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvbW9kdWxlL3RvU3RyaW5nLmFueS1leHBlY3RlZC50eHQKaW5kZXggYjEz
ZTYxZTNjZDg1Y2I0MjllNzU5MTI4ODg4OTZmNTA5OGNhZjQwOC4uZTNmNGUwYTFiY2UzNjlmMzY4
YWE4N2I3YzFiMTE1MTY0Yzc5Njg5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS90b1N0cmluZy5hbnktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9tb2R1bGUvdG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDQgQEAKIAogUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIG9uIGFuIE1vZHVsZSAKK0ZB
SUwgQEB0b1N0cmluZ1RhZyBleGlzdHMgb24gdGhlIHByb3RvdHlwZSB3aXRoIHRoZSBhcHByb3By
aWF0ZSBkZXNjcmlwdG9yIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5IHN5
bWJvbCAiU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykiIG1pc3NpbmcKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21v
ZHVsZS90b1N0cmluZy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL3RvU3RyaW5nLmFueS5qcwppbmRleCBkOTIzMWEx
MzJjYThiZjk2NWY2OWMzY2M4MTA3MGEyZmZlMTc5ZWZhLi43ZGQ4NWExYzRhYzZlNTI1ZTFlNGMw
ZjliYWNjMzI5NWU3ZWRhN2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL3RvU3RyaW5nLmFueS5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
bW9kdWxlL3RvU3RyaW5nLmFueS5qcwpAQCAtMSw1ICsxLDQgQEAKIC8vIE1FVEE6IGdsb2JhbD1q
c3NoZWxsCi0vLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1jb25zdGFudHMuanMKIC8v
IE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAKIHRlc3Qo
KCkgPT4gewpAQCAtNywzICs2LDEzIEBAIHRlc3QoKCkgPT4gewogICBjb25zdCBtb2R1bGUgPSBu
ZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5KTsKICAgYXNzZXJ0X2NsYXNz
X3N0cmluZyhtb2R1bGUsICJXZWJBc3NlbWJseS5Nb2R1bGUiKTsKIH0sICJPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nIG9uIGFuIE1vZHVsZSIpOworCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X293
bl9wcm9wZXJ0eShXZWJBc3NlbWJseS5Nb2R1bGUucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdU
YWcpOworCisgIGNvbnN0IHByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihXZWJBc3NlbWJseS5Nb2R1bGUucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpOworICBh
c3NlcnRfZXF1YWxzKHByb3BEZXNjLnZhbHVlLCAiV2ViQXNzZW1ibHkuTW9kdWxlIiwgInZhbHVl
Iik7CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2MuY29uZmlndXJhYmxlLCB0cnVlLCAiY29uZmln
dXJhYmxlIik7CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2MuZW51bWVyYWJsZSwgZmFsc2UsICJl
bnVtZXJhYmxlIik7CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2Mud3JpdGFibGUsIGZhbHNlLCAi
d3JpdGFibGUiKTsKK30sICJAQHRvU3RyaW5nVGFnIGV4aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdp
dGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3IiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvdG9TdHJp
bmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL3RvU3RyaW5nLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IGIxM2U2MWUzY2Q4NWNiNDI5ZTc1OTEyODg4ODk2ZjUwOThjYWY0MDgu
LmUzZjRlMGExYmNlMzY5ZjM2OGFhODdiN2MxYjExNTE2NGM3OTY4OTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1
bGUvdG9TdHJpbmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS90b1N0cmluZy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIAogUEFTUyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nIG9uIGFuIE1vZHVsZSAKK0ZBSUwgQEB0b1N0cmluZ1RhZyBleGlzdHMg
b24gdGhlIHByb3RvdHlwZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBkZXNjcmlwdG9yIGFzc2VydF9v
d25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5IHN5bWJvbCAiU3ltYm9sKFN5bWJvbC50b1N0
cmluZ1RhZykiIG1pc3NpbmcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Byb3RvLWZyb20tY3Rvci1yZWFsbS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvcHJvdG8tZnJvbS1jdG9yLXJlYWxtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YjI1MTA4ZmJjM2E3YjI0NTY3NDYyZTY1MWM5YWI1MDc5OGQyNGNlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L3Byb3RvLWZyb20tY3Rvci1yZWFsbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMjIgQEAKKwor
RkFJTCBXZWJBc3NlbWJseS5Nb2R1bGU6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB1bmRl
ZmluZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgbnVsbGAg
cHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJB
c3NlbWJseS5Nb2R1bGU6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90
eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJs
eS5Nb2R1bGU6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVlYCBwcm90b3R5cGUgYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1vZHVs
ZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYDBgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBjcm9zcy1y
ZWFsbSBOZXdUYXJnZXQgd2l0aCBgLTFgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBjcm9zcy1yZWFsbSBOZXdU
YXJnZXQgd2l0aCBgIiJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgInN0ciJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgc3lt
Ym9sICJTeW1ib2woKSJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBib3VuZCBjcm9zcy1yZWFsbSBOZXdUYXJn
ZXQgd2l0aCBgdW5kZWZpbmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1vZHVsZTogYm91bmQgYm91bmQgY3Jvc3MtcmVh
bG0gTmV3VGFyZ2V0IHdpdGggYG51bGxgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBib3VuZCBQcm94eSBvZiBj
cm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgZmFsc2VgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBQcm94eSBv
ZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdHJ1ZWAgcHJvdG90eXBlIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGU6IFByb3h5
IG9mIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAtMGAgcHJvdG90eXBlIGFz
c2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5Nb2R1
bGU6IFByb3h5IG9mIGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBOYU5gIHByb3Rv
dHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1i
bHkuSW5zdGFuY2U6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB1bmRlZmluZWRgIHByb3Rv
dHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1i
bHkuSW5zdGFuY2U6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBudWxsYCBwcm90b3R5cGUg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lklu
c3RhbmNlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgZmFsc2VgIHByb3RvdHlwZSBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuSW5zdGFu
Y2U6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVlYCBwcm90b3R5cGUgYXNzZXJ0X3Ry
dWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkluc3RhbmNlOiBj
cm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgMGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5JbnN0YW5jZTogY3Jvc3MtcmVh
bG0gTmV3VGFyZ2V0IHdpdGggYC0xYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkluc3RhbmNlOiBjcm9zcy1yZWFsbSBOZXdU
YXJnZXQgd2l0aCBgIiJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuSW5zdGFuY2U6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3
aXRoIGAic3RyImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorRkFJTCBXZWJBc3NlbWJseS5JbnN0YW5jZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGgg
YHN5bWJvbCAiU3ltYm9sKCkiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkluc3RhbmNlOiBib3VuZCBjcm9zcy1yZWFsbSBO
ZXdUYXJnZXQgd2l0aCBgdW5kZWZpbmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkluc3RhbmNlOiBib3VuZCBib3VuZCBj
cm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgbnVsbGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5JbnN0YW5jZTogYm91bmQg
UHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5cGUgYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkluc3Rh
bmNlOiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdHJ1ZWAgcHJvdG90eXBl
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5J
bnN0YW5jZTogUHJveHkgb2YgUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYC0w
YCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdl
YkFzc2VtYmx5Lkluc3RhbmNlOiBQcm94eSBvZiBib3VuZCBjcm9zcy1yZWFsbSBOZXdUYXJnZXQg
d2l0aCBgTmFOYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHVu
ZGVmaW5lZGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
RkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBudWxs
YCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdl
YkFzc2VtYmx5Lk1lbW9yeTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90
b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2Vt
Ymx5Lk1lbW9yeTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHRydWVgIHByb3RvdHlwZSBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTWVt
b3J5OiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgMGAgcHJvdG90eXBlIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IGNyb3Nz
LXJlYWxtIE5ld1RhcmdldCB3aXRoIGAtMWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IGNyb3NzLXJlYWxtIE5l
d1RhcmdldCB3aXRoIGAiImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3
aXRoIGAic3RyImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBz
eW1ib2wgIlN5bWJvbCgpImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IGJvdW5kIGNyb3NzLXJlYWxtIE5ld1Rh
cmdldCB3aXRoIGB1bmRlZmluZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTWVtb3J5OiBib3VuZCBib3VuZCBjcm9zcy1y
ZWFsbSBOZXdUYXJnZXQgd2l0aCBgbnVsbGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IGJvdW5kIFByb3h5IG9m
IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90eXBlIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IFByb3h5
IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVlYCBwcm90b3R5cGUgYXNzZXJ0X3Ry
dWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogUHJv
eHkgb2YgUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYC0wYCBwcm90b3R5cGUg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1l
bW9yeTogUHJveHkgb2YgYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYE5hTmAgcHJv
dG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3Nl
bWJseS5UYWJsZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHVuZGVmaW5lZGAgcHJvdG90
eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJs
eS5UYWJsZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYG51bGxgIHByb3RvdHlwZSBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuVGFibGU6
IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90eXBlIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5UYWJsZTogY3Jvc3Mt
cmVhbG0gTmV3VGFyZ2V0IHdpdGggYHRydWVgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuVGFibGU6IGNyb3NzLXJlYWxtIE5l
d1RhcmdldCB3aXRoIGAwYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LlRhYmxlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgLTFgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuVGFibGU6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAiImAgcHJv
dG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3Nl
bWJseS5UYWJsZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYCJzdHIiYCBwcm90b3R5cGUg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LlRh
YmxlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgc3ltYm9sICJTeW1ib2woKSJgIHByb3Rv
dHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1i
bHkuVGFibGU6IGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB1bmRlZmluZWRgIHBy
b3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNz
ZW1ibHkuVGFibGU6IGJvdW5kIGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBudWxs
YCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdl
YkFzc2VtYmx5LlRhYmxlOiBib3VuZCBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgZmFsc2VgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgV2ViQXNzZW1ibHkuVGFibGU6IFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3
aXRoIGB0cnVlYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIFdlYkFzc2VtYmx5LlRhYmxlOiBQcm94eSBvZiBQcm94eSBvZiBjcm9zcy1yZWFsbSBO
ZXdUYXJnZXQgd2l0aCBgLTBgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuVGFibGU6IFByb3h5IG9mIGJvdW5kIGNyb3NzLXJl
YWxtIE5ld1RhcmdldCB3aXRoIGBOYU5gIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBjcm9zcy1yZWFsbSBOZXdU
YXJnZXQgd2l0aCBgdW5kZWZpbmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkdsb2JhbDogY3Jvc3MtcmVhbG0gTmV3VGFy
Z2V0IHdpdGggYG51bGxgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgZmFsc2VgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdHJ1
ZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5HbG9iYWw6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAwYCBwcm90b3R5
cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5
Lkdsb2JhbDogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYC0xYCBwcm90b3R5cGUgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkdsb2JhbDog
Y3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYCIiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkdsb2JhbDogY3Jvc3MtcmVh
bG0gTmV3VGFyZ2V0IHdpdGggYCJzdHIiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkdsb2JhbDogY3Jvc3MtcmVhbG0gTmV3
VGFyZ2V0IHdpdGggYHN5bWJvbCAiU3ltYm9sKCkiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkdsb2JhbDogYm91bmQgY3Jv
c3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHVuZGVmaW5lZGAgcHJvdG90eXBlIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5HbG9iYWw6IGJvdW5k
IGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBudWxsYCBwcm90b3R5cGUgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkdsb2JhbDog
Ym91bmQgUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5
cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5
Lkdsb2JhbDogUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHRydWVgIHByb3Rv
dHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1i
bHkuR2xvYmFsOiBQcm94eSBvZiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBg
LTBgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwg
V2ViQXNzZW1ibHkuR2xvYmFsOiBQcm94eSBvZiBib3VuZCBjcm9zcy1yZWFsbSBOZXdUYXJnZXQg
d2l0aCBgTmFOYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdp
dGggYHVuZGVmaW5lZGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorRkFJTCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1Rhcmdl
dCB3aXRoIGBudWxsYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0
IHdpdGggYGZhbHNlYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0
IHdpdGggYHRydWVgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQg
d2l0aCBgMGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
RkFJTCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRo
IGAtMWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAi
ImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5Db21waWxlRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAic3Ry
ImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5Db21waWxlRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBzeW1i
b2wgIlN5bWJvbCgpImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorRkFJTCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3I6IGJvdW5kIGNyb3NzLXJlYWxtIE5l
d1RhcmdldCB3aXRoIGB1bmRlZmluZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yOiBib3VuZCBib3Vu
ZCBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgbnVsbGAgcHJvdG90eXBlIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3I6
IGJvdW5kIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90
eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJs
eS5Db21waWxlRXJyb3I6IFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVl
YCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdl
YkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogUHJveHkgb2YgUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3
VGFyZ2V0IHdpdGggYC0wYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogUHJveHkgb2YgYm91bmQgY3Jv
c3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYE5hTmAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5MaW5rRXJyb3I6IGNyb3NzLXJl
YWxtIE5ld1RhcmdldCB3aXRoIGB1bmRlZmluZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTGlua0Vycm9yOiBjcm9zcy1y
ZWFsbSBOZXdUYXJnZXQgd2l0aCBgbnVsbGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5MaW5rRXJyb3I6IGNyb3NzLXJlYWxt
IE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5MaW5rRXJyb3I6IGNyb3NzLXJlYWxtIE5l
d1RhcmdldCB3aXRoIGB0cnVlYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LkxpbmtFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFy
Z2V0IHdpdGggYDBgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgV2ViQXNzZW1ibHkuTGlua0Vycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgLTFgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuTGlua0Vycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgIiJg
IHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2Vi
QXNzZW1ibHkuTGlua0Vycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgInN0ciJgIHBy
b3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNz
ZW1ibHkuTGlua0Vycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgc3ltYm9sICJTeW1i
b2woKSJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuTGlua0Vycm9yOiBib3VuZCBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgdW5kZWZpbmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIFdlYkFzc2VtYmx5LkxpbmtFcnJvcjogYm91bmQgYm91bmQgY3Jvc3MtcmVhbG0g
TmV3VGFyZ2V0IHdpdGggYG51bGxgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTGlua0Vycm9yOiBib3VuZCBQcm94eSBvZiBj
cm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgZmFsc2VgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTGlua0Vycm9yOiBQcm94
eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdHJ1ZWAgcHJvdG90eXBlIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5MaW5rRXJyb3I6
IFByb3h5IG9mIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAtMGAgcHJvdG90
eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJs
eS5MaW5rRXJyb3I6IFByb3h5IG9mIGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBO
YU5gIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwg
V2ViQXNzZW1ibHkuUnVudGltZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdW5k
ZWZpbmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitG
QUlMIFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGgg
YG51bGxgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBg
ZmFsc2VgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBg
dHJ1ZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAw
YCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdl
YkFzc2VtYmx5LlJ1bnRpbWVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYC0xYCBw
cm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFz
c2VtYmx5LlJ1bnRpbWVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYCIiYCBwcm90
b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2Vt
Ymx5LlJ1bnRpbWVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYCJzdHIiYCBwcm90
b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2Vt
Ymx5LlJ1bnRpbWVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHN5bWJvbCAiU3lt
Ym9sKCkiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitG
QUlMIFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcjogYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0
IHdpdGggYHVuZGVmaW5lZGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3I6IGJvdW5kIGJvdW5kIGNyb3Nz
LXJlYWxtIE5ld1RhcmdldCB3aXRoIGBudWxsYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcjogYm91bmQg
UHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5cGUgYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LlJ1bnRp
bWVFcnJvcjogUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHRydWVgIHByb3Rv
dHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1i
bHkuUnVudGltZUVycm9yOiBQcm94eSBvZiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQg
d2l0aCBgLTBgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yOiBQcm94eSBvZiBib3VuZCBjcm9zcy1yZWFs
bSBOZXdUYXJnZXQgd2l0aCBgTmFOYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9wcm90by1mcm9tLWN0b3ItcmVhbG0uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9wcm90
by1mcm9tLWN0b3ItcmVhbG0uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjkzMWNjYTc3Y2YyYWY2ZTA2NjE2
YWYzMmI0NjA4ZmIwMmQzOGMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Byb3RvLWZyb20tY3Rvci1yZWFs
bS5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkFzc2VtYmx5IEpTIEFQSTogRGVmYXVsdCBbW1Byb3RvdHlwZV1d
IHZhbHVlIGlzIGZyb20gTmV3VGFyZ2V0J3MgUmVhbG08L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpbnRlcm5hbGx5LWNyZWF0
ZS1hLW5ldy1vYmplY3QtaW1wbGVtZW50aW5nLXRoZS1pbnRlcmZhY2UiPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLW5hdGl2ZWVycm9yIj4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJ3YXNtLW1vZHVsZS1idWlsZGVyLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPGlmcmFtZSBp
ZD0iY29uc3RydWN0b3ItaWZyYW1lIiBoaWRkZW4+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJuZXct
dGFyZ2V0LWlmcmFtZSIgaGlkZGVuPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0ib3RoZXItaWZyYW1l
IiBoaWRkZW4+PC9pZnJhbWU+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCitjb25zdCBjb25z
dHJ1Y3RvclJlYWxtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NvbnN0cnVjdG9yLWlmcmFt
ZSIpLmNvbnRlbnRXaW5kb3c7Citjb25zdCBuZXdUYXJnZXRSZWFsbSA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoIiNuZXctdGFyZ2V0LWlmcmFtZSIpLmNvbnRlbnRXaW5kb3c7Citjb25zdCBvdGhl
clJlYWxtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI290aGVyLWlmcmFtZSIpLmNvbnRlbnRX
aW5kb3c7CisKK2NvbnN0IGVtcHR5TW9kdWxlQmluYXJ5ID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVy
KCkudG9CdWZmZXIoKTsKK2NvbnN0IGludGVyZmFjZXMgPSBbCisgIFsiTW9kdWxlIiwgZW1wdHlN
b2R1bGVCaW5hcnldLAorICBbIkluc3RhbmNlIiwgbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0
eU1vZHVsZUJpbmFyeSldLAorICBbIk1lbW9yeSIsIHtpbml0aWFsOiAwfV0sCisgIFsiVGFibGUi
LCB7ZWxlbWVudDogImFueWZ1bmMiLCBpbml0aWFsOiAwfV0sCisgIFsiR2xvYmFsIiwge3ZhbHVl
OiAiaTMyIn1dLAorCisgIC8vIFNlZSBzdGVwIDIgb2YgaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIv
I3NlYy1uYXRpdmVlcnJvcgorICBbIkNvbXBpbGVFcnJvciJdLAorICBbIkxpbmtFcnJvciJdLAor
ICBbIlJ1bnRpbWVFcnJvciJdLAorXTsKKworY29uc3QgcHJpbWl0aXZlcyA9IFsKKyAgdW5kZWZp
bmVkLAorICBudWxsLAorICBmYWxzZSwKKyAgdHJ1ZSwKKyAgMCwKKyAgLTEsCisgICIiLAorICAi
c3RyIiwKKyAgU3ltYm9sKCksCitdOworCitjb25zdCBnZXROZXdUYXJnZXRzID0gZnVuY3Rpb24q
IChyZWFsbSkgeworICBmb3IgKGNvbnN0IHByaW1pdGl2ZSBvZiBwcmltaXRpdmVzKSB7CisgICAg
Y29uc3QgbmV3VGFyZ2V0ID0gbmV3IHJlYWxtLkZ1bmN0aW9uKCk7CisgICAgbmV3VGFyZ2V0LnBy
b3RvdHlwZSA9IHByaW1pdGl2ZTsKKyAgICB5aWVsZCBbbmV3VGFyZ2V0LCAiY3Jvc3MtcmVhbG0g
TmV3VGFyZ2V0IHdpdGggYCIgKyBmb3JtYXRfdmFsdWUocHJpbWl0aXZlKSArICJgIHByb3RvdHlw
ZSJdOworICB9CisKKyAgLy8gR2V0RnVuY3Rpb25SZWFsbSAoaHR0cHM6Ly90YzM5LmVzL2VjbWEy
NjIvI3NlYy1nZXRmdW5jdGlvbnJlYWxtKSBjb3ZlcmFnZToKKyAgY29uc3QgYmluZE90aGVyID0g
b3RoZXJSZWFsbS5GdW5jdGlvbi5wcm90b3R5cGUuYmluZDsKKyAgY29uc3QgUHJveHlPdGhlciA9
IG90aGVyUmVhbG0uUHJveHk7CisKKyAgY29uc3QgYm91bmQgPSBuZXcgcmVhbG0uRnVuY3Rpb24o
KTsKKyAgYm91bmQucHJvdG90eXBlID0gdW5kZWZpbmVkOworICB5aWVsZCBbYmluZE90aGVyLmNh
bGwoYm91bmQpLCAiYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHVuZGVmaW5lZGAg
cHJvdG90eXBlIl07CisKKyAgY29uc3QgYm91bmRCb3VuZCA9IG5ldyByZWFsbS5GdW5jdGlvbigp
OworICBib3VuZEJvdW5kLnByb3RvdHlwZSA9IG51bGw7CisgIHlpZWxkIFtiaW5kT3RoZXIuY2Fs
bChiaW5kT3RoZXIuY2FsbChib3VuZEJvdW5kKSksICJib3VuZCBib3VuZCBjcm9zcy1yZWFsbSBO
ZXdUYXJnZXQgd2l0aCBgbnVsbGAgcHJvdG90eXBlIl07CisKKyAgY29uc3QgYm91bmRQcm94eSA9
IG5ldyByZWFsbS5GdW5jdGlvbigpOworICBib3VuZFByb3h5LnByb3RvdHlwZSA9IGZhbHNlOwor
ICB5aWVsZCBbYmluZE90aGVyLmNhbGwobmV3IFByb3h5T3RoZXIoYm91bmRQcm94eSwge30pKSwg
ImJvdW5kIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90
eXBlIl07CisKKyAgY29uc3QgcHJveHkgPSBuZXcgcmVhbG0uRnVuY3Rpb24oKTsKKyAgcHJveHku
cHJvdG90eXBlID0gdHJ1ZTsKKyAgeWllbGQgW25ldyBQcm94eU90aGVyKHByb3h5LCB7fSksICJQ
cm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdHJ1ZWAgcHJvdG90eXBlIl07CisK
KyAgY29uc3QgcHJveHlQcm94eSA9IG5ldyByZWFsbS5GdW5jdGlvbigpOworICBwcm94eVByb3h5
LnByb3RvdHlwZSA9IC0wOworICB5aWVsZCBbbmV3IFByb3h5T3RoZXIobmV3IFByb3h5T3RoZXIo
cHJveHlQcm94eSwge30pLCB7fSksICJQcm94eSBvZiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdU
YXJnZXQgd2l0aCBgLTBgIHByb3RvdHlwZSJdOworCisgIGNvbnN0IHByb3h5Qm91bmQgPSBuZXcg
cmVhbG0uRnVuY3Rpb24oKTsKKyAgcHJveHlCb3VuZC5wcm90b3R5cGUgPSBOYU47CisgIHlpZWxk
IFtuZXcgUHJveHlPdGhlcihiaW5kT3RoZXIuY2FsbChwcm94eUJvdW5kKSwge30pLCAiUHJveHkg
b2YgYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYE5hTmAgcHJvdG90eXBlIl07Cit9
OworCitmb3IgKGNvbnN0IFtpbnRlcmZhY2VOYW1lLCBjb25zdHJ1Y3RvckFyZ10gb2YgaW50ZXJm
YWNlcykgeworICBmb3IgKGNvbnN0IFtuZXdUYXJnZXQsIHRlc3REZXNjcmlwdGlvbl0gb2YgZ2V0
TmV3VGFyZ2V0cyhuZXdUYXJnZXRSZWFsbSkpIHsKKyAgICB0ZXN0KCgpID0+IHsKKyAgICAgIGNv
bnN0IENvbnN0cnVjdG9yID0gY29uc3RydWN0b3JSZWFsbS5XZWJBc3NlbWJseVtpbnRlcmZhY2VO
YW1lXTsKKyAgICAgIGNvbnN0IG9iamVjdCA9IFJlZmxlY3QuY29uc3RydWN0KENvbnN0cnVjdG9y
LCBbY29uc3RydWN0b3JBcmddLCBuZXdUYXJnZXQpOworCisgICAgICBjb25zdCBOZXdUYXJnZXRD
b25zdHJ1Y3RvciA9IG5ld1RhcmdldFJlYWxtLldlYkFzc2VtYmx5W2ludGVyZmFjZU5hbWVdOwor
ICAgICAgYXNzZXJ0X3RydWUob2JqZWN0IGluc3RhbmNlb2YgTmV3VGFyZ2V0Q29uc3RydWN0b3Ip
OworICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqZWN0KSwgTmV3
VGFyZ2V0Q29uc3RydWN0b3IucHJvdG90eXBlKTsKKyAgICB9LCBgV2ViQXNzZW1ibHkuJHtpbnRl
cmZhY2VOYW1lfTogJHt0ZXN0RGVzY3JpcHRpb259YCk7CisgIH0KK30KKzwvc2NyaXB0PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2Fzc2VydGlvbnMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvYXNzZXJ0aW9ucy5qcwpp
bmRleCBkZGUyZmQ3NzA5MDQyMDdhMWY5ZjI4N2ZhNDhkODI5NTRhNDE4ZjJlLi5iMWFlYWYxYTY1
ZGFiNzQ4YzU2YzhjZGY5YzEzOTNmOTdiZmRmMGU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvYXNzZXJ0aW9u
cy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvdGFibGUvYXNzZXJ0aW9ucy5qcwpAQCAtMSwxMSArMSwxMyBAQAogZnVuY3Rpb24g
YXNzZXJ0X2VxdWFsX3RvX2FycmF5KHRhYmxlLCBleHBlY3RlZCwgbWVzc2FnZSkgewogICBhc3Nl
cnRfZXF1YWxzKHRhYmxlLmxlbmd0aCwgZXhwZWN0ZWQubGVuZ3RoLCBgJHttZXNzYWdlfTogbGVu
Z3RoYCk7Ci0gIGFzc2VydF90aHJvd3MobmV3IFJhbmdlRXJyb3IoKSwgKCkgPT4gdGFibGUuZ2V0
KC0xKSwgYCR7bWVzc2FnZX06IHRhYmxlLmdldCgtMSlgKTsKKyAgLy8gVGhlIGFyZ3VtZW50IGNo
ZWNrIGluIGdldCgpIGhhcHBlbnMgYmVmb3JlIHRoZSByYW5nZSBjaGVjaywgYW5kIG5lZ2F0aXZl
IG51bWJlcnMKKyAgLy8gYXJlIGlsbGVnYWwsIGhlbmNlIHdpbGwgdGhyb3cgVHlwZUVycm9yIHBl
ciBzcGVjLgorICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuZ2V0KC0x
KSwgYCR7bWVzc2FnZX06IHRhYmxlLmdldCgtMSlgKTsKICAgZm9yIChsZXQgaSA9IDA7IGkgPCBl
eHBlY3RlZC5sZW5ndGg7ICsraSkgewogICAgIGFzc2VydF9lcXVhbHModGFibGUuZ2V0KGkpLCBl
eHBlY3RlZFtpXSwgYCR7bWVzc2FnZX06IHRhYmxlLmdldCgke2l9IG9mICR7ZXhwZWN0ZWQubGVu
Z3RofSlgKTsKICAgfQotICBhc3NlcnRfdGhyb3dzKG5ldyBSYW5nZUVycm9yKCksICgpID0+IHRh
YmxlLmdldChleHBlY3RlZC5sZW5ndGgpLAotICAgICAgICAgICAgICAgIGAke21lc3NhZ2V9OiB0
YWJsZS5nZXQoJHtleHBlY3RlZC5sZW5ndGh9IG9mICR7ZXhwZWN0ZWQubGVuZ3RofSlgKTsKLSAg
YXNzZXJ0X3Rocm93cyhuZXcgUmFuZ2VFcnJvcigpLCAoKSA9PiB0YWJsZS5nZXQoZXhwZWN0ZWQu
bGVuZ3RoICsgMSksCi0gICAgICAgICAgICAgICAgYCR7bWVzc2FnZX06IHRhYmxlLmdldCgke2V4
cGVjdGVkLmxlbmd0aCArIDF9IG9mICR7ZXhwZWN0ZWQubGVuZ3RofSlgKTsKKyAgYXNzZXJ0X3Ro
cm93c19qcyhSYW5nZUVycm9yLCAoKSA9PiB0YWJsZS5nZXQoZXhwZWN0ZWQubGVuZ3RoKSwKKyAg
ICAgICAgICAgICAgICAgICBgJHttZXNzYWdlfTogdGFibGUuZ2V0KCR7ZXhwZWN0ZWQubGVuZ3Ro
fSBvZiAke2V4cGVjdGVkLmxlbmd0aH0pYCk7CisgIGFzc2VydF90aHJvd3NfanMoUmFuZ2VFcnJv
ciwgKCkgPT4gdGFibGUuZ2V0KGV4cGVjdGVkLmxlbmd0aCArIDEpLAorICAgICAgICAgICAgICAg
ICAgIGAke21lc3NhZ2V9OiB0YWJsZS5nZXQoJHtleHBlY3RlZC5sZW5ndGggKyAxfSBvZiAke2V4
cGVjdGVkLmxlbmd0aH0pYCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvY29uc3RydWN0b3IuYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGEzMTI1
MDUwNzE2ZDc5NmEyODY1YzY4NGM2ODc1YTM1NDg0MWEwNzQuLmU2ODVjZjQzMzlmYWFkNzMzZjQ3
ZjAyYThiMGVmZmIxZDcyMGQ4M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnktZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0CkBAIC0yMiw2
ICsyMiw3IEBAIFBBU1MgT3V0LW9mLXJhbmdlIG1heGltdW0gdmFsdWUgaW4gZGVzY3JpcHRvcjog
Njg3MTk0NzY3MzYKIFBBU1MgSW5pdGlhbCB2YWx1ZSBleGNlZWRzIG1heGltdW0gCiBQQVNTIEJh
c2ljICh6ZXJvKSAKIFBBU1MgQmFzaWMgKG5vbi16ZXJvKSAKK1BBU1MgU3RyYXkgYXJndW1lbnQg
CiBQQVNTIFByb3h5IGRlc2NyaXB0b3IgCiBQQVNTIFR5cGUgY29udmVyc2lvbiBmb3IgZGVzY3Jp
cHRvci5lbGVtZW50IAogUEFTUyBPcmRlciBvZiBldmFsdWF0aW9uIGZvciBkZXNjcmlwdG9yIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnku
anMKaW5kZXggZTkyNGJkYjJiYTQyYzY3YmNjNmQ0YTk0OWMyZWViNTBlYWM2M2UzMS4uNWM5YTZm
MTNkOTFlYmEwOThhYjU5ZTg5MzE0NTIyMjM3NWUxYjZjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2NvbnN0
cnVjdG9yLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvdGFibGUvY29uc3RydWN0b3IuYW55LmpzCkBAIC0yMSwxNiArMjEs
MTYgQEAgdGVzdCgoKSA9PiB7CiB9LCAibGVuZ3RoIik7CiAKIHRlc3QoKCkgPT4gewotICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKCkp
OworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRh
YmxlKCkpOwogfSwgIk5vIGFyZ3VtZW50cyIpOwogCiB0ZXN0KCgpID0+IHsKICAgY29uc3QgYXJn
dW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDAgfTsKLSAgYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IFdlYkFzc2VtYmx5LlRhYmxlKGFyZ3VtZW50
KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBXZWJBc3NlbWJseS5UYWJs
ZShhcmd1bWVudCkpOwogfSwgIkNhbGxpbmciKTsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuVGFibGUoe30pKTsK
KyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJs
ZSh7fSkpOwogfSwgIkVtcHR5IGRlc2NyaXB0b3IiKTsKIAogdGVzdCgoKSA9PiB7CkBAIC00Nywx
OCArNDcsMTggQEAgdGVzdCgoKSA9PiB7CiAgICAge30sCiAgIF07CiAgIGZvciAoY29uc3QgaW52
YWxpZEFyZ3VtZW50IG9mIGludmFsaWRBcmd1bWVudHMpIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwKLSAgICAgICAgICAgICAgICAgICgpID0+IG5ldyBXZWJBc3NlbWJseS5U
YWJsZShpbnZhbGlkQXJndW1lbnQpLAotICAgICAgICAgICAgICAgICAgYG5ldyBUYWJsZSgke2Zv
cm1hdF92YWx1ZShpbnZhbGlkQXJndW1lbnQpfSlgKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5
cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJs
ZShpbnZhbGlkQXJndW1lbnQpLAorICAgICAgICAgICAgICAgICAgICAgYG5ldyBUYWJsZSgke2Zv
cm1hdF92YWx1ZShpbnZhbGlkQXJndW1lbnQpfSlgKTsKICAgfQogfSwgIkludmFsaWQgZGVzY3Jp
cHRvciBhcmd1bWVudCIpOwogCiB0ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVtZW50IjogImFueWZ1
bmMiLCAiaW5pdGlhbCI6IHVuZGVmaW5lZCB9KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVy
cm9yLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuVGFibGUoeyAiZWxlbWVudCI6ICJhbnlmdW5jIiwg
ImluaXRpYWwiOiB1bmRlZmluZWQgfSkpOwogfSwgIlVuZGVmaW5lZCBpbml0aWFsIHZhbHVlIGlu
IGRlc2NyaXB0b3IiKTsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuVGFibGUoeyAiZWxlbWVudCI6IHVuZGVmaW5l
ZCwgImluaXRpYWwiOiAwIH0pKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+
IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVtZW50IjogdW5kZWZpbmVkLCAiaW5pdGlhbCI6
IDAgfSkpOwogfSwgIlVuZGVmaW5lZCBlbGVtZW50IHZhbHVlIGluIGRlc2NyaXB0b3IiKTsKIAog
Y29uc3Qgb3V0T2ZSYW5nZVZhbHVlcyA9IFsKQEAgLTcyLDE2ICs3MiwxNiBAQCBjb25zdCBvdXRP
ZlJhbmdlVmFsdWVzID0gWwogCiBmb3IgKGNvbnN0IHZhbHVlIG9mIG91dE9mUmFuZ2VWYWx1ZXMp
IHsKICAgdGVzdCgoKSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgp
ID0+IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlh
bCI6IHZhbHVlIH0pKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3
IFdlYkFzc2VtYmx5LlRhYmxlKHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogdmFs
dWUgfSkpOwogICB9LCBgT3V0LW9mLXJhbmdlIGluaXRpYWwgdmFsdWUgaW4gZGVzY3JpcHRvcjog
JHtmb3JtYXRfdmFsdWUodmFsdWUpfWApOwogCiAgIHRlc3QoKCkgPT4gewotICAgIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuVGFibGUoeyAiZWxl
bWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiAwLCAibWF4aW11bSI6IHZhbHVlIH0pKTsKKyAg
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRhYmxl
KHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogMCwgIm1heGltdW0iOiB2YWx1ZSB9
KSk7CiAgIH0sIGBPdXQtb2YtcmFuZ2UgbWF4aW11bSB2YWx1ZSBpbiBkZXNjcmlwdG9yOiAke2Zv
cm1hdF92YWx1ZSh2YWx1ZSl9YCk7CiB9CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRfdGhyb3dz
KG5ldyBSYW5nZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVtZW50
IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDEwLCAibWF4aW11bSI6IDkgfSkpOworICBhc3NlcnRf
dGhyb3dzX2pzKFJhbmdlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVt
ZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDEwLCAibWF4aW11bSI6IDkgfSkpOwogfSwgIklu
aXRpYWwgdmFsdWUgZXhjZWVkcyBtYXhpbXVtIik7CiAKIHRlc3QoKCkgPT4gewpAQCAtOTYsNiAr
OTYsMTIgQEAgdGVzdCgoKSA9PiB7CiAgIGFzc2VydF9UYWJsZSh0YWJsZSwgeyAibGVuZ3RoIjog
NSB9KTsKIH0sICJCYXNpYyAobm9uLXplcm8pIik7CiAKK3Rlc3QoKCkgPT4geworICBjb25zdCBh
cmd1bWVudCA9IHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogMCB9OworICBjb25z
dCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1bWVudCwge30pOworICBhc3NlcnRf
VGFibGUodGFibGUsIHsgImxlbmd0aCI6IDAgfSk7Cit9LCAiU3RyYXkgYXJndW1lbnQiKTsKKwog
dGVzdCgoKSA9PiB7CiAgIGNvbnN0IHByb3h5ID0gbmV3IFByb3h5KHt9LCB7CiAgICAgaGFzKG8s
IHgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS90YWJsZS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBhMzEyNTA1
MDcxNmQ3OTZhMjg2NWM2ODRjNjg3NWEzNTQ4NDFhMDc0Li5lNjg1Y2Y0MzM5ZmFhZDczM2Y0N2Yw
MmE4YjBlZmZiMWQ3MjBkODNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvY29uc3RydWN0b3IuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0yMiw2ICsyMiw3IEBAIFBBU1MgT3V0LW9mLXJhbmdlIG1heGltdW0gdmFsdWUgaW4g
ZGVzY3JpcHRvcjogNjg3MTk0NzY3MzYKIFBBU1MgSW5pdGlhbCB2YWx1ZSBleGNlZWRzIG1heGlt
dW0gCiBQQVNTIEJhc2ljICh6ZXJvKSAKIFBBU1MgQmFzaWMgKG5vbi16ZXJvKSAKK1BBU1MgU3Ry
YXkgYXJndW1lbnQgCiBQQVNTIFByb3h5IGRlc2NyaXB0b3IgCiBQQVNTIFR5cGUgY29udmVyc2lv
biBmb3IgZGVzY3JpcHRvci5lbGVtZW50IAogUEFTUyBPcmRlciBvZiBldmFsdWF0aW9uIGZvciBk
ZXNjcmlwdG9yIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dldC1zZXQuYW55LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJs
ZS9nZXQtc2V0LmFueS1leHBlY3RlZC50eHQKaW5kZXggZGFjMzI4NDFhYWViNTRmMmNmYzc4NWYz
NjBmZTZhZjY3ZWFiMjQ2NC4uODk5Zjg1NjhiZDVmNDlkYzRkZWRlMzE1NjQwNmE4ZGRlOTNhNjI0
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL3RhYmxlL2dldC1zZXQuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ2V0
LXNldC5hbnktZXhwZWN0ZWQudHh0CkBAIC0zLDEyICszLDEyIEBAIFBBU1MgTWlzc2luZyBhcmd1
bWVudHM6IGdldAogUEFTUyBCcmFuZGluZzogZ2V0IAogUEFTUyBNaXNzaW5nIGFyZ3VtZW50czog
c2V0IAogUEFTUyBCcmFuZGluZzogc2V0IAotRkFJTCBCYXNpYyBhc3NlcnRfdGhyb3dzOiB1bmRl
ZmluZWQ6IHRhYmxlLmdldCgtMSkgZnVuY3Rpb24gIigpID0+IHRhYmxlLmdldCgtMSkiIHRocmV3
IG9iamVjdCAiVHlwZUVycm9yOiBFeHBlY3QgYW4gaW50ZWdlciBhcmd1bWVudCBpbiB0aGUgcmFu
Z2U6IFswLCAyXjMyIC0gMV0iICgiVHlwZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJSYW5nZUVy
cm9yIiAoIlJhbmdlRXJyb3IiKQotRkFJTCBHcm93aW5nIGFzc2VydF90aHJvd3M6IHVuZGVmaW5l
ZDogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2Jq
ZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTog
WzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3Ii
ICgiUmFuZ2VFcnJvciIpCi1GQUlMIFNldHRpbmcgb3V0LW9mLWJvdW5kcyBhc3NlcnRfdGhyb3dz
OiB1bmRlZmluZWQ6IHRhYmxlLmdldCgtMSkgZnVuY3Rpb24gIigpID0+IHRhYmxlLmdldCgtMSki
IHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBFeHBlY3QgYW4gaW50ZWdlciBhcmd1bWVudCBpbiB0
aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgiVHlwZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJS
YW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQotRkFJTCBTZXR0aW5nIG5vbi1mdW5jdGlvbiBhc3Nl
cnRfdGhyb3dzOiB1bmRlZmluZWQ6IHRhYmxlLmdldCgtMSkgZnVuY3Rpb24gIigpID0+IHRhYmxl
LmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBFeHBlY3QgYW4gaW50ZWdlciBhcmd1
bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgiVHlwZUVycm9yIikgZXhwZWN0ZWQg
b2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQotRkFJTCBTZXR0aW5nIG5vbi13YXNt
IGZ1bmN0aW9uIGFzc2VydF90aHJvd3M6IHVuZGVmaW5lZDogdGFibGUuZ2V0KC0xKSBmdW5jdGlv
biAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBh
biBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJy
b3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlMIFNl
dHRpbmcgbm9uLXdhc20gYXJyb3cgZnVuY3Rpb24gYXNzZXJ0X3Rocm93czogdW5kZWZpbmVkOiB0
YWJsZS5nZXQoLTEpIGZ1bmN0aW9uICIoKSA9PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBvYmplY3Qg
IlR5cGVFcnJvcjogRXhwZWN0IGFuIGludGVnZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdlOiBbMCwg
Ml4zMiAtIDFdIiAoIlR5cGVFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJvciIgKCJS
YW5nZUVycm9yIikKK1BBU1MgQmFzaWMgCitQQVNTIEdyb3dpbmcgCitQQVNTIFNldHRpbmcgb3V0
LW9mLWJvdW5kcyAKK1BBU1MgU2V0dGluZyBub24tZnVuY3Rpb24gCitQQVNTIFNldHRpbmcgbm9u
LXdhc20gZnVuY3Rpb24gCitQQVNTIFNldHRpbmcgbm9uLXdhc20gYXJyb3cgZnVuY3Rpb24gCiBQ
QVNTIEdldHRpbmcgb3V0LW9mLXJhbmdlIGFyZ3VtZW50OiB1bmRlZmluZWQgCiBQQVNTIFNldHRp
bmcgb3V0LW9mLXJhbmdlIGFyZ3VtZW50OiB1bmRlZmluZWQgCiBQQVNTIEdldHRpbmcgb3V0LW9m
LXJhbmdlIGFyZ3VtZW50OiBOYU4gCkBAIC0yOCw0ICsyOCw1IEBAIFBBU1MgU2V0dGluZyBvdXQt
b2YtcmFuZ2UgYXJndW1lbnQ6ICIweDEwMDAwMDAwMCIKIFBBU1MgR2V0dGluZyBvdXQtb2YtcmFu
Z2UgYXJndW1lbnQ6IG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAKIFBBU1MgU2V0dGluZyBvdXQt
b2YtcmFuZ2UgYXJndW1lbnQ6IG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAKIFBBU1MgT3JkZXIg
b2YgYXJndW1lbnQgY29udmVyc2lvbiAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS90YWJsZS9nZXQtc2V0LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9nZXQtc2V0LmFueS5qcwppbmRleCAyYmI0M2E5
MzA4ZDczMmI1YjZmYTY4OWMxODFhYzQxMTg4MGMzNzMzLi40ZTBhNWY4YzEwNDhmNGI3NzFjMzhm
ZjBhZWY5OTEwZWQzN2IyNWMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ2V0LXNldC5hbnkuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Rh
YmxlL2dldC1zZXQuYW55LmpzCkBAIC0xLDIzICsxLDE4IEBACiAvLyBNRVRBOiBnbG9iYWw9anNz
aGVsbAotLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tY29uc3RhbnRzLmpzCiAvLyBN
RVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogLy8gTUVUQTog
c2NyaXB0PWFzc2VydGlvbnMuanMKIAotbGV0IGZ1bmN0aW9uczsKK2xldCBmdW5jdGlvbnMgPSB7
fTsKIHNldHVwKCgpID0+IHsKICAgY29uc3QgYnVpbGRlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRl
cigpOwogCiAgIGJ1aWxkZXIKICAgICAuYWRkRnVuY3Rpb24oImZuIiwga1NpZ192X2QpCi0gICAg
LmFkZEJvZHkoWwotICAgICAgICBrRXhwckVuZAotICAgIF0pCisgICAgLmFkZEJvZHkoW10pCiAg
ICAgLmV4cG9ydEZ1bmMoKTsKICAgYnVpbGRlcgogICAgIC5hZGRGdW5jdGlvbigiZm4yIiwga1Np
Z192X3YpCi0gICAgLmFkZEJvZHkoWwotICAgICAgICBrRXhwckVuZAotICAgIF0pCisgICAgLmFk
ZEJvZHkoW10pCiAgICAgLmV4cG9ydEZ1bmMoKTsKIAogICBjb25zdCBidWZmZXIgPSBidWlsZGVy
LnRvQnVmZmVyKCkKQEAgLTI5LDcgKzI0LDcgQEAgc2V0dXAoKCkgPT4gewogdGVzdCgoKSA9PiB7
CiAgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiA1
IH07CiAgIGNvbnN0IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFyZ3VtZW50KTsKLSAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLmdldCgpKTsKKyAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLmdldCgpKTsKIH0sICJNaXNzaW5n
IGFyZ3VtZW50czogZ2V0Iik7CiAKIHRlc3QodCA9PiB7CkBAIC01MywxNSArNDgsMTUgQEAgdGVz
dCh0ID0+IHsKICAgY29uc3QgZm4gPSBXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUuZ2V0Owog
CiAgIGZvciAoY29uc3QgdGhpc1ZhbHVlIG9mIHRoaXNWYWx1ZXMpIHsKLSAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gZm4uY2FsbCh0aGlzVmFsdWUsIGFyZ3VtZW50KSwg
YHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pz
KFR5cGVFcnJvciwgKCkgPT4gZm4uY2FsbCh0aGlzVmFsdWUsIGFyZ3VtZW50KSwgYHRoaXM9JHtm
b3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKICAgfQogfSwgIkJyYW5kaW5nOiBnZXQiKTsKIAog
dGVzdCgoKSA9PiB7CiAgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwg
ImluaXRpYWwiOiA1IH07CiAgIGNvbnN0IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFy
Z3VtZW50KTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLnNl
dCgpKTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLnNldCgw
KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5zZXQoKSk7Cisg
IGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5zZXQoMCkpOwogfSwgIk1p
c3NpbmcgYXJndW1lbnRzOiBzZXQiKTsKIAogdGVzdCh0ID0+IHsKQEAgLTg1LDcgKzgwLDcgQEAg
dGVzdCh0ID0+IHsKICAgY29uc3QgZm4gPSBXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUuc2V0
OwogCiAgIGZvciAoY29uc3QgdGhpc1ZhbHVlIG9mIHRoaXNWYWx1ZXMpIHsKLSAgICBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gZm4uY2FsbCh0aGlzVmFsdWUsIGFyZ3VtZW50
LCBudWxsKSwgYHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKKyAgICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZm4uY2FsbCh0aGlzVmFsdWUsIGFyZ3VtZW50LCBu
dWxsKSwgYHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKICAgfQogfSwgIkJyYW5k
aW5nOiBzZXQiKTsKIApAQCAtMTMxLDggKzEyNiwxMCBAQCB0ZXN0KCgpID0+IHsKIAogICBjb25z
dCB7Zm59ID0gZnVuY3Rpb25zOwogCi0gIGFzc2VydF90aHJvd3MobmV3IFJhbmdlRXJyb3IoKSwg
KCkgPT4gdGFibGUuc2V0KC0xLCBmbikpOwotICBhc3NlcnRfdGhyb3dzKG5ldyBSYW5nZUVycm9y
KCksICgpID0+IHRhYmxlLnNldCg1LCBmbikpOworICAvLyAtMSBpcyB0aGUgd3JvbmcgdHlwZSBo
ZW5jZSB0aGUgdHlwZSBjaGVjayBvbiBlbnRyeSBnZXRzIHRoaXMKKyAgLy8gYmVmb3JlIHRoZSBy
YW5nZSBjaGVjayBkb2VzLgorICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gdGFi
bGUuc2V0KC0xLCBmbikpOworICBhc3NlcnRfdGhyb3dzX2pzKFJhbmdlRXJyb3IsICgpID0+IHRh
YmxlLnNldCg1LCBmbikpOwogICBhc3NlcnRfZXF1YWxfdG9fYXJyYXkodGFibGUsIFtudWxsLCBu
dWxsLCBudWxsLCBudWxsLCBudWxsXSk7CiB9LCAiU2V0dGluZyBvdXQtb2YtYm91bmRzIik7CiAK
QEAgLTE1Miw4ICsxNDksOCBAQCB0ZXN0KCgpID0+IHsKICAgICB7fSwKICAgXTsKICAgZm9yIChj
b25zdCBhcmd1bWVudCBvZiBpbnZhbGlkQXJndW1lbnRzKSB7Ci0gICAgYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLnNldCgwLCBhcmd1bWVudCksCi0gICAgICAgICAg
ICAgICAgICBgc2V0KCR7Zm9ybWF0X3ZhbHVlKGFyZ3VtZW50KX0pYCk7CisgICAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLnNldCgwLCBhcmd1bWVudCksCisgICAgICAg
ICAgICAgICAgICAgICBgc2V0KCR7Zm9ybWF0X3ZhbHVlKGFyZ3VtZW50KX0pYCk7CiAgIH0KICAg
YXNzZXJ0X2VxdWFsX3RvX2FycmF5KHRhYmxlLCBbbnVsbF0pOwogfSwgIlNldHRpbmcgbm9uLWZ1
bmN0aW9uIik7CkBAIC0xNjQsNyArMTYxLDcgQEAgdGVzdCgoKSA9PiB7CiAgIGFzc2VydF9lcXVh
bF90b19hcnJheSh0YWJsZSwgW251bGxdKTsKIAogICBjb25zdCBmbiA9IGZ1bmN0aW9uKCkge307
Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB0YWJsZS5zZXQoMCwgZm4p
KTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLnNldCgwLCBmbikp
OwogICBhc3NlcnRfZXF1YWxfdG9fYXJyYXkodGFibGUsIFtudWxsXSk7CiB9LCAiU2V0dGluZyBu
b24td2FzbSBmdW5jdGlvbiIpOwogCkBAIC0xNzQsNyArMTcxLDcgQEAgdGVzdCgoKSA9PiB7CiAg
IGFzc2VydF9lcXVhbF90b19hcnJheSh0YWJsZSwgW251bGxdKTsKIAogICBjb25zdCBmbiA9ICgp
ID0+IHt9OwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gdGFibGUuc2V0
KDAsIGZuKSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5zZXQo
MCwgZm4pKTsKICAgYXNzZXJ0X2VxdWFsX3RvX2FycmF5KHRhYmxlLCBbbnVsbF0pOwogfSwgIlNl
dHRpbmcgbm9uLXdhc20gYXJyb3cgZnVuY3Rpb24iKTsKIApAQCAtMTk0LDEzICsxOTEsMTMgQEAg
Zm9yIChjb25zdCB2YWx1ZSBvZiBvdXRPZlJhbmdlVmFsdWVzKSB7CiAgIHRlc3QoKCkgPT4gewog
ICAgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiAx
IH07CiAgICAgY29uc3QgdGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJndW1lbnQpOwot
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB0YWJsZS5nZXQodmFsdWUp
KTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuZ2V0KHZhbHVl
KSk7CiAgIH0sIGBHZXR0aW5nIG91dC1vZi1yYW5nZSBhcmd1bWVudDogJHtmb3JtYXRfdmFsdWUo
dmFsdWUpfWApOwogCiAgIHRlc3QoKCkgPT4gewogICAgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxl
bWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiAxIH07CiAgICAgY29uc3QgdGFibGUgPSBuZXcg
V2ViQXNzZW1ibHkuVGFibGUoYXJndW1lbnQpOwotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCAoKSA9PiB0YWJsZS5zZXQodmFsdWUsIG51bGwpKTsKKyAgICBhc3NlcnRfdGhyb3dz
X2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuc2V0KHZhbHVlLCBudWxsKSk7CiAgIH0sIGBTZXR0
aW5nIG91dC1vZi1yYW5nZSBhcmd1bWVudDogJHtmb3JtYXRfdmFsdWUodmFsdWUpfWApOwogfQog
CkBAIC0yMTQsNyArMjExLDE1IEBAIHRlc3QoKCkgPT4gewogICAgICAgcmV0dXJuIDA7CiAgICAg
fSwKICAgfTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLnNl
dCh2YWx1ZSwge30pKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxl
LnNldCh2YWx1ZSwge30pKTsKICAgYXNzZXJ0X2VxdWFscyhjYWxsZWQsIDEpOwogfSwgIk9yZGVy
IG9mIGFyZ3VtZW50IGNvbnZlcnNpb24iKTsKIAordGVzdCgoKSA9PiB7CisgIGNvbnN0IHtmbn0g
PSBmdW5jdGlvbnM7CisgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwg
ImluaXRpYWwiOiAxIH07CisgIGNvbnN0IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFy
Z3VtZW50KTsKKworICBhc3NlcnRfZXF1YWxzKHRhYmxlLmdldCgwLCB7fSksIG51bGwpOworICBh
c3NlcnRfZXF1YWxzKHRhYmxlLnNldCgwLCBmbiwge30pLCB1bmRlZmluZWQpOworfSwgIlN0cmF5
IGFyZ3VtZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ2V0LXNldC5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS90YWJsZS9nZXQtc2V0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGRhYzMyODQx
YWFlYjU0ZjJjZmM3ODVmMzYwZmU2YWY2N2VhYjI0NjQuLjg5OWY4NTY4YmQ1ZjQ5ZGM0ZGVkZTMx
NTY0MDZhOGRkZTkzYTYyNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9nZXQtc2V0LmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS90YWJsZS9nZXQtc2V0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0z
LDEyICszLDEyIEBAIFBBU1MgTWlzc2luZyBhcmd1bWVudHM6IGdldAogUEFTUyBCcmFuZGluZzog
Z2V0IAogUEFTUyBNaXNzaW5nIGFyZ3VtZW50czogc2V0IAogUEFTUyBCcmFuZGluZzogc2V0IAot
RkFJTCBCYXNpYyBhc3NlcnRfdGhyb3dzOiB1bmRlZmluZWQ6IHRhYmxlLmdldCgtMSkgZnVuY3Rp
b24gIigpID0+IHRhYmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBFeHBlY3Qg
YW4gaW50ZWdlciBhcmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgiVHlwZUVy
cm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQotRkFJTCBH
cm93aW5nIGFzc2VydF90aHJvd3M6IHVuZGVmaW5lZDogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAi
KCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBp
bnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3Ii
KSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlMIFNldHRp
bmcgb3V0LW9mLWJvdW5kcyBhc3NlcnRfdGhyb3dzOiB1bmRlZmluZWQ6IHRhYmxlLmdldCgtMSkg
ZnVuY3Rpb24gIigpID0+IHRhYmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBF
eHBlY3QgYW4gaW50ZWdlciBhcmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgi
VHlwZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQot
RkFJTCBTZXR0aW5nIG5vbi1mdW5jdGlvbiBhc3NlcnRfdGhyb3dzOiB1bmRlZmluZWQ6IHRhYmxl
LmdldCgtMSkgZnVuY3Rpb24gIigpID0+IHRhYmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlw
ZUVycm9yOiBFeHBlY3QgYW4gaW50ZWdlciBhcmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMy
IC0gMV0iICgiVHlwZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdl
RXJyb3IiKQotRkFJTCBTZXR0aW5nIG5vbi13YXNtIGZ1bmN0aW9uIGFzc2VydF90aHJvd3M6IHVu
ZGVmaW5lZDogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhy
ZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSBy
YW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdl
RXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlMIFNldHRpbmcgbm9uLXdhc20gYXJyb3cgZnVuY3Rp
b24gYXNzZXJ0X3Rocm93czogdW5kZWZpbmVkOiB0YWJsZS5nZXQoLTEpIGZ1bmN0aW9uICIoKSA9
PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogRXhwZWN0IGFuIGludGVn
ZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdlOiBbMCwgMl4zMiAtIDFdIiAoIlR5cGVFcnJvciIpIGV4
cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJvciIgKCJSYW5nZUVycm9yIikKK1BBU1MgQmFzaWMgCitQ
QVNTIEdyb3dpbmcgCitQQVNTIFNldHRpbmcgb3V0LW9mLWJvdW5kcyAKK1BBU1MgU2V0dGluZyBu
b24tZnVuY3Rpb24gCitQQVNTIFNldHRpbmcgbm9uLXdhc20gZnVuY3Rpb24gCitQQVNTIFNldHRp
bmcgbm9uLXdhc20gYXJyb3cgZnVuY3Rpb24gCiBQQVNTIEdldHRpbmcgb3V0LW9mLXJhbmdlIGFy
Z3VtZW50OiB1bmRlZmluZWQgCiBQQVNTIFNldHRpbmcgb3V0LW9mLXJhbmdlIGFyZ3VtZW50OiB1
bmRlZmluZWQgCiBQQVNTIEdldHRpbmcgb3V0LW9mLXJhbmdlIGFyZ3VtZW50OiBOYU4gCkBAIC0y
OCw0ICsyOCw1IEBAIFBBU1MgU2V0dGluZyBvdXQtb2YtcmFuZ2UgYXJndW1lbnQ6ICIweDEwMDAw
MDAwMCIKIFBBU1MgR2V0dGluZyBvdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IG9iamVjdCAiW29iamVj
dCBPYmplY3RdIiAKIFBBU1MgU2V0dGluZyBvdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IG9iamVjdCAi
W29iamVjdCBPYmplY3RdIiAKIFBBU1MgT3JkZXIgb2YgYXJndW1lbnQgY29udmVyc2lvbiAKK1BB
U1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LXJlZnR5cGVzLnRlbnRh
dGl2ZS5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY3ZmQ5M2IxOGEwYjZhNWRkMDMyZWEwOGVkNGY1NGY4
ZjkwYzY2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LXJlZnR5cGVzLnRlbnRhdGl2ZS5h
bnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitGQUlMIEdyb3cgd2l0aCBleHBvcnRl
ZC1mdW5jdGlvbiBhcmd1bWVudCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoZnVuY3Rpb24pIGZ1
bmN0aW9uICJmdW5jdGlvbiBmbigpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQgZ290IChv
YmplY3QpIG51bGwKK0ZBSUwgR3JvdyB3aXRoIG5vbi1mdW5jdGlvbiBhcmd1bWVudCBhc3NlcnRf
dGhyb3dzX2pzOiBmdW5jdGlvbiAiKCkgPT4gdGFibGUuZ3JvdygyLCB7fSkiIGRpZCBub3QgdGhy
b3cKK0ZBSUwgR3JvdyB3aXRoIEpTLWZ1bmN0aW9uIGFyZ3VtZW50IGFzc2VydF90aHJvd3NfanM6
IGZ1bmN0aW9uICIoKSA9PiB0YWJsZS5ncm93KDIsICgpID0+IHRydWUpIiBkaWQgbm90IHRocm93
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LXJlZnR5cGVzLnRlbnRhdGl2ZS5hbnkuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJs
ZS9ncm93LXJlZnR5cGVzLnRlbnRhdGl2ZS5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4
ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dy
b3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS90YWJsZS9ncm93LXJlZnR5cGVzLnRlbnRhdGl2ZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy1yZWZ0eXBl
cy50ZW50YXRpdmUuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkZmIzMzQ5OTFlMDRkMmNhYmZlZWI0NDI2
YWQwNTM3OTZjNjdlYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy1yZWZ0eXBlcy50ZW50
YXRpdmUuYW55LmpzCkBAIC0wLDAgKzEsNDIgQEAKKy8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisv
LyBNRVRBOiBzY3JpcHQ9YXNzZXJ0aW9ucy5qcworLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBp
L3dhc20tY29uc3RhbnRzLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1
bGUtYnVpbGRlci5qcworCisvLyBUZXN0IGNhc2VzIGZvciBjaGFuZ2VzIHRvIHRoZSBXZWJBc3Nl
bWJseS5UYWJsZS5wcm90b3R5cGUuZ3JvdygpIEFQSSB0aGF0CisvLyBjb21lIGluIHdpdGggdGhl
IHJlZnR5cGVzIHByb3Bvc2FsOiB0aGUgQVBJIHRha2VzIGEgZGVmYXVsdCBhcmd1bWVudCwgd2hp
Y2gKKy8vIGZvciB0YWJsZXMgb2YgYW55ZnVuYyBtdXN0IGJlIGVpdGhlciBhbiBleHBvcnRlZCB3
YXNtIGZ1bmN0aW9uIG9yIG51bGwuCisvLworLy8gU2VlOgorLy8gICBodHRwczovL2dpdGh1Yi5j
b20vV2ViQXNzZW1ibHkvcmVmZXJlbmNlLXR5cGVzCisvLyAgIGh0dHBzOi8vYnVnemlsbGEubW96
aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDc0OTEKKy8vICAgaHR0cHM6Ly9naXRodWIuY29t
L1dlYkFzc2VtYmx5L3JlZmVyZW5jZS10eXBlcy9pc3N1ZXMvMjIKKwordGVzdCgoKSA9PiB7Cisg
IGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKKyAgYnVpbGRlcgorICAg
IC5hZGRGdW5jdGlvbigiZm4iLCBrU2lnX3ZfdikKKyAgICAuYWRkQm9keShbXSkKKyAgICAuZXhw
b3J0RnVuYygpOworICBjb25zdCBiaW4gPSBidWlsZGVyLnRvQnVmZmVyKCkKKyAgY29uc3QgYXJn
dW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDEgfTsKKyAgY29uc3Qg
dGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJndW1lbnQpOworICBjb25zdCBmbiA9IG5l
dyBXZWJBc3NlbWJseS5JbnN0YW5jZShuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJpbikpLmV4cG9y
dHMuZm47CisgIGNvbnN0IHJlc3VsdCA9IHRhYmxlLmdyb3coMiwgZm4pOworICBhc3NlcnRfZXF1
YWxzKHJlc3VsdCwgMSk7CisgIGFzc2VydF9lcXVhbHModGFibGUuZ2V0KDApLCBudWxsKTsKKyAg
YXNzZXJ0X2VxdWFscyh0YWJsZS5nZXQoMSksIGZuKTsKKyAgYXNzZXJ0X2VxdWFscyh0YWJsZS5n
ZXQoMiksIGZuKTsKK30sICJHcm93IHdpdGggZXhwb3J0ZWQtZnVuY3Rpb24gYXJndW1lbnQiKTsK
KwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5j
IiwgImluaXRpYWwiOiAxIH07CisgIGNvbnN0IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxl
KGFyZ3VtZW50KTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLmdy
b3coMiwge30pKTsKK30sICJHcm93IHdpdGggbm9uLWZ1bmN0aW9uIGFyZ3VtZW50Iik7CisKK3Rl
c3QoKCkgPT4geworICBjb25zdCBhcmd1bWVudCA9IHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJp
bml0aWFsIjogMSB9OworICBjb25zdCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1
bWVudCk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5ncm93KDIs
ICgpID0+IHRydWUpKTsKK30sICJHcm93IHdpdGggSlMtZnVuY3Rpb24gYXJndW1lbnQiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS90YWJsZS9ncm93LXJlZnR5cGVzLnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS90YWJsZS9ncm93LXJlZnR5cGVzLnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NjY2Y2VhMmVlOGQ3MTUwYmY1M2MxYjY4MGRmM2EzNzViNWEwYTUwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBOZXR3b3JrRXJy
b3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgKKworSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2Ug
PSBOZXR3b3JrRXJyb3I6IFJlc3BvbnNlIGlzIG5vdCAyeHgKKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUv
Z3Jvdy1yZWZ0eXBlcy50ZW50YXRpdmUuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVmdHlw
ZXMudGVudGF0aXZlLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2Iz
YTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVm
dHlwZXMudGVudGF0aXZlLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMg
ZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRo
ZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvdGFibGUvZ3Jvdy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3cuYW55LWV4cGVjdGVkLnR4
dAppbmRleCA2MGQyMWUwZDM4ZmNmMDZlYzYyNmU3NmU1MzEwNzMxNzBlY2FjNjYxLi4yN2YyZTU1
NzZlZWU2YTQ5ZTU1YjIyZTBhNmMwZDkzMDI3NGIxODJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy5h
bnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LmFueS1leHBlY3RlZC50eHQKQEAgLTEsOSAr
MSw5IEBACiAKIFBBU1MgTWlzc2luZyBhcmd1bWVudHMgCiBQQVNTIEJyYW5kaW5nIAotRkFJTCBC
YXNpYyBhc3NlcnRfdGhyb3dzOiBiZWZvcmU6IHRhYmxlLmdldCgtMSkgZnVuY3Rpb24gIigpID0+
IHRhYmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBFeHBlY3QgYW4gaW50ZWdl
ciBhcmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgiVHlwZUVycm9yIikgZXhw
ZWN0ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQotRkFJTCBSZWFjaGVkIG1h
eGltdW0gYXNzZXJ0X3Rocm93czogYmVmb3JlOiB0YWJsZS5nZXQoLTEpIGZ1bmN0aW9uICIoKSA9
PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogRXhwZWN0IGFuIGludGVn
ZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdlOiBbMCwgMl4zMiAtIDFdIiAoIlR5cGVFcnJvciIpIGV4
cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJvciIgKCJSYW5nZUVycm9yIikKLUZBSUwgRXhjZWVkZWQg
bWF4aW11bSBhc3NlcnRfdGhyb3dzOiBiZWZvcmU6IHRhYmxlLmdldCgtMSkgZnVuY3Rpb24gIigp
ID0+IHRhYmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBFeHBlY3QgYW4gaW50
ZWdlciBhcmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgiVHlwZUVycm9yIikg
ZXhwZWN0ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQorUEFTUyBCYXNpYyAK
K1BBU1MgUmVhY2hlZCBtYXhpbXVtIAorUEFTUyBFeGNlZWRlZCBtYXhpbXVtIAogUEFTUyBPdXQt
b2YtcmFuZ2UgYXJndW1lbnQ6IHVuZGVmaW5lZCAKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50
OiBOYU4gCiBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVudDogSW5maW5pdHkgCkBAIC0xMyw0ICsx
Myw1IEBAIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiA0Mjk0OTY3Mjk2CiBQQVNTIE91dC1v
Zi1yYW5nZSBhcmd1bWVudDogNjg3MTk0NzY3MzYgCiBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVu
dDogIjB4MTAwMDAwMDAwIiAKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiBvYmplY3QgIltv
YmplY3QgT2JqZWN0XSIgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUv
Z3Jvdy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvdGFibGUvZ3Jvdy5hbnkuanMKaW5kZXggZDNlZmI1MTFlNGIxZGIxZWZhMDg5
MzIyYzBhMzA3OTcwNWRmYmRiZC4uZjU0M2NjNjIwYmNjNGNjYzBlNzA2ZDBkY2I4ZTY4YWY0MjEw
YTI0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3cuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LmFueS5qcwpA
QCAtOCw3ICs4LDcgQEAgZnVuY3Rpb24gbnVsbHMobikgewogdGVzdCgoKSA9PiB7CiAgIGNvbnN0
IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiA1IH07CiAgIGNv
bnN0IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFyZ3VtZW50KTsKLSAgYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLmdyb3coKSk7CisgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5ncm93KCkpOwogfSwgIk1pc3NpbmcgYXJndW1l
bnRzIik7CiAKIHRlc3QodCA9PiB7CkBAIC0zMiw3ICszMiw3IEBAIHRlc3QodCA9PiB7CiAgIGNv
bnN0IGZuID0gV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlLmdyb3c7CiAKICAgZm9yIChjb25z
dCB0aGlzVmFsdWUgb2YgdGhpc1ZhbHVlcykgewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCAoKSA9PiBmbi5jYWxsKHRoaXNWYWx1ZSwgYXJndW1lbnQpLCBgdGhpcz0ke2Zvcm1h
dF92YWx1ZSh0aGlzVmFsdWUpfWApOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAo
KSA9PiBmbi5jYWxsKHRoaXNWYWx1ZSwgYXJndW1lbnQpLCBgdGhpcz0ke2Zvcm1hdF92YWx1ZSh0
aGlzVmFsdWUpfWApOwogICB9CiB9LCAiQnJhbmRpbmciKTsKIApAQCAtNjEsNyArNjEsNyBAQCB0
ZXN0KCgpID0+IHsKICAgY29uc3QgdGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJndW1l
bnQpOwogICBhc3NlcnRfZXF1YWxfdG9fYXJyYXkodGFibGUsIG51bGxzKDIpLCAiYmVmb3JlIik7
CiAKLSAgYXNzZXJ0X3Rocm93cyhuZXcgUmFuZ2VFcnJvcigpLCAoKSA9PiB0YWJsZS5ncm93KDQp
KTsKKyAgYXNzZXJ0X3Rocm93c19qcyhSYW5nZUVycm9yLCAoKSA9PiB0YWJsZS5ncm93KDQpKTsK
ICAgYXNzZXJ0X2VxdWFsX3RvX2FycmF5KHRhYmxlLCBudWxscygyKSwgImFmdGVyIik7CiB9LCAi
RXhjZWVkZWQgbWF4aW11bSIpOwogCkBAIC04MSw2ICs4MSwxNiBAQCBmb3IgKGNvbnN0IHZhbHVl
IG9mIG91dE9mUmFuZ2VWYWx1ZXMpIHsKICAgdGVzdCgoKSA9PiB7CiAgICAgY29uc3QgYXJndW1l
bnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDEgfTsKICAgICBjb25zdCB0
YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1bWVudCk7Ci0gICAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLmdyb3codmFsdWUpKTsKKyAgICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuZ3Jvdyh2YWx1ZSkpOwogICB9LCBgT3V0
LW9mLXJhbmdlIGFyZ3VtZW50OiAke2Zvcm1hdF92YWx1ZSh2YWx1ZSl9YCk7CiB9CisKK3Rlc3Qo
KCkgPT4geworICBjb25zdCBhcmd1bWVudCA9IHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0
aWFsIjogNSB9OworICBjb25zdCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1bWVu
dCk7CisgIGFzc2VydF9lcXVhbF90b19hcnJheSh0YWJsZSwgbnVsbHMoNSksICJiZWZvcmUiKTsK
KworICBjb25zdCByZXN1bHQgPSB0YWJsZS5ncm93KDMsIG51bGwsIHt9KTsKKyAgYXNzZXJ0X2Vx
dWFscyhyZXN1bHQsIDUpOworICBhc3NlcnRfZXF1YWxfdG9fYXJyYXkodGFibGUsIG51bGxzKDgp
LCAiYWZ0ZXIiKTsKK30sICJTdHJheSBhcmd1bWVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3cu
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAppbmRleCA2MGQyMWUwZDM4ZmNmMDZlYzYyNmU3NmU1MzEwNzMxNzBlY2FjNjYxLi4yN2YyZTU1
NzZlZWU2YTQ5ZTU1YjIyZTBhNmMwZDkzMDI3NGIxODJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMSw5ICsxLDkgQEAKIAogUEFTUyBNaXNzaW5nIGFyZ3VtZW50cyAKIFBBU1MgQnJh
bmRpbmcgCi1GQUlMIEJhc2ljIGFzc2VydF90aHJvd3M6IGJlZm9yZTogdGFibGUuZ2V0KC0xKSBm
dW5jdGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4
cGVjdCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJU
eXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCi1G
QUlMIFJlYWNoZWQgbWF4aW11bSBhc3NlcnRfdGhyb3dzOiBiZWZvcmU6IHRhYmxlLmdldCgtMSkg
ZnVuY3Rpb24gIigpID0+IHRhYmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBF
eHBlY3QgYW4gaW50ZWdlciBhcmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgi
VHlwZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQot
RkFJTCBFeGNlZWRlZCBtYXhpbXVtIGFzc2VydF90aHJvd3M6IGJlZm9yZTogdGFibGUuZ2V0KC0x
KSBmdW5jdGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6
IEV4cGVjdCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIg
KCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIp
CitQQVNTIEJhc2ljIAorUEFTUyBSZWFjaGVkIG1heGltdW0gCitQQVNTIEV4Y2VlZGVkIG1heGlt
dW0gCiBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVudDogdW5kZWZpbmVkIAogUEFTUyBPdXQtb2Yt
cmFuZ2UgYXJndW1lbnQ6IE5hTiAKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiBJbmZpbml0
eSAKQEAgLTEzLDQgKzEzLDUgQEAgUEFTUyBPdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IDQyOTQ5Njcy
OTYKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiA2ODcxOTQ3NjczNiAKIFBBU1MgT3V0LW9m
LXJhbmdlIGFyZ3VtZW50OiAiMHgxMDAwMDAwMDAiIAogUEFTUyBPdXQtb2YtcmFuZ2UgYXJndW1l
bnQ6IG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS90YWJsZS9sZW5ndGguYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9sZW5ndGguYW55LWV4
cGVjdGVkLnR4dAppbmRleCA2NzBmMjgxMWYyNjlkMjJhZTljM2QzNzM4NzdiZmY0OWQxY2VmMjY1
Li5kNDVmNmY4NDg1MDViMTZjNGY0ZGE5NDBkMDkzYjNiY2U5ZjRlYzE0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFi
bGUvbGVuZ3RoLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2xlbmd0aC5hbnktZXhwZWN0ZWQu
dHh0CkBAIC0xLDUgKzEsNiBAQAogCiBQQVNTIEJyYW5kaW5nIAorUEFTUyBTdHJheSBhcmd1bWVu
dCAKIFBBU1MgU2V0dGluZyAoc2xvcHB5IG1vZGUpIAogUEFTUyBTZXR0aW5nIChzdHJpY3QgbW9k
ZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS90YWJsZS9sZW5ndGguYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2xlbmd0aC5hbnkuanMK
aW5kZXggYTZhOTY2MWRiYWRkYzgwMGNiOTliN2I4ZTJiODA0Y2IwYzhlM2M2Mi4uZjRlMTE0ODQ3
OTcyOTA2MWE3ZjQwZTY4MzExYWRkNDNlMGM1MWIxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2xlbmd0aC5h
bnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL3RhYmxlL2xlbmd0aC5hbnkuanMKQEAgLTIyLDEwICsyMiwyNCBAQCB0ZXN0KCgp
ID0+IHsKICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVzYy5zZXQsICJ1bmRlZmluZWQiKTsKIAog
ICBmb3IgKGNvbnN0IHRoaXNWYWx1ZSBvZiB0aGlzVmFsdWVzKSB7Ci0gICAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGdldHRlci5jYWxsKHRoaXNWYWx1ZSksIGB0aGlzPSR7
Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsICgpID0+IGdldHRlci5jYWxsKHRoaXNWYWx1ZSksIGB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRo
aXNWYWx1ZSl9YCk7CiAgIH0KIH0sICJCcmFuZGluZyIpOwogCit0ZXN0KCgpID0+IHsKKyAgY29u
c3QgYXJndW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDIgfTsKKyAg
Y29uc3QgdGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJndW1lbnQpOworICBhc3NlcnRf
ZXF1YWxzKHRhYmxlLmxlbmd0aCwgMiwgIkluaXRpYWwgbGVuZ3RoIik7CisKKyAgY29uc3QgZGVz
YyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoV2ViQXNzZW1ibHkuVGFibGUucHJv
dG90eXBlLCAibGVuZ3RoIik7CisgIGFzc2VydF9lcXVhbHModHlwZW9mIGRlc2MsICJvYmplY3Qi
KTsKKworICBjb25zdCBnZXR0ZXIgPSBkZXNjLmdldDsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
Z2V0dGVyLCAiZnVuY3Rpb24iKTsKKworICBhc3NlcnRfZXF1YWxzKGdldHRlci5jYWxsKHRhYmxl
LCB7fSksIDIpOworfSwgIlN0cmF5IGFyZ3VtZW50Iik7CisKIHRlc3QoKCkgPT4gewogICBjb25z
dCBhcmd1bWVudCA9IHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogMiB9OwogICBj
b25zdCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1bWVudCk7CkBAIC0zOCw3ICs1
Miw3IEBAIHRlc3QoKCkgPT4gewogICBjb25zdCBhcmd1bWVudCA9IHsgImVsZW1lbnQiOiAiYW55
ZnVuYyIsICJpbml0aWFsIjogMiB9OwogICBjb25zdCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5U
YWJsZShhcmd1bWVudCk7CiAgIGFzc2VydF9lcXVhbHModGFibGUubGVuZ3RoLCAyLCAiSW5pdGlh
bCBsZW5ndGgiKTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHsKKyAg
YXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKICAgICAidXNlIHN0cmljdCI7CiAg
ICAgdGFibGUubGVuZ3RoID0gNDsKICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvbGVuZ3RoLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2xlbmd0aC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCA2NzBmMjgxMWYyNjlkMjJhZTljM2QzNzM4NzdiZmY0OWQxY2VmMjY1Li5kNDVmNmY4NDg1
MDViMTZjNGY0ZGE5NDBkMDkzYjNiY2U5ZjRlYzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvbGVuZ3RoLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9sZW5ndGguYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw2IEBACiAKIFBBU1MgQnJhbmRpbmcgCitQQVNTIFN0cmF5IGFyZ3Vt
ZW50IAogUEFTUyBTZXR0aW5nIChzbG9wcHkgbW9kZSkgCiBQQVNTIFNldHRpbmcgKHN0cmljdCBt
b2RlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL3RvU3RyaW5nLmFueS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUv
dG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dAppbmRleCA5MjNkNjMzOThkNGFmZWRhZjc2YzM3Nzgw
YThkNTY4OWU0N2ZkYzk1Li5iMDQ3ZDMxNTQ2ODU3NmM1ZjA2ZWFkMWE4NGJhNmFmOTZiZGFjOGIz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvdGFibGUvdG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvdG9T
dHJpbmcuYW55LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIAogUEFTUyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nIG9uIGFuIFRhYmxlIAorRkFJTCBAQHRvU3RyaW5nVGFnIGV4aXN0cyBv
biB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3IgYXNzZXJ0X293
bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJTeW1ib2woU3ltYm9sLnRvU3Ry
aW5nVGFnKSIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvdG9TdHJpbmcuYW55LmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxl
L3RvU3RyaW5nLmFueS5qcwppbmRleCBlNTc2NDc3OTEwYWQzMTk4YjQ0NmI0YWRkZjg5YmE5YTU3
MWQwMjBiLi43MDhjMTdiM2FjYWRmZGUyYzlhYmRhMzAwYzJkNTdlNjFmNWE3MGNlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvdGFibGUvdG9TdHJpbmcuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS90b1N0cmluZy5hbnkuanMKQEAgLTUs
MyArNSwxMyBAQCB0ZXN0KCgpID0+IHsKICAgY29uc3QgdGFibGUgPSBuZXcgV2ViQXNzZW1ibHku
VGFibGUoYXJndW1lbnQpOwogICBhc3NlcnRfY2xhc3Nfc3RyaW5nKHRhYmxlLCAiV2ViQXNzZW1i
bHkuVGFibGUiKTsKIH0sICJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIG9uIGFuIFRhYmxlIik7
CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KFdlYkFzc2VtYmx5LlRhYmxl
LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKTsKKworICBjb25zdCBwcm9wRGVzYyA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBl
LCBTeW1ib2wudG9TdHJpbmdUYWcpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLnZhbHVlLCAi
V2ViQXNzZW1ibHkuVGFibGUiLCAidmFsdWUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5j
b25maWd1cmFibGUsIHRydWUsICJjb25maWd1cmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9w
RGVzYy5lbnVtZXJhYmxlLCBmYWxzZSwgImVudW1lcmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhw
cm9wRGVzYy53cml0YWJsZSwgZmFsc2UsICJ3cml0YWJsZSIpOworfSwgIkBAdG9TdHJpbmdUYWcg
ZXhpc3RzIG9uIHRoZSBwcm90b3R5cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL3RhYmxlL3RvU3RyaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxl
L3RvU3RyaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDkyM2Q2MzM5OGQ0YWZlZGFm
NzZjMzc3ODBhOGQ1Njg5ZTQ3ZmRjOTUuLmIwNDdkMzE1NDY4NTc2YzVmMDZlYWQxYTg0YmE2YWY5
NmJkYWM4YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS90b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvdGFibGUvdG9TdHJpbmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0
IEBACiAKIFBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBvbiBhbiBUYWJsZSAKK0ZBSUwg
QEB0b1N0cmluZ1RhZyBleGlzdHMgb24gdGhlIHByb3RvdHlwZSB3aXRoIHRoZSBhcHByb3ByaWF0
ZSBkZXNjcmlwdG9yIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5IHN5bWJv
bCAiU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykiIG1pc3NpbmcKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxl
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL3RhYmxlL3czYy1pbXBvcnQubG9nCmluZGV4IDZhOWVjY2U2NWQzMDBm
MGE4MTZlNzUxMzgzNjI1MDQ3MTVmZDJiODMuLjY3MjBmN2I1NjJhMDUxYTNhYTZmNGVmMmZlYjA3
MTE2MmM3ZTAzMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvdzNj
LWltcG9ydC5sb2cKQEAgLTE3LDYgKzE3LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvYXNzZXJ0
aW9ucy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ2V0LXNldC5hbnkuanMKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFi
bGUvZ3Jvdy1yZWZ0eXBlcy50ZW50YXRpdmUuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3cuYW55LmpzCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxl
L2xlbmd0aC5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvdGFibGUvdG9TdHJpbmcuYW55LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvdzNjLWltcG9ydC5sb2cKaW5kZXggYzRjMTE3ZmMzMGVjZGFlZDJlMzQ1MDgyMWE4ODZm
ZTUwMTc5YzY2My4uM2FiMmNkNzU5MjY1ZGZkZDE2MTkwYjFjYzk1YTQ0NzQ0NWRjZWRkYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS93M2MtaW1wb3J0LmxvZwpAQCAtMTYsNiArMTYsOSBA
QCBOb25lCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9hc3NlcnRpb25zLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2JhZC1pbXBvcnRzLmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2Vycm9y
LWludGVyZmFjZXMtbm8tc3ltYm9sLXRvc3RyaW5ndGFnLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3MuYW55LmpzCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lu
c3RhbmNlVGVzdEZhY3RvcnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNlLmFueS5qcwotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS93YXNtLWNvbnN0YW50cy5qcwor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9w
cm90by1mcm9tLWN0b3ItcmVhbG0uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvd2FzbS1jb25zdGFudHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvd2FzbS1jb25zdGFudHMuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGYwNTZmOWNiZmNmYmFjNTJkMDUwNmVkZGRkMDFjOGZhZDg2MzZlYmIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3dhc20tY29uc3RhbnRz
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzc0ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE1IHRo
ZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhp
cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu
IGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vLyBGbGFnczogLS1leHBvc2Ut
d2FzbQotCi1mdW5jdGlvbiBieXRlcygpIHsKLSAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZl
cihhcmd1bWVudHMubGVuZ3RoKTsKLSAgdmFyIHZpZXcgPSBuZXcgVWludDhBcnJheShidWZmZXIp
OwotICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewotICAgIHZh
ciB2YWwgPSBhcmd1bWVudHNbaV07Ci0gICAgaWYgKCh0eXBlb2YgdmFsKSA9PSAic3RyaW5nIikg
dmFsID0gdmFsLmNoYXJDb2RlQXQoMCk7Ci0gICAgdmlld1tpXSA9IHZhbCB8IDA7Ci0gIH0KLSAg
cmV0dXJuIGJ1ZmZlcjsKLX0KLQotLy8gSGVhZGVyIGRlY2xhcmF0aW9uIGNvbnN0YW50cwotdmFy
IGtXYXNtSDAgPSAwOwotdmFyIGtXYXNtSDEgPSAweDYxOwotdmFyIGtXYXNtSDIgPSAweDczOwot
dmFyIGtXYXNtSDMgPSAweDZkOwotCi12YXIga1dhc21WMCA9IDE7Ci12YXIga1dhc21WMSA9IDA7
Ci12YXIga1dhc21WMiA9IDA7Ci12YXIga1dhc21WMyA9IDA7Ci0KLXZhciBrSGVhZGVyU2l6ZSA9
IDg7Ci12YXIga1BhZ2VTaXplID0gNjU1MzY7Ci0KLWZ1bmN0aW9uIGJ5dGVzV2l0aEhlYWRlcigp
IHsKLSAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihrSGVhZGVyU2l6ZSArIGFyZ3VtZW50
cy5sZW5ndGgpOwotICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7Ci0gIHZpZXdb
MF0gPSBrV2FzbUgwOwotICB2aWV3WzFdID0ga1dhc21IMTsKLSAgdmlld1syXSA9IGtXYXNtSDI7
Ci0gIHZpZXdbM10gPSBrV2FzbUgzOwotICB2aWV3WzRdID0ga1dhc21WMDsKLSAgdmlld1s1XSA9
IGtXYXNtVjE7Ci0gIHZpZXdbNl0gPSBrV2FzbVYyOwotICB2aWV3WzddID0ga1dhc21WMzsKLSAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKLSAgICB2YXIgdmFs
ID0gYXJndW1lbnRzW2ldOwotICAgIGlmICgodHlwZW9mIHZhbCkgPT0gInN0cmluZyIpIHZhbCA9
IHZhbC5jaGFyQ29kZUF0KDApOwotICAgIHZpZXdba0hlYWRlclNpemUgKyBpXSA9IHZhbCB8IDA7
Ci0gIH0KLSAgcmV0dXJuIGJ1ZmZlcjsKLX0KLQotbGV0IGtEZWNsTm9Mb2NhbHMgPSAwOwotCi0v
LyBTZWN0aW9uIGRlY2xhcmF0aW9uIGNvbnN0YW50cwotbGV0IGtVbmtub3duU2VjdGlvbkNvZGUg
PSAwOwotbGV0IGtUeXBlU2VjdGlvbkNvZGUgPSAxOyAgICAgIC8vIEZ1bmN0aW9uIHNpZ25hdHVy
ZSBkZWNsYXJhdGlvbnMKLWxldCBrSW1wb3J0U2VjdGlvbkNvZGUgPSAyOyAgICAvLyBJbXBvcnQg
ZGVjbGFyYXRpb25zCi1sZXQga0Z1bmN0aW9uU2VjdGlvbkNvZGUgPSAzOyAgLy8gRnVuY3Rpb24g
ZGVjbGFyYXRpb25zCi1sZXQga1RhYmxlU2VjdGlvbkNvZGUgPSA0OyAgICAgLy8gSW5kaXJlY3Qg
ZnVuY3Rpb24gdGFibGUgYW5kIG90aGVyIHRhYmxlcwotbGV0IGtNZW1vcnlTZWN0aW9uQ29kZSA9
IDU7ICAgIC8vIE1lbW9yeSBhdHRyaWJ1dGVzCi1sZXQga0dsb2JhbFNlY3Rpb25Db2RlID0gNjsg
ICAgLy8gR2xvYmFsIGRlY2xhcmF0aW9ucwotbGV0IGtFeHBvcnRTZWN0aW9uQ29kZSA9IDc7ICAg
IC8vIEV4cG9ydHMKLWxldCBrU3RhcnRTZWN0aW9uQ29kZSA9IDg7ICAgICAvLyBTdGFydCBmdW5j
dGlvbiBkZWNsYXJhdGlvbgotbGV0IGtFbGVtZW50U2VjdGlvbkNvZGUgPSA5OyAgLy8gRWxlbWVu
dHMgc2VjdGlvbgotbGV0IGtDb2RlU2VjdGlvbkNvZGUgPSAxMDsgICAgICAvLyBGdW5jdGlvbiBj
b2RlCi1sZXQga0RhdGFTZWN0aW9uQ29kZSA9IDExOyAgICAgLy8gRGF0YSBzZWdtZW50cwotbGV0
IGtOYW1lU2VjdGlvbkNvZGUgPSAxMjsgICAgIC8vIE5hbWUgc2VjdGlvbiAoZW5jb2RlZCBhcyBz
dHJpbmcpCi0KLWxldCBrV2FzbUZ1bmN0aW9uVHlwZUZvcm0gPSAweDYwOwotbGV0IGtXYXNtQW55
RnVuY3Rpb25UeXBlRm9ybSA9IDB4NzA7Ci0KLWxldCBrUmVzaXphYmxlTWF4aW11bUZsYWcgPSAx
OwotCi0vLyBGdW5jdGlvbiBkZWNsYXJhdGlvbiBmbGFncwotbGV0IGtEZWNsRnVuY3Rpb25OYW1l
ICAgPSAweDAxOwotbGV0IGtEZWNsRnVuY3Rpb25JbXBvcnQgPSAweDAyOwotbGV0IGtEZWNsRnVu
Y3Rpb25Mb2NhbHMgPSAweDA0OwotbGV0IGtEZWNsRnVuY3Rpb25FeHBvcnQgPSAweDA4OwotCi0v
LyBMb2NhbCB0eXBlcwotbGV0IGtXYXNtU3RtdCA9IDB4NDA7Ci1sZXQga1dhc21JMzIgPSAweDdm
OwotbGV0IGtXYXNtSTY0ID0gMHg3ZTsKLWxldCBrV2FzbUYzMiA9IDB4N2Q7Ci1sZXQga1dhc21G
NjQgPSAweDdjOwotbGV0IGtXYXNtUzEyOCA9IDB4N2I7Ci0KLWxldCBrRXh0ZXJuYWxGdW5jdGlv
biA9IDA7Ci1sZXQga0V4dGVybmFsVGFibGUgPSAxOwotbGV0IGtFeHRlcm5hbE1lbW9yeSA9IDI7
Ci1sZXQga0V4dGVybmFsR2xvYmFsID0gMzsKLQotbGV0IGtUYWJsZVplcm8gPSAwOwotbGV0IGtN
ZW1vcnlaZXJvID0gMDsKLQotLy8gVXNlZnVsIHNpZ25hdHVyZXMKLWxldCBrU2lnX2lfaSA9IG1h
a2VTaWcoW2tXYXNtSTMyXSwgW2tXYXNtSTMyXSk7Ci1sZXQga1NpZ19sX2wgPSBtYWtlU2lnKFtr
V2FzbUk2NF0sIFtrV2FzbUk2NF0pOwotbGV0IGtTaWdfaV9sID0gbWFrZVNpZyhba1dhc21JNjRd
LCBba1dhc21JMzJdKTsKLWxldCBrU2lnX2lfaWkgPSBtYWtlU2lnKFtrV2FzbUkzMiwga1dhc21J
MzJdLCBba1dhc21JMzJdKTsKLWxldCBrU2lnX2lfaWlpID0gbWFrZVNpZyhba1dhc21JMzIsIGtX
YXNtSTMyLCBrV2FzbUkzMl0sIFtrV2FzbUkzMl0pOwotbGV0IGtTaWdfZF9kZCA9IG1ha2VTaWco
W2tXYXNtRjY0LCBrV2FzbUY2NF0sIFtrV2FzbUY2NF0pOwotbGV0IGtTaWdfbF9sbCA9IG1ha2VT
aWcoW2tXYXNtSTY0LCBrV2FzbUk2NF0sIFtrV2FzbUk2NF0pOwotbGV0IGtTaWdfaV9kZCA9IG1h
a2VTaWcoW2tXYXNtRjY0LCBrV2FzbUY2NF0sIFtrV2FzbUkzMl0pOwotbGV0IGtTaWdfdl92ID0g
bWFrZVNpZyhbXSwgW10pOwotbGV0IGtTaWdfaV92ID0gbWFrZVNpZyhbXSwgW2tXYXNtSTMyXSk7
Ci1sZXQga1NpZ19sX3YgPSBtYWtlU2lnKFtdLCBba1dhc21JNjRdKTsKLWxldCBrU2lnX2ZfdiA9
IG1ha2VTaWcoW10sIFtrV2FzbUY2NF0pOwotbGV0IGtTaWdfZF92ID0gbWFrZVNpZyhbXSwgW2tX
YXNtRjY0XSk7Ci1sZXQga1NpZ192X2kgPSBtYWtlU2lnKFtrV2FzbUkzMl0sIFtdKTsKLWxldCBr
U2lnX3ZfaWkgPSBtYWtlU2lnKFtrV2FzbUkzMiwga1dhc21JMzJdLCBbXSk7Ci1sZXQga1NpZ192
X2lpaSA9IG1ha2VTaWcoW2tXYXNtSTMyLCBrV2FzbUkzMiwga1dhc21JMzJdLCBbXSk7Ci1sZXQg
a1NpZ192X2wgPSBtYWtlU2lnKFtrV2FzbUk2NF0sIFtdKTsKLWxldCBrU2lnX3ZfZCA9IG1ha2VT
aWcoW2tXYXNtRjY0XSwgW10pOwotbGV0IGtTaWdfdl9kZCA9IG1ha2VTaWcoW2tXYXNtRjY0LCBr
V2FzbUY2NF0sIFtdKTsKLWxldCBrU2lnX3ZfZGRpID0gbWFrZVNpZyhba1dhc21GNjQsIGtXYXNt
RjY0LCBrV2FzbUkzMl0sIFtdKTsKLWxldCBrU2lnX3NfdiA9IG1ha2VTaWcoW10sIFtrV2FzbVMx
MjhdKTsKLQotZnVuY3Rpb24gbWFrZVNpZyhwYXJhbXMsIHJlc3VsdHMpIHsKLSAgcmV0dXJuIHtw
YXJhbXM6IHBhcmFtcywgcmVzdWx0czogcmVzdWx0c307Ci19Ci0KLWZ1bmN0aW9uIG1ha2VTaWdf
dl94KHgpIHsKLSAgcmV0dXJuIG1ha2VTaWcoW3hdLCBbXSk7Ci19Ci0KLWZ1bmN0aW9uIG1ha2VT
aWdfdl94eCh4KSB7Ci0gIHJldHVybiBtYWtlU2lnKFt4LCB4XSwgW10pOwotfQotCi1mdW5jdGlv
biBtYWtlU2lnX3JfdihyKSB7Ci0gIHJldHVybiBtYWtlU2lnKFtdLCBbcl0pOwotfQotCi1mdW5j
dGlvbiBtYWtlU2lnX3JfeChyLCB4KSB7Ci0gIHJldHVybiBtYWtlU2lnKFt4XSwgW3JdKTsKLX0K
LQotZnVuY3Rpb24gbWFrZVNpZ19yX3h4KHIsIHgpIHsKLSAgcmV0dXJuIG1ha2VTaWcoW3gsIHhd
LCBbcl0pOwotfQotCi0vLyBPcGNvZGVzCi1sZXQga0V4cHJVbnJlYWNoYWJsZSA9IDB4MDA7Ci1s
ZXQga0V4cHJOb3AgPSAweDAxOwotbGV0IGtFeHByQmxvY2sgPSAweDAyOwotbGV0IGtFeHByTG9v
cCA9IDB4MDM7Ci1sZXQga0V4cHJJZiA9IDB4MDQ7Ci1sZXQga0V4cHJFbHNlID0gMHgwNTsKLWxl
dCBrRXhwclRyeSA9IDB4MDY7Ci1sZXQga0V4cHJDYXRjaCA9IDB4MDc7Ci1sZXQga0V4cHJUaHJv
dyA9IDB4MDg7Ci1sZXQga0V4cHJFbmQgPSAweDBiOwotbGV0IGtFeHByQnIgPSAweDBjOwotbGV0
IGtFeHByQnJJZiA9IDB4MGQ7Ci1sZXQga0V4cHJCclRhYmxlID0gMHgwZTsKLWxldCBrRXhwclJl
dHVybiA9IDB4MGY7Ci1sZXQga0V4cHJDYWxsRnVuY3Rpb24gPSAweDEwOwotbGV0IGtFeHByQ2Fs
bEluZGlyZWN0ID0gMHgxMTsKLWxldCBrRXhwckRyb3AgPSAweDFhOwotbGV0IGtFeHByU2VsZWN0
ID0gMHgxYjsKLWxldCBrRXhwckdldExvY2FsID0gMHgyMDsKLWxldCBrRXhwclNldExvY2FsID0g
MHgyMTsKLWxldCBrRXhwclRlZUxvY2FsID0gMHgyMjsKLWxldCBrRXhwckdldEdsb2JhbCA9IDB4
MjM7Ci1sZXQga0V4cHJTZXRHbG9iYWwgPSAweDI0OwotbGV0IGtFeHBySTMyQ29uc3QgPSAweDQx
OwotbGV0IGtFeHBySTY0Q29uc3QgPSAweDQyOwotbGV0IGtFeHByRjMyQ29uc3QgPSAweDQzOwot
bGV0IGtFeHByRjY0Q29uc3QgPSAweDQ0OwotbGV0IGtFeHBySTMyTG9hZE1lbSA9IDB4Mjg7Ci1s
ZXQga0V4cHJJNjRMb2FkTWVtID0gMHgyOTsKLWxldCBrRXhwckYzMkxvYWRNZW0gPSAweDJhOwot
bGV0IGtFeHByRjY0TG9hZE1lbSA9IDB4MmI7Ci1sZXQga0V4cHJJMzJMb2FkTWVtOFMgPSAweDJj
OwotbGV0IGtFeHBySTMyTG9hZE1lbThVID0gMHgyZDsKLWxldCBrRXhwckkzMkxvYWRNZW0xNlMg
PSAweDJlOwotbGV0IGtFeHBySTMyTG9hZE1lbTE2VSA9IDB4MmY7Ci1sZXQga0V4cHJJNjRMb2Fk
TWVtOFMgPSAweDMwOwotbGV0IGtFeHBySTY0TG9hZE1lbThVID0gMHgzMTsKLWxldCBrRXhwckk2
NExvYWRNZW0xNlMgPSAweDMyOwotbGV0IGtFeHBySTY0TG9hZE1lbTE2VSA9IDB4MzM7Ci1sZXQg
a0V4cHJJNjRMb2FkTWVtMzJTID0gMHgzNDsKLWxldCBrRXhwckk2NExvYWRNZW0zMlUgPSAweDM1
OwotbGV0IGtFeHBySTMyU3RvcmVNZW0gPSAweDM2OwotbGV0IGtFeHBySTY0U3RvcmVNZW0gPSAw
eDM3OwotbGV0IGtFeHByRjMyU3RvcmVNZW0gPSAweDM4OwotbGV0IGtFeHByRjY0U3RvcmVNZW0g
PSAweDM5OwotbGV0IGtFeHBySTMyU3RvcmVNZW04ID0gMHgzYTsKLWxldCBrRXhwckkzMlN0b3Jl
TWVtMTYgPSAweDNiOwotbGV0IGtFeHBySTY0U3RvcmVNZW04ID0gMHgzYzsKLWxldCBrRXhwckk2
NFN0b3JlTWVtMTYgPSAweDNkOwotbGV0IGtFeHBySTY0U3RvcmVNZW0zMiA9IDB4M2U7Ci1sZXQg
a0V4cHJNZW1vcnlTaXplID0gMHgzZjsKLWxldCBrRXhwckdyb3dNZW1vcnkgPSAweDQwOwotbGV0
IGtFeHBySTMyRXF6ID0gMHg0NTsKLWxldCBrRXhwckkzMkVxID0gMHg0NjsKLWxldCBrRXhwckkz
Mk5lID0gMHg0NzsKLWxldCBrRXhwckkzMkx0UyA9IDB4NDg7Ci1sZXQga0V4cHJJMzJMdFUgPSAw
eDQ5OwotbGV0IGtFeHBySTMyR3RTID0gMHg0YTsKLWxldCBrRXhwckkzMkd0VSA9IDB4NGI7Ci1s
ZXQga0V4cHJJMzJMZVMgPSAweDRjOwotbGV0IGtFeHBySTMyTGVVID0gMHg0ZDsKLWxldCBrRXhw
ckkzMkdlUyA9IDB4NGU7Ci1sZXQga0V4cHJJMzJHZVUgPSAweDRmOwotbGV0IGtFeHBySTY0RXF6
ID0gMHg1MDsKLWxldCBrRXhwckk2NEVxID0gMHg1MTsKLWxldCBrRXhwckk2NE5lID0gMHg1MjsK
LWxldCBrRXhwckk2NEx0UyA9IDB4NTM7Ci1sZXQga0V4cHJJNjRMdFUgPSAweDU0OwotbGV0IGtF
eHBySTY0R3RTID0gMHg1NTsKLWxldCBrRXhwckk2NEd0VSA9IDB4NTY7Ci1sZXQga0V4cHJJNjRM
ZVMgPSAweDU3OwotbGV0IGtFeHBySTY0TGVVID0gMHg1ODsKLWxldCBrRXhwckk2NEdlUyA9IDB4
NTk7Ci1sZXQga0V4cHJJNjRHZVUgPSAweDVhOwotbGV0IGtFeHByRjMyRXEgPSAweDViOwotbGV0
IGtFeHByRjMyTmUgPSAweDVjOwotbGV0IGtFeHByRjMyTHQgPSAweDVkOwotbGV0IGtFeHByRjMy
R3QgPSAweDVlOwotbGV0IGtFeHByRjMyTGUgPSAweDVmOwotbGV0IGtFeHByRjMyR2UgPSAweDYw
OwotbGV0IGtFeHByRjY0RXEgPSAweDYxOwotbGV0IGtFeHByRjY0TmUgPSAweDYyOwotbGV0IGtF
eHByRjY0THQgPSAweDYzOwotbGV0IGtFeHByRjY0R3QgPSAweDY0OwotbGV0IGtFeHByRjY0TGUg
PSAweDY1OwotbGV0IGtFeHByRjY0R2UgPSAweDY2OwotbGV0IGtFeHBySTMyQ2x6ID0gMHg2NzsK
LWxldCBrRXhwckkzMkN0eiA9IDB4Njg7Ci1sZXQga0V4cHJJMzJQb3BjbnQgPSAweDY5OwotbGV0
IGtFeHBySTMyQWRkID0gMHg2YTsKLWxldCBrRXhwckkzMlN1YiA9IDB4NmI7Ci1sZXQga0V4cHJJ
MzJNdWwgPSAweDZjOwotbGV0IGtFeHBySTMyRGl2UyA9IDB4NmQ7Ci1sZXQga0V4cHJJMzJEaXZV
ID0gMHg2ZTsKLWxldCBrRXhwckkzMlJlbVMgPSAweDZmOwotbGV0IGtFeHBySTMyUmVtVSA9IDB4
NzA7Ci1sZXQga0V4cHJJMzJBbmQgPSAweDcxOwotbGV0IGtFeHBySTMySW9yID0gMHg3MjsKLWxl
dCBrRXhwckkzMlhvciA9IDB4NzM7Ci1sZXQga0V4cHJJMzJTaGwgPSAweDc0OwotbGV0IGtFeHBy
STMyU2hyUyA9IDB4NzU7Ci1sZXQga0V4cHJJMzJTaHJVID0gMHg3NjsKLWxldCBrRXhwckkzMlJv
bCA9IDB4Nzc7Ci1sZXQga0V4cHJJMzJSb3IgPSAweDc4OwotbGV0IGtFeHBySTY0Q2x6ID0gMHg3
OTsKLWxldCBrRXhwckk2NEN0eiA9IDB4N2E7Ci1sZXQga0V4cHJJNjRQb3BjbnQgPSAweDdiOwot
bGV0IGtFeHBySTY0QWRkID0gMHg3YzsKLWxldCBrRXhwckk2NFN1YiA9IDB4N2Q7Ci1sZXQga0V4
cHJJNjRNdWwgPSAweDdlOwotbGV0IGtFeHBySTY0RGl2UyA9IDB4N2Y7Ci1sZXQga0V4cHJJNjRE
aXZVID0gMHg4MDsKLWxldCBrRXhwckk2NFJlbVMgPSAweDgxOwotbGV0IGtFeHBySTY0UmVtVSA9
IDB4ODI7Ci1sZXQga0V4cHJJNjRBbmQgPSAweDgzOwotbGV0IGtFeHBySTY0SW9yID0gMHg4NDsK
LWxldCBrRXhwckk2NFhvciA9IDB4ODU7Ci1sZXQga0V4cHJJNjRTaGwgPSAweDg2OwotbGV0IGtF
eHBySTY0U2hyUyA9IDB4ODc7Ci1sZXQga0V4cHJJNjRTaHJVID0gMHg4ODsKLWxldCBrRXhwckk2
NFJvbCA9IDB4ODk7Ci1sZXQga0V4cHJJNjRSb3IgPSAweDhhOwotbGV0IGtFeHByRjMyQWJzID0g
MHg4YjsKLWxldCBrRXhwckYzMk5lZyA9IDB4OGM7Ci1sZXQga0V4cHJGMzJDZWlsID0gMHg4ZDsK
LWxldCBrRXhwckYzMkZsb29yID0gMHg4ZTsKLWxldCBrRXhwckYzMlRydW5jID0gMHg4ZjsKLWxl
dCBrRXhwckYzMk5lYXJlc3RJbnQgPSAweDkwOwotbGV0IGtFeHByRjMyU3FydCA9IDB4OTE7Ci1s
ZXQga0V4cHJGMzJBZGQgPSAweDkyOwotbGV0IGtFeHByRjMyU3ViID0gMHg5MzsKLWxldCBrRXhw
ckYzMk11bCA9IDB4OTQ7Ci1sZXQga0V4cHJGMzJEaXYgPSAweDk1OwotbGV0IGtFeHByRjMyTWlu
ID0gMHg5NjsKLWxldCBrRXhwckYzMk1heCA9IDB4OTc7Ci1sZXQga0V4cHJGMzJDb3B5U2lnbiA9
IDB4OTg7Ci1sZXQga0V4cHJGNjRBYnMgPSAweDk5OwotbGV0IGtFeHByRjY0TmVnID0gMHg5YTsK
LWxldCBrRXhwckY2NENlaWwgPSAweDliOwotbGV0IGtFeHByRjY0Rmxvb3IgPSAweDljOwotbGV0
IGtFeHByRjY0VHJ1bmMgPSAweDlkOwotbGV0IGtFeHByRjY0TmVhcmVzdEludCA9IDB4OWU7Ci1s
ZXQga0V4cHJGNjRTcXJ0ID0gMHg5ZjsKLWxldCBrRXhwckY2NEFkZCA9IDB4YTA7Ci1sZXQga0V4
cHJGNjRTdWIgPSAweGExOwotbGV0IGtFeHByRjY0TXVsID0gMHhhMjsKLWxldCBrRXhwckY2NERp
diA9IDB4YTM7Ci1sZXQga0V4cHJGNjRNaW4gPSAweGE0OwotbGV0IGtFeHByRjY0TWF4ID0gMHhh
NTsKLWxldCBrRXhwckY2NENvcHlTaWduID0gMHhhNjsKLWxldCBrRXhwckkzMkNvbnZlcnRJNjQg
PSAweGE3OwotbGV0IGtFeHBySTMyU0NvbnZlcnRGMzIgPSAweGE4OwotbGV0IGtFeHBySTMyVUNv
bnZlcnRGMzIgPSAweGE5OwotbGV0IGtFeHBySTMyU0NvbnZlcnRGNjQgPSAweGFhOwotbGV0IGtF
eHBySTMyVUNvbnZlcnRGNjQgPSAweGFiOwotbGV0IGtFeHBySTY0U0NvbnZlcnRJMzIgPSAweGFj
OwotbGV0IGtFeHBySTY0VUNvbnZlcnRJMzIgPSAweGFkOwotbGV0IGtFeHBySTY0U0NvbnZlcnRG
MzIgPSAweGFlOwotbGV0IGtFeHBySTY0VUNvbnZlcnRGMzIgPSAweGFmOwotbGV0IGtFeHBySTY0
U0NvbnZlcnRGNjQgPSAweGIwOwotbGV0IGtFeHBySTY0VUNvbnZlcnRGNjQgPSAweGIxOwotbGV0
IGtFeHByRjMyU0NvbnZlcnRJMzIgPSAweGIyOwotbGV0IGtFeHByRjMyVUNvbnZlcnRJMzIgPSAw
eGIzOwotbGV0IGtFeHByRjMyU0NvbnZlcnRJNjQgPSAweGI0OwotbGV0IGtFeHByRjMyVUNvbnZl
cnRJNjQgPSAweGI1OwotbGV0IGtFeHByRjMyQ29udmVydEY2NCA9IDB4YjY7Ci1sZXQga0V4cHJG
NjRTQ29udmVydEkzMiA9IDB4Yjc7Ci1sZXQga0V4cHJGNjRVQ29udmVydEkzMiA9IDB4Yjg7Ci1s
ZXQga0V4cHJGNjRTQ29udmVydEk2NCA9IDB4Yjk7Ci1sZXQga0V4cHJGNjRVQ29udmVydEk2NCA9
IDB4YmE7Ci1sZXQga0V4cHJGNjRDb252ZXJ0RjMyID0gMHhiYjsKLWxldCBrRXhwckkzMlJlaW50
ZXJwcmV0RjMyID0gMHhiYzsKLWxldCBrRXhwckk2NFJlaW50ZXJwcmV0RjY0ID0gMHhiZDsKLWxl
dCBrRXhwckYzMlJlaW50ZXJwcmV0STMyID0gMHhiZTsKLWxldCBrRXhwckY2NFJlaW50ZXJwcmV0
STY0ID0gMHhiZjsKLQotbGV0IGtUcmFwVW5yZWFjaGFibGUgICAgICAgICAgPSAwOwotbGV0IGtU
cmFwTWVtT3V0T2ZCb3VuZHMgICAgICAgPSAxOwotbGV0IGtUcmFwRGl2QnlaZXJvICAgICAgICAg
ICAgPSAyOwotbGV0IGtUcmFwRGl2VW5yZXByZXNlbnRhYmxlICAgPSAzOwotbGV0IGtUcmFwUmVt
QnlaZXJvICAgICAgICAgICAgPSA0OwotbGV0IGtUcmFwRmxvYXRVbnJlcHJlc2VudGFibGUgPSA1
OwotbGV0IGtUcmFwRnVuY0ludmFsaWQgICAgICAgICAgPSA2OwotbGV0IGtUcmFwRnVuY1NpZ01p
c21hdGNoICAgICAgPSA3OwotbGV0IGtUcmFwSW52YWxpZEluZGV4ICAgICAgICAgPSA4OwotCi1s
ZXQga1RyYXBNc2dzID0gWwotICAidW5yZWFjaGFibGUiLAotICAibWVtb3J5IGFjY2VzcyBvdXQg
b2YgYm91bmRzIiwKLSAgImRpdmlkZSBieSB6ZXJvIiwKLSAgImRpdmlkZSByZXN1bHQgdW5yZXBy
ZXNlbnRhYmxlIiwKLSAgInJlbWFpbmRlciBieSB6ZXJvIiwKLSAgImludGVnZXIgcmVzdWx0IHVu
cmVwcmVzZW50YWJsZSIsCi0gICJpbnZhbGlkIGZ1bmN0aW9uIiwKLSAgImZ1bmN0aW9uIHNpZ25h
dHVyZSBtaXNtYXRjaCIsCi0gICJpbnZhbGlkIGluZGV4IGludG8gZnVuY3Rpb24gdGFibGUiCi1d
OwotCi1mdW5jdGlvbiBhc3NlcnRUcmFwcyh0cmFwLCBjb2RlKSB7Ci0gICAgdmFyIHRocmV3RXhj
ZXB0aW9uID0gdHJ1ZTsKLSAgICB0cnkgewotICAgICAgaWYgKHR5cGVvZiBjb2RlID09PSAnZnVu
Y3Rpb24nKSB7Ci0gICAgICAgIGNvZGUoKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGV2YWwo
Y29kZSk7Ci0gICAgICB9Ci0gICAgICB0aHJld0V4Y2VwdGlvbiA9IGZhbHNlOwotICAgIH0gY2F0
Y2ggKGUpIHsKLSAgICAgIGFzc2VydEVxdWFscygib2JqZWN0IiwgdHlwZW9mIGUpOwotICAgICAg
YXNzZXJ0RXF1YWxzKGtUcmFwTXNnc1t0cmFwXSwgZS5tZXNzYWdlKTsKLSAgICAgIC8vIFN1Y2Nl
c3MuCi0gICAgICByZXR1cm47Ci0gICAgfQotICAgIHRocm93IG5ldyBNanNVbml0QXNzZXJ0aW9u
RXJyb3IoIkRpZCBub3QgdHJhcCwgZXhwZWN0ZWQ6ICIgKyBrVHJhcE1zZ3NbdHJhcF0pOwotfQot
Ci1mdW5jdGlvbiBhc3NlcnRXYXNtVGhyb3dzKHZhbHVlLCBjb2RlKSB7Ci0gICAgYXNzZXJ0RXF1
YWxzKCJudW1iZXIiLCB0eXBlb2YodmFsdWUpKTsKLSAgICB0cnkgewotICAgICAgaWYgKHR5cGVv
ZiBjb2RlID09PSAnZnVuY3Rpb24nKSB7Ci0gICAgICAgIGNvZGUoKTsKLSAgICAgIH0gZWxzZSB7
Ci0gICAgICAgIGV2YWwoY29kZSk7Ci0gICAgICB9Ci0gICAgfSBjYXRjaCAoZSkgewotICAgICAg
YXNzZXJ0RXF1YWxzKCJudW1iZXIiLCB0eXBlb2YgZSk7Ci0gICAgICBhc3NlcnRFcXVhbHModmFs
dWUsIGUpOwotICAgICAgLy8gU3VjY2Vzcy4KLSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhy
b3cgbmV3IE1qc1VuaXRBc3NlcnRpb25FcnJvcigiRGlkIG5vdCB0aHJvdyBhdCBhbGwsIGV4cGVj
dGVkOiAiICsgdmFsdWUpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvd2Fz
bS1tb2R1bGUtYnVpbGRlci5qcwppbmRleCA2ZTkyODRlNzczMTA1ZGI1NzUxYzU0ODNlZDkzMzNh
NDUyNzJiMTgwLi44MmM2ZTA0MTM1ZjFiODZkZjFhMWQ4ZTcyYzVmODI5YzMyOTdiYjEwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwpA
QCAtMyw0NCArMyw1NDMgQEAKIC8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKIC8vIFVz
ZWQgZm9yIGVuY29kaW5nIGYzMiBhbmQgZG91YmxlIGNvbnN0YW50cyB0byBiaXRzLgotbGV0IF9f
YnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDgpOwotbGV0IGJ5dGVfdmlldyA9IG5ldyBJbnQ4QXJy
YXkoX19idWZmZXIpOwotbGV0IGYzMl92aWV3ID0gbmV3IEZsb2F0MzJBcnJheShfX2J1ZmZlcik7
Ci1sZXQgZjY0X3ZpZXcgPSBuZXcgRmxvYXQ2NEFycmF5KF9fYnVmZmVyKTsKK2xldCBmMzJfdmll
dyA9IG5ldyBGbG9hdDMyQXJyYXkoMSk7CitsZXQgZjMyX2J5dGVzX3ZpZXcgPSBuZXcgVWludDhB
cnJheShmMzJfdmlldy5idWZmZXIpOworbGV0IGY2NF92aWV3ID0gbmV3IEZsb2F0NjRBcnJheSgx
KTsKK2xldCBmNjRfYnl0ZXNfdmlldyA9IG5ldyBVaW50OEFycmF5KGY2NF92aWV3LmJ1ZmZlcik7
CisKKy8vIFRoZSBieXRlcyBmdW5jdGlvbiByZWNlaXZlcyBvbmUgb2YKKy8vICAtIHNldmVyYWwg
YXJndW1lbnRzLCBlYWNoIG9mIHdoaWNoIGlzIGVpdGhlciBhIG51bWJlciBvciBhIHN0cmluZyBv
ZiBsZW5ndGgKKy8vICAgIDE7IGlmIGl0J3MgYSBzdHJpbmcsIHRoZSBjaGFyY29kZSBvZiB0aGUg
Y29udGFpbmVkIGNoYXJhY3RlciBpcyB1c2VkLgorLy8gIC0gYSBzaW5nbGUgYXJyYXkgYXJndW1l
bnQgY29udGFpbmluZyB0aGUgYWN0dWFsIGFyZ3VtZW50cworLy8gIC0gYSBzaW5nbGUgc3RyaW5n
OyB0aGUgcmV0dXJuZWQgYnVmZmVyIHdpbGwgY29udGFpbiB0aGUgY2hhciBjb2RlcyBvZiBhbGwK
Ky8vICAgIGNvbnRhaW5lZCBjaGFyYWN0ZXJzLgorZnVuY3Rpb24gYnl0ZXMoLi4uaW5wdXQpIHsK
KyAgaWYgKGlucHV0Lmxlbmd0aCA9PSAxICYmIHR5cGVvZiBpbnB1dFswXSA9PSAnYXJyYXknKSBp
bnB1dCA9IGlucHV0WzBdOworICBpZiAoaW5wdXQubGVuZ3RoID09IDEgJiYgdHlwZW9mIGlucHV0
WzBdID09ICdzdHJpbmcnKSB7CisgICAgbGV0IGxlbiA9IGlucHV0WzBdLmxlbmd0aDsKKyAgICBs
ZXQgdmlldyA9IG5ldyBVaW50OEFycmF5KGxlbik7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBs
ZW47IGkrKykgdmlld1tpXSA9IGlucHV0WzBdLmNoYXJDb2RlQXQoaSk7CisgICAgcmV0dXJuIHZp
ZXcuYnVmZmVyOworICB9CisgIGxldCB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoaW5wdXQubGVuZ3Ro
KTsKKyAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykgeworICAgIGxldCB2
YWwgPSBpbnB1dFtpXTsKKyAgICBpZiAodHlwZW9mIHZhbCA9PSAnc3RyaW5nJykgeworICAgICAg
YXNzZXJ0RXF1YWxzKDEsIHZhbC5sZW5ndGgsICdzdHJpbmcgaW5wdXRzIG11c3QgaGF2ZSBsZW5n
dGggMScpOworICAgICAgdmFsID0gdmFsLmNoYXJDb2RlQXQoMCk7CisgICAgfQorICAgIHZpZXdb
aV0gPSB2YWwgfCAwOworICB9CisgIHJldHVybiB2aWV3LmJ1ZmZlcjsKK30KKworLy8gSGVhZGVy
IGRlY2xhcmF0aW9uIGNvbnN0YW50cwordmFyIGtXYXNtSDAgPSAwOwordmFyIGtXYXNtSDEgPSAw
eDYxOwordmFyIGtXYXNtSDIgPSAweDczOwordmFyIGtXYXNtSDMgPSAweDZkOworCit2YXIga1dh
c21WMCA9IDB4MTsKK3ZhciBrV2FzbVYxID0gMDsKK3ZhciBrV2FzbVYyID0gMDsKK3ZhciBrV2Fz
bVYzID0gMDsKKwordmFyIGtIZWFkZXJTaXplID0gODsKK3ZhciBrUGFnZVNpemUgPSA2NTUzNjsK
K3ZhciBrU3BlY01heFBhZ2VzID0gNjU1MzU7Cit2YXIga01heFZhckludDMyU2l6ZSA9IDU7Cit2
YXIga01heFZhckludDY0U2l6ZSA9IDEwOworCitsZXQga0RlY2xOb0xvY2FscyA9IDA7CisKKy8v
IFNlY3Rpb24gZGVjbGFyYXRpb24gY29uc3RhbnRzCitsZXQga1Vua25vd25TZWN0aW9uQ29kZSA9
IDA7CitsZXQga1R5cGVTZWN0aW9uQ29kZSA9IDE7ICAgICAgICAvLyBGdW5jdGlvbiBzaWduYXR1
cmUgZGVjbGFyYXRpb25zCitsZXQga0ltcG9ydFNlY3Rpb25Db2RlID0gMjsgICAgICAvLyBJbXBv
cnQgZGVjbGFyYXRpb25zCitsZXQga0Z1bmN0aW9uU2VjdGlvbkNvZGUgPSAzOyAgICAvLyBGdW5j
dGlvbiBkZWNsYXJhdGlvbnMKK2xldCBrVGFibGVTZWN0aW9uQ29kZSA9IDQ7ICAgICAgIC8vIElu
ZGlyZWN0IGZ1bmN0aW9uIHRhYmxlIGFuZCBvdGhlciB0YWJsZXMKK2xldCBrTWVtb3J5U2VjdGlv
bkNvZGUgPSA1OyAgICAgIC8vIE1lbW9yeSBhdHRyaWJ1dGVzCitsZXQga0dsb2JhbFNlY3Rpb25D
b2RlID0gNjsgICAgICAvLyBHbG9iYWwgZGVjbGFyYXRpb25zCitsZXQga0V4cG9ydFNlY3Rpb25D
b2RlID0gNzsgICAgICAvLyBFeHBvcnRzCitsZXQga1N0YXJ0U2VjdGlvbkNvZGUgPSA4OyAgICAg
ICAvLyBTdGFydCBmdW5jdGlvbiBkZWNsYXJhdGlvbgorbGV0IGtFbGVtZW50U2VjdGlvbkNvZGUg
PSA5OyAgICAgLy8gRWxlbWVudHMgc2VjdGlvbgorbGV0IGtDb2RlU2VjdGlvbkNvZGUgPSAxMDsg
ICAgICAgLy8gRnVuY3Rpb24gY29kZQorbGV0IGtEYXRhU2VjdGlvbkNvZGUgPSAxMTsgICAgICAg
Ly8gRGF0YSBzZWdtZW50cworbGV0IGtEYXRhQ291bnRTZWN0aW9uQ29kZSA9IDEyOyAgLy8gRGF0
YSBzZWdtZW50IGNvdW50IChiZXR3ZWVuIEVsZW1lbnQgJiBDb2RlKQorbGV0IGtFeGNlcHRpb25T
ZWN0aW9uQ29kZSA9IDEzOyAgLy8gRXhjZXB0aW9uIHNlY3Rpb24gKGJldHdlZW4gR2xvYmFsICYg
RXhwb3J0KQorCisvLyBOYW1lIHNlY3Rpb24gdHlwZXMKK2xldCBrTW9kdWxlTmFtZUNvZGUgPSAw
OworbGV0IGtGdW5jdGlvbk5hbWVzQ29kZSA9IDE7CitsZXQga0xvY2FsTmFtZXNDb2RlID0gMjsK
KworbGV0IGtXYXNtRnVuY3Rpb25UeXBlRm9ybSA9IDB4NjA7CitsZXQga1dhc21BbnlGdW5jdGlv
blR5cGVGb3JtID0gMHg3MDsKKworbGV0IGtIYXNNYXhpbXVtRmxhZyA9IDE7CitsZXQga1NoYXJl
ZEhhc01heGltdW1GbGFnID0gMzsKKworLy8gU2VnbWVudCBmbGFncworbGV0IGtBY3RpdmVOb0lu
ZGV4ID0gMDsKK2xldCBrUGFzc2l2ZSA9IDE7CitsZXQga0FjdGl2ZVdpdGhJbmRleCA9IDI7Cits
ZXQga1Bhc3NpdmVXaXRoRWxlbWVudHMgPSA1OworCisvLyBGdW5jdGlvbiBkZWNsYXJhdGlvbiBm
bGFncworbGV0IGtEZWNsRnVuY3Rpb25OYW1lICAgPSAweDAxOworbGV0IGtEZWNsRnVuY3Rpb25J
bXBvcnQgPSAweDAyOworbGV0IGtEZWNsRnVuY3Rpb25Mb2NhbHMgPSAweDA0OworbGV0IGtEZWNs
RnVuY3Rpb25FeHBvcnQgPSAweDA4OworCisvLyBMb2NhbCB0eXBlcworbGV0IGtXYXNtU3RtdCA9
IDB4NDA7CitsZXQga1dhc21JMzIgPSAweDdmOworbGV0IGtXYXNtSTY0ID0gMHg3ZTsKK2xldCBr
V2FzbUYzMiA9IDB4N2Q7CitsZXQga1dhc21GNjQgPSAweDdjOworbGV0IGtXYXNtUzEyOCA9IDB4
N2I7CitsZXQga1dhc21BbnlSZWYgPSAweDZmOworbGV0IGtXYXNtQW55RnVuYyA9IDB4NzA7Cits
ZXQga1dhc21FeG5SZWYgPSAweDY4OworCitsZXQga0V4dGVybmFsRnVuY3Rpb24gPSAwOworbGV0
IGtFeHRlcm5hbFRhYmxlID0gMTsKK2xldCBrRXh0ZXJuYWxNZW1vcnkgPSAyOworbGV0IGtFeHRl
cm5hbEdsb2JhbCA9IDM7CitsZXQga0V4dGVybmFsRXhjZXB0aW9uID0gNDsKKworbGV0IGtUYWJs
ZVplcm8gPSAwOworbGV0IGtNZW1vcnlaZXJvID0gMDsKK2xldCBrU2VnbWVudFplcm8gPSAwOwor
CitsZXQga0V4Y2VwdGlvbkF0dHJpYnV0ZSA9IDA7CisKKy8vIFVzZWZ1bCBzaWduYXR1cmVzCits
ZXQga1NpZ19pX2kgPSBtYWtlU2lnKFtrV2FzbUkzMl0sIFtrV2FzbUkzMl0pOworbGV0IGtTaWdf
bF9sID0gbWFrZVNpZyhba1dhc21JNjRdLCBba1dhc21JNjRdKTsKK2xldCBrU2lnX2lfbCA9IG1h
a2VTaWcoW2tXYXNtSTY0XSwgW2tXYXNtSTMyXSk7CitsZXQga1NpZ19pX2lpID0gbWFrZVNpZyhb
a1dhc21JMzIsIGtXYXNtSTMyXSwgW2tXYXNtSTMyXSk7CitsZXQga1NpZ19pX2lpaSA9IG1ha2VT
aWcoW2tXYXNtSTMyLCBrV2FzbUkzMiwga1dhc21JMzJdLCBba1dhc21JMzJdKTsKK2xldCBrU2ln
X3ZfaWlpaSA9IG1ha2VTaWcoW2tXYXNtSTMyLCBrV2FzbUkzMiwga1dhc21JMzIsIGtXYXNtSTMy
XSwgW10pOworbGV0IGtTaWdfZl9mZiA9IG1ha2VTaWcoW2tXYXNtRjMyLCBrV2FzbUYzMl0sIFtr
V2FzbUYzMl0pOworbGV0IGtTaWdfZF9kZCA9IG1ha2VTaWcoW2tXYXNtRjY0LCBrV2FzbUY2NF0s
IFtrV2FzbUY2NF0pOworbGV0IGtTaWdfbF9sbCA9IG1ha2VTaWcoW2tXYXNtSTY0LCBrV2FzbUk2
NF0sIFtrV2FzbUk2NF0pOworbGV0IGtTaWdfaV9kZCA9IG1ha2VTaWcoW2tXYXNtRjY0LCBrV2Fz
bUY2NF0sIFtrV2FzbUkzMl0pOworbGV0IGtTaWdfdl92ID0gbWFrZVNpZyhbXSwgW10pOworbGV0
IGtTaWdfaV92ID0gbWFrZVNpZyhbXSwgW2tXYXNtSTMyXSk7CitsZXQga1NpZ19sX3YgPSBtYWtl
U2lnKFtdLCBba1dhc21JNjRdKTsKK2xldCBrU2lnX2ZfdiA9IG1ha2VTaWcoW10sIFtrV2FzbUYz
Ml0pOworbGV0IGtTaWdfZF92ID0gbWFrZVNpZyhbXSwgW2tXYXNtRjY0XSk7CitsZXQga1NpZ192
X2kgPSBtYWtlU2lnKFtrV2FzbUkzMl0sIFtdKTsKK2xldCBrU2lnX3ZfaWkgPSBtYWtlU2lnKFtr
V2FzbUkzMiwga1dhc21JMzJdLCBbXSk7CitsZXQga1NpZ192X2lpaSA9IG1ha2VTaWcoW2tXYXNt
STMyLCBrV2FzbUkzMiwga1dhc21JMzJdLCBbXSk7CitsZXQga1NpZ192X2wgPSBtYWtlU2lnKFtr
V2FzbUk2NF0sIFtdKTsKK2xldCBrU2lnX3ZfZCA9IG1ha2VTaWcoW2tXYXNtRjY0XSwgW10pOwor
bGV0IGtTaWdfdl9kZCA9IG1ha2VTaWcoW2tXYXNtRjY0LCBrV2FzbUY2NF0sIFtdKTsKK2xldCBr
U2lnX3ZfZGRpID0gbWFrZVNpZyhba1dhc21GNjQsIGtXYXNtRjY0LCBrV2FzbUkzMl0sIFtdKTsK
K2xldCBrU2lnX2lpX3YgPSBtYWtlU2lnKFtdLCBba1dhc21JMzIsIGtXYXNtSTMyXSk7CitsZXQg
a1NpZ19paWlfdiA9IG1ha2VTaWcoW10sIFtrV2FzbUkzMiwga1dhc21JMzIsIGtXYXNtSTMyXSk7
CitsZXQga1NpZ19paV9pID0gbWFrZVNpZyhba1dhc21JMzJdLCBba1dhc21JMzIsIGtXYXNtSTMy
XSk7CitsZXQga1NpZ19paWlfaSA9IG1ha2VTaWcoW2tXYXNtSTMyXSwgW2tXYXNtSTMyLCBrV2Fz
bUkzMiwga1dhc21JMzJdKTsKK2xldCBrU2lnX2lpX2lpID0gbWFrZVNpZyhba1dhc21JMzIsIGtX
YXNtSTMyXSwgW2tXYXNtSTMyLCBrV2FzbUkzMl0pOworbGV0IGtTaWdfaWlpX2lpID0gbWFrZVNp
Zyhba1dhc21JMzIsIGtXYXNtSTMyXSwgW2tXYXNtSTMyLCBrV2FzbUkzMiwga1dhc21JMzJdKTsK
KworbGV0IGtTaWdfdl9mID0gbWFrZVNpZyhba1dhc21GMzJdLCBbXSk7CitsZXQga1NpZ19mX2Yg
PSBtYWtlU2lnKFtrV2FzbUYzMl0sIFtrV2FzbUYzMl0pOworbGV0IGtTaWdfZl9kID0gbWFrZVNp
Zyhba1dhc21GNjRdLCBba1dhc21GMzJdKTsKK2xldCBrU2lnX2RfZCA9IG1ha2VTaWcoW2tXYXNt
RjY0XSwgW2tXYXNtRjY0XSk7CitsZXQga1NpZ19yX3IgPSBtYWtlU2lnKFtrV2FzbUFueVJlZl0s
IFtrV2FzbUFueVJlZl0pOworbGV0IGtTaWdfYV9hID0gbWFrZVNpZyhba1dhc21BbnlGdW5jXSwg
W2tXYXNtQW55RnVuY10pOworbGV0IGtTaWdfZV9lID0gbWFrZVNpZyhba1dhc21FeG5SZWZdLCBb
a1dhc21FeG5SZWZdKTsKK2xldCBrU2lnX2lfciA9IG1ha2VTaWcoW2tXYXNtQW55UmVmXSwgW2tX
YXNtSTMyXSk7CitsZXQga1NpZ192X3IgPSBtYWtlU2lnKFtrV2FzbUFueVJlZl0sIFtdKTsKK2xl
dCBrU2lnX3ZfYSA9IG1ha2VTaWcoW2tXYXNtQW55RnVuY10sIFtdKTsKK2xldCBrU2lnX3ZfZSA9
IG1ha2VTaWcoW2tXYXNtRXhuUmVmXSwgW10pOworbGV0IGtTaWdfdl9yciA9IG1ha2VTaWcoW2tX
YXNtQW55UmVmLCBrV2FzbUFueVJlZl0sIFtdKTsKK2xldCBrU2lnX3ZfYWEgPSBtYWtlU2lnKFtr
V2FzbUFueUZ1bmMsIGtXYXNtQW55RnVuY10sIFtdKTsKK2xldCBrU2lnX3JfdiA9IG1ha2VTaWco
W10sIFtrV2FzbUFueVJlZl0pOworbGV0IGtTaWdfYV92ID0gbWFrZVNpZyhbXSwgW2tXYXNtQW55
RnVuY10pOworbGV0IGtTaWdfYV9pID0gbWFrZVNpZyhba1dhc21JMzJdLCBba1dhc21BbnlGdW5j
XSk7CitsZXQga1NpZ19lX3YgPSBtYWtlU2lnKFtdLCBba1dhc21FeG5SZWZdKTsKKworZnVuY3Rp
b24gbWFrZVNpZyhwYXJhbXMsIHJlc3VsdHMpIHsKKyAgcmV0dXJuIHtwYXJhbXM6IHBhcmFtcywg
cmVzdWx0czogcmVzdWx0c307Cit9CisKK2Z1bmN0aW9uIG1ha2VTaWdfdl94KHgpIHsKKyAgcmV0
dXJuIG1ha2VTaWcoW3hdLCBbXSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VTaWdfdl94eCh4KSB7Cisg
IHJldHVybiBtYWtlU2lnKFt4LCB4XSwgW10pOworfQorCitmdW5jdGlvbiBtYWtlU2lnX3Jfdihy
KSB7CisgIHJldHVybiBtYWtlU2lnKFtdLCBbcl0pOworfQorCitmdW5jdGlvbiBtYWtlU2lnX3Jf
eChyLCB4KSB7CisgIHJldHVybiBtYWtlU2lnKFt4XSwgW3JdKTsKK30KKworZnVuY3Rpb24gbWFr
ZVNpZ19yX3h4KHIsIHgpIHsKKyAgcmV0dXJuIG1ha2VTaWcoW3gsIHhdLCBbcl0pOworfQorCisv
LyBPcGNvZGVzCitsZXQga0V4cHJVbnJlYWNoYWJsZSA9IDB4MDA7CitsZXQga0V4cHJOb3AgPSAw
eDAxOworbGV0IGtFeHByQmxvY2sgPSAweDAyOworbGV0IGtFeHByTG9vcCA9IDB4MDM7CitsZXQg
a0V4cHJJZiA9IDB4MDQ7CitsZXQga0V4cHJFbHNlID0gMHgwNTsKK2xldCBrRXhwclRyeSA9IDB4
MDY7CitsZXQga0V4cHJDYXRjaCA9IDB4MDc7CitsZXQga0V4cHJUaHJvdyA9IDB4MDg7CitsZXQg
a0V4cHJSZXRocm93ID0gMHgwOTsKK2xldCBrRXhwckJyT25FeG4gPSAweDBhOworbGV0IGtFeHBy
RW5kID0gMHgwYjsKK2xldCBrRXhwckJyID0gMHgwYzsKK2xldCBrRXhwckJySWYgPSAweDBkOwor
bGV0IGtFeHByQnJUYWJsZSA9IDB4MGU7CitsZXQga0V4cHJSZXR1cm4gPSAweDBmOworbGV0IGtF
eHByQ2FsbEZ1bmN0aW9uID0gMHgxMDsKK2xldCBrRXhwckNhbGxJbmRpcmVjdCA9IDB4MTE7Cits
ZXQga0V4cHJSZXR1cm5DYWxsID0gMHgxMjsKK2xldCBrRXhwclJldHVybkNhbGxJbmRpcmVjdCA9
IDB4MTM7CitsZXQga0V4cHJEcm9wID0gMHgxYTsKK2xldCBrRXhwclNlbGVjdCA9IDB4MWI7Cits
ZXQga0V4cHJMb2NhbEdldCA9IDB4MjA7CitsZXQga0V4cHJMb2NhbFNldCA9IDB4MjE7CitsZXQg
a0V4cHJMb2NhbFRlZSA9IDB4MjI7CitsZXQga0V4cHJHbG9iYWxHZXQgPSAweDIzOworbGV0IGtF
eHByR2xvYmFsU2V0ID0gMHgyNDsKK2xldCBrRXhwclRhYmxlR2V0ID0gMHgyNTsKK2xldCBrRXhw
clRhYmxlU2V0ID0gMHgyNjsKK2xldCBrRXhwckkzMkxvYWRNZW0gPSAweDI4OworbGV0IGtFeHBy
STY0TG9hZE1lbSA9IDB4Mjk7CitsZXQga0V4cHJGMzJMb2FkTWVtID0gMHgyYTsKK2xldCBrRXhw
ckY2NExvYWRNZW0gPSAweDJiOworbGV0IGtFeHBySTMyTG9hZE1lbThTID0gMHgyYzsKK2xldCBr
RXhwckkzMkxvYWRNZW04VSA9IDB4MmQ7CitsZXQga0V4cHJJMzJMb2FkTWVtMTZTID0gMHgyZTsK
K2xldCBrRXhwckkzMkxvYWRNZW0xNlUgPSAweDJmOworbGV0IGtFeHBySTY0TG9hZE1lbThTID0g
MHgzMDsKK2xldCBrRXhwckk2NExvYWRNZW04VSA9IDB4MzE7CitsZXQga0V4cHJJNjRMb2FkTWVt
MTZTID0gMHgzMjsKK2xldCBrRXhwckk2NExvYWRNZW0xNlUgPSAweDMzOworbGV0IGtFeHBySTY0
TG9hZE1lbTMyUyA9IDB4MzQ7CitsZXQga0V4cHJJNjRMb2FkTWVtMzJVID0gMHgzNTsKK2xldCBr
RXhwckkzMlN0b3JlTWVtID0gMHgzNjsKK2xldCBrRXhwckk2NFN0b3JlTWVtID0gMHgzNzsKK2xl
dCBrRXhwckYzMlN0b3JlTWVtID0gMHgzODsKK2xldCBrRXhwckY2NFN0b3JlTWVtID0gMHgzOTsK
K2xldCBrRXhwckkzMlN0b3JlTWVtOCA9IDB4M2E7CitsZXQga0V4cHJJMzJTdG9yZU1lbTE2ID0g
MHgzYjsKK2xldCBrRXhwckk2NFN0b3JlTWVtOCA9IDB4M2M7CitsZXQga0V4cHJJNjRTdG9yZU1l
bTE2ID0gMHgzZDsKK2xldCBrRXhwckk2NFN0b3JlTWVtMzIgPSAweDNlOworbGV0IGtFeHByTWVt
b3J5U2l6ZSA9IDB4M2Y7CitsZXQga0V4cHJNZW1vcnlHcm93ID0gMHg0MDsKK2xldCBrRXhwckkz
MkNvbnN0ID0gMHg0MTsKK2xldCBrRXhwckk2NENvbnN0ID0gMHg0MjsKK2xldCBrRXhwckYzMkNv
bnN0ID0gMHg0MzsKK2xldCBrRXhwckY2NENvbnN0ID0gMHg0NDsKK2xldCBrRXhwckkzMkVxeiA9
IDB4NDU7CitsZXQga0V4cHJJMzJFcSA9IDB4NDY7CitsZXQga0V4cHJJMzJOZSA9IDB4NDc7Cits
ZXQga0V4cHJJMzJMdFMgPSAweDQ4OworbGV0IGtFeHBySTMyTHRVID0gMHg0OTsKK2xldCBrRXhw
ckkzMkd0UyA9IDB4NGE7CitsZXQga0V4cHJJMzJHdFUgPSAweDRiOworbGV0IGtFeHBySTMyTGVT
ID0gMHg0YzsKK2xldCBrRXhwckkzMkxlVSA9IDB4NGQ7CitsZXQga0V4cHJJMzJHZVMgPSAweDRl
OworbGV0IGtFeHBySTMyR2VVID0gMHg0ZjsKK2xldCBrRXhwckk2NEVxeiA9IDB4NTA7CitsZXQg
a0V4cHJJNjRFcSA9IDB4NTE7CitsZXQga0V4cHJJNjROZSA9IDB4NTI7CitsZXQga0V4cHJJNjRM
dFMgPSAweDUzOworbGV0IGtFeHBySTY0THRVID0gMHg1NDsKK2xldCBrRXhwckk2NEd0UyA9IDB4
NTU7CitsZXQga0V4cHJJNjRHdFUgPSAweDU2OworbGV0IGtFeHBySTY0TGVTID0gMHg1NzsKK2xl
dCBrRXhwckk2NExlVSA9IDB4NTg7CitsZXQga0V4cHJJNjRHZVMgPSAweDU5OworbGV0IGtFeHBy
STY0R2VVID0gMHg1YTsKK2xldCBrRXhwckYzMkVxID0gMHg1YjsKK2xldCBrRXhwckYzMk5lID0g
MHg1YzsKK2xldCBrRXhwckYzMkx0ID0gMHg1ZDsKK2xldCBrRXhwckYzMkd0ID0gMHg1ZTsKK2xl
dCBrRXhwckYzMkxlID0gMHg1ZjsKK2xldCBrRXhwckYzMkdlID0gMHg2MDsKK2xldCBrRXhwckY2
NEVxID0gMHg2MTsKK2xldCBrRXhwckY2NE5lID0gMHg2MjsKK2xldCBrRXhwckY2NEx0ID0gMHg2
MzsKK2xldCBrRXhwckY2NEd0ID0gMHg2NDsKK2xldCBrRXhwckY2NExlID0gMHg2NTsKK2xldCBr
RXhwckY2NEdlID0gMHg2NjsKK2xldCBrRXhwckkzMkNseiA9IDB4Njc7CitsZXQga0V4cHJJMzJD
dHogPSAweDY4OworbGV0IGtFeHBySTMyUG9wY250ID0gMHg2OTsKK2xldCBrRXhwckkzMkFkZCA9
IDB4NmE7CitsZXQga0V4cHJJMzJTdWIgPSAweDZiOworbGV0IGtFeHBySTMyTXVsID0gMHg2YzsK
K2xldCBrRXhwckkzMkRpdlMgPSAweDZkOworbGV0IGtFeHBySTMyRGl2VSA9IDB4NmU7CitsZXQg
a0V4cHJJMzJSZW1TID0gMHg2ZjsKK2xldCBrRXhwckkzMlJlbVUgPSAweDcwOworbGV0IGtFeHBy
STMyQW5kID0gMHg3MTsKK2xldCBrRXhwckkzMklvciA9IDB4NzI7CitsZXQga0V4cHJJMzJYb3Ig
PSAweDczOworbGV0IGtFeHBySTMyU2hsID0gMHg3NDsKK2xldCBrRXhwckkzMlNoclMgPSAweDc1
OworbGV0IGtFeHBySTMyU2hyVSA9IDB4NzY7CitsZXQga0V4cHJJMzJSb2wgPSAweDc3OworbGV0
IGtFeHBySTMyUm9yID0gMHg3ODsKK2xldCBrRXhwckk2NENseiA9IDB4Nzk7CitsZXQga0V4cHJJ
NjRDdHogPSAweDdhOworbGV0IGtFeHBySTY0UG9wY250ID0gMHg3YjsKK2xldCBrRXhwckk2NEFk
ZCA9IDB4N2M7CitsZXQga0V4cHJJNjRTdWIgPSAweDdkOworbGV0IGtFeHBySTY0TXVsID0gMHg3
ZTsKK2xldCBrRXhwckk2NERpdlMgPSAweDdmOworbGV0IGtFeHBySTY0RGl2VSA9IDB4ODA7Cits
ZXQga0V4cHJJNjRSZW1TID0gMHg4MTsKK2xldCBrRXhwckk2NFJlbVUgPSAweDgyOworbGV0IGtF
eHBySTY0QW5kID0gMHg4MzsKK2xldCBrRXhwckk2NElvciA9IDB4ODQ7CitsZXQga0V4cHJJNjRY
b3IgPSAweDg1OworbGV0IGtFeHBySTY0U2hsID0gMHg4NjsKK2xldCBrRXhwckk2NFNoclMgPSAw
eDg3OworbGV0IGtFeHBySTY0U2hyVSA9IDB4ODg7CitsZXQga0V4cHJJNjRSb2wgPSAweDg5Owor
bGV0IGtFeHBySTY0Um9yID0gMHg4YTsKK2xldCBrRXhwckYzMkFicyA9IDB4OGI7CitsZXQga0V4
cHJGMzJOZWcgPSAweDhjOworbGV0IGtFeHByRjMyQ2VpbCA9IDB4OGQ7CitsZXQga0V4cHJGMzJG
bG9vciA9IDB4OGU7CitsZXQga0V4cHJGMzJUcnVuYyA9IDB4OGY7CitsZXQga0V4cHJGMzJOZWFy
ZXN0SW50ID0gMHg5MDsKK2xldCBrRXhwckYzMlNxcnQgPSAweDkxOworbGV0IGtFeHByRjMyQWRk
ID0gMHg5MjsKK2xldCBrRXhwckYzMlN1YiA9IDB4OTM7CitsZXQga0V4cHJGMzJNdWwgPSAweDk0
OworbGV0IGtFeHByRjMyRGl2ID0gMHg5NTsKK2xldCBrRXhwckYzMk1pbiA9IDB4OTY7CitsZXQg
a0V4cHJGMzJNYXggPSAweDk3OworbGV0IGtFeHByRjMyQ29weVNpZ24gPSAweDk4OworbGV0IGtF
eHByRjY0QWJzID0gMHg5OTsKK2xldCBrRXhwckY2NE5lZyA9IDB4OWE7CitsZXQga0V4cHJGNjRD
ZWlsID0gMHg5YjsKK2xldCBrRXhwckY2NEZsb29yID0gMHg5YzsKK2xldCBrRXhwckY2NFRydW5j
ID0gMHg5ZDsKK2xldCBrRXhwckY2NE5lYXJlc3RJbnQgPSAweDllOworbGV0IGtFeHByRjY0U3Fy
dCA9IDB4OWY7CitsZXQga0V4cHJGNjRBZGQgPSAweGEwOworbGV0IGtFeHByRjY0U3ViID0gMHhh
MTsKK2xldCBrRXhwckY2NE11bCA9IDB4YTI7CitsZXQga0V4cHJGNjREaXYgPSAweGEzOworbGV0
IGtFeHByRjY0TWluID0gMHhhNDsKK2xldCBrRXhwckY2NE1heCA9IDB4YTU7CitsZXQga0V4cHJG
NjRDb3B5U2lnbiA9IDB4YTY7CitsZXQga0V4cHJJMzJDb252ZXJ0STY0ID0gMHhhNzsKK2xldCBr
RXhwckkzMlNDb252ZXJ0RjMyID0gMHhhODsKK2xldCBrRXhwckkzMlVDb252ZXJ0RjMyID0gMHhh
OTsKK2xldCBrRXhwckkzMlNDb252ZXJ0RjY0ID0gMHhhYTsKK2xldCBrRXhwckkzMlVDb252ZXJ0
RjY0ID0gMHhhYjsKK2xldCBrRXhwckk2NFNDb252ZXJ0STMyID0gMHhhYzsKK2xldCBrRXhwckk2
NFVDb252ZXJ0STMyID0gMHhhZDsKK2xldCBrRXhwckk2NFNDb252ZXJ0RjMyID0gMHhhZTsKK2xl
dCBrRXhwckk2NFVDb252ZXJ0RjMyID0gMHhhZjsKK2xldCBrRXhwckk2NFNDb252ZXJ0RjY0ID0g
MHhiMDsKK2xldCBrRXhwckk2NFVDb252ZXJ0RjY0ID0gMHhiMTsKK2xldCBrRXhwckYzMlNDb252
ZXJ0STMyID0gMHhiMjsKK2xldCBrRXhwckYzMlVDb252ZXJ0STMyID0gMHhiMzsKK2xldCBrRXhw
ckYzMlNDb252ZXJ0STY0ID0gMHhiNDsKK2xldCBrRXhwckYzMlVDb252ZXJ0STY0ID0gMHhiNTsK
K2xldCBrRXhwckYzMkNvbnZlcnRGNjQgPSAweGI2OworbGV0IGtFeHByRjY0U0NvbnZlcnRJMzIg
PSAweGI3OworbGV0IGtFeHByRjY0VUNvbnZlcnRJMzIgPSAweGI4OworbGV0IGtFeHByRjY0U0Nv
bnZlcnRJNjQgPSAweGI5OworbGV0IGtFeHByRjY0VUNvbnZlcnRJNjQgPSAweGJhOworbGV0IGtF
eHByRjY0Q29udmVydEYzMiA9IDB4YmI7CitsZXQga0V4cHJJMzJSZWludGVycHJldEYzMiA9IDB4
YmM7CitsZXQga0V4cHJJNjRSZWludGVycHJldEY2NCA9IDB4YmQ7CitsZXQga0V4cHJGMzJSZWlu
dGVycHJldEkzMiA9IDB4YmU7CitsZXQga0V4cHJGNjRSZWludGVycHJldEk2NCA9IDB4YmY7Cits
ZXQga0V4cHJJMzJTRXh0ZW5kSTggPSAweGMwOworbGV0IGtFeHBySTMyU0V4dGVuZEkxNiA9IDB4
YzE7CitsZXQga0V4cHJJNjRTRXh0ZW5kSTggPSAweGMyOworbGV0IGtFeHBySTY0U0V4dGVuZEkx
NiA9IDB4YzM7CitsZXQga0V4cHJJNjRTRXh0ZW5kSTMyID0gMHhjNDsKK2xldCBrRXhwclJlZk51
bGwgPSAweGQwOworbGV0IGtFeHByUmVmSXNOdWxsID0gMHhkMTsKK2xldCBrRXhwclJlZkZ1bmMg
PSAweGQyOworCisvLyBQcmVmaXggb3Bjb2RlcworbGV0IGtOdW1lcmljUHJlZml4ID0gMHhmYzsK
K2xldCBrU2ltZFByZWZpeCA9IDB4ZmQ7CitsZXQga0F0b21pY1ByZWZpeCA9IDB4ZmU7CisKKy8v
IE51bWVyaWMgb3Bjb2Rlcy4KK2xldCBrRXhwck1lbW9yeUluaXQgPSAweDA4OworbGV0IGtFeHBy
RGF0YURyb3AgPSAweDA5OworbGV0IGtFeHByTWVtb3J5Q29weSA9IDB4MGE7CitsZXQga0V4cHJN
ZW1vcnlGaWxsID0gMHgwYjsKK2xldCBrRXhwclRhYmxlSW5pdCA9IDB4MGM7CitsZXQga0V4cHJF
bGVtRHJvcCA9IDB4MGQ7CitsZXQga0V4cHJUYWJsZUNvcHkgPSAweDBlOworbGV0IGtFeHByVGFi
bGVHcm93ID0gMHgwZjsKK2xldCBrRXhwclRhYmxlU2l6ZSA9IDB4MTA7CitsZXQga0V4cHJUYWJs
ZUZpbGwgPSAweDExOworCisvLyBBdG9taWMgb3Bjb2Rlcy4KK2xldCBrRXhwckF0b21pY05vdGlm
eSA9IDB4MDA7CitsZXQga0V4cHJJMzJBdG9taWNXYWl0ID0gMHgwMTsKK2xldCBrRXhwckk2NEF0
b21pY1dhaXQgPSAweDAyOworbGV0IGtFeHBySTMyQXRvbWljTG9hZCA9IDB4MTA7CitsZXQga0V4
cHJJMzJBdG9taWNMb2FkOFUgPSAweDEyOworbGV0IGtFeHBySTMyQXRvbWljTG9hZDE2VSA9IDB4
MTM7CitsZXQga0V4cHJJMzJBdG9taWNTdG9yZSA9IDB4MTc7CitsZXQga0V4cHJJMzJBdG9taWNT
dG9yZThVID0gMHgxOTsKK2xldCBrRXhwckkzMkF0b21pY1N0b3JlMTZVID0gMHgxYTsKK2xldCBr
RXhwckkzMkF0b21pY0FkZCA9IDB4MWU7CitsZXQga0V4cHJJMzJBdG9taWNBZGQ4VSA9IDB4MjA7
CitsZXQga0V4cHJJMzJBdG9taWNBZGQxNlUgPSAweDIxOworbGV0IGtFeHBySTMyQXRvbWljU3Vi
ID0gMHgyNTsKK2xldCBrRXhwckkzMkF0b21pY1N1YjhVID0gMHgyNzsKK2xldCBrRXhwckkzMkF0
b21pY1N1YjE2VSA9IDB4Mjg7CitsZXQga0V4cHJJMzJBdG9taWNBbmQgPSAweDJjOworbGV0IGtF
eHBySTMyQXRvbWljQW5kOFUgPSAweDJlOworbGV0IGtFeHBySTMyQXRvbWljQW5kMTZVID0gMHgy
ZjsKK2xldCBrRXhwckkzMkF0b21pY09yID0gMHgzMzsKK2xldCBrRXhwckkzMkF0b21pY09yOFUg
PSAweDM1OworbGV0IGtFeHBySTMyQXRvbWljT3IxNlUgPSAweDM2OworbGV0IGtFeHBySTMyQXRv
bWljWG9yID0gMHgzYTsKK2xldCBrRXhwckkzMkF0b21pY1hvcjhVID0gMHgzYzsKK2xldCBrRXhw
ckkzMkF0b21pY1hvcjE2VSA9IDB4M2Q7CitsZXQga0V4cHJJMzJBdG9taWNFeGNoYW5nZSA9IDB4
NDE7CitsZXQga0V4cHJJMzJBdG9taWNFeGNoYW5nZThVID0gMHg0MzsKK2xldCBrRXhwckkzMkF0
b21pY0V4Y2hhbmdlMTZVID0gMHg0NDsKK2xldCBrRXhwckkzMkF0b21pY0NvbXBhcmVFeGNoYW5n
ZSA9IDB4NDg7CitsZXQga0V4cHJJMzJBdG9taWNDb21wYXJlRXhjaGFuZ2U4VSA9IDB4NGE7Cits
ZXQga0V4cHJJMzJBdG9taWNDb21wYXJlRXhjaGFuZ2UxNlUgPSAweDRiOworCitsZXQga0V4cHJJ
NjRBdG9taWNMb2FkID0gMHgxMTsKK2xldCBrRXhwckk2NEF0b21pY0xvYWQ4VSA9IDB4MTQ7Cits
ZXQga0V4cHJJNjRBdG9taWNMb2FkMTZVID0gMHgxNTsKK2xldCBrRXhwckk2NEF0b21pY0xvYWQz
MlUgPSAweDE2OworbGV0IGtFeHBySTY0QXRvbWljU3RvcmUgPSAweDE4OworbGV0IGtFeHBySTY0
QXRvbWljU3RvcmU4VSA9IDB4MWI7CitsZXQga0V4cHJJNjRBdG9taWNTdG9yZTE2VSA9IDB4MWM7
CitsZXQga0V4cHJJNjRBdG9taWNTdG9yZTMyVSA9IDB4MWQ7CitsZXQga0V4cHJJNjRBdG9taWNB
ZGQgPSAweDFmOworbGV0IGtFeHBySTY0QXRvbWljQWRkOFUgPSAweDIyOworbGV0IGtFeHBySTY0
QXRvbWljQWRkMTZVID0gMHgyMzsKK2xldCBrRXhwckk2NEF0b21pY0FkZDMyVSA9IDB4MjQ7Cits
ZXQga0V4cHJJNjRBdG9taWNTdWIgPSAweDI2OworbGV0IGtFeHBySTY0QXRvbWljU3ViOFUgPSAw
eDI5OworbGV0IGtFeHBySTY0QXRvbWljU3ViMTZVID0gMHgyYTsKK2xldCBrRXhwckk2NEF0b21p
Y1N1YjMyVSA9IDB4MmI7CitsZXQga0V4cHJJNjRBdG9taWNBbmQgPSAweDJkOworbGV0IGtFeHBy
STY0QXRvbWljQW5kOFUgPSAweDMwOworbGV0IGtFeHBySTY0QXRvbWljQW5kMTZVID0gMHgzMTsK
K2xldCBrRXhwckk2NEF0b21pY0FuZDMyVSA9IDB4MzI7CitsZXQga0V4cHJJNjRBdG9taWNPciA9
IDB4MzQ7CitsZXQga0V4cHJJNjRBdG9taWNPcjhVID0gMHgzNzsKK2xldCBrRXhwckk2NEF0b21p
Y09yMTZVID0gMHgzODsKK2xldCBrRXhwckk2NEF0b21pY09yMzJVID0gMHgzOTsKK2xldCBrRXhw
ckk2NEF0b21pY1hvciA9IDB4M2I7CitsZXQga0V4cHJJNjRBdG9taWNYb3I4VSA9IDB4M2U7Cits
ZXQga0V4cHJJNjRBdG9taWNYb3IxNlUgPSAweDNmOworbGV0IGtFeHBySTY0QXRvbWljWG9yMzJV
ID0gMHg0MDsKK2xldCBrRXhwckk2NEF0b21pY0V4Y2hhbmdlID0gMHg0MjsKK2xldCBrRXhwckk2
NEF0b21pY0V4Y2hhbmdlOFUgPSAweDQ1OworbGV0IGtFeHBySTY0QXRvbWljRXhjaGFuZ2UxNlUg
PSAweDQ2OworbGV0IGtFeHBySTY0QXRvbWljRXhjaGFuZ2UzMlUgPSAweDQ3OworbGV0IGtFeHBy
STY0QXRvbWljQ29tcGFyZUV4Y2hhbmdlID0gMHg0OQorbGV0IGtFeHBySTY0QXRvbWljQ29tcGFy
ZUV4Y2hhbmdlOFUgPSAweDRjOworbGV0IGtFeHBySTY0QXRvbWljQ29tcGFyZUV4Y2hhbmdlMTZV
ID0gMHg0ZDsKK2xldCBrRXhwckk2NEF0b21pY0NvbXBhcmVFeGNoYW5nZTMyVSA9IDB4NGU7CisK
Ky8vIFNpbWQgb3Bjb2Rlcy4KK2xldCBrRXhwclMxMjhMb2FkTWVtID0gMHgwMDsKK2xldCBrRXhw
clMxMjhTdG9yZU1lbSA9IDB4MDE7CitsZXQga0V4cHJJMzJ4NFNwbGF0ID0gMHgwYzsKK2xldCBr
RXhwckkzMng0RXEgPSAweDJjOworbGV0IGtFeHByUzF4NEFsbFRydWUgPSAweDc1OworbGV0IGtF
eHByRjMyeDRNaW4gPSAweDllOworCitjbGFzcyBCaW5hcnkgeworICBjb25zdHJ1Y3RvcigpIHsK
KyAgICB0aGlzLmxlbmd0aCA9IDA7CisgICAgdGhpcy5idWZmZXIgPSBuZXcgVWludDhBcnJheSg4
MTkyKTsKKyAgfQorCisgIGVuc3VyZV9zcGFjZShuZWVkZWQpIHsKKyAgICBpZiAodGhpcy5idWZm
ZXIubGVuZ3RoIC0gdGhpcy5sZW5ndGggPj0gbmVlZGVkKSByZXR1cm47CisgICAgbGV0IG5ld19j
YXBhY2l0eSA9IHRoaXMuYnVmZmVyLmxlbmd0aCAqIDI7CisgICAgd2hpbGUgKG5ld19jYXBhY2l0
eSAtIHRoaXMubGVuZ3RoIDwgbmVlZGVkKSBuZXdfY2FwYWNpdHkgKj0gMjsKKyAgICBsZXQgbmV3
X2J1ZmZlciA9IG5ldyBVaW50OEFycmF5KG5ld19jYXBhY2l0eSk7CisgICAgbmV3X2J1ZmZlci5z
ZXQodGhpcy5idWZmZXIpOworICAgIHRoaXMuYnVmZmVyID0gbmV3X2J1ZmZlcjsKKyAgfQorCisg
IHRydW5jX2J1ZmZlcigpIHsKKyAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIu
YnVmZmVyLCAwLCB0aGlzLmxlbmd0aCk7CisgIH0KKworICByZXNldCgpIHsKKyAgICB0aGlzLmxl
bmd0aCA9IDA7CisgIH0KIAotY2xhc3MgQmluYXJ5IGV4dGVuZHMgQXJyYXkgewogICBlbWl0X3U4
KHZhbCkgewotICAgIHRoaXMucHVzaCh2YWwpOworICAgIHRoaXMuZW5zdXJlX3NwYWNlKDEpOwor
ICAgIHRoaXMuYnVmZmVyW3RoaXMubGVuZ3RoKytdID0gdmFsOwogICB9CiAKICAgZW1pdF91MTYo
dmFsKSB7Ci0gICAgdGhpcy5wdXNoKHZhbCAmIDB4ZmYpOwotICAgIHRoaXMucHVzaCgodmFsID4+
IDgpICYgMHhmZik7CisgICAgdGhpcy5lbnN1cmVfc3BhY2UoMik7CisgICAgdGhpcy5idWZmZXJb
dGhpcy5sZW5ndGgrK10gPSB2YWw7CisgICAgdGhpcy5idWZmZXJbdGhpcy5sZW5ndGgrK10gPSB2
YWwgPj4gODsKICAgfQogCiAgIGVtaXRfdTMyKHZhbCkgewotICAgIHRoaXMucHVzaCh2YWwgJiAw
eGZmKTsKLSAgICB0aGlzLnB1c2goKHZhbCA+PiA4KSAmIDB4ZmYpOwotICAgIHRoaXMucHVzaCgo
dmFsID4+IDE2KSAmIDB4ZmYpOwotICAgIHRoaXMucHVzaCgodmFsID4+IDI0KSAmIDB4ZmYpOwor
ICAgIHRoaXMuZW5zdXJlX3NwYWNlKDQpOworICAgIHRoaXMuYnVmZmVyW3RoaXMubGVuZ3RoKytd
ID0gdmFsOworICAgIHRoaXMuYnVmZmVyW3RoaXMubGVuZ3RoKytdID0gdmFsID4+IDg7CisgICAg
dGhpcy5idWZmZXJbdGhpcy5sZW5ndGgrK10gPSB2YWwgPj4gMTY7CisgICAgdGhpcy5idWZmZXJb
dGhpcy5sZW5ndGgrK10gPSB2YWwgPj4gMjQ7CiAgIH0KIAotICBlbWl0X3UzMnYodmFsKSB7Ci0g
ICAgd2hpbGUgKHRydWUpIHsKKyAgZW1pdF9sZWJfdSh2YWwsIG1heF9sZW4pIHsKKyAgICB0aGlz
LmVuc3VyZV9zcGFjZShtYXhfbGVuKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1heF9sZW47
ICsraSkgewogICAgICAgbGV0IHYgPSB2YWwgJiAweGZmOwogICAgICAgdmFsID0gdmFsID4+PiA3
OwogICAgICAgaWYgKHZhbCA9PSAwKSB7Ci0gICAgICAgIHRoaXMucHVzaCh2KTsKLSAgICAgICAg
YnJlYWs7CisgICAgICAgIHRoaXMuYnVmZmVyW3RoaXMubGVuZ3RoKytdID0gdjsKKyAgICAgICAg
cmV0dXJuOwogICAgICAgfQotICAgICAgdGhpcy5wdXNoKHYgfCAweDgwKTsKKyAgICAgIHRoaXMu
YnVmZmVyW3RoaXMubGVuZ3RoKytdID0gdiB8IDB4ODA7CiAgICAgfQorICAgIHRocm93IG5ldyBF
cnJvcigiTGViIHZhbHVlIGV4Y2VlZHMgbWF4aW11bSBsZW5ndGggb2YgIiArIG1heF9sZW4pOwor
ICB9CisKKyAgZW1pdF91MzJ2KHZhbCkgeworICAgIHRoaXMuZW1pdF9sZWJfdSh2YWwsIGtNYXhW
YXJJbnQzMlNpemUpOworICB9CisKKyAgZW1pdF91NjR2KHZhbCkgeworICAgIHRoaXMuZW1pdF9s
ZWJfdSh2YWwsIGtNYXhWYXJJbnQ2NFNpemUpOwogICB9CiAKICAgZW1pdF9ieXRlcyhkYXRhKSB7
Ci0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7Ci0gICAgICB0aGlz
LnB1c2goZGF0YVtpXSAmIDB4ZmYpOwotICAgIH0KKyAgICB0aGlzLmVuc3VyZV9zcGFjZShkYXRh
Lmxlbmd0aCk7CisgICAgdGhpcy5idWZmZXIuc2V0KGRhdGEsIHRoaXMubGVuZ3RoKTsKKyAgICB0
aGlzLmxlbmd0aCArPSBkYXRhLmxlbmd0aDsKICAgfQogCiAgIGVtaXRfc3RyaW5nKHN0cmluZykg
ewpAQCAtNjEsMjAgKzU2MCwyMiBAQCBjbGFzcyBCaW5hcnkgZXh0ZW5kcyBBcnJheSB7CiAgIH0K
IAogICBlbWl0X2hlYWRlcigpIHsKLSAgICB0aGlzLnB1c2goa1dhc21IMCwga1dhc21IMSwga1dh
c21IMiwga1dhc21IMywKLSAgICAgICAgICAgICAga1dhc21WMCwga1dhc21WMSwga1dhc21WMiwg
a1dhc21WMyk7CisgICAgdGhpcy5lbWl0X2J5dGVzKFsKKyAgICAgIGtXYXNtSDAsIGtXYXNtSDEs
IGtXYXNtSDIsIGtXYXNtSDMsIGtXYXNtVjAsIGtXYXNtVjEsIGtXYXNtVjIsIGtXYXNtVjMKKyAg
ICBdKTsKICAgfQogCiAgIGVtaXRfc2VjdGlvbihzZWN0aW9uX2NvZGUsIGNvbnRlbnRfZ2VuZXJh
dG9yKSB7CiAgICAgLy8gRW1pdCBzZWN0aW9uIG5hbWUuCiAgICAgdGhpcy5lbWl0X3U4KHNlY3Rp
b25fY29kZSk7CiAgICAgLy8gRW1pdCB0aGUgc2VjdGlvbiB0byBhIHRlbXBvcmFyeSBidWZmZXI6
IGl0cyBmdWxsIGxlbmd0aCBpc24ndCBrbm93IHlldC4KLSAgICBsZXQgc2VjdGlvbiA9IG5ldyBC
aW5hcnk7CisgICAgY29uc3Qgc2VjdGlvbiA9IG5ldyBCaW5hcnk7CiAgICAgY29udGVudF9nZW5l
cmF0b3Ioc2VjdGlvbik7CiAgICAgLy8gRW1pdCBzZWN0aW9uIGxlbmd0aC4KICAgICB0aGlzLmVt
aXRfdTMydihzZWN0aW9uLmxlbmd0aCk7CiAgICAgLy8gQ29weSB0aGUgdGVtcG9yYXJ5IGJ1ZmZl
ci4KLSAgICB0aGlzLnB1c2goLi4uc2VjdGlvbik7CisgICAgLy8gQXZvaWQgc3ByZWFkIGJlY2F1
c2Uge3NlY3Rpb259IGNhbiBiZSBodWdlLgorICAgIHRoaXMuZW1pdF9ieXRlcyhzZWN0aW9uLnRy
dW5jX2J1ZmZlcigpKTsKICAgfQogfQogCkBAIC04NCw2ICs1ODUsMTYgQEAgY2xhc3MgV2FzbUZ1
bmN0aW9uQnVpbGRlciB7CiAgICAgdGhpcy5uYW1lID0gbmFtZTsKICAgICB0aGlzLnR5cGVfaW5k
ZXggPSB0eXBlX2luZGV4OwogICAgIHRoaXMuYm9keSA9IFtdOworICAgIHRoaXMubG9jYWxzID0g
W107CisgICAgdGhpcy5sb2NhbF9uYW1lcyA9IFtdOworICB9CisKKyAgbnVtTG9jYWxOYW1lcygp
IHsKKyAgICBsZXQgbnVtX2xvY2FsX25hbWVzID0gMDsKKyAgICBmb3IgKGxldCBsb2NfbmFtZSBv
ZiB0aGlzLmxvY2FsX25hbWVzKSB7CisgICAgICBpZiAobG9jX25hbWUgIT09IHVuZGVmaW5lZCkg
KytudW1fbG9jYWxfbmFtZXM7CisgICAgfQorICAgIHJldHVybiBudW1fbG9jYWxfbmFtZXM7CiAg
IH0KIAogICBleHBvcnRBcyhuYW1lKSB7CkBAIC05NywxMiArNjA4LDM4IEBAIGNsYXNzIFdhc21G
dW5jdGlvbkJ1aWxkZXIgewogICB9CiAKICAgYWRkQm9keShib2R5KSB7CisgICAgZm9yIChsZXQg
YiBvZiBib2R5KSB7CisgICAgICBpZiAodHlwZW9mIGIgIT09ICdudW1iZXInIHx8IChiICYgKH4w
eEZGKSkgIT09IDAgKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYm9keSAoZW50
cmllcyBtdXN0IGJlIDggYml0IG51bWJlcnMpOiAnICsgYm9keSk7CisgICAgfQorICAgIHRoaXMu
Ym9keSA9IGJvZHkuc2xpY2UoKTsKKyAgICAvLyBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgZW5kIGZv
ciB0aGUgZnVuY3Rpb24gYmxvY2sgdG8gdGhlIGJvZHkuCisgICAgdGhpcy5ib2R5LnB1c2goa0V4
cHJFbmQpOworICAgIHJldHVybiB0aGlzOworICB9CisKKyAgYWRkQm9keVdpdGhFbmQoYm9keSkg
ewogICAgIHRoaXMuYm9keSA9IGJvZHk7CiAgICAgcmV0dXJuIHRoaXM7CiAgIH0KIAotICBhZGRM
b2NhbHMobG9jYWxzKSB7Ci0gICAgdGhpcy5sb2NhbHMgPSBsb2NhbHM7CisgIGdldE51bUxvY2Fs
cygpIHsKKyAgICBsZXQgdG90YWxfbG9jYWxzID0gMDsKKyAgICBmb3IgKGxldCBsIG9mIHRoaXMu
bG9jYWxzKSB7CisgICAgICBmb3IgKGxldCB0eXBlIG9mIFsiaTMyIiwgImk2NCIsICJmMzIiLCAi
ZjY0IiwgInMxMjgiXSkgeworICAgICAgICB0b3RhbF9sb2NhbHMgKz0gbFt0eXBlICsgIl9jb3Vu
dCJdIHx8IDA7CisgICAgICB9CisgICAgfQorICAgIHJldHVybiB0b3RhbF9sb2NhbHM7CisgIH0K
KworICBhZGRMb2NhbHMobG9jYWxzLCBuYW1lcykgeworICAgIGNvbnN0IG9sZF9udW1fbG9jYWxz
ID0gdGhpcy5nZXROdW1Mb2NhbHMoKTsKKyAgICB0aGlzLmxvY2Fscy5wdXNoKGxvY2Fscyk7Cisg
ICAgaWYgKG5hbWVzKSB7CisgICAgICBjb25zdCBtaXNzaW5nX25hbWVzID0gb2xkX251bV9sb2Nh
bHMgLSB0aGlzLmxvY2FsX25hbWVzLmxlbmd0aDsKKyAgICAgIHRoaXMubG9jYWxfbmFtZXMucHVz
aCguLi5uZXcgQXJyYXkobWlzc2luZ19uYW1lcyksIC4uLm5hbWVzKTsKKyAgICB9CiAgICAgcmV0
dXJuIHRoaXM7CiAgIH0KIApAQCAtMTI2LDIwICs2NjMsMzggQEAgY2xhc3MgV2FzbUdsb2JhbEJ1
aWxkZXIgewogICB9CiB9CiAKK2NsYXNzIFdhc21UYWJsZUJ1aWxkZXIgeworICBjb25zdHJ1Y3Rv
cihtb2R1bGUsIHR5cGUsIGluaXRpYWxfc2l6ZSwgbWF4X3NpemUpIHsKKyAgICB0aGlzLm1vZHVs
ZSA9IG1vZHVsZTsKKyAgICB0aGlzLnR5cGUgPSB0eXBlOworICAgIHRoaXMuaW5pdGlhbF9zaXpl
ID0gaW5pdGlhbF9zaXplOworICAgIHRoaXMuaGFzX21heCA9IG1heF9zaXplICE9IHVuZGVmaW5l
ZDsKKyAgICB0aGlzLm1heF9zaXplID0gbWF4X3NpemU7CisgIH0KKworICBleHBvcnRBcyhuYW1l
KSB7CisgICAgdGhpcy5tb2R1bGUuZXhwb3J0cy5wdXNoKHtuYW1lOiBuYW1lLCBraW5kOiBrRXh0
ZXJuYWxUYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiB0aGlzLmlu
ZGV4fSk7CisgICAgcmV0dXJuIHRoaXM7CisgIH0KK30KKwogY2xhc3MgV2FzbU1vZHVsZUJ1aWxk
ZXIgewogICBjb25zdHJ1Y3RvcigpIHsKICAgICB0aGlzLnR5cGVzID0gW107CiAgICAgdGhpcy5p
bXBvcnRzID0gW107CiAgICAgdGhpcy5leHBvcnRzID0gW107CiAgICAgdGhpcy5nbG9iYWxzID0g
W107CisgICAgdGhpcy50YWJsZXMgPSBbXTsKKyAgICB0aGlzLmV4Y2VwdGlvbnMgPSBbXTsKICAg
ICB0aGlzLmZ1bmN0aW9ucyA9IFtdOwotICAgIHRoaXMuZnVuY3Rpb25fdGFibGUgPSBbXTsKLSAg
ICB0aGlzLmZ1bmN0aW9uX3RhYmxlX2xlbmd0aCA9IDA7Ci0gICAgdGhpcy5mdW5jdGlvbl90YWJs
ZV9pbml0cyA9IFtdOwotICAgIHRoaXMuc2VnbWVudHMgPSBbXTsKKyAgICB0aGlzLmVsZW1lbnRf
c2VnbWVudHMgPSBbXTsKKyAgICB0aGlzLmRhdGFfc2VnbWVudHMgPSBbXTsKICAgICB0aGlzLmV4
cGxpY2l0ID0gW107CiAgICAgdGhpcy5udW1faW1wb3J0ZWRfZnVuY3MgPSAwOwogICAgIHRoaXMu
bnVtX2ltcG9ydGVkX2dsb2JhbHMgPSAwOworICAgIHRoaXMubnVtX2ltcG9ydGVkX3RhYmxlcyA9
IDA7CisgICAgdGhpcy5udW1faW1wb3J0ZWRfZXhjZXB0aW9ucyA9IDA7CiAgICAgcmV0dXJuIHRo
aXM7CiAgIH0KIApAQCAtMTQ4LDggKzcwMyw4IEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsK
ICAgICByZXR1cm4gdGhpczsKICAgfQogCi0gIGFkZE1lbW9yeShtaW4sIG1heCwgZXhwKSB7Ci0g
ICAgdGhpcy5tZW1vcnkgPSB7bWluOiBtaW4sIG1heDogbWF4LCBleHA6IGV4cH07CisgIGFkZE1l
bW9yeShtaW4sIG1heCwgZXhwLCBzaGFyZWQpIHsKKyAgICB0aGlzLm1lbW9yeSA9IHttaW46IG1p
biwgbWF4OiBtYXgsIGV4cDogZXhwLCBzaGFyZWQ6IHNoYXJlZH07CiAgICAgcmV0dXJuIHRoaXM7
CiAgIH0KIApAQCAtMTU4LDkgKzcxMywzMCBAQCBjbGFzcyBXYXNtTW9kdWxlQnVpbGRlciB7CiAg
ICAgcmV0dXJuIHRoaXM7CiAgIH0KIAorICBzdHJpbmdUb0J5dGVzKG5hbWUpIHsKKyAgICB2YXIg
cmVzdWx0ID0gbmV3IEJpbmFyeSgpOworICAgIHJlc3VsdC5lbWl0X3N0cmluZyhuYW1lKTsKKyAg
ICByZXR1cm4gcmVzdWx0LnRydW5jX2J1ZmZlcigpCisgIH0KKworICBjcmVhdGVDdXN0b21TZWN0
aW9uKG5hbWUsIGJ5dGVzKSB7CisgICAgbmFtZSA9IHRoaXMuc3RyaW5nVG9CeXRlcyhuYW1lKTsK
KyAgICB2YXIgc2VjdGlvbiA9IG5ldyBCaW5hcnkoKTsKKyAgICBzZWN0aW9uLmVtaXRfdTgoa1Vu
a25vd25TZWN0aW9uQ29kZSk7CisgICAgc2VjdGlvbi5lbWl0X3UzMnYobmFtZS5sZW5ndGggKyBi
eXRlcy5sZW5ndGgpOworICAgIHNlY3Rpb24uZW1pdF9ieXRlcyhuYW1lKTsKKyAgICBzZWN0aW9u
LmVtaXRfYnl0ZXMoYnl0ZXMpOworICAgIHJldHVybiBzZWN0aW9uLnRydW5jX2J1ZmZlcigpOwor
ICB9CisKKyAgYWRkQ3VzdG9tU2VjdGlvbihuYW1lLCBieXRlcykgeworICAgIHRoaXMuZXhwbGlj
aXQucHVzaCh0aGlzLmNyZWF0ZUN1c3RvbVNlY3Rpb24obmFtZSwgYnl0ZXMpKTsKKyAgfQorCiAg
IGFkZFR5cGUodHlwZSkgewotICAgIC8vIFRPRE86IGNhbm9uaWNhbGl6ZSB0eXBlcz8KICAgICB0
aGlzLnR5cGVzLnB1c2godHlwZSk7CisgICAgdmFyIHBsID0gdHlwZS5wYXJhbXMubGVuZ3RoOyAg
Ly8gc2hvdWxkIGhhdmUgcGFyYW1zCisgICAgdmFyIHJsID0gdHlwZS5yZXN1bHRzLmxlbmd0aDsg
Ly8gc2hvdWxkIGhhdmUgcmVzdWx0cwogICAgIHJldHVybiB0aGlzLnR5cGVzLmxlbmd0aCAtIDE7
CiAgIH0KIApAQCAtMTcxLDYgKzc0NywyNCBAQCBjbGFzcyBXYXNtTW9kdWxlQnVpbGRlciB7CiAg
ICAgcmV0dXJuIGdsb2I7CiAgIH0KIAorICBhZGRUYWJsZSh0eXBlLCBpbml0aWFsX3NpemUsIG1h
eF9zaXplID0gdW5kZWZpbmVkKSB7CisgICAgaWYgKHR5cGUgIT0ga1dhc21BbnlSZWYgJiYgdHlw
ZSAhPSBrV2FzbUFueUZ1bmMgJiYgdHlwZSAhPSBrV2FzbUV4blJlZikgeworICAgICAgdGhyb3cg
bmV3IEVycm9yKAorICAgICAgICAgICdUYWJsZXMgbXVzdCBiZSBvZiB0eXBlIGtXYXNtQW55UmVm
LCBrV2FzbUFueUZ1bmMsIG9yIGtXYXNtRXhuUmVmJyk7CisgICAgfQorICAgIGxldCB0YWJsZSA9
IG5ldyBXYXNtVGFibGVCdWlsZGVyKHRoaXMsIHR5cGUsIGluaXRpYWxfc2l6ZSwgbWF4X3NpemUp
OworICAgIHRhYmxlLmluZGV4ID0gdGhpcy50YWJsZXMubGVuZ3RoICsgdGhpcy5udW1faW1wb3J0
ZWRfdGFibGVzOworICAgIHRoaXMudGFibGVzLnB1c2godGFibGUpOworICAgIHJldHVybiB0YWJs
ZTsKKyAgfQorCisgIGFkZEV4Y2VwdGlvbih0eXBlKSB7CisgICAgbGV0IHR5cGVfaW5kZXggPSAo
dHlwZW9mIHR5cGUpID09ICJudW1iZXIiID8gdHlwZSA6IHRoaXMuYWRkVHlwZSh0eXBlKTsKKyAg
ICBsZXQgZXhjZXB0X2luZGV4ID0gdGhpcy5leGNlcHRpb25zLmxlbmd0aCArIHRoaXMubnVtX2lt
cG9ydGVkX2V4Y2VwdGlvbnM7CisgICAgdGhpcy5leGNlcHRpb25zLnB1c2godHlwZV9pbmRleCk7
CisgICAgcmV0dXJuIGV4Y2VwdF9pbmRleDsKKyAgfQorCiAgIGFkZEZ1bmN0aW9uKG5hbWUsIHR5
cGUpIHsKICAgICBsZXQgdHlwZV9pbmRleCA9ICh0eXBlb2YgdHlwZSkgPT0gIm51bWJlciIgPyB0
eXBlIDogdGhpcy5hZGRUeXBlKHR5cGUpOwogICAgIGxldCBmdW5jID0gbmV3IFdhc21GdW5jdGlv
bkJ1aWxkZXIodGhpcywgbmFtZSwgdHlwZV9pbmRleCk7CkBAIC0xNzksMzEgKzc3Myw1MSBAQCBj
bGFzcyBXYXNtTW9kdWxlQnVpbGRlciB7CiAgICAgcmV0dXJuIGZ1bmM7CiAgIH0KIAotICBhZGRJ
bXBvcnQobW9kdWxlID0gIiIsIG5hbWUsIHR5cGUpIHsKKyAgYWRkSW1wb3J0KG1vZHVsZSwgbmFt
ZSwgdHlwZSkgeworICAgIGlmICh0aGlzLmZ1bmN0aW9ucy5sZW5ndGggIT0gMCkgeworICAgICAg
dGhyb3cgbmV3IEVycm9yKCdJbXBvcnRlZCBmdW5jdGlvbnMgbXVzdCBiZSBkZWNsYXJlZCBiZWZv
cmUgbG9jYWwgb25lcycpOworICAgIH0KICAgICBsZXQgdHlwZV9pbmRleCA9ICh0eXBlb2YgdHlw
ZSkgPT0gIm51bWJlciIgPyB0eXBlIDogdGhpcy5hZGRUeXBlKHR5cGUpOwogICAgIHRoaXMuaW1w
b3J0cy5wdXNoKHttb2R1bGU6IG1vZHVsZSwgbmFtZTogbmFtZSwga2luZDoga0V4dGVybmFsRnVu
Y3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHR5cGVfaW5kZXh9KTsKICAgICBy
ZXR1cm4gdGhpcy5udW1faW1wb3J0ZWRfZnVuY3MrKzsKICAgfQogCi0gIGFkZEltcG9ydGVkR2xv
YmFsKG1vZHVsZSA9ICIiLCBuYW1lLCB0eXBlKSB7CisgIGFkZEltcG9ydGVkR2xvYmFsKG1vZHVs
ZSwgbmFtZSwgdHlwZSwgbXV0YWJsZSA9IGZhbHNlKSB7CisgICAgaWYgKHRoaXMuZ2xvYmFscy5s
ZW5ndGggIT0gMCkgeworICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbXBvcnRlZCBnbG9iYWxzIG11
c3QgYmUgZGVjbGFyZWQgYmVmb3JlIGxvY2FsIG9uZXMnKTsKKyAgICB9CiAgICAgbGV0IG8gPSB7
bW9kdWxlOiBtb2R1bGUsIG5hbWU6IG5hbWUsIGtpbmQ6IGtFeHRlcm5hbEdsb2JhbCwgdHlwZTog
dHlwZSwKLSAgICAgICAgICAgICBtdXRhYmxlOiBmYWxzZX0KKyAgICAgICAgICAgICBtdXRhYmxl
OiBtdXRhYmxlfTsKICAgICB0aGlzLmltcG9ydHMucHVzaChvKTsKICAgICByZXR1cm4gdGhpcy5u
dW1faW1wb3J0ZWRfZ2xvYmFscysrOwogICB9CiAKLSAgYWRkSW1wb3J0ZWRNZW1vcnkobW9kdWxl
ID0gIiIsIG5hbWUsIGluaXRpYWwgPSAwLCBtYXhpbXVtKSB7CisgIGFkZEltcG9ydGVkTWVtb3J5
KG1vZHVsZSwgbmFtZSwgaW5pdGlhbCA9IDAsIG1heGltdW0sIHNoYXJlZCkgewogICAgIGxldCBv
ID0ge21vZHVsZTogbW9kdWxlLCBuYW1lOiBuYW1lLCBraW5kOiBrRXh0ZXJuYWxNZW1vcnksCi0g
ICAgICAgICAgICAgaW5pdGlhbDogaW5pdGlhbCwgbWF4aW11bTogbWF4aW11bX07CisgICAgICAg
ICAgICAgaW5pdGlhbDogaW5pdGlhbCwgbWF4aW11bTogbWF4aW11bSwgc2hhcmVkOiBzaGFyZWR9
OwogICAgIHRoaXMuaW1wb3J0cy5wdXNoKG8pOwogICAgIHJldHVybiB0aGlzOwogICB9CiAKLSAg
YWRkSW1wb3J0ZWRUYWJsZShtb2R1bGUgPSAiIiwgbmFtZSwgaW5pdGlhbCwgbWF4aW11bSkgewor
ICBhZGRJbXBvcnRlZFRhYmxlKG1vZHVsZSwgbmFtZSwgaW5pdGlhbCwgbWF4aW11bSwgdHlwZSkg
eworICAgIGlmICh0aGlzLnRhYmxlcy5sZW5ndGggIT0gMCkgeworICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdJbXBvcnRlZCB0YWJsZXMgbXVzdCBiZSBkZWNsYXJlZCBiZWZvcmUgbG9jYWwgb25lcycp
OworICAgIH0KICAgICBsZXQgbyA9IHttb2R1bGU6IG1vZHVsZSwgbmFtZTogbmFtZSwga2luZDog
a0V4dGVybmFsVGFibGUsIGluaXRpYWw6IGluaXRpYWwsCi0gICAgICAgICAgICAgbWF4aW11bTog
bWF4aW11bX07CisgICAgICAgICAgICAgbWF4aW11bTogbWF4aW11bSwgdHlwZTogdHlwZSB8fCBr
V2FzbUFueUZ1bmN0aW9uVHlwZUZvcm19OwogICAgIHRoaXMuaW1wb3J0cy5wdXNoKG8pOworICAg
IHJldHVybiB0aGlzLm51bV9pbXBvcnRlZF90YWJsZXMrKzsKKyAgfQorCisgIGFkZEltcG9ydGVk
RXhjZXB0aW9uKG1vZHVsZSwgbmFtZSwgdHlwZSkgeworICAgIGlmICh0aGlzLmV4Y2VwdGlvbnMu
bGVuZ3RoICE9IDApIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcignSW1wb3J0ZWQgZXhjZXB0aW9u
cyBtdXN0IGJlIGRlY2xhcmVkIGJlZm9yZSBsb2NhbCBvbmVzJyk7CisgICAgfQorICAgIGxldCB0
eXBlX2luZGV4ID0gKHR5cGVvZiB0eXBlKSA9PSAibnVtYmVyIiA/IHR5cGUgOiB0aGlzLmFkZFR5
cGUodHlwZSk7CisgICAgbGV0IG8gPSB7bW9kdWxlOiBtb2R1bGUsIG5hbWU6IG5hbWUsIGtpbmQ6
IGtFeHRlcm5hbEV4Y2VwdGlvbiwgdHlwZTogdHlwZV9pbmRleH07CisgICAgdGhpcy5pbXBvcnRz
LnB1c2gobyk7CisgICAgcmV0dXJuIHRoaXMubnVtX2ltcG9ydGVkX2V4Y2VwdGlvbnMrKzsKICAg
fQogCiAgIGFkZEV4cG9ydChuYW1lLCBpbmRleCkgewpAQCAtMjE3LDM2ICs4MzEsNjQgQEAgY2xh
c3MgV2FzbU1vZHVsZUJ1aWxkZXIgewogICB9CiAKICAgYWRkRGF0YVNlZ21lbnQoYWRkciwgZGF0
YSwgaXNfZ2xvYmFsID0gZmFsc2UpIHsKLSAgICB0aGlzLnNlZ21lbnRzLnB1c2goe2FkZHI6IGFk
ZHIsIGRhdGE6IGRhdGEsIGlzX2dsb2JhbDogaXNfZ2xvYmFsfSk7Ci0gICAgcmV0dXJuIHRoaXMu
c2VnbWVudHMubGVuZ3RoIC0gMTsKKyAgICB0aGlzLmRhdGFfc2VnbWVudHMucHVzaCgKKyAgICAg
ICAge2FkZHI6IGFkZHIsIGRhdGE6IGRhdGEsIGlzX2dsb2JhbDogaXNfZ2xvYmFsLCBpc19hY3Rp
dmU6IHRydWV9KTsKKyAgICByZXR1cm4gdGhpcy5kYXRhX3NlZ21lbnRzLmxlbmd0aCAtIDE7Cisg
IH0KKworICBhZGRQYXNzaXZlRGF0YVNlZ21lbnQoZGF0YSkgeworICAgIHRoaXMuZGF0YV9zZWdt
ZW50cy5wdXNoKHtkYXRhOiBkYXRhLCBpc19hY3RpdmU6IGZhbHNlfSk7CisgICAgcmV0dXJuIHRo
aXMuZGF0YV9zZWdtZW50cy5sZW5ndGggLSAxOwogICB9CiAKICAgZXhwb3J0TWVtb3J5QXMobmFt
ZSkgewogICAgIHRoaXMuZXhwb3J0cy5wdXNoKHtuYW1lOiBuYW1lLCBraW5kOiBrRXh0ZXJuYWxN
ZW1vcnksIGluZGV4OiAwfSk7CiAgIH0KIAotICBhZGRGdW5jdGlvblRhYmxlSW5pdChiYXNlLCBp
c19nbG9iYWwsIGFycmF5KSB7Ci0gICAgdGhpcy5mdW5jdGlvbl90YWJsZV9pbml0cy5wdXNoKHti
YXNlOiBiYXNlLCBpc19nbG9iYWw6IGlzX2dsb2JhbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFycmF5OiBhcnJheX0pOwotICAgIGlmICghaXNfZ2xvYmFsKSB7Ci0gICAg
ICB2YXIgbGVuZ3RoID0gYmFzZSArIGFycmF5Lmxlbmd0aDsKLSAgICAgIGlmIChsZW5ndGggPiB0
aGlzLmZ1bmN0aW9uX3RhYmxlX2xlbmd0aCkgewotICAgICAgICB0aGlzLmZ1bmN0aW9uX3RhYmxl
X2xlbmd0aCA9IGxlbmd0aDsKLSAgICAgIH0KLSAgICB9CisgIGFkZEVsZW1lbnRTZWdtZW50KHRh
YmxlLCBiYXNlLCBpc19nbG9iYWwsIGFycmF5KSB7CisgICAgdGhpcy5lbGVtZW50X3NlZ21lbnRz
LnB1c2goe3RhYmxlOiB0YWJsZSwgYmFzZTogYmFzZSwgaXNfZ2xvYmFsOiBpc19nbG9iYWwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheTogYXJyYXksIGlzX2FjdGl2
ZTogdHJ1ZX0pOworICAgIHJldHVybiB0aGlzOworICB9CisKKyAgYWRkUGFzc2l2ZUVsZW1lbnRT
ZWdtZW50KGFycmF5LCBpc19pbXBvcnQgPSBmYWxzZSkgeworICAgIHRoaXMuZWxlbWVudF9zZWdt
ZW50cy5wdXNoKHthcnJheTogYXJyYXksIGlzX2FjdGl2ZTogZmFsc2V9KTsKICAgICByZXR1cm4g
dGhpczsKICAgfQogCiAgIGFwcGVuZFRvVGFibGUoYXJyYXkpIHsKLSAgICByZXR1cm4gdGhpcy5h
ZGRGdW5jdGlvblRhYmxlSW5pdCh0aGlzLmZ1bmN0aW9uX3RhYmxlLmxlbmd0aCwgZmFsc2UsIGFy
cmF5KTsKKyAgICBmb3IgKGxldCBuIG9mIGFycmF5KSB7CisgICAgICBpZiAodHlwZW9mIG4gIT0g
J251bWJlcicpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB0YWJsZSAoZW50cmll
cyBoYXZlIHRvIGJlIG51bWJlcnMpOiAnICsgYXJyYXkpOworICAgIH0KKyAgICBpZiAodGhpcy50
YWJsZXMubGVuZ3RoID09IDApIHsKKyAgICAgIHRoaXMuYWRkVGFibGUoa1dhc21BbnlGdW5jLCAw
KTsKKyAgICB9CisgICAgLy8gQWRqdXN0IHRoZSB0YWJsZSB0byB0aGUgY29ycmVjdCBzaXplLgor
ICAgIGxldCB0YWJsZSA9IHRoaXMudGFibGVzWzBdOworICAgIGNvbnN0IGJhc2UgPSB0YWJsZS5p
bml0aWFsX3NpemU7CisgICAgY29uc3QgdGFibGVfc2l6ZSA9IGJhc2UgKyBhcnJheS5sZW5ndGg7
CisgICAgdGFibGUuaW5pdGlhbF9zaXplID0gdGFibGVfc2l6ZTsKKyAgICBpZiAodGFibGUuaGFz
X21heCAmJiB0YWJsZV9zaXplID4gdGFibGUubWF4X3NpemUpIHsKKyAgICAgIHRhYmxlLm1heF9z
aXplID0gdGFibGVfc2l6ZTsKKyAgICB9CisgICAgcmV0dXJuIHRoaXMuYWRkRWxlbWVudFNlZ21l
bnQoMCwgYmFzZSwgZmFsc2UsIGFycmF5KTsKKyAgfQorCisgIHNldFRhYmxlQm91bmRzKG1pbiwg
bWF4ID0gdW5kZWZpbmVkKSB7CisgICAgaWYgKHRoaXMudGFibGVzLmxlbmd0aCAhPSAwKSB7Cisg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIlRoZSB0YWJsZSBib3VuZHMgb2YgdGFibGUgJzAnIGhhdmUg
YWxyZWFkeSBiZWVuIHNldC4iKTsKKyAgICB9CisgICAgdGhpcy5hZGRUYWJsZShrV2FzbUFueUZ1
bmMsIG1pbiwgbWF4KTsKKyAgICByZXR1cm4gdGhpczsKICAgfQogCi0gIHNldEZ1bmN0aW9uVGFi
bGVMZW5ndGgobGVuZ3RoKSB7Ci0gICAgdGhpcy5mdW5jdGlvbl90YWJsZV9sZW5ndGggPSBsZW5n
dGg7CisgIHNldE5hbWUobmFtZSkgeworICAgIHRoaXMubmFtZSA9IG5hbWU7CiAgICAgcmV0dXJu
IHRoaXM7CiAgIH0KIAotICB0b0FycmF5KGRlYnVnID0gZmFsc2UpIHsKKyAgdG9CdWZmZXIoZGVi
dWcgPSBmYWxzZSkgewogICAgIGxldCBiaW5hcnkgPSBuZXcgQmluYXJ5OwogICAgIGxldCB3YXNt
ID0gdGhpczsKIApAQCAtMjg4LDE1ICs5MzAsMjMgQEAgY2xhc3MgV2FzbU1vZHVsZUJ1aWxkZXIg
ewogICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGltcC5tdXRhYmxlKTsKICAgICAgICAgICB9
IGVsc2UgaWYgKGltcC5raW5kID09IGtFeHRlcm5hbE1lbW9yeSkgewogICAgICAgICAgICAgdmFy
IGhhc19tYXggPSAodHlwZW9mIGltcC5tYXhpbXVtKSAhPSAidW5kZWZpbmVkIjsKLSAgICAgICAg
ICAgIHNlY3Rpb24uZW1pdF91OChoYXNfbWF4ID8gMSA6IDApOyAvLyBmbGFncworICAgICAgICAg
ICAgdmFyIGlzX3NoYXJlZCA9ICh0eXBlb2YgaW1wLnNoYXJlZCkgIT0gInVuZGVmaW5lZCI7Cisg
ICAgICAgICAgICBpZiAoaXNfc2hhcmVkKSB7CisgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91
OChoYXNfbWF4ID8gMyA6IDIpOyAvLyBmbGFncworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGhhc19tYXggPyAxIDogMCk7IC8vIGZsYWdzCisgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihpbXAuaW5pdGlhbCk7IC8v
IGluaXRpYWwKICAgICAgICAgICAgIGlmIChoYXNfbWF4KSBzZWN0aW9uLmVtaXRfdTMydihpbXAu
bWF4aW11bSk7IC8vIG1heGltdW0KICAgICAgICAgICB9IGVsc2UgaWYgKGltcC5raW5kID09IGtF
eHRlcm5hbFRhYmxlKSB7Ci0gICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa1dhc21BbnlGdW5j
dGlvblR5cGVGb3JtKTsKKyAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChpbXAudHlwZSk7CiAg
ICAgICAgICAgICB2YXIgaGFzX21heCA9ICh0eXBlb2YgaW1wLm1heGltdW0pICE9ICJ1bmRlZmlu
ZWQiOwogICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGhhc19tYXggPyAxIDogMCk7IC8vIGZs
YWdzCiAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihpbXAuaW5pdGlhbCk7IC8vIGluaXRp
YWwKICAgICAgICAgICAgIGlmIChoYXNfbWF4KSBzZWN0aW9uLmVtaXRfdTMydihpbXAubWF4aW11
bSk7IC8vIG1heGltdW0KKyAgICAgICAgICB9IGVsc2UgaWYgKGltcC5raW5kID09IGtFeHRlcm5h
bEV4Y2VwdGlvbikgeworICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoa0V4Y2VwdGlvbkF0
dHJpYnV0ZSk7CisgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihpbXAudHlwZSk7CiAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigidW5rbm93bi91bnN1
cHBvcnRlZCBpbXBvcnQga2luZCAiICsgaW1wLmtpbmQpOwogICAgICAgICAgIH0KQEAgLTMwNSw0
MCArOTU1LDQ1IEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICB9CiAKICAgICAvLyBB
ZGQgZnVuY3Rpb25zIGRlY2xhcmF0aW9ucwotICAgIGxldCBoYXNfbmFtZXMgPSBmYWxzZTsKLSAg
ICBsZXQgbmFtZXMgPSBmYWxzZTsKICAgICBpZiAod2FzbS5mdW5jdGlvbnMubGVuZ3RoID4gMCkg
ewogICAgICAgaWYgKGRlYnVnKSBwcmludCgiZW1pdHRpbmcgZnVuY3Rpb24gZGVjbHMgQCAiICsg
YmluYXJ5Lmxlbmd0aCk7CiAgICAgICBiaW5hcnkuZW1pdF9zZWN0aW9uKGtGdW5jdGlvblNlY3Rp
b25Db2RlLCBzZWN0aW9uID0+IHsKICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYod2FzbS5mdW5j
dGlvbnMubGVuZ3RoKTsKICAgICAgICAgZm9yIChsZXQgZnVuYyBvZiB3YXNtLmZ1bmN0aW9ucykg
ewotICAgICAgICAgIGhhc19uYW1lcyA9IGhhc19uYW1lcyB8fCAoZnVuYy5uYW1lICE9IHVuZGVm
aW5lZCAmJgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jLm5hbWUubGVu
Z3RoID4gMCk7CiAgICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoZnVuYy50eXBlX2luZGV4KTsK
ICAgICAgICAgfQogICAgICAgfSk7CiAgICAgfQogCi0gICAgLy8gQWRkIGZ1bmN0aW9uX3RhYmxl
LgotICAgIGlmICh3YXNtLmZ1bmN0aW9uX3RhYmxlX2xlbmd0aCA+IDApIHsKLSAgICAgIGlmIChk
ZWJ1ZykgcHJpbnQoImVtaXR0aW5nIHRhYmxlIEAgIiArIGJpbmFyeS5sZW5ndGgpOworICAgIC8v
IEFkZCB0YWJsZSBzZWN0aW9uCisgICAgaWYgKHdhc20udGFibGVzLmxlbmd0aCA+IDApIHsKKyAg
ICAgIGlmIChkZWJ1ZykgcHJpbnQgKCJlbWl0dGluZyB0YWJsZXMgQCAiICsgYmluYXJ5Lmxlbmd0
aCk7CiAgICAgICBiaW5hcnkuZW1pdF9zZWN0aW9uKGtUYWJsZVNlY3Rpb25Db2RlLCBzZWN0aW9u
ID0+IHsKLSAgICAgICAgc2VjdGlvbi5lbWl0X3U4KDEpOyAgLy8gb25lIHRhYmxlIGVudHJ5Ci0g
ICAgICAgIHNlY3Rpb24uZW1pdF91OChrV2FzbUFueUZ1bmN0aW9uVHlwZUZvcm0pOwotICAgICAg
ICBzZWN0aW9uLmVtaXRfdTgoMSk7Ci0gICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KHdhc20uZnVu
Y3Rpb25fdGFibGVfbGVuZ3RoKTsKLSAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYod2FzbS5mdW5j
dGlvbl90YWJsZV9sZW5ndGgpOworICAgICAgICBzZWN0aW9uLmVtaXRfdTMydih3YXNtLnRhYmxl
cy5sZW5ndGgpOworICAgICAgICBmb3IgKGxldCB0YWJsZSBvZiB3YXNtLnRhYmxlcykgeworICAg
ICAgICAgIHNlY3Rpb24uZW1pdF91OCh0YWJsZS50eXBlKTsKKyAgICAgICAgICBzZWN0aW9uLmVt
aXRfdTgodGFibGUuaGFzX21heCk7CisgICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYodGFibGUu
aW5pdGlhbF9zaXplKTsKKyAgICAgICAgICBpZiAodGFibGUuaGFzX21heCkgc2VjdGlvbi5lbWl0
X3UzMnYodGFibGUubWF4X3NpemUpOworICAgICAgICB9CiAgICAgICB9KTsKICAgICB9CiAKICAg
ICAvLyBBZGQgbWVtb3J5IHNlY3Rpb24KLSAgICBpZiAod2FzbS5tZW1vcnkgIT0gdW5kZWZpbmVk
KSB7CisgICAgaWYgKHdhc20ubWVtb3J5ICE9PSB1bmRlZmluZWQpIHsKICAgICAgIGlmIChkZWJ1
ZykgcHJpbnQoImVtaXR0aW5nIG1lbW9yeSBAICIgKyBiaW5hcnkubGVuZ3RoKTsKICAgICAgIGJp
bmFyeS5lbWl0X3NlY3Rpb24oa01lbW9yeVNlY3Rpb25Db2RlLCBzZWN0aW9uID0+IHsKICAgICAg
ICAgc2VjdGlvbi5lbWl0X3U4KDEpOyAgLy8gb25lIG1lbW9yeSBlbnRyeQotICAgICAgICBzZWN0
aW9uLmVtaXRfdTMydihrUmVzaXphYmxlTWF4aW11bUZsYWcpOworICAgICAgICBjb25zdCBoYXNf
bWF4ID0gd2FzbS5tZW1vcnkubWF4ICE9PSB1bmRlZmluZWQ7CisgICAgICAgIGNvbnN0IGlzX3No
YXJlZCA9IHdhc20ubWVtb3J5LnNoYXJlZCAhPT0gdW5kZWZpbmVkOworICAgICAgICAvLyBFbWl0
IGZsYWdzIChiaXQgMDogcmVzemVhYmxlIG1heCwgYml0IDE6IHNoYXJlZCBtZW1vcnkpCisgICAg
ICAgIGlmIChpc19zaGFyZWQpIHsKKyAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoaGFzX21heCA/
IGtTaGFyZWRIYXNNYXhpbXVtRmxhZyA6IDIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
IHNlY3Rpb24uZW1pdF91OChoYXNfbWF4ID8ga0hhc01heGltdW1GbGFnIDogMCk7CisgICAgICAg
IH0KICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYod2FzbS5tZW1vcnkubWluKTsKLSAgICAgICAg
c2VjdGlvbi5lbWl0X3UzMnYod2FzbS5tZW1vcnkubWF4KTsKKyAgICAgICAgaWYgKGhhc19tYXgp
IHNlY3Rpb24uZW1pdF91MzJ2KHdhc20ubWVtb3J5Lm1heCk7CiAgICAgICB9KTsKICAgICB9CiAK
QEAgLTM1OSwzMiArMTAxNCwzNCBAQCBjbGFzcyBXYXNtTW9kdWxlQnVpbGRlciB7CiAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBrV2FzbUk2NDoKICAgICAgICAgICAgICAg
c2VjdGlvbi5lbWl0X3U4KGtFeHBySTY0Q29uc3QpOwotICAgICAgICAgICAgICBzZWN0aW9uLmVt
aXRfdTgoZ2xvYmFsLmluaXQpOworICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTY0dihnbG9i
YWwuaW5pdCk7CiAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBrV2FzbUYz
MjoKICAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHByRjMyQ29uc3QpOwogICAgICAg
ICAgICAgICBmMzJfdmlld1swXSA9IGdsb2JhbC5pbml0OwotICAgICAgICAgICAgICBzZWN0aW9u
LmVtaXRfdTgoYnl0ZV92aWV3WzBdKTsKLSAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGJ5
dGVfdmlld1sxXSk7Ci0gICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChieXRlX3ZpZXdbMl0p
OwotICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoYnl0ZV92aWV3WzNdKTsKKyAgICAgICAg
ICAgICAgc2VjdGlvbi5lbWl0X2J5dGVzKGYzMl9ieXRlc192aWV3KTsKICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICBjYXNlIGtXYXNtRjY0OgogICAgICAgICAgICAgICBzZWN0aW9u
LmVtaXRfdTgoa0V4cHJGNjRDb25zdCk7CiAgICAgICAgICAgICAgIGY2NF92aWV3WzBdID0gZ2xv
YmFsLmluaXQ7Ci0gICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChieXRlX3ZpZXdbMF0pOwot
ICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoYnl0ZV92aWV3WzFdKTsKLSAgICAgICAgICAg
ICAgc2VjdGlvbi5lbWl0X3U4KGJ5dGVfdmlld1syXSk7Ci0gICAgICAgICAgICAgIHNlY3Rpb24u
ZW1pdF91OChieXRlX3ZpZXdbM10pOwotICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoYnl0
ZV92aWV3WzRdKTsKLSAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGJ5dGVfdmlld1s1XSk7
Ci0gICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChieXRlX3ZpZXdbNl0pOwotICAgICAgICAg
ICAgICBzZWN0aW9uLmVtaXRfdTgoYnl0ZV92aWV3WzddKTsKKyAgICAgICAgICAgICAgc2VjdGlv
bi5lbWl0X2J5dGVzKGY2NF9ieXRlc192aWV3KTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBjYXNlIGtXYXNtQW55RnVuYzoKKyAgICAgICAgICAgIGNhc2Uga1dhc21BbnlSZWY6
CisgICAgICAgICAgICAgIGlmIChnbG9iYWwuZnVuY3Rpb25faW5kZXggIT09IHVuZGVmaW5lZCkg
eworICAgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXhwclJlZkZ1bmMpOworICAgICAg
ICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGdsb2JhbC5mdW5jdGlvbl9pbmRleCk7CisgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHBy
UmVmTnVsbCk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIGtXYXNtRXhuUmVmOgorICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa0V4
cHJSZWZOdWxsKTsKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIEVtaXQgYSBnbG9iYWwtaW5kZXggaW5pdGlhbGl6
ZXIuCi0gICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa0V4cHJHZXRHbG9iYWwpOworICAgICAg
ICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHByR2xvYmFsR2V0KTsKICAgICAgICAgICAgIHNlY3Rp
b24uZW1pdF91MzJ2KGdsb2JhbC5pbml0X2luZGV4KTsKICAgICAgICAgICB9CiAgICAgICAgICAg
c2VjdGlvbi5lbWl0X3U4KGtFeHByRW5kKTsgIC8vIGVuZCBvZiBpbml0IGV4cHJlc3Npb24KQEAg
LTM5Miw4ICsxMDQ5LDIwIEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICAgIH0pOwog
ICAgIH0KIAorICAgIC8vIEFkZCBleGNlcHRpb25zLgorICAgIGlmICh3YXNtLmV4Y2VwdGlvbnMu
bGVuZ3RoID4gMCkgeworICAgICAgaWYgKGRlYnVnKSBwcmludCgiZW1pdHRpbmcgZXhjZXB0aW9u
cyBAICIgKyBiaW5hcnkubGVuZ3RoKTsKKyAgICAgIGJpbmFyeS5lbWl0X3NlY3Rpb24oa0V4Y2Vw
dGlvblNlY3Rpb25Db2RlLCBzZWN0aW9uID0+IHsKKyAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYo
d2FzbS5leGNlcHRpb25zLmxlbmd0aCk7CisgICAgICAgIGZvciAobGV0IHR5cGUgb2Ygd2FzbS5l
eGNlcHRpb25zKSB7CisgICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoa0V4Y2VwdGlvbkF0dHJp
YnV0ZSk7CisgICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYodHlwZSk7CisgICAgICAgIH0KKyAg
ICAgIH0pOworICAgIH0KKwogICAgIC8vIEFkZCBleHBvcnQgdGFibGUuCi0gICAgdmFyIG1lbV9l
eHBvcnQgPSAod2FzbS5tZW1vcnkgIT0gdW5kZWZpbmVkICYmIHdhc20ubWVtb3J5LmV4cCk7Cisg
ICAgdmFyIG1lbV9leHBvcnQgPSAod2FzbS5tZW1vcnkgIT09IHVuZGVmaW5lZCAmJiB3YXNtLm1l
bW9yeS5leHApOwogICAgIHZhciBleHBvcnRzX2NvdW50ID0gd2FzbS5leHBvcnRzLmxlbmd0aCAr
IChtZW1fZXhwb3J0ID8gMSA6IDApOwogICAgIGlmIChleHBvcnRzX2NvdW50ID4gMCkgewogICAg
ICAgaWYgKGRlYnVnKSBwcmludCgiZW1pdHRpbmcgZXhwb3J0cyBAICIgKyBiaW5hcnkubGVuZ3Ro
KTsKQEAgLTQxMyw0OSArMTA4Miw4MiBAQCBjbGFzcyBXYXNtTW9kdWxlQnVpbGRlciB7CiAgICAg
fQogCiAgICAgLy8gQWRkIHN0YXJ0IGZ1bmN0aW9uIHNlY3Rpb24uCi0gICAgaWYgKHdhc20uc3Rh
cnRfaW5kZXggIT0gdW5kZWZpbmVkKSB7CisgICAgaWYgKHdhc20uc3RhcnRfaW5kZXggIT09IHVu
ZGVmaW5lZCkgewogICAgICAgaWYgKGRlYnVnKSBwcmludCgiZW1pdHRpbmcgc3RhcnQgZnVuY3Rp
b24gQCAiICsgYmluYXJ5Lmxlbmd0aCk7CiAgICAgICBiaW5hcnkuZW1pdF9zZWN0aW9uKGtTdGFy
dFNlY3Rpb25Db2RlLCBzZWN0aW9uID0+IHsKICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYod2Fz
bS5zdGFydF9pbmRleCk7CiAgICAgICB9KTsKICAgICB9CiAKLSAgICAvLyBBZGQgdGFibGUgZWxl
bWVudHMuCi0gICAgaWYgKHdhc20uZnVuY3Rpb25fdGFibGVfaW5pdHMubGVuZ3RoID4gMCkgewot
ICAgICAgaWYgKGRlYnVnKSBwcmludCgiZW1pdHRpbmcgdGFibGUgQCAiICsgYmluYXJ5Lmxlbmd0
aCk7CisgICAgLy8gQWRkIGVsZW1lbnQgc2VnbWVudHMKKyAgICBpZiAod2FzbS5lbGVtZW50X3Nl
Z21lbnRzLmxlbmd0aCA+IDApIHsKKyAgICAgIGlmIChkZWJ1ZykgcHJpbnQoImVtaXR0aW5nIGVs
ZW1lbnQgc2VnbWVudHMgQCAiICsgYmluYXJ5Lmxlbmd0aCk7CiAgICAgICBiaW5hcnkuZW1pdF9z
ZWN0aW9uKGtFbGVtZW50U2VjdGlvbkNvZGUsIHNlY3Rpb24gPT4gewotICAgICAgICB2YXIgaW5p
dHMgPSB3YXNtLmZ1bmN0aW9uX3RhYmxlX2luaXRzOworICAgICAgICB2YXIgaW5pdHMgPSB3YXNt
LmVsZW1lbnRfc2VnbWVudHM7CiAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGluaXRzLmxlbmd0
aCk7Ci0gICAgICAgIHNlY3Rpb24uZW1pdF91OCgwKTsgLy8gdGFibGUgaW5kZXgKIAogICAgICAg
ICBmb3IgKGxldCBpbml0IG9mIGluaXRzKSB7Ci0gICAgICAgICAgaWYgKGluaXQuaXNfZ2xvYmFs
KSB7Ci0gICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa0V4cHJHZXRHbG9iYWwpOworICAgICAg
ICAgIGlmIChpbml0LmlzX2FjdGl2ZSkgeworICAgICAgICAgICAgLy8gQWN0aXZlIHNlZ21lbnQu
CisgICAgICAgICAgICBpZiAoaW5pdC50YWJsZSA9PSAwKSB7CisgICAgICAgICAgICAgIHNlY3Rp
b24uZW1pdF91MzJ2KGtBY3RpdmVOb0luZGV4KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGtBY3RpdmVXaXRoSW5kZXgpOworICAgICAgICAg
ICAgICBzZWN0aW9uLmVtaXRfdTMydihpbml0LnRhYmxlKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGlmIChpbml0LmlzX2dsb2JhbCkgeworICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRf
dTgoa0V4cHJHbG9iYWxHZXQpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
c2VjdGlvbi5lbWl0X3U4KGtFeHBySTMyQ29uc3QpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgc2VjdGlvbi5lbWl0X3UzMnYoaW5pdC5iYXNlKTsKKyAgICAgICAgICAgIHNlY3Rpb24uZW1p
dF91OChrRXhwckVuZCk7CisgICAgICAgICAgICBpZiAoaW5pdC50YWJsZSAhPSAwKSB7CisgICAg
ICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXh0ZXJuYWxGdW5jdGlvbik7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihpbml0LmFycmF5Lmxlbmd0aCk7Cisg
ICAgICAgICAgICBmb3IgKGxldCBpbmRleCBvZiBpbml0LmFycmF5KSB7CisgICAgICAgICAgICAg
IHNlY3Rpb24uZW1pdF91MzJ2KGluZGV4KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHBySTMyQ29uc3QpOwotICAgICAg
ICAgIH0KLSAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihpbml0LmJhc2UpOwotICAgICAgICAg
IHNlY3Rpb24uZW1pdF91OChrRXhwckVuZCk7Ci0gICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYo
aW5pdC5hcnJheS5sZW5ndGgpOwotICAgICAgICAgIGZvciAobGV0IGluZGV4IG9mIGluaXQuYXJy
YXkpIHsKLSAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGluZGV4KTsKKyAgICAgICAgICAg
IC8vIFBhc3NpdmUgc2VnbWVudC4KKyAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrUGFzc2l2
ZVdpdGhFbGVtZW50cyk7ICAvLyBmbGFncworICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtX
YXNtQW55RnVuYyk7CisgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihpbml0LmFycmF5Lmxl
bmd0aCk7CisgICAgICAgICAgICBmb3IgKGxldCBpbmRleCBvZiBpbml0LmFycmF5KSB7CisgICAg
ICAgICAgICAgIGlmIChpbmRleCA9PT0gbnVsbCkgeworICAgICAgICAgICAgICAgIHNlY3Rpb24u
ZW1pdF91OChrRXhwclJlZk51bGwpOworICAgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChr
RXhwckVuZCk7CisgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgc2VjdGlv
bi5lbWl0X3U4KGtFeHByUmVmRnVuYyk7CisgICAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3Uz
MnYoaW5kZXgpOworICAgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXhwckVuZCk7Cisg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICAgIH0pOwogICAgIH0KIAorICAgIC8vIElmIHRoZXJlIGFyZSBhbnkgcGFzc2l2ZSBkYXRhIHNl
Z21lbnRzLCBhZGQgdGhlIERhdGFDb3VudCBzZWN0aW9uLgorICAgIGlmICh3YXNtLmRhdGFfc2Vn
bWVudHMuc29tZShzZWcgPT4gIXNlZy5pc19hY3RpdmUpKSB7CisgICAgICBiaW5hcnkuZW1pdF9z
ZWN0aW9uKGtEYXRhQ291bnRTZWN0aW9uQ29kZSwgc2VjdGlvbiA9PiB7CisgICAgICAgIHNlY3Rp
b24uZW1pdF91MzJ2KHdhc20uZGF0YV9zZWdtZW50cy5sZW5ndGgpOworICAgICAgfSk7CisgICAg
fQorCiAgICAgLy8gQWRkIGZ1bmN0aW9uIGJvZGllcy4KICAgICBpZiAod2FzbS5mdW5jdGlvbnMu
bGVuZ3RoID4gMCkgewogICAgICAgLy8gZW1pdCBmdW5jdGlvbiBib2RpZXMKICAgICAgIGlmIChk
ZWJ1ZykgcHJpbnQoImVtaXR0aW5nIGNvZGUgQCAiICsgYmluYXJ5Lmxlbmd0aCk7CiAgICAgICBi
aW5hcnkuZW1pdF9zZWN0aW9uKGtDb2RlU2VjdGlvbkNvZGUsIHNlY3Rpb24gPT4gewogICAgICAg
ICBzZWN0aW9uLmVtaXRfdTMydih3YXNtLmZ1bmN0aW9ucy5sZW5ndGgpOworICAgICAgICBsZXQg
aGVhZGVyID0gbmV3IEJpbmFyeTsKICAgICAgICAgZm9yIChsZXQgZnVuYyBvZiB3YXNtLmZ1bmN0
aW9ucykgeworICAgICAgICAgIGhlYWRlci5yZXNldCgpOwogICAgICAgICAgIC8vIEZ1bmN0aW9u
IGJvZHkgbGVuZ3RoIHdpbGwgYmUgcGF0Y2hlZCBsYXRlci4KICAgICAgICAgICBsZXQgbG9jYWxf
ZGVjbHMgPSBbXTsKLSAgICAgICAgICBsZXQgbCA9IGZ1bmMubG9jYWxzOwotICAgICAgICAgIGlm
IChsICE9IHVuZGVmaW5lZCkgewotICAgICAgICAgICAgbGV0IGxvY2FsX2RlY2xzX2NvdW50ID0g
MDsKKyAgICAgICAgICBmb3IgKGxldCBsIG9mIGZ1bmMubG9jYWxzIHx8IFtdKSB7CiAgICAgICAg
ICAgICBpZiAobC5pMzJfY291bnQgPiAwKSB7CiAgICAgICAgICAgICAgIGxvY2FsX2RlY2xzLnB1
c2goe2NvdW50OiBsLmkzMl9jb3VudCwgdHlwZToga1dhc21JMzJ9KTsKICAgICAgICAgICAgIH0K
QEAgLTQ2OCw5ICsxMTcwLDIwIEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICAgICAg
ICAgIGlmIChsLmY2NF9jb3VudCA+IDApIHsKICAgICAgICAgICAgICAgbG9jYWxfZGVjbHMucHVz
aCh7Y291bnQ6IGwuZjY0X2NvdW50LCB0eXBlOiBrV2FzbUY2NH0pOwogICAgICAgICAgICAgfQor
ICAgICAgICAgICAgaWYgKGwuczEyOF9jb3VudCA+IDApIHsKKyAgICAgICAgICAgICAgbG9jYWxf
ZGVjbHMucHVzaCh7Y291bnQ6IGwuczEyOF9jb3VudCwgdHlwZToga1dhc21TMTI4fSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBpZiAobC5hbnlyZWZfY291bnQgPiAwKSB7CisgICAgICAg
ICAgICAgIGxvY2FsX2RlY2xzLnB1c2goe2NvdW50OiBsLmFueXJlZl9jb3VudCwgdHlwZToga1dh
c21BbnlSZWZ9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChsLmFueWZ1bmNfY291
bnQgPiAwKSB7CisgICAgICAgICAgICAgIGxvY2FsX2RlY2xzLnB1c2goe2NvdW50OiBsLmFueWZ1
bmNfY291bnQsIHR5cGU6IGtXYXNtQW55RnVuY30pOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgaWYgKGwuZXhjZXB0X2NvdW50ID4gMCkgeworICAgICAgICAgICAgICBsb2NhbF9kZWNscy5w
dXNoKHtjb3VudDogbC5leGNlcHRfY291bnQsIHR5cGU6IGtXYXNtRXhuUmVmfSk7CisgICAgICAg
ICAgICB9CiAgICAgICAgICAgfQogCi0gICAgICAgICAgbGV0IGhlYWRlciA9IG5ldyBCaW5hcnk7
CiAgICAgICAgICAgaGVhZGVyLmVtaXRfdTMydihsb2NhbF9kZWNscy5sZW5ndGgpOwogICAgICAg
ICAgIGZvciAobGV0IGRlY2wgb2YgbG9jYWxfZGVjbHMpIHsKICAgICAgICAgICAgIGhlYWRlci5l
bWl0X3UzMnYoZGVjbC5jb3VudCk7CkBAIC00NzgsMjkgKzExOTEsMzMgQEAgY2xhc3MgV2FzbU1v
ZHVsZUJ1aWxkZXIgewogICAgICAgICAgIH0KIAogICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2
KGhlYWRlci5sZW5ndGggKyBmdW5jLmJvZHkubGVuZ3RoKTsKLSAgICAgICAgICBzZWN0aW9uLmVt
aXRfYnl0ZXMoaGVhZGVyKTsKKyAgICAgICAgICBzZWN0aW9uLmVtaXRfYnl0ZXMoaGVhZGVyLnRy
dW5jX2J1ZmZlcigpKTsKICAgICAgICAgICBzZWN0aW9uLmVtaXRfYnl0ZXMoZnVuYy5ib2R5KTsK
ICAgICAgICAgfQogICAgICAgfSk7CiAgICAgfQogCiAgICAgLy8gQWRkIGRhdGEgc2VnbWVudHMu
Ci0gICAgaWYgKHdhc20uc2VnbWVudHMubGVuZ3RoID4gMCkgeworICAgIGlmICh3YXNtLmRhdGFf
c2VnbWVudHMubGVuZ3RoID4gMCkgewogICAgICAgaWYgKGRlYnVnKSBwcmludCgiZW1pdHRpbmcg
ZGF0YSBzZWdtZW50cyBAICIgKyBiaW5hcnkubGVuZ3RoKTsKICAgICAgIGJpbmFyeS5lbWl0X3Nl
Y3Rpb24oa0RhdGFTZWN0aW9uQ29kZSwgc2VjdGlvbiA9PiB7Ci0gICAgICAgIHNlY3Rpb24uZW1p
dF91MzJ2KHdhc20uc2VnbWVudHMubGVuZ3RoKTsKLSAgICAgICAgZm9yIChsZXQgc2VnIG9mIHdh
c20uc2VnbWVudHMpIHsKLSAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoMCk7ICAvLyBsaW5lYXIg
bWVtb3J5IGluZGV4IDAKLSAgICAgICAgICBpZiAoc2VnLmlzX2dsb2JhbCkgewotICAgICAgICAg
ICAgLy8gaW5pdGlhbGl6ZXIgaXMgYSBnbG9iYWwgdmFyaWFibGUKLSAgICAgICAgICAgIHNlY3Rp
b24uZW1pdF91OChrRXhwckdldEdsb2JhbCk7Ci0gICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMy
dihzZWcuYWRkcik7CisgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KHdhc20uZGF0YV9zZWdtZW50
cy5sZW5ndGgpOworICAgICAgICBmb3IgKGxldCBzZWcgb2Ygd2FzbS5kYXRhX3NlZ21lbnRzKSB7
CisgICAgICAgICAgaWYgKHNlZy5pc19hY3RpdmUpIHsKKyAgICAgICAgICAgIHNlY3Rpb24uZW1p
dF91OCgwKTsgIC8vIGxpbmVhciBtZW1vcnkgaW5kZXggMCAvIGZsYWdzCisgICAgICAgICAgICBp
ZiAoc2VnLmlzX2dsb2JhbCkgeworICAgICAgICAgICAgICAvLyBpbml0aWFsaXplciBpcyBhIGds
b2JhbCB2YXJpYWJsZQorICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa0V4cHJHbG9iYWxH
ZXQpOworICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihzZWcuYWRkcik7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAvLyBpbml0aWFsaXplciBpcyBhIGNvbnN0YW50
CisgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXhwckkzMkNvbnN0KTsKKyAgICAgICAg
ICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoc2VnLmFkZHIpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHByRW5kKTsKICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgLy8gaW5pdGlhbGl6ZXIgaXMgYSBjb25zdGFudAotICAgICAgICAgICAgc2VjdGlv
bi5lbWl0X3U4KGtFeHBySTMyQ29uc3QpOwotICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYo
c2VnLmFkZHIpOworICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtQYXNzaXZlKTsgIC8vIGZs
YWdzCiAgICAgICAgICAgfQotICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXhwckVuZCk7CiAg
ICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoc2VnLmRhdGEubGVuZ3RoKTsKICAgICAgICAgICBz
ZWN0aW9uLmVtaXRfYnl0ZXMoc2VnLmRhdGEpOwogICAgICAgICB9CkBAIC01MTMsNDMgKzEyMzAs
MTEwIEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICAgIGJpbmFyeS5lbWl0X2J5dGVz
KGV4cCk7CiAgICAgfQogCi0gICAgLy8gQWRkIGZ1bmN0aW9uIG5hbWVzLgotICAgIGlmIChoYXNf
bmFtZXMpIHsKLSAgICAgIGlmIChkZWJ1ZykgcHJpbnQoImVtaXR0aW5nIG5hbWVzIEAgIiArIGJp
bmFyeS5sZW5ndGgpOworICAgIC8vIEFkZCBuYW1lcy4KKyAgICBsZXQgbnVtX2Z1bmN0aW9uX25h
bWVzID0gMDsKKyAgICBsZXQgbnVtX2Z1bmN0aW9uc193aXRoX2xvY2FsX25hbWVzID0gMDsKKyAg
ICBmb3IgKGxldCBmdW5jIG9mIHdhc20uZnVuY3Rpb25zKSB7CisgICAgICBpZiAoZnVuYy5uYW1l
ICE9PSB1bmRlZmluZWQpICsrbnVtX2Z1bmN0aW9uX25hbWVzOworICAgICAgaWYgKGZ1bmMubnVt
TG9jYWxOYW1lcygpID4gMCkgKytudW1fZnVuY3Rpb25zX3dpdGhfbG9jYWxfbmFtZXM7CisgICAg
fQorICAgIGlmIChudW1fZnVuY3Rpb25fbmFtZXMgPiAwIHx8IG51bV9mdW5jdGlvbnNfd2l0aF9s
b2NhbF9uYW1lcyA+IDAgfHwKKyAgICAgICAgd2FzbS5uYW1lICE9PSB1bmRlZmluZWQpIHsKKyAg
ICAgIGlmIChkZWJ1ZykgcHJpbnQoJ2VtaXR0aW5nIG5hbWVzIEAgJyArIGJpbmFyeS5sZW5ndGgp
OwogICAgICAgYmluYXJ5LmVtaXRfc2VjdGlvbihrVW5rbm93blNlY3Rpb25Db2RlLCBzZWN0aW9u
ID0+IHsKLSAgICAgICAgc2VjdGlvbi5lbWl0X3N0cmluZygibmFtZSIpOwotICAgICAgICB2YXIg
Y291bnQgPSB3YXNtLmZ1bmN0aW9ucy5sZW5ndGggKyB3YXNtLm51bV9pbXBvcnRlZF9mdW5jczsK
LSAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoY291bnQpOwotICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHdhc20ubnVtX2ltcG9ydGVkX2Z1bmNzOyBpKyspIHsKLSAgICAgICAgICBzZWN0aW9u
LmVtaXRfdTgoMCk7IC8vIGVtcHR5IHN0cmluZwotICAgICAgICAgIHNlY3Rpb24uZW1pdF91OCgw
KTsgLy8gbG9jYWwgbmFtZXMgY291bnQgPT0gMAorICAgICAgICBzZWN0aW9uLmVtaXRfc3RyaW5n
KCduYW1lJyk7CisgICAgICAgIC8vIEVtaXQgbW9kdWxlIG5hbWUuCisgICAgICAgIGlmICh3YXNt
Lm5hbWUgIT09IHVuZGVmaW5lZCkgeworICAgICAgICAgIHNlY3Rpb24uZW1pdF9zZWN0aW9uKGtN
b2R1bGVOYW1lQ29kZSwgbmFtZV9zZWN0aW9uID0+IHsKKyAgICAgICAgICAgIG5hbWVfc2VjdGlv
bi5lbWl0X3N0cmluZyh3YXNtLm5hbWUpOworICAgICAgICAgIH0pOwogICAgICAgICB9Ci0gICAg
ICAgIGZvciAobGV0IGZ1bmMgb2Ygd2FzbS5mdW5jdGlvbnMpIHsKLSAgICAgICAgICB2YXIgbmFt
ZSA9IGZ1bmMubmFtZSA9PSB1bmRlZmluZWQgPyAiIiA6IGZ1bmMubmFtZTsKLSAgICAgICAgICBz
ZWN0aW9uLmVtaXRfc3RyaW5nKG5hbWUpOwotICAgICAgICAgIHNlY3Rpb24uZW1pdF91OCgwKTsg
IC8vIGxvY2FsIG5hbWVzIGNvdW50ID09IDAKKyAgICAgICAgLy8gRW1pdCBmdW5jdGlvbiBuYW1l
cy4KKyAgICAgICAgaWYgKG51bV9mdW5jdGlvbl9uYW1lcyA+IDApIHsKKyAgICAgICAgICBzZWN0
aW9uLmVtaXRfc2VjdGlvbihrRnVuY3Rpb25OYW1lc0NvZGUsIG5hbWVfc2VjdGlvbiA9PiB7Cisg
ICAgICAgICAgICBuYW1lX3NlY3Rpb24uZW1pdF91MzJ2KG51bV9mdW5jdGlvbl9uYW1lcyk7Cisg
ICAgICAgICAgICBmb3IgKGxldCBmdW5jIG9mIHdhc20uZnVuY3Rpb25zKSB7CisgICAgICAgICAg
ICAgIGlmIChmdW5jLm5hbWUgPT09IHVuZGVmaW5lZCkgY29udGludWU7CisgICAgICAgICAgICAg
IG5hbWVfc2VjdGlvbi5lbWl0X3UzMnYoZnVuYy5pbmRleCk7CisgICAgICAgICAgICAgIG5hbWVf
c2VjdGlvbi5lbWl0X3N0cmluZyhmdW5jLm5hbWUpOworICAgICAgICAgICAgfQorICAgICAgICAg
IH0pOworICAgICAgICB9CisgICAgICAgIC8vIEVtaXQgbG9jYWwgbmFtZXMuCisgICAgICAgIGlm
IChudW1fZnVuY3Rpb25zX3dpdGhfbG9jYWxfbmFtZXMgPiAwKSB7CisgICAgICAgICAgc2VjdGlv
bi5lbWl0X3NlY3Rpb24oa0xvY2FsTmFtZXNDb2RlLCBuYW1lX3NlY3Rpb24gPT4geworICAgICAg
ICAgICAgbmFtZV9zZWN0aW9uLmVtaXRfdTMydihudW1fZnVuY3Rpb25zX3dpdGhfbG9jYWxfbmFt
ZXMpOworICAgICAgICAgICAgZm9yIChsZXQgZnVuYyBvZiB3YXNtLmZ1bmN0aW9ucykgeworICAg
ICAgICAgICAgICBpZiAoZnVuYy5udW1Mb2NhbE5hbWVzKCkgPT0gMCkgY29udGludWU7CisgICAg
ICAgICAgICAgIG5hbWVfc2VjdGlvbi5lbWl0X3UzMnYoZnVuYy5pbmRleCk7CisgICAgICAgICAg
ICAgIG5hbWVfc2VjdGlvbi5lbWl0X3UzMnYoZnVuYy5udW1Mb2NhbE5hbWVzKCkpOworICAgICAg
ICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZ1bmMubG9jYWxfbmFtZXMubGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgICAgICAgICBpZiAoZnVuYy5sb2NhbF9uYW1lc1tpXSA9PT0gdW5kZWZpbmVk
KSBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBuYW1lX3NlY3Rpb24uZW1pdF91MzJ2KGkpOwor
ICAgICAgICAgICAgICAgIG5hbWVfc2VjdGlvbi5lbWl0X3N0cmluZyhmdW5jLmxvY2FsX25hbWVz
W2ldKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgIH0pOwogICAg
ICAgICB9CiAgICAgICB9KTsKICAgICB9CiAKLSAgICByZXR1cm4gYmluYXJ5OworICAgIHJldHVy
biBiaW5hcnkudHJ1bmNfYnVmZmVyKCk7CiAgIH0KIAotICB0b0J1ZmZlcihkZWJ1ZyA9IGZhbHNl
KSB7Ci0gICAgbGV0IGJ5dGVzID0gdGhpcy50b0FycmF5KGRlYnVnKTsKLSAgICBsZXQgYnVmZmVy
ID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVzLmxlbmd0aCk7Ci0gICAgbGV0IHZpZXcgPSBuZXcgVWlu
dDhBcnJheShidWZmZXIpOwotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBp
KyspIHsKLSAgICAgIGxldCB2YWwgPSBieXRlc1tpXTsKLSAgICAgIGlmICgodHlwZW9mIHZhbCkg
PT0gInN0cmluZyIpIHZhbCA9IHZhbC5jaGFyQ29kZUF0KDApOwotICAgICAgdmlld1tpXSA9IHZh
bCB8IDA7Ci0gICAgfQotICAgIHJldHVybiBuZXcgVWludDhBcnJheShidWZmZXIpOworICB0b0Fy
cmF5KGRlYnVnID0gZmFsc2UpIHsKKyAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnRvQnVmZmVy
KGRlYnVnKSk7CiAgIH0KIAotICBpbnN0YW50aWF0ZSguLi5hcmdzKSB7Ci0gICAgbGV0IG1vZHVs
ZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUodGhpcy50b0J1ZmZlcigpKTsKLSAgICBsZXQgaW5z
dGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlLCAuLi5hcmdzKTsKKyAgaW5z
dGFudGlhdGUoZmZpKSB7CisgICAgbGV0IG1vZHVsZSA9IHRoaXMudG9Nb2R1bGUoKTsKKyAgICBs
ZXQgaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlLCBmZmkpOwogICAg
IHJldHVybiBpbnN0YW5jZTsKICAgfQorCisgIGFzeW5jSW5zdGFudGlhdGUoZmZpKSB7CisgICAg
cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHRoaXMudG9CdWZmZXIoKSwgZmZpKQorICAg
ICAgICAudGhlbigoe21vZHVsZSwgaW5zdGFuY2V9KSA9PiBpbnN0YW5jZSk7CisgIH0KKworICB0
b01vZHVsZShkZWJ1ZyA9IGZhbHNlKSB7CisgICAgcmV0dXJuIG5ldyBXZWJBc3NlbWJseS5Nb2R1
bGUodGhpcy50b0J1ZmZlcihkZWJ1ZykpOworICB9Cit9CisKK2Z1bmN0aW9uIHdhc21TaWduZWRM
ZWIodmFsLCBtYXhfbGVuID0gNSkgeworICBsZXQgcmVzID0gW107CisgIGZvciAobGV0IGkgPSAw
OyBpIDwgbWF4X2xlbjsgKytpKSB7CisgICAgbGV0IHYgPSB2YWwgJiAweDdmOworICAgIC8vIElm
IHt2fSBzaWduLWV4dGVuZGVkIGZyb20gNyB0byAzMiBiaXRzIGlzIGVxdWFsIHRvIHZhbCwgd2Ug
YXJlIGRvbmUuCisgICAgaWYgKCgodiA8PCAyNSkgPj4gMjUpID09IHZhbCkgeworICAgICAgcmVz
LnB1c2godik7CisgICAgICByZXR1cm4gcmVzOworICAgIH0KKyAgICByZXMucHVzaCh2IHwgMHg4
MCk7CisgICAgdmFsID0gdmFsID4+IDc7CisgIH0KKyAgdGhyb3cgbmV3IEVycm9yKAorICAgICAg
J0xlYiB2YWx1ZSA8JyArIHZhbCArICc+IGV4Y2VlZHMgbWF4aW11bSBsZW5ndGggb2YgJyArIG1h
eF9sZW4pOworfQorCitmdW5jdGlvbiB3YXNtSTMyQ29uc3QodmFsKSB7CisgIHJldHVybiBba0V4
cHJJMzJDb25zdCwgLi4ud2FzbVNpZ25lZExlYih2YWwsIDUpXTsKK30KKworZnVuY3Rpb24gd2Fz
bUYzMkNvbnN0KGYpIHsKKyAgZjMyX3ZpZXdbMF0gPSBmOworICByZXR1cm4gWworICAgIGtFeHBy
RjMyQ29uc3QsIGYzMl9ieXRlc192aWV3WzBdLCBmMzJfYnl0ZXNfdmlld1sxXSwgZjMyX2J5dGVz
X3ZpZXdbMl0sCisgICAgZjMyX2J5dGVzX3ZpZXdbM10KKyAgXTsKK30KKworZnVuY3Rpb24gd2Fz
bUY2NENvbnN0KGYpIHsKKyAgZjY0X3ZpZXdbMF0gPSBmOworICByZXR1cm4gWworICAgIGtFeHBy
RjY0Q29uc3QsIGY2NF9ieXRlc192aWV3WzBdLCBmNjRfYnl0ZXNfdmlld1sxXSwgZjY0X2J5dGVz
X3ZpZXdbMl0sCisgICAgZjY0X2J5dGVzX3ZpZXdbM10sIGY2NF9ieXRlc192aWV3WzRdLCBmNjRf
Ynl0ZXNfdmlld1s1XSwgZjY0X2J5dGVzX3ZpZXdbNl0sCisgICAgZjY0X2J5dGVzX3ZpZXdbN10K
KyAgXTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397509</attachid>
            <date>2020-04-24 14:30:02 -0700</date>
            <delta_ts>2020-04-24 21:58:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210980-20200425003000.patch</filename>
            <type>text/plain</type>
            <size>293698</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ODZkODJlZjZkYWM2ZWNlZDE4NTIxZjRlNzI1ZGIxNjNmMjZmYzRjLi5lZTc0NGU4Y2IyZGYwMDk3
YzA1OWE5ODQ4MDY5N2Y3YjBlZmFkM2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAyMC0wNC0yNCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgRml4IFdBU00gRXJyb3IgY2xhc3NlcyBhbmQgcmUtc3luYyB3cHQv
d2FzbS9qc2FwaSBmcm9tIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA5ODAKKworICAgICAgICBSZXZpZXdlZCBieSBLZWl0aCBNaWxs
ZXIuCisKKyAgICAgICAgYXNzZXJ0X3Rocm93c19qcygpIGhhcm5lc3MsIHdoaWNoIGlzIGV4dGVu
c2l2ZWx5IHVzZWQgYnkgd3B0L3dhc20vanNhcGkgdGVzdHMsCisgICAgICAgIHdhcyByZWNlbnRs
eSB1cGRhdGVkIHRvIGFzc2VydCB0aGF0IHBhc3NlZCBjb25zdHJ1Y3RvcnMgc3ViY2xhc3MgRXJy
b3IgaW4KKyAgICAgICAgc3BlYy1wZXJmZWN0IHdheS4KKworICAgICAgICBXaXRoIHRoaXMgcGF0
Y2gsIFdlYkFzc2VtYmx5IGVycm9ycyBoYXZlIEVycm9yIGFzIFtbUHJvdG90eXBlXV0gb2YgdGhl
aXIgY29uc3RydWN0b3JzCisgICAgICAgIGFuZCBkZWZpbmUgY29ycmVjdCAibmFtZSIgYW5kICJt
ZXNzYWdlIiBwcm9wZXJ0aWVzIG9uIHRoZWlyIHByb3RvdHlwZXMsIGFsaWduaW5nIEpTQworICAg
ICAgICB3aXRoIHRoZSBzcGVjIFsxXSwgVjggYW5kIFNwaWRlck1vbmtleS4KKworICAgICAgICBb
MV06IGh0dHBzOi8vd2ViYXNzZW1ibHkuZ2l0aHViLmlvL3NwZWMvanMtYXBpLyNlcnJvci1vYmpl
Y3RzCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlD
b21waWxlRXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseUNvbXBp
bGVFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMvV2Vi
QXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJs
eUxpbmtFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpXZWJB
c3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorCiAyMDIwLTA0
LTIzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgcmV2b2tlZCBQcm94eSBjaGVja3MgZnJvbSBQcm94eUNyZWF0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDE5YTQ4ZmI5
MzBjNWJmMGYzNTUxZTNmMzQ2ZDY0Yzg3NTZlNDU2MzEuLmQ5NWRmODllYmUxOThiMDI0NWZiYWRj
MDRiZTk1Y2E5NTIxM2FiYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTEyNDMsNyArMTI0Myw4IEBAIGNhcGl0YWxOYW1lICMj
IENvbnN0cnVjdG9yKiBsb3dlck5hbWUgIyMgQ29uc3RydWN0b3IgPSBmZWF0dXJlRmxhZyA/IGNh
cGl0YWxOYW1lCiAgICAgICAgICAgICBbXSAoTGF6eUNsYXNzU3RydWN0dXJlOjpJbml0aWFsaXpl
ciYgaW5pdCkgeyBcCiAgICAgICAgICAgICAgICAgaW5pdC5zZXRQcm90b3R5cGUoY2FwaXRhbE5h
bWUjI1Byb3RvdHlwZTo6Y3JlYXRlKGluaXQudm0sIGluaXQuZ2xvYmFsLCBjYXBpdGFsTmFtZSMj
UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52bSwgaW5pdC5nbG9iYWwsIGluaXQuZ2xv
YmFsLT5wcm90b3R5cGVCYXNlICMjIFByb3RvdHlwZSgpKSkpOyBcCiAgICAgICAgICAgICAgICAg
aW5pdC5zZXRTdHJ1Y3R1cmUoaW5zdGFuY2VUeXBlOjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52bSwg
aW5pdC5nbG9iYWwsIGluaXQucHJvdG90eXBlKSk7IFwKLSAgICAgICAgICAgICAgICBpbml0LnNl
dENvbnN0cnVjdG9yKGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGUoaW5pdC52bSwg
Y2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBpbml0
Lmdsb2JhbCwgaW5pdC5nbG9iYWwtPmZ1bmN0aW9uUHJvdG90eXBlKCkpLCBqc0Nhc3Q8Y2FwaXRh
bE5hbWUgIyMgUHJvdG90eXBlKj4oaW5pdC5wcm90b3R5cGUpKSk7IFwKKyAgICAgICAgICAgICAg
ICBhdXRvKiBjb25zdHJ1Y3RvclByb3RvdHlwZSA9ICNwcm90b3R5cGVCYXNlID09ICJlcnJvciIg
PyBpbml0Lmdsb2JhbC0+bV9lcnJvclN0cnVjdHVyZS5jb25zdHJ1Y3Rvcihpbml0Lmdsb2JhbCkg
OiBpbml0Lmdsb2JhbC0+ZnVuY3Rpb25Qcm90b3R5cGUoKTsgXAorICAgICAgICAgICAgICAgIGlu
aXQuc2V0Q29uc3RydWN0b3IoY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZShpbml0
LnZtLCBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0s
IGluaXQuZ2xvYmFsLCBjb25zdHJ1Y3RvclByb3RvdHlwZSksIGpzQ2FzdDxjYXBpdGFsTmFtZSAj
IyBQcm90b3R5cGUqPihpbml0LnByb3RvdHlwZSkpKTsgXAogICAgICAgICAgICAgfSk7IFwKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmNwcAppbmRleCA5Mjg5MjAyYjk2
MWM1Njg1ZjRmZmE3MmM2ZTgzNGZkNTlkYmYzYTgwLi4zMjEzMzhkZWM0MTkwOGUxMzhlNDYyNzJj
MTRmYzZkNGI2ZGIyODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuY3BwCkBA
IC01Nyw2ICs1Nyw5IEBAIFN0cnVjdHVyZSogV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5
cGU6OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqCiB2b2lkIFdlYkFzc2VtYmx5
Q29tcGlsZUVycm9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiB7CiAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7
CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPm5h
bWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIkNvbXBpbGVFcnJvciJfcyksIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKKyAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bWVzc2FnZSwganNFbXB0eVN0
cmluZyh2bSksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pKTsKIH0KIAogV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGU6OldlYkFzc2VtYmx5
Q29tcGlsZUVycm9yUHJvdG90eXBlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJv
clByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJs
eUxpbmtFcnJvclByb3RvdHlwZS5jcHAKaW5kZXggYTIwNWE1ODIyN2QxNjcwMTYzODA1NDBiYzNh
ZjBjOWE5ZjFhMDRjMS4uYzdjZTExYzJlNjJkNDE4MjFhMDc5MWY0ZDUwOTM5YTcwYWQ2YTA4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5r
RXJyb3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlLmNwcApAQCAtNTcsNiArNTcsOSBAQCBTdHJ1Y3R1
cmUqIFdlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdAogdm9pZCBXZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAg
ICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0s
ICJMaW5rRXJyb3IiX3MpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPm1lc3NhZ2UsIGpzRW1wdHlTdHJpbmcodm0pLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiB9CiAKIFdlYkFzc2VtYmx5TGlua0Vy
cm9yUHJvdG90eXBlOjpXZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuY3BwCmluZGV4
IDQyMTE5NjVjNzFjYzJkMGYyNTY0MWI1NjRiNWY0ODBiOTI1NDE3OTguLmY5NzMxYWUxYjJlMTM5
ZDM1MjM5MTg5MWUyMjFiYmYyNDNjMDE0NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3Rv
dHlwZS5jcHAKQEAgLTU3LDYgKzU3LDkgQEAgU3RydWN0dXJlKiBXZWJBc3NlbWJseVJ1bnRpbWVF
cnJvclByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKIHZvaWQg
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkK
IHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgQVNTRVJUKGluaGVyaXRzKHZt
LCBpbmZvKCkpKTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5nKHZtLCAiUnVudGltZUVycm9yIl9zKSwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOworICAg
IHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5tZXNzYWdl
LCBqc0VtcHR5U3RyaW5nKHZtKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSkpOwogfQogCiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZTo6
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlkZWIzMDdmODZiNTAyMThj
MjVhYTFlNGEyMTU5Mjk2N2ZiNWI0M2YuLjFmYmExNzQ5MTNjNWU4NGJiODdjZGY1MGFiODNlZWNm
MjM1NmRjYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTA0LTI0ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKwor
ICAgICAgICBGaXggV0FTTSBFcnJvciBjbGFzc2VzIGFuZCByZS1zeW5jIHdwdC93YXNtL2pzYXBp
IGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMDk4MAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlaXRoIE1pbGxlci4KKworICAg
ICAgICB3ZWItcGxhdGZvcm0tdGVzdHMgcmV2aXNpb246IDAyOGJkODY1MDc1OAorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvKjogVXBkYXRlZC4KKwogMjAyMC0wNC0y
MiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBkb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLXJlZGlzcGF0Y2guaHRtbCBmcm9tIHVwc3Ry
ZWFtIFdQVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2Fzc2VydGlvbnMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvYXNzZXJ0aW9ucy5qcwppbmRleCAxNTFh
NDA2NjU1Y2I1MDk0NjI1MTIyYmRiZDM1OWQxZmY5MWQ4ZmJkLi5mMDAzMDNmNmFhNTA1NGQzMjY0
YmRlYmU3OGQwMGVmNTQyNmIyOGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvYXNzZXJ0aW9ucy5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvYXNzZXJ0
aW9ucy5qcwpAQCAtMTUsMyArMTUsODEgQEAgZnVuY3Rpb24gYXNzZXJ0X2Z1bmN0aW9uX2xlbmd0
aChmbiwgbGVuZ3RoLCBkZXNjcmlwdGlvbikgewogICBhc3NlcnRfdHJ1ZShwcm9wZGVzYy5jb25m
aWd1cmFibGUsICJjb25maWd1cmFibGUiLCBgJHtkZXNjcmlwdGlvbn0gbGVuZ3RoIHNob3VsZCBi
ZSBjb25maWd1cmFibGVgKTsKICAgYXNzZXJ0X2VxdWFscyhwcm9wZGVzYy52YWx1ZSwgbGVuZ3Ro
LCBgJHtkZXNjcmlwdGlvbn0gbGVuZ3RoIHNob3VsZCBiZSAke2xlbmd0aH1gKTsKIH0KKworZnVu
Y3Rpb24gYXNzZXJ0X2V4cG9ydGVkX2Z1bmN0aW9uKGZuLCB7IG5hbWUsIGxlbmd0aCB9LCBkZXNj
cmlwdGlvbikgeworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihmbiksIEZ1
bmN0aW9uLnByb3RvdHlwZSwKKyAgICAgICAgICAgICAgICBgJHtkZXNjcmlwdGlvbn06IHByb3Rv
dHlwZWApOworCisgIGFzc2VydF9mdW5jdGlvbl9uYW1lKGZuLCBuYW1lLCBkZXNjcmlwdGlvbik7
CisgIGFzc2VydF9mdW5jdGlvbl9sZW5ndGgoZm4sIGxlbmd0aCwgZGVzY3JpcHRpb24pOworfQor
CitmdW5jdGlvbiBhc3NlcnRfSW5zdGFuY2UoaW5zdGFuY2UsIGV4cGVjdGVkX2V4cG9ydHMpIHsK
KyAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpLCBXZWJBc3Nl
bWJseS5JbnN0YW5jZS5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAgInByb3RvdHlwZSIpOwor
ICBhc3NlcnRfdHJ1ZShPYmplY3QuaXNFeHRlbnNpYmxlKGluc3RhbmNlKSwgImV4dGVuc2libGUi
KTsKKworICBhc3NlcnRfZXF1YWxzKGluc3RhbmNlLmV4cG9ydHMsIGluc3RhbmNlLmV4cG9ydHMs
ICJleHBvcnRzIHNob3VsZCBiZSBpZGVtcG90ZW50Iik7CisgIGNvbnN0IGV4cG9ydHMgPSBpbnN0
YW5jZS5leHBvcnRzOworCisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGV4
cG9ydHMpLCBudWxsLCAiZXhwb3J0cyBwcm90b3R5cGUiKTsKKyAgYXNzZXJ0X2ZhbHNlKE9iamVj
dC5pc0V4dGVuc2libGUoZXhwb3J0cyksICJleHRlbnNpYmxlIGV4cG9ydHMiKTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyhPYmplY3Qua2V5cyhleHBvcnRzKSwgT2JqZWN0LmtleXMoZXhwZWN0ZWRf
ZXhwb3J0cyksICJtYXRjaGluZyBleHBvcnQga2V5cyIpOworICBmb3IgKGNvbnN0IFtrZXksIGV4
cGVjdGVkXSBvZiBPYmplY3QuZW50cmllcyhleHBlY3RlZF9leHBvcnRzKSkgeworICAgIGNvbnN0
IHByb3BlcnR5ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihleHBvcnRzLCBrZXkp
OworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHByb3BlcnR5LCAib2JqZWN0IiwgYCR7a2V5fSBz
aG91bGQgYmUgcHJlc2VudGApOworICAgIGFzc2VydF9mYWxzZShwcm9wZXJ0eS53cml0YWJsZSwg
YCR7a2V5fTogd3JpdGFibGVgKTsKKyAgICBhc3NlcnRfdHJ1ZShwcm9wZXJ0eS5lbnVtZXJhYmxl
LCBgJHtrZXl9OiBlbnVtZXJhYmxlYCk7CisgICAgYXNzZXJ0X2ZhbHNlKHByb3BlcnR5LmNvbmZp
Z3VyYWJsZSwgYCR7a2V5fTogY29uZmlndXJhYmxlYCk7CisgICAgY29uc3QgYWN0dWFsID0gcHJv
cGVydHkudmFsdWU7CisgICAgYXNzZXJ0X3RydWUoT2JqZWN0LmlzRXh0ZW5zaWJsZShhY3R1YWwp
LCBgJHtrZXl9OiBleHRlbnNpYmxlYCk7CisKKyAgICBzd2l0Y2ggKGV4cGVjdGVkLmtpbmQpIHsK
KyAgICBjYXNlICJmdW5jdGlvbiI6CisgICAgICBhc3NlcnRfZXhwb3J0ZWRfZnVuY3Rpb24oYWN0
dWFsLCBleHBlY3RlZCwgYHZhbHVlIG9mICR7a2V5fWApOworICAgICAgYnJlYWs7CisgICAgY2Fz
ZSAiZ2xvYmFsIjoKKyAgICAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFj
dHVhbCksIFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAgICAg
IGB2YWx1ZSBvZiAke2tleX06IHByb3RvdHlwZWApOworICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1
YWwudmFsdWUsIGV4cGVjdGVkLnZhbHVlLCBgdmFsdWUgb2YgJHtrZXl9OiB2YWx1ZWApOworICAg
ICAgYXNzZXJ0X2VxdWFscyhhY3R1YWwudmFsdWVPZigpLCBleHBlY3RlZC52YWx1ZSwgYHZhbHVl
IG9mICR7a2V5fTogdmFsdWVPZigpYCk7CisgICAgICBicmVhazsKKyAgICBjYXNlICJtZW1vcnki
OgorICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoYWN0dWFsKSwgV2Vi
QXNzZW1ibHkuTWVtb3J5LnByb3RvdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgYHZhbHVlIG9m
ICR7a2V5fTogcHJvdG90eXBlYCk7CisgICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90
b3R5cGVPZihhY3R1YWwuYnVmZmVyKSwgQXJyYXlCdWZmZXIucHJvdG90eXBlLAorICAgICAgICAg
ICAgICAgICAgICBgdmFsdWUgb2YgJHtrZXl9OiBwcm90b3R5cGUgb2YgYnVmZmVyYCk7CisgICAg
ICBhc3NlcnRfZXF1YWxzKGFjdHVhbC5idWZmZXIuYnl0ZUxlbmd0aCwgMHgxMDAwMCAqIGV4cGVj
dGVkLnNpemUsIGB2YWx1ZSBvZiAke2tleX06IHNpemUgb2YgYnVmZmVyYCk7CisgICAgICBjb25z
dCBhcnJheSA9IG5ldyBVaW50OEFycmF5KGFjdHVhbC5idWZmZXIpOworICAgICAgYXNzZXJ0X2Vx
dWFscyhhcnJheVswXSwgMCwgYHZhbHVlIG9mICR7a2V5fTogZmlyc3QgZWxlbWVudCBvZiBidWZm
ZXJgKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoYXJyYXlbYXJyYXkuYnl0ZUxlbmd0aCAtIDFdLCAw
LCBgdmFsdWUgb2YgJHtrZXl9OiBsYXN0IGVsZW1lbnQgb2YgYnVmZmVyYCk7CisgICAgICBicmVh
azsKKyAgICBjYXNlICJ0YWJsZSI6CisgICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90
b3R5cGVPZihhY3R1YWwpLCBXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUsCisgICAgICAgICAg
ICAgICAgICAgIGB2YWx1ZSBvZiAke2tleX06IHByb3RvdHlwZWApOworICAgICAgYXNzZXJ0X2Vx
dWFscyhhY3R1YWwubGVuZ3RoLCBleHBlY3RlZC5sZW5ndGgsIGB2YWx1ZSBvZiAke2tleX06IGxl
bmd0aCBvZiB0YWJsZWApOworICAgICAgYnJlYWs7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9u
IGFzc2VydF9XZWJBc3NlbWJseUluc3RhbnRpYXRlZFNvdXJjZShhY3R1YWwsIGV4cGVjdGVkX2V4
cG9ydHM9e30pIHsKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoYWN0dWFs
KSwgT2JqZWN0LnByb3RvdHlwZSwKKyAgICAgICAgICAgICAgICAiUHJvdG90eXBlIik7CisgIGFz
c2VydF90cnVlKE9iamVjdC5pc0V4dGVuc2libGUoYWN0dWFsKSwgIkV4dGVuc2liaWxpdHkiKTsK
KworICBjb25zdCBtb2R1bGUgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFjdHVh
bCwgIm1vZHVsZSIpOworICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBtb2R1bGUsICJvYmplY3QiLCAi
bW9kdWxlOiB0eXBlIG9mIGRlc2NyaXB0b3IiKTsKKyAgYXNzZXJ0X3RydWUobW9kdWxlLndyaXRh
YmxlLCAibW9kdWxlOiB3cml0YWJsZSIpOworICBhc3NlcnRfdHJ1ZShtb2R1bGUuZW51bWVyYWJs
ZSwgIm1vZHVsZTogZW51bWVyYWJsZSIpOworICBhc3NlcnRfdHJ1ZShtb2R1bGUuY29uZmlndXJh
YmxlLCAibW9kdWxlOiBjb25maWd1cmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0
UHJvdG90eXBlT2YobW9kdWxlLnZhbHVlKSwgV2ViQXNzZW1ibHkuTW9kdWxlLnByb3RvdHlwZSwK
KyAgICAgICAgICAgICAgICAibW9kdWxlOiBwcm90b3R5cGUiKTsKKworICBjb25zdCBpbnN0YW5j
ZSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYWN0dWFsLCAiaW5zdGFuY2UiKTsK
KyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgaW5zdGFuY2UsICJvYmplY3QiLCAiaW5zdGFuY2U6IHR5
cGUgb2YgZGVzY3JpcHRvciIpOworICBhc3NlcnRfdHJ1ZShpbnN0YW5jZS53cml0YWJsZSwgImlu
c3RhbmNlOiB3cml0YWJsZSIpOworICBhc3NlcnRfdHJ1ZShpbnN0YW5jZS5lbnVtZXJhYmxlLCAi
aW5zdGFuY2U6IGVudW1lcmFibGUiKTsKKyAgYXNzZXJ0X3RydWUoaW5zdGFuY2UuY29uZmlndXJh
YmxlLCAiaW5zdGFuY2U6IGNvbmZpZ3VyYWJsZSIpOworICBhc3NlcnRfSW5zdGFuY2UoaW5zdGFu
Y2UudmFsdWUsIGV4cGVjdGVkX2V4cG9ydHMpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2JhZC1pbXBvcnRzLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2JhZC1pbXBvcnRzLmpzCmluZGV4IGYwNzZiYWFjY2E4YjNlNmFkZGY0OWY2ODQxODc0ZDExYmZj
ZmU1YTIuLmFmZDQxOTM2ZDNlMDQ1OWI3N2Y0ZTdmZDRjZGE2YjE3NTRiOWQ0ZGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9iYWQtaW1wb3J0cy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvYmFkLWltcG9ydHMuanMKQEAgLTEsNyArMSwxOSBAQAorLyoq
CisgKiBgdGAgc2hvdWxkIGJlIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhdCBsZWFzdCB0aHJlZSBh
cmd1bWVudHM6CisgKgorICogLSB0aGUgbmFtZSBvZiB0aGUgdGVzdDsKKyAqIC0gdGhlIGV4cGVj
dGVkIGVycm9yICh0byBiZSBwYXNzZWQgdG8gYGFzc2VydF90aHJvd3NfanNgKTsKKyAqIC0gYSBm
dW5jdGlvbiB0aGF0IHRha2VzIGEgYFdhc21Nb2R1bGVCdWlsZGVyYCBhbmQgaW5pdGlhbGl6ZXMg
aXQ7CisgKiAtIChvcHRpb25hbGx5KSBhbiBvcHRpb25zIG9iamVjdC4KKyAqCisgKiBUaGUgZnVu
Y3Rpb24gaXMgZXhwZWN0ZWQgdG8gY3JlYXRlIGEgdGVzdCB0aGF0IGNoZWNrcyBpZiBpbnN0YW50
aWF0aW5nIGEKKyAqIG1vZHVsZSB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIGBXYXNtTW9kdWxlQnVp
bGRlcmAgYW5kIHRoZSBvcHRpb25zIG9iamVjdAorICogKGlmIGFueSkgeWllbGRzIHRoZSBjb3Jy
ZWN0IGVycm9yLgorICovCiBmdW5jdGlvbiB0ZXN0X2JhZF9pbXBvcnRzKHQpIHsKICAgZm9yIChj
b25zdCB2YWx1ZSBvZiBbbnVsbCwgdHJ1ZSwgIiIsIFN5bWJvbCgpLCAxLCAwLjEsIE5hTl0pIHsK
ICAgICB0KGBOb24tb2JqZWN0IGltcG9ydHMgYXJndW1lbnQ6ICR7Zm9ybWF0X3ZhbHVlKHZhbHVl
KX1gLAotICAgICAgbmV3IFR5cGVFcnJvcigpLAorICAgICAgVHlwZUVycm9yLAogICAgICAgYnVp
bGRlciA9PiB7fSwKICAgICAgIHZhbHVlKTsKICAgfQpAQCAtMTEsMjIgKzIzLDIyIEBAIGZ1bmN0
aW9uIHRlc3RfYmFkX2ltcG9ydHModCkgewogICAgICAgIm1vZHVsZSI6IHZhbHVlLAogICAgIH07
CiAgICAgdChgTm9uLW9iamVjdCBtb2R1bGU6ICR7Zm9ybWF0X3ZhbHVlKHZhbHVlKX1gLAotICAg
ICAgbmV3IFR5cGVFcnJvcigpLAorICAgICAgVHlwZUVycm9yLAogICAgICAgYnVpbGRlciA9PiB7
CiAgICAgICAgIGJ1aWxkZXIuYWRkSW1wb3J0KCJtb2R1bGUiLCAiZm4iLCBrU2lnX3Zfdik7CiAg
ICAgICB9LAotICAgICAgdmFsdWUpOworICAgICAgaW1wb3J0cyk7CiAgIH0KIAogICB0KGBNaXNz
aW5nIGltcG9ydHMgYXJndW1lbnRgLAotICAgIG5ldyBUeXBlRXJyb3IoKSwKKyAgICBUeXBlRXJy
b3IsCiAgICAgYnVpbGRlciA9PiB7CiAgICAgICBidWlsZGVyLmFkZEltcG9ydCgibW9kdWxlIiwg
ImZuIiwga1NpZ192X3YpOwogICAgIH0pOwogCiAgIGZvciAoY29uc3QgW3ZhbHVlLCBuYW1lXSBv
ZiBbW3VuZGVmaW5lZCwgInVuZGVmaW5lZCJdLCBbe30sICJlbXB0eSBvYmplY3QiXSwgW3sgIm1v
ZHVsZVwwIjogbnVsbCB9LCAid3JvbmcgcHJvcGVydHkiXV0pIHsKICAgICB0KGBJbXBvcnRzIGFy
Z3VtZW50IHdpdGggbWlzc2luZyBwcm9wZXJ0eTogJHtuYW1lfWAsCi0gICAgICBuZXcgVHlwZUVy
cm9yKCksCisgICAgICBUeXBlRXJyb3IsCiAgICAgICBidWlsZGVyID0+IHsKICAgICAgICAgYnVp
bGRlci5hZGRJbXBvcnQoIm1vZHVsZSIsICJmbiIsIGtTaWdfdl92KTsKICAgICAgIH0sCkBAIC0z
NCw3ICs0Niw3IEBAIGZ1bmN0aW9uIHRlc3RfYmFkX2ltcG9ydHModCkgewogICB9CiAKICAgdChg
SW1wb3J0aW5nIGFuIGk2NCBnbG9iYWxgLAotICAgIG5ldyBXZWJBc3NlbWJseS5MaW5rRXJyb3Io
KSwKKyAgICBXZWJBc3NlbWJseS5MaW5rRXJyb3IsCiAgICAgYnVpbGRlciA9PiB7CiAgICAgICBi
dWlsZGVyLmFkZEltcG9ydGVkR2xvYmFsKCJtb2R1bGUiLCAiZ2xvYmFsIiwga1dhc21JNjQpOwog
ICAgIH0sCkBAIC00Niw3ICs1OCw3IEBAIGZ1bmN0aW9uIHRlc3RfYmFkX2ltcG9ydHModCkgewog
CiAgIGZvciAoY29uc3QgdmFsdWUgb2YgW3VuZGVmaW5lZCwgbnVsbCwgdHJ1ZSwgIiIsIFN5bWJv
bCgpLCAxLCAwLjEsIE5hTiwge31dKSB7CiAgICAgdChgSW1wb3J0aW5nIGEgZnVuY3Rpb24gd2l0
aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogJHtmb3JtYXRfdmFsdWUodmFsdWUpfWAsCi0g
ICAgICBuZXcgV2ViQXNzZW1ibHkuTGlua0Vycm9yKCksCisgICAgICBXZWJBc3NlbWJseS5MaW5r
RXJyb3IsCiAgICAgICBidWlsZGVyID0+IHsKICAgICAgICAgYnVpbGRlci5hZGRJbXBvcnQoIm1v
ZHVsZSIsICJmbiIsIGtTaWdfdl92KTsKICAgICAgIH0sCkBAIC02NywxMSArNzksMTIgQEAgZnVu
Y3Rpb24gdGVzdF9iYWRfaW1wb3J0cyh0KSB7CiAgICAgW1dlYkFzc2VtYmx5Lkdsb2JhbCwgIldl
YkFzc2VtYmx5Lkdsb2JhbCJdLAogICAgIFtXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlLCAi
V2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSJdLAogICAgIFtPYmplY3QuY3JlYXRlKFdlYkFz
c2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUpLCAiT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5HbG9i
YWwucHJvdG90eXBlKSJdLAorICAgIFtuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKHt2YWx1ZTogImYz
MiJ9KSwgIldlYkFzc2VtYmx5Lkdsb2JhbCBvYmplY3QgKHdyb25nIHZhbHVlIHR5cGUpIl0sCiAg
IF07CiAKICAgZm9yIChjb25zdCBbdmFsdWUsIG5hbWUgPSBmb3JtYXRfdmFsdWUodmFsdWUpXSBv
ZiBub25HbG9iYWxzKSB7CiAgICAgdChgSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3Jy
ZWN0bHktdHlwZWQgdmFsdWU6ICR7bmFtZX1gLAotICAgICAgbmV3IFdlYkFzc2VtYmx5LkxpbmtF
cnJvcigpLAorICAgICAgV2ViQXNzZW1ibHkuTGlua0Vycm9yLAogICAgICAgYnVpbGRlciA9PiB7
CiAgICAgICAgIGJ1aWxkZXIuYWRkSW1wb3J0ZWRHbG9iYWwoIm1vZHVsZSIsICJnbG9iYWwiLCBr
V2FzbUkzMik7CiAgICAgICB9LApAQCAtOTUsMTEgKzEwOCwxMiBAQCBmdW5jdGlvbiB0ZXN0X2Jh
ZF9pbXBvcnRzKHQpIHsKICAgICBbV2ViQXNzZW1ibHkuTWVtb3J5LCAiV2ViQXNzZW1ibHkuTWVt
b3J5Il0sCiAgICAgW1dlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUsICJXZWJBc3NlbWJseS5N
ZW1vcnkucHJvdG90eXBlIl0sCiAgICAgW09iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHkuTWVtb3J5
LnByb3RvdHlwZSksICJPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUp
Il0sCisgICAgW25ldyBXZWJBc3NlbWJseS5NZW1vcnkoeyJpbml0aWFsIjogMjU2fSksICJXZWJB
c3NlbWJseS5NZW1vcnkgb2JqZWN0ICh0b28gbGFyZ2UpIl0sCiAgIF07CiAKICAgZm9yIChjb25z
dCBbdmFsdWUsIG5hbWUgPSBmb3JtYXRfdmFsdWUodmFsdWUpXSBvZiBub25NZW1vcmllcykgewog
ICAgIHQoYEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTog
JHtuYW1lfWAsCi0gICAgICBuZXcgV2ViQXNzZW1ibHkuTGlua0Vycm9yKCksCisgICAgICBXZWJB
c3NlbWJseS5MaW5rRXJyb3IsCiAgICAgICBidWlsZGVyID0+IHsKICAgICAgICAgYnVpbGRlci5h
ZGRJbXBvcnRlZE1lbW9yeSgibW9kdWxlIiwgIm1lbW9yeSIsIDAsIDEyOCk7CiAgICAgICB9LApA
QCAtMTIzLDExICsxMzcsMTIgQEAgZnVuY3Rpb24gdGVzdF9iYWRfaW1wb3J0cyh0KSB7CiAgICAg
W1dlYkFzc2VtYmx5LlRhYmxlLCAiV2ViQXNzZW1ibHkuVGFibGUiXSwKICAgICBbV2ViQXNzZW1i
bHkuVGFibGUucHJvdG90eXBlLCAiV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlIl0sCiAgICAg
W09iamVjdC5jcmVhdGUoV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlKSwgIk9iamVjdC5jcmVh
dGUoV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlKSJdLAorICAgIFtuZXcgV2ViQXNzZW1ibHku
VGFibGUoeyJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDI1Nn0pLCAiV2ViQXNzZW1i
bHkuVGFibGUgb2JqZWN0ICh0b28gbGFyZ2UpIl0sCiAgIF07CiAKICAgZm9yIChjb25zdCBbdmFs
dWUsIG5hbWUgPSBmb3JtYXRfdmFsdWUodmFsdWUpXSBvZiBub25UYWJsZXMpIHsKICAgICB0KGBJ
bXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogJHtuYW1lfWAs
Ci0gICAgICBuZXcgV2ViQXNzZW1ibHkuTGlua0Vycm9yKCksCisgICAgICBXZWJBc3NlbWJseS5M
aW5rRXJyb3IsCiAgICAgICBidWlsZGVyID0+IHsKICAgICAgICAgYnVpbGRlci5hZGRJbXBvcnRl
ZFRhYmxlKCJtb2R1bGUiLCAidGFibGUiLCAwLCAxMjgpOwogICAgICAgfSwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9j
b25zdHJ1Y3Rvci9jb21waWxlLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvY29tcGlsZS5h
bnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2YjBmODUwY2U5YzZhN2JhNGE5NGU0MDFiMzk4
YmE1MzUyMmQzNmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvY29tcGlsZS5hbnktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworUEFTUyBNaXNzaW5nIGFyZ3VtZW50IAorUEFT
UyBJbnZhbGlkIGFyZ3VtZW50cyAKK1BBU1MgQnJhbmRpbmcgCitQQVNTIFByb21pc2UgdHlwZSAK
K1BBU1MgRW1wdHkgYnVmZmVyIAorUEFTUyBJbnZhbGlkIGNvZGUgCitQQVNTIFJlc3VsdCB0eXBl
IAorUEFTUyBTdHJheSBhcmd1bWVudCAKK1BBU1MgQ2hhbmdpbmcgdGhlIGJ1ZmZlciAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvY29tcGlsZS5h
bnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0
OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55Lmh0bWwKQEAgLTAs
MCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJh
c3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55LmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVj
dG9yL2NvbXBpbGUuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNDEyMzk0M2U3NzVmNDZlODU0YjJjMDcy
NThhN2QwOGM1Y2Y2OTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvY29tcGlsZS5hbnku
anMKQEAgLTAsMCArMSw4NSBAQAorLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IHNj
cmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCisKK2Z1bmN0aW9uIGFzc2Vy
dF9Nb2R1bGUobW9kdWxlKSB7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9m
KG1vZHVsZSksIFdlYkFzc2VtYmx5Lk1vZHVsZS5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAg
IlByb3RvdHlwZSIpOworICBhc3NlcnRfdHJ1ZShPYmplY3QuaXNFeHRlbnNpYmxlKG1vZHVsZSks
ICJFeHRlbnNpYmlsaXR5Iik7Cit9CisKK2xldCBlbXB0eU1vZHVsZUJpbmFyeTsKK3NldHVwKCgp
ID0+IHsKKyAgZW1wdHlNb2R1bGVCaW5hcnkgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKS50b0J1
ZmZlcigpOworfSk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIFdlYkFzc2VtYmx5LmNvbXBpbGUoKSk7Cit9LCAiTWlzc2lu
ZyBhcmd1bWVudCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IGludmFsaWRBcmd1
bWVudHMgPSBbCisgICAgdW5kZWZpbmVkLAorICAgIG51bGwsCisgICAgdHJ1ZSwKKyAgICAiIiwK
KyAgICBTeW1ib2woKSwKKyAgICAxLAorICAgIHt9LAorICAgIEFycmF5QnVmZmVyLAorICAgIEFy
cmF5QnVmZmVyLnByb3RvdHlwZSwKKyAgICBBcnJheS5mcm9tKGVtcHR5TW9kdWxlQmluYXJ5KSwK
KyAgXTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKGludmFsaWRBcmd1bWVudHMubWFwKGFyZ3VtZW50
ID0+IHsKKyAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgV2ViQXNz
ZW1ibHkuY29tcGlsZShhcmd1bWVudCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBgY29t
cGlsZSgke2Zvcm1hdF92YWx1ZShhcmd1bWVudCl9KWApOworICB9KSk7Cit9LCAiSW52YWxpZCBh
cmd1bWVudHMiKTsKKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgY29uc3QgZm4gPSBXZWJBc3Nl
bWJseS5jb21waWxlOworICBjb25zdCB0aGlzVmFsdWVzID0gWworICAgIHVuZGVmaW5lZCwKKyAg
ICBudWxsLAorICAgIHRydWUsCisgICAgIiIsCisgICAgU3ltYm9sKCksCisgICAgMSwKKyAgICB7
fSwKKyAgICBXZWJBc3NlbWJseSwKKyAgXTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKHRoaXNWYWx1
ZXMubWFwKHRoaXNWYWx1ZSA9PiB7CisgICAgcmV0dXJuIGZuLmNhbGwodGhpc1ZhbHVlLCBlbXB0
eU1vZHVsZUJpbmFyeSkudGhlbihhc3NlcnRfTW9kdWxlKTsKKyAgfSkpOworfSwgIkJyYW5kaW5n
Iik7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBwcm9taXNlID0gV2ViQXNzZW1ibHkuY29tcGls
ZShlbXB0eU1vZHVsZUJpbmFyeSk7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKHByb21pc2UpLCBQcm9taXNlLnByb3RvdHlwZSwgInByb3RvdHlwZSIpOworICBhc3NlcnRf
dHJ1ZShPYmplY3QuaXNFeHRlbnNpYmxlKHByb21pc2UpLCAiZXh0ZW5zaWJpbGl0eSIpOworfSwg
IlByb21pc2UgdHlwZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IGJ1ZmZlciA9
IG5ldyBVaW50OEFycmF5KCk7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgV2ViQXNz
ZW1ibHkuQ29tcGlsZUVycm9yLCBXZWJBc3NlbWJseS5jb21waWxlKGJ1ZmZlcikpOworfSwgIkVt
cHR5IGJ1ZmZlciIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IGJ1ZmZlciA9IG5l
dyBVaW50OEFycmF5KEFycmF5LmZyb20oZW1wdHlNb2R1bGVCaW5hcnkpLmNvbmNhdChbMCwgMF0p
KTsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBXZWJBc3NlbWJseS5Db21waWxlRXJy
b3IsIFdlYkFzc2VtYmx5LmNvbXBpbGUoYnVmZmVyKSk7Cit9LCAiSW52YWxpZCBjb2RlIik7CisK
K3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIHJldHVybiBXZWJBc3NlbWJseS5jb21waWxlKGVtcHR5
TW9kdWxlQmluYXJ5KS50aGVuKGFzc2VydF9Nb2R1bGUpOworfSwgIlJlc3VsdCB0eXBlIik7CisK
K3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIHJldHVybiBXZWJBc3NlbWJseS5jb21waWxlKGVtcHR5
TW9kdWxlQmluYXJ5LCB7fSkudGhlbihhc3NlcnRfTW9kdWxlKTsKK30sICJTdHJheSBhcmd1bWVu
dCIpOworCitwcm9taXNlX3Rlc3QoKCkgPT4geworICBjb25zdCBidWZmZXIgPSBuZXcgV2FzbU1v
ZHVsZUJ1aWxkZXIoKS50b0J1ZmZlcigpOworICBhc3NlcnRfZXF1YWxzKGJ1ZmZlclswXSwgMCk7
CisgIGNvbnN0IHByb21pc2UgPSBXZWJBc3NlbWJseS5jb21waWxlKGJ1ZmZlcik7CisgIGJ1ZmZl
clswXSA9IDE7CisgIHJldHVybiBwcm9taXNlLnRoZW4oYXNzZXJ0X01vZHVsZSk7Cit9LCAiQ2hh
bmdpbmcgdGhlIGJ1ZmZlciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55Lndv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvY29tcGlsZS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NmIwZjg1MGNlOWM2YTdiYTRhOTRlNDAxYjM5OGJhNTM1MjJkMzZm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitQQVNTIE1pc3NpbmcgYXJndW1lbnQgCitQQVNTIElu
dmFsaWQgYXJndW1lbnRzIAorUEFTUyBCcmFuZGluZyAKK1BBU1MgUHJvbWlzZSB0eXBlIAorUEFT
UyBFbXB0eSBidWZmZXIgCitQQVNTIEludmFsaWQgY29kZSAKK1BBU1MgUmVzdWx0IHR5cGUgCitQ
QVNTIFN0cmF5IGFyZ3VtZW50IAorUEFTUyBDaGFuZ2luZyB0aGUgYnVmZmVyIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvY29uc3RydWN0b3IvY29tcGlsZS5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvY29tcGls
ZS5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0
NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9jb21waWxlLmFueS53
b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3Ig
V2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFu
dGlhdGUtYmFkLWltcG9ydHMuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0
ZS1iYWQtaW1wb3J0cy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGZiN2Q3NTkxNWIyNDk2OWVjNzJl
OWFlNjI5M2I1OGMwNDUyMTA3ZmYuLmMwZjQyYjMxNDcyNTk3N2JiMWQwODIyODlmYmJiNjRmODI0
NzY2MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS1iYWQtaW1wb3J0cy5hbnkt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS1iYWQtaW1wb3J0cy5hbnkt
ZXhwZWN0ZWQudHh0CkBAIC0zNyw2ICszNyw3IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlh
dGUobW9kdWxlKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwCiBQ
QVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3
aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwgCiBQQVNT
IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRo
IGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBl
IAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9i
YWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3Nl
bWJseS5HbG9iYWwucHJvdG90eXBlKSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9k
dWxlKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6
IFdlYkFzc2VtYmx5Lkdsb2JhbCBvYmplY3QgKHdyb25nIHZhbHVlIHR5cGUpIAogUEFTUyBXZWJB
c3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5j
b3JyZWN0bHktdHlwZWQgdmFsdWU6IHVuZGVmaW5lZCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFu
dGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVk
IHZhbHVlOiBudWxsIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBv
cnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHRydWUgCkBAIC00
OSw2ICs1MCw3IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0
aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkCiBQQVNTIFdlYkFzc2VtYmx5Lmlu
c3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10
eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuTWVtb3J5IAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50
aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQg
dmFsdWU6IFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUgCiBQQVNTIFdlYkFzc2VtYmx5Lmlu
c3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10
eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5NZW1vcnkucHJvdG90eXBlKSAK
K1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3
aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5NZW1vcnkgb2JqZWN0
ICh0b28gbGFyZ2UpIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBv
cnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdW5kZWZpbmVkIAog
UEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0
aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogbnVsbCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5z
dGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlw
ZWQgdmFsdWU6IHRydWUgCkBAIC02MSw2ICs2Myw3IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFu
dGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQK
IFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdp
dGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlIAogUEFTUyBX
ZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBp
bmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlIAogUEFT
UyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBh
biBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5UYWJs
ZS5wcm90b3R5cGUpIAorUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBv
cnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHku
VGFibGUgb2JqZWN0ICh0b28gbGFyZ2UpIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShi
dWZmZXIpOiBOb24tb2JqZWN0IGltcG9ydHMgYXJndW1lbnQ6IG51bGwgCiBQQVNTIFdlYkFzc2Vt
Ymx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IE5vbi1vYmplY3QgaW1wb3J0cyBhcmd1bWVudDogdHJ1
ZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogTm9uLW9iamVjdCBpbXBv
cnRzIGFyZ3VtZW50OiAiIiAKQEAgLTk5LDYgKzEwMiw3IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5z
dGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHkt
dHlwCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBhIGds
b2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwg
CiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBhIGdsb2Jh
bCB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwucHJv
dG90eXBlIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcg
YSBnbG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShX
ZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlKSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlh
dGUoYnVmZmVyKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQg
dmFsdWU6IFdlYkFzc2VtYmx5Lkdsb2JhbCBvYmplY3QgKHdyb25nIHZhbHVlIHR5cGUpIAogUEFT
UyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGgg
YW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHVuZGVmaW5lZCAKIFBBU1MgV2ViQXNzZW1ibHku
aW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5
LXR5cGVkIHZhbHVlOiBudWxsIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIp
OiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHRydWUg
CkBAIC0xMTEsNiArMTE1LDcgQEAgUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIp
OiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQKIFBBU1MgV2ViQXNz
ZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29y
cmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5NZW1vcnkgCiBQQVNTIFdlYkFzc2VtYmx5
Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3Rs
eS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuTWVtb3J5LnByb3RvdHlwZSAKIFBBU1MgV2ViQXNz
ZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29y
cmVjdGx5LXR5cGVkIHZhbHVlOiBPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90
b3R5cGUpIAorUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcg
bWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lk1lbW9y
eSBvYmplY3QgKHRvbyBsYXJnZSkgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZl
cik6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB1bmRl
ZmluZWQgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyB0
YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBudWxsIAogUEFTUyBXZWJBc3Nl
bWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJl
Y3RseS10eXBlZCB2YWx1ZTogdHJ1ZSAKQEAgLTEyMyw0ICsxMjgsNSBAQCBQQVNTIFdlYkFzc2Vt
Ymx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cGVkCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGlu
ZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJs
ZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRhYmxl
IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlLnByb3Rv
dHlwZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRh
YmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IE9iamVjdC5jcmVhdGUoV2ViQXNz
ZW1ibHkuVGFibGUucHJvdG90eXBlKSAKK1BBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVm
ZmVyKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdl
YkFzc2VtYmx5LlRhYmxlIG9iamVjdCAodG9vIGxhcmdlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVj
dG9yL2luc3RhbnRpYXRlLWJhZC1pbXBvcnRzLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0
ZS1iYWQtaW1wb3J0cy5hbnkuanMKaW5kZXggODY3MDAyOThkZmFlNjZkZTZmNGQwMjZiYWEyOWU2
ZTM1ODQzMjBmNy4uMzcwNzI0MzQyMDhhNTg4MTlhMGE0MWZhYTZhMTkxMDcwNGMxMDg0NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLWJhZC1pbXBvcnRzLmFueS5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29u
c3RydWN0b3IvaW5zdGFudGlhdGUtYmFkLWltcG9ydHMuYW55LmpzCkBAIC0xLDUgKzEsNCBAQAog
Ly8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKLS8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNt
LWNvbnN0YW50cy5qcwogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1
aWxkZXIuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9iYWQtaW1wb3J0cy5qcwogCkBA
IC05LDcgKzgsNyBAQCB0ZXN0X2JhZF9pbXBvcnRzKChuYW1lLCBlcnJvciwgYnVpbGQsIC4uLmFy
Z3VtZW50cykgPT4gewogICAgIGJ1aWxkKGJ1aWxkZXIpOwogICAgIGNvbnN0IGJ1ZmZlciA9IGJ1
aWxkZXIudG9CdWZmZXIoKTsKICAgICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9k
dWxlKGJ1ZmZlcik7Ci0gICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCBlcnJvciwgV2ViQXNz
ZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlLCAuLi5hcmd1bWVudHMpKTsKKyAgICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIGVycm9yLCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUs
IC4uLmFyZ3VtZW50cykpOwogICB9LCBgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTog
JHtuYW1lfWApOwogfSk7CiAKQEAgLTE4LDYgKzE3LDYgQEAgdGVzdF9iYWRfaW1wb3J0cygobmFt
ZSwgZXJyb3IsIGJ1aWxkLCAuLi5hcmd1bWVudHMpID0+IHsKICAgICBjb25zdCBidWlsZGVyID0g
bmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7CiAgICAgYnVpbGQoYnVpbGRlcik7CiAgICAgY29uc3Qg
YnVmZmVyID0gYnVpbGRlci50b0J1ZmZlcigpOwotICAgIHJldHVybiBwcm9taXNlX3JlamVjdHMo
dCwgZXJyb3IsIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlciwgLi4uYXJndW1lbnRzKSk7
CisgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBlcnJvciwgV2ViQXNzZW1ibHkuaW5z
dGFudGlhdGUoYnVmZmVyLCAuLi5hcmd1bWVudHMpKTsKICAgfSwgYFdlYkFzc2VtYmx5Lmluc3Rh
bnRpYXRlKGJ1ZmZlcik6ICR7bmFtZX1gKTsKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2lu
c3RhbnRpYXRlLWJhZC1pbXBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9y
L2luc3RhbnRpYXRlLWJhZC1pbXBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGZi
N2Q3NTkxNWIyNDk2OWVjNzJlOWFlNjI5M2I1OGMwNDUyMTA3ZmYuLmMwZjQyYjMxNDcyNTk3N2Ji
MWQwODIyODlmYmJiNjRmODI0NzY2MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0
ZS1iYWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5z
dGFudGlhdGUtYmFkLWltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTM3LDYgKzM3
LDcgQEAgUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBn
bG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlh
dGUobW9kdWxlKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQg
dmFsdWU6IFdlYkFzc2VtYmx5Lkdsb2JhbCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUo
bW9kdWxlKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFs
dWU6IFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3Rh
bnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cGVkIHZhbHVlOiBPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUpIAor
UEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9iYWwg
d2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xvYmFsIG9iamVj
dCAod3JvbmcgdmFsdWUgdHlwZSkgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVs
ZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdW5k
ZWZpbmVkIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcg
bWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IG51bGwgCiBQQVNTIFdlYkFz
c2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNv
cnJlY3RseS10eXBlZCB2YWx1ZTogdHJ1ZSAKQEAgLTQ5LDYgKzUwLDcgQEAgUEFTUyBXZWJBc3Nl
bWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3Jy
ZWN0bHktdHlwZWQKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0
aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5N
ZW1vcnkgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyBt
ZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuTWVtb3J5
LnByb3RvdHlwZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlKTogSW1wb3J0
aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBPYmplY3QuY3JlYXRl
KFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUpIAorUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50
aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQg
dmFsdWU6IFdlYkFzc2VtYmx5Lk1lbW9yeSBvYmplY3QgKHRvbyBsYXJnZSkgCiBQQVNTIFdlYkFz
c2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29y
cmVjdGx5LXR5cGVkIHZhbHVlOiB1bmRlZmluZWQgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRp
YXRlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZh
bHVlOiBudWxsIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRp
bmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdHJ1ZSAKQEAgLTYxLDYg
KzYzLDcgQEAgUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcg
dGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50
aWF0ZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2
YWx1ZTogV2ViQXNzZW1ibHkuVGFibGUgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG1v
ZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBX
ZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRl
KG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVl
OiBPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSkgCitQQVNTIFdlYkFz
c2VtYmx5Lmluc3RhbnRpYXRlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29y
cmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZSBvYmplY3QgKHRvbyBsYXJnZSkg
CiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IE5vbi1vYmplY3QgaW1wb3J0
cyBhcmd1bWVudDogbnVsbCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTog
Tm9uLW9iamVjdCBpbXBvcnRzIGFyZ3VtZW50OiB0cnVlIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0
YW50aWF0ZShidWZmZXIpOiBOb24tb2JqZWN0IGltcG9ydHMgYXJndW1lbnQ6ICIiIApAQCAtOTks
NiArMTAyLDcgQEAgUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRp
bmcgYSBnbG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXAKIFBBU1MgV2ViQXNzZW1ibHkuaW5z
dGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHkt
dHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lkdsb2JhbCAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFu
dGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlw
ZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUgCiBQQVNTIFdlYkFzc2VtYmx5
Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cGVkIHZhbHVlOiBPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5
cGUpIAorUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgYSBn
bG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xvYmFs
IG9iamVjdCAod3JvbmcgdmFsdWUgdHlwZSkgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRl
KGJ1ZmZlcik6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1
ZTogdW5kZWZpbmVkIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBv
cnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IG51bGwgCiBQQVNT
IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBh
biBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdHJ1ZSAKQEAgLTExMSw2ICsxMTUsNyBAQCBQQVNT
IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBh
biBpbmNvcnJlY3RseS10eXBlZAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIp
OiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFz
c2VtYmx5Lk1lbW9yeSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1w
b3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJs
eS5NZW1vcnkucHJvdG90eXBlIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIp
OiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IE9iamVj
dC5jcmVhdGUoV2ViQXNzZW1ibHkuTWVtb3J5LnByb3RvdHlwZSkgCitQQVNTIFdlYkFzc2VtYmx5
Lmluc3RhbnRpYXRlKGJ1ZmZlcik6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3Rs
eS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuTWVtb3J5IG9iamVjdCAodG9vIGxhcmdlKSAKIFBB
U1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRhYmxlIHdpdGgg
YW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHVuZGVmaW5lZCAKIFBBU1MgV2ViQXNzZW1ibHku
aW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHkt
dHlwZWQgdmFsdWU6IG51bGwgCiBQQVNTIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlcik6
IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB0cnVlIApA
QCAtMTIzLDQgKzEyOCw1IEBAIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTog
SW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQKIFBBU1MgV2ViQXNzZW1i
bHkuaW5zdGFudGlhdGUoYnVmZmVyKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0
bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0
YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBl
ZCB2YWx1ZTogV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlIAogUEFTUyBXZWJBc3NlbWJseS5p
bnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10
eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUpIAor
UEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShidWZmZXIpOiBJbXBvcnRpbmcgdGFibGUgd2l0
aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuVGFibGUgb2JqZWN0ICh0
b28gbGFyZ2UpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY0ZWYwYmY0Y2UzNWExZTA4MWI2NzE5ODUzOTI2ZDI4MDZjYjhmMTkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI3IEBACisKK1BBU1MgTWlzc2luZyBhcmd1bWVudHMgCitQQVNTIEJyYW5kaW5nIAorUEFTUyBJ
bnZhbGlkIGFyZ3VtZW50cyAKK1BBU1MgUHJvbWlzZSB0eXBlIAorUEFTUyBFbXB0eSBtb2R1bGUg
d2l0aG91dCBpbXBvcnRzIGFyZ3VtZW50OiBCdWZmZXJTb3VyY2UgYXJndW1lbnQgCitQQVNTIEVt
cHR5IG1vZHVsZSB3aXRob3V0IGltcG9ydHMgYXJndW1lbnQ6IE1vZHVsZSBhcmd1bWVudCAKK1BB
U1MgRW1wdHkgbW9kdWxlIHdpdGggdW5kZWZpbmVkIGltcG9ydHMgYXJndW1lbnQ6IEJ1ZmZlclNv
dXJjZSBhcmd1bWVudCAKK1BBU1MgRW1wdHkgbW9kdWxlIHdpdGggdW5kZWZpbmVkIGltcG9ydHMg
YXJndW1lbnQ6IE1vZHVsZSBhcmd1bWVudCAKK1BBU1MgRW1wdHkgbW9kdWxlIHdpdGggZW1wdHkg
aW1wb3J0cyBhcmd1bWVudDogQnVmZmVyU291cmNlIGFyZ3VtZW50IAorUEFTUyBFbXB0eSBtb2R1
bGUgd2l0aCBlbXB0eSBpbXBvcnRzIGFyZ3VtZW50OiBNb2R1bGUgYXJndW1lbnQgCitGQUlMIGdl
dHRlciBvcmRlciBmb3IgaW1wb3J0cyBvYmplY3Q6IEJ1ZmZlclNvdXJjZSBhcmd1bWVudCBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3RlZCAiZ2xvYmFsMSBnZXR0ZXIiIGJ1
dCBnb3QgIm1lbW9yeSBnZXR0ZXIiCitGQUlMIGdldHRlciBvcmRlciBmb3IgaW1wb3J0cyBvYmpl
Y3Q6IE1vZHVsZSBhcmd1bWVudCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBl
Y3RlZCAiZ2xvYmFsMSBnZXR0ZXIiIGJ1dCBnb3QgIm1lbW9yeSBnZXR0ZXIiCitQQVNTIGltcG9y
dHM6IEJ1ZmZlclNvdXJjZSBhcmd1bWVudCAKK1BBU1MgaW1wb3J0czogTW9kdWxlIGFyZ3VtZW50
IAorRkFJTCBObyBpbXBvcnRzOiBCdWZmZXJTb3VyY2UgYXJndW1lbnQgYXNzZXJ0X2FycmF5X2Vx
dWFsczogbWF0Y2hpbmcgZXhwb3J0IGtleXMgcHJvcGVydHkgMiwgZXhwZWN0ZWQgInRhYmxlIiBi
dXQgZ290ICJnbG9iYWwiCitGQUlMIE5vIGltcG9ydHM6IE1vZHVsZSBhcmd1bWVudCBhc3NlcnRf
YXJyYXlfZXF1YWxzOiBtYXRjaGluZyBleHBvcnQga2V5cyBwcm9wZXJ0eSAyLCBleHBlY3RlZCAi
dGFibGUiIGJ1dCBnb3QgImdsb2JhbCIKK0ZBSUwgZXhwb3J0cyBhbmQgaW1wb3J0czogQnVmZmVy
U291cmNlIGFyZ3VtZW50IGFzc2VydF9mYWxzZTogZm46IHdyaXRhYmxlIGV4cGVjdGVkIGZhbHNl
IGdvdCB0cnVlCitGQUlMIGV4cG9ydHMgYW5kIGltcG9ydHM6IE1vZHVsZSBhcmd1bWVudCBhc3Nl
cnRfZmFsc2U6IGZuOiB3cml0YWJsZSBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBzdHJh
eSBhcmd1bWVudDogQnVmZmVyU291cmNlIGFyZ3VtZW50IAorUEFTUyBzdHJheSBhcmd1bWVudDog
TW9kdWxlIGFyZ3VtZW50IAorUEFTUyBTeW5jaHJvbm91cyBvcHRpb25zIGhhbmRsaW5nOiBCdWZm
ZXIgYXJndW1lbnQgCitGQUlMIFN5bmNocm9ub3VzIG9wdGlvbnMgaGFuZGxpbmc6IE1vZHVsZSBh
cmd1bWVudCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMiBn
b3QgMAorUEFTUyBFbXB0eSBidWZmZXIgCitQQVNTIEludmFsaWQgY29kZSAKK1BBU1MgQ2hhbmdp
bmcgdGhlIGJ1ZmZlciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1
MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3Ry
dWN0b3IvaW5zdGFudGlhdGUuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2Nv
bnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnku
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDIxOGRlMmI0NTI5MmMyM2U4ZmNjNzIwZGJmOGMyYzRhNWM5YjY5Mwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkuanMKQEAgLTAsMCAr
MSwxNTIgQEAKKy8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBzY3JpcHQ9L3dhc20v
anNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcworLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBp
L2Fzc2VydGlvbnMuanMKKy8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9pbnN0YW5jZVRlc3RG
YWN0b3J5LmpzCisKK2xldCBlbXB0eU1vZHVsZUJpbmFyeTsKK3NldHVwKCgpID0+IHsKKyAgZW1w
dHlNb2R1bGVCaW5hcnkgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKS50b0J1ZmZlcigpOworfSk7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKCkpOworfSwgIk1pc3NpbmcgYXJndW1l
bnRzIik7CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIGNvbnN0IGZuID0gV2ViQXNzZW1ibHku
aW5zdGFudGlhdGU7CisgIGNvbnN0IHRoaXNWYWx1ZXMgPSBbCisgICAgdW5kZWZpbmVkLAorICAg
IG51bGwsCisgICAgdHJ1ZSwKKyAgICAiIiwKKyAgICBTeW1ib2woKSwKKyAgICAxLAorICAgIHt9
LAorICAgIFdlYkFzc2VtYmx5LAorICBdOworICByZXR1cm4gUHJvbWlzZS5hbGwodGhpc1ZhbHVl
cy5tYXAodGhpc1ZhbHVlID0+IHsKKyAgICByZXR1cm4gZm4uY2FsbCh0aGlzVmFsdWUsIGVtcHR5
TW9kdWxlQmluYXJ5KS50aGVuKGFzc2VydF9XZWJBc3NlbWJseUluc3RhbnRpYXRlZFNvdXJjZSk7
CisgIH0pKTsKK30sICJCcmFuZGluZyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0
IGludmFsaWRBcmd1bWVudHMgPSBbCisgICAgdW5kZWZpbmVkLAorICAgIG51bGwsCisgICAgdHJ1
ZSwKKyAgICAiIiwKKyAgICBTeW1ib2woKSwKKyAgICAxLAorICAgIHt9LAorICAgIFdlYkFzc2Vt
Ymx5Lk1vZHVsZSwKKyAgICBXZWJBc3NlbWJseS5Nb2R1bGUucHJvdG90eXBlLAorICAgIEFycmF5
QnVmZmVyLAorICAgIEFycmF5QnVmZmVyLnByb3RvdHlwZSwKKyAgICBBcnJheS5mcm9tKGVtcHR5
TW9kdWxlQmluYXJ5KSwKKyAgXTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKGludmFsaWRBcmd1bWVu
dHMubWFwKGFyZ3VtZW50ID0+IHsKKyAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYXJndW1lbnQpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYGluc3RhbnRpYXRlKCR7Zm9ybWF0X3ZhbHVlKGFyZ3VtZW50KX0pYCk7
CisgIH0pKTsKK30sICJJbnZhbGlkIGFyZ3VtZW50cyIpOworCit0ZXN0KCgpID0+IHsKKyAgY29u
c3QgcHJvbWlzZSA9IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGVtcHR5TW9kdWxlQmluYXJ5KTsK
KyAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvbWlzZSksIFByb21pc2Uu
cHJvdG90eXBlLCAicHJvdG90eXBlIik7CisgIGFzc2VydF90cnVlKE9iamVjdC5pc0V4dGVuc2li
bGUocHJvbWlzZSksICJleHRlbnNpYmlsaXR5Iik7Cit9LCAiUHJvbWlzZSB0eXBlIik7CisKK2Zv
ciAoY29uc3QgW25hbWUsIGZuXSBvZiBpbnN0YW5jZVRlc3RGYWN0b3J5KSB7CisgIHByb21pc2Vf
dGVzdCgoKSA9PiB7CisgICAgY29uc3QgeyBidWZmZXIsIGFyZ3MsIGV4cG9ydHMsIHZlcmlmeSB9
ID0gZm4oKTsKKyAgICByZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyLCAuLi5h
cmdzKS50aGVuKHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfV2ViQXNzZW1ibHlJbnN0YW50aWF0
ZWRTb3VyY2UocmVzdWx0LCBleHBvcnRzKTsKKyAgICAgIHZlcmlmeShyZXN1bHQuaW5zdGFuY2Up
OworICAgIH0pOworICB9LCBgJHtuYW1lfTogQnVmZmVyU291cmNlIGFyZ3VtZW50YCk7CisKKyAg
cHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICBjb25zdCB7IGJ1ZmZlciwgYXJncywgZXhwb3J0cywg
dmVyaWZ5IH0gPSBmbigpOworICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1
bGUoYnVmZmVyKTsKKyAgICByZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlLCAu
Li5hcmdzKS50aGVuKGluc3RhbmNlID0+IHsKKyAgICAgIGFzc2VydF9JbnN0YW5jZShpbnN0YW5j
ZSwgZXhwb3J0cyk7CisgICAgICB2ZXJpZnkoaW5zdGFuY2UpOworICAgIH0pOworICB9LCBgJHtu
YW1lfTogTW9kdWxlIGFyZ3VtZW50YCk7Cit9CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIGNv
bnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKKyAgYnVpbGRlci5hZGRJbXBv
cnRlZEdsb2JhbCgibW9kdWxlIiwgImdsb2JhbCIsIGtXYXNtSTMyKTsKKyAgY29uc3QgYnVmZmVy
ID0gYnVpbGRlci50b0J1ZmZlcigpOworICBjb25zdCBvcmRlciA9IFtdOworCisgIGNvbnN0IGlt
cG9ydHMgPSB7CisgICAgZ2V0IG1vZHVsZSgpIHsKKyAgICAgIG9yZGVyLnB1c2goIm1vZHVsZSBn
ZXR0ZXIiKTsKKyAgICAgIHJldHVybiB7CisgICAgICAgIGdldCBnbG9iYWwoKSB7CisgICAgICAg
ICAgb3JkZXIucHVzaCgiZ2xvYmFsIGdldHRlciIpOworICAgICAgICAgIHJldHVybiAwOworICAg
ICAgICB9LAorICAgICAgfQorICAgIH0sCisgIH07CisKKyAgY29uc3QgZXhwZWN0ZWQgPSBbCisg
ICAgIm1vZHVsZSBnZXR0ZXIiLAorICAgICJnbG9iYWwgZ2V0dGVyIiwKKyAgXTsKKyAgY29uc3Qg
cCA9IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ1ZmZlciwgaW1wb3J0cyk7CisgIGFzc2VydF9h
cnJheV9lcXVhbHMob3JkZXIsIFtdKTsKKyAgcmV0dXJuIHAudGhlbihyZXN1bHQgPT4geworICAg
IGFzc2VydF9XZWJBc3NlbWJseUluc3RhbnRpYXRlZFNvdXJjZShyZXN1bHQpOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMob3JkZXIsIGV4cGVjdGVkKTsKKyAgfSk7Cit9LCAiU3luY2hyb25vdXMg
b3B0aW9ucyBoYW5kbGluZzogQnVmZmVyIGFyZ3VtZW50Iik7CisKK3Byb21pc2VfdGVzdCgoKSA9
PiB7CisgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKKyAgYnVpbGRl
ci5hZGRJbXBvcnRlZEdsb2JhbCgibW9kdWxlIiwgImdsb2JhbCIsIGtXYXNtSTMyKTsKKyAgY29u
c3QgYnVmZmVyID0gYnVpbGRlci50b0J1ZmZlcigpOworICBjb25zdCBtb2R1bGUgPSBuZXcgV2Vi
QXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcik7CisgIGNvbnN0IG9yZGVyID0gW107CisKKyAgY29uc3Qg
aW1wb3J0cyA9IHsKKyAgICBnZXQgbW9kdWxlKCkgeworICAgICAgb3JkZXIucHVzaCgibW9kdWxl
IGdldHRlciIpOworICAgICAgcmV0dXJuIHsKKyAgICAgICAgZ2V0IGdsb2JhbCgpIHsKKyAgICAg
ICAgICBvcmRlci5wdXNoKCJnbG9iYWwgZ2V0dGVyIik7CisgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIH0sCisgICAgICB9CisgICAgfSwKKyAgfTsKKworICBjb25zdCBleHBlY3RlZCA9IFsK
KyAgICAibW9kdWxlIGdldHRlciIsCisgICAgImdsb2JhbCBnZXR0ZXIiLAorICBdOworICBjb25z
dCBwID0gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlLCBpbXBvcnRzKTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyhvcmRlciwgZXhwZWN0ZWQpOworICByZXR1cm4gcC50aGVuKGluc3RhbmNl
ID0+IGFzc2VydF9JbnN0YW5jZShpbnN0YW5jZSwge30pKTsKK30sICJTeW5jaHJvbm91cyBvcHRp
b25zIGhhbmRsaW5nOiBNb2R1bGUgYXJndW1lbnQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICBjb25zdCBidWZmZXIgPSBuZXcgVWludDhBcnJheSgpOworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvciwgV2ViQXNzZW1ibHkuaW5zdGFudGlh
dGUoYnVmZmVyKSk7Cit9LCAiRW1wdHkgYnVmZmVyIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgY29uc3QgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoQXJyYXkuZnJvbShlbXB0eU1vZHVsZUJp
bmFyeSkuY29uY2F0KFswLCAwXSkpOworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFdl
YkFzc2VtYmx5LkNvbXBpbGVFcnJvciwgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKSk7
Cit9LCAiSW52YWxpZCBjb2RlIik7CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIGNvbnN0IGJ1
ZmZlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpLnRvQnVmZmVyKCk7CisgIGFzc2VydF9lcXVh
bHMoYnVmZmVyWzBdLCAwKTsKKyAgY29uc3QgcHJvbWlzZSA9IFdlYkFzc2VtYmx5Lmluc3RhbnRp
YXRlKGJ1ZmZlcik7CisgIGJ1ZmZlclswXSA9IDE7CisgIHJldHVybiBwcm9taXNlLnRoZW4oYXNz
ZXJ0X1dlYkFzc2VtYmx5SW5zdGFudGlhdGVkU291cmNlKTsKK30sICJDaGFuZ2luZyB0aGUgYnVm
ZmVyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjRlZjBiZjRjZTM1YTFlMDgxYjY3MTk4NTM5MjZkMjgwNmNiOGYxOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI3IEBACisKK1BBU1MgTWlzc2luZyBhcmd1bWVudHMgCitQQVNTIEJy
YW5kaW5nIAorUEFTUyBJbnZhbGlkIGFyZ3VtZW50cyAKK1BBU1MgUHJvbWlzZSB0eXBlIAorUEFT
UyBFbXB0eSBtb2R1bGUgd2l0aG91dCBpbXBvcnRzIGFyZ3VtZW50OiBCdWZmZXJTb3VyY2UgYXJn
dW1lbnQgCitQQVNTIEVtcHR5IG1vZHVsZSB3aXRob3V0IGltcG9ydHMgYXJndW1lbnQ6IE1vZHVs
ZSBhcmd1bWVudCAKK1BBU1MgRW1wdHkgbW9kdWxlIHdpdGggdW5kZWZpbmVkIGltcG9ydHMgYXJn
dW1lbnQ6IEJ1ZmZlclNvdXJjZSBhcmd1bWVudCAKK1BBU1MgRW1wdHkgbW9kdWxlIHdpdGggdW5k
ZWZpbmVkIGltcG9ydHMgYXJndW1lbnQ6IE1vZHVsZSBhcmd1bWVudCAKK1BBU1MgRW1wdHkgbW9k
dWxlIHdpdGggZW1wdHkgaW1wb3J0cyBhcmd1bWVudDogQnVmZmVyU291cmNlIGFyZ3VtZW50IAor
UEFTUyBFbXB0eSBtb2R1bGUgd2l0aCBlbXB0eSBpbXBvcnRzIGFyZ3VtZW50OiBNb2R1bGUgYXJn
dW1lbnQgCitGQUlMIGdldHRlciBvcmRlciBmb3IgaW1wb3J0cyBvYmplY3Q6IEJ1ZmZlclNvdXJj
ZSBhcmd1bWVudCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3RlZCAiZ2xv
YmFsMSBnZXR0ZXIiIGJ1dCBnb3QgIm1lbW9yeSBnZXR0ZXIiCitGQUlMIGdldHRlciBvcmRlciBm
b3IgaW1wb3J0cyBvYmplY3Q6IE1vZHVsZSBhcmd1bWVudCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBw
cm9wZXJ0eSAxLCBleHBlY3RlZCAiZ2xvYmFsMSBnZXR0ZXIiIGJ1dCBnb3QgIm1lbW9yeSBnZXR0
ZXIiCitQQVNTIGltcG9ydHM6IEJ1ZmZlclNvdXJjZSBhcmd1bWVudCAKK1BBU1MgaW1wb3J0czog
TW9kdWxlIGFyZ3VtZW50IAorRkFJTCBObyBpbXBvcnRzOiBCdWZmZXJTb3VyY2UgYXJndW1lbnQg
YXNzZXJ0X2FycmF5X2VxdWFsczogbWF0Y2hpbmcgZXhwb3J0IGtleXMgcHJvcGVydHkgMiwgZXhw
ZWN0ZWQgInRhYmxlIiBidXQgZ290ICJnbG9iYWwiCitGQUlMIE5vIGltcG9ydHM6IE1vZHVsZSBh
cmd1bWVudCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBtYXRjaGluZyBleHBvcnQga2V5cyBwcm9wZXJ0
eSAyLCBleHBlY3RlZCAidGFibGUiIGJ1dCBnb3QgImdsb2JhbCIKK0ZBSUwgZXhwb3J0cyBhbmQg
aW1wb3J0czogQnVmZmVyU291cmNlIGFyZ3VtZW50IGFzc2VydF9mYWxzZTogZm46IHdyaXRhYmxl
IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIGV4cG9ydHMgYW5kIGltcG9ydHM6IE1vZHVs
ZSBhcmd1bWVudCBhc3NlcnRfZmFsc2U6IGZuOiB3cml0YWJsZSBleHBlY3RlZCBmYWxzZSBnb3Qg
dHJ1ZQorUEFTUyBzdHJheSBhcmd1bWVudDogQnVmZmVyU291cmNlIGFyZ3VtZW50IAorUEFTUyBz
dHJheSBhcmd1bWVudDogTW9kdWxlIGFyZ3VtZW50IAorUEFTUyBTeW5jaHJvbm91cyBvcHRpb25z
IGhhbmRsaW5nOiBCdWZmZXIgYXJndW1lbnQgCitGQUlMIFN5bmNocm9ub3VzIG9wdGlvbnMgaGFu
ZGxpbmc6IE1vZHVsZSBhcmd1bWVudCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZl
ciwgZXhwZWN0ZWQgMiBnb3QgMAorUEFTUyBFbXB0eSBidWZmZXIgCitQQVNTIEludmFsaWQgY29k
ZSAKK1BBU1MgQ2hhbmdpbmcgdGhlIGJ1ZmZlciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2lu
c3RhbnRpYXRlLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkud29y
a2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1
NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkud29ya2Vy
Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211bHRpLXZhbHVl
LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUuYW55LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43ZjcwMTdlMzc0YzVmMmQ4NGY1NzgyM2VlZGViZTM0YWI4OTE1YWEwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211bHRpLXZhbHVlLmFueS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACisKK1BBU1MgbXVsdGlwbGUgcmV0dXJuIHZhbHVlcyBmcm9tIHdhc20g
dG8ganMgCitQQVNTIG11bHRpcGxlIHJldHVybiB2YWx1ZXMgaW5zaWRlIHdhc20gCitGQUlMIG11
bHRpcGxlIHJldHVybiB2YWx1ZXMgZnJvbSBqcyB0byB3YXNtIGFzc2VydF9hcnJheV9lcXVhbHM6
IHByb3BlcnR5IDYsIGV4cGVjdGVkICJuZXh0IGNhbGwgMiIgYnV0IGdvdCAidmFsdWVPZiBnZXQg
MSIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211bHRpLXZhbHVlLmFueS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVj
dG9yL211bHRpLXZhbHVlLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1
NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvbXVsdGkt
dmFsdWUuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211
bHRpLXZhbHVlLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmM1M2UzNjExZTA0NGM4YmE0NGE1YzA0MzZkNDQwOWJjOWYxYWY0MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkuanMKQEAgLTAsMCArMSwxNDkgQEAKKy8v
IE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1t
b2R1bGUtYnVpbGRlci5qcworLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL2Fzc2VydGlvbnMu
anMKKworY29uc3QgdHlwZV9pZl9maSA9IG1ha2VTaWcoW2tXYXNtRjY0LCBrV2FzbUkzMl0sIFtr
V2FzbUkzMiwga1dhc21GNjRdKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgY29u
c3QgYnVpbGRlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpOworCisgIGJ1aWxkZXIKKyAgICAu
YWRkRnVuY3Rpb24oInN3YXAiLCB0eXBlX2lmX2ZpKQorICAgIC5hZGRCb2R5KFsKKyAgICAgICAg
a0V4cHJMb2NhbEdldCwgMSwKKyAgICAgICAga0V4cHJMb2NhbEdldCwgMCwKKyAgICAgICAga0V4
cHJSZXR1cm4sCisgICAgXSkKKyAgICAuZXhwb3J0RnVuYygpOworCisgIGNvbnN0IGJ1ZmZlciA9
IGJ1aWxkZXIudG9CdWZmZXIoKTsKKworICBjb25zdCByZXN1bHQgPSBhd2FpdCBXZWJBc3NlbWJs
eS5pbnN0YW50aWF0ZShidWZmZXIpOworICBjb25zdCBzd2FwcGVkID0gcmVzdWx0Lmluc3RhbmNl
LmV4cG9ydHMuc3dhcCg0LjIsIDcpOworICBhc3NlcnRfdHJ1ZShBcnJheS5pc0FycmF5KHN3YXBw
ZWQpKTsKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3dhcHBlZCksIEFy
cmF5LnByb3RvdHlwZSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoc3dhcHBlZCwgWzcsIDQuMl0p
OworfSwgIm11bHRpcGxlIHJldHVybiB2YWx1ZXMgZnJvbSB3YXNtIHRvIGpzIik7CisKK3Byb21p
c2VfdGVzdChhc3luYyAoKSA9PiB7CisgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1
aWxkZXIoKTsKKworICBjb25zdCBzd2FwID0gYnVpbGRlcgorICAgIC5hZGRGdW5jdGlvbigic3dh
cCIsIHR5cGVfaWZfZmkpCisgICAgLmFkZEJvZHkoWworICAgICAgICBrRXhwckxvY2FsR2V0LCAx
LAorICAgICAgICBrRXhwckxvY2FsR2V0LCAwLAorICAgICAgICBrRXhwclJldHVybiwKKyAgICBd
KTsKKyAgYnVpbGRlcgorICAgIC5hZGRGdW5jdGlvbigiY2FsbHN3YXAiLCBrU2lnX2lfdikKKyAg
ICAuYWRkQm9keShbCisgICAgICAgIC4uLndhc21GNjRDb25zdCg0LjIpLAorICAgICAgICAuLi53
YXNtSTMyQ29uc3QoNyksCisgICAgICAgIGtFeHByQ2FsbEZ1bmN0aW9uLCBzd2FwLmluZGV4LAor
ICAgICAgICBrRXhwckRyb3AsCisgICAgICAgIGtFeHByUmV0dXJuLAorICAgIF0pCisgICAgLmV4
cG9ydEZ1bmMoKTsKKworICBjb25zdCBidWZmZXIgPSBidWlsZGVyLnRvQnVmZmVyKCk7CisKKyAg
Y29uc3QgcmVzdWx0ID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyKTsKKyAg
Y29uc3Qgc3dhcHBlZCA9IHJlc3VsdC5pbnN0YW5jZS5leHBvcnRzLmNhbGxzd2FwKCk7CisgIGFz
c2VydF9lcXVhbHMoc3dhcHBlZCwgNyk7Cit9LCAibXVsdGlwbGUgcmV0dXJuIHZhbHVlcyBpbnNp
ZGUgd2FzbSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICBjb25zdCBidWlsZGVy
ID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7CisKKyAgY29uc3QgZm5JbmRleCA9IGJ1aWxkZXIu
YWRkSW1wb3J0KCJtb2R1bGUiLCAiZm4iLCB0eXBlX2lmX2ZpKTsKKyAgYnVpbGRlcgorICAgIC5h
ZGRGdW5jdGlvbigiY2FsbGZuIiwga1NpZ19pX3YpCisgICAgLmFkZEJvZHkoWworICAgICAgICAu
Li53YXNtRjY0Q29uc3QoNC4yKSwKKyAgICAgICAgLi4ud2FzbUkzMkNvbnN0KDcpLAorICAgICAg
ICBrRXhwckNhbGxGdW5jdGlvbiwgZm5JbmRleCwKKyAgICAgICAga0V4cHJEcm9wLAorICAgICAg
ICBrRXhwclJldHVybiwKKyAgICBdKQorICAgIC5leHBvcnRGdW5jKCk7CisKKyAgY29uc3QgYnVm
ZmVyID0gYnVpbGRlci50b0J1ZmZlcigpOworCisgIGNvbnN0IGFjdHVhbCA9IFtdOworICBjb25z
dCBpbXBvcnRzID0geworICAgICJtb2R1bGUiOiB7CisgICAgICBmbihmMzIsIGkzMikgeworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGYzMiwgNC4yKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhpMzIs
IDcpOworICAgICAgICBjb25zdCByZXN1bHQgPSBbMiwgNy4zXTsKKyAgICAgICAgbGV0IGkgPSAw
OworICAgICAgICByZXR1cm4geworICAgICAgICAgIGdldCBbU3ltYm9sLml0ZXJhdG9yXSgpIHsK
KyAgICAgICAgICAgIGFjdHVhbC5wdXNoKCJAQGl0ZXJhdG9yIGdldHRlciIpOworICAgICAgICAg
ICAgcmV0dXJuIGZ1bmN0aW9uIGl0ZXJhdG9yKCkgeworICAgICAgICAgICAgICBhY3R1YWwucHVz
aCgiQEBpdGVyYXRvciBjYWxsIik7CisgICAgICAgICAgICAgIHJldHVybiB7CisgICAgICAgICAg
ICAgICAgZ2V0IG5leHQoKSB7CisgICAgICAgICAgICAgICAgICBhY3R1YWwucHVzaCgibmV4dCBn
ZXR0ZXIiKTsKKyAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiBuZXh0KC4uLmFyZ3Mp
IHsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhhcmdzLCBbXSk7Cisg
ICAgICAgICAgICAgICAgICAgIGxldCBqID0gKytpOworICAgICAgICAgICAgICAgICAgICBhY3R1
YWwucHVzaChgbmV4dCBjYWxsICR7an1gKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGogPiBy
ZXN1bHQubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGdldCBkb25lKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICBh
Y3R1YWwucHVzaChgZG9uZSBjYWxsICR7an1gKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgICAgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4geworICAgICAgICAgICAgICAgICAgICAgIGdldCBkb25lKCkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgYWN0dWFsLnB1c2goYGRvbmUgY2FsbCAke2p9YCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICAgICAgICBnZXQgdmFsdWUoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhY3R1
YWwucHVzaChgdmFsdWUgY2FsbCAke2p9YCk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4geworICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgdmFsdWVPZigpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhY3R1YWwucHVzaChgdmFsdWVPZiBnZXQgJHtqfWApOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFjdHVhbC5wdXNoKGB2YWx1ZU9mIGNhbGwgJHtqfWApOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFtqIC0gMV07CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9LAorICAgICAgICB9
OworICAgICAgfSwKKyAgICB9CisgIH07CisKKyAgY29uc3QgeyBpbnN0YW5jZSB9ID0gYXdhaXQg
V2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYnVmZmVyLCBpbXBvcnRzKTsKKyAgY29uc3QgcmVzdWx0
ID0gaW5zdGFuY2UuZXhwb3J0cy5jYWxsZm4oKTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsIDIp
OworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgWworICAgICJAQGl0ZXJhdG9yIGdldHRl
ciIsCisgICAgIkBAaXRlcmF0b3IgY2FsbCIsCisgICAgIm5leHQgZ2V0dGVyIiwKKyAgICAibmV4
dCBjYWxsIDEiLAorICAgICJkb25lIGNhbGwgMSIsCisgICAgInZhbHVlIGNhbGwgMSIsCisgICAg
Im5leHQgY2FsbCAyIiwKKyAgICAiZG9uZSBjYWxsIDIiLAorICAgICJ2YWx1ZSBjYWxsIDIiLAor
ICAgICJuZXh0IGNhbGwgMyIsCisgICAgImRvbmUgY2FsbCAzIiwKKyAgICAidmFsdWVPZiBnZXQg
MSIsCisgICAgInZhbHVlT2YgY2FsbCAxIiwKKyAgICAidmFsdWVPZiBnZXQgMiIsCisgICAgInZh
bHVlT2YgY2FsbCAyIiwKKyAgXSk7Cit9LCAibXVsdGlwbGUgcmV0dXJuIHZhbHVlcyBmcm9tIGpz
IHRvIHdhc20iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ZjcwMTdlMzc0YzVmMmQ4NGY1NzgyM2VlZGViZTM0YWI4OTE1YWEw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211bHRpLXZhbHVlLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitQQVNTIG11bHRpcGxlIHJldHVybiB2YWx1ZXMg
ZnJvbSB3YXNtIHRvIGpzIAorUEFTUyBtdWx0aXBsZSByZXR1cm4gdmFsdWVzIGluc2lkZSB3YXNt
IAorRkFJTCBtdWx0aXBsZSByZXR1cm4gdmFsdWVzIGZyb20ganMgdG8gd2FzbSBhc3NlcnRfYXJy
YXlfZXF1YWxzOiBwcm9wZXJ0eSA2LCBleHBlY3RlZCAibmV4dCBjYWxsIDIiIGJ1dCBnb3QgInZh
bHVlT2YgZ2V0IDEiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkud29y
a2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUuYW55Lndvcmtlci5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVj
dHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci92YWxpZGF0ZS5hbnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2Nv
bnN0cnVjdG9yL3ZhbGlkYXRlLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWZhOTljN2I1
ZDlkNWIzOWIyY2JlZDI5M2Y0NmU4Y2NmZWEyOTQ5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1
Y3Rvci92YWxpZGF0ZS5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjQgQEAKKworUEFTUyBN
aXNzaW5nIGFyZ3VtZW50IAorUEFTUyBJbnZhbGlkIGFyZ3VtZW50cyAKK1BBU1MgQnJhbmRpbmcg
CitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFtdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRp
bmcgbW9kdWxlIFtdIGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgW10gaW4g
VWludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFtdIGluIEludDE2QXJyYXkgCitQ
QVNTIFZhbGlkYXRpbmcgbW9kdWxlIFtdIGluIFVpbnQzMkFycmF5IAorUEFTUyBWYWxpZGF0aW5n
IG1vZHVsZSBbXSBpbiBJbnQzMkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMF0gaW4g
VWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzBdIGluIEludDhBcnJheSAKK1BB
U1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjFdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFsw
IDYxXSBpbiBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjFdIGluIElu
dDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczXSBpbiBVaW50OEFycmF5
IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3M10gaW4gSW50OEFycmF5IAorUEFTUyBW
YWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZF0gaW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRh
dGluZyBtb2R1bGUgWzAgNjEgNzMgNmRdIGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBt
b2R1bGUgWzAgNjEgNzMgNmRdIGluIFVpbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVs
ZSBbMCA2MSA3MyA2ZF0gaW4gSW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAg
NjEgNzMgNmRdIGluIFVpbnQzMkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3
MyA2ZF0gaW4gSW50MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQg
MV0gaW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMV0g
aW4gSW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDBdIGlu
IFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMF0gaW4g
SW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDBdIGluIFVp
bnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDBdIGluIElu
dDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAwXSBpbiBV
aW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMF0gaW4g
SW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwXSBp
biBVaW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAw
XSBpbiBJbnQ4QXJyYXkgCitGQUlMIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAw
IDBdIGluIFVpbnQxNkFycmF5IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBm
YWxzZQorRkFJTCBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwXSBpbiBJbnQx
NkFycmF5IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQorRkFJTCBW
YWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwXSBpbiBVaW50MzJBcnJheSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK0ZBSUwgVmFsaWRhdGluZyBt
b2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMF0gaW4gSW50MzJBcnJheSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEg
NzMgNmQgMCAwIDAgMF0gaW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAg
NjEgNzMgNmQgMCAwIDAgMF0gaW4gSW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBb
MCA2MSA3MyA2ZCAwIDAgMCAwXSBpbiBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1
bGUgWzAgNjEgNzMgNmQgMCAwIDAgMF0gaW4gSW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBt
b2R1bGUgWzAgNjEgNzMgNmQgMCAwIDAgMF0gaW4gVWludDMyQXJyYXkgCitQQVNTIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxIDczIDZkIDAgMCAwIDBdIGluIEludDMyQXJyYXkgCitQQVNTIFZhbGlk
YXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDIgMCAwIDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZh
bGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDIgMCAwIDBdIGluIEludDhBcnJheSAKK1BBU1Mg
VmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMiAwIDAgMF0gaW4gVWludDE2QXJyYXkgCitQ
QVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDIgMCAwIDBdIGluIEludDE2QXJyYXkg
CitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDIgMCAwIDBdIGluIFVpbnQzMkFy
cmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBJbnQz
MkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwIDAgMF0g
aW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAg
MCAwIDBdIGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQg
MSAwIDAgMCAwIDBdIGluIFVpbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2
MSA3MyA2ZCAxIDAgMCAwIDAgMF0gaW4gSW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1
bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAwIDEgMF0gaW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRh
dGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAwIDEgMF0gaW4gSW50OEFycmF5IAorUEFT
UyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwIDAgMiAxIDYxXSBpbiBVaW50
OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAwIDAgMiAx
IDYxXSBpbiBJbnQ4QXJyYXkgCitGQUlMIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEg
MCAwIDAgMCAyIDEgNjFdIGluIFVpbnQxNkFycmF5IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRy
dWUgYnV0IGdvdCBmYWxzZQorRkFJTCBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAg
MCAwIDAgMiAxIDYxXSBpbiBJbnQxNkFycmF5IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRydWUg
YnV0IGdvdCBmYWxzZQorRkFJTCBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMCAw
IDAgMiAxIDYxXSBpbiBVaW50MzJBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1
dCBnb3QgZmFsc2UKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAw
IDIgMSA2MV0gaW4gSW50MzJBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBn
b3QgZmFsc2UKK1BBU1MgU3RyYXkgYXJndW1lbnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci92
YWxpZGF0ZS5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci92YWxpZGF0ZS5hbnkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2NvbnN0cnVjdG9yL3ZhbGlkYXRlLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4g
dGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9jb25zdHJ1Y3Rvci92YWxpZGF0ZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvdmFsaWRhdGUuYW55
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE1MjNhY2M3OTI1YzllZjc2NDZkMjk2YTc4YmY5ODMxZWRhODZkNzEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvdmFsaWRhdGUuYW55LmpzCkBAIC0wLDAgKzEs
OTkgQEAKKy8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNh
cGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcworCitsZXQgZW1wdHlNb2R1bGVCaW5hcnk7CitzZXR1
cCgoKSA9PiB7CisgIGVtcHR5TW9kdWxlQmluYXJ5ID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCku
dG9CdWZmZXIoKTsKK30pOworCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBl
RXJyb3IsICgpID0+IFdlYkFzc2VtYmx5LnZhbGlkYXRlKCkpOworfSwgIk1pc3NpbmcgYXJndW1l
bnQiKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGludmFsaWRBcmd1bWVudHMgPSBbCisgICAg
dW5kZWZpbmVkLAorICAgIG51bGwsCisgICAgdHJ1ZSwKKyAgICAiIiwKKyAgICBTeW1ib2woKSwK
KyAgICAxLAorICAgIHt9LAorICAgIEFycmF5QnVmZmVyLAorICAgIEFycmF5QnVmZmVyLnByb3Rv
dHlwZSwKKyAgICBBcnJheS5mcm9tKGVtcHR5TW9kdWxlQmluYXJ5KSwKKyAgXTsKKyAgZm9yIChj
b25zdCBhcmd1bWVudCBvZiBpbnZhbGlkQXJndW1lbnRzKSB7CisgICAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsICgpID0+IFdlYkFzc2VtYmx5LnZhbGlkYXRlKGFyZ3VtZW50KSwKKyAgICAg
ICAgICAgICAgICAgICAgIGB2YWxpZGF0ZSgke2Zvcm1hdF92YWx1ZShhcmd1bWVudCl9KWApOwor
ICB9Cit9LCAiSW52YWxpZCBhcmd1bWVudHMiKTsKKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGZu
ID0gV2ViQXNzZW1ibHkudmFsaWRhdGU7CisgIGNvbnN0IHRoaXNWYWx1ZXMgPSBbCisgICAgdW5k
ZWZpbmVkLAorICAgIG51bGwsCisgICAgdHJ1ZSwKKyAgICAiIiwKKyAgICBTeW1ib2woKSwKKyAg
ICAxLAorICAgIHt9LAorICAgIFdlYkFzc2VtYmx5LAorICBdOworICBmb3IgKGNvbnN0IHRoaXNW
YWx1ZSBvZiB0aGlzVmFsdWVzKSB7CisgICAgYXNzZXJ0X3RydWUoZm4uY2FsbCh0aGlzVmFsdWUs
IGVtcHR5TW9kdWxlQmluYXJ5KSwgYHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsK
KyAgfQorfSwgIkJyYW5kaW5nIik7CisKK2NvbnN0IG1vZHVsZXMgPSBbCisgIC8vIEluY29tcGxl
dGUgaGVhZGVyLgorICBbW10sIGZhbHNlXSwKKyAgW1sweDAwXSwgZmFsc2VdLAorICBbWzB4MDAs
IDB4NjFdLCBmYWxzZV0sCisgIFtbMHgwMCwgMHg2MSwgMHg3M10sIGZhbHNlXSwKKyAgW1sweDAw
LCAweDYxLCAweDczLCAweDZkXSwgZmFsc2VdLAorICBbWzB4MDAsIDB4NjEsIDB4NzMsIDB4NmQs
IDB4MDFdLCBmYWxzZV0sCisgIFtbMHgwMCwgMHg2MSwgMHg3MywgMHg2ZCwgMHgwMSwgMHgwMF0s
IGZhbHNlXSwKKyAgW1sweDAwLCAweDYxLCAweDczLCAweDZkLCAweDAxLCAweDAwLCAweDAwXSwg
ZmFsc2VdLAorCisgIC8vIENvbXBsZXRlIGhlYWRlci4KKyAgW1sweDAwLCAweDYxLCAweDczLCAw
eDZkLCAweDAxLCAweDAwLCAweDAwLCAweDAwXSwgdHJ1ZV0sCisKKyAgLy8gSW52YWxpZCB2ZXJz
aW9uLgorICBbWzB4MDAsIDB4NjEsIDB4NzMsIDB4NmQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDBd
LCBmYWxzZV0sCisgIFtbMHgwMCwgMHg2MSwgMHg3MywgMHg2ZCwgMHgwMiwgMHgwMCwgMHgwMCwg
MHgwMF0sIGZhbHNlXSwKKworICAvLyBOYW1lbGVzcyBjdXN0b20gc2VjdGlvbi4KKyAgW1sweDAw
LCAweDYxLCAweDczLCAweDZkLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwXSwg
ZmFsc2VdLAorCisgIC8vIEN1c3RvbSBzZWN0aW9uIHdpdGggZW1wdHkgbmFtZS4KKyAgW1sweDAw
LCAweDYxLCAweDczLCAweDZkLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAw
eDAwXSwgdHJ1ZV0sCisKKyAgLy8gQ3VzdG9tIHNlY3Rpb24gd2l0aCBuYW1lICJhIi4KKyAgW1sw
eDAwLCAweDYxLCAweDczLCAweDZkLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAy
LCAweDAxLCAweDYxXSwgdHJ1ZV0sCitdOworY29uc3QgYnVmZmVyVHlwZXMgPSBbCisgIFVpbnQ4
QXJyYXksCisgIEludDhBcnJheSwKKyAgVWludDE2QXJyYXksCisgIEludDE2QXJyYXksCisgIFVp
bnQzMkFycmF5LAorICBJbnQzMkFycmF5LAorXTsKK2ZvciAoY29uc3QgW21vZHVsZSwgZXhwZWN0
ZWRdIG9mIG1vZHVsZXMpIHsKKyAgY29uc3QgbmFtZSA9IG1vZHVsZS5tYXAobiA9PiBuLnRvU3Ry
aW5nKDE2KSkuam9pbigiICIpOworICBmb3IgKGNvbnN0IGJ1ZmZlclR5cGUgb2YgYnVmZmVyVHlw
ZXMpIHsKKyAgICBpZiAobW9kdWxlLmxlbmd0aCAlIGJ1ZmZlclR5cGUuQllURVNfUEVSX0VMRU1F
TlQgPT09IDApIHsKKyAgICAgIHRlc3QoKCkgPT4geworICAgICAgICBjb25zdCBieXRlcyA9IG5l
dyBVaW50OEFycmF5KG1vZHVsZSk7CisgICAgICAgIGNvbnN0IG1vZHVsZUJ1ZmZlciA9IG5ldyBi
dWZmZXJUeXBlKGJ5dGVzLmJ1ZmZlcik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoV2ViQXNzZW1i
bHkudmFsaWRhdGUobW9kdWxlQnVmZmVyKSwgZXhwZWN0ZWQpOworICAgICAgfSwgYFZhbGlkYXRp
bmcgbW9kdWxlIFske25hbWV9XSBpbiAke2J1ZmZlclR5cGUubmFtZX1gKTsKKyAgICB9CisgIH0K
K30KKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF90cnVlKFdlYkFzc2VtYmx5LnZhbGlkYXRlKGVt
cHR5TW9kdWxlQmluYXJ5LCB7fSkpOworfSwgIlN0cmF5IGFyZ3VtZW50Iik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
Y29uc3RydWN0b3IvdmFsaWRhdGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3Iv
dmFsaWRhdGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWZhOTljN2I1ZDlk
NWIzOWIyY2JlZDI5M2Y0NmU4Y2NmZWEyOTQ5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rv
ci92YWxpZGF0ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY0IEBACisKK1BB
U1MgTWlzc2luZyBhcmd1bWVudCAKK1BBU1MgSW52YWxpZCBhcmd1bWVudHMgCitQQVNTIEJyYW5k
aW5nIAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbXSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxp
ZGF0aW5nIG1vZHVsZSBbXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFtd
IGluIFVpbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbXSBpbiBJbnQxNkFycmF5
IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbXSBpbiBVaW50MzJBcnJheSAKK1BBU1MgVmFsaWRh
dGluZyBtb2R1bGUgW10gaW4gSW50MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzBd
IGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswXSBpbiBJbnQ4QXJyYXkg
CitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxXSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxp
ZGF0aW5nIG1vZHVsZSBbMCA2MV0gaW4gSW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVs
ZSBbMCA2MV0gaW4gVWludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxXSBp
biBJbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3M10gaW4gVWludDhB
cnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzNdIGluIEludDhBcnJheSAKK1BB
U1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmRdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZh
bGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxIDczIDZkXSBpbiBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBt
b2R1bGUgWzAgNjEgNzMgNmRdIGluIEludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxl
IFswIDYxIDczIDZkXSBpbiBVaW50MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAg
NjEgNzMgNmRdIGluIEludDMyQXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDcz
IDZkIDFdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZk
IDFdIGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAw
XSBpbiBVaW50OEFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDBd
IGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwXSBp
biBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwXSBp
biBJbnQxNkFycmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAxIDAgMF0g
aW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDBd
IGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAg
MF0gaW4gVWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAw
IDAgMF0gaW4gSW50OEFycmF5IAorRkFJTCBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAx
IDAgMCAwXSBpbiBVaW50MTZBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBn
b3QgZmFsc2UKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMF0gaW4g
SW50MTZBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK0ZB
SUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMF0gaW4gVWludDMyQXJyYXkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCitGQUlMIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDBdIGluIEludDMyQXJyYXkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFsw
IDYxIDczIDZkIDAgMCAwIDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxl
IFswIDYxIDczIDZkIDAgMCAwIDBdIGluIEludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1
bGUgWzAgNjEgNzMgNmQgMCAwIDAgMF0gaW4gVWludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcg
bW9kdWxlIFswIDYxIDczIDZkIDAgMCAwIDBdIGluIEludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRp
bmcgbW9kdWxlIFswIDYxIDczIDZkIDAgMCAwIDBdIGluIFVpbnQzMkFycmF5IAorUEFTUyBWYWxp
ZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAwIDAgMCAwXSBpbiBJbnQzMkFycmF5IAorUEFTUyBW
YWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBVaW50OEFycmF5IAorUEFT
UyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBJbnQ4QXJyYXkgCitQ
QVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDIgMCAwIDBdIGluIFVpbnQxNkFycmF5
IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBJbnQxNkFy
cmF5IAorUEFTUyBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2ZCAyIDAgMCAwXSBpbiBVaW50
MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMiAwIDAgMF0gaW4g
SW50MzJBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAw
IDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEg
MCAwIDAgMCAwXSBpbiBJbnQ4QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDcz
IDZkIDEgMCAwIDAgMCAwXSBpbiBVaW50MTZBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUg
WzAgNjEgNzMgNmQgMSAwIDAgMCAwIDBdIGluIEludDE2QXJyYXkgCitQQVNTIFZhbGlkYXRpbmcg
bW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDAgMCAxIDBdIGluIFVpbnQ4QXJyYXkgCitQQVNTIFZh
bGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAwIDAgMCAxIDBdIGluIEludDhBcnJheSAK
K1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAwIDIgMSA2MV0gaW4g
VWludDhBcnJheSAKK1BBU1MgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAwIDAgMCAw
IDIgMSA2MV0gaW4gSW50OEFycmF5IAorRkFJTCBWYWxpZGF0aW5nIG1vZHVsZSBbMCA2MSA3MyA2
ZCAxIDAgMCAwIDAgMiAxIDYxXSBpbiBVaW50MTZBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQg
MSAwIDAgMCAwIDIgMSA2MV0gaW4gSW50MTZBcnJheSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0
cnVlIGJ1dCBnb3QgZmFsc2UKK0ZBSUwgVmFsaWRhdGluZyBtb2R1bGUgWzAgNjEgNzMgNmQgMSAw
IDAgMCAwIDIgMSA2MV0gaW4gVWludDMyQXJyYXkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1
ZSBidXQgZ290IGZhbHNlCitGQUlMIFZhbGlkYXRpbmcgbW9kdWxlIFswIDYxIDczIDZkIDEgMCAw
IDAgMCAyIDEgNjFdIGluIEludDMyQXJyYXkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBi
dXQgZ290IGZhbHNlCitQQVNTIFN0cmF5IGFyZ3VtZW50IAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0
b3IvdmFsaWRhdGUuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL3ZhbGlkYXRlLmFueS53b3Jr
ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0
OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL3ZhbGlkYXRlLmFueS53b3JrZXIuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
Y29uc3RydWN0b3IvdzNjLWltcG9ydC5sb2cKaW5kZXggNzE5N2ZkMjNkM2Y1YzNlN2NhMmVmMjUw
MmI1NzJhY2VkNTY2YzAzZi4uZjg5Yjc5OThiOTQ2MjIwN2ZmYzE5OTI1MjU1MjAyN2U5YTNjMDgx
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci93
M2MtaW1wb3J0LmxvZwpAQCAtMTQsNCArMTQsOCBAQCBQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
Y29uc3RydWN0b3IvY29tcGlsZS5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvaW5zdGFudGlhdGUtYmFkLWlt
cG9ydHMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLmFueS5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9t
dWx0aS12YWx1ZS5hbnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvdmFsaWRhdGUuYW55LmpzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
ZXJyb3ItaW50ZXJmYWNlcy1uby1zeW1ib2wtdG9zdHJpbmd0YWcuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZXJyb3ItaW50ZXJmYWNl
cy1uby1zeW1ib2wtdG9zdHJpbmd0YWcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTcyZGIwYzAxYjYyMGRkMzE3
ZjIwNzlkZjZkMGVhN2NmZjYzMzNmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9lcnJvci1pbnRlcmZhY2Vz
LW5vLXN5bWJvbC10b3N0cmluZ3RhZy5qcwpAQCAtMCwwICsxLDEzIEBACisvLyBNRVRBOiBnbG9i
YWw9anNzaGVsbAorCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHkoV2Vi
QXNzZW1ibHkuQ29tcGlsZUVycm9yLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKTsKK30s
ICJXZWJBc3NlbWJseS5Db21waWxlRXJyb3IiKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9u
b3Rfb3duX3Byb3BlcnR5KFdlYkFzc2VtYmx5LkxpbmtFcnJvci5wcm90b3R5cGUsIFN5bWJvbC50
b1N0cmluZ1RhZyk7Cit9LCAiV2ViQXNzZW1ibHkuTGlua0Vycm9yIik7CisKK3Rlc3QoKCkgPT4g
eworICBhc3NlcnRfbm90X293bl9wcm9wZXJ0eShXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IucHJv
dG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpOworfSwgIldlYkFzc2VtYmx5LlJ1bnRpbWVFcnJv
ciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2Jh
bC9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGYzOTBmN2UwMWM4MTFjOGExYWU2
ZTc2Mzg5OWVlOTgxOWE4ZTMyZTguLjY0NDNiMDcxODZiYzk5YjNiMDUyZjI1MjQxMDdhYmQ3YTQ4
ODk1NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvY29uc3RydWN0b3IuYW55LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
Z2xvYmFsL2NvbnN0cnVjdG9yLmFueS1leHBlY3RlZC50eHQKQEAgLTM0LDQgKzM0LDUgQEAgUEFT
UyBFeHBsaWNpdCB2YWx1ZSAyIGZvciB0eXBlIGY2NAogUEFTUyBFeHBsaWNpdCB2YWx1ZSAiMyIg
Zm9yIHR5cGUgZjY0IAogUEFTUyBFeHBsaWNpdCB2YWx1ZSBvYmplY3Qgd2l0aCB0b1N0cmluZyBm
b3IgdHlwZSBmNjQgCiBQQVNTIEV4cGxpY2l0IHZhbHVlIG9iamVjdCB3aXRoIHZhbHVlT2YgZm9y
IHR5cGUgZjY0IAorUEFTUyBTdHJheSBhcmd1bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC9jb25z
dHJ1Y3Rvci5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvZ2xvYmFsL2NvbnN0cnVjdG9yLmFueS5qcwppbmRleCA3YTQ1Y2M0MTkx
YzU1Njg0Y2RlMTg3ZmM3M2ZiOTc0MWQ2ZjVjMmM1Li4yNzAxNDllYzE0NDMwNDVlNDEzNGVlYjgw
NDAzNjUxYTNkMGExMmZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL2NvbnN0cnVjdG9yLmFueS5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
Z2xvYmFsL2NvbnN0cnVjdG9yLmFueS5qcwpAQCAtMTksMTIgKzE5LDEyIEBAIHRlc3QoKCkgPT4g
ewogfSwgImxlbmd0aCIpOwogCiB0ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwoKSk7CisgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKCkpOwogfSwgIk5v
IGFyZ3VtZW50cyIpOwogCiB0ZXN0KCgpID0+IHsKICAgY29uc3QgYXJndW1lbnQgPSB7ICJ2YWx1
ZSI6ICJpMzIiIH07Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBXZWJB
c3NlbWJseS5HbG9iYWwoYXJndW1lbnQpKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3Is
ICgpID0+IFdlYkFzc2VtYmx5Lkdsb2JhbChhcmd1bWVudCkpOwogfSwgIkNhbGxpbmciKTsKIAog
dGVzdCgoKSA9PiB7CkBAIC03Myw5ICs3Myw5IEBAIHRlc3QoKCkgPT4gewogICAgIHt9LAogICBd
OwogICBmb3IgKGNvbnN0IGludmFsaWRBcmd1bWVudCBvZiBpbnZhbGlkQXJndW1lbnRzKSB7Ci0g
ICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksCi0gICAgICAgICAgICAgICAgICAoKSA9
PiBuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKGludmFsaWRBcmd1bWVudCksCi0gICAgICAgICAgICAg
ICAgICBgbmV3IEdsb2JhbCgke2Zvcm1hdF92YWx1ZShpbnZhbGlkQXJndW1lbnQpfSlgKTsKKyAg
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICgpID0+
IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwoaW52YWxpZEFyZ3VtZW50KSwKKyAgICAgICAgICAgICAg
ICAgICAgIGBuZXcgR2xvYmFsKCR7Zm9ybWF0X3ZhbHVlKGludmFsaWRBcmd1bWVudCl9KWApOwog
ICB9CiB9LCAiSW52YWxpZCBkZXNjcmlwdG9yIGFyZ3VtZW50Iik7CiAKQEAgLTgzLDE1ICs4Mywx
NSBAQCB0ZXN0KCgpID0+IHsKICAgY29uc3QgaW52YWxpZFR5cGVzID0gWyJpMTYiLCAiaTEyOCIs
ICJmMTYiLCAiZjEyOCIsICJ1MzIiLCAidTY0IiwgImkzMlwwIl07CiAgIGZvciAoY29uc3QgdmFs
dWUgb2YgaW52YWxpZFR5cGVzKSB7CiAgICAgY29uc3QgYXJndW1lbnQgPSB7IHZhbHVlIH07Ci0g
ICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5H
bG9iYWwoYXJndW1lbnQpKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4g
bmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChhcmd1bWVudCkpOwogICB9CiB9LCAiSW52YWxpZCB0eXBl
IGFyZ3VtZW50Iik7CiAKIHRlc3QoKCkgPT4gewogICBjb25zdCBhcmd1bWVudCA9IHsgInZhbHVl
IjogImk2NCIgfTsKICAgY29uc3QgZ2xvYmFsID0gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChhcmd1
bWVudCk7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBnbG9iYWwudmFs
dWUpOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gZ2xvYmFsLnZhbHVl
T2YoKSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBnbG9iYWwudmFsdWUp
OworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZ2xvYmFsLnZhbHVlT2YoKSk7
CiB9LCAiaTY0IHdpdGggZGVmYXVsdCIpOwogCiBmb3IgKGNvbnN0IHR5cGUgb2YgWyJpMzIiLCAi
ZjMyIiwgImY2NCJdKSB7CkBAIC0xMTksMyArMTE5LDkgQEAgZm9yIChjb25zdCB0eXBlIG9mIFsi
aTMyIiwgImYzMiIsICJmNjQiXSkgewogICAgIH0sIGBFeHBsaWNpdCB2YWx1ZSAke25hbWV9IGZv
ciB0eXBlICR7dHlwZX1gKTsKICAgfQogfQorCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgYXJndW1l
bnQgPSB7ICJ2YWx1ZSI6ICJpMzIiIH07CisgIGNvbnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJs
eS5HbG9iYWwoYXJndW1lbnQsIDAsIHt9KTsKKyAgYXNzZXJ0X0dsb2JhbChnbG9iYWwsIDApOwor
fSwgIlN0cmF5IGFyZ3VtZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL2NvbnN0cnVjdG9yLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAppbmRleCBmMzkwZjdlMDFjODExYzhhMWFlNmU3NjM4OTllZTk4MTlhOGUzMmU4Li42NDQz
YjA3MTg2YmM5OWIzYjA1MmYyNTI0MTA3YWJkN2E0ODg5NTYxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL2Nv
bnN0cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvY29uc3RydWN0b3Iu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTM0LDQgKzM0LDUgQEAgUEFTUyBFeHBsaWNpdCB2
YWx1ZSAyIGZvciB0eXBlIGY2NAogUEFTUyBFeHBsaWNpdCB2YWx1ZSAiMyIgZm9yIHR5cGUgZjY0
IAogUEFTUyBFeHBsaWNpdCB2YWx1ZSBvYmplY3Qgd2l0aCB0b1N0cmluZyBmb3IgdHlwZSBmNjQg
CiBQQVNTIEV4cGxpY2l0IHZhbHVlIG9iamVjdCB3aXRoIHZhbHVlT2YgZm9yIHR5cGUgZjY0IAor
UEFTUyBTdHJheSBhcmd1bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC90b1N0cmluZy5hbnktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL2dsb2JhbC90b1N0cmluZy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDIyMzliNWVh
YjU2NjZlNTUxZDA3MzFjMTc4MGM5MjkzMzY3ODUxYWEuLjMxMmEyYjFkOTg4NDZhYzVjYzMxZGIy
Yzk2MGIzODkyZTY1OTExODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdG9TdHJpbmcuYW55LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvZ2xvYmFsL3RvU3RyaW5nLmFueS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBA
CiAKIFBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBvbiBhbiBHbG9iYWwgCitGQUlMIEBA
dG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUg
ZGVzY3JpcHRvciBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSBzeW1ib2wg
IlN5bWJvbChTeW1ib2wudG9TdHJpbmdUYWcpIiBtaXNzaW5nCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwv
dG9TdHJpbmcuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC90b1N0cmluZy5hbnkuanMKaW5kZXggY2EwMjU1NzZjMmI0
OTYwNGYwNTNjODMwMDJmM2E5Y2M4ZWY0MWE3Yi4uNWY2NGQ3MmRlOWQ5ZGY0YTk5ZTQ4MmNkZWQ1
YTMwYWMxYzhhMzQzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC90b1N0cmluZy5hbnkuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2Jh
bC90b1N0cmluZy5hbnkuanMKQEAgLTUsMyArNSwxMyBAQCB0ZXN0KCgpID0+IHsKICAgY29uc3Qg
Z2xvYmFsID0gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChhcmd1bWVudCk7CiAgIGFzc2VydF9jbGFz
c19zdHJpbmcoZ2xvYmFsLCAiV2ViQXNzZW1ibHkuR2xvYmFsIik7CiB9LCAiT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZyBvbiBhbiBHbG9iYWwiKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9v
d25fcHJvcGVydHkoV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5n
VGFnKTsKKworICBjb25zdCBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKTsKKyAg
YXNzZXJ0X2VxdWFscyhwcm9wRGVzYy52YWx1ZSwgIldlYkFzc2VtYmx5Lkdsb2JhbCIsICJ2YWx1
ZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLmNvbmZpZ3VyYWJsZSwgdHJ1ZSwgImNvbmZp
Z3VyYWJsZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLmVudW1lcmFibGUsIGZhbHNlLCAi
ZW51bWVyYWJsZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLndyaXRhYmxlLCBmYWxzZSwg
IndyaXRhYmxlIik7Cit9LCAiQEB0b1N0cmluZ1RhZyBleGlzdHMgb24gdGhlIHByb3RvdHlwZSB3
aXRoIHRoZSBhcHByb3ByaWF0ZSBkZXNjcmlwdG9yIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3RvU3Ry
aW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC90b1N0cmluZy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCAyMjM5YjVlYWI1NjY2ZTU1MWQwNzMxYzE3ODBjOTI5MzM2Nzg1MWFh
Li4zMTJhMmIxZDk4ODQ2YWM1Y2MzMWRiMmM5NjBiMzg5MmU2NTkxMTg0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xv
YmFsL3RvU3RyaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdG9TdHJpbmcu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZyBvbiBhbiBHbG9iYWwgCitGQUlMIEBAdG9TdHJpbmdUYWcgZXhpc3Rz
IG9uIHRoZSBwcm90b3R5cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciBhc3NlcnRf
b3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSBzeW1ib2wgIlN5bWJvbChTeW1ib2wudG9T
dHJpbmdUYWcpIiBtaXNzaW5nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2NiZGM3ZmNmNzY1NWJhNGZmYjdhNDU0ZjdjOTJiODQyNjJiODU0YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NTUgQEAKKworUEFTUyBCcmFuZGluZyAKK1BBU1MgSW1tdXRhYmxlIGkzMiAobWlzc2luZykgCitQ
QVNTIEltbXV0YWJsZSBpMzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKG1pc3NpbmcpIAor
UEFTUyBJbW11dGFibGUgaTMyICh1bmRlZmluZWQpIAorUEFTUyBJbW11dGFibGUgaTMyIHdpdGgg
VG9OdW1iZXIgc2lkZS1lZmZlY3RzICh1bmRlZmluZWQpIAorUEFTUyBJbW11dGFibGUgaTMyIChu
dWxsKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAobnVs
bCkgCitQQVNTIEltbXV0YWJsZSBpMzIgKGZhbHNlKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiB3aXRo
IFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAoZmFsc2UpIAorUEFTUyBJbW11dGFibGUgaTMyIChlbXB0
eSBzdHJpbmcpIAorUEFTUyBJbW11dGFibGUgaTMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3Rz
IChlbXB0eSBzdHJpbmcpIAorUEFTUyBJbW11dGFibGUgaTMyICh6ZXJvKSAKK1BBU1MgSW1tdXRh
YmxlIGkzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAoemVybykgCitQQVNTIE11dGFibGUg
aTMyICh0cnVlKSAKK1BBU1MgTXV0YWJsZSBpMzIgKG9uZSkgCitQQVNTIE11dGFibGUgaTMyIChz
dHJpbmcpIAorUEFTUyBNdXRhYmxlIGkzMiAodHJ1ZSBvbiBwcm90b3R5cGUpIAorUEFTUyBJbW11
dGFibGUgZjMyIChtaXNzaW5nKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiB3aXRoIFRvTnVtYmVyIHNp
ZGUtZWZmZWN0cyAobWlzc2luZykgCitQQVNTIEltbXV0YWJsZSBmMzIgKHVuZGVmaW5lZCkgCitQ
QVNTIEltbXV0YWJsZSBmMzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKHVuZGVmaW5lZCkg
CitQQVNTIEltbXV0YWJsZSBmMzIgKG51bGwpIAorUEFTUyBJbW11dGFibGUgZjMyIHdpdGggVG9O
dW1iZXIgc2lkZS1lZmZlY3RzIChudWxsKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiAoZmFsc2UpIAor
UEFTUyBJbW11dGFibGUgZjMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChmYWxzZSkgCitQ
QVNTIEltbXV0YWJsZSBmMzIgKGVtcHR5IHN0cmluZykgCitQQVNTIEltbXV0YWJsZSBmMzIgd2l0
aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKGVtcHR5IHN0cmluZykgCitQQVNTIEltbXV0YWJsZSBm
MzIgKHplcm8pIAorUEFTUyBJbW11dGFibGUgZjMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3Rz
ICh6ZXJvKSAKK1BBU1MgTXV0YWJsZSBmMzIgKHRydWUpIAorUEFTUyBNdXRhYmxlIGYzMiAob25l
KSAKK1BBU1MgTXV0YWJsZSBmMzIgKHN0cmluZykgCitQQVNTIE11dGFibGUgZjMyICh0cnVlIG9u
IHByb3RvdHlwZSkgCitQQVNTIEltbXV0YWJsZSBmNjQgKG1pc3NpbmcpIAorUEFTUyBJbW11dGFi
bGUgZjY0IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChtaXNzaW5nKSAKK1BBU1MgSW1tdXRh
YmxlIGY2NCAodW5kZWZpbmVkKSAKK1BBU1MgSW1tdXRhYmxlIGY2NCB3aXRoIFRvTnVtYmVyIHNp
ZGUtZWZmZWN0cyAodW5kZWZpbmVkKSAKK1BBU1MgSW1tdXRhYmxlIGY2NCAobnVsbCkgCitQQVNT
IEltbXV0YWJsZSBmNjQgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKG51bGwpIAorUEFTUyBJ
bW11dGFibGUgZjY0IChmYWxzZSkgCitQQVNTIEltbXV0YWJsZSBmNjQgd2l0aCBUb051bWJlciBz
aWRlLWVmZmVjdHMgKGZhbHNlKSAKK1BBU1MgSW1tdXRhYmxlIGY2NCAoZW1wdHkgc3RyaW5nKSAK
K1BBU1MgSW1tdXRhYmxlIGY2NCB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAoZW1wdHkgc3Ry
aW5nKSAKK1BBU1MgSW1tdXRhYmxlIGY2NCAoemVybykgCitQQVNTIEltbXV0YWJsZSBmNjQgd2l0
aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKHplcm8pIAorUEFTUyBNdXRhYmxlIGY2NCAodHJ1ZSkg
CitQQVNTIE11dGFibGUgZjY0IChvbmUpIAorUEFTUyBNdXRhYmxlIGY2NCAoc3RyaW5nKSAKK1BB
U1MgTXV0YWJsZSBmNjQgKHRydWUgb24gcHJvdG90eXBlKSAKK1BBU1MgaTY0IHdpdGggZGVmYXVs
dCAKK1BBU1MgaTY0IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIAorUEFTUyBDYWxsaW5nIHNl
dHRlciB3aXRob3V0IGFyZ3VtZW50IAorUEFTUyBTdHJheSBhcmd1bWVudCAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQuYW55Lmh0bWwKQEAgLTAsMCAr
MSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3Ry
dWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFs
dWUtZ2V0LXNldC5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjlmMGU0NjM3OWZmZDIwYTNiOWJmYjE5MDQ4
NzM3NmQ2MTZkOTE2ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnku
anMKQEAgLTAsMCArMSwxMzYgQEAKKy8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisKK3Rlc3QoKCkg
PT4geworICBjb25zdCB0aGlzVmFsdWVzID0gWworICAgIHVuZGVmaW5lZCwKKyAgICBudWxsLAor
ICAgIHRydWUsCisgICAgIiIsCisgICAgU3ltYm9sKCksCisgICAgMSwKKyAgICB7fSwKKyAgICBX
ZWJBc3NlbWJseS5HbG9iYWwsCisgICAgV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSwKKyAg
XTsKKworICBjb25zdCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihXZWJB
c3NlbWJseS5HbG9iYWwucHJvdG90eXBlLCAidmFsdWUiKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgZGVzYywgIm9iamVjdCIpOworCisgIGNvbnN0IGdldHRlciA9IGRlc2MuZ2V0OworICBhc3Nl
cnRfZXF1YWxzKHR5cGVvZiBnZXR0ZXIsICJmdW5jdGlvbiIpOworCisgIGNvbnN0IHNldHRlciA9
IGRlc2Muc2V0OworICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBzZXR0ZXIsICJmdW5jdGlvbiIpOwor
CisgIGZvciAoY29uc3QgdGhpc1ZhbHVlIG9mIHRoaXNWYWx1ZXMpIHsKKyAgICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZ2V0dGVyLmNhbGwodGhpc1ZhbHVlKSwgYGdldHRlciB3
aXRoIHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKKyAgICBhc3NlcnRfdGhyb3dz
X2pzKFR5cGVFcnJvciwgKCkgPT4gc2V0dGVyLmNhbGwodGhpc1ZhbHVlLCAxKSwgYHNldHRlciB3
aXRoIHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKKyAgfQorfSwgIkJyYW5kaW5n
Iik7CisKK2ZvciAoY29uc3QgdHlwZSBvZiBbImkzMiIsICJmMzIiLCAiZjY0Il0pIHsKKyAgY29u
c3QgaW1tdXRhYmxlT3B0aW9ucyA9IFsKKyAgICBbe30sICJtaXNzaW5nIl0sCisgICAgW3sgIm11
dGFibGUiOiB1bmRlZmluZWQgfSwgInVuZGVmaW5lZCJdLAorICAgIFt7ICJtdXRhYmxlIjogbnVs
bCB9LCAibnVsbCJdLAorICAgIFt7ICJtdXRhYmxlIjogZmFsc2UgfSwgImZhbHNlIl0sCisgICAg
W3sgIm11dGFibGUiOiAiIiB9LCAiZW1wdHkgc3RyaW5nIl0sCisgICAgW3sgIm11dGFibGUiOiAw
IH0sICJ6ZXJvIl0sCisgIF07CisgIGZvciAoY29uc3QgW29wdHMsIG5hbWVdIG9mIGltbXV0YWJs
ZU9wdGlvbnMpIHsKKyAgICB0ZXN0KCgpID0+IHsKKyAgICAgIG9wdHMudmFsdWUgPSB0eXBlOwor
ICAgICAgY29uc3QgZ2xvYmFsID0gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChvcHRzKTsKKyAgICAg
IGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlLCAwLCAiaW5pdGlhbCB2YWx1ZSIpOworICAgICAg
YXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWVPZigpLCAwLCAiaW5pdGlhbCB2YWx1ZU9mIik7CisK
KyAgICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBnbG9iYWwudmFsdWUgPSAx
KTsKKworICAgICAgYXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWUsIDAsICJwb3N0LXNldCB2YWx1
ZSIpOworICAgICAgYXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWVPZigpLCAwLCAicG9zdC1zZXQg
dmFsdWVPZiIpOworICAgIH0sIGBJbW11dGFibGUgJHt0eXBlfSAoJHtuYW1lfSlgKTsKKworICAg
IHRlc3QodCA9PiB7CisgICAgICBvcHRzLnZhbHVlID0gdHlwZTsKKyAgICAgIGNvbnN0IGdsb2Jh
bCA9IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwob3B0cyk7CisgICAgICBhc3NlcnRfZXF1YWxzKGds
b2JhbC52YWx1ZSwgMCwgImluaXRpYWwgdmFsdWUiKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2xv
YmFsLnZhbHVlT2YoKSwgMCwgImluaXRpYWwgdmFsdWVPZiIpOworCisgICAgICBjb25zdCB2YWx1
ZSA9IHsKKyAgICAgICAgdmFsdWVPZjogdC51bnJlYWNoZWRfZnVuYygic2hvdWxkIG5vdCBjYWxs
IHZhbHVlT2YiKSwKKyAgICAgICAgdG9TdHJpbmc6IHQudW5yZWFjaGVkX2Z1bmMoInNob3VsZCBu
b3QgY2FsbCB0b1N0cmluZyIpLAorICAgICAgfTsKKyAgICAgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCAoKSA9PiBnbG9iYWwudmFsdWUgPSB2YWx1ZSk7CisKKyAgICAgIGFzc2VydF9lcXVh
bHMoZ2xvYmFsLnZhbHVlLCAwLCAicG9zdC1zZXQgdmFsdWUiKTsKKyAgICAgIGFzc2VydF9lcXVh
bHMoZ2xvYmFsLnZhbHVlT2YoKSwgMCwgInBvc3Qtc2V0IHZhbHVlT2YiKTsKKyAgICB9LCBgSW1t
dXRhYmxlICR7dHlwZX0gd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKCR7bmFtZX0pYCk7Cisg
IH0KKworICBjb25zdCBtdXRhYmxlT3B0aW9ucyA9IFsKKyAgICBbeyAibXV0YWJsZSI6IHRydWUg
fSwgInRydWUiXSwKKyAgICBbeyAibXV0YWJsZSI6IDEgfSwgIm9uZSJdLAorICAgIFt7ICJtdXRh
YmxlIjogIngiIH0sICJzdHJpbmciXSwKKyAgICBbT2JqZWN0LmNyZWF0ZSh7ICJtdXRhYmxlIjog
dHJ1ZSB9KSwgInRydWUgb24gcHJvdG90eXBlIl0sCisgIF07CisgIGZvciAoY29uc3QgW29wdHMs
IG5hbWVdIG9mIG11dGFibGVPcHRpb25zKSB7CisgICAgdGVzdCgoKSA9PiB7CisgICAgICBvcHRz
LnZhbHVlID0gdHlwZTsKKyAgICAgIGNvbnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJseS5HbG9i
YWwob3B0cyk7CisgICAgICBhc3NlcnRfZXF1YWxzKGdsb2JhbC52YWx1ZSwgMCwgImluaXRpYWwg
dmFsdWUiKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlT2YoKSwgMCwgImluaXRp
YWwgdmFsdWVPZiIpOworCisgICAgICBnbG9iYWwudmFsdWUgPSAxOworCisgICAgICBhc3NlcnRf
ZXF1YWxzKGdsb2JhbC52YWx1ZSwgMSwgInBvc3Qtc2V0IHZhbHVlIik7CisgICAgICBhc3NlcnRf
ZXF1YWxzKGdsb2JhbC52YWx1ZU9mKCksIDEsICJwb3N0LXNldCB2YWx1ZU9mIik7CisgICAgfSwg
YE11dGFibGUgJHt0eXBlfSAoJHtuYW1lfSlgKTsKKyAgfQorfQorCit0ZXN0KCgpID0+IHsKKyAg
Y29uc3QgYXJndW1lbnQgPSB7ICJ2YWx1ZSI6ICJpNjQiLCAibXV0YWJsZSI6IHRydWUgfTsKKyAg
Y29uc3QgZ2xvYmFsID0gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChhcmd1bWVudCk7CisgIGFzc2Vy
dF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBnbG9iYWwudmFsdWUpOworICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZ2xvYmFsLnZhbHVlID0gMCk7CisgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiBnbG9iYWwudmFsdWVPZigpKTsKK30sICJpNjQgd2l0aCBk
ZWZhdWx0Iik7CisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGFyZ3VtZW50ID0geyAidmFsdWUiOiAi
aTY0IiwgIm11dGFibGUiOiB0cnVlIH07CisgIGNvbnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJs
eS5HbG9iYWwoYXJndW1lbnQpOworICBjb25zdCB2YWx1ZSA9IHsKKyAgICB2YWx1ZU9mOiB0LnVu
cmVhY2hlZF9mdW5jKCJzaG91bGQgbm90IGNhbGwgdmFsdWVPZiIpLAorICAgIHRvU3RyaW5nOiB0
LnVucmVhY2hlZF9mdW5jKCJzaG91bGQgbm90IGNhbGwgdG9TdHJpbmciKSwKKyAgfTsKKyAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IGdsb2JhbC52YWx1ZSA9IHZhbHVlKTsKK30s
ICJpNjQgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMiKTsKKwordGVzdCgoKSA9PiB7CisgIGNv
bnN0IGFyZ3VtZW50ID0geyAidmFsdWUiOiAiaTMyIiwgIm11dGFibGUiOiB0cnVlIH07CisgIGNv
bnN0IGdsb2JhbCA9IG5ldyBXZWJBc3NlbWJseS5HbG9iYWwoYXJndW1lbnQpOworICBjb25zdCBk
ZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihXZWJBc3NlbWJseS5HbG9iYWwu
cHJvdG90eXBlLCAidmFsdWUiKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVzYywgIm9iamVj
dCIpOworCisgIGNvbnN0IHNldHRlciA9IGRlc2Muc2V0OworICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZiBzZXR0ZXIsICJmdW5jdGlvbiIpOworCisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAo
KSA9PiBzZXR0ZXIuY2FsbChnbG9iYWwpKTsKK30sICJDYWxsaW5nIHNldHRlciB3aXRob3V0IGFy
Z3VtZW50Iik7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBhcmd1bWVudCA9IHsgInZhbHVlIjog
ImkzMiIsICJtdXRhYmxlIjogdHJ1ZSB9OworICBjb25zdCBnbG9iYWwgPSBuZXcgV2ViQXNzZW1i
bHkuR2xvYmFsKGFyZ3VtZW50KTsKKyAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSwgInZhbHVlIik7CisgIGFz
c2VydF9lcXVhbHModHlwZW9mIGRlc2MsICJvYmplY3QiKTsKKworICBjb25zdCBnZXR0ZXIgPSBk
ZXNjLmdldDsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZ2V0dGVyLCAiZnVuY3Rpb24iKTsKKwor
ICBjb25zdCBzZXR0ZXIgPSBkZXNjLnNldDsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Ygc2V0dGVy
LCAiZnVuY3Rpb24iKTsKKworICBhc3NlcnRfZXF1YWxzKGdldHRlci5jYWxsKGdsb2JhbCwge30p
LCAwKTsKKyAgYXNzZXJ0X2VxdWFscyhzZXR0ZXIuY2FsbChnbG9iYWwsIDEsIHt9KSwgdW5kZWZp
bmVkKTsKKyAgYXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWUsIDEpOworfSwgIlN0cmF5IGFyZ3Vt
ZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2NiZGM3ZmNmNzY1NWJhNGZmYjdhNDU0ZjdjOTJiODQyNjJiODU0YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDU1IEBACisKK1BBU1MgQnJhbmRpbmcgCitQQVNTIEltbXV0YWJsZSBpMzIgKG1pc3Np
bmcpIAorUEFTUyBJbW11dGFibGUgaTMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChtaXNz
aW5nKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiAodW5kZWZpbmVkKSAKK1BBU1MgSW1tdXRhYmxlIGkz
MiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAodW5kZWZpbmVkKSAKK1BBU1MgSW1tdXRhYmxl
IGkzMiAobnVsbCkgCitQQVNTIEltbXV0YWJsZSBpMzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVj
dHMgKG51bGwpIAorUEFTUyBJbW11dGFibGUgaTMyIChmYWxzZSkgCitQQVNTIEltbXV0YWJsZSBp
MzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKGZhbHNlKSAKK1BBU1MgSW1tdXRhYmxlIGkz
MiAoZW1wdHkgc3RyaW5nKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiB3aXRoIFRvTnVtYmVyIHNpZGUt
ZWZmZWN0cyAoZW1wdHkgc3RyaW5nKSAKK1BBU1MgSW1tdXRhYmxlIGkzMiAoemVybykgCitQQVNT
IEltbXV0YWJsZSBpMzIgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKHplcm8pIAorUEFTUyBN
dXRhYmxlIGkzMiAodHJ1ZSkgCitQQVNTIE11dGFibGUgaTMyIChvbmUpIAorUEFTUyBNdXRhYmxl
IGkzMiAoc3RyaW5nKSAKK1BBU1MgTXV0YWJsZSBpMzIgKHRydWUgb24gcHJvdG90eXBlKSAKK1BB
U1MgSW1tdXRhYmxlIGYzMiAobWlzc2luZykgCitQQVNTIEltbXV0YWJsZSBmMzIgd2l0aCBUb051
bWJlciBzaWRlLWVmZmVjdHMgKG1pc3NpbmcpIAorUEFTUyBJbW11dGFibGUgZjMyICh1bmRlZmlu
ZWQpIAorUEFTUyBJbW11dGFibGUgZjMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzICh1bmRl
ZmluZWQpIAorUEFTUyBJbW11dGFibGUgZjMyIChudWxsKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiB3
aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAobnVsbCkgCitQQVNTIEltbXV0YWJsZSBmMzIgKGZh
bHNlKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAoZmFs
c2UpIAorUEFTUyBJbW11dGFibGUgZjMyIChlbXB0eSBzdHJpbmcpIAorUEFTUyBJbW11dGFibGUg
ZjMyIHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChlbXB0eSBzdHJpbmcpIAorUEFTUyBJbW11
dGFibGUgZjMyICh6ZXJvKSAKK1BBU1MgSW1tdXRhYmxlIGYzMiB3aXRoIFRvTnVtYmVyIHNpZGUt
ZWZmZWN0cyAoemVybykgCitQQVNTIE11dGFibGUgZjMyICh0cnVlKSAKK1BBU1MgTXV0YWJsZSBm
MzIgKG9uZSkgCitQQVNTIE11dGFibGUgZjMyIChzdHJpbmcpIAorUEFTUyBNdXRhYmxlIGYzMiAo
dHJ1ZSBvbiBwcm90b3R5cGUpIAorUEFTUyBJbW11dGFibGUgZjY0IChtaXNzaW5nKSAKK1BBU1Mg
SW1tdXRhYmxlIGY2NCB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAobWlzc2luZykgCitQQVNT
IEltbXV0YWJsZSBmNjQgKHVuZGVmaW5lZCkgCitQQVNTIEltbXV0YWJsZSBmNjQgd2l0aCBUb051
bWJlciBzaWRlLWVmZmVjdHMgKHVuZGVmaW5lZCkgCitQQVNTIEltbXV0YWJsZSBmNjQgKG51bGwp
IAorUEFTUyBJbW11dGFibGUgZjY0IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzIChudWxsKSAK
K1BBU1MgSW1tdXRhYmxlIGY2NCAoZmFsc2UpIAorUEFTUyBJbW11dGFibGUgZjY0IHdpdGggVG9O
dW1iZXIgc2lkZS1lZmZlY3RzIChmYWxzZSkgCitQQVNTIEltbXV0YWJsZSBmNjQgKGVtcHR5IHN0
cmluZykgCitQQVNTIEltbXV0YWJsZSBmNjQgd2l0aCBUb051bWJlciBzaWRlLWVmZmVjdHMgKGVt
cHR5IHN0cmluZykgCitQQVNTIEltbXV0YWJsZSBmNjQgKHplcm8pIAorUEFTUyBJbW11dGFibGUg
ZjY0IHdpdGggVG9OdW1iZXIgc2lkZS1lZmZlY3RzICh6ZXJvKSAKK1BBU1MgTXV0YWJsZSBmNjQg
KHRydWUpIAorUEFTUyBNdXRhYmxlIGY2NCAob25lKSAKK1BBU1MgTXV0YWJsZSBmNjQgKHN0cmlu
ZykgCitQQVNTIE11dGFibGUgZjY0ICh0cnVlIG9uIHByb3RvdHlwZSkgCitQQVNTIGk2NCB3aXRo
IGRlZmF1bHQgCitQQVNTIGk2NCB3aXRoIFRvTnVtYmVyIHNpZGUtZWZmZWN0cyAKK1BBU1MgQ2Fs
bGluZyBzZXR0ZXIgd2l0aG91dCBhcmd1bWVudCAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVl
LWdldC1zZXQuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1
NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1z
ZXQuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFs
dWUtc2V0LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLXNldC5hbnktZXhwZWN0ZWQudHh0
CmluZGV4IGExMDA5MzRmMDJjYjVmNGE5ODE5MmE5Y2RhZDIzMTEzYjNlMDA4YzkuLjU5ZmVkNGYy
YTRkNmUwNDA5ZWY4NTA1NzIzOTQyZmI3OGUxZDYyNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUt
c2V0LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1zZXQuYW55LWV4cGVjdGVkLnR4
dApAQCAtMSwzNSArMSw4IEBACi0KLVBBU1MgQnJhbmRpbmcgCi1QQVNTIEltbXV0YWJsZSBpMzIg
KG1pc3NpbmcpIAotUEFTUyBJbW11dGFibGUgaTMyICh1bmRlZmluZWQpIAotUEFTUyBJbW11dGFi
bGUgaTMyIChudWxsKSAKLVBBU1MgSW1tdXRhYmxlIGkzMiAoZmFsc2UpIAotUEFTUyBJbW11dGFi
bGUgaTMyIChlbXB0eSBzdHJpbmcpIAotUEFTUyBJbW11dGFibGUgaTMyICh6ZXJvKSAKLVBBU1Mg
TXV0YWJsZSBpMzIgKHRydWUpIAotUEFTUyBNdXRhYmxlIGkzMiAob25lKSAKLVBBU1MgTXV0YWJs
ZSBpMzIgKHN0cmluZykgCi1QQVNTIE11dGFibGUgaTMyICh0cnVlIG9uIHByb3RvdHlwZSkgCi1Q
QVNTIEltbXV0YWJsZSBmMzIgKG1pc3NpbmcpIAotUEFTUyBJbW11dGFibGUgZjMyICh1bmRlZmlu
ZWQpIAotUEFTUyBJbW11dGFibGUgZjMyIChudWxsKSAKLVBBU1MgSW1tdXRhYmxlIGYzMiAoZmFs
c2UpIAotUEFTUyBJbW11dGFibGUgZjMyIChlbXB0eSBzdHJpbmcpIAotUEFTUyBJbW11dGFibGUg
ZjMyICh6ZXJvKSAKLVBBU1MgTXV0YWJsZSBmMzIgKHRydWUpIAotUEFTUyBNdXRhYmxlIGYzMiAo
b25lKSAKLVBBU1MgTXV0YWJsZSBmMzIgKHN0cmluZykgCi1QQVNTIE11dGFibGUgZjMyICh0cnVl
IG9uIHByb3RvdHlwZSkgCi1QQVNTIEltbXV0YWJsZSBmNjQgKG1pc3NpbmcpIAotUEFTUyBJbW11
dGFibGUgZjY0ICh1bmRlZmluZWQpIAotUEFTUyBJbW11dGFibGUgZjY0IChudWxsKSAKLVBBU1Mg
SW1tdXRhYmxlIGY2NCAoZmFsc2UpIAotUEFTUyBJbW11dGFibGUgZjY0IChlbXB0eSBzdHJpbmcp
IAotUEFTUyBJbW11dGFibGUgZjY0ICh6ZXJvKSAKLVBBU1MgTXV0YWJsZSBmNjQgKHRydWUpIAot
UEFTUyBNdXRhYmxlIGY2NCAob25lKSAKLVBBU1MgTXV0YWJsZSBmNjQgKHN0cmluZykgCi1QQVNT
IE11dGFibGUgZjY0ICh0cnVlIG9uIHByb3RvdHlwZSkgCi1QQVNTIGk2NCB3aXRoIGRlZmF1bHQg
Ci1QQVNTIENhbGxpbmcgc2V0dGVyIHdpdGhvdXQgYXJndW1lbnQgCi0KK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NzkKKyAg
ICAgIFJlbmRlckJsb2NrIHtQUkV9IGF0ICgwLDApIHNpemUgNzg0eDE1CisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMwNXgxNQorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDMwNTogIntcImVycm9yXCI6IHtcIm1lc3NhZ2VcIjogXCJcIiwgXCJjb2Rl
XCI6IDQwNH19IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1zZXQuYW55LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1
ZS1zZXQuYW55LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGU2NzcwZjEwZWQ5
ZTNhZDU1YjlhZTE4ZWU5NmRlZGEzZmYxNzFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtc2V0LmFueS5qcworKysgL2Rldi9udWxsCkBA
IC0xLDk0ICswLDAgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCi0KLXRlc3QoKCkgPT4gewot
ICBjb25zdCB0aGlzVmFsdWVzID0gWwotICAgIHVuZGVmaW5lZCwKLSAgICBudWxsLAotICAgIHRy
dWUsCi0gICAgIiIsCi0gICAgU3ltYm9sKCksCi0gICAgMSwKLSAgICB7fSwKLSAgICBXZWJBc3Nl
bWJseS5HbG9iYWwsCi0gICAgV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSwKLSAgXTsKLQot
ICBjb25zdCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihXZWJBc3NlbWJs
eS5HbG9iYWwucHJvdG90eXBlLCAidmFsdWUiKTsKLSAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVz
YywgIm9iamVjdCIpOwotCi0gIGNvbnN0IGdldHRlciA9IGRlc2MuZ2V0OwotICBhc3NlcnRfZXF1
YWxzKHR5cGVvZiBnZXR0ZXIsICJmdW5jdGlvbiIpOwotCi0gIGNvbnN0IHNldHRlciA9IGRlc2Mu
c2V0OwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBzZXR0ZXIsICJmdW5jdGlvbiIpOwotCi0gIGZv
ciAoY29uc3QgdGhpc1ZhbHVlIG9mIHRoaXNWYWx1ZXMpIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgKCkgPT4gZ2V0dGVyLmNhbGwodGhpc1ZhbHVlKSwgYGdldHRlciB3aXRo
IHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKLSAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgKCkgPT4gc2V0dGVyLmNhbGwodGhpc1ZhbHVlLCAxKSwgYHNldHRlciB3
aXRoIHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKLSAgfQotfSwgIkJyYW5kaW5n
Iik7Ci0KLWZvciAoY29uc3QgdHlwZSBvZiBbImkzMiIsICJmMzIiLCAiZjY0Il0pIHsKLSAgY29u
c3QgaW1tdXRhYmxlT3B0aW9ucyA9IFsKLSAgICBbe30sICJtaXNzaW5nIl0sCi0gICAgW3sgIm11
dGFibGUiOiB1bmRlZmluZWQgfSwgInVuZGVmaW5lZCJdLAotICAgIFt7ICJtdXRhYmxlIjogbnVs
bCB9LCAibnVsbCJdLAotICAgIFt7ICJtdXRhYmxlIjogZmFsc2UgfSwgImZhbHNlIl0sCi0gICAg
W3sgIm11dGFibGUiOiAiIiB9LCAiZW1wdHkgc3RyaW5nIl0sCi0gICAgW3sgIm11dGFibGUiOiAw
IH0sICJ6ZXJvIl0sCi0gIF07Ci0gIGZvciAoY29uc3QgW29wdHMsIG5hbWVdIG9mIGltbXV0YWJs
ZU9wdGlvbnMpIHsKLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgIG9wdHMudmFsdWUgPSB0eXBlOwot
ICAgICAgY29uc3QgZ2xvYmFsID0gbmV3IFdlYkFzc2VtYmx5Lkdsb2JhbChvcHRzKTsKLSAgICAg
IGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlLCAwLCAiaW5pdGlhbCB2YWx1ZSIpOwotICAgICAg
YXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWVPZigpLCAwLCAiaW5pdGlhbCB2YWx1ZU9mIik7Ci0K
LSAgICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBnbG9iYWwudmFsdWUg
PSAxKTsKLQotICAgICAgYXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWUsIDAsICJwb3N0LXNldCB2
YWx1ZSIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWVPZigpLCAwLCAicG9zdC1z
ZXQgdmFsdWVPZiIpOwotICAgIH0sIGBJbW11dGFibGUgJHt0eXBlfSAoJHtuYW1lfSlgKTsKLSAg
fQotCi0gIGNvbnN0IG11dGFibGVPcHRpb25zID0gWwotICAgIFt7ICJtdXRhYmxlIjogdHJ1ZSB9
LCAidHJ1ZSJdLAotICAgIFt7ICJtdXRhYmxlIjogMSB9LCAib25lIl0sCi0gICAgW3sgIm11dGFi
bGUiOiAieCIgfSwgInN0cmluZyJdLAotICAgIFtPYmplY3QuY3JlYXRlKHsgIm11dGFibGUiOiB0
cnVlIH0pLCAidHJ1ZSBvbiBwcm90b3R5cGUiXSwKLSAgXTsKLSAgZm9yIChjb25zdCBbb3B0cywg
bmFtZV0gb2YgbXV0YWJsZU9wdGlvbnMpIHsKLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgIG9wdHMu
dmFsdWUgPSB0eXBlOwotICAgICAgY29uc3QgZ2xvYmFsID0gbmV3IFdlYkFzc2VtYmx5Lkdsb2Jh
bChvcHRzKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsLnZhbHVlLCAwLCAiaW5pdGlhbCB2
YWx1ZSIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhnbG9iYWwudmFsdWVPZigpLCAwLCAiaW5pdGlh
bCB2YWx1ZU9mIik7Ci0KLSAgICAgIGdsb2JhbC52YWx1ZSA9IDE7Ci0KLSAgICAgIGFzc2VydF9l
cXVhbHMoZ2xvYmFsLnZhbHVlLCAxLCAicG9zdC1zZXQgdmFsdWUiKTsKLSAgICAgIGFzc2VydF9l
cXVhbHMoZ2xvYmFsLnZhbHVlT2YoKSwgMSwgInBvc3Qtc2V0IHZhbHVlT2YiKTsKLSAgICB9LCBg
TXV0YWJsZSAke3R5cGV9ICgke25hbWV9KWApOwotICB9Ci19Ci0KLXRlc3QoKCkgPT4gewotICBj
b25zdCBhcmd1bWVudCA9IHsgInZhbHVlIjogImk2NCIsICJtdXRhYmxlIjogdHJ1ZSB9OwotICBj
b25zdCBnbG9iYWwgPSBuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKGFyZ3VtZW50KTsKLSAgYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGdsb2JhbC52YWx1ZSk7Ci0gIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBnbG9iYWwudmFsdWUgPSAwKTsKLSAgYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGdsb2JhbC52YWx1ZU9mKCkpOwotfSwgImk2
NCB3aXRoIGRlZmF1bHQiKTsKLQotCi10ZXN0KCgpID0+IHsKLSAgY29uc3QgYXJndW1lbnQgPSB7
ICJ2YWx1ZSI6ICJpMzIiLCAibXV0YWJsZSI6IHRydWUgfTsKLSAgY29uc3QgZ2xvYmFsID0gbmV3
IFdlYkFzc2VtYmx5Lkdsb2JhbChhcmd1bWVudCk7Ci0gIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUsICJ2YWx1
ZSIpOwotICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZXNjLCAib2JqZWN0Iik7Ci0KLSAgY29uc3Qg
c2V0dGVyID0gZGVzYy5zZXQ7Ci0gIGFzc2VydF9lcXVhbHModHlwZW9mIHNldHRlciwgImZ1bmN0
aW9uIik7Ci0KLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHNldHRlci5j
YWxsKGdsb2JhbCkpOwotfSwgIkNhbGxpbmcgc2V0dGVyIHdpdGhvdXQgYXJndW1lbnQiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9nbG9iYWwvdmFsdWUtc2V0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92
YWx1ZS1zZXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYTEwMDkzNGYwMmNiNWY0YTk4
MTkyYTljZGFkMjMxMTNiM2UwMDhjOS4uNTlmZWQ0ZjJhNGQ2ZTA0MDllZjg1MDU3MjM5NDJmYjc4
ZTFkNjI2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1zZXQuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL2dsb2JhbC92YWx1ZS1zZXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMzUg
KzEsOCBAQAotCi1QQVNTIEJyYW5kaW5nIAotUEFTUyBJbW11dGFibGUgaTMyIChtaXNzaW5nKSAK
LVBBU1MgSW1tdXRhYmxlIGkzMiAodW5kZWZpbmVkKSAKLVBBU1MgSW1tdXRhYmxlIGkzMiAobnVs
bCkgCi1QQVNTIEltbXV0YWJsZSBpMzIgKGZhbHNlKSAKLVBBU1MgSW1tdXRhYmxlIGkzMiAoZW1w
dHkgc3RyaW5nKSAKLVBBU1MgSW1tdXRhYmxlIGkzMiAoemVybykgCi1QQVNTIE11dGFibGUgaTMy
ICh0cnVlKSAKLVBBU1MgTXV0YWJsZSBpMzIgKG9uZSkgCi1QQVNTIE11dGFibGUgaTMyIChzdHJp
bmcpIAotUEFTUyBNdXRhYmxlIGkzMiAodHJ1ZSBvbiBwcm90b3R5cGUpIAotUEFTUyBJbW11dGFi
bGUgZjMyIChtaXNzaW5nKSAKLVBBU1MgSW1tdXRhYmxlIGYzMiAodW5kZWZpbmVkKSAKLVBBU1Mg
SW1tdXRhYmxlIGYzMiAobnVsbCkgCi1QQVNTIEltbXV0YWJsZSBmMzIgKGZhbHNlKSAKLVBBU1Mg
SW1tdXRhYmxlIGYzMiAoZW1wdHkgc3RyaW5nKSAKLVBBU1MgSW1tdXRhYmxlIGYzMiAoemVybykg
Ci1QQVNTIE11dGFibGUgZjMyICh0cnVlKSAKLVBBU1MgTXV0YWJsZSBmMzIgKG9uZSkgCi1QQVNT
IE11dGFibGUgZjMyIChzdHJpbmcpIAotUEFTUyBNdXRhYmxlIGYzMiAodHJ1ZSBvbiBwcm90b3R5
cGUpIAotUEFTUyBJbW11dGFibGUgZjY0IChtaXNzaW5nKSAKLVBBU1MgSW1tdXRhYmxlIGY2NCAo
dW5kZWZpbmVkKSAKLVBBU1MgSW1tdXRhYmxlIGY2NCAobnVsbCkgCi1QQVNTIEltbXV0YWJsZSBm
NjQgKGZhbHNlKSAKLVBBU1MgSW1tdXRhYmxlIGY2NCAoZW1wdHkgc3RyaW5nKSAKLVBBU1MgSW1t
dXRhYmxlIGY2NCAoemVybykgCi1QQVNTIE11dGFibGUgZjY0ICh0cnVlKSAKLVBBU1MgTXV0YWJs
ZSBmNjQgKG9uZSkgCi1QQVNTIE11dGFibGUgZjY0IChzdHJpbmcpIAotUEFTUyBNdXRhYmxlIGY2
NCAodHJ1ZSBvbiBwcm90b3R5cGUpIAotUEFTUyBpNjQgd2l0aCBkZWZhdWx0IAotUEFTUyBDYWxs
aW5nIHNldHRlciB3aXRob3V0IGFyZ3VtZW50IAotCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc5CisgICAgICBSZW5kZXJC
bG9jayB7UFJFfSBhdCAoMCwwKSBzaXplIDc4NHgxNQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAzMDV4MTUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAzMDU6ICJ7XCJlcnJvclwiOiB7XCJtZXNzYWdlXCI6IFwiXCIsIFwiY29kZVwiOiA0MDR9fSIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9nbG9iYWwvdmFsdWVPZi5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZU9m
LmFueS1leHBlY3RlZC50eHQKaW5kZXggODllZjcxMjgzNDNkZGNmMjZhNWIyMzA0ODI3ZTFiODBm
YjMyODdmOS4uYmFlZjNiYTU0YzY5MjUwNDc5NzNiMzRjNWYyMTdmYTgzNDQ1NDcyZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2dsb2JhbC92YWx1ZU9mLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZU9mLmFu
eS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgQnJhbmRpbmcgCitQQVNTIFN0
cmF5IGFyZ3VtZW50IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlT2YuYW55LmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92
YWx1ZU9mLmFueS5qcwppbmRleCAxNzZjNWE3ODQ2OTgzOTkzNTFlZWRlYWFjMGVjMzA1YWE4YWI3
YjgxLi4wZDRkZTkzYTZiZDIyOWY4ZDlmYWI3OTQxYjI0YTE5NDRkYzZhYTc4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
Z2xvYmFsL3ZhbHVlT2YuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWVPZi5hbnkuanMKQEAgLTE3LDYg
KzE3LDEyIEBAIHRlc3QoKCkgPT4gewogICBjb25zdCBmbiA9IFdlYkFzc2VtYmx5Lkdsb2JhbC5w
cm90b3R5cGUudmFsdWVPZjsKIAogICBmb3IgKGNvbnN0IHRoaXNWYWx1ZSBvZiB0aGlzVmFsdWVz
KSB7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGZuLmNhbGwodGhp
c1ZhbHVlKSwgYHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKKyAgICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZm4uY2FsbCh0aGlzVmFsdWUpLCBgdGhpcz0ke2Zv
cm1hdF92YWx1ZSh0aGlzVmFsdWUpfWApOwogICB9CiB9LCAiQnJhbmRpbmciKTsKKwordGVzdCgo
KSA9PiB7CisgIGNvbnN0IGFyZ3VtZW50ID0geyAidmFsdWUiOiAiaTMyIiB9OworICBjb25zdCBn
bG9iYWwgPSBuZXcgV2ViQXNzZW1ibHkuR2xvYmFsKGFyZ3VtZW50LCAwKTsKKyAgYXNzZXJ0X2Vx
dWFscyhnbG9iYWwudmFsdWVPZih7fSksIDApOworfSwgIlN0cmF5IGFyZ3VtZW50Iik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvZ2xvYmFsL3ZhbHVlT2YuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVl
T2YuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODllZjcxMjgzNDNkZGNmMjZhNWIyMzA0
ODI3ZTFiODBmYjMyODdmOS4uYmFlZjNiYTU0YzY5MjUwNDc5NzNiMzRjNWYyMTdmYTgzNDQ1NDcy
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZU9mLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9n
bG9iYWwvdmFsdWVPZi5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIAog
UEFTUyBCcmFuZGluZyAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvZ2xvYmFsL3czYy1pbXBvcnQubG9nCmluZGV4IGFiMWYzZWY3NGE0NGZi
NTYxZTdmNWM5MTgyNGY5YzgwZTM1NjQ3YjcuLjQxOGViZGRhNzJhMTY5NzJkNmJkNDNhMjA0YTJm
NjgzMmQ5ZmRjM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC93
M2MtaW1wb3J0LmxvZwpAQCAtMTYsNSArMTYsNSBAQCBOb25lCiBMaXN0IG9mIGZpbGVzOgogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9i
YWwvY29uc3RydWN0b3IuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC90b1N0cmluZy5hbnkuanMKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVl
LXNldC5hbnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdldC1zZXQuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZU9mLmFu
eS5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pZGxoYXJuZXNzLmFu
eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRiMDFhNWJmMzMwZDkzYjI3ZjllY2Y3NDljMGFi
MTc3MjVmMmM2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw2NSBAQAorCitQQVNTIHdhc20tanMtYXBpIGludGVyZmFjZXMuIAorUEFTUyBX
ZWJBc3NlbWJseSBuYW1lc3BhY2U6IG9wZXJhdGlvbiB2YWxpZGF0ZShCdWZmZXJTb3VyY2UpIAor
UEFTUyBXZWJBc3NlbWJseSBuYW1lc3BhY2U6IG9wZXJhdGlvbiBjb21waWxlKEJ1ZmZlclNvdXJj
ZSkgCitQQVNTIFdlYkFzc2VtYmx5IG5hbWVzcGFjZTogb3BlcmF0aW9uIGluc3RhbnRpYXRlKEJ1
ZmZlclNvdXJjZSwgb2JqZWN0KSAKK1BBU1MgV2ViQXNzZW1ibHkgbmFtZXNwYWNlOiBvcGVyYXRp
b24gaW5zdGFudGlhdGUoTW9kdWxlLCBvYmplY3QpIAorUEFTUyBNb2R1bGUgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTW9kdWxl
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNb2R1bGUgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIAorUEFTUyBNb2R1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIE1vZHVsZSBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIE1vZHVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMg
cHJvcGVydHkgCitQQVNTIE1vZHVsZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBleHBvcnRzKE1vZHVs
ZSkgCitQQVNTIE1vZHVsZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpbXBvcnRzKE1vZHVsZSkgCitQ
QVNTIE1vZHVsZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjdXN0b21TZWN0aW9ucyhNb2R1bGUsIERP
TVN0cmluZykgCitGQUlMIE1vZHVsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG1vZCBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBtb2QiCitGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBtb2QgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
bW9kIgorRkFJTCBNb2R1bGUgaW50ZXJmYWNlOiBtb2QgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJl
eHBvcnRzKE1vZHVsZSkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IG1vZCIKK0ZB
SUwgTW9kdWxlIGludGVyZmFjZTogY2FsbGluZyBleHBvcnRzKE1vZHVsZSkgb24gbW9kIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5l
eHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1
dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogbW9kIgor
RkFJTCBNb2R1bGUgaW50ZXJmYWNlOiBtb2QgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbXBvcnRz
KE1vZHVsZSkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IG1vZCIKK0ZBSUwgTW9k
dWxlIGludGVyZmFjZTogY2FsbGluZyBpbXBvcnRzKE1vZHVsZSkgb24gbW9kIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5leHBlY3Rl
ZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogbW9kIgorRkFJTCBN
b2R1bGUgaW50ZXJmYWNlOiBtb2QgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXN0b21TZWN0aW9u
cyhNb2R1bGUsIERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6
IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVs
bCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IG1v
ZCIKK0ZBSUwgTW9kdWxlIGludGVyZmFjZTogY2FsbGluZyBjdXN0b21TZWN0aW9ucyhNb2R1bGUs
IERPTVN0cmluZykgb24gbW9kIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5n
IG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogbW9kIgorUEFTUyBJbnN0YW5jZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJbnN0YW5jZSBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgSW5zdGFuY2UgaW50ZXJmYWNlIG9iamVjdCBuYW1l
IAorUEFTUyBJbnN0YW5jZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSW5zdGFuY2UgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBJbnN0YW5jZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkgCitQQVNTIEluc3RhbmNlIGludGVyZmFjZTogYXR0cmlidXRlIGV4cG9ydHMg
CitGQUlMIEluc3RhbmNlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgaW5zdGFuY2UgYXNz
ZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBl
eHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogaW5zdGFuY2UiCitGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBpbnN0YW5jZSBhc3Nl
cnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4
cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBpbnN0YW5jZSIKK0ZBSUwgSW5zdGFuY2UgaW50ZXJmYWNlOiBpbnN0YW5jZSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImV4cG9ydHMiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9l
cXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0
ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IGluc3RhbmNlIgorUEFTUyBNZW1vcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVtb3J5IGludGVyZmFjZSBvYmplY3Qg
bGVuZ3RoIAorUEFTUyBNZW1vcnkgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZW1vcnkg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgCitQQVNTIE1lbW9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkg
CitQQVNTIE1lbW9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIE1l
bW9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBncm93KHVuc2lnbmVkIGxvbmcpIAorUEFTUyBNZW1v
cnkgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYnVmZmVyIAorUEFTUyBNZW1vcnkgbXVzdCBiZSBwcmlt
YXJ5IGludGVyZmFjZSBvZiBtZW1vcnkgCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBtZW1vcnkg
CitQQVNTIE1lbW9yeSBpbnRlcmZhY2U6IG1lbW9yeSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdy
b3codW5zaWduZWQgbG9uZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBNZW1vcnkgaW50
ZXJmYWNlOiBjYWxsaW5nIGdyb3codW5zaWduZWQgbG9uZykgb24gbWVtb3J5IHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIE1lbW9yeSBpbnRlcmZhY2U6
IG1lbW9yeSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImJ1ZmZlciIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIFRhYmxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCitQQVNTIFRhYmxlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFT
UyBUYWJsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIFRhYmxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFT
UyBUYWJsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIFRhYmxlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgVGFibGUgaW50ZXJmYWNlOiBv
cGVyYXRpb24gZ3Jvdyh1bnNpZ25lZCBsb25nKSAKK1BBU1MgVGFibGUgaW50ZXJmYWNlOiBvcGVy
YXRpb24gZ2V0KHVuc2lnbmVkIGxvbmcpIAorUEFTUyBUYWJsZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBzZXQodW5zaWduZWQgbG9uZywgRnVuY3Rpb24pIAorUEFTUyBUYWJsZSBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBsZW5ndGggCitQQVNTIEdsb2JhbCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBHbG9iYWwgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGggCitQQVNTIEdsb2JhbCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIEdsb2Jh
bCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCAKK1BBU1MgR2xvYmFsIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKK1BBU1MgR2xvYmFsIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1Mg
R2xvYmFsIGludGVyZmFjZTogb3BlcmF0aW9uIHZhbHVlT2YoKSAKK1BBU1MgR2xvYmFsIGludGVy
ZmFjZTogYXR0cmlidXRlIHZhbHVlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnkuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9p
ZGxoYXJuZXNzLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBh
NDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnkuaHRtbApAQCAt
MCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnkuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnku
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjUyOThkM2RhYmZiYmNlNzQ5MGZhMDQwMjU4ZjNlMDZjZDk0YjU4Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9pZGxoYXJuZXNzLmFueS5qcwpAQCAtMCwwICsxLDQwIEBACisvLyBN
RVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0v
cmVzb3VyY2VzL2lkbGhhcm5lc3MuanMKKy8vIE1FVEE6IHNjcmlwdD0uLi9yZXNvdXJjZXMvbG9h
ZF93YXNtLmpzCisKKyd1c2Ugc3RyaWN0JzsKKworLy8gaHR0cHM6Ly93ZWJhc3NlbWJseS5naXRo
dWIuaW8vc3BlYy9qcy1hcGkvCisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgIGNvbnN0
IHNyY3MgPSBbJ3dhc20tanMtYXBpJ107CisgIGNvbnN0IFt3YXNtXSA9IGF3YWl0IFByb21pc2Uu
YWxsKAorICAgIHNyY3MubWFwKGkgPT4gZmV0Y2goYC9pbnRlcmZhY2VzLyR7aX0uaWRsYCkudGhl
bihyID0+IHIudGV4dCgpKSkpOworCisgIGNvbnN0IGlkbF9hcnJheSA9IG5ldyBJZGxBcnJheSgp
OworICBpZGxfYXJyYXkuYWRkX2lkbHMod2FzbSwgeworICAgIC8vIE5vdGUgdGhlIHByb3NlIHJl
cXVpcmVtZW50cyBpbiB0aGUgc3BlY2lmaWNhdGlvbi4KKyAgICBleGNlcHQ6IFsnQ29tcGlsZUVy
cm9yJywgJ0xpbmtFcnJvcicsICdSdW50aW1lRXJyb3InXQorICB9KTsKKworICAvLyBodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMTI4NTAKKyAgaWRsX2Fy
cmF5LmFkZF91bnRlc3RlZF9pZGxzKCdbRXhwb3NlZD0oV2luZG93LFdvcmtlcildIGludGVyZmFj
ZSBBcnJheUJ1ZmZlciB7fTsnKTsKKworICAvLyBJZ25vcmVkIGVycm9ycyBhcmUgc3VyZmFjZWQg
aW4gaWRsaGFybmVzcy5qcydzIHRlc3Rfb2JqZWN0IGJlbG93LgorICB0cnkgeworICAgIHNlbGYu
bWVtb3J5ID0gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDogMTAyNH0pOworICB9IGNh
dGNoIChlKSB7IH0KKworICB0cnkgeworICAgIHNlbGYubW9kID0gYXdhaXQgY3JlYXRlV2FzbU1v
ZHVsZSgpOworICAgIHNlbGYuaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2Uoc2Vs
Zi5tb2QpOworICB9IGNhdGNoIChlKSB7IH0KKworICBpZGxfYXJyYXkuYWRkX29iamVjdHMoewor
ICAgIE1lbW9yeTogWydtZW1vcnknXSwKKyAgICBNb2R1bGU6IFsnbW9kJ10sCisgICAgSW5zdGFu
Y2U6IFsnaW5zdGFuY2UnXSwKKyAgfSk7CisgIGlkbF9hcnJheS50ZXN0KCk7Cit9LCAnd2FzbS1q
cy1hcGkgaW50ZXJmYWNlcy4nKTsKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3MuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NjY2Y2VhMmVlOGQ3MTUwYmY1M2MxYjY4MGRmM2EzNzViNWEwYTUwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitD
T05TT0xFIE1FU1NBR0U6IE5ldHdvcmtFcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4eAorCitIYXJu
ZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IE5ldHdvcmtFcnJvcjogUmVzcG9uc2UgaXMgbm90
IDJ4eAorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pZGxoYXJuZXNz
LmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1
MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1s
CkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVz
dCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1iYWQtaW1w
b3J0cy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWJhZC1pbXBvcnRzLmFu
eS1leHBlY3RlZC50eHQKaW5kZXggMjI1MmE4NjMyOGI4MWU4YjFjM2VkYTZhOGY2MmRiMWMzNTMw
NDI2ZS4uMTg0MWQ4MGViMmE2Y2I4OWQzZjhmNjE1YzE4YWYzZGVhNzQwMmM2YiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2luc3RhbmNlL2NvbnN0cnVjdG9yLWJhZC1pbXBvcnRzLmFueS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lu
c3RhbmNlL2NvbnN0cnVjdG9yLWJhZC1pbXBvcnRzLmFueS1leHBlY3RlZC50eHQKQEAgLTM3LDYg
KzM3LDcgQEAgUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5n
IGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHkKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lklu
c3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0
YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBl
ZCB2YWx1ZTogV2ViQXNzZW1ibHkuR2xvYmFsLnByb3RvdHlwZSAKIFBBU1MgbmV3IFdlYkFzc2Vt
Ymx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cGVkIHZhbHVlOiBPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5
cGUpIAorUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIGEg
Z2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lkdsb2Jh
bCBvYmplY3QgKHdyb25nIHZhbHVlIHR5cGUpIAogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFu
Y2UobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZh
bHVlOiB1bmRlZmluZWQgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJ
bXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IG51bGwgCiBQ
QVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdp
dGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IHRydWUgCkBAIC00OSw2ICs1MCw3IEBAIFBB
U1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0
aCBhbiBpbmNvcnJlY3RseS10eXBlCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1
bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdl
YkFzc2VtYmx5Lk1lbW9yeSAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6
IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNz
ZW1ibHkuTWVtb3J5LnByb3RvdHlwZSAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1v
ZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTog
T2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5NZW1vcnkucHJvdG90eXBlKSAKK1BBU1MgbmV3IFdl
YkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNv
cnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuTWVtb3J5IG9iamVjdCAodG9vIGxhcmdl
KSAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJs
ZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiB1bmRlZmluZWQgCiBQQVNTIG5ldyBX
ZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNv
cnJlY3RseS10eXBlZCB2YWx1ZTogbnVsbCAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNl
KG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVl
OiB0cnVlIApAQCAtNjEsNCArNjMsNSBAQCBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZSht
b2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZAogUEFTUyBu
ZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4g
aW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlIAogUEFTUyBuZXcgV2Vi
QXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3Jy
ZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZSAKIFBBU1MgbmV3
IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGlu
Y29ycmVjdGx5LXR5cGVkIHZhbHVlOiBPYmplY3QuY3JlYXRlKFdlYkFzc2VtYmx5LlRhYmxlLnBy
b3RvdHlwZSkgCitQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRp
bmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogV2ViQXNzZW1ibHkuVGFi
bGUgb2JqZWN0ICh0b28gbGFyZ2UpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3It
YmFkLWltcG9ydHMuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWJhZC1pbXBvcnRzLmFueS5q
cwppbmRleCAyNGM1MWMxMGRjNWRmOWQ1MmMwNmJmYjA3MTVlNDM1YjE3ZjI0ZjdhLi5lODhkMDJi
NjQ5Njg0YjBkN2NlZWNiMGQwYTNkMWU4NzVkZDIxYzQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29u
c3RydWN0b3ItYmFkLWltcG9ydHMuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1iYWQt
aW1wb3J0cy5hbnkuanMKQEAgLTEsNSArMSw0IEBACiAvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAot
Ly8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tY29uc3RhbnRzLmpzCiAvLyBNRVRBOiBz
Y3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogLy8gTUVUQTogc2NyaXB0
PS93YXNtL2pzYXBpL2JhZC1pbXBvcnRzLmpzCiAKQEAgLTksNiArOCw2IEBAIHRlc3RfYmFkX2lt
cG9ydHMoKG5hbWUsIGVycm9yLCBidWlsZCwgLi4uYXJndW1lbnRzKSA9PiB7CiAgICAgYnVpbGQo
YnVpbGRlcik7CiAgICAgY29uc3QgYnVmZmVyID0gYnVpbGRlci50b0J1ZmZlcigpOwogICAgIGNv
bnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKTsKLSAgICBhc3NlcnRf
dGhyb3dzKGVycm9yLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlLCAuLi5h
cmd1bWVudHMpKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKGVycm9yLCAoKSA9PiBuZXcgV2ViQXNz
ZW1ibHkuSW5zdGFuY2UobW9kdWxlLCAuLi5hcmd1bWVudHMpKTsKICAgfSwgYG5ldyBXZWJBc3Nl
bWJseS5JbnN0YW5jZShtb2R1bGUpOiAke25hbWV9YCk7CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5j
ZS9jb25zdHJ1Y3Rvci1iYWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5j
ZS9jb25zdHJ1Y3Rvci1iYWQtaW1wb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCAy
MjUyYTg2MzI4YjgxZThiMWMzZWRhNmE4ZjYyZGIxYzM1MzA0MjZlLi4xODQxZDgwZWIyYTZjYjg5
ZDNmOGY2MTVjMThhZjNkZWE3NDAyYzZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3It
YmFkLWltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVj
dG9yLWJhZC1pbXBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0zNyw2ICszNyw3IEBA
IFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2Jh
bCB3aXRoIGFuIGluY29ycmVjdGx5LXR5CiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZSht
b2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1
ZTogV2ViQXNzZW1ibHkuR2xvYmFsIAogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9k
dWxlKTogSW1wb3J0aW5nIGEgZ2xvYmFsIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6
IFdlYkFzc2VtYmx5Lkdsb2JhbC5wcm90b3R5cGUgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0
YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgYSBnbG9iYWwgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBl
ZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlKSAKK1BB
U1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyBhIGdsb2JhbCB3
aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5HbG9iYWwgb2JqZWN0
ICh3cm9uZyB2YWx1ZSB0eXBlKSAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVs
ZSk6IEltcG9ydGluZyBtZW1vcnkgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdW5k
ZWZpbmVkIAogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5n
IG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBudWxsIAogUEFTUyBuZXcg
V2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIG1lbW9yeSB3aXRoIGFuIGlu
Y29ycmVjdGx5LXR5cGVkIHZhbHVlOiB0cnVlIApAQCAtNDksNiArNTAsNyBAQCBQQVNTIG5ldyBX
ZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5j
b3JyZWN0bHktdHlwZQogUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1w
b3J0aW5nIG1lbW9yeSB3aXRoIGFuIGluY29ycmVjdGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJs
eS5NZW1vcnkgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRp
bmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lk1l
bW9yeS5wcm90b3R5cGUgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJ
bXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IE9iamVjdC5j
cmVhdGUoV2ViQXNzZW1ibHkuTWVtb3J5LnByb3RvdHlwZSkgCitQQVNTIG5ldyBXZWJBc3NlbWJs
eS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgbWVtb3J5IHdpdGggYW4gaW5jb3JyZWN0bHkt
dHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5Lk1lbW9yeSBvYmplY3QgKHRvbyBsYXJnZSkgCiBQQVNT
IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBh
biBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdW5kZWZpbmVkIAogUEFTUyBuZXcgV2ViQXNzZW1i
bHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHkt
dHlwZWQgdmFsdWU6IG51bGwgCiBQQVNTIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUp
OiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3RseS10eXBlZCB2YWx1ZTogdHJ1ZSAK
QEAgLTYxLDQgKzYzLDUgQEAgUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTog
SW1wb3J0aW5nIHRhYmxlIHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQKIFBBU1MgbmV3IFdlYkFz
c2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVj
dGx5LXR5cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZSAKIFBBU1MgbmV3IFdlYkFzc2VtYmx5
Lkluc3RhbmNlKG1vZHVsZSk6IEltcG9ydGluZyB0YWJsZSB3aXRoIGFuIGluY29ycmVjdGx5LXR5
cGVkIHZhbHVlOiBXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUgCiBQQVNTIG5ldyBXZWJBc3Nl
bWJseS5JbnN0YW5jZShtb2R1bGUpOiBJbXBvcnRpbmcgdGFibGUgd2l0aCBhbiBpbmNvcnJlY3Rs
eS10eXBlZCB2YWx1ZTogT2JqZWN0LmNyZWF0ZShXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUp
IAorUEFTUyBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKTogSW1wb3J0aW5nIHRhYmxl
IHdpdGggYW4gaW5jb3JyZWN0bHktdHlwZWQgdmFsdWU6IFdlYkFzc2VtYmx5LlRhYmxlIG9iamVj
dCAodG9vIGxhcmdlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWNhY2hpbmcu
YW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1jYWNoaW5nLmFueS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjU4NzNkZWZhMmIzNjE1N2JiNTkyYTY0Mjg1OGJlMTJhNzVhZTI0
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1jYWNoaW5nLmFueS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgY29uc3RydWN0b3ItY2FjaGluZyBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgV2ViQXNzZW1ibHkuR2xvYmFsXSIg
YnV0IGdvdCBvYmplY3QgIltvYmplY3QgV2ViQXNzZW1ibHkuR2xvYmFsXSIKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2luc3RhbmNlL2NvbnN0cnVjdG9yLWNhY2hpbmcuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0
b3ItY2FjaGluZy5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYw
YTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWNh
Y2hpbmcuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0
cnVjdG9yLWNhY2hpbmcuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWNhY2hpbmcuYW55Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NWIwNzhhMGY5NDc4NjIwNzE1YjBmZWYyNTlmNzIwNzQzN2YyOWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3ItY2FjaGluZy5hbnkuanMKQEAgLTAs
MCArMSw1NCBAQAorLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IHNjcmlwdD0vd2Fz
bS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCisKK2Z1bmN0aW9uIGdldEV4cG9ydHMoKSB7
CisgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKKyAgYnVpbGRlcgor
ICAgIC5hZGRGdW5jdGlvbigiZm4iLCBrU2lnX3ZfZCkKKyAgICAuYWRkQm9keShbXSkKKyAgICAu
ZXhwb3J0RnVuYygpOworCisgIGJ1aWxkZXIuc2V0VGFibGVCb3VuZHMoMSk7CisgIGJ1aWxkZXIu
YWRkRXhwb3J0T2ZLaW5kKCJ0YWJsZSIsIGtFeHRlcm5hbFRhYmxlLCAwKTsKKyAgYnVpbGRlci5h
ZGRHbG9iYWwoa1dhc21JMzIsIGZhbHNlKS5leHBvcnRBcygiZ2xvYmFsIik7CisgIGJ1aWxkZXIu
YWRkTWVtb3J5KDQsIDgsIHRydWUpOworCisgIGNvbnN0IGJ1ZmZlciA9IGJ1aWxkZXIudG9CdWZm
ZXIoKTsKKyAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShidWZmZXIpOwor
ICBjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUpOworICBy
ZXR1cm4gaW5zdGFuY2UuZXhwb3J0czsKK30KKwordGVzdCgoKSA9PiB7CisgIGNvbnN0IGV4cG9y
dHMgPSBnZXRFeHBvcnRzKCk7CisKKyAgY29uc3QgYnVpbGRlciA9IG5ldyBXYXNtTW9kdWxlQnVp
bGRlcigpOworICBjb25zdCBmdW5jdGlvbkluZGV4ID0gYnVpbGRlci5hZGRJbXBvcnQoIm1vZHVs
ZSIsICJpbXBvcnRlZCIsIGtTaWdfdl9kKTsKKyAgYnVpbGRlci5hZGRFeHBvcnQoImV4cG9ydGVk
RnVuY3Rpb24iLCBmdW5jdGlvbkluZGV4KTsKKworICBjb25zdCBnbG9iYWxJbmRleCA9IGJ1aWxk
ZXIuYWRkSW1wb3J0ZWRHbG9iYWwoIm1vZHVsZSIsICJnbG9iYWwiLCBrV2FzbUkzMik7CisgIGJ1
aWxkZXIuYWRkRXhwb3J0T2ZLaW5kKCJleHBvcnRlZEdsb2JhbCIsIGtFeHRlcm5hbEdsb2JhbCwg
Z2xvYmFsSW5kZXgpOworCisgIGJ1aWxkZXIuYWRkSW1wb3J0ZWRNZW1vcnkoIm1vZHVsZSIsICJt
ZW1vcnkiLCA0KTsKKyAgYnVpbGRlci5leHBvcnRNZW1vcnlBcygiZXhwb3J0ZWRNZW1vcnkiKTsK
KworICBjb25zdCB0YWJsZUluZGV4ID0gYnVpbGRlci5hZGRJbXBvcnRlZFRhYmxlKCJtb2R1bGUi
LCAidGFibGUiLCAxKTsKKyAgYnVpbGRlci5hZGRFeHBvcnRPZktpbmQoImV4cG9ydGVkVGFibGUi
LCBrRXh0ZXJuYWxUYWJsZSwgdGFibGVJbmRleCk7CisKKyAgY29uc3QgYnVmZmVyID0gYnVpbGRl
ci50b0J1ZmZlcigpOworCisgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUo
YnVmZmVyKTsKKyAgY29uc3QgaW5zdGFuY2UgPSBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9k
dWxlLCB7CisgICAgIm1vZHVsZSI6IHsKKyAgICAgICJpbXBvcnRlZCI6IGV4cG9ydHMuZm4sCisg
ICAgICAiZ2xvYmFsIjogZXhwb3J0cy5nbG9iYWwsCisgICAgICAibWVtb3J5IjogZXhwb3J0cy5t
ZW1vcnksCisgICAgICAidGFibGUiOiBleHBvcnRzLnRhYmxlLAorICAgIH0KKyAgfSk7CisKKyAg
YXNzZXJ0X2VxdWFscyhpbnN0YW5jZS5leHBvcnRzLmV4cG9ydGVkRnVuY3Rpb24sIGV4cG9ydHMu
Zm4pOworICBhc3NlcnRfZXF1YWxzKGluc3RhbmNlLmV4cG9ydHMuZXhwb3J0ZWRHbG9iYWwsIGV4
cG9ydHMuZ2xvYmFsKTsKKyAgYXNzZXJ0X2VxdWFscyhpbnN0YW5jZS5leHBvcnRzLmV4cG9ydGVk
TWVtb3J5LCBleHBvcnRzLm1lbW9yeSk7CisgIGFzc2VydF9lcXVhbHMoaW5zdGFuY2UuZXhwb3J0
cy5leHBvcnRlZFRhYmxlLCBleHBvcnRzLnRhYmxlKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNl
L2NvbnN0cnVjdG9yLWNhY2hpbmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29u
c3RydWN0b3ItY2FjaGluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTg3
M2RlZmEyYjM2MTU3YmI1OTJhNjQyODU4YmUxMmE3NWFlMjRmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lu
c3RhbmNlL2NvbnN0cnVjdG9yLWNhY2hpbmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK0ZBSUwgY29uc3RydWN0b3ItY2FjaGluZyBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCBvYmplY3QgIltvYmplY3QgV2ViQXNzZW1ibHkuR2xvYmFsXSIgYnV0IGdvdCBvYmplY3Qg
IltvYmplY3QgV2ViQXNzZW1ibHkuR2xvYmFsXSIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0
cnVjdG9yLWNhY2hpbmcuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWNhY2hp
bmcuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBh
NDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3ItY2Fj
aGluZy5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVk
IHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNl
L2NvbnN0cnVjdG9yLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3IuYW55LWV4
cGVjdGVkLnR4dAppbmRleCAyMDljZmFjNjE3NDBhMWUwMDUyYzg0NWY3YTg4ZTk1NGFmMDgzMjhl
Li4zZjU0Zjc0NmZiMTVmNTFmZDQ2MGY0ZDgyZTg1MThhNjU2ZGU1NzllIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5z
dGFuY2UvY29uc3RydWN0b3IuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0
b3IuYW55LWV4cGVjdGVkLnR4dApAQCAtMywxMCArMywxMyBAQCBQQVNTIG5hbWUKIFBBU1MgbGVu
Z3RoIAogUEFTUyBObyBhcmd1bWVudHMgCiBQQVNTIE5vbi1Nb2R1bGUgYXJndW1lbnRzIAotUEFT
UyBOb24tb2JqZWN0IGltcG9ydHMgCiBQQVNTIENhbGxpbmcgCi1QQVNTIEVtcHR5IG1vZHVsZSAK
LVBBU1MgZ2V0dGVyIG9yZGVyIGZvciBpbXBvcnRzIG9iamVjdCAKK1BBU1MgRW1wdHkgbW9kdWxl
IHdpdGhvdXQgaW1wb3J0cyBhcmd1bWVudCAKK1BBU1MgRW1wdHkgbW9kdWxlIHdpdGggdW5kZWZp
bmVkIGltcG9ydHMgYXJndW1lbnQgCitQQVNTIEVtcHR5IG1vZHVsZSB3aXRoIGVtcHR5IGltcG9y
dHMgYXJndW1lbnQgCitGQUlMIGdldHRlciBvcmRlciBmb3IgaW1wb3J0cyBvYmplY3QgYXNzZXJ0
X2FycmF5X2VxdWFsczogcHJvcGVydHkgMSwgZXhwZWN0ZWQgImdsb2JhbDEgZ2V0dGVyIiBidXQg
Z290ICJtZW1vcnkgZ2V0dGVyIgogUEFTUyBpbXBvcnRzIAotRkFJTCBleHBvcnRzIGFzc2VydF9m
YWxzZTogZm46IHdyaXRhYmxlIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIE5vIGltcG9y
dHMgYXNzZXJ0X2FycmF5X2VxdWFsczogbWF0Y2hpbmcgZXhwb3J0IGtleXMgcHJvcGVydHkgMiwg
ZXhwZWN0ZWQgInRhYmxlIiBidXQgZ290ICJnbG9iYWwiCitGQUlMIGV4cG9ydHMgYW5kIGltcG9y
dHMgYXNzZXJ0X2ZhbHNlOiBmbjogd3JpdGFibGUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BB
U1Mgc3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci5hbnku
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvaW5zdGFuY2UvY29uc3RydWN0b3IuYW55LmpzCmluZGV4IDYxYThmNTNhMDE0YzE5MmYyOGEw
YzI1MjUyY2YzNzAyNTYxZTcxOTEuLjA2YzZkN2E4OGMwOTIzNWFiZDQwYTcxYTM3OWYwZDgwMDVh
MzM2MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci5hbnkuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNl
L2NvbnN0cnVjdG9yLmFueS5qcwpAQCAtMSw2MyArMSw3IEBACiAvLyBNRVRBOiBnbG9iYWw9anNz
aGVsbAotLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tY29uc3RhbnRzLmpzCiAvLyBN
RVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogLy8gTUVUQTog
c2NyaXB0PS93YXNtL2pzYXBpL2Fzc2VydGlvbnMuanMKLQotZnVuY3Rpb24gYXNzZXJ0X2V4cG9y
dGVkX2Z1bmN0aW9uKGZuLCB7IG5hbWUsIGxlbmd0aCB9LCBkZXNjcmlwdGlvbikgewotICBhc3Nl
cnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihmbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwK
LSAgICAgICAgICAgICAgICBgJHtkZXNjcmlwdGlvbn06IHByb3RvdHlwZWApOwotCi0gIGFzc2Vy
dF9mdW5jdGlvbl9uYW1lKGZuLCBuYW1lLCBkZXNjcmlwdGlvbik7Ci0gIGFzc2VydF9mdW5jdGlv
bl9sZW5ndGgoZm4sIGxlbmd0aCwgZGVzY3JpcHRpb24pOwotfQotCi1mdW5jdGlvbiBhc3NlcnRf
SW5zdGFuY2UoaW5zdGFuY2UsIGV4cGVjdGVkX2V4cG9ydHMpIHsKLSAgYXNzZXJ0X2VxdWFscyhP
YmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpLCBXZWJBc3NlbWJseS5JbnN0YW5jZS5wcm90
b3R5cGUsCi0gICAgICAgICAgICAgICAgInByb3RvdHlwZSIpOwotICBhc3NlcnRfdHJ1ZShPYmpl
Y3QuaXNFeHRlbnNpYmxlKGluc3RhbmNlKSwgImV4dGVuc2libGUiKTsKLQotICBhc3NlcnRfZXF1
YWxzKGluc3RhbmNlLmV4cG9ydHMsIGluc3RhbmNlLmV4cG9ydHMsICJleHBvcnRzIHNob3VsZCBi
ZSBpZGVtcG90ZW50Iik7Ci0gIGNvbnN0IGV4cG9ydHMgPSBpbnN0YW5jZS5leHBvcnRzOwotCi0g
IGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGV4cG9ydHMpLCBudWxsLCAiZXhw
b3J0cyBwcm90b3R5cGUiKTsKLSAgYXNzZXJ0X2ZhbHNlKE9iamVjdC5pc0V4dGVuc2libGUoZXhw
b3J0cyksICJleHRlbnNpYmxlIGV4cG9ydHMiKTsKLSAgZm9yIChjb25zdCBba2V5LCBleHBlY3Rl
ZF0gb2YgT2JqZWN0LmVudHJpZXMoZXhwZWN0ZWRfZXhwb3J0cykpIHsKLSAgICBjb25zdCBwcm9w
ZXJ0eSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZXhwb3J0cywga2V5KTsKLSAg
ICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBwcm9wZXJ0eSwgIm9iamVjdCIsIGAke2tleX0gc2hvdWxk
IGJlIHByZXNlbnRgKTsKLSAgICBhc3NlcnRfZmFsc2UocHJvcGVydHkud3JpdGFibGUsIGAke2tl
eX06IHdyaXRhYmxlYCk7Ci0gICAgYXNzZXJ0X3RydWUocHJvcGVydHkuZW51bWVyYWJsZSwgYCR7
a2V5fTogZW51bWVyYWJsZWApOwotICAgIGFzc2VydF9mYWxzZShwcm9wZXJ0eS5jb25maWd1cmFi
bGUsIGAke2tleX06IGNvbmZpZ3VyYWJsZWApOwotICAgIGNvbnN0IGFjdHVhbCA9IHByb3BlcnR5
LnZhbHVlOwotICAgIGFzc2VydF90cnVlKE9iamVjdC5pc0V4dGVuc2libGUoYWN0dWFsKSwgYCR7
a2V5fTogZXh0ZW5zaWJsZWApOwotCi0gICAgc3dpdGNoIChleHBlY3RlZC5raW5kKSB7Ci0gICAg
Y2FzZSAiZnVuY3Rpb24iOgotICAgICAgYXNzZXJ0X2V4cG9ydGVkX2Z1bmN0aW9uKGFjdHVhbCwg
ZXhwZWN0ZWQsIGB2YWx1ZSBvZiAke2tleX1gKTsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgImds
b2JhbCI6Ci0gICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihhY3R1YWwp
LCBXZWJBc3NlbWJseS5HbG9iYWwucHJvdG90eXBlLAotICAgICAgICAgICAgICAgICAgICBgdmFs
dWUgb2YgJHtrZXl9OiBwcm90b3R5cGVgKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsLnZh
bHVlLCBleHBlY3RlZC52YWx1ZSwgYHZhbHVlIG9mICR7a2V5fTogdmFsdWVgKTsKLSAgICAgIGFz
c2VydF9lcXVhbHMoYWN0dWFsLnZhbHVlT2YoKSwgZXhwZWN0ZWQudmFsdWUsIGB2YWx1ZSBvZiAk
e2tleX06IHZhbHVlT2YoKWApOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSAibWVtb3J5IjoKLSAg
ICAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFjdHVhbCksIFdlYkFzc2Vt
Ymx5Lk1lbW9yeS5wcm90b3R5cGUsCi0gICAgICAgICAgICAgICAgICAgIGB2YWx1ZSBvZiAke2tl
eX06IHByb3RvdHlwZWApOwotICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBl
T2YoYWN0dWFsLmJ1ZmZlciksIEFycmF5QnVmZmVyLnByb3RvdHlwZSwKLSAgICAgICAgICAgICAg
ICAgICAgYHZhbHVlIG9mICR7a2V5fTogcHJvdG90eXBlIG9mIGJ1ZmZlcmApOwotICAgICAgYXNz
ZXJ0X2VxdWFscyhhY3R1YWwuYnVmZmVyLmJ5dGVMZW5ndGgsIDB4MTAwMDAgKiBleHBlY3RlZC5z
aXplLCBgdmFsdWUgb2YgJHtrZXl9OiBzaXplIG9mIGJ1ZmZlcmApOwotICAgICAgY29uc3QgYXJy
YXkgPSBuZXcgVWludDhBcnJheShhY3R1YWwuYnVmZmVyKTsKLSAgICAgIGFzc2VydF9lcXVhbHMo
YXJyYXlbMF0sIDAsIGB2YWx1ZSBvZiAke2tleX06IGZpcnN0IGVsZW1lbnQgb2YgYnVmZmVyYCk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKGFycmF5W2FycmF5LmJ5dGVMZW5ndGggLSAxXSwgMCwgYHZh
bHVlIG9mICR7a2V5fTogbGFzdCBlbGVtZW50IG9mIGJ1ZmZlcmApOwotICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSAidGFibGUiOgotICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBl
T2YoYWN0dWFsKSwgV2ViQXNzZW1ibHkuVGFibGUucHJvdG90eXBlLAotICAgICAgICAgICAgICAg
ICAgICBgdmFsdWUgb2YgJHtrZXl9OiBwcm90b3R5cGVgKTsKLSAgICAgIGFzc2VydF9lcXVhbHMo
YWN0dWFsLmxlbmd0aCwgZXhwZWN0ZWQubGVuZ3RoLCBgdmFsdWUgb2YgJHtrZXl9OiBsZW5ndGgg
b2YgdGFibGVgKTsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgfQotfQorLy8gTUVUQTogc2NyaXB0
PS93YXNtL2pzYXBpL2luc3RhbmNlVGVzdEZhY3RvcnkuanMKIAogbGV0IGVtcHR5TW9kdWxlQmlu
YXJ5Owogc2V0dXAoKCkgPT4gewpAQCAtNzMsNyArMTcsNyBAQCB0ZXN0KCgpID0+IHsKIH0sICJs
ZW5ndGgiKTsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigp
LCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoKSk7CisgIGFzc2VydF90aHJvd3NfanMo
VHlwZUVycm9yLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoKSk7CiB9LCAiTm8gYXJn
dW1lbnRzIik7CiAKIHRlc3QoKCkgPT4gewpAQCAtODksMTM5ICszMywyMiBAQCB0ZXN0KCgpID0+
IHsKICAgICBXZWJBc3NlbWJseS5Nb2R1bGUucHJvdG90eXBlLAogICBdOwogICBmb3IgKGNvbnN0
IGFyZ3VtZW50IG9mIGludmFsaWRBcmd1bWVudHMpIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKGFyZ3VtZW50KSwKLSAg
ICAgICAgICAgICAgICAgIGBuZXcgSW5zdGFuY2UoJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlg
KTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5
Lkluc3RhbmNlKGFyZ3VtZW50KSwKKyAgICAgICAgICAgICAgICAgICAgIGBuZXcgSW5zdGFuY2Uo
JHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKICAgfQogfSwgIk5vbi1Nb2R1bGUgYXJndW1l
bnRzIik7CiAKIHRlc3QoKCkgPT4gewogICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHku
TW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5KTsKLSAgY29uc3QgaW52YWxpZEFyZ3VtZW50cyA9IFsK
LSAgICBudWxsLAotICAgIHRydWUsCi0gICAgIiIsCi0gICAgU3ltYm9sKCksCi0gICAgMSwKLSAg
XTsKLSAgZm9yIChjb25zdCBhcmd1bWVudCBvZiBpbnZhbGlkQXJndW1lbnRzKSB7Ci0gICAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5j
ZShtb2R1bGUsIGFyZ3VtZW50KSwKLSAgICAgICAgICAgICAgICAgIGBuZXcgSW5zdGFuY2UobW9k
dWxlLCAke2Zvcm1hdF92YWx1ZShhcmd1bWVudCl9KWApOwotICB9Ci19LCAiTm9uLW9iamVjdCBp
bXBvcnRzIik7Ci0KLXRlc3QoKCkgPT4gewotICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1i
bHkuTW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5KTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksICgpID0+IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSkpOworICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlKSk7CiB9
LCAiQ2FsbGluZyIpOwogCi10ZXN0KCgpID0+IHsKLSAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFz
c2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJpbmFyeSk7Ci0gIGNvbnN0IGFyZ3VtZW50cyA9IFsK
LSAgICBbXSwKLSAgICBbdW5kZWZpbmVkXSwKLSAgICBbe31dLAotICBdOwotICBmb3IgKGNvbnN0
IHZhbHVlIG9mIGFyZ3VtZW50cykgewotICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFdlYkFzc2Vt
Ymx5Lkluc3RhbmNlKG1vZHVsZSwgLi4uYXJndW1lbnRzKTsKLSAgICBhc3NlcnRfSW5zdGFuY2Uo
aW5zdGFuY2UsIHt9KTsKLSAgfQotfSwgIkVtcHR5IG1vZHVsZSIpOwotCi10ZXN0KCgpID0+IHsK
LSAgY29uc3QgYnVpbGRlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpOwotICBidWlsZGVyLmFk
ZEltcG9ydGVkR2xvYmFsKCJtb2R1bGUiLCAiZ2xvYmFsMSIsIGtXYXNtSTMyKTsKLSAgYnVpbGRl
ci5hZGRJbXBvcnRlZEdsb2JhbCgibW9kdWxlIiwgImdsb2JhbDIiLCBrV2FzbUkzMik7Ci0gIGNv
bnN0IGJ1ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKLSAgY29uc3QgbW9kdWxlID0gbmV3IFdl
YkFzc2VtYmx5Lk1vZHVsZShidWZmZXIpOwotICBjb25zdCBvcmRlciA9IFtdOwotICBjb25zdCBp
bXBvcnRzID0gewotICAgIGdldCBtb2R1bGUoKSB7Ci0gICAgICBvcmRlci5wdXNoKCJtb2R1bGUg
Z2V0dGVyIik7Ci0gICAgICByZXR1cm4gewotICAgICAgICBnZXQgZ2xvYmFsMSgpIHsKLSAgICAg
ICAgICBvcmRlci5wdXNoKCJnbG9iYWwxIGdldHRlciIpOwotICAgICAgICAgIHJldHVybiAwOwot
ICAgICAgICB9LAotICAgICAgICBnZXQgZ2xvYmFsMigpIHsKLSAgICAgICAgICBvcmRlci5wdXNo
KCJnbG9iYWwyIGdldHRlciIpOwotICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9LAotICAg
ICAgfQotICAgIH0sCi0gIH07Ci0gIG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUsIGlt
cG9ydHMpOwotICBjb25zdCBleHBlY3RlZCA9IFsKLSAgICAibW9kdWxlIGdldHRlciIsCi0gICAg
Imdsb2JhbDEgZ2V0dGVyIiwKLSAgICAibW9kdWxlIGdldHRlciIsCi0gICAgImdsb2JhbDIgZ2V0
dGVyIiwKLSAgXTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyhvcmRlciwgZXhwZWN0ZWQpOwotfSwg
ImdldHRlciBvcmRlciBmb3IgaW1wb3J0cyBvYmplY3QiKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGNv
bnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKLQotICBidWlsZGVyLmFkZElt
cG9ydCgibW9kdWxlIiwgImZuIiwga1NpZ192X3YpOwotICBidWlsZGVyLmFkZEltcG9ydGVkR2xv
YmFsKCJtb2R1bGUiLCAiZ2xvYmFsIiwga1dhc21JMzIpOwotICBidWlsZGVyLmFkZEltcG9ydGVk
TWVtb3J5KCJtb2R1bGUiLCAibWVtb3J5IiwgMCwgMTI4KTsKLSAgYnVpbGRlci5hZGRJbXBvcnRl
ZFRhYmxlKCJtb2R1bGUiLCAidGFibGUiLCAwLCAxMjgpOwotCi0gIGNvbnN0IGJ1ZmZlciA9IGJ1
aWxkZXIudG9CdWZmZXIoKTsKLSAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVs
ZShidWZmZXIpOwotICBjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZSht
b2R1bGUsIHsKLSAgICAibW9kdWxlIjogewotICAgICAgImZuIjogZnVuY3Rpb24oKSB7fSwKLSAg
ICAgICJnbG9iYWwiOiAwLAotICAgICAgIm1lbW9yeSI6IG5ldyBXZWJBc3NlbWJseS5NZW1vcnko
eyAiaW5pdGlhbCI6IDY0LCBtYXhpbXVtOiAxMjggfSksCi0gICAgICAidGFibGUiOiBuZXcgV2Vi
QXNzZW1ibHkuVGFibGUoeyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiA2NCwgbWF4
aW11bTogMTI4IH0pLAotICAgIH0sCi0gICAgZ2V0ICJtb2R1bGUyIigpIHsKLSAgICAgIGFzc2Vy
dF91bnJlYWNoZWQoIlNob3VsZCBub3QgZ2V0IG1vZHVsZXMgdGhhdCBhcmUgbm90IGltcG9ydGVk
Iik7Ci0gICAgfSwKLSAgfSk7Ci0gIGFzc2VydF9JbnN0YW5jZShpbnN0YW5jZSwge30pOwotfSwg
ImltcG9ydHMiKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2FzbU1v
ZHVsZUJ1aWxkZXIoKTsKLQotICBidWlsZGVyCi0gICAgLmFkZEZ1bmN0aW9uKCJmbiIsIGtTaWdf
dl9kKQotICAgIC5hZGRCb2R5KFsKLSAgICAgICAga0V4cHJFbmQKLSAgICBdKQotICAgIC5leHBv
cnRGdW5jKCk7Ci0gIGJ1aWxkZXIKLSAgICAuYWRkRnVuY3Rpb24oImZuMiIsIGtTaWdfdl92KQot
ICAgIC5hZGRCb2R5KFsKLSAgICAgICAga0V4cHJFbmQKLSAgICBdKQotICAgIC5leHBvcnRGdW5j
KCk7Ci0KLSAgYnVpbGRlci5zZXRGdW5jdGlvblRhYmxlTGVuZ3RoKDEpOwotICBidWlsZGVyLmFk
ZEV4cG9ydE9mS2luZCgidGFibGUiLCBrRXh0ZXJuYWxUYWJsZSwgMCk7Ci0KLSAgYnVpbGRlci5h
ZGRHbG9iYWwoa1dhc21JMzIsIHRydWUpCi0gICAgLmV4cG9ydEFzKCJnbG9iYWwiKQotICAgIC5p
bml0ID0gNzsKLSAgYnVpbGRlci5hZGRHbG9iYWwoa1dhc21GNjQsIHRydWUpCi0gICAgLmV4cG9y
dEFzKCJnbG9iYWwyIikKLSAgICAuaW5pdCA9IDEuMjsKLQotICBidWlsZGVyLmFkZE1lbW9yeSg0
LCA4LCB0cnVlKTsKLQotICBjb25zdCBidWZmZXIgPSBidWlsZGVyLnRvQnVmZmVyKCkKLSAgY29u
c3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShidWZmZXIpOwotCi0gIGNvbnN0IGlu
c3RhbmNlID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSwge30pOwotICBjb25zdCBl
eHBlY3RlZCA9IHsKLSAgICAiZm4iOiB7ICJraW5kIjogImZ1bmN0aW9uIiwgIm5hbWUiOiAiMCIs
ICJsZW5ndGgiOiAxIH0sCi0gICAgImZuMiI6IHsgImtpbmQiOiAiZnVuY3Rpb24iLCAibmFtZSI6
ICIxIiwgImxlbmd0aCI6IDAgfSwKLSAgICAidGFibGUiOiB7ICJraW5kIjogInRhYmxlIiwgImxl
bmd0aCI6IDEgfSwKLSAgICAiZ2xvYmFsIjogeyAia2luZCI6ICJnbG9iYWwiLCAidmFsdWUiOiA3
IH0sCi0gICAgImdsb2JhbDIiOiB7ICJraW5kIjogImdsb2JhbCIsICJ2YWx1ZSI6IDEuMiB9LAot
ICAgICJtZW1vcnkiOiB7ICJraW5kIjogIm1lbW9yeSIsICJzaXplIjogNCB9LAotICB9OwotICBh
c3NlcnRfSW5zdGFuY2UoaW5zdGFuY2UsIGV4cGVjdGVkKTsKLX0sICJleHBvcnRzIik7Citmb3Ig
KGNvbnN0IFtuYW1lLCBmbl0gb2YgaW5zdGFuY2VUZXN0RmFjdG9yeSkgeworICB0ZXN0KCgpID0+
IHsKKyAgICBjb25zdCB7IGJ1ZmZlciwgYXJncywgZXhwb3J0cywgdmVyaWZ5IH0gPSBmbigpOwor
ICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKTsKKyAgICBj
b25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUsIC4uLmFyZ3Mp
OworICAgIGFzc2VydF9JbnN0YW5jZShpbnN0YW5jZSwgZXhwb3J0cyk7CisgICAgdmVyaWZ5KGlu
c3RhbmNlKTsKKyAgfSwgbmFtZSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3Iu
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3IuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggMjA5Y2ZhYzYxNzQwYTFlMDA1MmM4NDVmN2E4OGU5NTRhZjA4MzI4
ZS4uM2Y1NGY3NDZmYjE1ZjUxZmQ0NjBmNGQ4MmU4NTE4YTY1NmRlNTc5ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lu
c3RhbmNlL2NvbnN0cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9j
b25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMywxMCArMywxMyBAQCBQQVNT
IG5hbWUKIFBBU1MgbGVuZ3RoIAogUEFTUyBObyBhcmd1bWVudHMgCiBQQVNTIE5vbi1Nb2R1bGUg
YXJndW1lbnRzIAotUEFTUyBOb24tb2JqZWN0IGltcG9ydHMgCiBQQVNTIENhbGxpbmcgCi1QQVNT
IEVtcHR5IG1vZHVsZSAKLVBBU1MgZ2V0dGVyIG9yZGVyIGZvciBpbXBvcnRzIG9iamVjdCAKK1BB
U1MgRW1wdHkgbW9kdWxlIHdpdGhvdXQgaW1wb3J0cyBhcmd1bWVudCAKK1BBU1MgRW1wdHkgbW9k
dWxlIHdpdGggdW5kZWZpbmVkIGltcG9ydHMgYXJndW1lbnQgCitQQVNTIEVtcHR5IG1vZHVsZSB3
aXRoIGVtcHR5IGltcG9ydHMgYXJndW1lbnQgCitGQUlMIGdldHRlciBvcmRlciBmb3IgaW1wb3J0
cyBvYmplY3QgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMSwgZXhwZWN0ZWQgImdsb2Jh
bDEgZ2V0dGVyIiBidXQgZ290ICJtZW1vcnkgZ2V0dGVyIgogUEFTUyBpbXBvcnRzIAotRkFJTCBl
eHBvcnRzIGFzc2VydF9mYWxzZTogZm46IHdyaXRhYmxlIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVl
CitGQUlMIE5vIGltcG9ydHMgYXNzZXJ0X2FycmF5X2VxdWFsczogbWF0Y2hpbmcgZXhwb3J0IGtl
eXMgcHJvcGVydHkgMiwgZXhwZWN0ZWQgInRhYmxlIiBidXQgZ290ICJnbG9iYWwiCitGQUlMIGV4
cG9ydHMgYW5kIGltcG9ydHMgYXNzZXJ0X2ZhbHNlOiBmbjogd3JpdGFibGUgZXhwZWN0ZWQgZmFs
c2UgZ290IHRydWUKK1BBU1Mgc3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9l
eHBvcnRzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvZXhwb3J0cy5hbnktZXhwZWN0ZWQudHh0
CmluZGV4IDY3MGYyODExZjI2OWQyMmFlOWMzZDM3Mzg3N2JmZjQ5ZDFjZWYyNjUuLmQ0NWY2Zjg0
ODUwNWIxNmM0ZjRkYTk0MGQwOTNiM2JjZTlmNGVjMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9leHBv
cnRzLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2V4cG9ydHMuYW55LWV4cGVjdGVkLnR4
dApAQCAtMSw1ICsxLDYgQEAKIAogUEFTUyBCcmFuZGluZyAKK1BBU1MgU3RyYXkgYXJndW1lbnQg
CiBQQVNTIFNldHRpbmcgKHNsb3BweSBtb2RlKSAKIFBBU1MgU2V0dGluZyAoc3RyaWN0IG1vZGUp
IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvaW5zdGFuY2UvZXhwb3J0cy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvZXhwb3J0cy5h
bnkuanMKaW5kZXggMzE0MjM5MTg3MjA1NDNkYTJiYTI1ZTM5MjI2N2JmNTQxYjc1NjI0Mi4uN2M4
MWE0MTI5NWIwYTFmMmUyMGVlNzk3MjI5MWUxMDk5ZjIzNzVmZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNl
L2V4cG9ydHMuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9leHBvcnRzLmFueS5qcwpAQCAtMSw1ICsxLDQg
QEAKIC8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCi0vLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkv
d2FzbS1jb25zdGFudHMuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVs
ZS1idWlsZGVyLmpzCiAKIGxldCBlbXB0eU1vZHVsZUJpbmFyeTsKQEAgLTI5LDEwICsyOCwyNCBA
QCB0ZXN0KCgpID0+IHsKICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVzYy5zZXQsICJ1bmRlZmlu
ZWQiKTsKIAogICBmb3IgKGNvbnN0IHRoaXNWYWx1ZSBvZiB0aGlzVmFsdWVzKSB7Ci0gICAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGdldHRlci5jYWxsKHRoaXNWYWx1ZSks
IGB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7CisgICAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsICgpID0+IGdldHRlci5jYWxsKHRoaXNWYWx1ZSksIGB0aGlzPSR7Zm9ybWF0
X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7CiAgIH0KIH0sICJCcmFuZGluZyIpOwogCit0ZXN0KCgpID0+
IHsKKyAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJp
bmFyeSk7CisgIGNvbnN0IGluc3RhbmNlID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVs
ZSk7CisgIGNvbnN0IGV4cG9ydHMgPSBpbnN0YW5jZS5leHBvcnRzOworCisgIGNvbnN0IGRlc2Mg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFdlYkFzc2VtYmx5Lkluc3RhbmNlLnBy
b3RvdHlwZSwgImV4cG9ydHMiKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVzYywgIm9iamVj
dCIpOworCisgIGNvbnN0IGdldHRlciA9IGRlc2MuZ2V0OworICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZiBnZXR0ZXIsICJmdW5jdGlvbiIpOworCisgIGFzc2VydF9lcXVhbHMoZ2V0dGVyLmNhbGwoaW5z
dGFuY2UsIHt9KSwgZXhwb3J0cyk7Cit9LCAiU3RyYXkgYXJndW1lbnQiKTsKKwogdGVzdCgoKSA9
PiB7CiAgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoZW1wdHlNb2R1bGVC
aW5hcnkpOwogICBjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1
bGUpOwpAQCAtNDUsNyArNTgsNyBAQCB0ZXN0KCgpID0+IHsKICAgY29uc3QgbW9kdWxlID0gbmV3
IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUJpbmFyeSk7CiAgIGNvbnN0IGluc3RhbmNl
ID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSk7CiAgIGNvbnN0IGV4cG9ydHMgPSBp
bnN0YW5jZS5leHBvcnRzOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4g
eworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewogICAgICJ1c2Ugc3RyaWN0
IjsKICAgICBpbnN0YW5jZS5leHBvcnRzID0ge307CiAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNl
L2V4cG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvZXhwb3J0cy5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dAppbmRleCA2NzBmMjgxMWYyNjlkMjJhZTljM2QzNzM4NzdiZmY0OWQx
Y2VmMjY1Li5kNDVmNmY4NDg1MDViMTZjNGY0ZGE5NDBkMDkzYjNiY2U5ZjRlYzE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvaW5zdGFuY2UvZXhwb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2Uv
ZXhwb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDYgQEAKIAogUEFTUyBC
cmFuZGluZyAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiBQQVNTIFNldHRpbmcgKHNsb3BweSBtb2Rl
KSAKIFBBU1MgU2V0dGluZyAoc3RyaWN0IG1vZGUpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdG9T
dHJpbmcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS90b1N0cmluZy5hbnktZXhwZWN0ZWQudHh0
CmluZGV4IDczMDM4YTk1NmU0ODM3ZmY1NmYzNmE1ZGRhYTNlZWU0NjJmMDU4ZjMuLmEzODFjNTlj
MGIyMTVlZjFkYTdmZWFmMzJhYjQzZjlkZDU5Y2ZlYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS90b1N0
cmluZy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS90b1N0cmluZy5hbnktZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgb24g
YW4gSW5zdGFuY2UgCitGQUlMIEBAdG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5cGUg
d2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBl
Y3RlZCBwcm9wZXJ0eSBzeW1ib2wgIlN5bWJvbChTeW1ib2wudG9TdHJpbmdUYWcpIiBtaXNzaW5n
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9pbnN0YW5jZS90b1N0cmluZy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdG9TdHJpbmcu
YW55LmpzCmluZGV4IDA4ZGNiMTRhNTBkMDRmNmRiMTk2NjI2ZGRiOTNmMmI1MGRhOGYwNTUuLjcw
MWVjOGY5YmFkOTk4YmMyNjMxMGU3NGE4YTdlMjNmMmNiZjVjNGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5j
ZS90b1N0cmluZy5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL3RvU3RyaW5nLmFueS5qcwpAQCAtMSw1ICsx
LDQgQEAKIC8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCi0vLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNh
cGkvd2FzbS1jb25zdGFudHMuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1v
ZHVsZS1idWlsZGVyLmpzCiAKIHRlc3QoKCkgPT4gewpAQCAtOCwzICs3LDEzIEBAIHRlc3QoKCkg
PT4gewogICBjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUp
OwogICBhc3NlcnRfY2xhc3Nfc3RyaW5nKGluc3RhbmNlLCAiV2ViQXNzZW1ibHkuSW5zdGFuY2Ui
KTsKIH0sICJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIG9uIGFuIEluc3RhbmNlIik7CisKK3Rl
c3QoKCkgPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KFdlYkFzc2VtYmx5Lkluc3RhbmNlLnBy
b3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKTsKKworICBjb25zdCBwcm9wRGVzYyA9IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoV2ViQXNzZW1ibHkuSW5zdGFuY2UucHJvdG90eXBl
LCBTeW1ib2wudG9TdHJpbmdUYWcpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLnZhbHVlLCAi
V2ViQXNzZW1ibHkuSW5zdGFuY2UiLCAidmFsdWUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVz
Yy5jb25maWd1cmFibGUsIHRydWUsICJjb25maWd1cmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhw
cm9wRGVzYy5lbnVtZXJhYmxlLCBmYWxzZSwgImVudW1lcmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFs
cyhwcm9wRGVzYy53cml0YWJsZSwgZmFsc2UsICJ3cml0YWJsZSIpOworfSwgIkBAdG9TdHJpbmdU
YWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRv
ciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL3RvU3RyaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2luc3RhbmNlL3RvU3RyaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDczMDM4YTk1
NmU0ODM3ZmY1NmYzNmE1ZGRhYTNlZWU0NjJmMDU4ZjMuLmEzODFjNTljMGIyMTVlZjFkYTdmZWFm
MzJhYjQzZjlkZDU5Y2ZlYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS90b1N0cmluZy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdG9TdHJpbmcuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBvbiBh
biBJbnN0YW5jZSAKK0ZBSUwgQEB0b1N0cmluZ1RhZyBleGlzdHMgb24gdGhlIHByb3RvdHlwZSB3
aXRoIHRoZSBhcHByb3ByaWF0ZSBkZXNjcmlwdG9yIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVj
dGVkIHByb3BlcnR5IHN5bWJvbCAiU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykiIG1pc3NpbmcK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL2luc3RhbmNlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL3czYy1pbXBvcnQu
bG9nCmluZGV4IGU2ODk2OTg2MmE1ODYzNTY5YjU4YzlhYTNjODBkNGM4NWRjMDYyYjQuLjM3ZGQ1
YWYzNGNlNmM2NDc4NzM3MzY3MWQ5MTZhNjgyYmRmZGMxOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdzNjLWltcG9ydC5sb2cKQEAgLTE1LDYgKzE1LDcg
QEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1
Y3Rvci1iYWQtaW1wb3J0cy5hbnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3ItY2FjaGluZy5hbnku
anMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvaW5zdGFuY2UvY29uc3RydWN0b3IuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2V4cG9ydHMuYW55LmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2lu
c3RhbmNlL3RvU3RyaW5nLmFueS5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlVGVzdEZhY3RvcnkuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
aW5zdGFuY2VUZXN0RmFjdG9yeS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODE2NzJmMjA4YjE1MDU0MzBkZDFl
ZTkwOWFmYWYxMmQ5YjJkYjIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlVGVzdEZhY3Rvcnku
anMKQEAgLTAsMCArMSwyMjQgQEAKK2NvbnN0IGluc3RhbmNlVGVzdEZhY3RvcnkgPSBbCisgIFsK
KyAgICAiRW1wdHkgbW9kdWxlIHdpdGhvdXQgaW1wb3J0cyBhcmd1bWVudCIsCisgICAgZnVuY3Rp
b24oKSB7CisgICAgICByZXR1cm4geworICAgICAgICBidWZmZXI6IGVtcHR5TW9kdWxlQmluYXJ5
LAorICAgICAgICBhcmdzOiBbXSwKKyAgICAgICAgZXhwb3J0czoge30sCisgICAgICAgIHZlcmlm
eTogKCkgPT4ge30sCisgICAgICB9OworICAgIH0KKyAgXSwKKworICBbCisgICAgIkVtcHR5IG1v
ZHVsZSB3aXRoIHVuZGVmaW5lZCBpbXBvcnRzIGFyZ3VtZW50IiwKKyAgICBmdW5jdGlvbigpIHsK
KyAgICAgIHJldHVybiB7CisgICAgICAgIGJ1ZmZlcjogZW1wdHlNb2R1bGVCaW5hcnksCisgICAg
ICAgIGFyZ3M6IFt1bmRlZmluZWRdLAorICAgICAgICBleHBvcnRzOiB7fSwKKyAgICAgICAgdmVy
aWZ5OiAoKSA9PiB7fSwKKyAgICAgIH07CisgICAgfQorICBdLAorCisgIFsKKyAgICAiRW1wdHkg
bW9kdWxlIHdpdGggZW1wdHkgaW1wb3J0cyBhcmd1bWVudCIsCisgICAgZnVuY3Rpb24oKSB7Cisg
ICAgICByZXR1cm4geworICAgICAgICBidWZmZXI6IGVtcHR5TW9kdWxlQmluYXJ5LAorICAgICAg
ICBhcmdzOiBbe31dLAorICAgICAgICBleHBvcnRzOiB7fSwKKyAgICAgICAgdmVyaWZ5OiAoKSA9
PiB7fSwKKyAgICAgIH07CisgICAgfQorICBdLAorCisgIFsKKyAgICAiZ2V0dGVyIG9yZGVyIGZv
ciBpbXBvcnRzIG9iamVjdCIsCisgICAgZnVuY3Rpb24oKSB7CisgICAgICBjb25zdCBidWlsZGVy
ID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7CisgICAgICBidWlsZGVyLmFkZEltcG9ydGVkR2xv
YmFsKCJtb2R1bGUiLCAiZ2xvYmFsMSIsIGtXYXNtSTMyKTsKKyAgICAgIGJ1aWxkZXIuYWRkSW1w
b3J0ZWRHbG9iYWwoIm1vZHVsZTIiLCAiZ2xvYmFsMyIsIGtXYXNtSTMyKTsKKyAgICAgIGJ1aWxk
ZXIuYWRkSW1wb3J0ZWRNZW1vcnkoIm1vZHVsZSIsICJtZW1vcnkiLCAwLCAxMjgpOworICAgICAg
YnVpbGRlci5hZGRJbXBvcnRlZEdsb2JhbCgibW9kdWxlIiwgImdsb2JhbDIiLCBrV2FzbUkzMik7
CisgICAgICBjb25zdCBidWZmZXIgPSBidWlsZGVyLnRvQnVmZmVyKCk7CisgICAgICBjb25zdCBv
cmRlciA9IFtdOworCisgICAgICBjb25zdCBpbXBvcnRzID0geworICAgICAgICBnZXQgbW9kdWxl
KCkgeworICAgICAgICAgIG9yZGVyLnB1c2goIm1vZHVsZSBnZXR0ZXIiKTsKKyAgICAgICAgICBy
ZXR1cm4geworICAgICAgICAgICAgZ2V0IGdsb2JhbDEoKSB7CisgICAgICAgICAgICAgIG9yZGVy
LnB1c2goImdsb2JhbDEgZ2V0dGVyIik7CisgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgIGdldCBnbG9iYWwyKCkgeworICAgICAgICAgICAgICBvcmRl
ci5wdXNoKCJnbG9iYWwyIGdldHRlciIpOworICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICBnZXQgbWVtb3J5KCkgeworICAgICAgICAgICAgICBvcmRl
ci5wdXNoKCJtZW1vcnkgZ2V0dGVyIik7CisgICAgICAgICAgICAgIHJldHVybiBuZXcgV2ViQXNz
ZW1ibHkuTWVtb3J5KHsgImluaXRpYWwiOiA2NCwgbWF4aW11bTogMTI4IH0pOworICAgICAgICAg
ICAgfSwKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIGdldCBtb2R1bGUyKCkgewor
ICAgICAgICAgIG9yZGVyLnB1c2goIm1vZHVsZTIgZ2V0dGVyIik7CisgICAgICAgICAgcmV0dXJu
IHsKKyAgICAgICAgICAgIGdldCBnbG9iYWwzKCkgeworICAgICAgICAgICAgICBvcmRlci5wdXNo
KCJnbG9iYWwzIGdldHRlciIpOworICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAg
IH0sCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgfTsKKworICAgICAgY29uc3QgZXhw
ZWN0ZWQgPSBbCisgICAgICAgICJtb2R1bGUgZ2V0dGVyIiwKKyAgICAgICAgImdsb2JhbDEgZ2V0
dGVyIiwKKyAgICAgICAgIm1vZHVsZTIgZ2V0dGVyIiwKKyAgICAgICAgImdsb2JhbDMgZ2V0dGVy
IiwKKyAgICAgICAgIm1vZHVsZSBnZXR0ZXIiLAorICAgICAgICAibWVtb3J5IGdldHRlciIsCisg
ICAgICAgICJtb2R1bGUgZ2V0dGVyIiwKKyAgICAgICAgImdsb2JhbDIgZ2V0dGVyIiwKKyAgICAg
IF07CisgICAgICByZXR1cm4geworICAgICAgICBidWZmZXIsCisgICAgICAgIGFyZ3M6IFtpbXBv
cnRzXSwKKyAgICAgICAgZXhwb3J0czoge30sCisgICAgICAgIHZlcmlmeTogKCkgPT4gYXNzZXJ0
X2FycmF5X2VxdWFscyhvcmRlciwgZXhwZWN0ZWQpLAorICAgICAgfTsKKyAgICB9CisgIF0sCisK
KyAgWworICAgICJpbXBvcnRzIiwKKyAgICBmdW5jdGlvbigpIHsKKyAgICAgIGNvbnN0IGJ1aWxk
ZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKKworICAgICAgYnVpbGRlci5hZGRJbXBvcnQo
Im1vZHVsZSIsICJmbiIsIGtTaWdfdl92KTsKKyAgICAgIGJ1aWxkZXIuYWRkSW1wb3J0ZWRHbG9i
YWwoIm1vZHVsZSIsICJnbG9iYWwiLCBrV2FzbUkzMik7CisgICAgICBidWlsZGVyLmFkZEltcG9y
dGVkTWVtb3J5KCJtb2R1bGUiLCAibWVtb3J5IiwgMCwgMTI4KTsKKyAgICAgIGJ1aWxkZXIuYWRk
SW1wb3J0ZWRUYWJsZSgibW9kdWxlIiwgInRhYmxlIiwgMCwgMTI4KTsKKworICAgICAgY29uc3Qg
YnVmZmVyID0gYnVpbGRlci50b0J1ZmZlcigpOworICAgICAgY29uc3QgaW1wb3J0cyA9IHsKKyAg
ICAgICAgIm1vZHVsZSI6IHsKKyAgICAgICAgICAiZm4iOiBmdW5jdGlvbigpIHt9LAorICAgICAg
ICAgICJnbG9iYWwiOiAwLAorICAgICAgICAgICJtZW1vcnkiOiBuZXcgV2ViQXNzZW1ibHkuTWVt
b3J5KHsgImluaXRpYWwiOiA2NCwgbWF4aW11bTogMTI4IH0pLAorICAgICAgICAgICJ0YWJsZSI6
IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6
IDY0LCBtYXhpbXVtOiAxMjggfSksCisgICAgICAgIH0sCisgICAgICAgIGdldCAibW9kdWxlMiIo
KSB7CisgICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiU2hvdWxkIG5vdCBnZXQgbW9kdWxlcyB0
aGF0IGFyZSBub3QgaW1wb3J0ZWQiKTsKKyAgICAgICAgfSwKKyAgICAgIH07CisKKyAgICAgIHJl
dHVybiB7CisgICAgICAgIGJ1ZmZlciwKKyAgICAgICAgYXJnczogW2ltcG9ydHNdLAorICAgICAg
ICBleHBvcnRzOiB7fSwKKyAgICAgICAgdmVyaWZ5OiAoKSA9PiB7fSwKKyAgICAgIH07CisgICAg
fQorICBdLAorCisgIFsKKyAgICAiTm8gaW1wb3J0cyIsCisgICAgZnVuY3Rpb24oKSB7CisgICAg
ICBjb25zdCBidWlsZGVyID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7CisKKyAgICAgIGJ1aWxk
ZXIKKyAgICAgICAgLmFkZEZ1bmN0aW9uKCJmbiIsIGtTaWdfdl9kKQorICAgICAgICAuYWRkQm9k
eShbXSkKKyAgICAgICAgLmV4cG9ydEZ1bmMoKTsKKyAgICAgIGJ1aWxkZXIKKyAgICAgICAgLmFk
ZEZ1bmN0aW9uKCJmbjIiLCBrU2lnX3ZfdikKKyAgICAgICAgLmFkZEJvZHkoW10pCisgICAgICAg
IC5leHBvcnRGdW5jKCk7CisKKyAgICAgIGJ1aWxkZXIuc2V0VGFibGVCb3VuZHMoMSk7CisgICAg
ICBidWlsZGVyLmFkZEV4cG9ydE9mS2luZCgidGFibGUiLCBrRXh0ZXJuYWxUYWJsZSwgMCk7CisK
KyAgICAgIGJ1aWxkZXIuYWRkR2xvYmFsKGtXYXNtSTMyLCB0cnVlKQorICAgICAgICAuZXhwb3J0
QXMoImdsb2JhbCIpCisgICAgICAgIC5pbml0ID0gNzsKKyAgICAgIGJ1aWxkZXIuYWRkR2xvYmFs
KGtXYXNtRjY0LCB0cnVlKQorICAgICAgICAuZXhwb3J0QXMoImdsb2JhbDIiKQorICAgICAgICAu
aW5pdCA9IDEuMjsKKworICAgICAgYnVpbGRlci5hZGRNZW1vcnkoNCwgOCwgdHJ1ZSk7CisKKyAg
ICAgIGNvbnN0IGJ1ZmZlciA9IGJ1aWxkZXIudG9CdWZmZXIoKTsKKworICAgICAgY29uc3QgZXhw
b3J0cyA9IHsKKyAgICAgICAgImZuIjogeyAia2luZCI6ICJmdW5jdGlvbiIsICJuYW1lIjogIjAi
LCAibGVuZ3RoIjogMSB9LAorICAgICAgICAiZm4yIjogeyAia2luZCI6ICJmdW5jdGlvbiIsICJu
YW1lIjogIjEiLCAibGVuZ3RoIjogMCB9LAorICAgICAgICAidGFibGUiOiB7ICJraW5kIjogInRh
YmxlIiwgImxlbmd0aCI6IDEgfSwKKyAgICAgICAgImdsb2JhbCI6IHsgImtpbmQiOiAiZ2xvYmFs
IiwgInZhbHVlIjogNyB9LAorICAgICAgICAiZ2xvYmFsMiI6IHsgImtpbmQiOiAiZ2xvYmFsIiwg
InZhbHVlIjogMS4yIH0sCisgICAgICAgICJtZW1vcnkiOiB7ICJraW5kIjogIm1lbW9yeSIsICJz
aXplIjogNCB9LAorICAgICAgfTsKKworICAgICAgcmV0dXJuIHsKKyAgICAgICAgYnVmZmVyLAor
ICAgICAgICBhcmdzOiBbXSwKKyAgICAgICAgZXhwb3J0cywKKyAgICAgICAgdmVyaWZ5OiAoKSA9
PiB7fSwKKyAgICAgIH07CisgICAgfQorICBdLAorCisgIFsKKyAgICAiZXhwb3J0cyBhbmQgaW1w
b3J0cyIsCisgICAgZnVuY3Rpb24oKSB7CisgICAgICBjb25zdCB2YWx1ZSA9IDEwMjsKKworICAg
ICAgY29uc3QgYnVpbGRlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpOworCisgICAgICBjb25z
dCBpbmRleCA9IGJ1aWxkZXIuYWRkSW1wb3J0ZWRHbG9iYWwoIm1vZHVsZSIsICJnbG9iYWwiLCBr
V2FzbUkzMik7CisgICAgICBidWlsZGVyCisgICAgICAgIC5hZGRGdW5jdGlvbigiZm4iLCBrU2ln
X2lfdikKKyAgICAgICAgLmFkZEJvZHkoWworICAgICAgICAgICAga0V4cHJHbG9iYWxHZXQsCisg
ICAgICAgICAgICBpbmRleCwKKyAgICAgICAgICAgIGtFeHByUmV0dXJuLAorICAgICAgICBdKQor
ICAgICAgICAuZXhwb3J0RnVuYygpOworCisgICAgICBjb25zdCBidWZmZXIgPSBidWlsZGVyLnRv
QnVmZmVyKCk7CisKKyAgICAgIGNvbnN0IGltcG9ydHMgPSB7CisgICAgICAgICJtb2R1bGUiOiB7
CisgICAgICAgICAgImdsb2JhbCI6IHZhbHVlLAorICAgICAgICB9LAorICAgICAgfTsKKworICAg
ICAgY29uc3QgZXhwb3J0cyA9IHsKKyAgICAgICAgImZuIjogeyAia2luZCI6ICJmdW5jdGlvbiIs
ICJuYW1lIjogIjAiLCAibGVuZ3RoIjogMCB9LAorICAgICAgfTsKKworICAgICAgcmV0dXJuIHsK
KyAgICAgICAgYnVmZmVyLAorICAgICAgICBhcmdzOiBbaW1wb3J0c10sCisgICAgICAgIGV4cG9y
dHMsCisgICAgICAgIHZlcmlmeTogaW5zdGFuY2UgPT4gYXNzZXJ0X2VxdWFscyhpbnN0YW5jZS5l
eHBvcnRzLmZuKCksIHZhbHVlKQorICAgICAgfTsKKyAgICB9CisgIF0sCisKKyAgWworICAgICJz
dHJheSBhcmd1bWVudCIsCisgICAgZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4geworICAgICAg
ICBidWZmZXI6IGVtcHR5TW9kdWxlQmluYXJ5LAorICAgICAgICBhcmdzOiBbe30sIHt9XSwKKyAg
ICAgICAgZXhwb3J0czoge30sCisgICAgICAgIHZlcmlmeTogKCkgPT4ge30KKyAgICAgIH07Cisg
ICAgfQorICBdLAorXTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRl
cmZhY2UuYW55LWV4cGVjdGVkLnR4dAppbmRleCBkYzg5MmQ3YTdhMDAxZTUwMzcyMTljYzNmOTUx
Mzc3NDc3NmRhMmYwLi4yMjlmZjJlMGI4YjA4NGI2OWNjMDUwYjk3ODAxYWM3NTY3M2FhY2MyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvaW50ZXJmYWNlLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2ludGVyZmFjZS5hbnktZXhw
ZWN0ZWQudHh0CkBAIC0zNSw1NSArMzUsMzcgQEAgUEFTUyBXZWJBc3NlbWJseS5jb21waWxlOiBs
ZW5ndGgKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUgCiBQQVNTIFdlYkFzc2VtYmx5Lmlu
c3RhbnRpYXRlOiBuYW1lIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZTogbGVuZ3RoIAot
RkFJTCBXZWJBc3NlbWJseS5Nb2R1bGUuZXhwb3J0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAo
dW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoZnVuY3Rpb24pIGZ1bmN0aW9uICJmdW5jdGlv
biBleHBvcnRzKCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0iCitQQVNTIFdlYkFzc2VtYmx5Lk1v
ZHVsZS5leHBvcnRzIAogUEFTUyBXZWJBc3NlbWJseS5Nb2R1bGUuZXhwb3J0czogbmFtZSAKIFBB
U1MgV2ViQXNzZW1ibHkuTW9kdWxlLmV4cG9ydHM6IGxlbmd0aCAKLUZBSUwgV2ViQXNzZW1ibHku
TW9kdWxlLmltcG9ydHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gaW1wb3J0cygpIHsKLSAg
ICBbbmF0aXZlIGNvZGVdCi19IgorUEFTUyBXZWJBc3NlbWJseS5Nb2R1bGUuaW1wb3J0cyAKIFBB
U1MgV2ViQXNzZW1ibHkuTW9kdWxlLmltcG9ydHM6IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5Lk1v
ZHVsZS5pbXBvcnRzOiBsZW5ndGggCi1GQUlMIFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0
aW9ucyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdv
dCAoZnVuY3Rpb24pIGZ1bmN0aW9uICJmdW5jdGlvbiBjdXN0b21TZWN0aW9ucygpIHsKLSAgICBb
bmF0aXZlIGNvZGVdCi19IgorUEFTUyBXZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnMg
CiBQQVNTIFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9uczogbmFtZSAKIFBBU1MgV2Vi
QXNzZW1ibHkuTW9kdWxlLmN1c3RvbVNlY3Rpb25zOiBsZW5ndGggCiBQQVNTIFdlYkFzc2VtYmx5
Lkluc3RhbmNlLmV4cG9ydHMgCiBQQVNTIFdlYkFzc2VtYmx5Lkluc3RhbmNlLmV4cG9ydHM6IGdl
dHRlciAKIFBBU1MgV2ViQXNzZW1ibHkuSW5zdGFuY2UuZXhwb3J0czogc2V0dGVyIAotRkFJTCBX
ZWJBc3NlbWJseS5NZW1vcnkuZ3JvdyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVk
KSB1bmRlZmluZWQgYnV0IGdvdCAoZnVuY3Rpb24pIGZ1bmN0aW9uICJmdW5jdGlvbiBncm93KCkg
ewotICAgIFtuYXRpdmUgY29kZV0KLX0iCitQQVNTIFdlYkFzc2VtYmx5Lk1lbW9yeS5ncm93IAog
UEFTUyBXZWJBc3NlbWJseS5NZW1vcnkuZ3JvdzogbmFtZSAKIFBBU1MgV2ViQXNzZW1ibHkuTWVt
b3J5Lmdyb3c6IGxlbmd0aCAKIFBBU1MgV2ViQXNzZW1ibHkuTWVtb3J5LmJ1ZmZlciAKIFBBU1Mg
V2ViQXNzZW1ibHkuTWVtb3J5LmJ1ZmZlcjogZ2V0dGVyIAogUEFTUyBXZWJBc3NlbWJseS5NZW1v
cnkuYnVmZmVyOiBzZXR0ZXIgCi1GQUlMIFdlYkFzc2VtYmx5LlRhYmxlLmdyb3cgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBm
dW5jdGlvbiAiZnVuY3Rpb24gZ3JvdygpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IgorUEFTUyBX
ZWJBc3NlbWJseS5UYWJsZS5ncm93IAogUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5ncm93OiBuYW1l
IAogUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5ncm93OiBsZW5ndGggCi1GQUlMIFdlYkFzc2VtYmx5
LlRhYmxlLmdldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQg
YnV0IGdvdCAoZnVuY3Rpb24pIGZ1bmN0aW9uICJmdW5jdGlvbiBnZXQoKSB7Ci0gICAgW25hdGl2
ZSBjb2RlXQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuVGFibGUuZ2V0IAogUEFTUyBXZWJBc3NlbWJs
eS5UYWJsZS5nZXQ6IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLmdldDogbGVuZ3RoIAot
RkFJTCBXZWJBc3NlbWJseS5UYWJsZS5zZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gc2V0
KCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0iCitQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLnNldCAK
IFBBU1MgV2ViQXNzZW1ibHkuVGFibGUuc2V0OiBuYW1lIAogUEFTUyBXZWJBc3NlbWJseS5UYWJs
ZS5zZXQ6IGxlbmd0aCAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUubGVuZ3RoIAogUEFTUyBXZWJB
c3NlbWJseS5UYWJsZS5sZW5ndGg6IGdldHRlciAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUubGVu
Z3RoOiBzZXR0ZXIgCi1GQUlMIFdlYkFzc2VtYmx5Lkdsb2JhbC52YWx1ZU9mIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiB2YWx1ZU9mKCkgewotICAgIFtuYXRpdmUg
Y29kZV0KLX0iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIHZhbHVlT2YoKSB7Ci0gICAgW25h
dGl2ZSBjb2RlXQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuR2xvYmFsLnZhbHVlT2YgCiBQQVNTIFdl
YkFzc2VtYmx5Lkdsb2JhbC52YWx1ZU9mOiBuYW1lIAogUEFTUyBXZWJBc3NlbWJseS5HbG9iYWwu
dmFsdWVPZjogbGVuZ3RoIAogUEFTUyBXZWJBc3NlbWJseS5HbG9iYWwudmFsdWUgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvaW50ZXJmYWNlLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55LmpzCmluZGV4IDVkNzZhYzU2ZWM1ZmFm
ZGU4ZGRlMzkyNGRmODYzYTI2OTRiZDY2OTEuLjg4OTQwYmU1MWE3ZjU3MjdjMjdlMTY3ZDllMTBh
YmJhZWIwNGEwNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55LmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55
LmpzCkBAIC05LDcgKzksNyBAQCBmdW5jdGlvbiB0ZXN0X29wZXJhdGlvbnMob2JqZWN0LCBvYmpl
Y3RfbmFtZSwgb3BlcmF0aW9ucykgewogICAgICAgYXNzZXJ0X3RydWUocHJvcGRlc2Mud3JpdGFi
bGUsICJ3cml0YWJsZSIpOwogICAgICAgYXNzZXJ0X3RydWUocHJvcGRlc2MuZW51bWVyYWJsZSwg
ImVudW1lcmFibGUiKTsKICAgICAgIGFzc2VydF90cnVlKHByb3BkZXNjLmNvbmZpZ3VyYWJsZSwg
ImNvbmZpZ3VyYWJsZSIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhwcm9wZGVzYy52YWx1ZSwgV2Vi
QXNzZW1ibHlbbmFtZV0pOworICAgICAgYXNzZXJ0X2VxdWFscyhwcm9wZGVzYy52YWx1ZSwgb2Jq
ZWN0W25hbWVdKTsKICAgICB9LCBgJHtvYmplY3RfbmFtZX0uJHtuYW1lfWApOwogCiAgICAgdGVz
dCgoKSA9PiB7CkBAIC02MywxMSArNjMsMTEgQEAgdGVzdCgoKSA9PiB7CiB9LCAiV2ViQXNzZW1i
bHk6IHByb3BlcnR5IGRlc2NyaXB0b3IiKTsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBXZWJBc3NlbWJseSgpKTsKKyAgYXNzZXJ0X3Rocm93
c19qcyhUeXBlRXJyb3IsICgpID0+IFdlYkFzc2VtYmx5KCkpOwogfSwgIldlYkFzc2VtYmx5OiBj
YWxsaW5nIik7CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Io
KSwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5KCkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJv
ciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5KCkpOwogfSwgIldlYkFzc2VtYmx5OiBjb25zdHJ1Y3Rp
bmciKTsKIAogY29uc3QgaW50ZXJmYWNlcyA9IFsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55Lndv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4
IGRjODkyZDdhN2EwMDFlNTAzNzIxOWNjM2Y5NTEzNzc0Nzc2ZGEyZjAuLjIyOWZmMmUwYjhiMDg0
YjY5Y2MwNTBiOTc4MDFhYzc1NjczYWFjYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2ludGVyZmFjZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MzUsNTUgKzM1LDM3IEBAIFBBU1MgV2ViQXNzZW1ibHkuY29tcGlsZTogbGVuZ3RoCiBQQVNTIFdl
YkFzc2VtYmx5Lmluc3RhbnRpYXRlIAogUEFTUyBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZTogbmFt
ZSAKIFBBU1MgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGU6IGxlbmd0aCAKLUZBSUwgV2ViQXNzZW1i
bHkuTW9kdWxlLmV4cG9ydHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5k
ZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gZXhwb3J0cygpIHsK
LSAgICBbbmF0aXZlIGNvZGVdCi19IgorUEFTUyBXZWJBc3NlbWJseS5Nb2R1bGUuZXhwb3J0cyAK
IFBBU1MgV2ViQXNzZW1ibHkuTW9kdWxlLmV4cG9ydHM6IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5
Lk1vZHVsZS5leHBvcnRzOiBsZW5ndGggCi1GQUlMIFdlYkFzc2VtYmx5Lk1vZHVsZS5pbXBvcnRz
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChm
dW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9uIGltcG9ydHMoKSB7Ci0gICAgW25hdGl2ZSBjb2Rl
XQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuTW9kdWxlLmltcG9ydHMgCiBQQVNTIFdlYkFzc2VtYmx5
Lk1vZHVsZS5pbXBvcnRzOiBuYW1lIAogUEFTUyBXZWJBc3NlbWJseS5Nb2R1bGUuaW1wb3J0czog
bGVuZ3RoIAotRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnMgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBm
dW5jdGlvbiAiZnVuY3Rpb24gY3VzdG9tU2VjdGlvbnMoKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQot
fSIKK1BBU1MgV2ViQXNzZW1ibHkuTW9kdWxlLmN1c3RvbVNlY3Rpb25zIAogUEFTUyBXZWJBc3Nl
bWJseS5Nb2R1bGUuY3VzdG9tU2VjdGlvbnM6IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5Lk1vZHVs
ZS5jdXN0b21TZWN0aW9uczogbGVuZ3RoIAogUEFTUyBXZWJBc3NlbWJseS5JbnN0YW5jZS5leHBv
cnRzIAogUEFTUyBXZWJBc3NlbWJseS5JbnN0YW5jZS5leHBvcnRzOiBnZXR0ZXIgCiBQQVNTIFdl
YkFzc2VtYmx5Lkluc3RhbmNlLmV4cG9ydHM6IHNldHRlciAKLUZBSUwgV2ViQXNzZW1ibHkuTWVt
b3J5Lmdyb3cgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1
dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gZ3JvdygpIHsKLSAgICBbbmF0aXZl
IGNvZGVdCi19IgorUEFTUyBXZWJBc3NlbWJseS5NZW1vcnkuZ3JvdyAKIFBBU1MgV2ViQXNzZW1i
bHkuTWVtb3J5Lmdyb3c6IG5hbWUgCiBQQVNTIFdlYkFzc2VtYmx5Lk1lbW9yeS5ncm93OiBsZW5n
dGggCiBQQVNTIFdlYkFzc2VtYmx5Lk1lbW9yeS5idWZmZXIgCiBQQVNTIFdlYkFzc2VtYmx5Lk1l
bW9yeS5idWZmZXI6IGdldHRlciAKIFBBU1MgV2ViQXNzZW1ibHkuTWVtb3J5LmJ1ZmZlcjogc2V0
dGVyIAotRkFJTCBXZWJBc3NlbWJseS5UYWJsZS5ncm93IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0
aW9uIGdyb3coKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIKK1BBU1MgV2ViQXNzZW1ibHkuVGFi
bGUuZ3JvdyAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUuZ3JvdzogbmFtZSAKIFBBU1MgV2ViQXNz
ZW1ibHkuVGFibGUuZ3JvdzogbGVuZ3RoIAotRkFJTCBXZWJBc3NlbWJseS5UYWJsZS5nZXQgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0
aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gZ2V0KCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0iCitQ
QVNTIFdlYkFzc2VtYmx5LlRhYmxlLmdldCAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUuZ2V0OiBu
YW1lIAogUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5nZXQ6IGxlbmd0aCAKLUZBSUwgV2ViQXNzZW1i
bHkuVGFibGUuc2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5l
ZCBidXQgZ290IChmdW5jdGlvbikgZnVuY3Rpb24gImZ1bmN0aW9uIHNldCgpIHsKLSAgICBbbmF0
aXZlIGNvZGVdCi19IgorUEFTUyBXZWJBc3NlbWJseS5UYWJsZS5zZXQgCiBQQVNTIFdlYkFzc2Vt
Ymx5LlRhYmxlLnNldDogbmFtZSAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUuc2V0OiBsZW5ndGgg
CiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLmxlbmd0aCAKIFBBU1MgV2ViQXNzZW1ibHkuVGFibGUu
bGVuZ3RoOiBnZXR0ZXIgCiBQQVNTIFdlYkFzc2VtYmx5LlRhYmxlLmxlbmd0aDogc2V0dGVyIAot
RkFJTCBXZWJBc3NlbWJseS5HbG9iYWwudmFsdWVPZiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBm
dW5jdGlvbiAiZnVuY3Rpb24gdmFsdWVPZigpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IiBidXQg
Z290IGZ1bmN0aW9uICJmdW5jdGlvbiB2YWx1ZU9mKCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0i
CitQQVNTIFdlYkFzc2VtYmx5Lkdsb2JhbC52YWx1ZU9mIAogUEFTUyBXZWJBc3NlbWJseS5HbG9i
YWwudmFsdWVPZjogbmFtZSAKIFBBU1MgV2ViQXNzZW1ibHkuR2xvYmFsLnZhbHVlT2Y6IGxlbmd0
aCAKIFBBU1MgV2ViQXNzZW1ibHkuR2xvYmFsLnZhbHVlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9idWZm
ZXIuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvYnVmZmVyLmFueS1leHBlY3RlZC50eHQKaW5kZXgg
NjcwZjI4MTFmMjY5ZDIyYWU5YzNkMzczODc3YmZmNDlkMWNlZjI2NS4uZDQ1ZjZmODQ4NTA1YjE2
YzRmNGRhOTQwZDA5M2IzYmNlOWY0ZWMxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9idWZmZXIuYW55LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvbWVtb3J5L2J1ZmZlci5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEs
NiBAQAogCiBQQVNTIEJyYW5kaW5nIAorUEFTUyBTdHJheSBhcmd1bWVudCAKIFBBU1MgU2V0dGlu
ZyAoc2xvcHB5IG1vZGUpIAogUEFTUyBTZXR0aW5nIChzdHJpY3QgbW9kZSkgCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9tZW1vcnkvYnVmZmVyLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvYnVmZmVyLmFueS5qcwppbmRleCBiMDQ0NjBi
NmM1ZTU2Y2YxZmU5OTBlMzEwN2FhOWVmY2I0OTY0ZWQ1Li5hODM1ZTY1MTFhMGE2YzUzYzM2YTBm
ZmQ4MTQzZjRhMWE3Mzg4ZWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2J1ZmZlci5hbnkuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21l
bW9yeS9idWZmZXIuYW55LmpzCkBAIC0yMiwxMCArMjIsMjQgQEAgdGVzdCgoKSA9PiB7CiAgIGFz
c2VydF9lcXVhbHModHlwZW9mIGRlc2Muc2V0LCAidW5kZWZpbmVkIik7CiAKICAgZm9yIChjb25z
dCB0aGlzVmFsdWUgb2YgdGhpc1ZhbHVlcykgewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCAoKSA9PiBnZXR0ZXIuY2FsbCh0aGlzVmFsdWUpLCBgdGhpcz0ke2Zvcm1hdF92YWx1
ZSh0aGlzVmFsdWUpfWApOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBn
ZXR0ZXIuY2FsbCh0aGlzVmFsdWUpLCBgdGhpcz0ke2Zvcm1hdF92YWx1ZSh0aGlzVmFsdWUpfWAp
OwogICB9CiB9LCAiQnJhbmRpbmciKTsKIAordGVzdCgoKSA9PiB7CisgIGNvbnN0IGFyZ3VtZW50
ID0geyAiaW5pdGlhbCI6IDAgfTsKKyAgY29uc3QgbWVtb3J5ID0gbmV3IFdlYkFzc2VtYmx5Lk1l
bW9yeShhcmd1bWVudCk7CisgIGNvbnN0IGJ1ZmZlciA9IG1lbW9yeS5idWZmZXI7CisKKyAgY29u
c3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoV2ViQXNzZW1ibHkuTWVt
b3J5LnByb3RvdHlwZSwgImJ1ZmZlciIpOworICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZXNjLCAi
b2JqZWN0Iik7CisKKyAgY29uc3QgZ2V0dGVyID0gZGVzYy5nZXQ7CisgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGdldHRlciwgImZ1bmN0aW9uIik7CisKKyAgYXNzZXJ0X2VxdWFscyhnZXR0ZXIuY2Fs
bChtZW1vcnksIHt9KSwgYnVmZmVyKTsKK30sICJTdHJheSBhcmd1bWVudCIpOworCiB0ZXN0KCgp
ID0+IHsKICAgY29uc3QgYXJndW1lbnQgPSB7ICJpbml0aWFsIjogMCB9OwogICBjb25zdCBtZW1v
cnkgPSBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KGFyZ3VtZW50KTsKQEAgLTQyLDcgKzU2LDcgQEAg
dGVzdCgoKSA9PiB7CiAgIGNvbnN0IG1lbW9yeTIgPSBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KGFy
Z3VtZW50KTsKICAgY29uc3QgYnVmZmVyID0gbWVtb3J5LmJ1ZmZlcjsKICAgYXNzZXJ0X25vdF9l
cXVhbHMoYnVmZmVyLCBtZW1vcnkyLmJ1ZmZlciwgIk5lZWQgdHdvIGRpc3RpbmN0IGJ1ZmZlcnMi
KTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHsKKyAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKICAgICAidXNlIHN0cmljdCI7CiAgICAgbWVtb3J5
LmJ1ZmZlciA9IG1lbW9yeTIuYnVmZmVyOwogICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvYnVmZmVy
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9idWZmZXIuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKaW5kZXggNjcwZjI4MTFmMjY5ZDIyYWU5YzNkMzczODc3YmZmNDlkMWNlZjI2NS4uZDQ1
ZjZmODQ4NTA1YjE2YzRmNGRhOTQwZDA5M2IzYmNlOWY0ZWMxNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9i
dWZmZXIuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9idWZmZXIuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw2IEBACiAKIFBBU1MgQnJhbmRpbmcgCitQQVNTIFN0
cmF5IGFyZ3VtZW50IAogUEFTUyBTZXR0aW5nIChzbG9wcHkgbW9kZSkgCiBQQVNTIFNldHRpbmcg
KHN0cmljdCBtb2RlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL21lbW9yeS9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDA3NGEyZTZi
ZDA4MGFjMDBkZjQwYzUxMDViZTZlZWU5MjMzMWUyMzcuLjE1OGE2YWU4OTM0N2YyODIyYzhlNzg2
YjJmNjIyM2Y1NTQ1ZmFlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvY29uc3RydWN0b3IuYW55LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvbWVtb3J5L2NvbnN0cnVjdG9yLmFueS1leHBlY3RlZC50eHQKQEAgLTE3LDgg
KzE3LDEzIEBAIFBBU1MgT3V0LW9mLXJhbmdlIGluaXRpYWwgdmFsdWUgaW4gZGVzY3JpcHRvcjog
NDI5NDk2NzI5NgogUEFTUyBPdXQtb2YtcmFuZ2UgbWF4aW11bSB2YWx1ZSBpbiBkZXNjcmlwdG9y
OiA0Mjk0OTY3Mjk2IAogUEFTUyBPdXQtb2YtcmFuZ2UgaW5pdGlhbCB2YWx1ZSBpbiBkZXNjcmlw
dG9yOiA2ODcxOTQ3NjczNiAKIFBBU1MgT3V0LW9mLXJhbmdlIG1heGltdW0gdmFsdWUgaW4gZGVz
Y3JpcHRvcjogNjg3MTk0NzY3MzYgCitQQVNTIEluaXRpYWwgdmFsdWUgZXhjZWVkcyBtYXhpbXVt
IAorRkFJTCBTaGFyZWQgbWVtb3J5IHdpdGhvdXQgbWF4aW11bSBhc3NlcnRfdGhyb3dzX2pzOiBm
dW5jdGlvbiAiKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7ICJpbml0aWFsIjogMTAsICJz
aGFyZWQiOiB0cnVlIH0pIiBkaWQgbm90IHRocm93CiBQQVNTIFByb3h5IGRlc2NyaXB0b3IgCiBQ
QVNTIE9yZGVyIG9mIGV2YWx1YXRpb24gZm9yIGRlc2NyaXB0b3IgCitGQUlMIE9yZGVyIG9mIGV2
YWx1YXRpb24gZm9yIGRlc2NyaXB0b3IgKHdpdGggc2hhcmVkKSBhc3NlcnRfYXJyYXlfZXF1YWxz
OiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgNAogUEFTUyBaZXJvIGluaXRpYWwgCiBQ
QVNTIE5vbi16ZXJvIGluaXRpYWwgCitGQUlMIFN0cmF5IGFyZ3VtZW50IFdlYkFzc2VtYmx5Lk1l
bW9yeSBleHBlY3RzIGV4YWN0bHkgb25lIGFyZ3VtZW50CitGQUlMIFNoYXJlZCBtZW1vcnkgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2J1ZmZlclR5cGUucHJvdG90eXBl
JykKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9jb25zdHJ1Y3Rvci5hbnkuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2NvbnN0cnVj
dG9yLmFueS5qcwppbmRleCBmOTkwN2NhNjEwNGQ4ZWM3Njg2MWU0M2I2Yjk4MTA0MmQ4NmZiODY1
Li4wM2VlZDUyNzA4MzFiNTA0ZTZhYjIxYmNjOGVlMzZmZGZkMDUwMzA0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVt
b3J5L2NvbnN0cnVjdG9yLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2NvbnN0cnVjdG9yLmFueS5qcwpAQCAt
OCwxNSArOCwxOCBAQCBmdW5jdGlvbiBhc3NlcnRfTWVtb3J5KG1lbW9yeSwgZXhwZWN0ZWQpIHsK
IAogICAvLyBodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1ibHkvc3BlYy9pc3N1ZXMvODQwCiAg
IGFzc2VydF9lcXVhbHMobWVtb3J5LmJ1ZmZlciwgbWVtb3J5LmJ1ZmZlciwgImJ1ZmZlciBzaG91
bGQgYmUgaWRlbXBvdGVudCIpOwotICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihtZW1vcnkuYnVmZmVyKSwgQXJyYXlCdWZmZXIucHJvdG90eXBlLAotICAgICAgICAgICAgICAg
ICJwcm90b3R5cGUgb2YgYnVmZmVyIik7Ci0gIGFzc2VydF90cnVlKE9iamVjdC5pc0V4dGVuc2li
bGUobWVtb3J5LmJ1ZmZlciksICJidWZmZXIgZXh0ZW5zaWJpbGl0eSIpOworICBjb25zdCBpc1No
YXJlZCA9ICEhZXhwZWN0ZWQuc2hhcmVkOworICBjb25zdCBidWZmZXJUeXBlID0gaXNTaGFyZWQg
PyBzZWxmLlNoYXJlZEFycmF5QnVmZmVyIDogQXJyYXlCdWZmZXI7CisgIGFzc2VydF9lcXVhbHMo
T2JqZWN0LmdldFByb3RvdHlwZU9mKG1lbW9yeS5idWZmZXIpLCBidWZmZXJUeXBlLnByb3RvdHlw
ZSwKKyAgICAgICAgICAgICAgICAncHJvdG90eXBlIG9mIGJ1ZmZlcicpOwogICBhc3NlcnRfZXF1
YWxzKG1lbW9yeS5idWZmZXIuYnl0ZUxlbmd0aCwgMHgxMDAwMCAqIGV4cGVjdGVkLnNpemUsICJz
aXplIG9mIGJ1ZmZlciIpOwogICBpZiAoZXhwZWN0ZWQuc2l6ZSA+IDApIHsKICAgICBjb25zdCBh
cnJheSA9IG5ldyBVaW50OEFycmF5KG1lbW9yeS5idWZmZXIpOwogICAgIGFzc2VydF9lcXVhbHMo
YXJyYXlbMF0sIDAsICJmaXJzdCBlbGVtZW50IG9mIGJ1ZmZlciIpOwogICAgIGFzc2VydF9lcXVh
bHMoYXJyYXlbYXJyYXkuYnl0ZUxlbmd0aCAtIDFdLCAwLCAibGFzdCBlbGVtZW50IG9mIGJ1ZmZl
ciIpOwogICB9CisgIGFzc2VydF9lcXVhbHMoaXNTaGFyZWQsIE9iamVjdC5pc0Zyb3plbihtZW1v
cnkuYnVmZmVyKSwgImJ1ZmZlciBmcm96ZW4iKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMoT2JqZWN0
LmlzRXh0ZW5zaWJsZShtZW1vcnkuYnVmZmVyKSwgaXNTaGFyZWQsICJidWZmZXIgZXh0ZW5zaWJp
bGl0eSIpOwogfQogCiB0ZXN0KCgpID0+IHsKQEAgLTI4LDEyICszMSwxMiBAQCB0ZXN0KCgpID0+
IHsKIH0sICJsZW5ndGgiKTsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KCkpOworICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSgpKTsKIH0sICJO
byBhcmd1bWVudHMiKTsKIAogdGVzdCgoKSA9PiB7CiAgIGNvbnN0IGFyZ3VtZW50ID0geyAiaW5p
dGlhbCI6IDAgfTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IFdlYkFz
c2VtYmx5Lk1lbW9yeShhcmd1bWVudCkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwg
KCkgPT4gV2ViQXNzZW1ibHkuTWVtb3J5KGFyZ3VtZW50KSk7CiB9LCAiQ2FsbGluZyIpOwogCiB0
ZXN0KCgpID0+IHsKQEAgLTUwLDE0ICs1MywxNCBAQCB0ZXN0KCgpID0+IHsKICAgICB7fSwKICAg
XTsKICAgZm9yIChjb25zdCBpbnZhbGlkQXJndW1lbnQgb2YgaW52YWxpZEFyZ3VtZW50cykgewot
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLAotICAgICAgICAgICAgICAgICAgKCkg
PT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeShpbnZhbGlkQXJndW1lbnQpLAotICAgICAgICAgICAg
ICAgICAgYG5ldyBNZW1vcnkoJHtmb3JtYXRfdmFsdWUoaW52YWxpZEFyZ3VtZW50KX0pYCk7Cisg
ICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAoKSA9
PiBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KGludmFsaWRBcmd1bWVudCksCisgICAgICAgICAgICAg
ICAgICAgICBgbmV3IE1lbW9yeSgke2Zvcm1hdF92YWx1ZShpbnZhbGlkQXJndW1lbnQpfSlgKTsK
ICAgfQogfSwgIkludmFsaWQgZGVzY3JpcHRvciBhcmd1bWVudCIpOwogCiB0ZXN0KCgpID0+IHsK
LSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5N
ZW1vcnkoeyAiaW5pdGlhbCI6IHVuZGVmaW5lZCB9KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHsgImluaXRpYWwiOiB1bmRlZmlu
ZWQgfSkpOwogfSwgIlVuZGVmaW5lZCBpbml0aWFsIHZhbHVlIGluIGRlc2NyaXB0b3IiKTsKIAog
Y29uc3Qgb3V0T2ZSYW5nZVZhbHVlcyA9IFsKQEAgLTcxLDE0ICs3NCwyMiBAQCBjb25zdCBvdXRP
ZlJhbmdlVmFsdWVzID0gWwogCiBmb3IgKGNvbnN0IHZhbHVlIG9mIG91dE9mUmFuZ2VWYWx1ZXMp
IHsKICAgdGVzdCgoKSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgp
ID0+IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoeyAiaW5pdGlhbCI6IHZhbHVlIH0pKTsKKyAgICBh
c3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7
ICJpbml0aWFsIjogdmFsdWUgfSkpOwogICB9LCBgT3V0LW9mLXJhbmdlIGluaXRpYWwgdmFsdWUg
aW4gZGVzY3JpcHRvcjogJHtmb3JtYXRfdmFsdWUodmFsdWUpfWApOwogCiAgIHRlc3QoKCkgPT4g
ewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1i
bHkuTWVtb3J5KHsgImluaXRpYWwiOiAwLCAibWF4aW11bSI6IHZhbHVlIH0pKTsKKyAgICBhc3Nl
cnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7ICJp
bml0aWFsIjogMCwgIm1heGltdW0iOiB2YWx1ZSB9KSk7CiAgIH0sIGBPdXQtb2YtcmFuZ2UgbWF4
aW11bSB2YWx1ZSBpbiBkZXNjcmlwdG9yOiAke2Zvcm1hdF92YWx1ZSh2YWx1ZSl9YCk7CiB9CiAK
K3Rlc3QoKCkgPT4geworICBhc3NlcnRfdGhyb3dzX2pzKFJhbmdlRXJyb3IsICgpID0+IG5ldyBX
ZWJBc3NlbWJseS5NZW1vcnkoeyAiaW5pdGlhbCI6IDEwLCAibWF4aW11bSI6IDkgfSkpOworfSwg
IkluaXRpYWwgdmFsdWUgZXhjZWVkcyBtYXhpbXVtIik7CisKK3Rlc3QoKCkgPT4geworICBhc3Nl
cnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7ICJp
bml0aWFsIjogMTAsICJzaGFyZWQiOiB0cnVlIH0pKTsKK30sICJTaGFyZWQgbWVtb3J5IHdpdGhv
dXQgbWF4aW11bSIpOworCiB0ZXN0KCgpID0+IHsKICAgY29uc3QgcHJveHkgPSBuZXcgUHJveHko
e30sIHsKICAgICBoYXMobywgeCkgewpAQCAtMTI0LDYgKzEzNSw0NyBAQCB0ZXN0KCgpID0+IHsK
ICAgXSk7CiB9LCAiT3JkZXIgb2YgZXZhbHVhdGlvbiBmb3IgZGVzY3JpcHRvciIpOwogCit0ZXN0
KHQgPT4geworICBjb25zdCBvcmRlciA9IFtdOworCisgIG5ldyBXZWJBc3NlbWJseS5NZW1vcnko
eworICAgIGdldCBtYXhpbXVtKCkgeworICAgICAgb3JkZXIucHVzaCgibWF4aW11bSIpOworICAg
ICAgcmV0dXJuIHsKKyAgICAgICAgdmFsdWVPZigpIHsKKyAgICAgICAgICBvcmRlci5wdXNoKCJt
YXhpbXVtIHZhbHVlT2YiKTsKKyAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgfSwKKyAgICAg
IH07CisgICAgfSwKKworICAgIGdldCBpbml0aWFsKCkgeworICAgICAgb3JkZXIucHVzaCgiaW5p
dGlhbCIpOworICAgICAgcmV0dXJuIHsKKyAgICAgICAgdmFsdWVPZigpIHsKKyAgICAgICAgICBv
cmRlci5wdXNoKCJpbml0aWFsIHZhbHVlT2YiKTsKKyAgICAgICAgICByZXR1cm4gMTsKKyAgICAg
ICAgfSwKKyAgICAgIH07CisgICAgfSwKKworICAgIGdldCBzaGFyZWQoKSB7CisgICAgICBvcmRl
ci5wdXNoKCJzaGFyZWQiKTsKKyAgICAgIHJldHVybiB7CisgICAgICAgIHZhbHVlT2Y6IHQudW5y
ZWFjaGVkX2Z1bmMoInNob3VsZCBub3QgY2FsbCBzaGFyZWQgdmFsdWVPZiIpLAorICAgICAgfTsK
KyAgICB9LAorICB9KTsKKworICBhc3NlcnRfYXJyYXlfZXF1YWxzKG9yZGVyLCBbCisgICAgImlu
aXRpYWwiLAorICAgICJpbml0aWFsIHZhbHVlT2YiLAorICAgICJtYXhpbXVtIiwKKyAgICAibWF4
aW11bSB2YWx1ZU9mIiwKKyAgICAic2hhcmVkIiwKKyAgXSk7Cit9LCAiT3JkZXIgb2YgZXZhbHVh
dGlvbiBmb3IgZGVzY3JpcHRvciAod2l0aCBzaGFyZWQpIik7CisKIHRlc3QoKCkgPT4gewogICBj
b25zdCBhcmd1bWVudCA9IHsgImluaXRpYWwiOiAwIH07CiAgIGNvbnN0IG1lbW9yeSA9IG5ldyBX
ZWJBc3NlbWJseS5NZW1vcnkoYXJndW1lbnQpOwpAQCAtMTM1LDMgKzE4NywxNSBAQCB0ZXN0KCgp
ID0+IHsKICAgY29uc3QgbWVtb3J5ID0gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeShhcmd1bWVudCk7
CiAgIGFzc2VydF9NZW1vcnkobWVtb3J5LCB7ICJzaXplIjogNCB9KTsKIH0sICJOb24temVybyBp
bml0aWFsIik7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBhcmd1bWVudCA9IHsgImluaXRpYWwi
OiAwIH07CisgIGNvbnN0IG1lbW9yeSA9IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoYXJndW1lbnQs
IHt9KTsKKyAgYXNzZXJ0X01lbW9yeShtZW1vcnksIHsgInNpemUiOiAwIH0pOworfSwgIlN0cmF5
IGFyZ3VtZW50Iik7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBhcmd1bWVudCA9IHsgImluaXRp
YWwiOiA0LCAibWF4aW11bSI6IDEwLCBzaGFyZWQ6IHRydWUgfTsKKyAgY29uc3QgbWVtb3J5ID0g
bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeShhcmd1bWVudCk7CisgIGFzc2VydF9NZW1vcnkobWVtb3J5
LCB7ICJzaXplIjogNCwgInNoYXJlZCI6IHRydWUgfSk7Cit9LCAiU2hhcmVkIG1lbW9yeSIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL21lbW9yeS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1v
cnkvY29uc3RydWN0b3IuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggMDc0YTJlNmJkMDgw
YWMwMGRmNDBjNTEwNWJlNmVlZTkyMzMxZTIzNy4uMTU4YTZhZTg5MzQ3ZjI4MjJjOGU3ODZiMmY2
MjIzZjU1NDVmYWVjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvbWVtb3J5L2NvbnN0cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xNyw4ICsxNywxMyBAQCBQQVNTIE91dC1vZi1yYW5nZSBpbml0aWFsIHZhbHVlIGluIGRl
c2NyaXB0b3I6IDQyOTQ5NjcyOTYKIFBBU1MgT3V0LW9mLXJhbmdlIG1heGltdW0gdmFsdWUgaW4g
ZGVzY3JpcHRvcjogNDI5NDk2NzI5NiAKIFBBU1MgT3V0LW9mLXJhbmdlIGluaXRpYWwgdmFsdWUg
aW4gZGVzY3JpcHRvcjogNjg3MTk0NzY3MzYgCiBQQVNTIE91dC1vZi1yYW5nZSBtYXhpbXVtIHZh
bHVlIGluIGRlc2NyaXB0b3I6IDY4NzE5NDc2NzM2IAorUEFTUyBJbml0aWFsIHZhbHVlIGV4Y2Vl
ZHMgbWF4aW11bSAKK0ZBSUwgU2hhcmVkIG1lbW9yeSB3aXRob3V0IG1heGltdW0gYXNzZXJ0X3Ro
cm93c19qczogZnVuY3Rpb24gIigpID0+IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoeyAiaW5pdGlh
bCI6IDEwLCAic2hhcmVkIjogdHJ1ZSB9KSIgZGlkIG5vdCB0aHJvdwogUEFTUyBQcm94eSBkZXNj
cmlwdG9yIAogUEFTUyBPcmRlciBvZiBldmFsdWF0aW9uIGZvciBkZXNjcmlwdG9yIAorRkFJTCBP
cmRlciBvZiBldmFsdWF0aW9uIGZvciBkZXNjcmlwdG9yICh3aXRoIHNoYXJlZCkgYXNzZXJ0X2Fy
cmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDUgZ290IDQKIFBBU1MgWmVybyBp
bml0aWFsIAogUEFTUyBOb24temVybyBpbml0aWFsIAorRkFJTCBTdHJheSBhcmd1bWVudCBXZWJB
c3NlbWJseS5NZW1vcnkgZXhwZWN0cyBleGFjdGx5IG9uZSBhcmd1bWVudAorRkFJTCBTaGFyZWQg
bWVtb3J5IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdidWZmZXJUeXBl
LnByb3RvdHlwZScpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvZ3Jvdy5hbnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21l
bW9yeS9ncm93LmFueS1leHBlY3RlZC50eHQKaW5kZXggMzM0ODliNjQ5YzljZDJhZDc4NjhmMmYy
NzllYzk1ZmE4MWU2N2M3NS4uYmU5MWJhMzNmMzc5Zjk5NDcyOTI4NmExNTNkYTNmMDQyMjMwODli
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL21lbW9yeS9ncm93LmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9ncm93
LmFueS1leHBlY3RlZC50eHQKQEAgLTE2LDQgKzE2LDYgQEAgUEFTUyBPdXQtb2YtcmFuZ2UgYXJn
dW1lbnQ6IDQyOTQ5NjcyOTYKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiA2ODcxOTQ3Njcz
NiAKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiAiMHgxMDAwMDAwMDAiIAogUEFTUyBPdXQt
b2YtcmFuZ2UgYXJndW1lbnQ6IG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAKK1BBU1MgU3RyYXkg
YXJndW1lbnQgCitGQUlMIEdyb3dpbmcgc2hhcmVkIG1lbW9yeSBkb2VzIG5vdCBkZXRhY2ggb2xk
IGJ1ZmZlciBhc3NlcnRfZXF1YWxzOiBCdWZmZXIgYmVmb3JlIGdyb3dpbmc6IGNvbnN0cnVjdG9y
IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2dyb3cuYW55
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL21lbW9yeS9ncm93LmFueS5qcwppbmRleCA5NTMwMDM5OWYxOTJiN2VhYjcwZGQ4ZjA3YzQz
ZjRkYjM3ZWViZTAxLi4wY2VhOGI0YjFhNjMzZjFmNmRhOTIzMTMzMmUzOTRiN2ZjZDc2MTk3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvbWVtb3J5L2dyb3cuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvZ3Jvdy5hbnkuanMKQEAgLTEs
MTAgKzEsMTQgQEAKIC8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCiAKLWZ1bmN0aW9uIGFzc2VydF9B
cnJheUJ1ZmZlcihhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CitmdW5jdGlvbiBhc3NlcnRf
QXJyYXlCdWZmZXIoYWN0dWFsLCB7IHNpemU9MCwgc2hhcmVkPWZhbHNlLCBkZXRhY2hlZD1mYWxz
ZSB9LCBtZXNzYWdlKSB7CiAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9zcGVj
L2lzc3Vlcy84NDAKLSAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoYWN0dWFs
KSwgQXJyYXlCdWZmZXIucHJvdG90eXBlLAotICAgICAgICAgICAgICAgIGAke21lc3NhZ2V9OiBw
cm90b3R5cGVgKTsKLSAgaWYgKGV4cGVjdGVkLmRldGFjaGVkKSB7CisgIC8vIFNlZSBodHRwczov
L2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzUzODAgZm9yIHdoeSBub3QgYHNlbGYuU2hh
cmVkQXJyYXlCdWZmZXJgCisgIGNvbnN0IGlzU2hhcmVkID0gISgiaXNWaWV3IiBpbiBhY3R1YWwu
Y29uc3RydWN0b3IpOworICBhc3NlcnRfZXF1YWxzKGlzU2hhcmVkLCBzaGFyZWQsIGAke21lc3Nh
Z2V9OiBjb25zdHJ1Y3RvcmApOworICBjb25zdCBzaGFyZWRTdHJpbmcgPSBzaGFyZWQgPyAiU2hh
cmVkIiA6ICIiOworICBhc3NlcnRfZXF1YWxzKGFjdHVhbC50b1N0cmluZygpLCBgW29iamVjdCAk
e3NoYXJlZFN0cmluZ31BcnJheUJ1ZmZlcl1gLCBgJHttZXNzYWdlfTogdG9TdHJpbmcoKWApOwor
ICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihhY3R1YWwpLnRvU3RyaW5nKCks
IGBbb2JqZWN0ICR7c2hhcmVkU3RyaW5nfUFycmF5QnVmZmVyXWAsIGAke21lc3NhZ2V9OiBwcm90
b3R5cGUgdG9TdHJpbmcoKWApOworICBpZiAoZGV0YWNoZWQpIHsKICAgICAvLyBodHRwczovL2dp
dGh1Yi5jb20vdGMzOS9lY21hMjYyL2lzc3Vlcy82NzgKICAgICBsZXQgYnl0ZUxlbmd0aDsKICAg
ICB0cnkgewpAQCAtMTQsOCArMTgsOCBAQCBmdW5jdGlvbiBhc3NlcnRfQXJyYXlCdWZmZXIoYWN0
dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewogICAgIH0KICAgICBhc3NlcnRfZXF1YWxzKGJ5dGVM
ZW5ndGgsIDAsIGAke21lc3NhZ2V9OiBkZXRhY2hlZCBzaXplYCk7CiAgIH0gZWxzZSB7Ci0gICAg
YXNzZXJ0X2VxdWFscyhhY3R1YWwuYnl0ZUxlbmd0aCwgMHgxMDAwMCAqIGV4cGVjdGVkLnNpemUs
IGAke21lc3NhZ2V9OiBzaXplYCk7Ci0gICAgaWYgKGV4cGVjdGVkLnNpemUgPiAwKSB7CisgICAg
YXNzZXJ0X2VxdWFscyhhY3R1YWwuYnl0ZUxlbmd0aCwgMHgxMDAwMCAqIHNpemUsIGAke21lc3Nh
Z2V9OiBzaXplYCk7CisgICAgaWYgKHNpemUgPiAwKSB7CiAgICAgICBjb25zdCBhcnJheSA9IG5l
dyBVaW50OEFycmF5KGFjdHVhbCk7CiAgICAgICBhc3NlcnRfZXF1YWxzKGFycmF5WzBdLCAwLCBg
JHttZXNzYWdlfTogZmlyc3QgZWxlbWVudGApOwogICAgICAgYXNzZXJ0X2VxdWFscyhhcnJheVth
cnJheS5ieXRlTGVuZ3RoIC0gMV0sIDAsIGAke21lc3NhZ2V9OiBsYXN0IGVsZW1lbnRgKTsKQEAg
LTI2LDcgKzMwLDcgQEAgZnVuY3Rpb24gYXNzZXJ0X0FycmF5QnVmZmVyKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKIHRlc3QoKCkgPT4gewogICBjb25zdCBhcmd1bWVudCA9IHsgImluaXRp
YWwiOiAwIH07CiAgIGNvbnN0IG1lbW9yeSA9IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoYXJndW1l
bnQpOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gbWVtb3J5Lmdyb3co
KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBtZW1vcnkuZ3JvdygpKTsK
IH0sICJNaXNzaW5nIGFyZ3VtZW50cyIpOwogCiB0ZXN0KHQgPT4gewpAQCAtNTAsNyArNTQsNyBA
QCB0ZXN0KHQgPT4gewogICBjb25zdCBmbiA9IFdlYkFzc2VtYmx5Lk1lbW9yeS5wcm90b3R5cGUu
Z3JvdzsKIAogICBmb3IgKGNvbnN0IHRoaXNWYWx1ZSBvZiB0aGlzVmFsdWVzKSB7Ci0gICAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGZuLmNhbGwodGhpc1ZhbHVlLCBhcmd1
bWVudCksIGB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7CisgICAgYXNzZXJ0X3Ro
cm93c19qcyhUeXBlRXJyb3IsICgpID0+IGZuLmNhbGwodGhpc1ZhbHVlLCBhcmd1bWVudCksIGB0
aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNWYWx1ZSl9YCk7CiAgIH0KIH0sICJCcmFuZGluZyIpOwog
CkBAIC0xNDQsNyArMTQ4LDcgQEAgdGVzdCgoKSA9PiB7CiAgIGNvbnN0IG9sZE1lbW9yeSA9IG1l
bW9yeS5idWZmZXI7CiAgIGFzc2VydF9BcnJheUJ1ZmZlcihvbGRNZW1vcnksIHsgInNpemUiOiAx
IH0sICJCdWZmZXIgYmVmb3JlIGdyb3dpbmciKTsKIAotICBhc3NlcnRfdGhyb3dzKG5ldyBSYW5n
ZUVycm9yKCksICgpID0+IG1lbW9yeS5ncm93KDIpKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhSYW5n
ZUVycm9yLCAoKSA9PiBtZW1vcnkuZ3JvdygyKSk7CiAgIGFzc2VydF9lcXVhbHMobWVtb3J5LmJ1
ZmZlciwgb2xkTWVtb3J5KTsKICAgYXNzZXJ0X0FycmF5QnVmZmVyKG1lbW9yeS5idWZmZXIsIHsg
InNpemUiOiAxIH0sICJCdWZmZXIgYmVmb3JlIHRyeWluZyB0byBncm93Iik7CiB9LCAiWmVybyBp
bml0aWFsIGdyb3dpbmcgdG9vIG11Y2giKTsKQEAgLTE2NSw2ICsxNjksNDcgQEAgZm9yIChjb25z
dCB2YWx1ZSBvZiBvdXRPZlJhbmdlVmFsdWVzKSB7CiAgIHRlc3QoKCkgPT4gewogICAgIGNvbnN0
IGFyZ3VtZW50ID0geyAiaW5pdGlhbCI6IDAgfTsKICAgICBjb25zdCBtZW1vcnkgPSBuZXcgV2Vi
QXNzZW1ibHkuTWVtb3J5KGFyZ3VtZW50KTsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgKCkgPT4gbWVtb3J5Lmdyb3codmFsdWUpKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5
cGVFcnJvciwgKCkgPT4gbWVtb3J5Lmdyb3codmFsdWUpKTsKICAgfSwgYE91dC1vZi1yYW5nZSBh
cmd1bWVudDogJHtmb3JtYXRfdmFsdWUodmFsdWUpfWApOwogfQorCit0ZXN0KCgpID0+IHsKKyAg
Y29uc3QgYXJndW1lbnQgPSB7ICJpbml0aWFsIjogMCB9OworICBjb25zdCBtZW1vcnkgPSBuZXcg
V2ViQXNzZW1ibHkuTWVtb3J5KGFyZ3VtZW50KTsKKyAgY29uc3Qgb2xkTWVtb3J5ID0gbWVtb3J5
LmJ1ZmZlcjsKKyAgYXNzZXJ0X0FycmF5QnVmZmVyKG9sZE1lbW9yeSwgeyAic2l6ZSI6IDAgfSwg
IkJ1ZmZlciBiZWZvcmUgZ3Jvd2luZyIpOworCisgIGNvbnN0IHJlc3VsdCA9IG1lbW9yeS5ncm93
KDIsIHt9KTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsIDApOworCisgIGNvbnN0IG5ld01lbW9y
eSA9IG1lbW9yeS5idWZmZXI7CisgIGFzc2VydF9ub3RfZXF1YWxzKG9sZE1lbW9yeSwgbmV3TWVt
b3J5KTsKKyAgYXNzZXJ0X0FycmF5QnVmZmVyKG9sZE1lbW9yeSwgeyAiZGV0YWNoZWQiOiB0cnVl
IH0sICJPbGQgYnVmZmVyIGFmdGVyIGdyb3dpbmciKTsKKyAgYXNzZXJ0X0FycmF5QnVmZmVyKG5l
d01lbW9yeSwgeyAic2l6ZSI6IDIgfSwgIk5ldyBidWZmZXIgYWZ0ZXIgZ3Jvd2luZyIpOworfSwg
IlN0cmF5IGFyZ3VtZW50Iik7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBhcmd1bWVudCA9IHsg
ImluaXRpYWwiOiAxLCAibWF4aW11bSI6IDIsICJzaGFyZWQiOiB0cnVlIH07CisgIGNvbnN0IG1l
bW9yeSA9IG5ldyBXZWJBc3NlbWJseS5NZW1vcnkoYXJndW1lbnQpOworICBjb25zdCBvbGRNZW1v
cnkgPSBtZW1vcnkuYnVmZmVyOworICBhc3NlcnRfQXJyYXlCdWZmZXIob2xkTWVtb3J5LCB7ICJz
aXplIjogMSwgInNoYXJlZCI6IHRydWUgfSwgIkJ1ZmZlciBiZWZvcmUgZ3Jvd2luZyIpOworCisg
IGNvbnN0IHJlc3VsdCA9IG1lbW9yeS5ncm93KDEpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwg
MSk7CisKKyAgY29uc3QgbmV3TWVtb3J5ID0gbWVtb3J5LmJ1ZmZlcjsKKyAgYXNzZXJ0X25vdF9l
cXVhbHMob2xkTWVtb3J5LCBuZXdNZW1vcnkpOworICBhc3NlcnRfQXJyYXlCdWZmZXIob2xkTWVt
b3J5LCB7ICJzaXplIjogMSwgInNoYXJlZCI6IHRydWUgfSwgIk9sZCBidWZmZXIgYWZ0ZXIgZ3Jv
d2luZyIpOworICBhc3NlcnRfQXJyYXlCdWZmZXIobmV3TWVtb3J5LCB7ICJzaXplIjogMiwgInNo
YXJlZCI6IHRydWUgfSwgIk5ldyBidWZmZXIgYWZ0ZXIgZ3Jvd2luZyIpOworCisgIC8vIFRoZSBv
bGQgYW5kIG5ldyBidWZmZXJzIG11c3QgaGF2ZSB0aGUgc2FtZSB2YWx1ZSBmb3IgdGhlCisgIC8v
IFtbQXJyYXlCdWZmZXJEYXRhXV0gaW50ZXJuYWwgc2xvdC4KKyAgY29uc3Qgb2xkQXJyYXkgPSBu
ZXcgVWludDhBcnJheShvbGRNZW1vcnkpOworICBjb25zdCBuZXdBcnJheSA9IG5ldyBVaW50OEFy
cmF5KG5ld01lbW9yeSk7CisgIGFzc2VydF9lcXVhbHMob2xkQXJyYXlbMF0sIDAsICJvbGQgZmly
c3QgZWxlbWVudCIpOworICBhc3NlcnRfZXF1YWxzKG5ld0FycmF5WzBdLCAwLCAibmV3IGZpcnN0
IGVsZW1lbnQiKTsKKyAgb2xkQXJyYXlbMF0gPSAxOworICBhc3NlcnRfZXF1YWxzKG9sZEFycmF5
WzBdLCAxLCAib2xkIGZpcnN0IGVsZW1lbnQiKTsKKyAgYXNzZXJ0X2VxdWFscyhuZXdBcnJheVsw
XSwgMSwgIm5ldyBmaXJzdCBlbGVtZW50Iik7CisKK30sICJHcm93aW5nIHNoYXJlZCBtZW1vcnkg
ZG9lcyBub3QgZGV0YWNoIG9sZCBidWZmZXIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvZ3Jvdy5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvZ3Jvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCAzMzQ4OWI2NDljOWNkMmFkNzg2OGYyZjI3OWVjOTVmYTgxZTY3Yzc1Li5iZTkxYmEzM2Yz
NzlmOTk0NzI5Mjg2YTE1M2RhM2YwNDIyMzA4OWI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2dyb3cuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9ncm93LmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0xNiw0ICsxNiw2IEBAIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiA0Mjk0OTY3
Mjk2CiBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVudDogNjg3MTk0NzY3MzYgCiBQQVNTIE91dC1v
Zi1yYW5nZSBhcmd1bWVudDogIjB4MTAwMDAwMDAwIiAKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3Vt
ZW50OiBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAorRkFJ
TCBHcm93aW5nIHNoYXJlZCBtZW1vcnkgZG9lcyBub3QgZGV0YWNoIG9sZCBidWZmZXIgYXNzZXJ0
X2VxdWFsczogQnVmZmVyIGJlZm9yZSBncm93aW5nOiBjb25zdHJ1Y3RvciBleHBlY3RlZCB0cnVl
IGJ1dCBnb3QgZmFsc2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS90b1N0cmluZy5hbnktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL21lbW9yeS90b1N0cmluZy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDY1ZTQ0NDBjODA3YWEw
MWVhYzE2Y2Y2OGRiYTdjOGY2MDFhZGMxN2EuLmQyMGYzYjVjMWIxYTI2YzBmNzljYWQ3MmQ0NGI0
YjllOTMwNjgzMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvdG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvbWVtb3J5L3RvU3RyaW5nLmFueS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBvbiBhbiBNZW1vcnkgCitGQUlMIEBAdG9TdHJp
bmdUYWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3Jp
cHRvciBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSBzeW1ib2wgIlN5bWJv
bChTeW1ib2wudG9TdHJpbmdUYWcpIiBtaXNzaW5nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvdG9TdHJp
bmcuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL21lbW9yeS90b1N0cmluZy5hbnkuanMKaW5kZXggNGUxNWQ3NWVhMjBmMWViZmVi
YTVkYzdjOGE5YTUyYzI1M2RkMDFiZi4uYmI5MDgxZDE4NjE3ZTFhZjcyNDI0ZWE3MDBkMzBlNWNi
MGVmZDk4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS90b1N0cmluZy5hbnkuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS90b1N0
cmluZy5hbnkuanMKQEAgLTUsMyArNSwxMyBAQCB0ZXN0KCgpID0+IHsKICAgY29uc3QgbWVtb3J5
ID0gbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeShhcmd1bWVudCk7CiAgIGFzc2VydF9jbGFzc19zdHJp
bmcobWVtb3J5LCAiV2ViQXNzZW1ibHkuTWVtb3J5Iik7CiB9LCAiT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZyBvbiBhbiBNZW1vcnkiKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9vd25fcHJv
cGVydHkoV2ViQXNzZW1ibHkuTWVtb3J5LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKTsK
KworICBjb25zdCBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoV2Vi
QXNzZW1ibHkuTWVtb3J5LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKTsKKyAgYXNzZXJ0
X2VxdWFscyhwcm9wRGVzYy52YWx1ZSwgIldlYkFzc2VtYmx5Lk1lbW9yeSIsICJ2YWx1ZSIpOwor
ICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLmNvbmZpZ3VyYWJsZSwgdHJ1ZSwgImNvbmZpZ3VyYWJs
ZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLmVudW1lcmFibGUsIGZhbHNlLCAiZW51bWVy
YWJsZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLndyaXRhYmxlLCBmYWxzZSwgIndyaXRh
YmxlIik7Cit9LCAiQEB0b1N0cmluZ1RhZyBleGlzdHMgb24gdGhlIHByb3RvdHlwZSB3aXRoIHRo
ZSBhcHByb3ByaWF0ZSBkZXNjcmlwdG9yIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L3RvU3RyaW5nLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS90b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dAppbmRleCA2NWU0NDQwYzgwN2FhMDFlYWMxNmNmNjhkYmE3YzhmNjAxYWRjMTdhLi5kMjBm
M2I1YzFiMWEyNmMwZjc5Y2FkNzJkNDRiNGI5ZTkzMDY4MzM1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L3Rv
U3RyaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvdG9TdHJpbmcuYW55Lndv
cmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZyBvbiBhbiBNZW1vcnkgCitGQUlMIEBAdG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRo
ZSBwcm90b3R5cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciBhc3NlcnRfb3duX3By
b3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSBzeW1ib2wgIlN5bWJvbChTeW1ib2wudG9TdHJpbmdU
YWcpIiBtaXNzaW5nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55LWV4cGVjdGVkLnR4dAppbmRleCA2ZDEyMjM3MmI3
NzNjNDgxOWUwMzcyZTM3MGUxMzAzMGFhM2I0NTcxLi43ZmM1ZjcwN2JkNmQ2ZTFmYTVlY2MyMTIw
OWFlN2UyYTE0NDcyZTVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2NvbnN0cnVjdG9yLmFueS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL21vZHVsZS9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUs
OCBAQCBQQVNTIE5vIGFyZ3VtZW50cwogUEFTUyBDYWxsaW5nIAogUEFTUyBJbnZhbGlkIGFyZ3Vt
ZW50cyAKIFBBU1MgRW1wdHkgYnVmZmVyIAorUEFTUyBJbnZhbGlkIGNvZGUgCiBQQVNTIFByb3Rv
dHlwZSAKIFBBU1MgRXh0ZW5zaWJpbGl0eSAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jb25zdHJ1Y3Rvci5hbnkuanMK
aW5kZXggMzJmMTgzZmFjODczOGQzMGNjOGE0MzI3NjhkYTMxNTk0OTMyMDI1Ny4uYWM0Y2RlMmUz
MTdlNWVjYjE4N2E5NjRmNGY1MmY2YTdkYzc2ZGQ5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jb25zdHJ1
Y3Rvci5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jb25zdHJ1Y3Rvci5hbnkuanMKQEAgLTEsNSArMSw0IEBA
CiAvLyBNRVRBOiBnbG9iYWw9anNzaGVsbAotLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dh
c20tY29uc3RhbnRzLmpzCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1bGUt
YnVpbGRlci5qcwogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL2Fzc2VydGlvbnMuanMKIApA
QCAtMTcsMTEgKzE2LDExIEBAIHRlc3QoKCkgPT4gewogfSwgImxlbmd0aCIpOwogCiB0ZXN0KCgp
ID0+IHsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3Nl
bWJseS5Nb2R1bGUoKSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBuZXcg
V2ViQXNzZW1ibHkuTW9kdWxlKCkpOwogfSwgIk5vIGFyZ3VtZW50cyIpOwogCiB0ZXN0KCgpID0+
IHsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IFdlYkFzc2VtYmx5Lk1v
ZHVsZShlbXB0eU1vZHVsZUJpbmFyeSkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwg
KCkgPT4gV2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5KSk7CiB9LCAiQ2FsbGlu
ZyIpOwogCiB0ZXN0KCgpID0+IHsKQEAgLTM5LDE2ICszOCwyMSBAQCB0ZXN0KCgpID0+IHsKICAg
ICBBcnJheS5mcm9tKGVtcHR5TW9kdWxlQmluYXJ5KSwKICAgXTsKICAgZm9yIChjb25zdCBhcmd1
bWVudCBvZiBpbnZhbGlkQXJndW1lbnRzKSB7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYXJndW1lbnQpLAotICAgICAgICAg
ICAgICAgICAgYG5ldyBNb2R1bGUoJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKKyAgICBh
c3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShh
cmd1bWVudCksCisgICAgICAgICAgICAgICAgICAgICBgbmV3IE1vZHVsZSgke2Zvcm1hdF92YWx1
ZShhcmd1bWVudCl9KWApOwogICB9CiB9LCAiSW52YWxpZCBhcmd1bWVudHMiKTsKIAogdGVzdCgo
KSA9PiB7CiAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KCk7Ci0gIGFzc2VydF90aHJv
d3MobmV3IFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHku
TW9kdWxlKGJ1ZmZlcikpOworICBhc3NlcnRfdGhyb3dzX2pzKFdlYkFzc2VtYmx5LkNvbXBpbGVF
cnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShidWZmZXIpKTsKIH0sICJFbXB0eSBi
dWZmZXIiKTsKIAordGVzdCgoKSA9PiB7CisgIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5
KEFycmF5LmZyb20oZW1wdHlNb2R1bGVCaW5hcnkpLmNvbmNhdChbMCwgMF0pKTsKKyAgYXNzZXJ0
X3Rocm93c19qcyhXZWJBc3NlbWJseS5Db21waWxlRXJyb3IsICgpID0+IG5ldyBXZWJBc3NlbWJs
eS5Nb2R1bGUoYnVmZmVyKSk7Cit9LCAiSW52YWxpZCBjb2RlIik7CisKIHRlc3QoKCkgPT4gewog
ICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5
KTsKICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YobW9kdWxlKSwgV2ViQXNz
ZW1ibHkuTW9kdWxlLnByb3RvdHlwZSk7CkBAIC01OCwzICs2Miw4IEBAIHRlc3QoKCkgPT4gewog
ICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5
KTsKICAgYXNzZXJ0X3RydWUoT2JqZWN0LmlzRXh0ZW5zaWJsZShtb2R1bGUpKTsKIH0sICJFeHRl
bnNpYmlsaXR5Iik7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNz
ZW1ibHkuTW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5LCB7fSk7CisgIGFzc2VydF9lcXVhbHMoT2Jq
ZWN0LmdldFByb3RvdHlwZU9mKG1vZHVsZSksIFdlYkFzc2VtYmx5Lk1vZHVsZS5wcm90b3R5cGUp
OworfSwgIlN0cmF5IGFyZ3VtZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2NvbnN0cnVjdG9yLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dAppbmRleCA2ZDEyMjM3MmI3NzNjNDgxOWUwMzcyZTM3MGUxMzAzMGFhM2I0NTcxLi43
ZmM1ZjcwN2JkNmQ2ZTFmYTVlY2MyMTIwOWFlN2UyYTE0NDcyZTVkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxl
L2NvbnN0cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY29uc3RydWN0
b3IuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTUsNiArNSw4IEBAIFBBU1MgTm8gYXJndW1l
bnRzCiBQQVNTIENhbGxpbmcgCiBQQVNTIEludmFsaWQgYXJndW1lbnRzIAogUEFTUyBFbXB0eSBi
dWZmZXIgCitQQVNTIEludmFsaWQgY29kZSAKIFBBU1MgUHJvdG90eXBlIAogUEFTUyBFeHRlbnNp
YmlsaXR5IAorUEFTUyBTdHJheSBhcmd1bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jdXN0b21T
ZWN0aW9ucy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jdXN0b21TZWN0aW9ucy5hbnktZXhwZWN0
ZWQudHh0CmluZGV4IDRjOGQ5MWVjYWVlNGJlNzQ0ODdhZGI2YzU2ZDRlZTVjNDdkNjFmYzguLjU2
N2FlMWM2MzJmNzEwZTcxNjIxNGYyOWQ2ODRkNzZjZTlhZWYxMjMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUv
Y3VzdG9tU2VjdGlvbnMuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2N1c3RvbVNlY3Rpb25z
LmFueS1leHBlY3RlZC50eHQKQEAgLTYsNSArNiw2IEBAIFBBU1MgRW1wdHkgbW9kdWxlCiBQQVNT
IEVtcHR5IG1vZHVsZTogYXJyYXkgY2FjaGluZyAKIFBBU1MgQ3VzdG9tIHNlY3Rpb25zIAogUEFT
UyBDdXN0b20gc2VjdGlvbnMgd2l0aCBzdXJyb2dhdGUgcGFpcnMgCi1GQUlMIEN1c3RvbSBzZWN0
aW9ucyB3aXRoIFUrRkZGRCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorUEFT
UyBDdXN0b20gc2VjdGlvbnMgd2l0aCBVK0ZGRkQgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvbW9kdWxlL2N1c3RvbVNlY3Rpb25zLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY3VzdG9tU2VjdGlv
bnMuYW55LmpzCmluZGV4IDU4YWM2M2I2MWM5M2EwMTViZmE5ZDVkYWFiMzlmOGQ1YjQ4NTQ4ZGEu
LjhjMjE1ZDE3YmQyNTgzNGFkMjk4M2U4ODE3MjM3MWM0ZWUxZjY1YzIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1
bGUvY3VzdG9tU2VjdGlvbnMuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY3VzdG9tU2VjdGlvbnMuYW55Lmpz
CkBAIC0xLDUgKzEsNCBAQAogLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKLS8vIE1FVEE6IHNjcmlw
dD0vd2FzbS9qc2FwaS93YXNtLWNvbnN0YW50cy5qcwogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pz
YXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKIAogZnVuY3Rpb24gYXNzZXJ0X0FycmF5QnVmZmVy
KGJ1ZmZlciwgZXhwZWN0ZWQpIHsKQEAgLTI1LDkgKzI0LDkgQEAgc2V0dXAoKCkgPT4gewogfSk7
CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4g
V2ViQXNzZW1ibHkuTW9kdWxlLmN1c3RvbVNlY3Rpb25zKCkpOworICBhc3NlcnRfdGhyb3dzX2pz
KFR5cGVFcnJvciwgKCkgPT4gV2ViQXNzZW1ibHkuTW9kdWxlLmN1c3RvbVNlY3Rpb25zKCkpOwog
ICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5
KTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IFdlYkFzc2VtYmx5Lk1v
ZHVsZS5jdXN0b21TZWN0aW9ucyhtb2R1bGUpKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9ucyhtb2R1bGUpKTsKIH0s
ICJNaXNzaW5nIGFyZ3VtZW50cyIpOwogCiB0ZXN0KCgpID0+IHsKQEAgLTQzLDggKzQyLDggQEAg
dGVzdCgoKSA9PiB7CiAgICAgV2ViQXNzZW1ibHkuTW9kdWxlLnByb3RvdHlwZSwKICAgXTsKICAg
Zm9yIChjb25zdCBhcmd1bWVudCBvZiBpbnZhbGlkQXJndW1lbnRzKSB7Ci0gICAgYXNzZXJ0X3Ro
cm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0
aW9ucyhhcmd1bWVudCwgIiIpLAotICAgICAgICAgICAgICAgICAgYGN1c3RvbVNlY3Rpb25zKCR7
Zm9ybWF0X3ZhbHVlKGFyZ3VtZW50KX0pYCk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9ucyhhcmd1bWVudCwgIiIp
LAorICAgICAgICAgICAgICAgICAgICAgYGN1c3RvbVNlY3Rpb25zKCR7Zm9ybWF0X3ZhbHVlKGFy
Z3VtZW50KX0pYCk7CiAgIH0KIH0sICJOb24tTW9kdWxlIGFyZ3VtZW50cyIpOwogCkBAIC04Miwy
MiArODEsMTAgQEAgdGVzdCgoKSA9PiB7CiAgIGNvbnN0IGJ5dGVzMSA9IFs4NywgMTAxLCA5OCwg
NjUsIDExNSwgMTE1LCAxMDEsIDEwOSwgOTgsIDEwOCwgMTIxXTsKICAgY29uc3QgYnl0ZXMyID0g
Wzc0LCA4MywgNjUsIDgwLCA3M107CiAKLSAgY29uc3QgYmluYXJ5ID0gbmV3IEJpbmFyeTsKLSAg
YmluYXJ5LmVtaXRfc2VjdGlvbihrVW5rbm93blNlY3Rpb25Db2RlLCBzZWN0aW9uID0+IHsKLSAg
ICBzZWN0aW9uLmVtaXRfc3RyaW5nKCJuYW1lIik7Ci0gICAgc2VjdGlvbi5lbWl0X2J5dGVzKGJ5
dGVzMSk7Ci0gIH0pOwotICBiaW5hcnkuZW1pdF9zZWN0aW9uKGtVbmtub3duU2VjdGlvbkNvZGUs
IHNlY3Rpb24gPT4gewotICAgIHNlY3Rpb24uZW1pdF9zdHJpbmcoIm5hbWUiKTsKLSAgICBzZWN0
aW9uLmVtaXRfYnl0ZXMoYnl0ZXMyKTsKLSAgfSk7Ci0gIGJpbmFyeS5lbWl0X3NlY3Rpb24oa1Vu
a25vd25TZWN0aW9uQ29kZSwgc2VjdGlvbiA9PiB7Ci0gICAgc2VjdGlvbi5lbWl0X3N0cmluZygi
Zm9vIik7Ci0gICAgc2VjdGlvbi5lbWl0X2J5dGVzKGJ5dGVzMSk7Ci0gIH0pOwotCiAgIGNvbnN0
IGJ1aWxkZXIgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKTsKLSAgYnVpbGRlci5hZGRFeHBsaWNp
dFNlY3Rpb24oYmluYXJ5KTsKKyAgYnVpbGRlci5hZGRDdXN0b21TZWN0aW9uKCJuYW1lIiwgYnl0
ZXMxKTsKKyAgYnVpbGRlci5hZGRDdXN0b21TZWN0aW9uKCJuYW1lIiwgYnl0ZXMyKTsKKyAgYnVp
bGRlci5hZGRDdXN0b21TZWN0aW9uKCJmb28iLCBieXRlczEpOwogICBjb25zdCBidWZmZXIgPSBi
dWlsZGVyLnRvQnVmZmVyKCkKICAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVs
ZShidWZmZXIpOwogCkBAIC0xMjAsMTQgKzEwNyw4IEBAIHRlc3QoKCkgPT4gewogICBjb25zdCBi
eXRlcyA9IFs4NywgMTAxLCA5OCwgNjUsIDExNSwgMTE1LCAxMDEsIDEwOSwgOTgsIDEwOCwgMTIx
XTsKICAgY29uc3QgbmFtZSA9ICJ5ZWVcdUQ4MDFcdURDMzdlZXkiCiAKLSAgY29uc3QgYmluYXJ5
ID0gbmV3IEJpbmFyeTsKLSAgYmluYXJ5LmVtaXRfc2VjdGlvbihrVW5rbm93blNlY3Rpb25Db2Rl
LCBzZWN0aW9uID0+IHsKLSAgICBzZWN0aW9uLmVtaXRfc3RyaW5nKG5hbWUpOwotICAgIHNlY3Rp
b24uZW1pdF9ieXRlcyhieXRlcyk7Ci0gIH0pOwotCiAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgV2Fz
bU1vZHVsZUJ1aWxkZXIoKTsKLSAgYnVpbGRlci5hZGRFeHBsaWNpdFNlY3Rpb24oYmluYXJ5KTsK
KyAgYnVpbGRlci5hZGRDdXN0b21TZWN0aW9uKG5hbWUsIGJ5dGVzKTsKICAgY29uc3QgYnVmZmVy
ID0gYnVpbGRlci50b0J1ZmZlcigpOwogICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHku
TW9kdWxlKGJ1ZmZlcik7CiAKQEAgLTE0MSwxNCArMTIyLDggQEAgdGVzdCgoKSA9PiB7CiB0ZXN0
KCgpID0+IHsKICAgY29uc3QgYnl0ZXMgPSBbODcsIDEwMSwgOTgsIDY1LCAxMTUsIDExNSwgMTAx
LCAxMDksIDk4LCAxMDgsIDEyMV07CiAKLSAgY29uc3QgYmluYXJ5ID0gbmV3IEJpbmFyeTsKLSAg
YmluYXJ5LmVtaXRfc2VjdGlvbihrVW5rbm93blNlY3Rpb25Db2RlLCBzZWN0aW9uID0+IHsKLSAg
ICBzZWN0aW9uLmVtaXRfc3RyaW5nKCJuYVx1RkZGRG1lIik7Ci0gICAgc2VjdGlvbi5lbWl0X2J5
dGVzKGJ5dGVzKTsKLSAgfSk7Ci0KICAgY29uc3QgYnVpbGRlciA9IG5ldyBXYXNtTW9kdWxlQnVp
bGRlcigpOwotICBidWlsZGVyLmFkZEV4cGxpY2l0U2VjdGlvbihiaW5hcnkpOworICBidWlsZGVy
LmFkZEN1c3RvbVNlY3Rpb24oIm5hXHVGRkZEbWUiLCBieXRlcyk7CiAgIGNvbnN0IGJ1ZmZlciA9
IGJ1aWxkZXIudG9CdWZmZXIoKTsKICAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1v
ZHVsZShidWZmZXIpOwogCkBAIC0xNTYsNyArMTMxLDEwIEBAIHRlc3QoKCkgPT4gewogICBhc3Nl
cnRfc2VjdGlvbnMoV2ViQXNzZW1ibHkuTW9kdWxlLmN1c3RvbVNlY3Rpb25zKG1vZHVsZSwgIm5h
XHVGRkZEbWUiKSwgWwogICAgIGJ5dGVzLAogICBdKTsKLSAgYXNzZXJ0X3NlY3Rpb25zKFdlYkFz
c2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9ucyhtb2R1bGUsICJuYVx1REMwMW1lIiksIFsKLSAg
ICBieXRlcywKLSAgXSk7CisgIGFzc2VydF9zZWN0aW9ucyhXZWJBc3NlbWJseS5Nb2R1bGUuY3Vz
dG9tU2VjdGlvbnMobW9kdWxlLCAibmFcdURDMDFtZSIpLCBbXSk7CiB9LCAiQ3VzdG9tIHNlY3Rp
b25zIHdpdGggVStGRkZEIik7CisKK3Rlc3QoKCkgPT4geworICBjb25zdCBtb2R1bGUgPSBuZXcg
V2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5TW9kdWxlQmluYXJ5KTsKKyAgYXNzZXJ0X3NlY3Rpb25z
KFdlYkFzc2VtYmx5Lk1vZHVsZS5jdXN0b21TZWN0aW9ucyhtb2R1bGUsICIiLCB7fSksIFtdKTsK
K30sICJTdHJheSBhcmd1bWVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9jdXN0b21TZWN0aW9ucy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY3VzdG9tU2VjdGlvbnMuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggNGM4ZDkxZWNhZWU0YmU3NDQ4N2FkYjZjNTZkNGVlNWM0N2Q2MWZj
OC4uNTY3YWUxYzYzMmY3MTBlNzE2MjE0ZjI5ZDY4NGQ3NmNlOWFlZjEyMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21v
ZHVsZS9jdXN0b21TZWN0aW9ucy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2N1
c3RvbVNlY3Rpb25zLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC02LDUgKzYsNiBAQCBQQVNT
IEVtcHR5IG1vZHVsZQogUEFTUyBFbXB0eSBtb2R1bGU6IGFycmF5IGNhY2hpbmcgCiBQQVNTIEN1
c3RvbSBzZWN0aW9ucyAKIFBBU1MgQ3VzdG9tIHNlY3Rpb25zIHdpdGggc3Vycm9nYXRlIHBhaXJz
IAotRkFJTCBDdXN0b20gc2VjdGlvbnMgd2l0aCBVK0ZGRkQgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMSBidXQgZ290IDAKK1BBU1MgQ3VzdG9tIHNlY3Rpb25zIHdpdGggVStGRkZEIAorUEFTUyBT
dHJheSBhcmd1bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9leHBvcnRzLmFueS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvbW9kdWxlL2V4cG9ydHMuYW55LWV4cGVjdGVkLnR4dAppbmRleCBlYWFkM2ZlMTUzMGRjNDRm
ZWVkMTQwOGNkYTJkNDgyZjc0YWIxNTIwLi44ZGMxN2U4YWFmMDBmZTdkYjk4NmZmMTIyYjU0ZmMx
MmE4NTJiYTdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2V4cG9ydHMuYW55LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkv
bW9kdWxlL2V4cG9ydHMuYW55LWV4cGVjdGVkLnR4dApAQCAtNSw0ICs1LDUgQEAgUEFTUyBCcmFu
ZGluZwogUEFTUyBFbXB0eSBtb2R1bGUgCiBQQVNTIEVtcHR5IG1vZHVsZTogYXJyYXkgY2FjaGlu
ZyAKIFBBU1MgZXhwb3J0cyAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1
bGUvZXhwb3J0cy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2V4cG9ydHMuYW55LmpzCmluZGV4IGU2M2E4ODVhNGMz
NGFkZDBmNjc4N2QzNjQyZGU4M2Q5NzY2NTY4ZDEuLjEzMjljNmE2MDIxZjJkNTkwMmY3NTllNGRh
OTJkMjA5OTc0ZGE3MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvZXhwb3J0cy5hbnkuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVs
ZS9leHBvcnRzLmFueS5qcwpAQCAtMSw1ICsxLDQgQEAKIC8vIE1FVEE6IGdsb2JhbD1qc3NoZWxs
Ci0vLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1jb25zdGFudHMuanMKIC8vIE1FVEE6
IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAKIGxldCBlbXB0eU1v
ZHVsZUJpbmFyeTsKQEAgLTM2LDcgKzM1LDcgQEAgZnVuY3Rpb24gYXNzZXJ0X2V4cG9ydHMoZXhw
b3J0cywgZXhwZWN0ZWQpIHsKIH0KIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3
IFR5cGVFcnJvcigpLCAoKSA9PiBXZWJBc3NlbWJseS5Nb2R1bGUuZXhwb3J0cygpKTsKKyAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVsZS5leHBvcnRz
KCkpOwogfSwgIk1pc3NpbmcgYXJndW1lbnRzIik7CiAKIHRlc3QoKCkgPT4gewpAQCAtNTIsOCAr
NTEsOCBAQCB0ZXN0KCgpID0+IHsKICAgICBXZWJBc3NlbWJseS5Nb2R1bGUucHJvdG90eXBlLAog
ICBdOwogICBmb3IgKGNvbnN0IGFyZ3VtZW50IG9mIGludmFsaWRBcmd1bWVudHMpIHsKLSAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gV2ViQXNzZW1ibHkuTW9kdWxlLmV4
cG9ydHMoYXJndW1lbnQpLAotICAgICAgICAgICAgICAgICAgYGV4cG9ydHMoJHtmb3JtYXRfdmFs
dWUoYXJndW1lbnQpfSlgKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4g
V2ViQXNzZW1ibHkuTW9kdWxlLmV4cG9ydHMoYXJndW1lbnQpLAorICAgICAgICAgICAgICAgICAg
ICAgYGV4cG9ydHMoJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKICAgfQogfSwgIk5vbi1N
b2R1bGUgYXJndW1lbnRzIik7CiAKQEAgLTkyLDE4ICs5MSwxNCBAQCB0ZXN0KCgpID0+IHsKIAog
ICBidWlsZGVyCiAgICAgLmFkZEZ1bmN0aW9uKCJmbiIsIGtTaWdfdl92KQotICAgIC5hZGRCb2R5
KFsKLSAgICAgICAga0V4cHJFbmQKLSAgICBdKQorICAgIC5hZGRCb2R5KFtdKQogICAgIC5leHBv
cnRGdW5jKCk7CiAgIGJ1aWxkZXIKICAgICAuYWRkRnVuY3Rpb24oImZuMiIsIGtTaWdfdl92KQot
ICAgIC5hZGRCb2R5KFsKLSAgICAgICAga0V4cHJFbmQKLSAgICBdKQorICAgIC5hZGRCb2R5KFtd
KQogICAgIC5leHBvcnRGdW5jKCk7CiAKLSAgYnVpbGRlci5zZXRGdW5jdGlvblRhYmxlTGVuZ3Ro
KDEpOworICBidWlsZGVyLnNldFRhYmxlQm91bmRzKDEpOwogICBidWlsZGVyLmFkZEV4cG9ydE9m
S2luZCgidGFibGUiLCBrRXh0ZXJuYWxUYWJsZSwgMCk7CiAKICAgYnVpbGRlci5hZGRHbG9iYWwo
a1dhc21JMzIsIHRydWUpCkBAIC0xMjgsMyArMTIzLDkgQEAgdGVzdCgoKSA9PiB7CiAgIF07CiAg
IGFzc2VydF9leHBvcnRzKGV4cG9ydHMsIGV4cGVjdGVkKTsKIH0sICJleHBvcnRzIik7CisKK3Rl
c3QoKCkgPT4geworICBjb25zdCBtb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5
TW9kdWxlQmluYXJ5KTsKKyAgY29uc3QgZXhwb3J0cyA9IFdlYkFzc2VtYmx5Lk1vZHVsZS5leHBv
cnRzKG1vZHVsZSwge30pOworICBhc3NlcnRfZXhwb3J0cyhleHBvcnRzLCBbXSk7Cit9LCAiU3Ry
YXkgYXJndW1lbnQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvZXhwb3J0cy5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9tb2R1bGUvZXhwb3J0cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBlYWFk
M2ZlMTUzMGRjNDRmZWVkMTQwOGNkYTJkNDgyZjc0YWIxNTIwLi44ZGMxN2U4YWFmMDBmZTdkYjk4
NmZmMTIyYjU0ZmMxMmE4NTJiYTdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2V4cG9ydHMuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9leHBvcnRzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC01LDQgKzUsNSBAQCBQQVNTIEJyYW5kaW5nCiBQQVNTIEVtcHR5IG1vZHVsZSAKIFBBU1Mg
RW1wdHkgbW9kdWxlOiBhcnJheSBjYWNoaW5nIAogUEFTUyBleHBvcnRzIAorUEFTUyBTdHJheSBh
cmd1bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9pbXBvcnRzLmFueS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9k
dWxlL2ltcG9ydHMuYW55LWV4cGVjdGVkLnR4dAppbmRleCA0NzIzZTYzNzFiZWU1NmFjOWNjODkx
NWU0NTYyZjk5NTRhYTAxNDM0Li4xYTc3ODg2MzA1OWYyMTU3MzJhODMwZDcxMTZjOWJhOGFmZmMy
ZGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvbW9kdWxlL2ltcG9ydHMuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxl
L2ltcG9ydHMuYW55LWV4cGVjdGVkLnR4dApAQCAtNiw0ICs2LDUgQEAgUEFTUyBSZXR1cm4gdHlw
ZQogUEFTUyBFbXB0eSBtb2R1bGUgCiBQQVNTIEVtcHR5IG1vZHVsZTogYXJyYXkgY2FjaGluZyAK
IFBBU1MgaW1wb3J0cyAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUv
aW1wb3J0cy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvbW9kdWxlL2ltcG9ydHMuYW55LmpzCmluZGV4IDY0MGRhNTkxZDIxZDg5
MjRkMjYxZmRjNThiOGU3Y2M3NjIxODdhMTEuLjlhN2Q2MTE1OTg2ZWEwNjZjNTA3NWQxNGY2MGQz
Y2IwMjc3YTc4YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvaW1wb3J0cy5hbnkuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9p
bXBvcnRzLmFueS5qcwpAQCAtMSw1ICsxLDQgQEAKIC8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCi0v
LyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1jb25zdGFudHMuanMKIC8vIE1FVEE6IHNj
cmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAKIGZ1bmN0aW9uIGFzc2Vy
dF9Nb2R1bGVJbXBvcnREZXNjcmlwdG9yKGltcG9ydF8sIGV4cGVjdGVkKSB7CkBAIC00Miw3ICs0
MSw3IEBAIHNldHVwKCgpID0+IHsKIH0pOwogCiB0ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksICgpID0+IFdlYkFzc2VtYmx5Lk1vZHVsZS5pbXBvcnRzKCkpOwor
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gV2ViQXNzZW1ibHkuTW9kdWxlLmlt
cG9ydHMoKSk7CiB9LCAiTWlzc2luZyBhcmd1bWVudHMiKTsKIAogdGVzdCgoKSA9PiB7CkBAIC01
OCw4ICs1Nyw4IEBAIHRlc3QoKCkgPT4gewogICAgIFdlYkFzc2VtYmx5Lk1vZHVsZS5wcm90b3R5
cGUsCiAgIF07CiAgIGZvciAoY29uc3QgYXJndW1lbnQgb2YgaW52YWxpZEFyZ3VtZW50cykgewot
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBXZWJBc3NlbWJseS5Nb2R1
bGUuaW1wb3J0cyhhcmd1bWVudCksCi0gICAgICAgICAgICAgICAgICBgaW1wb3J0cygke2Zvcm1h
dF92YWx1ZShhcmd1bWVudCl9KWApOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAo
KSA9PiBXZWJBc3NlbWJseS5Nb2R1bGUuaW1wb3J0cyhhcmd1bWVudCksCisgICAgICAgICAgICAg
ICAgICAgICBgaW1wb3J0cygke2Zvcm1hdF92YWx1ZShhcmd1bWVudCl9KWApOwogICB9CiB9LCAi
Tm9uLU1vZHVsZSBhcmd1bWVudHMiKTsKIApAQCAtMTE4LDMgKzExNyw5IEBAIHRlc3QoKCkgPT4g
ewogICBdOwogICBhc3NlcnRfaW1wb3J0cyhpbXBvcnRzLCBleHBlY3RlZCk7CiB9LCAiaW1wb3J0
cyIpOworCit0ZXN0KCgpID0+IHsKKyAgY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1v
ZHVsZShlbXB0eU1vZHVsZUJpbmFyeSk7CisgIGNvbnN0IGltcG9ydHMgPSBXZWJBc3NlbWJseS5N
b2R1bGUuaW1wb3J0cyhtb2R1bGUsIHt9KTsKKyAgYXNzZXJ0X2ltcG9ydHMoaW1wb3J0cywgW10p
OworfSwgIlN0cmF5IGFyZ3VtZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2ltcG9ydHMuYW55Lndv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2ltcG9ydHMuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
aW5kZXggNDcyM2U2MzcxYmVlNTZhYzljYzg5MTVlNDU2MmY5OTU0YWEwMTQzNC4uMWE3Nzg4NjMw
NTlmMjE1NzMyYTgzMGQ3MTE2YzliYThhZmZjMmRkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9pbXBvcnRz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvaW1wb3J0cy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dApAQCAtNiw0ICs2LDUgQEAgUEFTUyBSZXR1cm4gdHlwZQogUEFTUyBFbXB0eSBt
b2R1bGUgCiBQQVNTIEVtcHR5IG1vZHVsZTogYXJyYXkgY2FjaGluZyAKIFBBU1MgaW1wb3J0cyAK
K1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvdG9TdHJpbmcuYW55LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9tb2R1bGUvdG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dAppbmRleCBiMTNlNjFl
M2NkODVjYjQyOWU3NTkxMjg4ODg5NmY1MDk4Y2FmNDA4Li5lM2Y0ZTBhMWJjZTM2OWYzNjhhYTg3
YjdjMWIxMTUxNjRjNzk2ODkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL3RvU3RyaW5nLmFueS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL21vZHVsZS90b1N0cmluZy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBA
QAogCiBQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgb24gYW4gTW9kdWxlIAorRkFJTCBA
QHRvU3RyaW5nVGFnIGV4aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRl
IGRlc2NyaXB0b3IgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9s
ICJTeW1ib2woU3ltYm9sLnRvU3RyaW5nVGFnKSIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxl
L3RvU3RyaW5nLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvdG9TdHJpbmcuYW55LmpzCmluZGV4IGQ5MjMxYTEzMmNh
OGJmOTY1ZjY5YzNjYzgxMDcwYTJmZmUxNzllZmEuLjdkZDg1YTFjNGFjNmU1MjVlMWU0YzBmOWJh
Y2MzMjk1ZTdlZGE3ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvdG9TdHJpbmcuYW55LmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1
bGUvdG9TdHJpbmcuYW55LmpzCkBAIC0xLDUgKzEsNCBAQAogLy8gTUVUQTogZ2xvYmFsPWpzc2hl
bGwKLS8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLWNvbnN0YW50cy5qcwogLy8gTUVU
QTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKIAogdGVzdCgoKSA9
PiB7CkBAIC03LDMgKzYsMTMgQEAgdGVzdCgoKSA9PiB7CiAgIGNvbnN0IG1vZHVsZSA9IG5ldyBX
ZWJBc3NlbWJseS5Nb2R1bGUoZW1wdHlNb2R1bGVCaW5hcnkpOwogICBhc3NlcnRfY2xhc3Nfc3Ry
aW5nKG1vZHVsZSwgIldlYkFzc2VtYmx5Lk1vZHVsZSIpOwogfSwgIk9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcgb24gYW4gTW9kdWxlIik7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfb3duX3By
b3BlcnR5KFdlYkFzc2VtYmx5Lk1vZHVsZS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZyk7
CisKKyAgY29uc3QgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFdl
YkFzc2VtYmx5Lk1vZHVsZS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZyk7CisgIGFzc2Vy
dF9lcXVhbHMocHJvcERlc2MudmFsdWUsICJXZWJBc3NlbWJseS5Nb2R1bGUiLCAidmFsdWUiKTsK
KyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5jb25maWd1cmFibGUsIHRydWUsICJjb25maWd1cmFi
bGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5lbnVtZXJhYmxlLCBmYWxzZSwgImVudW1l
cmFibGUiKTsKKyAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy53cml0YWJsZSwgZmFsc2UsICJ3cml0
YWJsZSIpOworfSwgIkBAdG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5cGUgd2l0aCB0
aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS90b1N0cmluZy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvdG9TdHJpbmcuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKaW5kZXggYjEzZTYxZTNjZDg1Y2I0MjllNzU5MTI4ODg4OTZmNTA5OGNhZjQwOC4uZTNm
NGUwYTFiY2UzNjlmMzY4YWE4N2I3YzFiMTE1MTY0Yzc5Njg5MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS90
b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL3RvU3RyaW5nLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcgb24gYW4gTW9kdWxlIAorRkFJTCBAQHRvU3RyaW5nVGFnIGV4aXN0cyBvbiB0
aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3IgYXNzZXJ0X293bl9w
cm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJTeW1ib2woU3ltYm9sLnRvU3RyaW5n
VGFnKSIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvcHJvdG8tZnJvbS1jdG9yLXJlYWxtLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9wcm90by1mcm9tLWN0b3ItcmVhbG0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiMjUx
MDhmYmMzYTdiMjQ1Njc0NjJlNjUxYzlhYjUwNzk4ZDI0Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvcHJv
dG8tZnJvbS1jdG9yLXJlYWxtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyMiBAQAorCitGQUlM
IFdlYkFzc2VtYmx5Lk1vZHVsZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHVuZGVmaW5l
ZGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5Nb2R1bGU6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBudWxsYCBwcm90
b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2Vt
Ymx5Lk1vZHVsZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5cGUg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1v
ZHVsZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHRydWVgIHByb3RvdHlwZSBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBj
cm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgMGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGU6IGNyb3NzLXJlYWxt
IE5ld1RhcmdldCB3aXRoIGAtMWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGU6IGNyb3NzLXJlYWxtIE5ld1Rhcmdl
dCB3aXRoIGAiImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGU6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAi
c3RyImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCBXZWJBc3NlbWJseS5Nb2R1bGU6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBzeW1ib2wg
IlN5bWJvbCgpImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGU6IGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3
aXRoIGB1bmRlZmluZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTW9kdWxlOiBib3VuZCBib3VuZCBjcm9zcy1yZWFsbSBO
ZXdUYXJnZXQgd2l0aCBgbnVsbGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGU6IGJvdW5kIFByb3h5IG9mIGNyb3Nz
LXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5Nb2R1bGU6IFByb3h5IG9mIGNy
b3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVlYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1vZHVsZTogUHJveHkgb2Yg
UHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYC0wYCBwcm90b3R5cGUgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1vZHVsZTog
UHJveHkgb2YgYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYE5hTmAgcHJvdG90eXBl
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5J
bnN0YW5jZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHVuZGVmaW5lZGAgcHJvdG90eXBl
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5J
bnN0YW5jZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYG51bGxgIHByb3RvdHlwZSBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuSW5zdGFu
Y2U6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90eXBlIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5JbnN0YW5jZTog
Y3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHRydWVgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuSW5zdGFuY2U6IGNyb3Nz
LXJlYWxtIE5ld1RhcmdldCB3aXRoIGAwYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkluc3RhbmNlOiBjcm9zcy1yZWFsbSBO
ZXdUYXJnZXQgd2l0aCBgLTFgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuSW5zdGFuY2U6IGNyb3NzLXJlYWxtIE5ld1Rhcmdl
dCB3aXRoIGAiImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorRkFJTCBXZWJBc3NlbWJseS5JbnN0YW5jZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGgg
YCJzdHIiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitG
QUlMIFdlYkFzc2VtYmx5Lkluc3RhbmNlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgc3lt
Ym9sICJTeW1ib2woKSJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuSW5zdGFuY2U6IGJvdW5kIGNyb3NzLXJlYWxtIE5ld1Rh
cmdldCB3aXRoIGB1bmRlZmluZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuSW5zdGFuY2U6IGJvdW5kIGJvdW5kIGNyb3Nz
LXJlYWxtIE5ld1RhcmdldCB3aXRoIGBudWxsYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkluc3RhbmNlOiBib3VuZCBQcm94
eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgZmFsc2VgIHByb3RvdHlwZSBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuSW5zdGFuY2U6
IFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVlYCBwcm90b3R5cGUgYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkluc3Rh
bmNlOiBQcm94eSBvZiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgLTBgIHBy
b3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNz
ZW1ibHkuSW5zdGFuY2U6IFByb3h5IG9mIGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRo
IGBOYU5gIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuTWVtb3J5OiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdW5kZWZp
bmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlM
IFdlYkFzc2VtYmx5Lk1lbW9yeTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYG51bGxgIHBy
b3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNz
ZW1ibHkuTWVtb3J5OiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgZmFsc2VgIHByb3RvdHlw
ZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHku
TWVtb3J5OiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdHJ1ZWAgcHJvdG90eXBlIGFzc2Vy
dF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6
IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAwYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogY3Jvc3MtcmVh
bG0gTmV3VGFyZ2V0IHdpdGggYC0xYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogY3Jvc3MtcmVhbG0gTmV3VGFy
Z2V0IHdpdGggYCIiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGgg
YCJzdHIiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitG
QUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHN5bWJv
bCAiU3ltYm9sKCkiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0
IHdpdGggYHVuZGVmaW5lZGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5NZW1vcnk6IGJvdW5kIGJvdW5kIGNyb3NzLXJlYWxt
IE5ld1RhcmdldCB3aXRoIGBudWxsYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogYm91bmQgUHJveHkgb2YgY3Jv
c3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lk1lbW9yeTogUHJveHkgb2Yg
Y3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHRydWVgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTWVtb3J5OiBQcm94eSBv
ZiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgLTBgIHByb3RvdHlwZSBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTWVtb3J5
OiBQcm94eSBvZiBib3VuZCBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgTmFOYCBwcm90b3R5
cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5
LlRhYmxlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdW5kZWZpbmVkYCBwcm90b3R5cGUg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LlRh
YmxlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgbnVsbGAgcHJvdG90eXBlIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5UYWJsZTogY3Jv
c3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LlRhYmxlOiBjcm9zcy1yZWFs
bSBOZXdUYXJnZXQgd2l0aCBgdHJ1ZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5UYWJsZTogY3Jvc3MtcmVhbG0gTmV3VGFy
Z2V0IHdpdGggYDBgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgV2ViQXNzZW1ibHkuVGFibGU6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAt
MWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5UYWJsZTogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYCIiYCBwcm90b3R5
cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5
LlRhYmxlOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgInN0ciJgIHByb3RvdHlwZSBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuVGFibGU6
IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBzeW1ib2wgIlN5bWJvbCgpImAgcHJvdG90eXBl
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5U
YWJsZTogYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHVuZGVmaW5lZGAgcHJvdG90
eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJs
eS5UYWJsZTogYm91bmQgYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYG51bGxgIHBy
b3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNz
ZW1ibHkuVGFibGU6IGJvdW5kIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBm
YWxzZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCBXZWJBc3NlbWJseS5UYWJsZTogUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGgg
YHRydWVgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuVGFibGU6IFByb3h5IG9mIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1Rh
cmdldCB3aXRoIGAtMGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorRkFJTCBXZWJBc3NlbWJseS5UYWJsZTogUHJveHkgb2YgYm91bmQgY3Jvc3MtcmVhbG0g
TmV3VGFyZ2V0IHdpdGggYE5hTmAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5HbG9iYWw6IGNyb3NzLXJlYWxtIE5ld1Rhcmdl
dCB3aXRoIGB1bmRlZmluZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQg
d2l0aCBgbnVsbGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorRkFJTCBXZWJBc3NlbWJseS5HbG9iYWw6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBm
YWxzZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCBXZWJBc3NlbWJseS5HbG9iYWw6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVlYCBw
cm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFz
c2VtYmx5Lkdsb2JhbDogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYDBgIHByb3RvdHlwZSBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xv
YmFsOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgLTFgIHByb3RvdHlwZSBhc3NlcnRfdHJ1
ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBjcm9z
cy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgIiJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBjcm9zcy1yZWFsbSBO
ZXdUYXJnZXQgd2l0aCBgInN0ciJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBjcm9zcy1yZWFsbSBOZXdUYXJn
ZXQgd2l0aCBgc3ltYm9sICJTeW1ib2woKSJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBib3VuZCBjcm9zcy1y
ZWFsbSBOZXdUYXJnZXQgd2l0aCBgdW5kZWZpbmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkdsb2JhbDogYm91bmQgYm91
bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYG51bGxgIHByb3RvdHlwZSBhc3NlcnRfdHJ1
ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xvYmFsOiBib3Vu
ZCBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgZmFsc2VgIHByb3RvdHlwZSBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuR2xv
YmFsOiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdHJ1ZWAgcHJvdG90eXBl
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5H
bG9iYWw6IFByb3h5IG9mIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAtMGAg
cHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJB
c3NlbWJseS5HbG9iYWw6IFByb3h5IG9mIGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRo
IGBOYU5gIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBg
dW5kZWZpbmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdp
dGggYG51bGxgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgZmFsc2VgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgdHJ1ZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
RkFJTCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRo
IGAwYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlM
IFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYC0x
YCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdl
YkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYCIiYCBw
cm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFz
c2VtYmx5LkNvbXBpbGVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYCJzdHIiYCBw
cm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFz
c2VtYmx5LkNvbXBpbGVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHN5bWJvbCAi
U3ltYm9sKCkiYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFy
Z2V0IHdpdGggYHVuZGVmaW5lZGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5Db21waWxlRXJyb3I6IGJvdW5kIGJvdW5kIGNy
b3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBudWxsYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvcjogYm91
bmQgUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5cGUg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LkNv
bXBpbGVFcnJvcjogUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYHRydWVgIHBy
b3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNz
ZW1ibHkuQ29tcGlsZUVycm9yOiBQcm94eSBvZiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJn
ZXQgd2l0aCBgLTBgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgV2ViQXNzZW1ibHkuQ29tcGlsZUVycm9yOiBQcm94eSBvZiBib3VuZCBjcm9zcy1y
ZWFsbSBOZXdUYXJnZXQgd2l0aCBgTmFOYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LkxpbmtFcnJvcjogY3Jvc3MtcmVhbG0g
TmV3VGFyZ2V0IHdpdGggYHVuZGVmaW5lZGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5MaW5rRXJyb3I6IGNyb3NzLXJlYWxt
IE5ld1RhcmdldCB3aXRoIGBudWxsYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LkxpbmtFcnJvcjogY3Jvc3MtcmVhbG0gTmV3
VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LkxpbmtFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFy
Z2V0IHdpdGggYHRydWVgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuTGlua0Vycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQg
d2l0aCBgMGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
RkFJTCBXZWJBc3NlbWJseS5MaW5rRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAt
MWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5MaW5rRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAiImAgcHJv
dG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3Nl
bWJseS5MaW5rRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGAic3RyImAgcHJvdG90
eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJs
eS5MaW5rRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBzeW1ib2wgIlN5bWJvbCgp
ImAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5MaW5rRXJyb3I6IGJvdW5kIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB1
bmRlZmluZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgV2ViQXNzZW1ibHkuTGlua0Vycm9yOiBib3VuZCBib3VuZCBjcm9zcy1yZWFsbSBOZXdU
YXJnZXQgd2l0aCBgbnVsbGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5MaW5rRXJyb3I6IGJvdW5kIFByb3h5IG9mIGNyb3Nz
LXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxzZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5MaW5rRXJyb3I6IFByb3h5IG9m
IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVlYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5LkxpbmtFcnJvcjogUHJv
eHkgb2YgUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYC0wYCBwcm90b3R5cGUg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdlYkFzc2VtYmx5Lkxp
bmtFcnJvcjogUHJveHkgb2YgYm91bmQgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYE5hTmAg
cHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJB
c3NlbWJseS5SdW50aW1lRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB1bmRlZmlu
ZWRgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwg
V2ViQXNzZW1ibHkuUnVudGltZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgbnVs
bGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5SdW50aW1lRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGBmYWxz
ZWAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBX
ZWJBc3NlbWJseS5SdW50aW1lRXJyb3I6IGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVl
YCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdl
YkFzc2VtYmx5LlJ1bnRpbWVFcnJvcjogY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYDBgIHBy
b3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNz
ZW1ibHkuUnVudGltZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgLTFgIHByb3Rv
dHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1i
bHkuUnVudGltZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgIiJgIHByb3RvdHlw
ZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHku
UnVudGltZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgInN0ciJgIHByb3RvdHlw
ZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHku
UnVudGltZUVycm9yOiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgc3ltYm9sICJTeW1ib2wo
KSJgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwg
V2ViQXNzZW1ibHkuUnVudGltZUVycm9yOiBib3VuZCBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0
aCBgdW5kZWZpbmVkYCBwcm90b3R5cGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcjogYm91bmQgYm91bmQgY3Jvc3MtcmVh
bG0gTmV3VGFyZ2V0IHdpdGggYG51bGxgIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yOiBib3VuZCBQcm94
eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgZmFsc2VgIHByb3RvdHlwZSBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2ViQXNzZW1ibHkuUnVudGltZUVy
cm9yOiBQcm94eSBvZiBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdHJ1ZWAgcHJvdG90eXBl
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXZWJBc3NlbWJseS5S
dW50aW1lRXJyb3I6IFByb3h5IG9mIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRo
IGAtMGAgcHJvdG90eXBlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3I6IFByb3h5IG9mIGJvdW5kIGNyb3NzLXJlYWxtIE5l
d1RhcmdldCB3aXRoIGBOYU5gIHByb3RvdHlwZSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Byb3RvLWZy
b20tY3Rvci1yZWFsbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyOTMxY2NhNzdjZjJhZjZlMDY2MTZhZjMy
YjQ2MDhmYjAyZDM4YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvcHJvdG8tZnJvbS1jdG9yLXJlYWxtLmh0
bWwKQEAgLTAsMCArMSw5NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViQXNzZW1ibHkgSlMgQVBJOiBEZWZhdWx0IFtbUHJvdG90eXBlXV0gdmFs
dWUgaXMgZnJvbSBOZXdUYXJnZXQncyBSZWFsbTwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2ludGVybmFsbHktY3JlYXRlLWEt
bmV3LW9iamVjdC1pbXBsZW1lbnRpbmctdGhlLWludGVyZmFjZSI+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtbmF0aXZlZXJyb3IiPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Indhc20tbW9kdWxlLWJ1aWxkZXIuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8aWZyYW1lIGlkPSJj
b25zdHJ1Y3Rvci1pZnJhbWUiIGhpZGRlbj48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9Im5ldy10YXJn
ZXQtaWZyYW1lIiBoaWRkZW4+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJvdGhlci1pZnJhbWUiIGhp
ZGRlbj48L2lmcmFtZT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK2NvbnN0IGNvbnN0cnVj
dG9yUmVhbG0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY29uc3RydWN0b3ItaWZyYW1lIiku
Y29udGVudFdpbmRvdzsKK2NvbnN0IG5ld1RhcmdldFJlYWxtID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiI25ldy10YXJnZXQtaWZyYW1lIikuY29udGVudFdpbmRvdzsKK2NvbnN0IG90aGVyUmVh
bG0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjb3RoZXItaWZyYW1lIikuY29udGVudFdpbmRv
dzsKKworY29uc3QgZW1wdHlNb2R1bGVCaW5hcnkgPSBuZXcgV2FzbU1vZHVsZUJ1aWxkZXIoKS50
b0J1ZmZlcigpOworY29uc3QgaW50ZXJmYWNlcyA9IFsKKyAgWyJNb2R1bGUiLCBlbXB0eU1vZHVs
ZUJpbmFyeV0sCisgIFsiSW5zdGFuY2UiLCBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGVtcHR5TW9k
dWxlQmluYXJ5KV0sCisgIFsiTWVtb3J5Iiwge2luaXRpYWw6IDB9XSwKKyAgWyJUYWJsZSIsIHtl
bGVtZW50OiAiYW55ZnVuYyIsIGluaXRpYWw6IDB9XSwKKyAgWyJHbG9iYWwiLCB7dmFsdWU6ICJp
MzIifV0sCisKKyAgLy8gU2VlIHN0ZXAgMiBvZiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2Vj
LW5hdGl2ZWVycm9yCisgIFsiQ29tcGlsZUVycm9yIl0sCisgIFsiTGlua0Vycm9yIl0sCisgIFsi
UnVudGltZUVycm9yIl0sCitdOworCitjb25zdCBwcmltaXRpdmVzID0gWworICB1bmRlZmluZWQs
CisgIG51bGwsCisgIGZhbHNlLAorICB0cnVlLAorICAwLAorICAtMSwKKyAgIiIsCisgICJzdHIi
LAorICBTeW1ib2woKSwKK107CisKK2NvbnN0IGdldE5ld1RhcmdldHMgPSBmdW5jdGlvbiogKHJl
YWxtKSB7CisgIGZvciAoY29uc3QgcHJpbWl0aXZlIG9mIHByaW1pdGl2ZXMpIHsKKyAgICBjb25z
dCBuZXdUYXJnZXQgPSBuZXcgcmVhbG0uRnVuY3Rpb24oKTsKKyAgICBuZXdUYXJnZXQucHJvdG90
eXBlID0gcHJpbWl0aXZlOworICAgIHlpZWxkIFtuZXdUYXJnZXQsICJjcm9zcy1yZWFsbSBOZXdU
YXJnZXQgd2l0aCBgIiArIGZvcm1hdF92YWx1ZShwcmltaXRpdmUpICsgImAgcHJvdG90eXBlIl07
CisgIH0KKworICAvLyBHZXRGdW5jdGlvblJlYWxtIChodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8j
c2VjLWdldGZ1bmN0aW9ucmVhbG0pIGNvdmVyYWdlOgorICBjb25zdCBiaW5kT3RoZXIgPSBvdGhl
clJlYWxtLkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kOworICBjb25zdCBQcm94eU90aGVyID0gb3Ro
ZXJSZWFsbS5Qcm94eTsKKworICBjb25zdCBib3VuZCA9IG5ldyByZWFsbS5GdW5jdGlvbigpOwor
ICBib3VuZC5wcm90b3R5cGUgPSB1bmRlZmluZWQ7CisgIHlpZWxkIFtiaW5kT3RoZXIuY2FsbChi
b3VuZCksICJib3VuZCBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgdW5kZWZpbmVkYCBwcm90
b3R5cGUiXTsKKworICBjb25zdCBib3VuZEJvdW5kID0gbmV3IHJlYWxtLkZ1bmN0aW9uKCk7Cisg
IGJvdW5kQm91bmQucHJvdG90eXBlID0gbnVsbDsKKyAgeWllbGQgW2JpbmRPdGhlci5jYWxsKGJp
bmRPdGhlci5jYWxsKGJvdW5kQm91bmQpKSwgImJvdW5kIGJvdW5kIGNyb3NzLXJlYWxtIE5ld1Rh
cmdldCB3aXRoIGBudWxsYCBwcm90b3R5cGUiXTsKKworICBjb25zdCBib3VuZFByb3h5ID0gbmV3
IHJlYWxtLkZ1bmN0aW9uKCk7CisgIGJvdW5kUHJveHkucHJvdG90eXBlID0gZmFsc2U7CisgIHlp
ZWxkIFtiaW5kT3RoZXIuY2FsbChuZXcgUHJveHlPdGhlcihib3VuZFByb3h5LCB7fSkpLCAiYm91
bmQgUHJveHkgb2YgY3Jvc3MtcmVhbG0gTmV3VGFyZ2V0IHdpdGggYGZhbHNlYCBwcm90b3R5cGUi
XTsKKworICBjb25zdCBwcm94eSA9IG5ldyByZWFsbS5GdW5jdGlvbigpOworICBwcm94eS5wcm90
b3R5cGUgPSB0cnVlOworICB5aWVsZCBbbmV3IFByb3h5T3RoZXIocHJveHksIHt9KSwgIlByb3h5
IG9mIGNyb3NzLXJlYWxtIE5ld1RhcmdldCB3aXRoIGB0cnVlYCBwcm90b3R5cGUiXTsKKworICBj
b25zdCBwcm94eVByb3h5ID0gbmV3IHJlYWxtLkZ1bmN0aW9uKCk7CisgIHByb3h5UHJveHkucHJv
dG90eXBlID0gLTA7CisgIHlpZWxkIFtuZXcgUHJveHlPdGhlcihuZXcgUHJveHlPdGhlcihwcm94
eVByb3h5LCB7fSksIHt9KSwgIlByb3h5IG9mIFByb3h5IG9mIGNyb3NzLXJlYWxtIE5ld1Rhcmdl
dCB3aXRoIGAtMGAgcHJvdG90eXBlIl07CisKKyAgY29uc3QgcHJveHlCb3VuZCA9IG5ldyByZWFs
bS5GdW5jdGlvbigpOworICBwcm94eUJvdW5kLnByb3RvdHlwZSA9IE5hTjsKKyAgeWllbGQgW25l
dyBQcm94eU90aGVyKGJpbmRPdGhlci5jYWxsKHByb3h5Qm91bmQpLCB7fSksICJQcm94eSBvZiBi
b3VuZCBjcm9zcy1yZWFsbSBOZXdUYXJnZXQgd2l0aCBgTmFOYCBwcm90b3R5cGUiXTsKK307CisK
K2ZvciAoY29uc3QgW2ludGVyZmFjZU5hbWUsIGNvbnN0cnVjdG9yQXJnXSBvZiBpbnRlcmZhY2Vz
KSB7CisgIGZvciAoY29uc3QgW25ld1RhcmdldCwgdGVzdERlc2NyaXB0aW9uXSBvZiBnZXROZXdU
YXJnZXRzKG5ld1RhcmdldFJlYWxtKSkgeworICAgIHRlc3QoKCkgPT4geworICAgICAgY29uc3Qg
Q29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvclJlYWxtLldlYkFzc2VtYmx5W2ludGVyZmFjZU5hbWVd
OworICAgICAgY29uc3Qgb2JqZWN0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoQ29uc3RydWN0b3IsIFtj
b25zdHJ1Y3RvckFyZ10sIG5ld1RhcmdldCk7CisKKyAgICAgIGNvbnN0IE5ld1RhcmdldENvbnN0
cnVjdG9yID0gbmV3VGFyZ2V0UmVhbG0uV2ViQXNzZW1ibHlbaW50ZXJmYWNlTmFtZV07CisgICAg
ICBhc3NlcnRfdHJ1ZShvYmplY3QgaW5zdGFuY2VvZiBOZXdUYXJnZXRDb25zdHJ1Y3Rvcik7Cisg
ICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpLCBOZXdUYXJn
ZXRDb25zdHJ1Y3Rvci5wcm90b3R5cGUpOworICAgIH0sIGBXZWJBc3NlbWJseS4ke2ludGVyZmFj
ZU5hbWV9OiAke3Rlc3REZXNjcmlwdGlvbn1gKTsKKyAgfQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvdGFibGUvYXNzZXJ0aW9ucy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9hc3NlcnRpb25zLmpzCmluZGV4
IGRkZTJmZDc3MDkwNDIwN2ExZjlmMjg3ZmE0OGQ4Mjk1NGE0MThmMmUuLmIxYWVhZjFhNjVkYWI3
NDhjNTZjOGNkZjljMTM5M2Y5N2JmZGYwZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9hc3NlcnRpb25zLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS90YWJsZS9hc3NlcnRpb25zLmpzCkBAIC0xLDExICsxLDEzIEBACiBmdW5jdGlvbiBhc3Nl
cnRfZXF1YWxfdG9fYXJyYXkodGFibGUsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CiAgIGFzc2VydF9l
cXVhbHModGFibGUubGVuZ3RoLCBleHBlY3RlZC5sZW5ndGgsIGAke21lc3NhZ2V9OiBsZW5ndGhg
KTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgUmFuZ2VFcnJvcigpLCAoKSA9PiB0YWJsZS5nZXQoLTEp
LCBgJHttZXNzYWdlfTogdGFibGUuZ2V0KC0xKWApOworICAvLyBUaGUgYXJndW1lbnQgY2hlY2sg
aW4gZ2V0KCkgaGFwcGVucyBiZWZvcmUgdGhlIHJhbmdlIGNoZWNrLCBhbmQgbmVnYXRpdmUgbnVt
YmVycworICAvLyBhcmUgaWxsZWdhbCwgaGVuY2Ugd2lsbCB0aHJvdyBUeXBlRXJyb3IgcGVyIHNw
ZWMuCisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5nZXQoLTEpLCBg
JHttZXNzYWdlfTogdGFibGUuZ2V0KC0xKWApOwogICBmb3IgKGxldCBpID0gMDsgaSA8IGV4cGVj
dGVkLmxlbmd0aDsgKytpKSB7CiAgICAgYXNzZXJ0X2VxdWFscyh0YWJsZS5nZXQoaSksIGV4cGVj
dGVkW2ldLCBgJHttZXNzYWdlfTogdGFibGUuZ2V0KCR7aX0gb2YgJHtleHBlY3RlZC5sZW5ndGh9
KWApOwogICB9Ci0gIGFzc2VydF90aHJvd3MobmV3IFJhbmdlRXJyb3IoKSwgKCkgPT4gdGFibGUu
Z2V0KGV4cGVjdGVkLmxlbmd0aCksCi0gICAgICAgICAgICAgICAgYCR7bWVzc2FnZX06IHRhYmxl
LmdldCgke2V4cGVjdGVkLmxlbmd0aH0gb2YgJHtleHBlY3RlZC5sZW5ndGh9KWApOwotICBhc3Nl
cnRfdGhyb3dzKG5ldyBSYW5nZUVycm9yKCksICgpID0+IHRhYmxlLmdldChleHBlY3RlZC5sZW5n
dGggKyAxKSwKLSAgICAgICAgICAgICAgICBgJHttZXNzYWdlfTogdGFibGUuZ2V0KCR7ZXhwZWN0
ZWQubGVuZ3RoICsgMX0gb2YgJHtleHBlY3RlZC5sZW5ndGh9KWApOworICBhc3NlcnRfdGhyb3dz
X2pzKFJhbmdlRXJyb3IsICgpID0+IHRhYmxlLmdldChleHBlY3RlZC5sZW5ndGgpLAorICAgICAg
ICAgICAgICAgICAgIGAke21lc3NhZ2V9OiB0YWJsZS5nZXQoJHtleHBlY3RlZC5sZW5ndGh9IG9m
ICR7ZXhwZWN0ZWQubGVuZ3RofSlgKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhSYW5nZUVycm9yLCAo
KSA9PiB0YWJsZS5nZXQoZXhwZWN0ZWQubGVuZ3RoICsgMSksCisgICAgICAgICAgICAgICAgICAg
YCR7bWVzc2FnZX06IHRhYmxlLmdldCgke2V4cGVjdGVkLmxlbmd0aCArIDF9IG9mICR7ZXhwZWN0
ZWQubGVuZ3RofSlgKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNt
L2pzYXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS1leHBlY3RlZC50eHQKaW5kZXggYTMxMjUwNTA3
MTZkNzk2YTI4NjVjNjg0YzY4NzVhMzU0ODQxYTA3NC4uZTY4NWNmNDMzOWZhYWQ3MzNmNDdmMDJh
OGIwZWZmYjFkNzIwZDgzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS1leHBlY3RlZC50eHQKQEAgLTIyLDYgKzIy
LDcgQEAgUEFTUyBPdXQtb2YtcmFuZ2UgbWF4aW11bSB2YWx1ZSBpbiBkZXNjcmlwdG9yOiA2ODcx
OTQ3NjczNgogUEFTUyBJbml0aWFsIHZhbHVlIGV4Y2VlZHMgbWF4aW11bSAKIFBBU1MgQmFzaWMg
KHplcm8pIAogUEFTUyBCYXNpYyAobm9uLXplcm8pIAorUEFTUyBTdHJheSBhcmd1bWVudCAKIFBB
U1MgUHJveHkgZGVzY3JpcHRvciAKIFBBU1MgVHlwZSBjb252ZXJzaW9uIGZvciBkZXNjcmlwdG9y
LmVsZW1lbnQgCiBQQVNTIE9yZGVyIG9mIGV2YWx1YXRpb24gZm9yIGRlc2NyaXB0b3IgCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvdGFibGUvY29uc3RydWN0b3IuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS5qcwpp
bmRleCBlOTI0YmRiMmJhNDJjNjdiY2M2ZDRhOTQ5YzJlZWI1MGVhYzYzZTMxLi41YzlhNmYxM2Q5
MWViYTA5OGFiNTllODkzMTQ1MjIyMzc1ZTFiNmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvY29uc3RydWN0
b3IuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnkuanMKQEAgLTIxLDE2ICsyMSwxNiBA
QCB0ZXN0KCgpID0+IHsKIH0sICJsZW5ndGgiKTsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuVGFibGUoKSk7Cisg
IGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuVGFibGUo
KSk7CiB9LCAiTm8gYXJndW1lbnRzIik7CiAKIHRlc3QoKCkgPT4gewogICBjb25zdCBhcmd1bWVu
dCA9IHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogMCB9OwotICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gV2ViQXNzZW1ibHkuVGFibGUoYXJndW1lbnQpKTsK
KyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IFdlYkFzc2VtYmx5LlRhYmxlKGFy
Z3VtZW50KSk7CiB9LCAiQ2FsbGluZyIpOwogCiB0ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7fSkpOworICBh
c3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKHt9
KSk7CiB9LCAiRW1wdHkgZGVzY3JpcHRvciIpOwogCiB0ZXN0KCgpID0+IHsKQEAgLTQ3LDE4ICs0
NywxOCBAQCB0ZXN0KCgpID0+IHsKICAgICB7fSwKICAgXTsKICAgZm9yIChjb25zdCBpbnZhbGlk
QXJndW1lbnQgb2YgaW52YWxpZEFyZ3VtZW50cykgewotICAgIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLAotICAgICAgICAgICAgICAgICAgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRhYmxl
KGludmFsaWRBcmd1bWVudCksCi0gICAgICAgICAgICAgICAgICBgbmV3IFRhYmxlKCR7Zm9ybWF0
X3ZhbHVlKGludmFsaWRBcmd1bWVudCl9KWApOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVy
cm9yLAorICAgICAgICAgICAgICAgICAgICAgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGlu
dmFsaWRBcmd1bWVudCksCisgICAgICAgICAgICAgICAgICAgICBgbmV3IFRhYmxlKCR7Zm9ybWF0
X3ZhbHVlKGludmFsaWRBcmd1bWVudCl9KWApOwogICB9CiB9LCAiSW52YWxpZCBkZXNjcmlwdG9y
IGFyZ3VtZW50Iik7CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IoKSwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKHsgImVsZW1lbnQiOiAiYW55ZnVuYyIs
ICJpbml0aWFsIjogdW5kZWZpbmVkIH0pKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3Is
ICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5p
dGlhbCI6IHVuZGVmaW5lZCB9KSk7CiB9LCAiVW5kZWZpbmVkIGluaXRpYWwgdmFsdWUgaW4gZGVz
Y3JpcHRvciIpOwogCiB0ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVtZW50IjogdW5kZWZpbmVkLCAi
aW5pdGlhbCI6IDAgfSkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gbmV3
IFdlYkFzc2VtYmx5LlRhYmxlKHsgImVsZW1lbnQiOiB1bmRlZmluZWQsICJpbml0aWFsIjogMCB9
KSk7CiB9LCAiVW5kZWZpbmVkIGVsZW1lbnQgdmFsdWUgaW4gZGVzY3JpcHRvciIpOwogCiBjb25z
dCBvdXRPZlJhbmdlVmFsdWVzID0gWwpAQCAtNzIsMTYgKzcyLDE2IEBAIGNvbnN0IG91dE9mUmFu
Z2VWYWx1ZXMgPSBbCiAKIGZvciAoY29uc3QgdmFsdWUgb2Ygb3V0T2ZSYW5nZVZhbHVlcykgewog
ICB0ZXN0KCgpID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4g
bmV3IFdlYkFzc2VtYmx5LlRhYmxlKHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjog
dmFsdWUgfSkpOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBuZXcgV2Vi
QXNzZW1ibHkuVGFibGUoeyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiB2YWx1ZSB9
KSk7CiAgIH0sIGBPdXQtb2YtcmFuZ2UgaW5pdGlhbCB2YWx1ZSBpbiBkZXNjcmlwdG9yOiAke2Zv
cm1hdF92YWx1ZSh2YWx1ZSl9YCk7CiAKICAgdGVzdCgoKSA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksICgpID0+IG5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ICJlbGVtZW50
IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDAsICJtYXhpbXVtIjogdmFsdWUgfSkpOworICAgIGFz
c2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBuZXcgV2ViQXNzZW1ibHkuVGFibGUoeyAi
ZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiAwLCAibWF4aW11bSI6IHZhbHVlIH0pKTsK
ICAgfSwgYE91dC1vZi1yYW5nZSBtYXhpbXVtIHZhbHVlIGluIGRlc2NyaXB0b3I6ICR7Zm9ybWF0
X3ZhbHVlKHZhbHVlKX1gKTsKIH0KIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3
IFJhbmdlRXJyb3IoKSwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKHsgImVsZW1lbnQiOiAi
YW55ZnVuYyIsICJpbml0aWFsIjogMTAsICJtYXhpbXVtIjogOSB9KSk7CisgIGFzc2VydF90aHJv
d3NfanMoUmFuZ2VFcnJvciwgKCkgPT4gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKHsgImVsZW1lbnQi
OiAiYW55ZnVuYyIsICJpbml0aWFsIjogMTAsICJtYXhpbXVtIjogOSB9KSk7CiB9LCAiSW5pdGlh
bCB2YWx1ZSBleGNlZWRzIG1heGltdW0iKTsKIAogdGVzdCgoKSA9PiB7CkBAIC05Niw2ICs5Niwx
MiBAQCB0ZXN0KCgpID0+IHsKICAgYXNzZXJ0X1RhYmxlKHRhYmxlLCB7ICJsZW5ndGgiOiA1IH0p
OwogfSwgIkJhc2ljIChub24temVybykiKTsKIAordGVzdCgoKSA9PiB7CisgIGNvbnN0IGFyZ3Vt
ZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiAwIH07CisgIGNvbnN0IHRh
YmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFyZ3VtZW50LCB7fSk7CisgIGFzc2VydF9UYWJs
ZSh0YWJsZSwgeyAibGVuZ3RoIjogMCB9KTsKK30sICJTdHJheSBhcmd1bWVudCIpOworCiB0ZXN0
KCgpID0+IHsKICAgY29uc3QgcHJveHkgPSBuZXcgUHJveHkoe30sIHsKICAgICBoYXMobywgeCkg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Rh
YmxlL2NvbnN0cnVjdG9yLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGEzMTI1MDUwNzE2
ZDc5NmEyODY1YzY4NGM2ODc1YTM1NDg0MWEwNzQuLmU2ODVjZjQzMzlmYWFkNzMzZjQ3ZjAyYThi
MGVmZmIxZDcyMGQ4M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvdGFibGUvY29uc3RydWN0b3IuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
QEAgLTIyLDYgKzIyLDcgQEAgUEFTUyBPdXQtb2YtcmFuZ2UgbWF4aW11bSB2YWx1ZSBpbiBkZXNj
cmlwdG9yOiA2ODcxOTQ3NjczNgogUEFTUyBJbml0aWFsIHZhbHVlIGV4Y2VlZHMgbWF4aW11bSAK
IFBBU1MgQmFzaWMgKHplcm8pIAogUEFTUyBCYXNpYyAobm9uLXplcm8pIAorUEFTUyBTdHJheSBh
cmd1bWVudCAKIFBBU1MgUHJveHkgZGVzY3JpcHRvciAKIFBBU1MgVHlwZSBjb252ZXJzaW9uIGZv
ciBkZXNjcmlwdG9yLmVsZW1lbnQgCiBQQVNTIE9yZGVyIG9mIGV2YWx1YXRpb24gZm9yIGRlc2Ny
aXB0b3IgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ2V0LXNldC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dl
dC1zZXQuYW55LWV4cGVjdGVkLnR4dAppbmRleCBkYWMzMjg0MWFhZWI1NGYyY2ZjNzg1ZjM2MGZl
NmFmNjdlYWIyNDY0Li44OTlmODU2OGJkNWY0OWRjNGRlZGUzMTU2NDA2YThkZGU5M2E2MjRkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvdGFibGUvZ2V0LXNldC5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9nZXQtc2V0
LmFueS1leHBlY3RlZC50eHQKQEAgLTMsMTIgKzMsMTIgQEAgUEFTUyBNaXNzaW5nIGFyZ3VtZW50
czogZ2V0CiBQQVNTIEJyYW5kaW5nOiBnZXQgCiBQQVNTIE1pc3NpbmcgYXJndW1lbnRzOiBzZXQg
CiBQQVNTIEJyYW5kaW5nOiBzZXQgCi1GQUlMIEJhc2ljIGFzc2VydF90aHJvd3M6IHVuZGVmaW5l
ZDogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2Jq
ZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTog
WzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3Ii
ICgiUmFuZ2VFcnJvciIpCi1GQUlMIEdyb3dpbmcgYXNzZXJ0X3Rocm93czogdW5kZWZpbmVkOiB0
YWJsZS5nZXQoLTEpIGZ1bmN0aW9uICIoKSA9PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBvYmplY3Qg
IlR5cGVFcnJvcjogRXhwZWN0IGFuIGludGVnZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdlOiBbMCwg
Ml4zMiAtIDFdIiAoIlR5cGVFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJvciIgKCJS
YW5nZUVycm9yIikKLUZBSUwgU2V0dGluZyBvdXQtb2YtYm91bmRzIGFzc2VydF90aHJvd3M6IHVu
ZGVmaW5lZDogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhy
ZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSBy
YW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdl
RXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlMIFNldHRpbmcgbm9uLWZ1bmN0aW9uIGFzc2VydF90
aHJvd3M6IHVuZGVmaW5lZDogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAiKCkgPT4gdGFibGUuZ2V0
KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBpbnRlZ2VyIGFyZ3VtZW50
IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmpl
Y3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlMIFNldHRpbmcgbm9uLXdhc20gZnVu
Y3Rpb24gYXNzZXJ0X3Rocm93czogdW5kZWZpbmVkOiB0YWJsZS5nZXQoLTEpIGZ1bmN0aW9uICIo
KSA9PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogRXhwZWN0IGFuIGlu
dGVnZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdlOiBbMCwgMl4zMiAtIDFdIiAoIlR5cGVFcnJvciIp
IGV4cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJvciIgKCJSYW5nZUVycm9yIikKLUZBSUwgU2V0dGlu
ZyBub24td2FzbSBhcnJvdyBmdW5jdGlvbiBhc3NlcnRfdGhyb3dzOiB1bmRlZmluZWQ6IHRhYmxl
LmdldCgtMSkgZnVuY3Rpb24gIigpID0+IHRhYmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlw
ZUVycm9yOiBFeHBlY3QgYW4gaW50ZWdlciBhcmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMy
IC0gMV0iICgiVHlwZUVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdl
RXJyb3IiKQorUEFTUyBCYXNpYyAKK1BBU1MgR3Jvd2luZyAKK1BBU1MgU2V0dGluZyBvdXQtb2Yt
Ym91bmRzIAorUEFTUyBTZXR0aW5nIG5vbi1mdW5jdGlvbiAKK1BBU1MgU2V0dGluZyBub24td2Fz
bSBmdW5jdGlvbiAKK1BBU1MgU2V0dGluZyBub24td2FzbSBhcnJvdyBmdW5jdGlvbiAKIFBBU1Mg
R2V0dGluZyBvdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IHVuZGVmaW5lZCAKIFBBU1MgU2V0dGluZyBv
dXQtb2YtcmFuZ2UgYXJndW1lbnQ6IHVuZGVmaW5lZCAKIFBBU1MgR2V0dGluZyBvdXQtb2YtcmFu
Z2UgYXJndW1lbnQ6IE5hTiAKQEAgLTI4LDQgKzI4LDUgQEAgUEFTUyBTZXR0aW5nIG91dC1vZi1y
YW5nZSBhcmd1bWVudDogIjB4MTAwMDAwMDAwIgogUEFTUyBHZXR0aW5nIG91dC1vZi1yYW5nZSBh
cmd1bWVudDogb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iIAogUEFTUyBTZXR0aW5nIG91dC1vZi1y
YW5nZSBhcmd1bWVudDogb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iIAogUEFTUyBPcmRlciBvZiBh
cmd1bWVudCBjb252ZXJzaW9uIAorUEFTUyBTdHJheSBhcmd1bWVudCAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Rh
YmxlL2dldC1zZXQuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dldC1zZXQuYW55LmpzCmluZGV4IDJiYjQzYTkzMDhk
NzMyYjViNmZhNjg5YzE4MWFjNDExODgwYzM3MzMuLjRlMGE1ZjhjMTA0OGY0Yjc3MWMzOGZmMGFl
Zjk5MTBlZDM3YjI1YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9nZXQtc2V0LmFueS5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUv
Z2V0LXNldC5hbnkuanMKQEAgLTEsMjMgKzEsMTggQEAKIC8vIE1FVEE6IGdsb2JhbD1qc3NoZWxs
Ci0vLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1jb25zdGFudHMuanMKIC8vIE1FVEE6
IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAvLyBNRVRBOiBzY3Jp
cHQ9YXNzZXJ0aW9ucy5qcwogCi1sZXQgZnVuY3Rpb25zOworbGV0IGZ1bmN0aW9ucyA9IHt9Owog
c2V0dXAoKCkgPT4gewogICBjb25zdCBidWlsZGVyID0gbmV3IFdhc21Nb2R1bGVCdWlsZGVyKCk7
CiAKICAgYnVpbGRlcgogICAgIC5hZGRGdW5jdGlvbigiZm4iLCBrU2lnX3ZfZCkKLSAgICAuYWRk
Qm9keShbCi0gICAgICAgIGtFeHByRW5kCi0gICAgXSkKKyAgICAuYWRkQm9keShbXSkKICAgICAu
ZXhwb3J0RnVuYygpOwogICBidWlsZGVyCiAgICAgLmFkZEZ1bmN0aW9uKCJmbjIiLCBrU2lnX3Zf
dikKLSAgICAuYWRkQm9keShbCi0gICAgICAgIGtFeHByRW5kCi0gICAgXSkKKyAgICAuYWRkQm9k
eShbXSkKICAgICAuZXhwb3J0RnVuYygpOwogCiAgIGNvbnN0IGJ1ZmZlciA9IGJ1aWxkZXIudG9C
dWZmZXIoKQpAQCAtMjksNyArMjQsNyBAQCBzZXR1cCgoKSA9PiB7CiB0ZXN0KCgpID0+IHsKICAg
Y29uc3QgYXJndW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDUgfTsK
ICAgY29uc3QgdGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJndW1lbnQpOwotICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gdGFibGUuZ2V0KCkpOworICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuZ2V0KCkpOwogfSwgIk1pc3NpbmcgYXJn
dW1lbnRzOiBnZXQiKTsKIAogdGVzdCh0ID0+IHsKQEAgLTUzLDE1ICs0OCwxNSBAQCB0ZXN0KHQg
PT4gewogICBjb25zdCBmbiA9IFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZS5nZXQ7CiAKICAg
Zm9yIChjb25zdCB0aGlzVmFsdWUgb2YgdGhpc1ZhbHVlcykgewotICAgIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCAoKSA9PiBmbi5jYWxsKHRoaXNWYWx1ZSwgYXJndW1lbnQpLCBgdGhp
cz0ke2Zvcm1hdF92YWx1ZSh0aGlzVmFsdWUpfWApOworICAgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCAoKSA9PiBmbi5jYWxsKHRoaXNWYWx1ZSwgYXJndW1lbnQpLCBgdGhpcz0ke2Zvcm1h
dF92YWx1ZSh0aGlzVmFsdWUpfWApOwogICB9CiB9LCAiQnJhbmRpbmc6IGdldCIpOwogCiB0ZXN0
KCgpID0+IHsKICAgY29uc3QgYXJndW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5p
dGlhbCI6IDUgfTsKICAgY29uc3QgdGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJndW1l
bnQpOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gdGFibGUuc2V0KCkp
OwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gdGFibGUuc2V0KDApKTsK
KyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLnNldCgpKTsKKyAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLnNldCgwKSk7CiB9LCAiTWlzc2lu
ZyBhcmd1bWVudHM6IHNldCIpOwogCiB0ZXN0KHQgPT4gewpAQCAtODUsNyArODAsNyBAQCB0ZXN0
KHQgPT4gewogICBjb25zdCBmbiA9IFdlYkFzc2VtYmx5LlRhYmxlLnByb3RvdHlwZS5zZXQ7CiAK
ICAgZm9yIChjb25zdCB0aGlzVmFsdWUgb2YgdGhpc1ZhbHVlcykgewotICAgIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBmbi5jYWxsKHRoaXNWYWx1ZSwgYXJndW1lbnQsIG51
bGwpLCBgdGhpcz0ke2Zvcm1hdF92YWx1ZSh0aGlzVmFsdWUpfWApOworICAgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiBmbi5jYWxsKHRoaXNWYWx1ZSwgYXJndW1lbnQsIG51bGwp
LCBgdGhpcz0ke2Zvcm1hdF92YWx1ZSh0aGlzVmFsdWUpfWApOwogICB9CiB9LCAiQnJhbmRpbmc6
IHNldCIpOwogCkBAIC0xMzEsOCArMTI2LDEwIEBAIHRlc3QoKCkgPT4gewogCiAgIGNvbnN0IHtm
bn0gPSBmdW5jdGlvbnM7CiAKLSAgYXNzZXJ0X3Rocm93cyhuZXcgUmFuZ2VFcnJvcigpLCAoKSA9
PiB0YWJsZS5zZXQoLTEsIGZuKSk7Ci0gIGFzc2VydF90aHJvd3MobmV3IFJhbmdlRXJyb3IoKSwg
KCkgPT4gdGFibGUuc2V0KDUsIGZuKSk7CisgIC8vIC0xIGlzIHRoZSB3cm9uZyB0eXBlIGhlbmNl
IHRoZSB0eXBlIGNoZWNrIG9uIGVudHJ5IGdldHMgdGhpcworICAvLyBiZWZvcmUgdGhlIHJhbmdl
IGNoZWNrIGRvZXMuCisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5z
ZXQoLTEsIGZuKSk7CisgIGFzc2VydF90aHJvd3NfanMoUmFuZ2VFcnJvciwgKCkgPT4gdGFibGUu
c2V0KDUsIGZuKSk7CiAgIGFzc2VydF9lcXVhbF90b19hcnJheSh0YWJsZSwgW251bGwsIG51bGws
IG51bGwsIG51bGwsIG51bGxdKTsKIH0sICJTZXR0aW5nIG91dC1vZi1ib3VuZHMiKTsKIApAQCAt
MTUyLDggKzE0OSw4IEBAIHRlc3QoKCkgPT4gewogICAgIHt9LAogICBdOwogICBmb3IgKGNvbnN0
IGFyZ3VtZW50IG9mIGludmFsaWRBcmd1bWVudHMpIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IoKSwgKCkgPT4gdGFibGUuc2V0KDAsIGFyZ3VtZW50KSwKLSAgICAgICAgICAgICAg
ICAgIGBzZXQoJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKKyAgICBhc3NlcnRfdGhyb3dz
X2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuc2V0KDAsIGFyZ3VtZW50KSwKKyAgICAgICAgICAg
ICAgICAgICAgIGBzZXQoJHtmb3JtYXRfdmFsdWUoYXJndW1lbnQpfSlgKTsKICAgfQogICBhc3Nl
cnRfZXF1YWxfdG9fYXJyYXkodGFibGUsIFtudWxsXSk7CiB9LCAiU2V0dGluZyBub24tZnVuY3Rp
b24iKTsKQEAgLTE2NCw3ICsxNjEsNyBAQCB0ZXN0KCgpID0+IHsKICAgYXNzZXJ0X2VxdWFsX3Rv
X2FycmF5KHRhYmxlLCBbbnVsbF0pOwogCiAgIGNvbnN0IGZuID0gZnVuY3Rpb24oKSB7fTsKLSAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLnNldCgwLCBmbikpOwor
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuc2V0KDAsIGZuKSk7CiAg
IGFzc2VydF9lcXVhbF90b19hcnJheSh0YWJsZSwgW251bGxdKTsKIH0sICJTZXR0aW5nIG5vbi13
YXNtIGZ1bmN0aW9uIik7CiAKQEAgLTE3NCw3ICsxNzEsNyBAQCB0ZXN0KCgpID0+IHsKICAgYXNz
ZXJ0X2VxdWFsX3RvX2FycmF5KHRhYmxlLCBbbnVsbF0pOwogCiAgIGNvbnN0IGZuID0gKCkgPT4g
e307Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiB0YWJsZS5zZXQoMCwg
Zm4pKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLnNldCgwLCBm
bikpOwogICBhc3NlcnRfZXF1YWxfdG9fYXJyYXkodGFibGUsIFtudWxsXSk7CiB9LCAiU2V0dGlu
ZyBub24td2FzbSBhcnJvdyBmdW5jdGlvbiIpOwogCkBAIC0xOTQsMTMgKzE5MSwxMyBAQCBmb3Ig
KGNvbnN0IHZhbHVlIG9mIG91dE9mUmFuZ2VWYWx1ZXMpIHsKICAgdGVzdCgoKSA9PiB7CiAgICAg
Y29uc3QgYXJndW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDEgfTsK
ICAgICBjb25zdCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1bWVudCk7Ci0gICAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHRhYmxlLmdldCh2YWx1ZSkpOwor
ICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5nZXQodmFsdWUpKTsK
ICAgfSwgYEdldHRpbmcgb3V0LW9mLXJhbmdlIGFyZ3VtZW50OiAke2Zvcm1hdF92YWx1ZSh2YWx1
ZSl9YCk7CiAKICAgdGVzdCgoKSA9PiB7CiAgICAgY29uc3QgYXJndW1lbnQgPSB7ICJlbGVtZW50
IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDEgfTsKICAgICBjb25zdCB0YWJsZSA9IG5ldyBXZWJB
c3NlbWJseS5UYWJsZShhcmd1bWVudCk7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksICgpID0+IHRhYmxlLnNldCh2YWx1ZSwgbnVsbCkpOworICAgIGFzc2VydF90aHJvd3NfanMo
VHlwZUVycm9yLCAoKSA9PiB0YWJsZS5zZXQodmFsdWUsIG51bGwpKTsKICAgfSwgYFNldHRpbmcg
b3V0LW9mLXJhbmdlIGFyZ3VtZW50OiAke2Zvcm1hdF92YWx1ZSh2YWx1ZSl9YCk7CiB9CiAKQEAg
LTIxNCw3ICsyMTEsMTUgQEAgdGVzdCgoKSA9PiB7CiAgICAgICByZXR1cm4gMDsKICAgICB9LAog
ICB9OwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gdGFibGUuc2V0KHZh
bHVlLCB7fSkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuc2V0
KHZhbHVlLCB7fSkpOwogICBhc3NlcnRfZXF1YWxzKGNhbGxlZCwgMSk7CiB9LCAiT3JkZXIgb2Yg
YXJndW1lbnQgY29udmVyc2lvbiIpOwogCit0ZXN0KCgpID0+IHsKKyAgY29uc3Qge2ZufSA9IGZ1
bmN0aW9uczsKKyAgY29uc3QgYXJndW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5p
dGlhbCI6IDEgfTsKKyAgY29uc3QgdGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJndW1l
bnQpOworCisgIGFzc2VydF9lcXVhbHModGFibGUuZ2V0KDAsIHt9KSwgbnVsbCk7CisgIGFzc2Vy
dF9lcXVhbHModGFibGUuc2V0KDAsIGZuLCB7fSksIHVuZGVmaW5lZCk7Cit9LCAiU3RyYXkgYXJn
dW1lbnQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9nZXQtc2V0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L3RhYmxlL2dldC1zZXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZGFjMzI4NDFhYWVi
NTRmMmNmYzc4NWYzNjBmZTZhZjY3ZWFiMjQ2NC4uODk5Zjg1NjhiZDVmNDlkYzRkZWRlMzE1NjQw
NmE4ZGRlOTNhNjI0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dldC1zZXQuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL3RhYmxlL2dldC1zZXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTMsMTIg
KzMsMTIgQEAgUEFTUyBNaXNzaW5nIGFyZ3VtZW50czogZ2V0CiBQQVNTIEJyYW5kaW5nOiBnZXQg
CiBQQVNTIE1pc3NpbmcgYXJndW1lbnRzOiBzZXQgCiBQQVNTIEJyYW5kaW5nOiBzZXQgCi1GQUlM
IEJhc2ljIGFzc2VydF90aHJvd3M6IHVuZGVmaW5lZDogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAi
KCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBp
bnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3Ii
KSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlMIEdyb3dp
bmcgYXNzZXJ0X3Rocm93czogdW5kZWZpbmVkOiB0YWJsZS5nZXQoLTEpIGZ1bmN0aW9uICIoKSA9
PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogRXhwZWN0IGFuIGludGVn
ZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdlOiBbMCwgMl4zMiAtIDFdIiAoIlR5cGVFcnJvciIpIGV4
cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJvciIgKCJSYW5nZUVycm9yIikKLUZBSUwgU2V0dGluZyBv
dXQtb2YtYm91bmRzIGFzc2VydF90aHJvd3M6IHVuZGVmaW5lZDogdGFibGUuZ2V0KC0xKSBmdW5j
dGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVj
dCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBl
RXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlM
IFNldHRpbmcgbm9uLWZ1bmN0aW9uIGFzc2VydF90aHJvd3M6IHVuZGVmaW5lZDogdGFibGUuZ2V0
KC0xKSBmdW5jdGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJy
b3I6IEV4cGVjdCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAx
XSIgKCJUeXBlRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJv
ciIpCi1GQUlMIFNldHRpbmcgbm9uLXdhc20gZnVuY3Rpb24gYXNzZXJ0X3Rocm93czogdW5kZWZp
bmVkOiB0YWJsZS5nZXQoLTEpIGZ1bmN0aW9uICIoKSA9PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBv
YmplY3QgIlR5cGVFcnJvcjogRXhwZWN0IGFuIGludGVnZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdl
OiBbMCwgMl4zMiAtIDFdIiAoIlR5cGVFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJv
ciIgKCJSYW5nZUVycm9yIikKLUZBSUwgU2V0dGluZyBub24td2FzbSBhcnJvdyBmdW5jdGlvbiBh
c3NlcnRfdGhyb3dzOiB1bmRlZmluZWQ6IHRhYmxlLmdldCgtMSkgZnVuY3Rpb24gIigpID0+IHRh
YmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBFeHBlY3QgYW4gaW50ZWdlciBh
cmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgiVHlwZUVycm9yIikgZXhwZWN0
ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQorUEFTUyBCYXNpYyAKK1BBU1Mg
R3Jvd2luZyAKK1BBU1MgU2V0dGluZyBvdXQtb2YtYm91bmRzIAorUEFTUyBTZXR0aW5nIG5vbi1m
dW5jdGlvbiAKK1BBU1MgU2V0dGluZyBub24td2FzbSBmdW5jdGlvbiAKK1BBU1MgU2V0dGluZyBu
b24td2FzbSBhcnJvdyBmdW5jdGlvbiAKIFBBU1MgR2V0dGluZyBvdXQtb2YtcmFuZ2UgYXJndW1l
bnQ6IHVuZGVmaW5lZCAKIFBBU1MgU2V0dGluZyBvdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IHVuZGVm
aW5lZCAKIFBBU1MgR2V0dGluZyBvdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IE5hTiAKQEAgLTI4LDQg
KzI4LDUgQEAgUEFTUyBTZXR0aW5nIG91dC1vZi1yYW5nZSBhcmd1bWVudDogIjB4MTAwMDAwMDAw
IgogUEFTUyBHZXR0aW5nIG91dC1vZi1yYW5nZSBhcmd1bWVudDogb2JqZWN0ICJbb2JqZWN0IE9i
amVjdF0iIAogUEFTUyBTZXR0aW5nIG91dC1vZi1yYW5nZSBhcmd1bWVudDogb2JqZWN0ICJbb2Jq
ZWN0IE9iamVjdF0iIAogUEFTUyBPcmRlciBvZiBhcmd1bWVudCBjb252ZXJzaW9uIAorUEFTUyBT
dHJheSBhcmd1bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZl
LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy1yZWZ0eXBlcy50ZW50YXRpdmUuYW55LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNjdmZDkzYjE4YTBiNmE1ZGQwMzJlYTA4ZWQ0ZjU0ZjhmOTBj
NjZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK0ZBSUwgR3JvdyB3aXRoIGV4cG9ydGVkLWZ1
bmN0aW9uIGFyZ3VtZW50IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChmdW5jdGlvbikgZnVuY3Rp
b24gImZ1bmN0aW9uIGZuKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgKG9iamVj
dCkgbnVsbAorRkFJTCBHcm93IHdpdGggbm9uLWZ1bmN0aW9uIGFyZ3VtZW50IGFzc2VydF90aHJv
d3NfanM6IGZ1bmN0aW9uICIoKSA9PiB0YWJsZS5ncm93KDIsIHt9KSIgZGlkIG5vdCB0aHJvdwor
RkFJTCBHcm93IHdpdGggSlMtZnVuY3Rpb24gYXJndW1lbnQgYXNzZXJ0X3Rocm93c19qczogZnVu
Y3Rpb24gIigpID0+IHRhYmxlLmdyb3coMiwgKCkgPT4gdHJ1ZSkiIGRpZCBub3QgdGhyb3cKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dy
b3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkz
YjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy1y
ZWZ0eXBlcy50ZW50YXRpdmUuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Rh
YmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LXJlZnR5cGVzLnRl
bnRhdGl2ZS5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWRmYjMzNDk5MWUwNGQyY2FiZmVlYjQ0MjZhZDA1
Mzc5NmM2N2VjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LXJlZnR5cGVzLnRlbnRhdGl2
ZS5hbnkuanMKQEAgLTAsMCArMSw0MiBAQAorLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1F
VEE6IHNjcmlwdD1hc3NlcnRpb25zLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2Fz
bS1jb25zdGFudHMuanMKKy8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1i
dWlsZGVyLmpzCisKKy8vIFRlc3QgY2FzZXMgZm9yIGNoYW5nZXMgdG8gdGhlIFdlYkFzc2VtYmx5
LlRhYmxlLnByb3RvdHlwZS5ncm93KCkgQVBJIHRoYXQKKy8vIGNvbWUgaW4gd2l0aCB0aGUgcmVm
dHlwZXMgcHJvcG9zYWw6IHRoZSBBUEkgdGFrZXMgYSBkZWZhdWx0IGFyZ3VtZW50LCB3aGljaAor
Ly8gZm9yIHRhYmxlcyBvZiBhbnlmdW5jIG11c3QgYmUgZWl0aGVyIGFuIGV4cG9ydGVkIHdhc20g
ZnVuY3Rpb24gb3IgbnVsbC4KKy8vCisvLyBTZWU6CisvLyAgIGh0dHBzOi8vZ2l0aHViLmNvbS9X
ZWJBc3NlbWJseS9yZWZlcmVuY2UtdHlwZXMKKy8vICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxh
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNzQ5MQorLy8gICBodHRwczovL2dpdGh1Yi5jb20vV2Vi
QXNzZW1ibHkvcmVmZXJlbmNlLXR5cGVzL2lzc3Vlcy8yMgorCit0ZXN0KCgpID0+IHsKKyAgY29u
c3QgYnVpbGRlciA9IG5ldyBXYXNtTW9kdWxlQnVpbGRlcigpOworICBidWlsZGVyCisgICAgLmFk
ZEZ1bmN0aW9uKCJmbiIsIGtTaWdfdl92KQorICAgIC5hZGRCb2R5KFtdKQorICAgIC5leHBvcnRG
dW5jKCk7CisgIGNvbnN0IGJpbiA9IGJ1aWxkZXIudG9CdWZmZXIoKQorICBjb25zdCBhcmd1bWVu
dCA9IHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogMSB9OworICBjb25zdCB0YWJs
ZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1bWVudCk7CisgIGNvbnN0IGZuID0gbmV3IFdl
YkFzc2VtYmx5Lkluc3RhbmNlKG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluKSkuZXhwb3J0cy5m
bjsKKyAgY29uc3QgcmVzdWx0ID0gdGFibGUuZ3JvdygyLCBmbik7CisgIGFzc2VydF9lcXVhbHMo
cmVzdWx0LCAxKTsKKyAgYXNzZXJ0X2VxdWFscyh0YWJsZS5nZXQoMCksIG51bGwpOworICBhc3Nl
cnRfZXF1YWxzKHRhYmxlLmdldCgxKSwgZm4pOworICBhc3NlcnRfZXF1YWxzKHRhYmxlLmdldCgy
KSwgZm4pOworfSwgIkdyb3cgd2l0aCBleHBvcnRlZC1mdW5jdGlvbiBhcmd1bWVudCIpOworCit0
ZXN0KCgpID0+IHsKKyAgY29uc3QgYXJndW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAi
aW5pdGlhbCI6IDEgfTsKKyAgY29uc3QgdGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJn
dW1lbnQpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gdGFibGUuZ3Jvdygy
LCB7fSkpOworfSwgIkdyb3cgd2l0aCBub24tZnVuY3Rpb24gYXJndW1lbnQiKTsKKwordGVzdCgo
KSA9PiB7CisgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRp
YWwiOiAxIH07CisgIGNvbnN0IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFyZ3VtZW50
KTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLmdyb3coMiwgKCkg
PT4gdHJ1ZSkpOworfSwgIkdyb3cgd2l0aCBKUy1mdW5jdGlvbiBhcmd1bWVudCIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg2NjZjZWEyZWU4ZDcxNTBiZjUzYzFiNjgwZGYzYTM3NWI1YTBhNTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvdGFibGUvZ3Jvdy1yZWZ0eXBlcy50ZW50YXRpdmUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IE5ldHdvcmtFcnJvcjog
UmVzcG9uc2UgaXMgbm90IDJ4eAorCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IE5l
dHdvcmtFcnJvcjogUmVzcG9uc2UgaXMgbm90IDJ4eAorCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93
LXJlZnR5cGVzLnRlbnRhdGl2ZS5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy1yZWZ0eXBlcy50
ZW50YXRpdmUuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1
NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy1yZWZ0eXBl
cy50ZW50YXRpdmUuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRl
bXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90
YWJsZS9ncm93LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy5hbnktZXhwZWN0ZWQudHh0Cmlu
ZGV4IDYwZDIxZTBkMzhmY2YwNmVjNjI2ZTc2ZTUzMTA3MzE3MGVjYWM2NjEuLjI3ZjJlNTU3NmVl
ZTZhNDllNTViMjJlMGE2YzBkOTMwMjc0YjE4MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LmFueS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3cuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkg
QEAKIAogUEFTUyBNaXNzaW5nIGFyZ3VtZW50cyAKIFBBU1MgQnJhbmRpbmcgCi1GQUlMIEJhc2lj
IGFzc2VydF90aHJvd3M6IGJlZm9yZTogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAiKCkgPT4gdGFi
bGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBpbnRlZ2VyIGFy
Z3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3IiKSBleHBlY3Rl
ZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlMIFJlYWNoZWQgbWF4aW11
bSBhc3NlcnRfdGhyb3dzOiBiZWZvcmU6IHRhYmxlLmdldCgtMSkgZnVuY3Rpb24gIigpID0+IHRh
YmxlLmdldCgtMSkiIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBFeHBlY3QgYW4gaW50ZWdlciBh
cmd1bWVudCBpbiB0aGUgcmFuZ2U6IFswLCAyXjMyIC0gMV0iICgiVHlwZUVycm9yIikgZXhwZWN0
ZWQgb2JqZWN0ICJSYW5nZUVycm9yIiAoIlJhbmdlRXJyb3IiKQotRkFJTCBFeGNlZWRlZCBtYXhp
bXVtIGFzc2VydF90aHJvd3M6IGJlZm9yZTogdGFibGUuZ2V0KC0xKSBmdW5jdGlvbiAiKCkgPT4g
dGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVjdCBhbiBpbnRlZ2Vy
IGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBlRXJyb3IiKSBleHBl
Y3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCitQQVNTIEJhc2ljIAorUEFT
UyBSZWFjaGVkIG1heGltdW0gCitQQVNTIEV4Y2VlZGVkIG1heGltdW0gCiBQQVNTIE91dC1vZi1y
YW5nZSBhcmd1bWVudDogdW5kZWZpbmVkIAogUEFTUyBPdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IE5h
TiAKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiBJbmZpbml0eSAKQEAgLTEzLDQgKzEzLDUg
QEAgUEFTUyBPdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IDQyOTQ5NjcyOTYKIFBBU1MgT3V0LW9mLXJh
bmdlIGFyZ3VtZW50OiA2ODcxOTQ3NjczNiAKIFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiAi
MHgxMDAwMDAwMDAiIAogUEFTUyBPdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IG9iamVjdCAiW29iamVj
dCBPYmplY3RdIiAKK1BBU1MgU3RyYXkgYXJndW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93
LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS90YWJsZS9ncm93LmFueS5qcwppbmRleCBkM2VmYjUxMWU0YjFkYjFlZmEwODkzMjJj
MGEzMDc5NzA1ZGZiZGJkLi5mNTQzY2M2MjBiY2M0Y2NjMGU3MDZkMGRjYjhlNjhhZjQyMTBhMjRl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvdGFibGUvZ3Jvdy5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3cuYW55LmpzCkBAIC04
LDcgKzgsNyBAQCBmdW5jdGlvbiBudWxscyhuKSB7CiB0ZXN0KCgpID0+IHsKICAgY29uc3QgYXJn
dW1lbnQgPSB7ICJlbGVtZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDUgfTsKICAgY29uc3Qg
dGFibGUgPSBuZXcgV2ViQXNzZW1ibHkuVGFibGUoYXJndW1lbnQpOwotICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gdGFibGUuZ3JvdygpKTsKKyAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsICgpID0+IHRhYmxlLmdyb3coKSk7CiB9LCAiTWlzc2luZyBhcmd1bWVudHMi
KTsKIAogdGVzdCh0ID0+IHsKQEAgLTMyLDcgKzMyLDcgQEAgdGVzdCh0ID0+IHsKICAgY29uc3Qg
Zm4gPSBXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUuZ3JvdzsKIAogICBmb3IgKGNvbnN0IHRo
aXNWYWx1ZSBvZiB0aGlzVmFsdWVzKSB7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksICgpID0+IGZuLmNhbGwodGhpc1ZhbHVlLCBhcmd1bWVudCksIGB0aGlzPSR7Zm9ybWF0X3Zh
bHVlKHRoaXNWYWx1ZSl9YCk7CisgICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+
IGZuLmNhbGwodGhpc1ZhbHVlLCBhcmd1bWVudCksIGB0aGlzPSR7Zm9ybWF0X3ZhbHVlKHRoaXNW
YWx1ZSl9YCk7CiAgIH0KIH0sICJCcmFuZGluZyIpOwogCkBAIC02MSw3ICs2MSw3IEBAIHRlc3Qo
KCkgPT4gewogICBjb25zdCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1bWVudCk7
CiAgIGFzc2VydF9lcXVhbF90b19hcnJheSh0YWJsZSwgbnVsbHMoMiksICJiZWZvcmUiKTsKIAot
ICBhc3NlcnRfdGhyb3dzKG5ldyBSYW5nZUVycm9yKCksICgpID0+IHRhYmxlLmdyb3coNCkpOwor
ICBhc3NlcnRfdGhyb3dzX2pzKFJhbmdlRXJyb3IsICgpID0+IHRhYmxlLmdyb3coNCkpOwogICBh
c3NlcnRfZXF1YWxfdG9fYXJyYXkodGFibGUsIG51bGxzKDIpLCAiYWZ0ZXIiKTsKIH0sICJFeGNl
ZWRlZCBtYXhpbXVtIik7CiAKQEAgLTgxLDYgKzgxLDE2IEBAIGZvciAoY29uc3QgdmFsdWUgb2Yg
b3V0T2ZSYW5nZVZhbHVlcykgewogICB0ZXN0KCgpID0+IHsKICAgICBjb25zdCBhcmd1bWVudCA9
IHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogMSB9OwogICAgIGNvbnN0IHRhYmxl
ID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFyZ3VtZW50KTsKLSAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgKCkgPT4gdGFibGUuZ3Jvdyh2YWx1ZSkpOworICAgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiB0YWJsZS5ncm93KHZhbHVlKSk7CiAgIH0sIGBPdXQtb2Yt
cmFuZ2UgYXJndW1lbnQ6ICR7Zm9ybWF0X3ZhbHVlKHZhbHVlKX1gKTsKIH0KKwordGVzdCgoKSA9
PiB7CisgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwi
OiA1IH07CisgIGNvbnN0IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFyZ3VtZW50KTsK
KyAgYXNzZXJ0X2VxdWFsX3RvX2FycmF5KHRhYmxlLCBudWxscyg1KSwgImJlZm9yZSIpOworCisg
IGNvbnN0IHJlc3VsdCA9IHRhYmxlLmdyb3coMywgbnVsbCwge30pOworICBhc3NlcnRfZXF1YWxz
KHJlc3VsdCwgNSk7CisgIGFzc2VydF9lcXVhbF90b19hcnJheSh0YWJsZSwgbnVsbHMoOCksICJh
ZnRlciIpOworfSwgIlN0cmF5IGFyZ3VtZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDYwZDIxZTBkMzhmY2YwNmVjNjI2ZTc2ZTUzMTA3MzE3MGVjYWM2NjEuLjI3ZjJlNTU3NmVl
ZTZhNDllNTViMjJlMGE2YzBkOTMwMjc0YjE4MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDkgKzEsOSBAQAogCiBQQVNTIE1pc3NpbmcgYXJndW1lbnRzIAogUEFTUyBCcmFuZGlu
ZyAKLUZBSUwgQmFzaWMgYXNzZXJ0X3Rocm93czogYmVmb3JlOiB0YWJsZS5nZXQoLTEpIGZ1bmN0
aW9uICIoKSA9PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogRXhwZWN0
IGFuIGludGVnZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdlOiBbMCwgMl4zMiAtIDFdIiAoIlR5cGVF
cnJvciIpIGV4cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJvciIgKCJSYW5nZUVycm9yIikKLUZBSUwg
UmVhY2hlZCBtYXhpbXVtIGFzc2VydF90aHJvd3M6IGJlZm9yZTogdGFibGUuZ2V0KC0xKSBmdW5j
dGlvbiAiKCkgPT4gdGFibGUuZ2V0KC0xKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IEV4cGVj
dCBhbiBpbnRlZ2VyIGFyZ3VtZW50IGluIHRoZSByYW5nZTogWzAsIDJeMzIgLSAxXSIgKCJUeXBl
RXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlJhbmdlRXJyb3IiICgiUmFuZ2VFcnJvciIpCi1GQUlM
IEV4Y2VlZGVkIG1heGltdW0gYXNzZXJ0X3Rocm93czogYmVmb3JlOiB0YWJsZS5nZXQoLTEpIGZ1
bmN0aW9uICIoKSA9PiB0YWJsZS5nZXQoLTEpIiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogRXhw
ZWN0IGFuIGludGVnZXIgYXJndW1lbnQgaW4gdGhlIHJhbmdlOiBbMCwgMl4zMiAtIDFdIiAoIlR5
cGVFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiUmFuZ2VFcnJvciIgKCJSYW5nZUVycm9yIikKK1BB
U1MgQmFzaWMgCitQQVNTIFJlYWNoZWQgbWF4aW11bSAKK1BBU1MgRXhjZWVkZWQgbWF4aW11bSAK
IFBBU1MgT3V0LW9mLXJhbmdlIGFyZ3VtZW50OiB1bmRlZmluZWQgCiBQQVNTIE91dC1vZi1yYW5n
ZSBhcmd1bWVudDogTmFOIAogUEFTUyBPdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IEluZmluaXR5IApA
QCAtMTMsNCArMTMsNSBAQCBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVudDogNDI5NDk2NzI5Ngog
UEFTUyBPdXQtb2YtcmFuZ2UgYXJndW1lbnQ6IDY4NzE5NDc2NzM2IAogUEFTUyBPdXQtb2YtcmFu
Z2UgYXJndW1lbnQ6ICIweDEwMDAwMDAwMCIgCiBQQVNTIE91dC1vZi1yYW5nZSBhcmd1bWVudDog
b2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iIAorUEFTUyBTdHJheSBhcmd1bWVudCAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL3RhYmxlL2xlbmd0aC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2xlbmd0aC5hbnktZXhwZWN0
ZWQudHh0CmluZGV4IDY3MGYyODExZjI2OWQyMmFlOWMzZDM3Mzg3N2JmZjQ5ZDFjZWYyNjUuLmQ0
NWY2Zjg0ODUwNWIxNmM0ZjRkYTk0MGQwOTNiM2JjZTlmNGVjMTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9s
ZW5ndGguYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvbGVuZ3RoLmFueS1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw2IEBACiAKIFBBU1MgQnJhbmRpbmcgCitQQVNTIFN0cmF5IGFyZ3VtZW50IAog
UEFTUyBTZXR0aW5nIChzbG9wcHkgbW9kZSkgCiBQQVNTIFNldHRpbmcgKHN0cmljdCBtb2RlKSAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL3RhYmxlL2xlbmd0aC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvbGVuZ3RoLmFueS5qcwppbmRl
eCBhNmE5NjYxZGJhZGRjODAwY2I5OWI3YjhlMmI4MDRjYjBjOGUzYzYyLi5mNGUxMTQ4NDc5NzI5
MDYxYTdmNDBlNjgzMTFhZGQ0M2UwYzUxYjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvbGVuZ3RoLmFueS5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvdGFibGUvbGVuZ3RoLmFueS5qcwpAQCAtMjIsMTAgKzIyLDI0IEBAIHRlc3QoKCkgPT4g
ewogICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZXNjLnNldCwgInVuZGVmaW5lZCIpOwogCiAgIGZv
ciAoY29uc3QgdGhpc1ZhbHVlIG9mIHRoaXNWYWx1ZXMpIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgKCkgPT4gZ2V0dGVyLmNhbGwodGhpc1ZhbHVlKSwgYHRoaXM9JHtmb3Jt
YXRfdmFsdWUodGhpc1ZhbHVlKX1gKTsKKyAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwg
KCkgPT4gZ2V0dGVyLmNhbGwodGhpc1ZhbHVlKSwgYHRoaXM9JHtmb3JtYXRfdmFsdWUodGhpc1Zh
bHVlKX1gKTsKICAgfQogfSwgIkJyYW5kaW5nIik7CiAKK3Rlc3QoKCkgPT4geworICBjb25zdCBh
cmd1bWVudCA9IHsgImVsZW1lbnQiOiAiYW55ZnVuYyIsICJpbml0aWFsIjogMiB9OworICBjb25z
dCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJsZShhcmd1bWVudCk7CisgIGFzc2VydF9lcXVh
bHModGFibGUubGVuZ3RoLCAyLCAiSW5pdGlhbCBsZW5ndGgiKTsKKworICBjb25zdCBkZXNjID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5
cGUsICJsZW5ndGgiKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVzYywgIm9iamVjdCIpOwor
CisgIGNvbnN0IGdldHRlciA9IGRlc2MuZ2V0OworICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBnZXR0
ZXIsICJmdW5jdGlvbiIpOworCisgIGFzc2VydF9lcXVhbHMoZ2V0dGVyLmNhbGwodGFibGUsIHt9
KSwgMik7Cit9LCAiU3RyYXkgYXJndW1lbnQiKTsKKwogdGVzdCgoKSA9PiB7CiAgIGNvbnN0IGFy
Z3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5jIiwgImluaXRpYWwiOiAyIH07CiAgIGNvbnN0
IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxlKGFyZ3VtZW50KTsKQEAgLTM4LDcgKzUyLDcg
QEAgdGVzdCgoKSA9PiB7CiAgIGNvbnN0IGFyZ3VtZW50ID0geyAiZWxlbWVudCI6ICJhbnlmdW5j
IiwgImluaXRpYWwiOiAyIH07CiAgIGNvbnN0IHRhYmxlID0gbmV3IFdlYkFzc2VtYmx5LlRhYmxl
KGFyZ3VtZW50KTsKICAgYXNzZXJ0X2VxdWFscyh0YWJsZS5sZW5ndGgsIDIsICJJbml0aWFsIGxl
bmd0aCIpOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4geworICBhc3Nl
cnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewogICAgICJ1c2Ugc3RyaWN0IjsKICAgICB0
YWJsZS5sZW5ndGggPSA0OwogICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9sZW5ndGguYW55Lndvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvdGFibGUvbGVuZ3RoLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4
IDY3MGYyODExZjI2OWQyMmFlOWMzZDM3Mzg3N2JmZjQ5ZDFjZWYyNjUuLmQ0NWY2Zjg0ODUwNWIx
NmM0ZjRkYTk0MGQwOTNiM2JjZTlmNGVjMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9sZW5ndGguYW55Lndv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2xlbmd0aC5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dApAQCAtMSw1ICsxLDYgQEAKIAogUEFTUyBCcmFuZGluZyAKK1BBU1MgU3RyYXkgYXJndW1lbnQg
CiBQQVNTIFNldHRpbmcgKHNsb3BweSBtb2RlKSAKIFBBU1MgU2V0dGluZyAoc3RyaWN0IG1vZGUp
IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dhc20vanNhcGkvdGFibGUvdG9TdHJpbmcuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS90b1N0
cmluZy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IDkyM2Q2MzM5OGQ0YWZlZGFmNzZjMzc3ODBhOGQ1
Njg5ZTQ3ZmRjOTUuLmIwNDdkMzE1NDY4NTc2YzVmMDZlYWQxYTg0YmE2YWY5NmJkYWM4YjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS90YWJsZS90b1N0cmluZy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS90b1N0cmlu
Zy5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogCiBQQVNTIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcgb24gYW4gVGFibGUgCitGQUlMIEBAdG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRo
ZSBwcm90b3R5cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciBhc3NlcnRfb3duX3By
b3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSBzeW1ib2wgIlN5bWJvbChTeW1ib2wudG9TdHJpbmdU
YWcpIiBtaXNzaW5nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS90b1N0cmluZy5hbnkuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvdG9T
dHJpbmcuYW55LmpzCmluZGV4IGU1NzY0Nzc5MTBhZDMxOThiNDQ2YjRhZGRmODliYTlhNTcxZDAy
MGIuLjcwOGMxN2IzYWNhZGZkZTJjOWFiZGEzMDBjMmQ1N2U2MWY1YTcwY2UgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90
YWJsZS90b1N0cmluZy5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL3RvU3RyaW5nLmFueS5qcwpAQCAtNSwzICs1
LDEzIEBAIHRlc3QoKCkgPT4gewogICBjb25zdCB0YWJsZSA9IG5ldyBXZWJBc3NlbWJseS5UYWJs
ZShhcmd1bWVudCk7CiAgIGFzc2VydF9jbGFzc19zdHJpbmcodGFibGUsICJXZWJBc3NlbWJseS5U
YWJsZSIpOwogfSwgIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgb24gYW4gVGFibGUiKTsKKwor
dGVzdCgoKSA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkoV2ViQXNzZW1ibHkuVGFibGUucHJv
dG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpOworCisgIGNvbnN0IHByb3BEZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihXZWJBc3NlbWJseS5UYWJsZS5wcm90b3R5cGUsIFN5
bWJvbC50b1N0cmluZ1RhZyk7CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2MudmFsdWUsICJXZWJB
c3NlbWJseS5UYWJsZSIsICJ2YWx1ZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLmNvbmZp
Z3VyYWJsZSwgdHJ1ZSwgImNvbmZpZ3VyYWJsZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNj
LmVudW1lcmFibGUsIGZhbHNlLCAiZW51bWVyYWJsZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BE
ZXNjLndyaXRhYmxlLCBmYWxzZSwgIndyaXRhYmxlIik7Cit9LCAiQEB0b1N0cmluZ1RhZyBleGlz
dHMgb24gdGhlIHByb3RvdHlwZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBkZXNjcmlwdG9yIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvdGFibGUvdG9TdHJpbmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvdG9T
dHJpbmcuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggOTIzZDYzMzk4ZDRhZmVkYWY3NmMz
Nzc4MGE4ZDU2ODllNDdmZGM5NS4uYjA0N2QzMTU0Njg1NzZjNWYwNmVhZDFhODRiYTZhZjk2YmRh
YzhiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL3RhYmxlL3RvU3RyaW5nLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS90YWJsZS90b1N0cmluZy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAK
IAogUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIG9uIGFuIFRhYmxlIAorRkFJTCBAQHRv
U3RyaW5nVGFnIGV4aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRl
c2NyaXB0b3IgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJT
eW1ib2woU3ltYm9sLnRvU3RyaW5nVGFnKSIgbWlzc2luZwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvdGFibGUvdzNjLWltcG9ydC5sb2cKaW5kZXggNmE5ZWNjZTY1ZDMwMGYwYTgx
NmU3NTEzODM2MjUwNDcxNWZkMmI4My4uNjcyMGY3YjU2MmEwNTFhM2FhNmY0ZWYyZmViMDcxMTYy
YzdlMDMyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS93M2MtaW1w
b3J0LmxvZwpAQCAtMTcsNiArMTcsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9hc3NlcnRpb25z
LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9nZXQtc2V0LmFueS5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9n
cm93LXJlZnR5cGVzLnRlbnRhdGl2ZS5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jvdy5hbnkuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvbGVu
Z3RoLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS90YWJsZS90b1N0cmluZy5hbnkuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS93M2MtaW1wb3J0LmxvZwppbmRleCBjNGMxMTdmYzMwZWNkYWVkMmUzNDUwODIxYTg4NmZlNTAx
NzljNjYzLi4zYWIyY2Q3NTkyNjVkZmRkMTYxOTBiMWNjOTVhNDQ3NDQ1ZGNlZGRhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3czYy1pbXBvcnQubG9nCkBAIC0xNiw2ICsxNiw5IEBAIE5v
bmUKIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2Fzc2VydGlvbnMuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvYmFkLWltcG9ydHMuanMKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZXJyb3ItaW50
ZXJmYWNlcy1uby1zeW1ib2wtdG9zdHJpbmd0YWcuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaWRsaGFybmVzcy5hbnkuanMKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFu
Y2VUZXN0RmFjdG9yeS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3dhc20tY29uc3RhbnRzLmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Byb3Rv
LWZyb20tY3Rvci1yZWFsbS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS93
YXNtLWNvbnN0YW50cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS93YXNtLWNvbnN0YW50cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjA1NmY5Y2JmY2ZiYWM1MmQwNTA2ZWRkZGQwMWM4ZmFkODYzNmViYi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvd2FzbS1jb25zdGFudHMuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwzNzQgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTUgdGhlIFY4
IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
LS8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8vIEZsYWdzOiAtLWV4cG9zZS13YXNt
Ci0KLWZ1bmN0aW9uIGJ5dGVzKCkgewotICB2YXIgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGFy
Z3VtZW50cy5sZW5ndGgpOwotICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7Ci0g
IGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7Ci0gICAgdmFyIHZh
bCA9IGFyZ3VtZW50c1tpXTsKLSAgICBpZiAoKHR5cGVvZiB2YWwpID09ICJzdHJpbmciKSB2YWwg
PSB2YWwuY2hhckNvZGVBdCgwKTsKLSAgICB2aWV3W2ldID0gdmFsIHwgMDsKLSAgfQotICByZXR1
cm4gYnVmZmVyOwotfQotCi0vLyBIZWFkZXIgZGVjbGFyYXRpb24gY29uc3RhbnRzCi12YXIga1dh
c21IMCA9IDA7Ci12YXIga1dhc21IMSA9IDB4NjE7Ci12YXIga1dhc21IMiA9IDB4NzM7Ci12YXIg
a1dhc21IMyA9IDB4NmQ7Ci0KLXZhciBrV2FzbVYwID0gMTsKLXZhciBrV2FzbVYxID0gMDsKLXZh
ciBrV2FzbVYyID0gMDsKLXZhciBrV2FzbVYzID0gMDsKLQotdmFyIGtIZWFkZXJTaXplID0gODsK
LXZhciBrUGFnZVNpemUgPSA2NTUzNjsKLQotZnVuY3Rpb24gYnl0ZXNXaXRoSGVhZGVyKCkgewot
ICB2YXIgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGtIZWFkZXJTaXplICsgYXJndW1lbnRzLmxl
bmd0aCk7Ci0gIHZhciB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKLSAgdmlld1swXSA9
IGtXYXNtSDA7Ci0gIHZpZXdbMV0gPSBrV2FzbUgxOwotICB2aWV3WzJdID0ga1dhc21IMjsKLSAg
dmlld1szXSA9IGtXYXNtSDM7Ci0gIHZpZXdbNF0gPSBrV2FzbVYwOwotICB2aWV3WzVdID0ga1dh
c21WMTsKLSAgdmlld1s2XSA9IGtXYXNtVjI7Ci0gIHZpZXdbN10gPSBrV2FzbVYzOwotICBmb3Ig
KHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewotICAgIHZhciB2YWwgPSBh
cmd1bWVudHNbaV07Ci0gICAgaWYgKCh0eXBlb2YgdmFsKSA9PSAic3RyaW5nIikgdmFsID0gdmFs
LmNoYXJDb2RlQXQoMCk7Ci0gICAgdmlld1trSGVhZGVyU2l6ZSArIGldID0gdmFsIHwgMDsKLSAg
fQotICByZXR1cm4gYnVmZmVyOwotfQotCi1sZXQga0RlY2xOb0xvY2FscyA9IDA7Ci0KLS8vIFNl
Y3Rpb24gZGVjbGFyYXRpb24gY29uc3RhbnRzCi1sZXQga1Vua25vd25TZWN0aW9uQ29kZSA9IDA7
Ci1sZXQga1R5cGVTZWN0aW9uQ29kZSA9IDE7ICAgICAgLy8gRnVuY3Rpb24gc2lnbmF0dXJlIGRl
Y2xhcmF0aW9ucwotbGV0IGtJbXBvcnRTZWN0aW9uQ29kZSA9IDI7ICAgIC8vIEltcG9ydCBkZWNs
YXJhdGlvbnMKLWxldCBrRnVuY3Rpb25TZWN0aW9uQ29kZSA9IDM7ICAvLyBGdW5jdGlvbiBkZWNs
YXJhdGlvbnMKLWxldCBrVGFibGVTZWN0aW9uQ29kZSA9IDQ7ICAgICAvLyBJbmRpcmVjdCBmdW5j
dGlvbiB0YWJsZSBhbmQgb3RoZXIgdGFibGVzCi1sZXQga01lbW9yeVNlY3Rpb25Db2RlID0gNTsg
ICAgLy8gTWVtb3J5IGF0dHJpYnV0ZXMKLWxldCBrR2xvYmFsU2VjdGlvbkNvZGUgPSA2OyAgICAv
LyBHbG9iYWwgZGVjbGFyYXRpb25zCi1sZXQga0V4cG9ydFNlY3Rpb25Db2RlID0gNzsgICAgLy8g
RXhwb3J0cwotbGV0IGtTdGFydFNlY3Rpb25Db2RlID0gODsgICAgIC8vIFN0YXJ0IGZ1bmN0aW9u
IGRlY2xhcmF0aW9uCi1sZXQga0VsZW1lbnRTZWN0aW9uQ29kZSA9IDk7ICAvLyBFbGVtZW50cyBz
ZWN0aW9uCi1sZXQga0NvZGVTZWN0aW9uQ29kZSA9IDEwOyAgICAgIC8vIEZ1bmN0aW9uIGNvZGUK
LWxldCBrRGF0YVNlY3Rpb25Db2RlID0gMTE7ICAgICAvLyBEYXRhIHNlZ21lbnRzCi1sZXQga05h
bWVTZWN0aW9uQ29kZSA9IDEyOyAgICAgLy8gTmFtZSBzZWN0aW9uIChlbmNvZGVkIGFzIHN0cmlu
ZykKLQotbGV0IGtXYXNtRnVuY3Rpb25UeXBlRm9ybSA9IDB4NjA7Ci1sZXQga1dhc21BbnlGdW5j
dGlvblR5cGVGb3JtID0gMHg3MDsKLQotbGV0IGtSZXNpemFibGVNYXhpbXVtRmxhZyA9IDE7Ci0K
LS8vIEZ1bmN0aW9uIGRlY2xhcmF0aW9uIGZsYWdzCi1sZXQga0RlY2xGdW5jdGlvbk5hbWUgICA9
IDB4MDE7Ci1sZXQga0RlY2xGdW5jdGlvbkltcG9ydCA9IDB4MDI7Ci1sZXQga0RlY2xGdW5jdGlv
bkxvY2FscyA9IDB4MDQ7Ci1sZXQga0RlY2xGdW5jdGlvbkV4cG9ydCA9IDB4MDg7Ci0KLS8vIExv
Y2FsIHR5cGVzCi1sZXQga1dhc21TdG10ID0gMHg0MDsKLWxldCBrV2FzbUkzMiA9IDB4N2Y7Ci1s
ZXQga1dhc21JNjQgPSAweDdlOwotbGV0IGtXYXNtRjMyID0gMHg3ZDsKLWxldCBrV2FzbUY2NCA9
IDB4N2M7Ci1sZXQga1dhc21TMTI4ID0gMHg3YjsKLQotbGV0IGtFeHRlcm5hbEZ1bmN0aW9uID0g
MDsKLWxldCBrRXh0ZXJuYWxUYWJsZSA9IDE7Ci1sZXQga0V4dGVybmFsTWVtb3J5ID0gMjsKLWxl
dCBrRXh0ZXJuYWxHbG9iYWwgPSAzOwotCi1sZXQga1RhYmxlWmVybyA9IDA7Ci1sZXQga01lbW9y
eVplcm8gPSAwOwotCi0vLyBVc2VmdWwgc2lnbmF0dXJlcwotbGV0IGtTaWdfaV9pID0gbWFrZVNp
Zyhba1dhc21JMzJdLCBba1dhc21JMzJdKTsKLWxldCBrU2lnX2xfbCA9IG1ha2VTaWcoW2tXYXNt
STY0XSwgW2tXYXNtSTY0XSk7Ci1sZXQga1NpZ19pX2wgPSBtYWtlU2lnKFtrV2FzbUk2NF0sIFtr
V2FzbUkzMl0pOwotbGV0IGtTaWdfaV9paSA9IG1ha2VTaWcoW2tXYXNtSTMyLCBrV2FzbUkzMl0s
IFtrV2FzbUkzMl0pOwotbGV0IGtTaWdfaV9paWkgPSBtYWtlU2lnKFtrV2FzbUkzMiwga1dhc21J
MzIsIGtXYXNtSTMyXSwgW2tXYXNtSTMyXSk7Ci1sZXQga1NpZ19kX2RkID0gbWFrZVNpZyhba1dh
c21GNjQsIGtXYXNtRjY0XSwgW2tXYXNtRjY0XSk7Ci1sZXQga1NpZ19sX2xsID0gbWFrZVNpZyhb
a1dhc21JNjQsIGtXYXNtSTY0XSwgW2tXYXNtSTY0XSk7Ci1sZXQga1NpZ19pX2RkID0gbWFrZVNp
Zyhba1dhc21GNjQsIGtXYXNtRjY0XSwgW2tXYXNtSTMyXSk7Ci1sZXQga1NpZ192X3YgPSBtYWtl
U2lnKFtdLCBbXSk7Ci1sZXQga1NpZ19pX3YgPSBtYWtlU2lnKFtdLCBba1dhc21JMzJdKTsKLWxl
dCBrU2lnX2xfdiA9IG1ha2VTaWcoW10sIFtrV2FzbUk2NF0pOwotbGV0IGtTaWdfZl92ID0gbWFr
ZVNpZyhbXSwgW2tXYXNtRjY0XSk7Ci1sZXQga1NpZ19kX3YgPSBtYWtlU2lnKFtdLCBba1dhc21G
NjRdKTsKLWxldCBrU2lnX3ZfaSA9IG1ha2VTaWcoW2tXYXNtSTMyXSwgW10pOwotbGV0IGtTaWdf
dl9paSA9IG1ha2VTaWcoW2tXYXNtSTMyLCBrV2FzbUkzMl0sIFtdKTsKLWxldCBrU2lnX3ZfaWlp
ID0gbWFrZVNpZyhba1dhc21JMzIsIGtXYXNtSTMyLCBrV2FzbUkzMl0sIFtdKTsKLWxldCBrU2ln
X3ZfbCA9IG1ha2VTaWcoW2tXYXNtSTY0XSwgW10pOwotbGV0IGtTaWdfdl9kID0gbWFrZVNpZyhb
a1dhc21GNjRdLCBbXSk7Ci1sZXQga1NpZ192X2RkID0gbWFrZVNpZyhba1dhc21GNjQsIGtXYXNt
RjY0XSwgW10pOwotbGV0IGtTaWdfdl9kZGkgPSBtYWtlU2lnKFtrV2FzbUY2NCwga1dhc21GNjQs
IGtXYXNtSTMyXSwgW10pOwotbGV0IGtTaWdfc192ID0gbWFrZVNpZyhbXSwgW2tXYXNtUzEyOF0p
OwotCi1mdW5jdGlvbiBtYWtlU2lnKHBhcmFtcywgcmVzdWx0cykgewotICByZXR1cm4ge3BhcmFt
czogcGFyYW1zLCByZXN1bHRzOiByZXN1bHRzfTsKLX0KLQotZnVuY3Rpb24gbWFrZVNpZ192X3go
eCkgewotICByZXR1cm4gbWFrZVNpZyhbeF0sIFtdKTsKLX0KLQotZnVuY3Rpb24gbWFrZVNpZ192
X3h4KHgpIHsKLSAgcmV0dXJuIG1ha2VTaWcoW3gsIHhdLCBbXSk7Ci19Ci0KLWZ1bmN0aW9uIG1h
a2VTaWdfcl92KHIpIHsKLSAgcmV0dXJuIG1ha2VTaWcoW10sIFtyXSk7Ci19Ci0KLWZ1bmN0aW9u
IG1ha2VTaWdfcl94KHIsIHgpIHsKLSAgcmV0dXJuIG1ha2VTaWcoW3hdLCBbcl0pOwotfQotCi1m
dW5jdGlvbiBtYWtlU2lnX3JfeHgociwgeCkgewotICByZXR1cm4gbWFrZVNpZyhbeCwgeF0sIFty
XSk7Ci19Ci0KLS8vIE9wY29kZXMKLWxldCBrRXhwclVucmVhY2hhYmxlID0gMHgwMDsKLWxldCBr
RXhwck5vcCA9IDB4MDE7Ci1sZXQga0V4cHJCbG9jayA9IDB4MDI7Ci1sZXQga0V4cHJMb29wID0g
MHgwMzsKLWxldCBrRXhwcklmID0gMHgwNDsKLWxldCBrRXhwckVsc2UgPSAweDA1OwotbGV0IGtF
eHByVHJ5ID0gMHgwNjsKLWxldCBrRXhwckNhdGNoID0gMHgwNzsKLWxldCBrRXhwclRocm93ID0g
MHgwODsKLWxldCBrRXhwckVuZCA9IDB4MGI7Ci1sZXQga0V4cHJCciA9IDB4MGM7Ci1sZXQga0V4
cHJCcklmID0gMHgwZDsKLWxldCBrRXhwckJyVGFibGUgPSAweDBlOwotbGV0IGtFeHByUmV0dXJu
ID0gMHgwZjsKLWxldCBrRXhwckNhbGxGdW5jdGlvbiA9IDB4MTA7Ci1sZXQga0V4cHJDYWxsSW5k
aXJlY3QgPSAweDExOwotbGV0IGtFeHByRHJvcCA9IDB4MWE7Ci1sZXQga0V4cHJTZWxlY3QgPSAw
eDFiOwotbGV0IGtFeHByR2V0TG9jYWwgPSAweDIwOwotbGV0IGtFeHByU2V0TG9jYWwgPSAweDIx
OwotbGV0IGtFeHByVGVlTG9jYWwgPSAweDIyOwotbGV0IGtFeHByR2V0R2xvYmFsID0gMHgyMzsK
LWxldCBrRXhwclNldEdsb2JhbCA9IDB4MjQ7Ci1sZXQga0V4cHJJMzJDb25zdCA9IDB4NDE7Ci1s
ZXQga0V4cHJJNjRDb25zdCA9IDB4NDI7Ci1sZXQga0V4cHJGMzJDb25zdCA9IDB4NDM7Ci1sZXQg
a0V4cHJGNjRDb25zdCA9IDB4NDQ7Ci1sZXQga0V4cHJJMzJMb2FkTWVtID0gMHgyODsKLWxldCBr
RXhwckk2NExvYWRNZW0gPSAweDI5OwotbGV0IGtFeHByRjMyTG9hZE1lbSA9IDB4MmE7Ci1sZXQg
a0V4cHJGNjRMb2FkTWVtID0gMHgyYjsKLWxldCBrRXhwckkzMkxvYWRNZW04UyA9IDB4MmM7Ci1s
ZXQga0V4cHJJMzJMb2FkTWVtOFUgPSAweDJkOwotbGV0IGtFeHBySTMyTG9hZE1lbTE2UyA9IDB4
MmU7Ci1sZXQga0V4cHJJMzJMb2FkTWVtMTZVID0gMHgyZjsKLWxldCBrRXhwckk2NExvYWRNZW04
UyA9IDB4MzA7Ci1sZXQga0V4cHJJNjRMb2FkTWVtOFUgPSAweDMxOwotbGV0IGtFeHBySTY0TG9h
ZE1lbTE2UyA9IDB4MzI7Ci1sZXQga0V4cHJJNjRMb2FkTWVtMTZVID0gMHgzMzsKLWxldCBrRXhw
ckk2NExvYWRNZW0zMlMgPSAweDM0OwotbGV0IGtFeHBySTY0TG9hZE1lbTMyVSA9IDB4MzU7Ci1s
ZXQga0V4cHJJMzJTdG9yZU1lbSA9IDB4MzY7Ci1sZXQga0V4cHJJNjRTdG9yZU1lbSA9IDB4Mzc7
Ci1sZXQga0V4cHJGMzJTdG9yZU1lbSA9IDB4Mzg7Ci1sZXQga0V4cHJGNjRTdG9yZU1lbSA9IDB4
Mzk7Ci1sZXQga0V4cHJJMzJTdG9yZU1lbTggPSAweDNhOwotbGV0IGtFeHBySTMyU3RvcmVNZW0x
NiA9IDB4M2I7Ci1sZXQga0V4cHJJNjRTdG9yZU1lbTggPSAweDNjOwotbGV0IGtFeHBySTY0U3Rv
cmVNZW0xNiA9IDB4M2Q7Ci1sZXQga0V4cHJJNjRTdG9yZU1lbTMyID0gMHgzZTsKLWxldCBrRXhw
ck1lbW9yeVNpemUgPSAweDNmOwotbGV0IGtFeHByR3Jvd01lbW9yeSA9IDB4NDA7Ci1sZXQga0V4
cHJJMzJFcXogPSAweDQ1OwotbGV0IGtFeHBySTMyRXEgPSAweDQ2OwotbGV0IGtFeHBySTMyTmUg
PSAweDQ3OwotbGV0IGtFeHBySTMyTHRTID0gMHg0ODsKLWxldCBrRXhwckkzMkx0VSA9IDB4NDk7
Ci1sZXQga0V4cHJJMzJHdFMgPSAweDRhOwotbGV0IGtFeHBySTMyR3RVID0gMHg0YjsKLWxldCBr
RXhwckkzMkxlUyA9IDB4NGM7Ci1sZXQga0V4cHJJMzJMZVUgPSAweDRkOwotbGV0IGtFeHBySTMy
R2VTID0gMHg0ZTsKLWxldCBrRXhwckkzMkdlVSA9IDB4NGY7Ci1sZXQga0V4cHJJNjRFcXogPSAw
eDUwOwotbGV0IGtFeHBySTY0RXEgPSAweDUxOwotbGV0IGtFeHBySTY0TmUgPSAweDUyOwotbGV0
IGtFeHBySTY0THRTID0gMHg1MzsKLWxldCBrRXhwckk2NEx0VSA9IDB4NTQ7Ci1sZXQga0V4cHJJ
NjRHdFMgPSAweDU1OwotbGV0IGtFeHBySTY0R3RVID0gMHg1NjsKLWxldCBrRXhwckk2NExlUyA9
IDB4NTc7Ci1sZXQga0V4cHJJNjRMZVUgPSAweDU4OwotbGV0IGtFeHBySTY0R2VTID0gMHg1OTsK
LWxldCBrRXhwckk2NEdlVSA9IDB4NWE7Ci1sZXQga0V4cHJGMzJFcSA9IDB4NWI7Ci1sZXQga0V4
cHJGMzJOZSA9IDB4NWM7Ci1sZXQga0V4cHJGMzJMdCA9IDB4NWQ7Ci1sZXQga0V4cHJGMzJHdCA9
IDB4NWU7Ci1sZXQga0V4cHJGMzJMZSA9IDB4NWY7Ci1sZXQga0V4cHJGMzJHZSA9IDB4NjA7Ci1s
ZXQga0V4cHJGNjRFcSA9IDB4NjE7Ci1sZXQga0V4cHJGNjROZSA9IDB4NjI7Ci1sZXQga0V4cHJG
NjRMdCA9IDB4NjM7Ci1sZXQga0V4cHJGNjRHdCA9IDB4NjQ7Ci1sZXQga0V4cHJGNjRMZSA9IDB4
NjU7Ci1sZXQga0V4cHJGNjRHZSA9IDB4NjY7Ci1sZXQga0V4cHJJMzJDbHogPSAweDY3OwotbGV0
IGtFeHBySTMyQ3R6ID0gMHg2ODsKLWxldCBrRXhwckkzMlBvcGNudCA9IDB4Njk7Ci1sZXQga0V4
cHJJMzJBZGQgPSAweDZhOwotbGV0IGtFeHBySTMyU3ViID0gMHg2YjsKLWxldCBrRXhwckkzMk11
bCA9IDB4NmM7Ci1sZXQga0V4cHJJMzJEaXZTID0gMHg2ZDsKLWxldCBrRXhwckkzMkRpdlUgPSAw
eDZlOwotbGV0IGtFeHBySTMyUmVtUyA9IDB4NmY7Ci1sZXQga0V4cHJJMzJSZW1VID0gMHg3MDsK
LWxldCBrRXhwckkzMkFuZCA9IDB4NzE7Ci1sZXQga0V4cHJJMzJJb3IgPSAweDcyOwotbGV0IGtF
eHBySTMyWG9yID0gMHg3MzsKLWxldCBrRXhwckkzMlNobCA9IDB4NzQ7Ci1sZXQga0V4cHJJMzJT
aHJTID0gMHg3NTsKLWxldCBrRXhwckkzMlNoclUgPSAweDc2OwotbGV0IGtFeHBySTMyUm9sID0g
MHg3NzsKLWxldCBrRXhwckkzMlJvciA9IDB4Nzg7Ci1sZXQga0V4cHJJNjRDbHogPSAweDc5Owot
bGV0IGtFeHBySTY0Q3R6ID0gMHg3YTsKLWxldCBrRXhwckk2NFBvcGNudCA9IDB4N2I7Ci1sZXQg
a0V4cHJJNjRBZGQgPSAweDdjOwotbGV0IGtFeHBySTY0U3ViID0gMHg3ZDsKLWxldCBrRXhwckk2
NE11bCA9IDB4N2U7Ci1sZXQga0V4cHJJNjREaXZTID0gMHg3ZjsKLWxldCBrRXhwckk2NERpdlUg
PSAweDgwOwotbGV0IGtFeHBySTY0UmVtUyA9IDB4ODE7Ci1sZXQga0V4cHJJNjRSZW1VID0gMHg4
MjsKLWxldCBrRXhwckk2NEFuZCA9IDB4ODM7Ci1sZXQga0V4cHJJNjRJb3IgPSAweDg0OwotbGV0
IGtFeHBySTY0WG9yID0gMHg4NTsKLWxldCBrRXhwckk2NFNobCA9IDB4ODY7Ci1sZXQga0V4cHJJ
NjRTaHJTID0gMHg4NzsKLWxldCBrRXhwckk2NFNoclUgPSAweDg4OwotbGV0IGtFeHBySTY0Um9s
ID0gMHg4OTsKLWxldCBrRXhwckk2NFJvciA9IDB4OGE7Ci1sZXQga0V4cHJGMzJBYnMgPSAweDhi
OwotbGV0IGtFeHByRjMyTmVnID0gMHg4YzsKLWxldCBrRXhwckYzMkNlaWwgPSAweDhkOwotbGV0
IGtFeHByRjMyRmxvb3IgPSAweDhlOwotbGV0IGtFeHByRjMyVHJ1bmMgPSAweDhmOwotbGV0IGtF
eHByRjMyTmVhcmVzdEludCA9IDB4OTA7Ci1sZXQga0V4cHJGMzJTcXJ0ID0gMHg5MTsKLWxldCBr
RXhwckYzMkFkZCA9IDB4OTI7Ci1sZXQga0V4cHJGMzJTdWIgPSAweDkzOwotbGV0IGtFeHByRjMy
TXVsID0gMHg5NDsKLWxldCBrRXhwckYzMkRpdiA9IDB4OTU7Ci1sZXQga0V4cHJGMzJNaW4gPSAw
eDk2OwotbGV0IGtFeHByRjMyTWF4ID0gMHg5NzsKLWxldCBrRXhwckYzMkNvcHlTaWduID0gMHg5
ODsKLWxldCBrRXhwckY2NEFicyA9IDB4OTk7Ci1sZXQga0V4cHJGNjROZWcgPSAweDlhOwotbGV0
IGtFeHByRjY0Q2VpbCA9IDB4OWI7Ci1sZXQga0V4cHJGNjRGbG9vciA9IDB4OWM7Ci1sZXQga0V4
cHJGNjRUcnVuYyA9IDB4OWQ7Ci1sZXQga0V4cHJGNjROZWFyZXN0SW50ID0gMHg5ZTsKLWxldCBr
RXhwckY2NFNxcnQgPSAweDlmOwotbGV0IGtFeHByRjY0QWRkID0gMHhhMDsKLWxldCBrRXhwckY2
NFN1YiA9IDB4YTE7Ci1sZXQga0V4cHJGNjRNdWwgPSAweGEyOwotbGV0IGtFeHByRjY0RGl2ID0g
MHhhMzsKLWxldCBrRXhwckY2NE1pbiA9IDB4YTQ7Ci1sZXQga0V4cHJGNjRNYXggPSAweGE1Owot
bGV0IGtFeHByRjY0Q29weVNpZ24gPSAweGE2OwotbGV0IGtFeHBySTMyQ29udmVydEk2NCA9IDB4
YTc7Ci1sZXQga0V4cHJJMzJTQ29udmVydEYzMiA9IDB4YTg7Ci1sZXQga0V4cHJJMzJVQ29udmVy
dEYzMiA9IDB4YTk7Ci1sZXQga0V4cHJJMzJTQ29udmVydEY2NCA9IDB4YWE7Ci1sZXQga0V4cHJJ
MzJVQ29udmVydEY2NCA9IDB4YWI7Ci1sZXQga0V4cHJJNjRTQ29udmVydEkzMiA9IDB4YWM7Ci1s
ZXQga0V4cHJJNjRVQ29udmVydEkzMiA9IDB4YWQ7Ci1sZXQga0V4cHJJNjRTQ29udmVydEYzMiA9
IDB4YWU7Ci1sZXQga0V4cHJJNjRVQ29udmVydEYzMiA9IDB4YWY7Ci1sZXQga0V4cHJJNjRTQ29u
dmVydEY2NCA9IDB4YjA7Ci1sZXQga0V4cHJJNjRVQ29udmVydEY2NCA9IDB4YjE7Ci1sZXQga0V4
cHJGMzJTQ29udmVydEkzMiA9IDB4YjI7Ci1sZXQga0V4cHJGMzJVQ29udmVydEkzMiA9IDB4YjM7
Ci1sZXQga0V4cHJGMzJTQ29udmVydEk2NCA9IDB4YjQ7Ci1sZXQga0V4cHJGMzJVQ29udmVydEk2
NCA9IDB4YjU7Ci1sZXQga0V4cHJGMzJDb252ZXJ0RjY0ID0gMHhiNjsKLWxldCBrRXhwckY2NFND
b252ZXJ0STMyID0gMHhiNzsKLWxldCBrRXhwckY2NFVDb252ZXJ0STMyID0gMHhiODsKLWxldCBr
RXhwckY2NFNDb252ZXJ0STY0ID0gMHhiOTsKLWxldCBrRXhwckY2NFVDb252ZXJ0STY0ID0gMHhi
YTsKLWxldCBrRXhwckY2NENvbnZlcnRGMzIgPSAweGJiOwotbGV0IGtFeHBySTMyUmVpbnRlcnBy
ZXRGMzIgPSAweGJjOwotbGV0IGtFeHBySTY0UmVpbnRlcnByZXRGNjQgPSAweGJkOwotbGV0IGtF
eHByRjMyUmVpbnRlcnByZXRJMzIgPSAweGJlOwotbGV0IGtFeHByRjY0UmVpbnRlcnByZXRJNjQg
PSAweGJmOwotCi1sZXQga1RyYXBVbnJlYWNoYWJsZSAgICAgICAgICA9IDA7Ci1sZXQga1RyYXBN
ZW1PdXRPZkJvdW5kcyAgICAgICA9IDE7Ci1sZXQga1RyYXBEaXZCeVplcm8gICAgICAgICAgICA9
IDI7Ci1sZXQga1RyYXBEaXZVbnJlcHJlc2VudGFibGUgICA9IDM7Ci1sZXQga1RyYXBSZW1CeVpl
cm8gICAgICAgICAgICA9IDQ7Ci1sZXQga1RyYXBGbG9hdFVucmVwcmVzZW50YWJsZSA9IDU7Ci1s
ZXQga1RyYXBGdW5jSW52YWxpZCAgICAgICAgICA9IDY7Ci1sZXQga1RyYXBGdW5jU2lnTWlzbWF0
Y2ggICAgICA9IDc7Ci1sZXQga1RyYXBJbnZhbGlkSW5kZXggICAgICAgICA9IDg7Ci0KLWxldCBr
VHJhcE1zZ3MgPSBbCi0gICJ1bnJlYWNoYWJsZSIsCi0gICJtZW1vcnkgYWNjZXNzIG91dCBvZiBi
b3VuZHMiLAotICAiZGl2aWRlIGJ5IHplcm8iLAotICAiZGl2aWRlIHJlc3VsdCB1bnJlcHJlc2Vu
dGFibGUiLAotICAicmVtYWluZGVyIGJ5IHplcm8iLAotICAiaW50ZWdlciByZXN1bHQgdW5yZXBy
ZXNlbnRhYmxlIiwKLSAgImludmFsaWQgZnVuY3Rpb24iLAotICAiZnVuY3Rpb24gc2lnbmF0dXJl
IG1pc21hdGNoIiwKLSAgImludmFsaWQgaW5kZXggaW50byBmdW5jdGlvbiB0YWJsZSIKLV07Ci0K
LWZ1bmN0aW9uIGFzc2VydFRyYXBzKHRyYXAsIGNvZGUpIHsKLSAgICB2YXIgdGhyZXdFeGNlcHRp
b24gPSB0cnVlOwotICAgIHRyeSB7Ci0gICAgICBpZiAodHlwZW9mIGNvZGUgPT09ICdmdW5jdGlv
bicpIHsKLSAgICAgICAgY29kZSgpOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgZXZhbChjb2Rl
KTsKLSAgICAgIH0KLSAgICAgIHRocmV3RXhjZXB0aW9uID0gZmFsc2U7Ci0gICAgfSBjYXRjaCAo
ZSkgewotICAgICAgYXNzZXJ0RXF1YWxzKCJvYmplY3QiLCB0eXBlb2YgZSk7Ci0gICAgICBhc3Nl
cnRFcXVhbHMoa1RyYXBNc2dzW3RyYXBdLCBlLm1lc3NhZ2UpOwotICAgICAgLy8gU3VjY2Vzcy4K
LSAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGhyb3cgbmV3IE1qc1VuaXRBc3NlcnRpb25FcnJv
cigiRGlkIG5vdCB0cmFwLCBleHBlY3RlZDogIiArIGtUcmFwTXNnc1t0cmFwXSk7Ci19Ci0KLWZ1
bmN0aW9uIGFzc2VydFdhc21UaHJvd3ModmFsdWUsIGNvZGUpIHsKLSAgICBhc3NlcnRFcXVhbHMo
Im51bWJlciIsIHR5cGVvZih2YWx1ZSkpOwotICAgIHRyeSB7Ci0gICAgICBpZiAodHlwZW9mIGNv
ZGUgPT09ICdmdW5jdGlvbicpIHsKLSAgICAgICAgY29kZSgpOwotICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgZXZhbChjb2RlKTsKLSAgICAgIH0KLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICBhc3Nl
cnRFcXVhbHMoIm51bWJlciIsIHR5cGVvZiBlKTsKLSAgICAgIGFzc2VydEVxdWFscyh2YWx1ZSwg
ZSk7Ci0gICAgICAvLyBTdWNjZXNzLgotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aHJvdyBu
ZXcgTWpzVW5pdEFzc2VydGlvbkVycm9yKCJEaWQgbm90IHRocm93IGF0IGFsbCwgZXhwZWN0ZWQ6
ICIgKyB2YWx1ZSk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS93YXNtLW1v
ZHVsZS1idWlsZGVyLmpzCmluZGV4IDZlOTI4NGU3NzMxMDVkYjU3NTFjNTQ4M2VkOTMzM2E0NTI3
MmIxODAuLjgyYzZlMDQxMzVmMWI4NmRmMWExZDhlNzJjNWY4MjljMzI5N2JiMTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCkBAIC0z
LDQ0ICszLDU0MyBAQAogLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIAogLy8gVXNlZCBm
b3IgZW5jb2RpbmcgZjMyIGFuZCBkb3VibGUgY29uc3RhbnRzIHRvIGJpdHMuCi1sZXQgX19idWZm
ZXIgPSBuZXcgQXJyYXlCdWZmZXIoOCk7Ci1sZXQgYnl0ZV92aWV3ID0gbmV3IEludDhBcnJheShf
X2J1ZmZlcik7Ci1sZXQgZjMyX3ZpZXcgPSBuZXcgRmxvYXQzMkFycmF5KF9fYnVmZmVyKTsKLWxl
dCBmNjRfdmlldyA9IG5ldyBGbG9hdDY0QXJyYXkoX19idWZmZXIpOworbGV0IGYzMl92aWV3ID0g
bmV3IEZsb2F0MzJBcnJheSgxKTsKK2xldCBmMzJfYnl0ZXNfdmlldyA9IG5ldyBVaW50OEFycmF5
KGYzMl92aWV3LmJ1ZmZlcik7CitsZXQgZjY0X3ZpZXcgPSBuZXcgRmxvYXQ2NEFycmF5KDEpOwor
bGV0IGY2NF9ieXRlc192aWV3ID0gbmV3IFVpbnQ4QXJyYXkoZjY0X3ZpZXcuYnVmZmVyKTsKKwor
Ly8gVGhlIGJ5dGVzIGZ1bmN0aW9uIHJlY2VpdmVzIG9uZSBvZgorLy8gIC0gc2V2ZXJhbCBhcmd1
bWVudHMsIGVhY2ggb2Ygd2hpY2ggaXMgZWl0aGVyIGEgbnVtYmVyIG9yIGEgc3RyaW5nIG9mIGxl
bmd0aAorLy8gICAgMTsgaWYgaXQncyBhIHN0cmluZywgdGhlIGNoYXJjb2RlIG9mIHRoZSBjb250
YWluZWQgY2hhcmFjdGVyIGlzIHVzZWQuCisvLyAgLSBhIHNpbmdsZSBhcnJheSBhcmd1bWVudCBj
b250YWluaW5nIHRoZSBhY3R1YWwgYXJndW1lbnRzCisvLyAgLSBhIHNpbmdsZSBzdHJpbmc7IHRo
ZSByZXR1cm5lZCBidWZmZXIgd2lsbCBjb250YWluIHRoZSBjaGFyIGNvZGVzIG9mIGFsbAorLy8g
ICAgY29udGFpbmVkIGNoYXJhY3RlcnMuCitmdW5jdGlvbiBieXRlcyguLi5pbnB1dCkgeworICBp
ZiAoaW5wdXQubGVuZ3RoID09IDEgJiYgdHlwZW9mIGlucHV0WzBdID09ICdhcnJheScpIGlucHV0
ID0gaW5wdXRbMF07CisgIGlmIChpbnB1dC5sZW5ndGggPT0gMSAmJiB0eXBlb2YgaW5wdXRbMF0g
PT0gJ3N0cmluZycpIHsKKyAgICBsZXQgbGVuID0gaW5wdXRbMF0ubGVuZ3RoOworICAgIGxldCB2
aWV3ID0gbmV3IFVpbnQ4QXJyYXkobGVuKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsg
aSsrKSB2aWV3W2ldID0gaW5wdXRbMF0uY2hhckNvZGVBdChpKTsKKyAgICByZXR1cm4gdmlldy5i
dWZmZXI7CisgIH0KKyAgbGV0IHZpZXcgPSBuZXcgVWludDhBcnJheShpbnB1dC5sZW5ndGgpOwor
ICBmb3IgKGxldCBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7CisgICAgbGV0IHZhbCA9
IGlucHV0W2ldOworICAgIGlmICh0eXBlb2YgdmFsID09ICdzdHJpbmcnKSB7CisgICAgICBhc3Nl
cnRFcXVhbHMoMSwgdmFsLmxlbmd0aCwgJ3N0cmluZyBpbnB1dHMgbXVzdCBoYXZlIGxlbmd0aCAx
Jyk7CisgICAgICB2YWwgPSB2YWwuY2hhckNvZGVBdCgwKTsKKyAgICB9CisgICAgdmlld1tpXSA9
IHZhbCB8IDA7CisgIH0KKyAgcmV0dXJuIHZpZXcuYnVmZmVyOworfQorCisvLyBIZWFkZXIgZGVj
bGFyYXRpb24gY29uc3RhbnRzCit2YXIga1dhc21IMCA9IDA7Cit2YXIga1dhc21IMSA9IDB4NjE7
Cit2YXIga1dhc21IMiA9IDB4NzM7Cit2YXIga1dhc21IMyA9IDB4NmQ7CisKK3ZhciBrV2FzbVYw
ID0gMHgxOwordmFyIGtXYXNtVjEgPSAwOwordmFyIGtXYXNtVjIgPSAwOwordmFyIGtXYXNtVjMg
PSAwOworCit2YXIga0hlYWRlclNpemUgPSA4OwordmFyIGtQYWdlU2l6ZSA9IDY1NTM2OwordmFy
IGtTcGVjTWF4UGFnZXMgPSA2NTUzNTsKK3ZhciBrTWF4VmFySW50MzJTaXplID0gNTsKK3ZhciBr
TWF4VmFySW50NjRTaXplID0gMTA7CisKK2xldCBrRGVjbE5vTG9jYWxzID0gMDsKKworLy8gU2Vj
dGlvbiBkZWNsYXJhdGlvbiBjb25zdGFudHMKK2xldCBrVW5rbm93blNlY3Rpb25Db2RlID0gMDsK
K2xldCBrVHlwZVNlY3Rpb25Db2RlID0gMTsgICAgICAgIC8vIEZ1bmN0aW9uIHNpZ25hdHVyZSBk
ZWNsYXJhdGlvbnMKK2xldCBrSW1wb3J0U2VjdGlvbkNvZGUgPSAyOyAgICAgIC8vIEltcG9ydCBk
ZWNsYXJhdGlvbnMKK2xldCBrRnVuY3Rpb25TZWN0aW9uQ29kZSA9IDM7ICAgIC8vIEZ1bmN0aW9u
IGRlY2xhcmF0aW9ucworbGV0IGtUYWJsZVNlY3Rpb25Db2RlID0gNDsgICAgICAgLy8gSW5kaXJl
Y3QgZnVuY3Rpb24gdGFibGUgYW5kIG90aGVyIHRhYmxlcworbGV0IGtNZW1vcnlTZWN0aW9uQ29k
ZSA9IDU7ICAgICAgLy8gTWVtb3J5IGF0dHJpYnV0ZXMKK2xldCBrR2xvYmFsU2VjdGlvbkNvZGUg
PSA2OyAgICAgIC8vIEdsb2JhbCBkZWNsYXJhdGlvbnMKK2xldCBrRXhwb3J0U2VjdGlvbkNvZGUg
PSA3OyAgICAgIC8vIEV4cG9ydHMKK2xldCBrU3RhcnRTZWN0aW9uQ29kZSA9IDg7ICAgICAgIC8v
IFN0YXJ0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uCitsZXQga0VsZW1lbnRTZWN0aW9uQ29kZSA9IDk7
ICAgICAvLyBFbGVtZW50cyBzZWN0aW9uCitsZXQga0NvZGVTZWN0aW9uQ29kZSA9IDEwOyAgICAg
ICAvLyBGdW5jdGlvbiBjb2RlCitsZXQga0RhdGFTZWN0aW9uQ29kZSA9IDExOyAgICAgICAvLyBE
YXRhIHNlZ21lbnRzCitsZXQga0RhdGFDb3VudFNlY3Rpb25Db2RlID0gMTI7ICAvLyBEYXRhIHNl
Z21lbnQgY291bnQgKGJldHdlZW4gRWxlbWVudCAmIENvZGUpCitsZXQga0V4Y2VwdGlvblNlY3Rp
b25Db2RlID0gMTM7ICAvLyBFeGNlcHRpb24gc2VjdGlvbiAoYmV0d2VlbiBHbG9iYWwgJiBFeHBv
cnQpCisKKy8vIE5hbWUgc2VjdGlvbiB0eXBlcworbGV0IGtNb2R1bGVOYW1lQ29kZSA9IDA7Cits
ZXQga0Z1bmN0aW9uTmFtZXNDb2RlID0gMTsKK2xldCBrTG9jYWxOYW1lc0NvZGUgPSAyOworCits
ZXQga1dhc21GdW5jdGlvblR5cGVGb3JtID0gMHg2MDsKK2xldCBrV2FzbUFueUZ1bmN0aW9uVHlw
ZUZvcm0gPSAweDcwOworCitsZXQga0hhc01heGltdW1GbGFnID0gMTsKK2xldCBrU2hhcmVkSGFz
TWF4aW11bUZsYWcgPSAzOworCisvLyBTZWdtZW50IGZsYWdzCitsZXQga0FjdGl2ZU5vSW5kZXgg
PSAwOworbGV0IGtQYXNzaXZlID0gMTsKK2xldCBrQWN0aXZlV2l0aEluZGV4ID0gMjsKK2xldCBr
UGFzc2l2ZVdpdGhFbGVtZW50cyA9IDU7CisKKy8vIEZ1bmN0aW9uIGRlY2xhcmF0aW9uIGZsYWdz
CitsZXQga0RlY2xGdW5jdGlvbk5hbWUgICA9IDB4MDE7CitsZXQga0RlY2xGdW5jdGlvbkltcG9y
dCA9IDB4MDI7CitsZXQga0RlY2xGdW5jdGlvbkxvY2FscyA9IDB4MDQ7CitsZXQga0RlY2xGdW5j
dGlvbkV4cG9ydCA9IDB4MDg7CisKKy8vIExvY2FsIHR5cGVzCitsZXQga1dhc21TdG10ID0gMHg0
MDsKK2xldCBrV2FzbUkzMiA9IDB4N2Y7CitsZXQga1dhc21JNjQgPSAweDdlOworbGV0IGtXYXNt
RjMyID0gMHg3ZDsKK2xldCBrV2FzbUY2NCA9IDB4N2M7CitsZXQga1dhc21TMTI4ID0gMHg3YjsK
K2xldCBrV2FzbUFueVJlZiA9IDB4NmY7CitsZXQga1dhc21BbnlGdW5jID0gMHg3MDsKK2xldCBr
V2FzbUV4blJlZiA9IDB4Njg7CisKK2xldCBrRXh0ZXJuYWxGdW5jdGlvbiA9IDA7CitsZXQga0V4
dGVybmFsVGFibGUgPSAxOworbGV0IGtFeHRlcm5hbE1lbW9yeSA9IDI7CitsZXQga0V4dGVybmFs
R2xvYmFsID0gMzsKK2xldCBrRXh0ZXJuYWxFeGNlcHRpb24gPSA0OworCitsZXQga1RhYmxlWmVy
byA9IDA7CitsZXQga01lbW9yeVplcm8gPSAwOworbGV0IGtTZWdtZW50WmVybyA9IDA7CisKK2xl
dCBrRXhjZXB0aW9uQXR0cmlidXRlID0gMDsKKworLy8gVXNlZnVsIHNpZ25hdHVyZXMKK2xldCBr
U2lnX2lfaSA9IG1ha2VTaWcoW2tXYXNtSTMyXSwgW2tXYXNtSTMyXSk7CitsZXQga1NpZ19sX2wg
PSBtYWtlU2lnKFtrV2FzbUk2NF0sIFtrV2FzbUk2NF0pOworbGV0IGtTaWdfaV9sID0gbWFrZVNp
Zyhba1dhc21JNjRdLCBba1dhc21JMzJdKTsKK2xldCBrU2lnX2lfaWkgPSBtYWtlU2lnKFtrV2Fz
bUkzMiwga1dhc21JMzJdLCBba1dhc21JMzJdKTsKK2xldCBrU2lnX2lfaWlpID0gbWFrZVNpZyhb
a1dhc21JMzIsIGtXYXNtSTMyLCBrV2FzbUkzMl0sIFtrV2FzbUkzMl0pOworbGV0IGtTaWdfdl9p
aWlpID0gbWFrZVNpZyhba1dhc21JMzIsIGtXYXNtSTMyLCBrV2FzbUkzMiwga1dhc21JMzJdLCBb
XSk7CitsZXQga1NpZ19mX2ZmID0gbWFrZVNpZyhba1dhc21GMzIsIGtXYXNtRjMyXSwgW2tXYXNt
RjMyXSk7CitsZXQga1NpZ19kX2RkID0gbWFrZVNpZyhba1dhc21GNjQsIGtXYXNtRjY0XSwgW2tX
YXNtRjY0XSk7CitsZXQga1NpZ19sX2xsID0gbWFrZVNpZyhba1dhc21JNjQsIGtXYXNtSTY0XSwg
W2tXYXNtSTY0XSk7CitsZXQga1NpZ19pX2RkID0gbWFrZVNpZyhba1dhc21GNjQsIGtXYXNtRjY0
XSwgW2tXYXNtSTMyXSk7CitsZXQga1NpZ192X3YgPSBtYWtlU2lnKFtdLCBbXSk7CitsZXQga1Np
Z19pX3YgPSBtYWtlU2lnKFtdLCBba1dhc21JMzJdKTsKK2xldCBrU2lnX2xfdiA9IG1ha2VTaWco
W10sIFtrV2FzbUk2NF0pOworbGV0IGtTaWdfZl92ID0gbWFrZVNpZyhbXSwgW2tXYXNtRjMyXSk7
CitsZXQga1NpZ19kX3YgPSBtYWtlU2lnKFtdLCBba1dhc21GNjRdKTsKK2xldCBrU2lnX3ZfaSA9
IG1ha2VTaWcoW2tXYXNtSTMyXSwgW10pOworbGV0IGtTaWdfdl9paSA9IG1ha2VTaWcoW2tXYXNt
STMyLCBrV2FzbUkzMl0sIFtdKTsKK2xldCBrU2lnX3ZfaWlpID0gbWFrZVNpZyhba1dhc21JMzIs
IGtXYXNtSTMyLCBrV2FzbUkzMl0sIFtdKTsKK2xldCBrU2lnX3ZfbCA9IG1ha2VTaWcoW2tXYXNt
STY0XSwgW10pOworbGV0IGtTaWdfdl9kID0gbWFrZVNpZyhba1dhc21GNjRdLCBbXSk7CitsZXQg
a1NpZ192X2RkID0gbWFrZVNpZyhba1dhc21GNjQsIGtXYXNtRjY0XSwgW10pOworbGV0IGtTaWdf
dl9kZGkgPSBtYWtlU2lnKFtrV2FzbUY2NCwga1dhc21GNjQsIGtXYXNtSTMyXSwgW10pOworbGV0
IGtTaWdfaWlfdiA9IG1ha2VTaWcoW10sIFtrV2FzbUkzMiwga1dhc21JMzJdKTsKK2xldCBrU2ln
X2lpaV92ID0gbWFrZVNpZyhbXSwgW2tXYXNtSTMyLCBrV2FzbUkzMiwga1dhc21JMzJdKTsKK2xl
dCBrU2lnX2lpX2kgPSBtYWtlU2lnKFtrV2FzbUkzMl0sIFtrV2FzbUkzMiwga1dhc21JMzJdKTsK
K2xldCBrU2lnX2lpaV9pID0gbWFrZVNpZyhba1dhc21JMzJdLCBba1dhc21JMzIsIGtXYXNtSTMy
LCBrV2FzbUkzMl0pOworbGV0IGtTaWdfaWlfaWkgPSBtYWtlU2lnKFtrV2FzbUkzMiwga1dhc21J
MzJdLCBba1dhc21JMzIsIGtXYXNtSTMyXSk7CitsZXQga1NpZ19paWlfaWkgPSBtYWtlU2lnKFtr
V2FzbUkzMiwga1dhc21JMzJdLCBba1dhc21JMzIsIGtXYXNtSTMyLCBrV2FzbUkzMl0pOworCits
ZXQga1NpZ192X2YgPSBtYWtlU2lnKFtrV2FzbUYzMl0sIFtdKTsKK2xldCBrU2lnX2ZfZiA9IG1h
a2VTaWcoW2tXYXNtRjMyXSwgW2tXYXNtRjMyXSk7CitsZXQga1NpZ19mX2QgPSBtYWtlU2lnKFtr
V2FzbUY2NF0sIFtrV2FzbUYzMl0pOworbGV0IGtTaWdfZF9kID0gbWFrZVNpZyhba1dhc21GNjRd
LCBba1dhc21GNjRdKTsKK2xldCBrU2lnX3JfciA9IG1ha2VTaWcoW2tXYXNtQW55UmVmXSwgW2tX
YXNtQW55UmVmXSk7CitsZXQga1NpZ19hX2EgPSBtYWtlU2lnKFtrV2FzbUFueUZ1bmNdLCBba1dh
c21BbnlGdW5jXSk7CitsZXQga1NpZ19lX2UgPSBtYWtlU2lnKFtrV2FzbUV4blJlZl0sIFtrV2Fz
bUV4blJlZl0pOworbGV0IGtTaWdfaV9yID0gbWFrZVNpZyhba1dhc21BbnlSZWZdLCBba1dhc21J
MzJdKTsKK2xldCBrU2lnX3ZfciA9IG1ha2VTaWcoW2tXYXNtQW55UmVmXSwgW10pOworbGV0IGtT
aWdfdl9hID0gbWFrZVNpZyhba1dhc21BbnlGdW5jXSwgW10pOworbGV0IGtTaWdfdl9lID0gbWFr
ZVNpZyhba1dhc21FeG5SZWZdLCBbXSk7CitsZXQga1NpZ192X3JyID0gbWFrZVNpZyhba1dhc21B
bnlSZWYsIGtXYXNtQW55UmVmXSwgW10pOworbGV0IGtTaWdfdl9hYSA9IG1ha2VTaWcoW2tXYXNt
QW55RnVuYywga1dhc21BbnlGdW5jXSwgW10pOworbGV0IGtTaWdfcl92ID0gbWFrZVNpZyhbXSwg
W2tXYXNtQW55UmVmXSk7CitsZXQga1NpZ19hX3YgPSBtYWtlU2lnKFtdLCBba1dhc21BbnlGdW5j
XSk7CitsZXQga1NpZ19hX2kgPSBtYWtlU2lnKFtrV2FzbUkzMl0sIFtrV2FzbUFueUZ1bmNdKTsK
K2xldCBrU2lnX2VfdiA9IG1ha2VTaWcoW10sIFtrV2FzbUV4blJlZl0pOworCitmdW5jdGlvbiBt
YWtlU2lnKHBhcmFtcywgcmVzdWx0cykgeworICByZXR1cm4ge3BhcmFtczogcGFyYW1zLCByZXN1
bHRzOiByZXN1bHRzfTsKK30KKworZnVuY3Rpb24gbWFrZVNpZ192X3goeCkgeworICByZXR1cm4g
bWFrZVNpZyhbeF0sIFtdKTsKK30KKworZnVuY3Rpb24gbWFrZVNpZ192X3h4KHgpIHsKKyAgcmV0
dXJuIG1ha2VTaWcoW3gsIHhdLCBbXSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VTaWdfcl92KHIpIHsK
KyAgcmV0dXJuIG1ha2VTaWcoW10sIFtyXSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VTaWdfcl94KHIs
IHgpIHsKKyAgcmV0dXJuIG1ha2VTaWcoW3hdLCBbcl0pOworfQorCitmdW5jdGlvbiBtYWtlU2ln
X3JfeHgociwgeCkgeworICByZXR1cm4gbWFrZVNpZyhbeCwgeF0sIFtyXSk7Cit9CisKKy8vIE9w
Y29kZXMKK2xldCBrRXhwclVucmVhY2hhYmxlID0gMHgwMDsKK2xldCBrRXhwck5vcCA9IDB4MDE7
CitsZXQga0V4cHJCbG9jayA9IDB4MDI7CitsZXQga0V4cHJMb29wID0gMHgwMzsKK2xldCBrRXhw
cklmID0gMHgwNDsKK2xldCBrRXhwckVsc2UgPSAweDA1OworbGV0IGtFeHByVHJ5ID0gMHgwNjsK
K2xldCBrRXhwckNhdGNoID0gMHgwNzsKK2xldCBrRXhwclRocm93ID0gMHgwODsKK2xldCBrRXhw
clJldGhyb3cgPSAweDA5OworbGV0IGtFeHByQnJPbkV4biA9IDB4MGE7CitsZXQga0V4cHJFbmQg
PSAweDBiOworbGV0IGtFeHByQnIgPSAweDBjOworbGV0IGtFeHByQnJJZiA9IDB4MGQ7CitsZXQg
a0V4cHJCclRhYmxlID0gMHgwZTsKK2xldCBrRXhwclJldHVybiA9IDB4MGY7CitsZXQga0V4cHJD
YWxsRnVuY3Rpb24gPSAweDEwOworbGV0IGtFeHByQ2FsbEluZGlyZWN0ID0gMHgxMTsKK2xldCBr
RXhwclJldHVybkNhbGwgPSAweDEyOworbGV0IGtFeHByUmV0dXJuQ2FsbEluZGlyZWN0ID0gMHgx
MzsKK2xldCBrRXhwckRyb3AgPSAweDFhOworbGV0IGtFeHByU2VsZWN0ID0gMHgxYjsKK2xldCBr
RXhwckxvY2FsR2V0ID0gMHgyMDsKK2xldCBrRXhwckxvY2FsU2V0ID0gMHgyMTsKK2xldCBrRXhw
ckxvY2FsVGVlID0gMHgyMjsKK2xldCBrRXhwckdsb2JhbEdldCA9IDB4MjM7CitsZXQga0V4cHJH
bG9iYWxTZXQgPSAweDI0OworbGV0IGtFeHByVGFibGVHZXQgPSAweDI1OworbGV0IGtFeHByVGFi
bGVTZXQgPSAweDI2OworbGV0IGtFeHBySTMyTG9hZE1lbSA9IDB4Mjg7CitsZXQga0V4cHJJNjRM
b2FkTWVtID0gMHgyOTsKK2xldCBrRXhwckYzMkxvYWRNZW0gPSAweDJhOworbGV0IGtFeHByRjY0
TG9hZE1lbSA9IDB4MmI7CitsZXQga0V4cHJJMzJMb2FkTWVtOFMgPSAweDJjOworbGV0IGtFeHBy
STMyTG9hZE1lbThVID0gMHgyZDsKK2xldCBrRXhwckkzMkxvYWRNZW0xNlMgPSAweDJlOworbGV0
IGtFeHBySTMyTG9hZE1lbTE2VSA9IDB4MmY7CitsZXQga0V4cHJJNjRMb2FkTWVtOFMgPSAweDMw
OworbGV0IGtFeHBySTY0TG9hZE1lbThVID0gMHgzMTsKK2xldCBrRXhwckk2NExvYWRNZW0xNlMg
PSAweDMyOworbGV0IGtFeHBySTY0TG9hZE1lbTE2VSA9IDB4MzM7CitsZXQga0V4cHJJNjRMb2Fk
TWVtMzJTID0gMHgzNDsKK2xldCBrRXhwckk2NExvYWRNZW0zMlUgPSAweDM1OworbGV0IGtFeHBy
STMyU3RvcmVNZW0gPSAweDM2OworbGV0IGtFeHBySTY0U3RvcmVNZW0gPSAweDM3OworbGV0IGtF
eHByRjMyU3RvcmVNZW0gPSAweDM4OworbGV0IGtFeHByRjY0U3RvcmVNZW0gPSAweDM5OworbGV0
IGtFeHBySTMyU3RvcmVNZW04ID0gMHgzYTsKK2xldCBrRXhwckkzMlN0b3JlTWVtMTYgPSAweDNi
OworbGV0IGtFeHBySTY0U3RvcmVNZW04ID0gMHgzYzsKK2xldCBrRXhwckk2NFN0b3JlTWVtMTYg
PSAweDNkOworbGV0IGtFeHBySTY0U3RvcmVNZW0zMiA9IDB4M2U7CitsZXQga0V4cHJNZW1vcnlT
aXplID0gMHgzZjsKK2xldCBrRXhwck1lbW9yeUdyb3cgPSAweDQwOworbGV0IGtFeHBySTMyQ29u
c3QgPSAweDQxOworbGV0IGtFeHBySTY0Q29uc3QgPSAweDQyOworbGV0IGtFeHByRjMyQ29uc3Qg
PSAweDQzOworbGV0IGtFeHByRjY0Q29uc3QgPSAweDQ0OworbGV0IGtFeHBySTMyRXF6ID0gMHg0
NTsKK2xldCBrRXhwckkzMkVxID0gMHg0NjsKK2xldCBrRXhwckkzMk5lID0gMHg0NzsKK2xldCBr
RXhwckkzMkx0UyA9IDB4NDg7CitsZXQga0V4cHJJMzJMdFUgPSAweDQ5OworbGV0IGtFeHBySTMy
R3RTID0gMHg0YTsKK2xldCBrRXhwckkzMkd0VSA9IDB4NGI7CitsZXQga0V4cHJJMzJMZVMgPSAw
eDRjOworbGV0IGtFeHBySTMyTGVVID0gMHg0ZDsKK2xldCBrRXhwckkzMkdlUyA9IDB4NGU7Cits
ZXQga0V4cHJJMzJHZVUgPSAweDRmOworbGV0IGtFeHBySTY0RXF6ID0gMHg1MDsKK2xldCBrRXhw
ckk2NEVxID0gMHg1MTsKK2xldCBrRXhwckk2NE5lID0gMHg1MjsKK2xldCBrRXhwckk2NEx0UyA9
IDB4NTM7CitsZXQga0V4cHJJNjRMdFUgPSAweDU0OworbGV0IGtFeHBySTY0R3RTID0gMHg1NTsK
K2xldCBrRXhwckk2NEd0VSA9IDB4NTY7CitsZXQga0V4cHJJNjRMZVMgPSAweDU3OworbGV0IGtF
eHBySTY0TGVVID0gMHg1ODsKK2xldCBrRXhwckk2NEdlUyA9IDB4NTk7CitsZXQga0V4cHJJNjRH
ZVUgPSAweDVhOworbGV0IGtFeHByRjMyRXEgPSAweDViOworbGV0IGtFeHByRjMyTmUgPSAweDVj
OworbGV0IGtFeHByRjMyTHQgPSAweDVkOworbGV0IGtFeHByRjMyR3QgPSAweDVlOworbGV0IGtF
eHByRjMyTGUgPSAweDVmOworbGV0IGtFeHByRjMyR2UgPSAweDYwOworbGV0IGtFeHByRjY0RXEg
PSAweDYxOworbGV0IGtFeHByRjY0TmUgPSAweDYyOworbGV0IGtFeHByRjY0THQgPSAweDYzOwor
bGV0IGtFeHByRjY0R3QgPSAweDY0OworbGV0IGtFeHByRjY0TGUgPSAweDY1OworbGV0IGtFeHBy
RjY0R2UgPSAweDY2OworbGV0IGtFeHBySTMyQ2x6ID0gMHg2NzsKK2xldCBrRXhwckkzMkN0eiA9
IDB4Njg7CitsZXQga0V4cHJJMzJQb3BjbnQgPSAweDY5OworbGV0IGtFeHBySTMyQWRkID0gMHg2
YTsKK2xldCBrRXhwckkzMlN1YiA9IDB4NmI7CitsZXQga0V4cHJJMzJNdWwgPSAweDZjOworbGV0
IGtFeHBySTMyRGl2UyA9IDB4NmQ7CitsZXQga0V4cHJJMzJEaXZVID0gMHg2ZTsKK2xldCBrRXhw
ckkzMlJlbVMgPSAweDZmOworbGV0IGtFeHBySTMyUmVtVSA9IDB4NzA7CitsZXQga0V4cHJJMzJB
bmQgPSAweDcxOworbGV0IGtFeHBySTMySW9yID0gMHg3MjsKK2xldCBrRXhwckkzMlhvciA9IDB4
NzM7CitsZXQga0V4cHJJMzJTaGwgPSAweDc0OworbGV0IGtFeHBySTMyU2hyUyA9IDB4NzU7Cits
ZXQga0V4cHJJMzJTaHJVID0gMHg3NjsKK2xldCBrRXhwckkzMlJvbCA9IDB4Nzc7CitsZXQga0V4
cHJJMzJSb3IgPSAweDc4OworbGV0IGtFeHBySTY0Q2x6ID0gMHg3OTsKK2xldCBrRXhwckk2NEN0
eiA9IDB4N2E7CitsZXQga0V4cHJJNjRQb3BjbnQgPSAweDdiOworbGV0IGtFeHBySTY0QWRkID0g
MHg3YzsKK2xldCBrRXhwckk2NFN1YiA9IDB4N2Q7CitsZXQga0V4cHJJNjRNdWwgPSAweDdlOwor
bGV0IGtFeHBySTY0RGl2UyA9IDB4N2Y7CitsZXQga0V4cHJJNjREaXZVID0gMHg4MDsKK2xldCBr
RXhwckk2NFJlbVMgPSAweDgxOworbGV0IGtFeHBySTY0UmVtVSA9IDB4ODI7CitsZXQga0V4cHJJ
NjRBbmQgPSAweDgzOworbGV0IGtFeHBySTY0SW9yID0gMHg4NDsKK2xldCBrRXhwckk2NFhvciA9
IDB4ODU7CitsZXQga0V4cHJJNjRTaGwgPSAweDg2OworbGV0IGtFeHBySTY0U2hyUyA9IDB4ODc7
CitsZXQga0V4cHJJNjRTaHJVID0gMHg4ODsKK2xldCBrRXhwckk2NFJvbCA9IDB4ODk7CitsZXQg
a0V4cHJJNjRSb3IgPSAweDhhOworbGV0IGtFeHByRjMyQWJzID0gMHg4YjsKK2xldCBrRXhwckYz
Mk5lZyA9IDB4OGM7CitsZXQga0V4cHJGMzJDZWlsID0gMHg4ZDsKK2xldCBrRXhwckYzMkZsb29y
ID0gMHg4ZTsKK2xldCBrRXhwckYzMlRydW5jID0gMHg4ZjsKK2xldCBrRXhwckYzMk5lYXJlc3RJ
bnQgPSAweDkwOworbGV0IGtFeHByRjMyU3FydCA9IDB4OTE7CitsZXQga0V4cHJGMzJBZGQgPSAw
eDkyOworbGV0IGtFeHByRjMyU3ViID0gMHg5MzsKK2xldCBrRXhwckYzMk11bCA9IDB4OTQ7Cits
ZXQga0V4cHJGMzJEaXYgPSAweDk1OworbGV0IGtFeHByRjMyTWluID0gMHg5NjsKK2xldCBrRXhw
ckYzMk1heCA9IDB4OTc7CitsZXQga0V4cHJGMzJDb3B5U2lnbiA9IDB4OTg7CitsZXQga0V4cHJG
NjRBYnMgPSAweDk5OworbGV0IGtFeHByRjY0TmVnID0gMHg5YTsKK2xldCBrRXhwckY2NENlaWwg
PSAweDliOworbGV0IGtFeHByRjY0Rmxvb3IgPSAweDljOworbGV0IGtFeHByRjY0VHJ1bmMgPSAw
eDlkOworbGV0IGtFeHByRjY0TmVhcmVzdEludCA9IDB4OWU7CitsZXQga0V4cHJGNjRTcXJ0ID0g
MHg5ZjsKK2xldCBrRXhwckY2NEFkZCA9IDB4YTA7CitsZXQga0V4cHJGNjRTdWIgPSAweGExOwor
bGV0IGtFeHByRjY0TXVsID0gMHhhMjsKK2xldCBrRXhwckY2NERpdiA9IDB4YTM7CitsZXQga0V4
cHJGNjRNaW4gPSAweGE0OworbGV0IGtFeHByRjY0TWF4ID0gMHhhNTsKK2xldCBrRXhwckY2NENv
cHlTaWduID0gMHhhNjsKK2xldCBrRXhwckkzMkNvbnZlcnRJNjQgPSAweGE3OworbGV0IGtFeHBy
STMyU0NvbnZlcnRGMzIgPSAweGE4OworbGV0IGtFeHBySTMyVUNvbnZlcnRGMzIgPSAweGE5Owor
bGV0IGtFeHBySTMyU0NvbnZlcnRGNjQgPSAweGFhOworbGV0IGtFeHBySTMyVUNvbnZlcnRGNjQg
PSAweGFiOworbGV0IGtFeHBySTY0U0NvbnZlcnRJMzIgPSAweGFjOworbGV0IGtFeHBySTY0VUNv
bnZlcnRJMzIgPSAweGFkOworbGV0IGtFeHBySTY0U0NvbnZlcnRGMzIgPSAweGFlOworbGV0IGtF
eHBySTY0VUNvbnZlcnRGMzIgPSAweGFmOworbGV0IGtFeHBySTY0U0NvbnZlcnRGNjQgPSAweGIw
OworbGV0IGtFeHBySTY0VUNvbnZlcnRGNjQgPSAweGIxOworbGV0IGtFeHByRjMyU0NvbnZlcnRJ
MzIgPSAweGIyOworbGV0IGtFeHByRjMyVUNvbnZlcnRJMzIgPSAweGIzOworbGV0IGtFeHByRjMy
U0NvbnZlcnRJNjQgPSAweGI0OworbGV0IGtFeHByRjMyVUNvbnZlcnRJNjQgPSAweGI1OworbGV0
IGtFeHByRjMyQ29udmVydEY2NCA9IDB4YjY7CitsZXQga0V4cHJGNjRTQ29udmVydEkzMiA9IDB4
Yjc7CitsZXQga0V4cHJGNjRVQ29udmVydEkzMiA9IDB4Yjg7CitsZXQga0V4cHJGNjRTQ29udmVy
dEk2NCA9IDB4Yjk7CitsZXQga0V4cHJGNjRVQ29udmVydEk2NCA9IDB4YmE7CitsZXQga0V4cHJG
NjRDb252ZXJ0RjMyID0gMHhiYjsKK2xldCBrRXhwckkzMlJlaW50ZXJwcmV0RjMyID0gMHhiYzsK
K2xldCBrRXhwckk2NFJlaW50ZXJwcmV0RjY0ID0gMHhiZDsKK2xldCBrRXhwckYzMlJlaW50ZXJw
cmV0STMyID0gMHhiZTsKK2xldCBrRXhwckY2NFJlaW50ZXJwcmV0STY0ID0gMHhiZjsKK2xldCBr
RXhwckkzMlNFeHRlbmRJOCA9IDB4YzA7CitsZXQga0V4cHJJMzJTRXh0ZW5kSTE2ID0gMHhjMTsK
K2xldCBrRXhwckk2NFNFeHRlbmRJOCA9IDB4YzI7CitsZXQga0V4cHJJNjRTRXh0ZW5kSTE2ID0g
MHhjMzsKK2xldCBrRXhwckk2NFNFeHRlbmRJMzIgPSAweGM0OworbGV0IGtFeHByUmVmTnVsbCA9
IDB4ZDA7CitsZXQga0V4cHJSZWZJc051bGwgPSAweGQxOworbGV0IGtFeHByUmVmRnVuYyA9IDB4
ZDI7CisKKy8vIFByZWZpeCBvcGNvZGVzCitsZXQga051bWVyaWNQcmVmaXggPSAweGZjOworbGV0
IGtTaW1kUHJlZml4ID0gMHhmZDsKK2xldCBrQXRvbWljUHJlZml4ID0gMHhmZTsKKworLy8gTnVt
ZXJpYyBvcGNvZGVzLgorbGV0IGtFeHByTWVtb3J5SW5pdCA9IDB4MDg7CitsZXQga0V4cHJEYXRh
RHJvcCA9IDB4MDk7CitsZXQga0V4cHJNZW1vcnlDb3B5ID0gMHgwYTsKK2xldCBrRXhwck1lbW9y
eUZpbGwgPSAweDBiOworbGV0IGtFeHByVGFibGVJbml0ID0gMHgwYzsKK2xldCBrRXhwckVsZW1E
cm9wID0gMHgwZDsKK2xldCBrRXhwclRhYmxlQ29weSA9IDB4MGU7CitsZXQga0V4cHJUYWJsZUdy
b3cgPSAweDBmOworbGV0IGtFeHByVGFibGVTaXplID0gMHgxMDsKK2xldCBrRXhwclRhYmxlRmls
bCA9IDB4MTE7CisKKy8vIEF0b21pYyBvcGNvZGVzLgorbGV0IGtFeHByQXRvbWljTm90aWZ5ID0g
MHgwMDsKK2xldCBrRXhwckkzMkF0b21pY1dhaXQgPSAweDAxOworbGV0IGtFeHBySTY0QXRvbWlj
V2FpdCA9IDB4MDI7CitsZXQga0V4cHJJMzJBdG9taWNMb2FkID0gMHgxMDsKK2xldCBrRXhwckkz
MkF0b21pY0xvYWQ4VSA9IDB4MTI7CitsZXQga0V4cHJJMzJBdG9taWNMb2FkMTZVID0gMHgxMzsK
K2xldCBrRXhwckkzMkF0b21pY1N0b3JlID0gMHgxNzsKK2xldCBrRXhwckkzMkF0b21pY1N0b3Jl
OFUgPSAweDE5OworbGV0IGtFeHBySTMyQXRvbWljU3RvcmUxNlUgPSAweDFhOworbGV0IGtFeHBy
STMyQXRvbWljQWRkID0gMHgxZTsKK2xldCBrRXhwckkzMkF0b21pY0FkZDhVID0gMHgyMDsKK2xl
dCBrRXhwckkzMkF0b21pY0FkZDE2VSA9IDB4MjE7CitsZXQga0V4cHJJMzJBdG9taWNTdWIgPSAw
eDI1OworbGV0IGtFeHBySTMyQXRvbWljU3ViOFUgPSAweDI3OworbGV0IGtFeHBySTMyQXRvbWlj
U3ViMTZVID0gMHgyODsKK2xldCBrRXhwckkzMkF0b21pY0FuZCA9IDB4MmM7CitsZXQga0V4cHJJ
MzJBdG9taWNBbmQ4VSA9IDB4MmU7CitsZXQga0V4cHJJMzJBdG9taWNBbmQxNlUgPSAweDJmOwor
bGV0IGtFeHBySTMyQXRvbWljT3IgPSAweDMzOworbGV0IGtFeHBySTMyQXRvbWljT3I4VSA9IDB4
MzU7CitsZXQga0V4cHJJMzJBdG9taWNPcjE2VSA9IDB4MzY7CitsZXQga0V4cHJJMzJBdG9taWNY
b3IgPSAweDNhOworbGV0IGtFeHBySTMyQXRvbWljWG9yOFUgPSAweDNjOworbGV0IGtFeHBySTMy
QXRvbWljWG9yMTZVID0gMHgzZDsKK2xldCBrRXhwckkzMkF0b21pY0V4Y2hhbmdlID0gMHg0MTsK
K2xldCBrRXhwckkzMkF0b21pY0V4Y2hhbmdlOFUgPSAweDQzOworbGV0IGtFeHBySTMyQXRvbWlj
RXhjaGFuZ2UxNlUgPSAweDQ0OworbGV0IGtFeHBySTMyQXRvbWljQ29tcGFyZUV4Y2hhbmdlID0g
MHg0ODsKK2xldCBrRXhwckkzMkF0b21pY0NvbXBhcmVFeGNoYW5nZThVID0gMHg0YTsKK2xldCBr
RXhwckkzMkF0b21pY0NvbXBhcmVFeGNoYW5nZTE2VSA9IDB4NGI7CisKK2xldCBrRXhwckk2NEF0
b21pY0xvYWQgPSAweDExOworbGV0IGtFeHBySTY0QXRvbWljTG9hZDhVID0gMHgxNDsKK2xldCBr
RXhwckk2NEF0b21pY0xvYWQxNlUgPSAweDE1OworbGV0IGtFeHBySTY0QXRvbWljTG9hZDMyVSA9
IDB4MTY7CitsZXQga0V4cHJJNjRBdG9taWNTdG9yZSA9IDB4MTg7CitsZXQga0V4cHJJNjRBdG9t
aWNTdG9yZThVID0gMHgxYjsKK2xldCBrRXhwckk2NEF0b21pY1N0b3JlMTZVID0gMHgxYzsKK2xl
dCBrRXhwckk2NEF0b21pY1N0b3JlMzJVID0gMHgxZDsKK2xldCBrRXhwckk2NEF0b21pY0FkZCA9
IDB4MWY7CitsZXQga0V4cHJJNjRBdG9taWNBZGQ4VSA9IDB4MjI7CitsZXQga0V4cHJJNjRBdG9t
aWNBZGQxNlUgPSAweDIzOworbGV0IGtFeHBySTY0QXRvbWljQWRkMzJVID0gMHgyNDsKK2xldCBr
RXhwckk2NEF0b21pY1N1YiA9IDB4MjY7CitsZXQga0V4cHJJNjRBdG9taWNTdWI4VSA9IDB4Mjk7
CitsZXQga0V4cHJJNjRBdG9taWNTdWIxNlUgPSAweDJhOworbGV0IGtFeHBySTY0QXRvbWljU3Vi
MzJVID0gMHgyYjsKK2xldCBrRXhwckk2NEF0b21pY0FuZCA9IDB4MmQ7CitsZXQga0V4cHJJNjRB
dG9taWNBbmQ4VSA9IDB4MzA7CitsZXQga0V4cHJJNjRBdG9taWNBbmQxNlUgPSAweDMxOworbGV0
IGtFeHBySTY0QXRvbWljQW5kMzJVID0gMHgzMjsKK2xldCBrRXhwckk2NEF0b21pY09yID0gMHgz
NDsKK2xldCBrRXhwckk2NEF0b21pY09yOFUgPSAweDM3OworbGV0IGtFeHBySTY0QXRvbWljT3Ix
NlUgPSAweDM4OworbGV0IGtFeHBySTY0QXRvbWljT3IzMlUgPSAweDM5OworbGV0IGtFeHBySTY0
QXRvbWljWG9yID0gMHgzYjsKK2xldCBrRXhwckk2NEF0b21pY1hvcjhVID0gMHgzZTsKK2xldCBr
RXhwckk2NEF0b21pY1hvcjE2VSA9IDB4M2Y7CitsZXQga0V4cHJJNjRBdG9taWNYb3IzMlUgPSAw
eDQwOworbGV0IGtFeHBySTY0QXRvbWljRXhjaGFuZ2UgPSAweDQyOworbGV0IGtFeHBySTY0QXRv
bWljRXhjaGFuZ2U4VSA9IDB4NDU7CitsZXQga0V4cHJJNjRBdG9taWNFeGNoYW5nZTE2VSA9IDB4
NDY7CitsZXQga0V4cHJJNjRBdG9taWNFeGNoYW5nZTMyVSA9IDB4NDc7CitsZXQga0V4cHJJNjRB
dG9taWNDb21wYXJlRXhjaGFuZ2UgPSAweDQ5CitsZXQga0V4cHJJNjRBdG9taWNDb21wYXJlRXhj
aGFuZ2U4VSA9IDB4NGM7CitsZXQga0V4cHJJNjRBdG9taWNDb21wYXJlRXhjaGFuZ2UxNlUgPSAw
eDRkOworbGV0IGtFeHBySTY0QXRvbWljQ29tcGFyZUV4Y2hhbmdlMzJVID0gMHg0ZTsKKworLy8g
U2ltZCBvcGNvZGVzLgorbGV0IGtFeHByUzEyOExvYWRNZW0gPSAweDAwOworbGV0IGtFeHByUzEy
OFN0b3JlTWVtID0gMHgwMTsKK2xldCBrRXhwckkzMng0U3BsYXQgPSAweDBjOworbGV0IGtFeHBy
STMyeDRFcSA9IDB4MmM7CitsZXQga0V4cHJTMXg0QWxsVHJ1ZSA9IDB4NzU7CitsZXQga0V4cHJG
MzJ4NE1pbiA9IDB4OWU7CisKK2NsYXNzIEJpbmFyeSB7CisgIGNvbnN0cnVjdG9yKCkgeworICAg
IHRoaXMubGVuZ3RoID0gMDsKKyAgICB0aGlzLmJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KDgxOTIp
OworICB9CisKKyAgZW5zdXJlX3NwYWNlKG5lZWRlZCkgeworICAgIGlmICh0aGlzLmJ1ZmZlci5s
ZW5ndGggLSB0aGlzLmxlbmd0aCA+PSBuZWVkZWQpIHJldHVybjsKKyAgICBsZXQgbmV3X2NhcGFj
aXR5ID0gdGhpcy5idWZmZXIubGVuZ3RoICogMjsKKyAgICB3aGlsZSAobmV3X2NhcGFjaXR5IC0g
dGhpcy5sZW5ndGggPCBuZWVkZWQpIG5ld19jYXBhY2l0eSAqPSAyOworICAgIGxldCBuZXdfYnVm
ZmVyID0gbmV3IFVpbnQ4QXJyYXkobmV3X2NhcGFjaXR5KTsKKyAgICBuZXdfYnVmZmVyLnNldCh0
aGlzLmJ1ZmZlcik7CisgICAgdGhpcy5idWZmZXIgPSBuZXdfYnVmZmVyOworICB9CisKKyAgdHJ1
bmNfYnVmZmVyKCkgeworICAgIHJldHVybiBuZXcgVWludDhBcnJheSh0aGlzLmJ1ZmZlci5idWZm
ZXIsIDAsIHRoaXMubGVuZ3RoKTsKKyAgfQorCisgIHJlc2V0KCkgeworICAgIHRoaXMubGVuZ3Ro
ID0gMDsKKyAgfQogCi1jbGFzcyBCaW5hcnkgZXh0ZW5kcyBBcnJheSB7CiAgIGVtaXRfdTgodmFs
KSB7Ci0gICAgdGhpcy5wdXNoKHZhbCk7CisgICAgdGhpcy5lbnN1cmVfc3BhY2UoMSk7CisgICAg
dGhpcy5idWZmZXJbdGhpcy5sZW5ndGgrK10gPSB2YWw7CiAgIH0KIAogICBlbWl0X3UxNih2YWwp
IHsKLSAgICB0aGlzLnB1c2godmFsICYgMHhmZik7Ci0gICAgdGhpcy5wdXNoKCh2YWwgPj4gOCkg
JiAweGZmKTsKKyAgICB0aGlzLmVuc3VyZV9zcGFjZSgyKTsKKyAgICB0aGlzLmJ1ZmZlclt0aGlz
Lmxlbmd0aCsrXSA9IHZhbDsKKyAgICB0aGlzLmJ1ZmZlclt0aGlzLmxlbmd0aCsrXSA9IHZhbCA+
PiA4OwogICB9CiAKICAgZW1pdF91MzIodmFsKSB7Ci0gICAgdGhpcy5wdXNoKHZhbCAmIDB4ZmYp
OwotICAgIHRoaXMucHVzaCgodmFsID4+IDgpICYgMHhmZik7Ci0gICAgdGhpcy5wdXNoKCh2YWwg
Pj4gMTYpICYgMHhmZik7Ci0gICAgdGhpcy5wdXNoKCh2YWwgPj4gMjQpICYgMHhmZik7CisgICAg
dGhpcy5lbnN1cmVfc3BhY2UoNCk7CisgICAgdGhpcy5idWZmZXJbdGhpcy5sZW5ndGgrK10gPSB2
YWw7CisgICAgdGhpcy5idWZmZXJbdGhpcy5sZW5ndGgrK10gPSB2YWwgPj4gODsKKyAgICB0aGlz
LmJ1ZmZlclt0aGlzLmxlbmd0aCsrXSA9IHZhbCA+PiAxNjsKKyAgICB0aGlzLmJ1ZmZlclt0aGlz
Lmxlbmd0aCsrXSA9IHZhbCA+PiAyNDsKICAgfQogCi0gIGVtaXRfdTMydih2YWwpIHsKLSAgICB3
aGlsZSAodHJ1ZSkgeworICBlbWl0X2xlYl91KHZhbCwgbWF4X2xlbikgeworICAgIHRoaXMuZW5z
dXJlX3NwYWNlKG1heF9sZW4pOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWF4X2xlbjsgKytp
KSB7CiAgICAgICBsZXQgdiA9IHZhbCAmIDB4ZmY7CiAgICAgICB2YWwgPSB2YWwgPj4+IDc7CiAg
ICAgICBpZiAodmFsID09IDApIHsKLSAgICAgICAgdGhpcy5wdXNoKHYpOwotICAgICAgICBicmVh
azsKKyAgICAgICAgdGhpcy5idWZmZXJbdGhpcy5sZW5ndGgrK10gPSB2OworICAgICAgICByZXR1
cm47CiAgICAgICB9Ci0gICAgICB0aGlzLnB1c2godiB8IDB4ODApOworICAgICAgdGhpcy5idWZm
ZXJbdGhpcy5sZW5ndGgrK10gPSB2IHwgMHg4MDsKICAgICB9CisgICAgdGhyb3cgbmV3IEVycm9y
KCJMZWIgdmFsdWUgZXhjZWVkcyBtYXhpbXVtIGxlbmd0aCBvZiAiICsgbWF4X2xlbik7CisgIH0K
KworICBlbWl0X3UzMnYodmFsKSB7CisgICAgdGhpcy5lbWl0X2xlYl91KHZhbCwga01heFZhcklu
dDMyU2l6ZSk7CisgIH0KKworICBlbWl0X3U2NHYodmFsKSB7CisgICAgdGhpcy5lbWl0X2xlYl91
KHZhbCwga01heFZhckludDY0U2l6ZSk7CiAgIH0KIAogICBlbWl0X2J5dGVzKGRhdGEpIHsKLSAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHsKLSAgICAgIHRoaXMucHVz
aChkYXRhW2ldICYgMHhmZik7Ci0gICAgfQorICAgIHRoaXMuZW5zdXJlX3NwYWNlKGRhdGEubGVu
Z3RoKTsKKyAgICB0aGlzLmJ1ZmZlci5zZXQoZGF0YSwgdGhpcy5sZW5ndGgpOworICAgIHRoaXMu
bGVuZ3RoICs9IGRhdGEubGVuZ3RoOwogICB9CiAKICAgZW1pdF9zdHJpbmcoc3RyaW5nKSB7CkBA
IC02MSwyMCArNTYwLDIyIEBAIGNsYXNzIEJpbmFyeSBleHRlbmRzIEFycmF5IHsKICAgfQogCiAg
IGVtaXRfaGVhZGVyKCkgewotICAgIHRoaXMucHVzaChrV2FzbUgwLCBrV2FzbUgxLCBrV2FzbUgy
LCBrV2FzbUgzLAotICAgICAgICAgICAgICBrV2FzbVYwLCBrV2FzbVYxLCBrV2FzbVYyLCBrV2Fz
bVYzKTsKKyAgICB0aGlzLmVtaXRfYnl0ZXMoWworICAgICAga1dhc21IMCwga1dhc21IMSwga1dh
c21IMiwga1dhc21IMywga1dhc21WMCwga1dhc21WMSwga1dhc21WMiwga1dhc21WMworICAgIF0p
OwogICB9CiAKICAgZW1pdF9zZWN0aW9uKHNlY3Rpb25fY29kZSwgY29udGVudF9nZW5lcmF0b3Ip
IHsKICAgICAvLyBFbWl0IHNlY3Rpb24gbmFtZS4KICAgICB0aGlzLmVtaXRfdTgoc2VjdGlvbl9j
b2RlKTsKICAgICAvLyBFbWl0IHRoZSBzZWN0aW9uIHRvIGEgdGVtcG9yYXJ5IGJ1ZmZlcjogaXRz
IGZ1bGwgbGVuZ3RoIGlzbid0IGtub3cgeWV0LgotICAgIGxldCBzZWN0aW9uID0gbmV3IEJpbmFy
eTsKKyAgICBjb25zdCBzZWN0aW9uID0gbmV3IEJpbmFyeTsKICAgICBjb250ZW50X2dlbmVyYXRv
cihzZWN0aW9uKTsKICAgICAvLyBFbWl0IHNlY3Rpb24gbGVuZ3RoLgogICAgIHRoaXMuZW1pdF91
MzJ2KHNlY3Rpb24ubGVuZ3RoKTsKICAgICAvLyBDb3B5IHRoZSB0ZW1wb3JhcnkgYnVmZmVyLgot
ICAgIHRoaXMucHVzaCguLi5zZWN0aW9uKTsKKyAgICAvLyBBdm9pZCBzcHJlYWQgYmVjYXVzZSB7
c2VjdGlvbn0gY2FuIGJlIGh1Z2UuCisgICAgdGhpcy5lbWl0X2J5dGVzKHNlY3Rpb24udHJ1bmNf
YnVmZmVyKCkpOwogICB9CiB9CiAKQEAgLTg0LDYgKzU4NSwxNiBAQCBjbGFzcyBXYXNtRnVuY3Rp
b25CdWlsZGVyIHsKICAgICB0aGlzLm5hbWUgPSBuYW1lOwogICAgIHRoaXMudHlwZV9pbmRleCA9
IHR5cGVfaW5kZXg7CiAgICAgdGhpcy5ib2R5ID0gW107CisgICAgdGhpcy5sb2NhbHMgPSBbXTsK
KyAgICB0aGlzLmxvY2FsX25hbWVzID0gW107CisgIH0KKworICBudW1Mb2NhbE5hbWVzKCkgewor
ICAgIGxldCBudW1fbG9jYWxfbmFtZXMgPSAwOworICAgIGZvciAobGV0IGxvY19uYW1lIG9mIHRo
aXMubG9jYWxfbmFtZXMpIHsKKyAgICAgIGlmIChsb2NfbmFtZSAhPT0gdW5kZWZpbmVkKSArK251
bV9sb2NhbF9uYW1lczsKKyAgICB9CisgICAgcmV0dXJuIG51bV9sb2NhbF9uYW1lczsKICAgfQog
CiAgIGV4cG9ydEFzKG5hbWUpIHsKQEAgLTk3LDEyICs2MDgsMzggQEAgY2xhc3MgV2FzbUZ1bmN0
aW9uQnVpbGRlciB7CiAgIH0KIAogICBhZGRCb2R5KGJvZHkpIHsKKyAgICBmb3IgKGxldCBiIG9m
IGJvZHkpIHsKKyAgICAgIGlmICh0eXBlb2YgYiAhPT0gJ251bWJlcicgfHwgKGIgJiAofjB4RkYp
KSAhPT0gMCApCisgICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBib2R5IChlbnRyaWVz
IG11c3QgYmUgOCBiaXQgbnVtYmVycyk6ICcgKyBib2R5KTsKKyAgICB9CisgICAgdGhpcy5ib2R5
ID0gYm9keS5zbGljZSgpOworICAgIC8vIEF1dG9tYXRpY2FsbHkgYWRkIHRoZSBlbmQgZm9yIHRo
ZSBmdW5jdGlvbiBibG9jayB0byB0aGUgYm9keS4KKyAgICB0aGlzLmJvZHkucHVzaChrRXhwckVu
ZCk7CisgICAgcmV0dXJuIHRoaXM7CisgIH0KKworICBhZGRCb2R5V2l0aEVuZChib2R5KSB7CiAg
ICAgdGhpcy5ib2R5ID0gYm9keTsKICAgICByZXR1cm4gdGhpczsKICAgfQogCi0gIGFkZExvY2Fs
cyhsb2NhbHMpIHsKLSAgICB0aGlzLmxvY2FscyA9IGxvY2FsczsKKyAgZ2V0TnVtTG9jYWxzKCkg
eworICAgIGxldCB0b3RhbF9sb2NhbHMgPSAwOworICAgIGZvciAobGV0IGwgb2YgdGhpcy5sb2Nh
bHMpIHsKKyAgICAgIGZvciAobGV0IHR5cGUgb2YgWyJpMzIiLCAiaTY0IiwgImYzMiIsICJmNjQi
LCAiczEyOCJdKSB7CisgICAgICAgIHRvdGFsX2xvY2FscyArPSBsW3R5cGUgKyAiX2NvdW50Il0g
fHwgMDsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHRvdGFsX2xvY2FsczsKKyAgfQorCisg
IGFkZExvY2Fscyhsb2NhbHMsIG5hbWVzKSB7CisgICAgY29uc3Qgb2xkX251bV9sb2NhbHMgPSB0
aGlzLmdldE51bUxvY2FscygpOworICAgIHRoaXMubG9jYWxzLnB1c2gobG9jYWxzKTsKKyAgICBp
ZiAobmFtZXMpIHsKKyAgICAgIGNvbnN0IG1pc3NpbmdfbmFtZXMgPSBvbGRfbnVtX2xvY2FscyAt
IHRoaXMubG9jYWxfbmFtZXMubGVuZ3RoOworICAgICAgdGhpcy5sb2NhbF9uYW1lcy5wdXNoKC4u
Lm5ldyBBcnJheShtaXNzaW5nX25hbWVzKSwgLi4ubmFtZXMpOworICAgIH0KICAgICByZXR1cm4g
dGhpczsKICAgfQogCkBAIC0xMjYsMjAgKzY2MywzOCBAQCBjbGFzcyBXYXNtR2xvYmFsQnVpbGRl
ciB7CiAgIH0KIH0KIAorY2xhc3MgV2FzbVRhYmxlQnVpbGRlciB7CisgIGNvbnN0cnVjdG9yKG1v
ZHVsZSwgdHlwZSwgaW5pdGlhbF9zaXplLCBtYXhfc2l6ZSkgeworICAgIHRoaXMubW9kdWxlID0g
bW9kdWxlOworICAgIHRoaXMudHlwZSA9IHR5cGU7CisgICAgdGhpcy5pbml0aWFsX3NpemUgPSBp
bml0aWFsX3NpemU7CisgICAgdGhpcy5oYXNfbWF4ID0gbWF4X3NpemUgIT0gdW5kZWZpbmVkOwor
ICAgIHRoaXMubWF4X3NpemUgPSBtYXhfc2l6ZTsKKyAgfQorCisgIGV4cG9ydEFzKG5hbWUpIHsK
KyAgICB0aGlzLm1vZHVsZS5leHBvcnRzLnB1c2goe25hbWU6IG5hbWUsIGtpbmQ6IGtFeHRlcm5h
bFRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuaW5kZXh9
KTsKKyAgICByZXR1cm4gdGhpczsKKyAgfQorfQorCiBjbGFzcyBXYXNtTW9kdWxlQnVpbGRlciB7
CiAgIGNvbnN0cnVjdG9yKCkgewogICAgIHRoaXMudHlwZXMgPSBbXTsKICAgICB0aGlzLmltcG9y
dHMgPSBbXTsKICAgICB0aGlzLmV4cG9ydHMgPSBbXTsKICAgICB0aGlzLmdsb2JhbHMgPSBbXTsK
KyAgICB0aGlzLnRhYmxlcyA9IFtdOworICAgIHRoaXMuZXhjZXB0aW9ucyA9IFtdOwogICAgIHRo
aXMuZnVuY3Rpb25zID0gW107Ci0gICAgdGhpcy5mdW5jdGlvbl90YWJsZSA9IFtdOwotICAgIHRo
aXMuZnVuY3Rpb25fdGFibGVfbGVuZ3RoID0gMDsKLSAgICB0aGlzLmZ1bmN0aW9uX3RhYmxlX2lu
aXRzID0gW107Ci0gICAgdGhpcy5zZWdtZW50cyA9IFtdOworICAgIHRoaXMuZWxlbWVudF9zZWdt
ZW50cyA9IFtdOworICAgIHRoaXMuZGF0YV9zZWdtZW50cyA9IFtdOwogICAgIHRoaXMuZXhwbGlj
aXQgPSBbXTsKICAgICB0aGlzLm51bV9pbXBvcnRlZF9mdW5jcyA9IDA7CiAgICAgdGhpcy5udW1f
aW1wb3J0ZWRfZ2xvYmFscyA9IDA7CisgICAgdGhpcy5udW1faW1wb3J0ZWRfdGFibGVzID0gMDsK
KyAgICB0aGlzLm51bV9pbXBvcnRlZF9leGNlcHRpb25zID0gMDsKICAgICByZXR1cm4gdGhpczsK
ICAgfQogCkBAIC0xNDgsOCArNzAzLDggQEAgY2xhc3MgV2FzbU1vZHVsZUJ1aWxkZXIgewogICAg
IHJldHVybiB0aGlzOwogICB9CiAKLSAgYWRkTWVtb3J5KG1pbiwgbWF4LCBleHApIHsKLSAgICB0
aGlzLm1lbW9yeSA9IHttaW46IG1pbiwgbWF4OiBtYXgsIGV4cDogZXhwfTsKKyAgYWRkTWVtb3J5
KG1pbiwgbWF4LCBleHAsIHNoYXJlZCkgeworICAgIHRoaXMubWVtb3J5ID0ge21pbjogbWluLCBt
YXg6IG1heCwgZXhwOiBleHAsIHNoYXJlZDogc2hhcmVkfTsKICAgICByZXR1cm4gdGhpczsKICAg
fQogCkBAIC0xNTgsOSArNzEzLDMwIEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICBy
ZXR1cm4gdGhpczsKICAgfQogCisgIHN0cmluZ1RvQnl0ZXMobmFtZSkgeworICAgIHZhciByZXN1
bHQgPSBuZXcgQmluYXJ5KCk7CisgICAgcmVzdWx0LmVtaXRfc3RyaW5nKG5hbWUpOworICAgIHJl
dHVybiByZXN1bHQudHJ1bmNfYnVmZmVyKCkKKyAgfQorCisgIGNyZWF0ZUN1c3RvbVNlY3Rpb24o
bmFtZSwgYnl0ZXMpIHsKKyAgICBuYW1lID0gdGhpcy5zdHJpbmdUb0J5dGVzKG5hbWUpOworICAg
IHZhciBzZWN0aW9uID0gbmV3IEJpbmFyeSgpOworICAgIHNlY3Rpb24uZW1pdF91OChrVW5rbm93
blNlY3Rpb25Db2RlKTsKKyAgICBzZWN0aW9uLmVtaXRfdTMydihuYW1lLmxlbmd0aCArIGJ5dGVz
Lmxlbmd0aCk7CisgICAgc2VjdGlvbi5lbWl0X2J5dGVzKG5hbWUpOworICAgIHNlY3Rpb24uZW1p
dF9ieXRlcyhieXRlcyk7CisgICAgcmV0dXJuIHNlY3Rpb24udHJ1bmNfYnVmZmVyKCk7CisgIH0K
KworICBhZGRDdXN0b21TZWN0aW9uKG5hbWUsIGJ5dGVzKSB7CisgICAgdGhpcy5leHBsaWNpdC5w
dXNoKHRoaXMuY3JlYXRlQ3VzdG9tU2VjdGlvbihuYW1lLCBieXRlcykpOworICB9CisKICAgYWRk
VHlwZSh0eXBlKSB7Ci0gICAgLy8gVE9ETzogY2Fub25pY2FsaXplIHR5cGVzPwogICAgIHRoaXMu
dHlwZXMucHVzaCh0eXBlKTsKKyAgICB2YXIgcGwgPSB0eXBlLnBhcmFtcy5sZW5ndGg7ICAvLyBz
aG91bGQgaGF2ZSBwYXJhbXMKKyAgICB2YXIgcmwgPSB0eXBlLnJlc3VsdHMubGVuZ3RoOyAvLyBz
aG91bGQgaGF2ZSByZXN1bHRzCiAgICAgcmV0dXJuIHRoaXMudHlwZXMubGVuZ3RoIC0gMTsKICAg
fQogCkBAIC0xNzEsNiArNzQ3LDI0IEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICBy
ZXR1cm4gZ2xvYjsKICAgfQogCisgIGFkZFRhYmxlKHR5cGUsIGluaXRpYWxfc2l6ZSwgbWF4X3Np
emUgPSB1bmRlZmluZWQpIHsKKyAgICBpZiAodHlwZSAhPSBrV2FzbUFueVJlZiAmJiB0eXBlICE9
IGtXYXNtQW55RnVuYyAmJiB0eXBlICE9IGtXYXNtRXhuUmVmKSB7CisgICAgICB0aHJvdyBuZXcg
RXJyb3IoCisgICAgICAgICAgJ1RhYmxlcyBtdXN0IGJlIG9mIHR5cGUga1dhc21BbnlSZWYsIGtX
YXNtQW55RnVuYywgb3Iga1dhc21FeG5SZWYnKTsKKyAgICB9CisgICAgbGV0IHRhYmxlID0gbmV3
IFdhc21UYWJsZUJ1aWxkZXIodGhpcywgdHlwZSwgaW5pdGlhbF9zaXplLCBtYXhfc2l6ZSk7Cisg
ICAgdGFibGUuaW5kZXggPSB0aGlzLnRhYmxlcy5sZW5ndGggKyB0aGlzLm51bV9pbXBvcnRlZF90
YWJsZXM7CisgICAgdGhpcy50YWJsZXMucHVzaCh0YWJsZSk7CisgICAgcmV0dXJuIHRhYmxlOwor
ICB9CisKKyAgYWRkRXhjZXB0aW9uKHR5cGUpIHsKKyAgICBsZXQgdHlwZV9pbmRleCA9ICh0eXBl
b2YgdHlwZSkgPT0gIm51bWJlciIgPyB0eXBlIDogdGhpcy5hZGRUeXBlKHR5cGUpOworICAgIGxl
dCBleGNlcHRfaW5kZXggPSB0aGlzLmV4Y2VwdGlvbnMubGVuZ3RoICsgdGhpcy5udW1faW1wb3J0
ZWRfZXhjZXB0aW9uczsKKyAgICB0aGlzLmV4Y2VwdGlvbnMucHVzaCh0eXBlX2luZGV4KTsKKyAg
ICByZXR1cm4gZXhjZXB0X2luZGV4OworICB9CisKICAgYWRkRnVuY3Rpb24obmFtZSwgdHlwZSkg
ewogICAgIGxldCB0eXBlX2luZGV4ID0gKHR5cGVvZiB0eXBlKSA9PSAibnVtYmVyIiA/IHR5cGUg
OiB0aGlzLmFkZFR5cGUodHlwZSk7CiAgICAgbGV0IGZ1bmMgPSBuZXcgV2FzbUZ1bmN0aW9uQnVp
bGRlcih0aGlzLCBuYW1lLCB0eXBlX2luZGV4KTsKQEAgLTE3OSwzMSArNzczLDUxIEBAIGNsYXNz
IFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICByZXR1cm4gZnVuYzsKICAgfQogCi0gIGFkZEltcG9y
dChtb2R1bGUgPSAiIiwgbmFtZSwgdHlwZSkgeworICBhZGRJbXBvcnQobW9kdWxlLCBuYW1lLCB0
eXBlKSB7CisgICAgaWYgKHRoaXMuZnVuY3Rpb25zLmxlbmd0aCAhPSAwKSB7CisgICAgICB0aHJv
dyBuZXcgRXJyb3IoJ0ltcG9ydGVkIGZ1bmN0aW9ucyBtdXN0IGJlIGRlY2xhcmVkIGJlZm9yZSBs
b2NhbCBvbmVzJyk7CisgICAgfQogICAgIGxldCB0eXBlX2luZGV4ID0gKHR5cGVvZiB0eXBlKSA9
PSAibnVtYmVyIiA/IHR5cGUgOiB0aGlzLmFkZFR5cGUodHlwZSk7CiAgICAgdGhpcy5pbXBvcnRz
LnB1c2goe21vZHVsZTogbW9kdWxlLCBuYW1lOiBuYW1lLCBraW5kOiBrRXh0ZXJuYWxGdW5jdGlv
biwKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogdHlwZV9pbmRleH0pOwogICAgIHJldHVy
biB0aGlzLm51bV9pbXBvcnRlZF9mdW5jcysrOwogICB9CiAKLSAgYWRkSW1wb3J0ZWRHbG9iYWwo
bW9kdWxlID0gIiIsIG5hbWUsIHR5cGUpIHsKKyAgYWRkSW1wb3J0ZWRHbG9iYWwobW9kdWxlLCBu
YW1lLCB0eXBlLCBtdXRhYmxlID0gZmFsc2UpIHsKKyAgICBpZiAodGhpcy5nbG9iYWxzLmxlbmd0
aCAhPSAwKSB7CisgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltcG9ydGVkIGdsb2JhbHMgbXVzdCBi
ZSBkZWNsYXJlZCBiZWZvcmUgbG9jYWwgb25lcycpOworICAgIH0KICAgICBsZXQgbyA9IHttb2R1
bGU6IG1vZHVsZSwgbmFtZTogbmFtZSwga2luZDoga0V4dGVybmFsR2xvYmFsLCB0eXBlOiB0eXBl
LAotICAgICAgICAgICAgIG11dGFibGU6IGZhbHNlfQorICAgICAgICAgICAgIG11dGFibGU6IG11
dGFibGV9OwogICAgIHRoaXMuaW1wb3J0cy5wdXNoKG8pOwogICAgIHJldHVybiB0aGlzLm51bV9p
bXBvcnRlZF9nbG9iYWxzKys7CiAgIH0KIAotICBhZGRJbXBvcnRlZE1lbW9yeShtb2R1bGUgPSAi
IiwgbmFtZSwgaW5pdGlhbCA9IDAsIG1heGltdW0pIHsKKyAgYWRkSW1wb3J0ZWRNZW1vcnkobW9k
dWxlLCBuYW1lLCBpbml0aWFsID0gMCwgbWF4aW11bSwgc2hhcmVkKSB7CiAgICAgbGV0IG8gPSB7
bW9kdWxlOiBtb2R1bGUsIG5hbWU6IG5hbWUsIGtpbmQ6IGtFeHRlcm5hbE1lbW9yeSwKLSAgICAg
ICAgICAgICBpbml0aWFsOiBpbml0aWFsLCBtYXhpbXVtOiBtYXhpbXVtfTsKKyAgICAgICAgICAg
ICBpbml0aWFsOiBpbml0aWFsLCBtYXhpbXVtOiBtYXhpbXVtLCBzaGFyZWQ6IHNoYXJlZH07CiAg
ICAgdGhpcy5pbXBvcnRzLnB1c2gobyk7CiAgICAgcmV0dXJuIHRoaXM7CiAgIH0KIAotICBhZGRJ
bXBvcnRlZFRhYmxlKG1vZHVsZSA9ICIiLCBuYW1lLCBpbml0aWFsLCBtYXhpbXVtKSB7CisgIGFk
ZEltcG9ydGVkVGFibGUobW9kdWxlLCBuYW1lLCBpbml0aWFsLCBtYXhpbXVtLCB0eXBlKSB7Cisg
ICAgaWYgKHRoaXMudGFibGVzLmxlbmd0aCAhPSAwKSB7CisgICAgICB0aHJvdyBuZXcgRXJyb3Io
J0ltcG9ydGVkIHRhYmxlcyBtdXN0IGJlIGRlY2xhcmVkIGJlZm9yZSBsb2NhbCBvbmVzJyk7Cisg
ICAgfQogICAgIGxldCBvID0ge21vZHVsZTogbW9kdWxlLCBuYW1lOiBuYW1lLCBraW5kOiBrRXh0
ZXJuYWxUYWJsZSwgaW5pdGlhbDogaW5pdGlhbCwKLSAgICAgICAgICAgICBtYXhpbXVtOiBtYXhp
bXVtfTsKKyAgICAgICAgICAgICBtYXhpbXVtOiBtYXhpbXVtLCB0eXBlOiB0eXBlIHx8IGtXYXNt
QW55RnVuY3Rpb25UeXBlRm9ybX07CiAgICAgdGhpcy5pbXBvcnRzLnB1c2gobyk7CisgICAgcmV0
dXJuIHRoaXMubnVtX2ltcG9ydGVkX3RhYmxlcysrOworICB9CisKKyAgYWRkSW1wb3J0ZWRFeGNl
cHRpb24obW9kdWxlLCBuYW1lLCB0eXBlKSB7CisgICAgaWYgKHRoaXMuZXhjZXB0aW9ucy5sZW5n
dGggIT0gMCkgeworICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbXBvcnRlZCBleGNlcHRpb25zIG11
c3QgYmUgZGVjbGFyZWQgYmVmb3JlIGxvY2FsIG9uZXMnKTsKKyAgICB9CisgICAgbGV0IHR5cGVf
aW5kZXggPSAodHlwZW9mIHR5cGUpID09ICJudW1iZXIiID8gdHlwZSA6IHRoaXMuYWRkVHlwZSh0
eXBlKTsKKyAgICBsZXQgbyA9IHttb2R1bGU6IG1vZHVsZSwgbmFtZTogbmFtZSwga2luZDoga0V4
dGVybmFsRXhjZXB0aW9uLCB0eXBlOiB0eXBlX2luZGV4fTsKKyAgICB0aGlzLmltcG9ydHMucHVz
aChvKTsKKyAgICByZXR1cm4gdGhpcy5udW1faW1wb3J0ZWRfZXhjZXB0aW9ucysrOwogICB9CiAK
ICAgYWRkRXhwb3J0KG5hbWUsIGluZGV4KSB7CkBAIC0yMTcsMzYgKzgzMSw2NCBAQCBjbGFzcyBX
YXNtTW9kdWxlQnVpbGRlciB7CiAgIH0KIAogICBhZGREYXRhU2VnbWVudChhZGRyLCBkYXRhLCBp
c19nbG9iYWwgPSBmYWxzZSkgewotICAgIHRoaXMuc2VnbWVudHMucHVzaCh7YWRkcjogYWRkciwg
ZGF0YTogZGF0YSwgaXNfZ2xvYmFsOiBpc19nbG9iYWx9KTsKLSAgICByZXR1cm4gdGhpcy5zZWdt
ZW50cy5sZW5ndGggLSAxOworICAgIHRoaXMuZGF0YV9zZWdtZW50cy5wdXNoKAorICAgICAgICB7
YWRkcjogYWRkciwgZGF0YTogZGF0YSwgaXNfZ2xvYmFsOiBpc19nbG9iYWwsIGlzX2FjdGl2ZTog
dHJ1ZX0pOworICAgIHJldHVybiB0aGlzLmRhdGFfc2VnbWVudHMubGVuZ3RoIC0gMTsKKyAgfQor
CisgIGFkZFBhc3NpdmVEYXRhU2VnbWVudChkYXRhKSB7CisgICAgdGhpcy5kYXRhX3NlZ21lbnRz
LnB1c2goe2RhdGE6IGRhdGEsIGlzX2FjdGl2ZTogZmFsc2V9KTsKKyAgICByZXR1cm4gdGhpcy5k
YXRhX3NlZ21lbnRzLmxlbmd0aCAtIDE7CiAgIH0KIAogICBleHBvcnRNZW1vcnlBcyhuYW1lKSB7
CiAgICAgdGhpcy5leHBvcnRzLnB1c2goe25hbWU6IG5hbWUsIGtpbmQ6IGtFeHRlcm5hbE1lbW9y
eSwgaW5kZXg6IDB9KTsKICAgfQogCi0gIGFkZEZ1bmN0aW9uVGFibGVJbml0KGJhc2UsIGlzX2ds
b2JhbCwgYXJyYXkpIHsKLSAgICB0aGlzLmZ1bmN0aW9uX3RhYmxlX2luaXRzLnB1c2goe2Jhc2U6
IGJhc2UsIGlzX2dsb2JhbDogaXNfZ2xvYmFsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXJyYXk6IGFycmF5fSk7Ci0gICAgaWYgKCFpc19nbG9iYWwpIHsKLSAgICAgIHZh
ciBsZW5ndGggPSBiYXNlICsgYXJyYXkubGVuZ3RoOwotICAgICAgaWYgKGxlbmd0aCA+IHRoaXMu
ZnVuY3Rpb25fdGFibGVfbGVuZ3RoKSB7Ci0gICAgICAgIHRoaXMuZnVuY3Rpb25fdGFibGVfbGVu
Z3RoID0gbGVuZ3RoOwotICAgICAgfQotICAgIH0KKyAgYWRkRWxlbWVudFNlZ21lbnQodGFibGUs
IGJhc2UsIGlzX2dsb2JhbCwgYXJyYXkpIHsKKyAgICB0aGlzLmVsZW1lbnRfc2VnbWVudHMucHVz
aCh7dGFibGU6IHRhYmxlLCBiYXNlOiBiYXNlLCBpc19nbG9iYWw6IGlzX2dsb2JhbCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5OiBhcnJheSwgaXNfYWN0aXZlOiB0
cnVlfSk7CisgICAgcmV0dXJuIHRoaXM7CisgIH0KKworICBhZGRQYXNzaXZlRWxlbWVudFNlZ21l
bnQoYXJyYXksIGlzX2ltcG9ydCA9IGZhbHNlKSB7CisgICAgdGhpcy5lbGVtZW50X3NlZ21lbnRz
LnB1c2goe2FycmF5OiBhcnJheSwgaXNfYWN0aXZlOiBmYWxzZX0pOwogICAgIHJldHVybiB0aGlz
OwogICB9CiAKICAgYXBwZW5kVG9UYWJsZShhcnJheSkgewotICAgIHJldHVybiB0aGlzLmFkZEZ1
bmN0aW9uVGFibGVJbml0KHRoaXMuZnVuY3Rpb25fdGFibGUubGVuZ3RoLCBmYWxzZSwgYXJyYXkp
OworICAgIGZvciAobGV0IG4gb2YgYXJyYXkpIHsKKyAgICAgIGlmICh0eXBlb2YgbiAhPSAnbnVt
YmVyJykKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHRhYmxlIChlbnRyaWVzIGhh
dmUgdG8gYmUgbnVtYmVycyk6ICcgKyBhcnJheSk7CisgICAgfQorICAgIGlmICh0aGlzLnRhYmxl
cy5sZW5ndGggPT0gMCkgeworICAgICAgdGhpcy5hZGRUYWJsZShrV2FzbUFueUZ1bmMsIDApOwor
ICAgIH0KKyAgICAvLyBBZGp1c3QgdGhlIHRhYmxlIHRvIHRoZSBjb3JyZWN0IHNpemUuCisgICAg
bGV0IHRhYmxlID0gdGhpcy50YWJsZXNbMF07CisgICAgY29uc3QgYmFzZSA9IHRhYmxlLmluaXRp
YWxfc2l6ZTsKKyAgICBjb25zdCB0YWJsZV9zaXplID0gYmFzZSArIGFycmF5Lmxlbmd0aDsKKyAg
ICB0YWJsZS5pbml0aWFsX3NpemUgPSB0YWJsZV9zaXplOworICAgIGlmICh0YWJsZS5oYXNfbWF4
ICYmIHRhYmxlX3NpemUgPiB0YWJsZS5tYXhfc2l6ZSkgeworICAgICAgdGFibGUubWF4X3NpemUg
PSB0YWJsZV9zaXplOworICAgIH0KKyAgICByZXR1cm4gdGhpcy5hZGRFbGVtZW50U2VnbWVudCgw
LCBiYXNlLCBmYWxzZSwgYXJyYXkpOworICB9CisKKyAgc2V0VGFibGVCb3VuZHMobWluLCBtYXgg
PSB1bmRlZmluZWQpIHsKKyAgICBpZiAodGhpcy50YWJsZXMubGVuZ3RoICE9IDApIHsKKyAgICAg
IHRocm93IG5ldyBFcnJvcigiVGhlIHRhYmxlIGJvdW5kcyBvZiB0YWJsZSAnMCcgaGF2ZSBhbHJl
YWR5IGJlZW4gc2V0LiIpOworICAgIH0KKyAgICB0aGlzLmFkZFRhYmxlKGtXYXNtQW55RnVuYywg
bWluLCBtYXgpOworICAgIHJldHVybiB0aGlzOwogICB9CiAKLSAgc2V0RnVuY3Rpb25UYWJsZUxl
bmd0aChsZW5ndGgpIHsKLSAgICB0aGlzLmZ1bmN0aW9uX3RhYmxlX2xlbmd0aCA9IGxlbmd0aDsK
KyAgc2V0TmFtZShuYW1lKSB7CisgICAgdGhpcy5uYW1lID0gbmFtZTsKICAgICByZXR1cm4gdGhp
czsKICAgfQogCi0gIHRvQXJyYXkoZGVidWcgPSBmYWxzZSkgeworICB0b0J1ZmZlcihkZWJ1ZyA9
IGZhbHNlKSB7CiAgICAgbGV0IGJpbmFyeSA9IG5ldyBCaW5hcnk7CiAgICAgbGV0IHdhc20gPSB0
aGlzOwogCkBAIC0yODgsMTUgKzkzMCwyMyBAQCBjbGFzcyBXYXNtTW9kdWxlQnVpbGRlciB7CiAg
ICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoaW1wLm11dGFibGUpOwogICAgICAgICAgIH0gZWxz
ZSBpZiAoaW1wLmtpbmQgPT0ga0V4dGVybmFsTWVtb3J5KSB7CiAgICAgICAgICAgICB2YXIgaGFz
X21heCA9ICh0eXBlb2YgaW1wLm1heGltdW0pICE9ICJ1bmRlZmluZWQiOwotICAgICAgICAgICAg
c2VjdGlvbi5lbWl0X3U4KGhhc19tYXggPyAxIDogMCk7IC8vIGZsYWdzCisgICAgICAgICAgICB2
YXIgaXNfc2hhcmVkID0gKHR5cGVvZiBpbXAuc2hhcmVkKSAhPSAidW5kZWZpbmVkIjsKKyAgICAg
ICAgICAgIGlmIChpc19zaGFyZWQpIHsKKyAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGhh
c19tYXggPyAzIDogMik7IC8vIGZsYWdzCisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICBzZWN0aW9uLmVtaXRfdTgoaGFzX21heCA/IDEgOiAwKTsgLy8gZmxhZ3MKKyAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGltcC5pbml0aWFsKTsgLy8gaW5p
dGlhbAogICAgICAgICAgICAgaWYgKGhhc19tYXgpIHNlY3Rpb24uZW1pdF91MzJ2KGltcC5tYXhp
bXVtKTsgLy8gbWF4aW11bQogICAgICAgICAgIH0gZWxzZSBpZiAoaW1wLmtpbmQgPT0ga0V4dGVy
bmFsVGFibGUpIHsKLSAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrV2FzbUFueUZ1bmN0aW9u
VHlwZUZvcm0pOworICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGltcC50eXBlKTsKICAgICAg
ICAgICAgIHZhciBoYXNfbWF4ID0gKHR5cGVvZiBpbXAubWF4aW11bSkgIT0gInVuZGVmaW5lZCI7
CiAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoaGFzX21heCA/IDEgOiAwKTsgLy8gZmxhZ3MK
ICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGltcC5pbml0aWFsKTsgLy8gaW5pdGlhbAog
ICAgICAgICAgICAgaWYgKGhhc19tYXgpIHNlY3Rpb24uZW1pdF91MzJ2KGltcC5tYXhpbXVtKTsg
Ly8gbWF4aW11bQorICAgICAgICAgIH0gZWxzZSBpZiAoaW1wLmtpbmQgPT0ga0V4dGVybmFsRXhj
ZXB0aW9uKSB7CisgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihrRXhjZXB0aW9uQXR0cmli
dXRlKTsKKyAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGltcC50eXBlKTsKICAgICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duL3Vuc3VwcG9y
dGVkIGltcG9ydCBraW5kICIgKyBpbXAua2luZCk7CiAgICAgICAgICAgfQpAQCAtMzA1LDQwICs5
NTUsNDUgQEAgY2xhc3MgV2FzbU1vZHVsZUJ1aWxkZXIgewogICAgIH0KIAogICAgIC8vIEFkZCBm
dW5jdGlvbnMgZGVjbGFyYXRpb25zCi0gICAgbGV0IGhhc19uYW1lcyA9IGZhbHNlOwotICAgIGxl
dCBuYW1lcyA9IGZhbHNlOwogICAgIGlmICh3YXNtLmZ1bmN0aW9ucy5sZW5ndGggPiAwKSB7CiAg
ICAgICBpZiAoZGVidWcpIHByaW50KCJlbWl0dGluZyBmdW5jdGlvbiBkZWNscyBAICIgKyBiaW5h
cnkubGVuZ3RoKTsKICAgICAgIGJpbmFyeS5lbWl0X3NlY3Rpb24oa0Z1bmN0aW9uU2VjdGlvbkNv
ZGUsIHNlY3Rpb24gPT4gewogICAgICAgICBzZWN0aW9uLmVtaXRfdTMydih3YXNtLmZ1bmN0aW9u
cy5sZW5ndGgpOwogICAgICAgICBmb3IgKGxldCBmdW5jIG9mIHdhc20uZnVuY3Rpb25zKSB7Ci0g
ICAgICAgICAgaGFzX25hbWVzID0gaGFzX25hbWVzIHx8IChmdW5jLm5hbWUgIT0gdW5kZWZpbmVk
ICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmMubmFtZS5sZW5ndGgg
PiAwKTsKICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihmdW5jLnR5cGVfaW5kZXgpOwogICAg
ICAgICB9CiAgICAgICB9KTsKICAgICB9CiAKLSAgICAvLyBBZGQgZnVuY3Rpb25fdGFibGUuCi0g
ICAgaWYgKHdhc20uZnVuY3Rpb25fdGFibGVfbGVuZ3RoID4gMCkgewotICAgICAgaWYgKGRlYnVn
KSBwcmludCgiZW1pdHRpbmcgdGFibGUgQCAiICsgYmluYXJ5Lmxlbmd0aCk7CisgICAgLy8gQWRk
IHRhYmxlIHNlY3Rpb24KKyAgICBpZiAod2FzbS50YWJsZXMubGVuZ3RoID4gMCkgeworICAgICAg
aWYgKGRlYnVnKSBwcmludCAoImVtaXR0aW5nIHRhYmxlcyBAICIgKyBiaW5hcnkubGVuZ3RoKTsK
ICAgICAgIGJpbmFyeS5lbWl0X3NlY3Rpb24oa1RhYmxlU2VjdGlvbkNvZGUsIHNlY3Rpb24gPT4g
ewotICAgICAgICBzZWN0aW9uLmVtaXRfdTgoMSk7ICAvLyBvbmUgdGFibGUgZW50cnkKLSAgICAg
ICAgc2VjdGlvbi5lbWl0X3U4KGtXYXNtQW55RnVuY3Rpb25UeXBlRm9ybSk7Ci0gICAgICAgIHNl
Y3Rpb24uZW1pdF91OCgxKTsKLSAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYod2FzbS5mdW5jdGlv
bl90YWJsZV9sZW5ndGgpOwotICAgICAgICBzZWN0aW9uLmVtaXRfdTMydih3YXNtLmZ1bmN0aW9u
X3RhYmxlX2xlbmd0aCk7CisgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KHdhc20udGFibGVzLmxl
bmd0aCk7CisgICAgICAgIGZvciAobGV0IHRhYmxlIG9mIHdhc20udGFibGVzKSB7CisgICAgICAg
ICAgc2VjdGlvbi5lbWl0X3U4KHRhYmxlLnR5cGUpOworICAgICAgICAgIHNlY3Rpb24uZW1pdF91
OCh0YWJsZS5oYXNfbWF4KTsKKyAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydih0YWJsZS5pbml0
aWFsX3NpemUpOworICAgICAgICAgIGlmICh0YWJsZS5oYXNfbWF4KSBzZWN0aW9uLmVtaXRfdTMy
dih0YWJsZS5tYXhfc2l6ZSk7CisgICAgICAgIH0KICAgICAgIH0pOwogICAgIH0KIAogICAgIC8v
IEFkZCBtZW1vcnkgc2VjdGlvbgotICAgIGlmICh3YXNtLm1lbW9yeSAhPSB1bmRlZmluZWQpIHsK
KyAgICBpZiAod2FzbS5tZW1vcnkgIT09IHVuZGVmaW5lZCkgewogICAgICAgaWYgKGRlYnVnKSBw
cmludCgiZW1pdHRpbmcgbWVtb3J5IEAgIiArIGJpbmFyeS5sZW5ndGgpOwogICAgICAgYmluYXJ5
LmVtaXRfc2VjdGlvbihrTWVtb3J5U2VjdGlvbkNvZGUsIHNlY3Rpb24gPT4gewogICAgICAgICBz
ZWN0aW9uLmVtaXRfdTgoMSk7ICAvLyBvbmUgbWVtb3J5IGVudHJ5Ci0gICAgICAgIHNlY3Rpb24u
ZW1pdF91MzJ2KGtSZXNpemFibGVNYXhpbXVtRmxhZyk7CisgICAgICAgIGNvbnN0IGhhc19tYXgg
PSB3YXNtLm1lbW9yeS5tYXggIT09IHVuZGVmaW5lZDsKKyAgICAgICAgY29uc3QgaXNfc2hhcmVk
ID0gd2FzbS5tZW1vcnkuc2hhcmVkICE9PSB1bmRlZmluZWQ7CisgICAgICAgIC8vIEVtaXQgZmxh
Z3MgKGJpdCAwOiByZXN6ZWFibGUgbWF4LCBiaXQgMTogc2hhcmVkIG1lbW9yeSkKKyAgICAgICAg
aWYgKGlzX3NoYXJlZCkgeworICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChoYXNfbWF4ID8ga1No
YXJlZEhhc01heGltdW1GbGFnIDogMik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgc2Vj
dGlvbi5lbWl0X3U4KGhhc19tYXggPyBrSGFzTWF4aW11bUZsYWcgOiAwKTsKKyAgICAgICAgfQog
ICAgICAgICBzZWN0aW9uLmVtaXRfdTMydih3YXNtLm1lbW9yeS5taW4pOwotICAgICAgICBzZWN0
aW9uLmVtaXRfdTMydih3YXNtLm1lbW9yeS5tYXgpOworICAgICAgICBpZiAoaGFzX21heCkgc2Vj
dGlvbi5lbWl0X3UzMnYod2FzbS5tZW1vcnkubWF4KTsKICAgICAgIH0pOwogICAgIH0KIApAQCAt
MzU5LDMyICsxMDE0LDM0IEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIGtXYXNtSTY0OgogICAgICAgICAgICAgICBzZWN0
aW9uLmVtaXRfdTgoa0V4cHJJNjRDb25zdCk7Ci0gICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91
OChnbG9iYWwuaW5pdCk7CisgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91NjR2KGdsb2JhbC5p
bml0KTsKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIGtXYXNtRjMyOgog
ICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa0V4cHJGMzJDb25zdCk7CiAgICAgICAgICAg
ICAgIGYzMl92aWV3WzBdID0gZ2xvYmFsLmluaXQ7Ci0gICAgICAgICAgICAgIHNlY3Rpb24uZW1p
dF91OChieXRlX3ZpZXdbMF0pOwotICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoYnl0ZV92
aWV3WzFdKTsKLSAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGJ5dGVfdmlld1syXSk7Ci0g
ICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChieXRlX3ZpZXdbM10pOworICAgICAgICAgICAg
ICBzZWN0aW9uLmVtaXRfYnl0ZXMoZjMyX2J5dGVzX3ZpZXcpOwogICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgIGNhc2Uga1dhc21GNjQ6CiAgICAgICAgICAgICAgIHNlY3Rpb24uZW1p
dF91OChrRXhwckY2NENvbnN0KTsKICAgICAgICAgICAgICAgZjY0X3ZpZXdbMF0gPSBnbG9iYWwu
aW5pdDsKLSAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGJ5dGVfdmlld1swXSk7Ci0gICAg
ICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChieXRlX3ZpZXdbMV0pOwotICAgICAgICAgICAgICBz
ZWN0aW9uLmVtaXRfdTgoYnl0ZV92aWV3WzJdKTsKLSAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0
X3U4KGJ5dGVfdmlld1szXSk7Ci0gICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChieXRlX3Zp
ZXdbNF0pOwotICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoYnl0ZV92aWV3WzVdKTsKLSAg
ICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGJ5dGVfdmlld1s2XSk7Ci0gICAgICAgICAgICAg
IHNlY3Rpb24uZW1pdF91OChieXRlX3ZpZXdbN10pOworICAgICAgICAgICAgICBzZWN0aW9uLmVt
aXRfYnl0ZXMoZjY0X2J5dGVzX3ZpZXcpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIGNhc2Uga1dhc21BbnlGdW5jOgorICAgICAgICAgICAgY2FzZSBrV2FzbUFueVJlZjoKKyAg
ICAgICAgICAgICAgaWYgKGdsb2JhbC5mdW5jdGlvbl9pbmRleCAhPT0gdW5kZWZpbmVkKSB7Cisg
ICAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHByUmVmRnVuYyk7CisgICAgICAgICAg
ICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoZ2xvYmFsLmZ1bmN0aW9uX2luZGV4KTsKKyAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa0V4cHJSZWZO
dWxsKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IGNhc2Uga1dhc21FeG5SZWY6CisgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXhwclJl
Zk51bGwpOwogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgLy8gRW1pdCBhIGdsb2JhbC1pbmRleCBpbml0aWFsaXplci4K
LSAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXhwckdldEdsb2JhbCk7CisgICAgICAgICAg
ICBzZWN0aW9uLmVtaXRfdTgoa0V4cHJHbG9iYWxHZXQpOwogICAgICAgICAgICAgc2VjdGlvbi5l
bWl0X3UzMnYoZ2xvYmFsLmluaXRfaW5kZXgpOwogICAgICAgICAgIH0KICAgICAgICAgICBzZWN0
aW9uLmVtaXRfdTgoa0V4cHJFbmQpOyAgLy8gZW5kIG9mIGluaXQgZXhwcmVzc2lvbgpAQCAtMzky
LDggKzEwNDksMjAgQEAgY2xhc3MgV2FzbU1vZHVsZUJ1aWxkZXIgewogICAgICAgfSk7CiAgICAg
fQogCisgICAgLy8gQWRkIGV4Y2VwdGlvbnMuCisgICAgaWYgKHdhc20uZXhjZXB0aW9ucy5sZW5n
dGggPiAwKSB7CisgICAgICBpZiAoZGVidWcpIHByaW50KCJlbWl0dGluZyBleGNlcHRpb25zIEAg
IiArIGJpbmFyeS5sZW5ndGgpOworICAgICAgYmluYXJ5LmVtaXRfc2VjdGlvbihrRXhjZXB0aW9u
U2VjdGlvbkNvZGUsIHNlY3Rpb24gPT4geworICAgICAgICBzZWN0aW9uLmVtaXRfdTMydih3YXNt
LmV4Y2VwdGlvbnMubGVuZ3RoKTsKKyAgICAgICAgZm9yIChsZXQgdHlwZSBvZiB3YXNtLmV4Y2Vw
dGlvbnMpIHsKKyAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihrRXhjZXB0aW9uQXR0cmlidXRl
KTsKKyAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydih0eXBlKTsKKyAgICAgICAgfQorICAgICAg
fSk7CisgICAgfQorCiAgICAgLy8gQWRkIGV4cG9ydCB0YWJsZS4KLSAgICB2YXIgbWVtX2V4cG9y
dCA9ICh3YXNtLm1lbW9yeSAhPSB1bmRlZmluZWQgJiYgd2FzbS5tZW1vcnkuZXhwKTsKKyAgICB2
YXIgbWVtX2V4cG9ydCA9ICh3YXNtLm1lbW9yeSAhPT0gdW5kZWZpbmVkICYmIHdhc20ubWVtb3J5
LmV4cCk7CiAgICAgdmFyIGV4cG9ydHNfY291bnQgPSB3YXNtLmV4cG9ydHMubGVuZ3RoICsgKG1l
bV9leHBvcnQgPyAxIDogMCk7CiAgICAgaWYgKGV4cG9ydHNfY291bnQgPiAwKSB7CiAgICAgICBp
ZiAoZGVidWcpIHByaW50KCJlbWl0dGluZyBleHBvcnRzIEAgIiArIGJpbmFyeS5sZW5ndGgpOwpA
QCAtNDEzLDQ5ICsxMDgyLDgyIEBAIGNsYXNzIFdhc21Nb2R1bGVCdWlsZGVyIHsKICAgICB9CiAK
ICAgICAvLyBBZGQgc3RhcnQgZnVuY3Rpb24gc2VjdGlvbi4KLSAgICBpZiAod2FzbS5zdGFydF9p
bmRleCAhPSB1bmRlZmluZWQpIHsKKyAgICBpZiAod2FzbS5zdGFydF9pbmRleCAhPT0gdW5kZWZp
bmVkKSB7CiAgICAgICBpZiAoZGVidWcpIHByaW50KCJlbWl0dGluZyBzdGFydCBmdW5jdGlvbiBA
ICIgKyBiaW5hcnkubGVuZ3RoKTsKICAgICAgIGJpbmFyeS5lbWl0X3NlY3Rpb24oa1N0YXJ0U2Vj
dGlvbkNvZGUsIHNlY3Rpb24gPT4gewogICAgICAgICBzZWN0aW9uLmVtaXRfdTMydih3YXNtLnN0
YXJ0X2luZGV4KTsKICAgICAgIH0pOwogICAgIH0KIAotICAgIC8vIEFkZCB0YWJsZSBlbGVtZW50
cy4KLSAgICBpZiAod2FzbS5mdW5jdGlvbl90YWJsZV9pbml0cy5sZW5ndGggPiAwKSB7Ci0gICAg
ICBpZiAoZGVidWcpIHByaW50KCJlbWl0dGluZyB0YWJsZSBAICIgKyBiaW5hcnkubGVuZ3RoKTsK
KyAgICAvLyBBZGQgZWxlbWVudCBzZWdtZW50cworICAgIGlmICh3YXNtLmVsZW1lbnRfc2VnbWVu
dHMubGVuZ3RoID4gMCkgeworICAgICAgaWYgKGRlYnVnKSBwcmludCgiZW1pdHRpbmcgZWxlbWVu
dCBzZWdtZW50cyBAICIgKyBiaW5hcnkubGVuZ3RoKTsKICAgICAgIGJpbmFyeS5lbWl0X3NlY3Rp
b24oa0VsZW1lbnRTZWN0aW9uQ29kZSwgc2VjdGlvbiA9PiB7Ci0gICAgICAgIHZhciBpbml0cyA9
IHdhc20uZnVuY3Rpb25fdGFibGVfaW5pdHM7CisgICAgICAgIHZhciBpbml0cyA9IHdhc20uZWxl
bWVudF9zZWdtZW50czsKICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoaW5pdHMubGVuZ3RoKTsK
LSAgICAgICAgc2VjdGlvbi5lbWl0X3U4KDApOyAvLyB0YWJsZSBpbmRleAogCiAgICAgICAgIGZv
ciAobGV0IGluaXQgb2YgaW5pdHMpIHsKLSAgICAgICAgICBpZiAoaW5pdC5pc19nbG9iYWwpIHsK
LSAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXhwckdldEdsb2JhbCk7CisgICAgICAgICAg
aWYgKGluaXQuaXNfYWN0aXZlKSB7CisgICAgICAgICAgICAvLyBBY3RpdmUgc2VnbWVudC4KKyAg
ICAgICAgICAgIGlmIChpbml0LnRhYmxlID09IDApIHsKKyAgICAgICAgICAgICAgc2VjdGlvbi5l
bWl0X3UzMnYoa0FjdGl2ZU5vSW5kZXgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoa0FjdGl2ZVdpdGhJbmRleCk7CisgICAgICAgICAgICAg
IHNlY3Rpb24uZW1pdF91MzJ2KGluaXQudGFibGUpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgaWYgKGluaXQuaXNfZ2xvYmFsKSB7CisgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChr
RXhwckdsb2JhbEdldCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBzZWN0
aW9uLmVtaXRfdTgoa0V4cHJJMzJDb25zdCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBz
ZWN0aW9uLmVtaXRfdTMydihpbml0LmJhc2UpOworICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4
KGtFeHByRW5kKTsKKyAgICAgICAgICAgIGlmIChpbml0LnRhYmxlICE9IDApIHsKKyAgICAgICAg
ICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHRlcm5hbEZ1bmN0aW9uKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGluaXQuYXJyYXkubGVuZ3RoKTsKKyAgICAg
ICAgICAgIGZvciAobGV0IGluZGV4IG9mIGluaXQuYXJyYXkpIHsKKyAgICAgICAgICAgICAgc2Vj
dGlvbi5lbWl0X3UzMnYoaW5kZXgpOworICAgICAgICAgICAgfQogICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa0V4cHJJMzJDb25zdCk7Ci0gICAgICAgICAg
fQotICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGluaXQuYmFzZSk7Ci0gICAgICAgICAgc2Vj
dGlvbi5lbWl0X3U4KGtFeHByRW5kKTsKLSAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihpbml0
LmFycmF5Lmxlbmd0aCk7Ci0gICAgICAgICAgZm9yIChsZXQgaW5kZXggb2YgaW5pdC5hcnJheSkg
ewotICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoaW5kZXgpOworICAgICAgICAgICAgLy8g
UGFzc2l2ZSBzZWdtZW50LgorICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtQYXNzaXZlV2l0
aEVsZW1lbnRzKTsgIC8vIGZsYWdzCisgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa1dhc21B
bnlGdW5jKTsKKyAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KGluaXQuYXJyYXkubGVuZ3Ro
KTsKKyAgICAgICAgICAgIGZvciAobGV0IGluZGV4IG9mIGluaXQuYXJyYXkpIHsKKyAgICAgICAg
ICAgICAgaWYgKGluZGV4ID09PSBudWxsKSB7CisgICAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0
X3U4KGtFeHByUmVmTnVsbCk7CisgICAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHBy
RW5kKTsKKyAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBzZWN0aW9uLmVt
aXRfdTgoa0V4cHJSZWZGdW5jKTsKKyAgICAgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihp
bmRleCk7CisgICAgICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHByRW5kKTsKKyAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAg
fSk7CiAgICAgfQogCisgICAgLy8gSWYgdGhlcmUgYXJlIGFueSBwYXNzaXZlIGRhdGEgc2VnbWVu
dHMsIGFkZCB0aGUgRGF0YUNvdW50IHNlY3Rpb24uCisgICAgaWYgKHdhc20uZGF0YV9zZWdtZW50
cy5zb21lKHNlZyA9PiAhc2VnLmlzX2FjdGl2ZSkpIHsKKyAgICAgIGJpbmFyeS5lbWl0X3NlY3Rp
b24oa0RhdGFDb3VudFNlY3Rpb25Db2RlLCBzZWN0aW9uID0+IHsKKyAgICAgICAgc2VjdGlvbi5l
bWl0X3UzMnYod2FzbS5kYXRhX3NlZ21lbnRzLmxlbmd0aCk7CisgICAgICB9KTsKKyAgICB9CisK
ICAgICAvLyBBZGQgZnVuY3Rpb24gYm9kaWVzLgogICAgIGlmICh3YXNtLmZ1bmN0aW9ucy5sZW5n
dGggPiAwKSB7CiAgICAgICAvLyBlbWl0IGZ1bmN0aW9uIGJvZGllcwogICAgICAgaWYgKGRlYnVn
KSBwcmludCgiZW1pdHRpbmcgY29kZSBAICIgKyBiaW5hcnkubGVuZ3RoKTsKICAgICAgIGJpbmFy
eS5lbWl0X3NlY3Rpb24oa0NvZGVTZWN0aW9uQ29kZSwgc2VjdGlvbiA9PiB7CiAgICAgICAgIHNl
Y3Rpb24uZW1pdF91MzJ2KHdhc20uZnVuY3Rpb25zLmxlbmd0aCk7CisgICAgICAgIGxldCBoZWFk
ZXIgPSBuZXcgQmluYXJ5OwogICAgICAgICBmb3IgKGxldCBmdW5jIG9mIHdhc20uZnVuY3Rpb25z
KSB7CisgICAgICAgICAgaGVhZGVyLnJlc2V0KCk7CiAgICAgICAgICAgLy8gRnVuY3Rpb24gYm9k
eSBsZW5ndGggd2lsbCBiZSBwYXRjaGVkIGxhdGVyLgogICAgICAgICAgIGxldCBsb2NhbF9kZWNs
cyA9IFtdOwotICAgICAgICAgIGxldCBsID0gZnVuYy5sb2NhbHM7Ci0gICAgICAgICAgaWYgKGwg
IT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICBsZXQgbG9jYWxfZGVjbHNfY291bnQgPSAwOwor
ICAgICAgICAgIGZvciAobGV0IGwgb2YgZnVuYy5sb2NhbHMgfHwgW10pIHsKICAgICAgICAgICAg
IGlmIChsLmkzMl9jb3VudCA+IDApIHsKICAgICAgICAgICAgICAgbG9jYWxfZGVjbHMucHVzaCh7
Y291bnQ6IGwuaTMyX2NvdW50LCB0eXBlOiBrV2FzbUkzMn0pOwogICAgICAgICAgICAgfQpAQCAt
NDY4LDkgKzExNzAsMjAgQEAgY2xhc3MgV2FzbU1vZHVsZUJ1aWxkZXIgewogICAgICAgICAgICAg
aWYgKGwuZjY0X2NvdW50ID4gMCkgewogICAgICAgICAgICAgICBsb2NhbF9kZWNscy5wdXNoKHtj
b3VudDogbC5mNjRfY291bnQsIHR5cGU6IGtXYXNtRjY0fSk7CiAgICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZiAobC5zMTI4X2NvdW50ID4gMCkgeworICAgICAgICAgICAgICBsb2NhbF9kZWNs
cy5wdXNoKHtjb3VudDogbC5zMTI4X2NvdW50LCB0eXBlOiBrV2FzbVMxMjh9KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGlmIChsLmFueXJlZl9jb3VudCA+IDApIHsKKyAgICAgICAgICAg
ICAgbG9jYWxfZGVjbHMucHVzaCh7Y291bnQ6IGwuYW55cmVmX2NvdW50LCB0eXBlOiBrV2FzbUFu
eVJlZn0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGwuYW55ZnVuY19jb3VudCA+
IDApIHsKKyAgICAgICAgICAgICAgbG9jYWxfZGVjbHMucHVzaCh7Y291bnQ6IGwuYW55ZnVuY19j
b3VudCwgdHlwZToga1dhc21BbnlGdW5jfSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAobC5leGNlcHRfY291bnQgPiAwKSB7CisgICAgICAgICAgICAgIGxvY2FsX2RlY2xzLnB1c2go
e2NvdW50OiBsLmV4Y2VwdF9jb3VudCwgdHlwZToga1dhc21FeG5SZWZ9KTsKKyAgICAgICAgICAg
IH0KICAgICAgICAgICB9CiAKLSAgICAgICAgICBsZXQgaGVhZGVyID0gbmV3IEJpbmFyeTsKICAg
ICAgICAgICBoZWFkZXIuZW1pdF91MzJ2KGxvY2FsX2RlY2xzLmxlbmd0aCk7CiAgICAgICAgICAg
Zm9yIChsZXQgZGVjbCBvZiBsb2NhbF9kZWNscykgewogICAgICAgICAgICAgaGVhZGVyLmVtaXRf
dTMydihkZWNsLmNvdW50KTsKQEAgLTQ3OCwyOSArMTE5MSwzMyBAQCBjbGFzcyBXYXNtTW9kdWxl
QnVpbGRlciB7CiAgICAgICAgICAgfQogCiAgICAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYoaGVh
ZGVyLmxlbmd0aCArIGZ1bmMuYm9keS5sZW5ndGgpOwotICAgICAgICAgIHNlY3Rpb24uZW1pdF9i
eXRlcyhoZWFkZXIpOworICAgICAgICAgIHNlY3Rpb24uZW1pdF9ieXRlcyhoZWFkZXIudHJ1bmNf
YnVmZmVyKCkpOwogICAgICAgICAgIHNlY3Rpb24uZW1pdF9ieXRlcyhmdW5jLmJvZHkpOwogICAg
ICAgICB9CiAgICAgICB9KTsKICAgICB9CiAKICAgICAvLyBBZGQgZGF0YSBzZWdtZW50cy4KLSAg
ICBpZiAod2FzbS5zZWdtZW50cy5sZW5ndGggPiAwKSB7CisgICAgaWYgKHdhc20uZGF0YV9zZWdt
ZW50cy5sZW5ndGggPiAwKSB7CiAgICAgICBpZiAoZGVidWcpIHByaW50KCJlbWl0dGluZyBkYXRh
IHNlZ21lbnRzIEAgIiArIGJpbmFyeS5sZW5ndGgpOwogICAgICAgYmluYXJ5LmVtaXRfc2VjdGlv
bihrRGF0YVNlY3Rpb25Db2RlLCBzZWN0aW9uID0+IHsKLSAgICAgICAgc2VjdGlvbi5lbWl0X3Uz
MnYod2FzbS5zZWdtZW50cy5sZW5ndGgpOwotICAgICAgICBmb3IgKGxldCBzZWcgb2Ygd2FzbS5z
ZWdtZW50cykgewotICAgICAgICAgIHNlY3Rpb24uZW1pdF91OCgwKTsgIC8vIGxpbmVhciBtZW1v
cnkgaW5kZXggMAotICAgICAgICAgIGlmIChzZWcuaXNfZ2xvYmFsKSB7Ci0gICAgICAgICAgICAv
LyBpbml0aWFsaXplciBpcyBhIGdsb2JhbCB2YXJpYWJsZQotICAgICAgICAgICAgc2VjdGlvbi5l
bWl0X3U4KGtFeHByR2V0R2xvYmFsKTsKLSAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KHNl
Zy5hZGRyKTsKKyAgICAgICAgc2VjdGlvbi5lbWl0X3UzMnYod2FzbS5kYXRhX3NlZ21lbnRzLmxl
bmd0aCk7CisgICAgICAgIGZvciAobGV0IHNlZyBvZiB3YXNtLmRhdGFfc2VnbWVudHMpIHsKKyAg
ICAgICAgICBpZiAoc2VnLmlzX2FjdGl2ZSkgeworICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4
KDApOyAgLy8gbGluZWFyIG1lbW9yeSBpbmRleCAwIC8gZmxhZ3MKKyAgICAgICAgICAgIGlmIChz
ZWcuaXNfZ2xvYmFsKSB7CisgICAgICAgICAgICAgIC8vIGluaXRpYWxpemVyIGlzIGEgZ2xvYmFs
IHZhcmlhYmxlCisgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91OChrRXhwckdsb2JhbEdldCk7
CisgICAgICAgICAgICAgIHNlY3Rpb24uZW1pdF91MzJ2KHNlZy5hZGRyKTsKKyAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgIC8vIGluaXRpYWxpemVyIGlzIGEgY29uc3RhbnQKKyAg
ICAgICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHBySTMyQ29uc3QpOworICAgICAgICAgICAg
ICBzZWN0aW9uLmVtaXRfdTMydihzZWcuYWRkcik7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBzZWN0aW9uLmVtaXRfdTgoa0V4cHJFbmQpOwogICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAvLyBpbml0aWFsaXplciBpcyBhIGNvbnN0YW50Ci0gICAgICAgICAgICBzZWN0aW9uLmVt
aXRfdTgoa0V4cHJJMzJDb25zdCk7Ci0gICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTMydihzZWcu
YWRkcik7CisgICAgICAgICAgICBzZWN0aW9uLmVtaXRfdTgoa1Bhc3NpdmUpOyAgLy8gZmxhZ3MK
ICAgICAgICAgICB9Ci0gICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KGtFeHByRW5kKTsKICAgICAg
ICAgICBzZWN0aW9uLmVtaXRfdTMydihzZWcuZGF0YS5sZW5ndGgpOwogICAgICAgICAgIHNlY3Rp
b24uZW1pdF9ieXRlcyhzZWcuZGF0YSk7CiAgICAgICAgIH0KQEAgLTUxMyw0MyArMTIzMCwxMTAg
QEAgY2xhc3MgV2FzbU1vZHVsZUJ1aWxkZXIgewogICAgICAgYmluYXJ5LmVtaXRfYnl0ZXMoZXhw
KTsKICAgICB9CiAKLSAgICAvLyBBZGQgZnVuY3Rpb24gbmFtZXMuCi0gICAgaWYgKGhhc19uYW1l
cykgewotICAgICAgaWYgKGRlYnVnKSBwcmludCgiZW1pdHRpbmcgbmFtZXMgQCAiICsgYmluYXJ5
Lmxlbmd0aCk7CisgICAgLy8gQWRkIG5hbWVzLgorICAgIGxldCBudW1fZnVuY3Rpb25fbmFtZXMg
PSAwOworICAgIGxldCBudW1fZnVuY3Rpb25zX3dpdGhfbG9jYWxfbmFtZXMgPSAwOworICAgIGZv
ciAobGV0IGZ1bmMgb2Ygd2FzbS5mdW5jdGlvbnMpIHsKKyAgICAgIGlmIChmdW5jLm5hbWUgIT09
IHVuZGVmaW5lZCkgKytudW1fZnVuY3Rpb25fbmFtZXM7CisgICAgICBpZiAoZnVuYy5udW1Mb2Nh
bE5hbWVzKCkgPiAwKSArK251bV9mdW5jdGlvbnNfd2l0aF9sb2NhbF9uYW1lczsKKyAgICB9Cisg
ICAgaWYgKG51bV9mdW5jdGlvbl9uYW1lcyA+IDAgfHwgbnVtX2Z1bmN0aW9uc193aXRoX2xvY2Fs
X25hbWVzID4gMCB8fAorICAgICAgICB3YXNtLm5hbWUgIT09IHVuZGVmaW5lZCkgeworICAgICAg
aWYgKGRlYnVnKSBwcmludCgnZW1pdHRpbmcgbmFtZXMgQCAnICsgYmluYXJ5Lmxlbmd0aCk7CiAg
ICAgICBiaW5hcnkuZW1pdF9zZWN0aW9uKGtVbmtub3duU2VjdGlvbkNvZGUsIHNlY3Rpb24gPT4g
ewotICAgICAgICBzZWN0aW9uLmVtaXRfc3RyaW5nKCJuYW1lIik7Ci0gICAgICAgIHZhciBjb3Vu
dCA9IHdhc20uZnVuY3Rpb25zLmxlbmd0aCArIHdhc20ubnVtX2ltcG9ydGVkX2Z1bmNzOwotICAg
ICAgICBzZWN0aW9uLmVtaXRfdTMydihjb3VudCk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgd2FzbS5udW1faW1wb3J0ZWRfZnVuY3M7IGkrKykgewotICAgICAgICAgIHNlY3Rpb24uZW1p
dF91OCgwKTsgLy8gZW1wdHkgc3RyaW5nCi0gICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KDApOyAv
LyBsb2NhbCBuYW1lcyBjb3VudCA9PSAwCisgICAgICAgIHNlY3Rpb24uZW1pdF9zdHJpbmcoJ25h
bWUnKTsKKyAgICAgICAgLy8gRW1pdCBtb2R1bGUgbmFtZS4KKyAgICAgICAgaWYgKHdhc20ubmFt
ZSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgc2VjdGlvbi5lbWl0X3NlY3Rpb24oa01vZHVs
ZU5hbWVDb2RlLCBuYW1lX3NlY3Rpb24gPT4geworICAgICAgICAgICAgbmFtZV9zZWN0aW9uLmVt
aXRfc3RyaW5nKHdhc20ubmFtZSk7CisgICAgICAgICAgfSk7CiAgICAgICAgIH0KLSAgICAgICAg
Zm9yIChsZXQgZnVuYyBvZiB3YXNtLmZ1bmN0aW9ucykgewotICAgICAgICAgIHZhciBuYW1lID0g
ZnVuYy5uYW1lID09IHVuZGVmaW5lZCA/ICIiIDogZnVuYy5uYW1lOwotICAgICAgICAgIHNlY3Rp
b24uZW1pdF9zdHJpbmcobmFtZSk7Ci0gICAgICAgICAgc2VjdGlvbi5lbWl0X3U4KDApOyAgLy8g
bG9jYWwgbmFtZXMgY291bnQgPT0gMAorICAgICAgICAvLyBFbWl0IGZ1bmN0aW9uIG5hbWVzLgor
ICAgICAgICBpZiAobnVtX2Z1bmN0aW9uX25hbWVzID4gMCkgeworICAgICAgICAgIHNlY3Rpb24u
ZW1pdF9zZWN0aW9uKGtGdW5jdGlvbk5hbWVzQ29kZSwgbmFtZV9zZWN0aW9uID0+IHsKKyAgICAg
ICAgICAgIG5hbWVfc2VjdGlvbi5lbWl0X3UzMnYobnVtX2Z1bmN0aW9uX25hbWVzKTsKKyAgICAg
ICAgICAgIGZvciAobGV0IGZ1bmMgb2Ygd2FzbS5mdW5jdGlvbnMpIHsKKyAgICAgICAgICAgICAg
aWYgKGZ1bmMubmFtZSA9PT0gdW5kZWZpbmVkKSBjb250aW51ZTsKKyAgICAgICAgICAgICAgbmFt
ZV9zZWN0aW9uLmVtaXRfdTMydihmdW5jLmluZGV4KTsKKyAgICAgICAgICAgICAgbmFtZV9zZWN0
aW9uLmVtaXRfc3RyaW5nKGZ1bmMubmFtZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSk7
CisgICAgICAgIH0KKyAgICAgICAgLy8gRW1pdCBsb2NhbCBuYW1lcy4KKyAgICAgICAgaWYgKG51
bV9mdW5jdGlvbnNfd2l0aF9sb2NhbF9uYW1lcyA+IDApIHsKKyAgICAgICAgICBzZWN0aW9uLmVt
aXRfc2VjdGlvbihrTG9jYWxOYW1lc0NvZGUsIG5hbWVfc2VjdGlvbiA9PiB7CisgICAgICAgICAg
ICBuYW1lX3NlY3Rpb24uZW1pdF91MzJ2KG51bV9mdW5jdGlvbnNfd2l0aF9sb2NhbF9uYW1lcyk7
CisgICAgICAgICAgICBmb3IgKGxldCBmdW5jIG9mIHdhc20uZnVuY3Rpb25zKSB7CisgICAgICAg
ICAgICAgIGlmIChmdW5jLm51bUxvY2FsTmFtZXMoKSA9PSAwKSBjb250aW51ZTsKKyAgICAgICAg
ICAgICAgbmFtZV9zZWN0aW9uLmVtaXRfdTMydihmdW5jLmluZGV4KTsKKyAgICAgICAgICAgICAg
bmFtZV9zZWN0aW9uLmVtaXRfdTMydihmdW5jLm51bUxvY2FsTmFtZXMoKSk7CisgICAgICAgICAg
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZnVuYy5sb2NhbF9uYW1lcy5sZW5ndGg7ICsraSkgewor
ICAgICAgICAgICAgICAgIGlmIChmdW5jLmxvY2FsX25hbWVzW2ldID09PSB1bmRlZmluZWQpIGNv
bnRpbnVlOworICAgICAgICAgICAgICAgIG5hbWVfc2VjdGlvbi5lbWl0X3UzMnYoaSk7CisgICAg
ICAgICAgICAgICAgbmFtZV9zZWN0aW9uLmVtaXRfc3RyaW5nKGZ1bmMubG9jYWxfbmFtZXNbaV0p
OworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgfSk7CiAgICAgICAg
IH0KICAgICAgIH0pOwogICAgIH0KIAotICAgIHJldHVybiBiaW5hcnk7CisgICAgcmV0dXJuIGJp
bmFyeS50cnVuY19idWZmZXIoKTsKICAgfQogCi0gIHRvQnVmZmVyKGRlYnVnID0gZmFsc2UpIHsK
LSAgICBsZXQgYnl0ZXMgPSB0aGlzLnRvQXJyYXkoZGVidWcpOwotICAgIGxldCBidWZmZXIgPSBu
ZXcgQXJyYXlCdWZmZXIoYnl0ZXMubGVuZ3RoKTsKLSAgICBsZXQgdmlldyA9IG5ldyBVaW50OEFy
cmF5KGJ1ZmZlcik7Ci0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkrKykg
ewotICAgICAgbGV0IHZhbCA9IGJ5dGVzW2ldOwotICAgICAgaWYgKCh0eXBlb2YgdmFsKSA9PSAi
c3RyaW5nIikgdmFsID0gdmFsLmNoYXJDb2RlQXQoMCk7Ci0gICAgICB2aWV3W2ldID0gdmFsIHwg
MDsKLSAgICB9Ci0gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7CisgIHRvQXJyYXko
ZGVidWcgPSBmYWxzZSkgeworICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMudG9CdWZmZXIoZGVi
dWcpKTsKICAgfQogCi0gIGluc3RhbnRpYXRlKC4uLmFyZ3MpIHsKLSAgICBsZXQgbW9kdWxlID0g
bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZSh0aGlzLnRvQnVmZmVyKCkpOwotICAgIGxldCBpbnN0YW5j
ZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUsIC4uLmFyZ3MpOworICBpbnN0YW50
aWF0ZShmZmkpIHsKKyAgICBsZXQgbW9kdWxlID0gdGhpcy50b01vZHVsZSgpOworICAgIGxldCBp
bnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUsIGZmaSk7CiAgICAgcmV0
dXJuIGluc3RhbmNlOwogICB9CisKKyAgYXN5bmNJbnN0YW50aWF0ZShmZmkpIHsKKyAgICByZXR1
cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUodGhpcy50b0J1ZmZlcigpLCBmZmkpCisgICAgICAg
IC50aGVuKCh7bW9kdWxlLCBpbnN0YW5jZX0pID0+IGluc3RhbmNlKTsKKyAgfQorCisgIHRvTW9k
dWxlKGRlYnVnID0gZmFsc2UpIHsKKyAgICByZXR1cm4gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZSh0
aGlzLnRvQnVmZmVyKGRlYnVnKSk7CisgIH0KK30KKworZnVuY3Rpb24gd2FzbVNpZ25lZExlYih2
YWwsIG1heF9sZW4gPSA1KSB7CisgIGxldCByZXMgPSBbXTsKKyAgZm9yIChsZXQgaSA9IDA7IGkg
PCBtYXhfbGVuOyArK2kpIHsKKyAgICBsZXQgdiA9IHZhbCAmIDB4N2Y7CisgICAgLy8gSWYge3Z9
IHNpZ24tZXh0ZW5kZWQgZnJvbSA3IHRvIDMyIGJpdHMgaXMgZXF1YWwgdG8gdmFsLCB3ZSBhcmUg
ZG9uZS4KKyAgICBpZiAoKCh2IDw8IDI1KSA+PiAyNSkgPT0gdmFsKSB7CisgICAgICByZXMucHVz
aCh2KTsKKyAgICAgIHJldHVybiByZXM7CisgICAgfQorICAgIHJlcy5wdXNoKHYgfCAweDgwKTsK
KyAgICB2YWwgPSB2YWwgPj4gNzsKKyAgfQorICB0aHJvdyBuZXcgRXJyb3IoCisgICAgICAnTGVi
IHZhbHVlIDwnICsgdmFsICsgJz4gZXhjZWVkcyBtYXhpbXVtIGxlbmd0aCBvZiAnICsgbWF4X2xl
bik7Cit9CisKK2Z1bmN0aW9uIHdhc21JMzJDb25zdCh2YWwpIHsKKyAgcmV0dXJuIFtrRXhwckkz
MkNvbnN0LCAuLi53YXNtU2lnbmVkTGViKHZhbCwgNSldOworfQorCitmdW5jdGlvbiB3YXNtRjMy
Q29uc3QoZikgeworICBmMzJfdmlld1swXSA9IGY7CisgIHJldHVybiBbCisgICAga0V4cHJGMzJD
b25zdCwgZjMyX2J5dGVzX3ZpZXdbMF0sIGYzMl9ieXRlc192aWV3WzFdLCBmMzJfYnl0ZXNfdmll
d1syXSwKKyAgICBmMzJfYnl0ZXNfdmlld1szXQorICBdOworfQorCitmdW5jdGlvbiB3YXNtRjY0
Q29uc3QoZikgeworICBmNjRfdmlld1swXSA9IGY7CisgIHJldHVybiBbCisgICAga0V4cHJGNjRD
b25zdCwgZjY0X2J5dGVzX3ZpZXdbMF0sIGY2NF9ieXRlc192aWV3WzFdLCBmNjRfYnl0ZXNfdmll
d1syXSwKKyAgICBmNjRfYnl0ZXNfdmlld1szXSwgZjY0X2J5dGVzX3ZpZXdbNF0sIGY2NF9ieXRl
c192aWV3WzVdLCBmNjRfYnl0ZXNfdmlld1s2XSwKKyAgICBmNjRfYnl0ZXNfdmlld1s3XQorICBd
OwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwpp
bmRleCBlNWEyOTVmMzhjZDdmYjA4NGRmNmQ5NjVmZjk2MDM4NzQyMGY1OGEwLi5lODUwNzJlMGZk
YmYzN2Q3NmQxMTU1MzAyYzBhYmMwZWE2YmU0ZTZkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5n
ZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA0LTI0
ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBGaXgg
V0FTTSBFcnJvciBjbGFzc2VzIGFuZCByZS1zeW5jIHdwdC93YXNtL2pzYXBpIGZyb20gdXBzdHJl
YW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDk4
MAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlaXRoIE1pbGxlci4KKworICAgICAgICAqIHdhc20v
bW9kdWxlcy9qcy13YXNtLWN5Y2xlLmpzOgorICAgICAgICAqIHdhc20vbW9kdWxlcy93YXNtLXdh
c20tY3ljbGUuanM6CisgICAgICAgICogd2FzbS9zdHJlc3MvdG9vLW1hbnktbG9jYWxzLmpzOgor
CiAyMDIwLTA0LTIzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgcmV2b2tlZCBQcm94eSBjaGVja3MgZnJvbSBQcm94eUNyZWF0ZQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy93YXNtL21vZHVsZXMvanMtd2FzbS1jeWNsZS5qcyBiL0pTVGVzdHMv
d2FzbS9tb2R1bGVzL2pzLXdhc20tY3ljbGUuanMKaW5kZXggOTRmMGY4NjZjMjlhMzg5Nzg0Nzk1
NDEyMzNlOTA3NGY4Nzk4NzQxNC4uZmVmZDBiNWIzNjNkZDVjY2E5OTI1ZjJjMzViMjk4OGMyNDhj
ODFiOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy93YXNtL21vZHVsZXMvanMtd2FzbS1jeWNsZS5qcwor
KysgYi9KU1Rlc3RzL3dhc20vbW9kdWxlcy9qcy13YXNtLWN5Y2xlLmpzCkBAIC0xLDQgKzEsNCBA
QAogaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJy4uL2Fzc2VydC5qcyc7CiBpbXBvcnQoIi4vanMt
d2FzbS1jeWNsZS9lbnRyeS5qcyIpLnRoZW4oJHZtLmFib3J0LCBmdW5jdGlvbiAoZXJyb3IpIHsK
LSAgICBhc3NlcnQuZXEoU3RyaW5nKGVycm9yKSwgYEVycm9yOiBpbXBvcnQgZnVuY3Rpb24gLi9l
bnRyeS5qczpyZXR1cm40MiBtdXN0IGJlIGNhbGxhYmxlYCk7CisgICAgYXNzZXJ0LmVxKFN0cmlu
ZyhlcnJvciksIGBMaW5rRXJyb3I6IGltcG9ydCBmdW5jdGlvbiAuL2VudHJ5LmpzOnJldHVybjQy
IG11c3QgYmUgY2FsbGFibGVgKTsKIH0pLnRoZW4oZnVuY3Rpb24gKCkgeyB9LCAkdm0uYWJvcnQp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL21vZHVsZXMvd2FzbS13YXNtLWN5Y2xlLmpzIGIv
SlNUZXN0cy93YXNtL21vZHVsZXMvd2FzbS13YXNtLWN5Y2xlLmpzCmluZGV4IGIxYTUwNGVhOWNk
ZWY3MjZjYzc2ZjFlNGE0YTUzNWRhNjhjN2RmNjkuLjZiZWNhZWJmMjQwNzdiMThmZjRhZDYwYjIy
ODI0NmJjNDU2MWQ2MWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvd2FzbS9tb2R1bGVzL3dhc20td2Fz
bS1jeWNsZS5qcworKysgYi9KU1Rlc3RzL3dhc20vbW9kdWxlcy93YXNtLXdhc20tY3ljbGUuanMK
QEAgLTEsNCArMSw0IEBACiBpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnLi4vYXNzZXJ0LmpzJzsK
IGltcG9ydCgiLi93YXNtLXdhc20tY3ljbGUvZW50cnkud2FzbSIpLnRoZW4oJHZtLmFib3J0LCBm
dW5jdGlvbiAoZXJyb3IpIHsKLSAgICBhc3NlcnQuZXEoU3RyaW5nKGVycm9yKSwgYEVycm9yOiBp
bXBvcnQgZnVuY3Rpb24gLi9lbnRyeS53YXNtOnJldHVybjQyIG11c3QgYmUgY2FsbGFibGVgKTsK
KyAgICBhc3NlcnQuZXEoU3RyaW5nKGVycm9yKSwgYExpbmtFcnJvcjogaW1wb3J0IGZ1bmN0aW9u
IC4vZW50cnkud2FzbTpyZXR1cm40MiBtdXN0IGJlIGNhbGxhYmxlYCk7CiB9KS50aGVuKGZ1bmN0
aW9uICgpIHsgfSwgJHZtLmFib3J0KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvd2FzbS9zdHJlc3Mv
dG9vLW1hbnktbG9jYWxzLmpzIGIvSlNUZXN0cy93YXNtL3N0cmVzcy90b28tbWFueS1sb2NhbHMu
anMKaW5kZXggYzA0NmQzMmU2YjI5YjIzNDZlZWIyMTdjMDQ5NWRjZWZmMTcwMjJjZi4uYmVhNTU4
MzExNDk4YjcxZGVjOWIwYWQ4YTE5YjZmYmU1NmQyZTMwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy93
YXNtL3N0cmVzcy90b28tbWFueS1sb2NhbHMuanMKKysrIGIvSlNUZXN0cy93YXNtL3N0cmVzcy90
b28tbWFueS1sb2NhbHMuanMKQEAgLTI5LDUgKzI5LDUgQEAgaW1wb3J0ICogYXMgYXNzZXJ0IGZy
b20gJy4uL2Fzc2VydC5qcycKICAgICAgICAgZXhjZXB0aW9uID0gIiIgKyBlOwogICAgIH0KIAot
ICAgIGFzc2VydC5lcShleGNlcHRpb24sICJFcnJvcjogV2ViQXNzZW1ibHkuTW9kdWxlIGRvZXNu
J3QgcGFyc2UgYXQgYnl0ZSAxMDAwMDI6IEZ1bmN0aW9uJ3MgbnVtYmVyIG9mIGxvY2FscyBpcyB0
b28gYmlnIDUwMDAxIG1heGltdW0gNTAwMDAsIGluIGZ1bmN0aW9uIGF0IGluZGV4IDAgKGV2YWx1
YXRpbmcgJ25ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluKScpIik7CisgICAgYXNzZXJ0LmVxKGV4
Y2VwdGlvbiwgIkNvbXBpbGVFcnJvcjogV2ViQXNzZW1ibHkuTW9kdWxlIGRvZXNuJ3QgcGFyc2Ug
YXQgYnl0ZSAxMDAwMDI6IEZ1bmN0aW9uJ3MgbnVtYmVyIG9mIGxvY2FscyBpcyB0b28gYmlnIDUw
MDAxIG1heGltdW0gNTAwMDAsIGluIGZ1bmN0aW9uIGF0IGluZGV4IDAgKGV2YWx1YXRpbmcgJ25l
dyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluKScpIik7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>