<?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>210984</bug_id>
          
          <creation_ts>2020-04-24 12:26:48 -0700</creation_ts>
          <short_desc>Re-sync wpt/WebIDL/ecmascript-binding and wpt/custom-elements/htmlconstructor from upstream</short_desc>
          <delta_ts>2020-04-24 14:42:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1645325</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-24 12:26:48 -0700</bug_when>
    <thetext>Re-sync wpt/WebIDL/ecmascript-binding and wpt/custom-elements/htmlconstructor from upstream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645328</commentid>
    <comment_count>1</comment_count>
      <attachid>397483</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-24 12:29:24 -0700</bug_when>
    <thetext>Created attachment 397483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645400</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-24 14:41:37 -0700</bug_when>
    <thetext>Committed r260670: &lt;https://trac.webkit.org/changeset/260670&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397483.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645401</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-24 14:42:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/62340751&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397483</attachid>
            <date>2020-04-24 12:29:24 -0700</date>
            <delta_ts>2020-04-24 14:41:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210984-20200424222922.patch</filename>
            <type>text/plain</type>
            <size>80485</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjIxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA5ZGViMzA3Zjg2YjUwMjE4YzI1YWExZTRhMjE1OTI5NjdmYjViNDNmLi5jZGFhYzE0ZWQy
YTIyODllN2NiYmM3ZTQ1NDllOTBlZmU5NTY3NTM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNC0yNCAgQWxleGV5IFNodmF5a2EgIDxzaHZh
aWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgUmUtc3luYyB3cHQvV2ViSURML2VjbWFzY3Jp
cHQtYmluZGluZyBhbmQgd3B0L2N1c3RvbS1lbGVtZW50cy9odG1sY29uc3RydWN0b3IgZnJvbSB1
cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwOTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
d2ViLXBsYXRmb3JtLXRlc3RzIHJldmlzaW9uOiAzOWU5YzUxMDQxYTEKKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nLyo6IFVwZGF0ZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9odG1sY29uc3RydWN0
b3IvKjogVXBkYXRlZC4KKwogMjAyMC0wNC0yMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBkb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNo
LXJlZGlzcGF0Y2guaHRtbCBmcm9tIHVwc3RyZWFtIFdQVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5k
aW5nL2NsYXNzLXN0cmluZy1pbnRlcmZhY2UuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGlu
Zy9jbGFzcy1zdHJpbmctaW50ZXJmYWNlLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNk
YWI0MGJiN2NlOTRjMjAxNzNiMjU3NTI1OGMyMWNlODQ4NTlhYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFz
Y3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctaW50ZXJmYWNlLmFueS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMCBAQAorCitGQUlMIEBAdG9TdHJpbmdUYWcgZXhpc3RzIG9uIHRoZSBwcm90b3R5
cGUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSBzeW1ib2wgIlN5bWJvbChTeW1ib2wudG9TdHJpbmdUYWcpIiBtaXNz
aW5nCitQQVNTIEBAdG9TdHJpbmdUYWcgbXVzdCBub3QgZXhpc3Qgb24gdGhlIGluc3RhbmNlIAor
RkFJTCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFwcGxpZWQgdG8gdGhlIHByb3RvdHlwZSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiW29iamVjdCBCbG9iXSIgYnV0IGdvdCAiW29iamVjdCBC
bG9iUHJvdG90eXBlXSIKK1BBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIHRv
IGFuIGluc3RhbmNlIAorRkFJTCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFwcGxpZWQgYWZ0
ZXIgbW9kaWZ5aW5nIHRoZSBwcm90b3R5cGUncyBAQHRvU3RyaW5nVGFnIGFzc2VydF9vd25fcHJv
cGVydHk6IFByZWNvbmRpdGlvbiBmb3IgdGhpcyB0ZXN0OiBAQHRvU3RyaW5nVGFnIG9uIHRoZSBw
cm90b3R5cGUgZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJTeW1ib2woU3ltYm9sLnRvU3RyaW5n
VGFnKSIgbWlzc2luZworUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFwcGxpZWQgdG8g
dGhlIGluc3RhbmNlIGFmdGVyIG1vZGlmeWluZyB0aGUgaW5zdGFuY2UncyBAQHRvU3RyaW5nVGFn
IAorRkFJTCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFwcGxpZWQgdG8gYSBudWxsLXByb3Rv
dHlwZSBpbnN0YW5jZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiW29iamVjdCBPYmplY3RdIiBi
dXQgZ290ICJbb2JqZWN0IEJsb2JdIgorRkFJTCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFw
cGxpZWQgYWZ0ZXIgZGVsZXRpbmcgQEB0b1N0cmluZ1RhZyBhc3NlcnRfZXF1YWxzOiBwcm90b3R5
cGUgZXhwZWN0ZWQgIltvYmplY3QgT2JqZWN0XSIgYnV0IGdvdCAiW29iamVjdCBCbG9iUHJvdG90
eXBlXSIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1pbnRlcmZhY2Uu
YW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dl
YklETC9lY21hc2NyaXB0LWJpbmRpbmcvY2xhc3Mtc3RyaW5nLWludGVyZmFjZS5hbnkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1pbnRlcmZhY2UuYW55Lmh0
bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0
ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmlu
Zy1pbnRlcmZhY2UuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1pbnRlcmZhY2Uu
YW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVlNzkyZDUzNjgzODliNGY4NTU0NzRiZDgwNzdiOGQ3YWZkOTNi
MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvY2xhc3Mtc3RyaW5nLWludGVyZmFj
ZS5hbnkuanMKQEAgLTAsMCArMSw2MiBAQAorInVzZSBzdHJpY3QiOworCit0ZXN0KCgpID0+IHsK
KyAgYXNzZXJ0X293bl9wcm9wZXJ0eShCbG9iLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFn
KTsKKworICBjb25zdCBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
QmxvYi5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZyk7CisgIGFzc2VydF9lcXVhbHMocHJv
cERlc2MudmFsdWUsICJCbG9iIiwgInZhbHVlIik7CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2Mu
Y29uZmlndXJhYmxlLCB0cnVlLCAiY29uZmlndXJhYmxlIik7CisgIGFzc2VydF9lcXVhbHMocHJv
cERlc2MuZW51bWVyYWJsZSwgZmFsc2UsICJlbnVtZXJhYmxlIik7CisgIGFzc2VydF9lcXVhbHMo
cHJvcERlc2Mud3JpdGFibGUsIGZhbHNlLCAid3JpdGFibGUiKTsKK30sICJAQHRvU3RyaW5nVGFn
IGV4aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3Ii
KTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9ub3Rfb3duX3Byb3BlcnR5KG5ldyBCbG9iKCks
IFN5bWJvbC50b1N0cmluZ1RhZyk7Cit9LCAiQEB0b1N0cmluZ1RhZyBtdXN0IG5vdCBleGlzdCBv
biB0aGUgaW5zdGFuY2UiKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEJsb2IucHJvdG90eXBlKSwgIltvYmplY3QgQmxvYl0i
KTsKK30sICJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFwcGxpZWQgdG8gdGhlIHByb3RvdHlw
ZSIpOworCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwobmV3IEJsb2IoKSksICJbb2JqZWN0IEJsb2JdIik7Cit9LCAiT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIHRvIGFuIGluc3RhbmNlIik7CisKK3Rlc3QodCA9PiB7
CisgIGFzc2VydF9vd25fcHJvcGVydHkoQmxvYi5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1Rh
ZywgIlByZWNvbmRpdGlvbiBmb3IgdGhpcyB0ZXN0OiBAQHRvU3RyaW5nVGFnIG9uIHRoZSBwcm90
b3R5cGUiKTsKKworICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoQmxvYi5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogIkJsb2Ii
IH0pOworICB9KTsKKworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQmxvYi5wcm90b3R5cGUsIFN5
bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogIk5vdEFCbG9iIiB9KTsKKyAgYXNzZXJ0X2VxdWFs
cyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoQmxvYi5wcm90b3R5cGUpLCAiW29iamVj
dCBOb3RBQmxvYl0iLCAicHJvdG90eXBlIik7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKG5ldyBCbG9iKCkpLCAiW29iamVjdCBOb3RBQmxvYl0iLCAiaW5z
dGFuY2UiKTsKK30sICJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFwcGxpZWQgYWZ0ZXIgbW9k
aWZ5aW5nIHRoZSBwcm90b3R5cGUncyBAQHRvU3RyaW5nVGFnIik7CisKK3Rlc3QodCA9PiB7Cisg
IGNvbnN0IGluc3RhbmNlID0gbmV3IEJsb2IoKTsKKyAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHko
aW5zdGFuY2UsIFN5bWJvbC50b1N0cmluZ1RhZywgIlByZWNvbmRpdGlvbiBmb3IgdGhpcyB0ZXN0
OiBubyBAQHRvU3RyaW5nVGFnIG9uIHRoZSBpbnN0YW5jZSIpOworCisgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShpbnN0YW5jZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAiTm90QUJsb2Ii
IH0pOworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpbnN0
YW5jZSksICJbb2JqZWN0IE5vdEFCbG9iXSIpOworfSwgIk9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcgYXBwbGllZCB0byB0aGUgaW5zdGFuY2UgYWZ0ZXIgbW9kaWZ5aW5nIHRoZSBpbnN0YW5jZSdz
IEBAdG9TdHJpbmdUYWciKTsKKworLy8gQ2hyb21lIGhhZCBhIGJ1ZyAoaHR0cHM6Ly9idWdzLmNo
cm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NzkzNDA2KSB3aGVyZSBpZiB0
aGVyZQorLy8gd2FzIG5vIEBAdG9TdHJpbmdUYWcgaW4gdGhlIHByb3RvdHlwZSwgaXQgd291bGQg
ZmFsbCBiYWNrIHRvIGEgbWFnaWMgY2xhc3Mgc3RyaW5nLiBUaGlzIHRlc3RzCisvLyB0aGF0IHRo
ZSBidWcgaXMgZml4ZWQuCisKK3Rlc3QoKCkgPT4geworICBjb25zdCBpbnN0YW5jZSA9IG5ldyBC
bG9iKCk7CisgIE9iamVjdC5zZXRQcm90b3R5cGVPZihpbnN0YW5jZSwgbnVsbCk7CisKKyAgYXNz
ZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5zdGFuY2UpLCAiW29i
amVjdCBPYmplY3RdIik7Cit9LCAiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIHRv
IGEgbnVsbC1wcm90b3R5cGUgaW5zdGFuY2UiKTsKKworLy8gVGhpcyB0ZXN0IG11c3QgYmUgbGFz
dC4KK3Rlc3QoKCkgPT4geworICBkZWxldGUgQmxvYi5wcm90b3R5cGVbU3ltYm9sLnRvU3RyaW5n
VGFnXTsKKworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChC
bG9iLnByb3RvdHlwZSksICJbb2JqZWN0IE9iamVjdF0iLCAicHJvdG90eXBlIik7CisgIGFzc2Vy
dF9lcXVhbHMoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBCbG9iKCkpLCAiW29i
amVjdCBPYmplY3RdIiwgImluc3RhbmNlIik7Cit9LCAiT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
ZyBhcHBsaWVkIGFmdGVyIGRlbGV0aW5nIEBAdG9TdHJpbmdUYWciKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3Jp
cHQtYmluZGluZy9jbGFzcy1zdHJpbmctaW50ZXJmYWNlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNt
YXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1pbnRlcmZhY2UuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmNkYWI0MGJiN2NlOTRjMjAxNzNiMjU3NTI1OGMyMWNlODQ4NTlh
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctaW50ZXJmYWNl
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworRkFJTCBAQHRvU3Ry
aW5nVGFnIGV4aXN0cyBvbiB0aGUgcHJvdG90eXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2Ny
aXB0b3IgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgc3ltYm9sICJTeW1i
b2woU3ltYm9sLnRvU3RyaW5nVGFnKSIgbWlzc2luZworUEFTUyBAQHRvU3RyaW5nVGFnIG11c3Qg
bm90IGV4aXN0IG9uIHRoZSBpbnN0YW5jZSAKK0ZBSUwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
ZyBhcHBsaWVkIHRvIHRoZSBwcm90b3R5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIltvYmpl
Y3QgQmxvYl0iIGJ1dCBnb3QgIltvYmplY3QgQmxvYlByb3RvdHlwZV0iCitQQVNTIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcgYXBwbGllZCB0byBhbiBpbnN0YW5jZSAKK0ZBSUwgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIGFmdGVyIG1vZGlmeWluZyB0aGUgcHJvdG90eXBlJ3Mg
QEB0b1N0cmluZ1RhZyBhc3NlcnRfb3duX3Byb3BlcnR5OiBQcmVjb25kaXRpb24gZm9yIHRoaXMg
dGVzdDogQEB0b1N0cmluZ1RhZyBvbiB0aGUgcHJvdG90eXBlIGV4cGVjdGVkIHByb3BlcnR5IHN5
bWJvbCAiU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykiIG1pc3NpbmcKK1BBU1MgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIHRvIHRoZSBpbnN0YW5jZSBhZnRlciBtb2RpZnlpbmcg
dGhlIGluc3RhbmNlJ3MgQEB0b1N0cmluZ1RhZyAKK0ZBSUwgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZyBhcHBsaWVkIHRvIGEgbnVsbC1wcm90b3R5cGUgaW5zdGFuY2UgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIltvYmplY3QgT2JqZWN0XSIgYnV0IGdvdCAiW29iamVjdCBCbG9iXSIKK0ZBSUwg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIGFmdGVyIGRlbGV0aW5nIEBAdG9TdHJp
bmdUYWcgYXNzZXJ0X2VxdWFsczogcHJvdG90eXBlIGV4cGVjdGVkICJbb2JqZWN0IE9iamVjdF0i
IGJ1dCBnb3QgIltvYmplY3QgQmxvYlByb3RvdHlwZV0iCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmlu
ZGluZy9jbGFzcy1zdHJpbmctaW50ZXJmYWNlLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGlu
Zy9jbGFzcy1zdHJpbmctaW50ZXJmYWNlLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgy
OTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNj
cmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1pbnRlcmZhY2UuYW55Lndvcmtlci5odG1sCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctaXRlcmF0
b3ItcHJvdG90eXBlLW9iamVjdC5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNz
LXN0cmluZy1pdGVyYXRvci1wcm90b3R5cGUtb2JqZWN0LmFueS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2IyMzU0MTQ2NzAzZDE0Y2ZlMzQ0Njk5MDNjMGM4YjAyZTY5Yzg2ZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
SURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctaXRlcmF0b3ItcHJvdG90eXBlLW9i
amVjdC5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitQQVNTIEBAdG9TdHJpbmdU
YWcgZXhpc3RzIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3IgCitQQVNTIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcgCitQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgYXBwbGll
ZCBhZnRlciBtb2RpZnlpbmcgQEB0b1N0cmluZ1RhZyAKK0ZBSUwgT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZyBhcHBsaWVkIGFmdGVyIG51bGxpbmcgdGhlIHByb3RvdHlwZSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiW29iamVjdCBPYmplY3RdIiBidXQgZ290ICJbb2JqZWN0IFVSTFNlYXJjaFBh
cmFtcyBJdGVyYXRvcl0iCitGQUlMIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgYXBwbGllZCBh
ZnRlciBkZWxldGluZyBAQHRvU3RyaW5nVGFnIGFzc2VydF9lcXVhbHM6IHByb3RvdHlwZSBleHBl
Y3RlZCAiW29iamVjdCBPYmplY3RdIiBidXQgZ290ICJbb2JqZWN0IFVSTFNlYXJjaFBhcmFtcyBJ
dGVyYXRvcl0iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctaXRlcmF0
b3ItcHJvdG90eXBlLW9iamVjdC5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmct
aXRlcmF0b3ItcHJvdG90eXBlLW9iamVjdC5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4
ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1i
aW5kaW5nL2NsYXNzLXN0cmluZy1pdGVyYXRvci1wcm90b3R5cGUtb2JqZWN0LmFueS5odG1sCkBA
IC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctaXRl
cmF0b3ItcHJvdG90eXBlLW9iamVjdC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvY2xhc3Mtc3RyaW5n
LWl0ZXJhdG9yLXByb3RvdHlwZS1vYmplY3QuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxODVhZTBiYjdi
YWM2YWVjNGQ2OWM5Y2JmMzY0ZWI0NzU0NDI3YmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJp
bmRpbmcvY2xhc3Mtc3RyaW5nLWl0ZXJhdG9yLXByb3RvdHlwZS1vYmplY3QuYW55LmpzCkBAIC0w
LDAgKzEsNTAgQEAKKyJ1c2Ugc3RyaWN0IjsKKworY29uc3QgaXRlcmF0b3JQcm90byA9IE9iamVj
dC5nZXRQcm90b3R5cGVPZigobmV3IFVSTFNlYXJjaFBhcmFtcygpKS5lbnRyaWVzKCkpOworCit0
ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X293bl9wcm9wZXJ0eShpdGVyYXRvclByb3RvLCBTeW1ib2wu
dG9TdHJpbmdUYWcpOworCisgIGNvbnN0IHByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihpdGVyYXRvclByb3RvLCBTeW1ib2wudG9TdHJpbmdUYWcpOworICBhc3NlcnRf
ZXF1YWxzKHByb3BEZXNjLnZhbHVlLCAiVVJMU2VhcmNoUGFyYW1zIEl0ZXJhdG9yIiwgInZhbHVl
Iik7CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2MuY29uZmlndXJhYmxlLCB0cnVlLCAiY29uZmln
dXJhYmxlIik7CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2MuZW51bWVyYWJsZSwgZmFsc2UsICJl
bnVtZXJhYmxlIik7CisgIGFzc2VydF9lcXVhbHMocHJvcERlc2Mud3JpdGFibGUsIGZhbHNlLCAi
d3JpdGFibGUiKTsKK30sICJAQHRvU3RyaW5nVGFnIGV4aXN0cyB3aXRoIHRoZSBhcHByb3ByaWF0
ZSBkZXNjcmlwdG9yIik7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChpdGVyYXRvclByb3RvKSwgIltvYmplY3QgVVJMU2VhcmNo
UGFyYW1zIEl0ZXJhdG9yXSIpOworfSwgIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmciKTsKKwor
dGVzdCh0ID0+IHsKKyAgYXNzZXJ0X293bl9wcm9wZXJ0eShpdGVyYXRvclByb3RvLCBTeW1ib2wu
dG9TdHJpbmdUYWcsICJQcmVjb25kaXRpb24gZm9yIHRoaXMgdGVzdDogQEB0b1N0cmluZ1RhZyBl
eGlzdHMiKTsKKworICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoaXRlcmF0b3JQcm90bywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAiVVJMU2Vh
cmNoUGFyYW1zIEl0ZXJhdG9yIiB9KTsKKyAgfSk7CisKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGl0ZXJhdG9yUHJvdG8sIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogIk5vdCBVUkxTZWFy
Y2hQYXJhbXMgSXRlcmF0b3IiIH0pOworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChpdGVyYXRvclByb3RvKSwgIltvYmplY3QgTm90IFVSTFNlYXJjaFBhcmFt
cyBJdGVyYXRvcl0iKTsKK30sICJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFwcGxpZWQgYWZ0
ZXIgbW9kaWZ5aW5nIEBAdG9TdHJpbmdUYWciKTsKKworLy8gQ2hyb21lIGhhZCBhIGJ1ZyAoaHR0
cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NzkzNDA2
KSB3aGVyZSBpZiB0aGVyZQorLy8gd2FzIG5vIEBAdG9TdHJpbmdUYWcsIGl0IHdvdWxkIGZhbGwg
YmFjayB0byBhIG1hZ2ljIGNsYXNzIHN0cmluZy4gVGhpcyB0ZXN0cyB0aGF0IHRoZSBidWcgaXMK
Ky8vIGZpeGVkLgorCit0ZXN0KHQgPT4geworICBjb25zdCBwcm90byA9IE9iamVjdC5nZXRQcm90
b3R5cGVPZihpdGVyYXRvclByb3RvKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7CisgICAgT2Jq
ZWN0LnNldFByb3RvdHlwZU9mKGl0ZXJhdG9yUHJvdG8sIHByb3RvKTsKKyAgfSk7CisKKyAgT2Jq
ZWN0LnNldFByb3RvdHlwZU9mKGl0ZXJhdG9yUHJvdG8sIG51bGwpOworCisgIGFzc2VydF9lcXVh
bHMoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXJhdG9yUHJvdG8pLCAiW29iamVj
dCBPYmplY3RdIik7Cit9LCAiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIGFmdGVy
IG51bGxpbmcgdGhlIHByb3RvdHlwZSIpOworCisvLyBUaGlzIHRlc3QgbXVzdCBiZSBsYXN0Lgor
dGVzdCgoKSA9PiB7CisgIGRlbGV0ZSBpdGVyYXRvclByb3RvW1N5bWJvbC50b1N0cmluZ1RhZ107
CisKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaXRlcmF0
b3JQcm90byksICJbb2JqZWN0IE9iamVjdF0iLCAicHJvdG90eXBlIik7Cit9LCAiT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIGFmdGVyIGRlbGV0aW5nIEBAdG9TdHJpbmdUYWciKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
V2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctaXRlcmF0b3ItcHJvdG90eXBl
LW9iamVjdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJp
bmctaXRlcmF0b3ItcHJvdG90eXBlLW9iamVjdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zYjIzNTQxNDY3MDNkMTRjZmUzNDQ2OTkwM2MwYzhiMDJlNjljODZkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9X
ZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1pdGVyYXRvci1wcm90b3R5cGUt
b2JqZWN0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitQQVNTIEBA
dG9TdHJpbmdUYWcgZXhpc3RzIHdpdGggdGhlIGFwcHJvcHJpYXRlIGRlc2NyaXB0b3IgCitQQVNT
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgCitQQVNTIE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcgYXBwbGllZCBhZnRlciBtb2RpZnlpbmcgQEB0b1N0cmluZ1RhZyAKK0ZBSUwgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIGFmdGVyIG51bGxpbmcgdGhlIHByb3RvdHlwZSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiW29iamVjdCBPYmplY3RdIiBidXQgZ290ICJbb2JqZWN0IFVS
TFNlYXJjaFBhcmFtcyBJdGVyYXRvcl0iCitGQUlMIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcg
YXBwbGllZCBhZnRlciBkZWxldGluZyBAQHRvU3RyaW5nVGFnIGFzc2VydF9lcXVhbHM6IHByb3Rv
dHlwZSBleHBlY3RlZCAiW29iamVjdCBPYmplY3RdIiBidXQgZ290ICJbb2JqZWN0IFVSTFNlYXJj
aFBhcmFtcyBJdGVyYXRvcl0iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJp
bmctaXRlcmF0b3ItcHJvdG90eXBlLW9iamVjdC5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRp
bmcvY2xhc3Mtc3RyaW5nLWl0ZXJhdG9yLXByb3RvdHlwZS1vYmplY3QuYW55Lndvcmtlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvY2xhc3Mtc3RyaW5nLWl0ZXJhdG9yLXByb3Rv
dHlwZS1vYmplY3QuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRl
bXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFz
Y3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctbmFtZWQtcHJvcGVydGllcy1vYmplY3Qud2luZG93
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctbmFtZWQtcHJvcGVydGll
cy1vYmplY3Qud2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2I3ZDJmMTJjYTEyNjEx
MmFlNTNkM2FlMmFhMTJhNzc0NmM2ZTk2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5n
L2NsYXNzLXN0cmluZy1uYW1lZC1wcm9wZXJ0aWVzLW9iamVjdC53aW5kb3ctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIEBAdG9TdHJpbmdUYWcgZXhpc3RzIHdpdGggdGhlIGFw
cHJvcHJpYXRlIGRlc2NyaXB0b3IgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVy
dHkgc3ltYm9sICJTeW1ib2woU3ltYm9sLnRvU3RyaW5nVGFnKSIgbWlzc2luZworUEFTUyBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nIAorRkFJTCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFw
cGxpZWQgYWZ0ZXIgbW9kaWZ5aW5nIEBAdG9TdHJpbmdUYWcgYXNzZXJ0X293bl9wcm9wZXJ0eTog
UHJlY29uZGl0aW9uIGZvciB0aGlzIHRlc3Q6IEBAdG9TdHJpbmdUYWcgZXhpc3RzIGV4cGVjdGVk
IHByb3BlcnR5IHN5bWJvbCAiU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykiIG1pc3NpbmcKK0ZB
SUwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIGFmdGVyIGRlbGV0aW5nIEBAdG9T
dHJpbmdUYWcgYXNzZXJ0X2VxdWFsczogcHJvdG90eXBlIGV4cGVjdGVkICJbb2JqZWN0IEV2ZW50
VGFyZ2V0XSIgYnV0IGdvdCAiW29iamVjdCBXaW5kb3dQcm9wZXJ0aWVzXSIKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNt
YXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1uYW1lZC1wcm9wZXJ0aWVzLW9iamVjdC53aW5k
b3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
SURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctbmFtZWQtcHJvcGVydGllcy1vYmpl
Y3Qud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2
MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmct
bmFtZWQtcHJvcGVydGllcy1vYmplY3Qud2luZG93Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1
biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJ
REwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1uYW1lZC1wcm9wZXJ0aWVzLW9iamVj
dC53aW5kb3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvY2xhc3Mtc3RyaW5nLW5hbWVkLXByb3BlcnRpZXMt
b2JqZWN0LndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZDQ2NjE4OGJhZWQ0MzlhYjQ2ZGQ2MGExNTc3
ODljMGM5NWRiOTgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmlu
Zy1uYW1lZC1wcm9wZXJ0aWVzLW9iamVjdC53aW5kb3cuanMKQEAgLTAsMCArMSw0MiBAQAorInVz
ZSBzdHJpY3QiOworCitjb25zdCBuYW1lZFByb3BlcnRpZXNPYmplY3QgPSBPYmplY3QuZ2V0UHJv
dG90eXBlT2YoV2luZG93LnByb3RvdHlwZSk7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfb3du
X3Byb3BlcnR5KG5hbWVkUHJvcGVydGllc09iamVjdCwgU3ltYm9sLnRvU3RyaW5nVGFnKTsKKwor
ICBjb25zdCBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobmFtZWRQ
cm9wZXJ0aWVzT2JqZWN0LCBTeW1ib2wudG9TdHJpbmdUYWcpOworICBhc3NlcnRfZXF1YWxzKHBy
b3BEZXNjLnZhbHVlLCAiV2luZG93UHJvcGVydGllcyIsICJ2YWx1ZSIpOworICBhc3NlcnRfZXF1
YWxzKHByb3BEZXNjLmNvbmZpZ3VyYWJsZSwgdHJ1ZSwgImNvbmZpZ3VyYWJsZSIpOworICBhc3Nl
cnRfZXF1YWxzKHByb3BEZXNjLmVudW1lcmFibGUsIGZhbHNlLCAiZW51bWVyYWJsZSIpOworICBh
c3NlcnRfZXF1YWxzKHByb3BEZXNjLndyaXRhYmxlLCBmYWxzZSwgIndyaXRhYmxlIik7Cit9LCAi
QEB0b1N0cmluZ1RhZyBleGlzdHMgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVzY3JpcHRvciIpOwor
Cit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwobmFtZWRQcm9wZXJ0aWVzT2JqZWN0KSwgIltvYmplY3QgV2luZG93UHJvcGVydGllc10i
KTsKK30sICJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIik7CisKK3Rlc3QodCA9PiB7CisgIGFz
c2VydF9vd25fcHJvcGVydHkobmFtZWRQcm9wZXJ0aWVzT2JqZWN0LCBTeW1ib2wudG9TdHJpbmdU
YWcsICJQcmVjb25kaXRpb24gZm9yIHRoaXMgdGVzdDogQEB0b1N0cmluZ1RhZyBleGlzdHMiKTsK
KworICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmFt
ZWRQcm9wZXJ0aWVzT2JqZWN0LCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICJXaW5kb3dQ
cm9wZXJ0aWVzIiB9KTsKKyAgfSk7CisKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5hbWVkUHJv
cGVydGllc09iamVjdCwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAiTm90V2luZG93UHJv
cGVydGllcyIgfSk7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKG5hbWVkUHJvcGVydGllc09iamVjdCksICJbb2JqZWN0IE5vdFdpbmRvd1Byb3BlcnRpZXNd
Iik7Cit9LCAiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBhcHBsaWVkIGFmdGVyIG1vZGlmeWlu
ZyBAQHRvU3RyaW5nVGFnIik7CisKKy8vIENocm9tZSBoYWQgYSBidWcgKGh0dHBzOi8vYnVncy5j
aHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTc5MzQwNikgd2hlcmUgaWYg
dGhlcmUKKy8vIHdhcyBubyBAQHRvU3RyaW5nVGFnLCBpdCB3b3VsZCBmYWxsIGJhY2sgdG8gYSBt
YWdpYyBjbGFzcyBzdHJpbmcuIFRoaXMgdGVzdHMgdGhhdCB0aGUgYnVnIGlzCisvLyBmaXhlZC4K
KworLy8gTm90ZTogd2UgY2Fubm90IG51bGwgb3V0IHRoZSBwcm90b3R5cGUgb2YgdGhlIG5hbWVk
IHByb3BlcnRpZXMgb2JqZWN0IHBlcgorLy8gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlk
bC8jbmFtZWQtcHJvcGVydGllcy1vYmplY3Qtc2V0cHJvdG90eXBlb2Ygc28gd2UgZG9uJ3QgaGF2
ZSBhIHRlc3QgdGhhdCBkb2VzIHRoYXQuCisKKy8vIFRoaXMgdGVzdCBtdXN0IGJlIGxhc3QuCit0
ZXN0KCgpID0+IHsKKyAgZGVsZXRlIG5hbWVkUHJvcGVydGllc09iamVjdFtTeW1ib2wudG9TdHJp
bmdUYWddOworCisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KG5hbWVkUHJvcGVydGllc09iamVjdCksICJbb2JqZWN0IEV2ZW50VGFyZ2V0XSIsICJwcm90b3R5
cGUiKTsKK30sICJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFwcGxpZWQgYWZ0ZXIgZGVsZXRp
bmcgQEB0b1N0cmluZ1RhZyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2VzLWV4Y2VwdGlv
bnMvRE9NRXhjZXB0aW9uLWN1c3RvbS1iaW5kaW5ncy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvZXMt
ZXhjZXB0aW9ucy9ET01FeGNlcHRpb24tY3VzdG9tLWJpbmRpbmdzLmFueS5qcwppbmRleCA4ZDY5
YzZlMDcwN2E1M2EzMWFlYmI2MDRkNjk2YTcyNTVhODNmNzdkLi5lZDA1ZDI3NjQ2ZjYwNmYzNzlm
YTgyMWJkOTM1OGQxYmUzNDU1ZjY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvZXMtZXhjZXB0
aW9ucy9ET01FeGNlcHRpb24tY3VzdG9tLWJpbmRpbmdzLmFueS5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRp
bmcvZXMtZXhjZXB0aW9ucy9ET01FeGNlcHRpb24tY3VzdG9tLWJpbmRpbmdzLmFueS5qcwpAQCAt
MSw3ICsxLDcgQEAKICJ1c2Ugc3RyaWN0IjsKIAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBET01FeGNlcHRpb24oKSk7CisgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiBET01FeGNlcHRpb24oKSk7CiB9LCAiQ2Fubm90IGNvbnN0
cnVjdCB3aXRob3V0IG5ldyIpOwogCiB0ZXN0KCgpID0+IHsKQEAgLTI2LDcgKzI2LDcgQEAgdGVz
dCgoKSA9PiB7CiB0ZXN0KCgpID0+IHsKICAgY29uc3QgZ2V0dGVyID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihET01FeGNlcHRpb24ucHJvdG90eXBlLCAibWVzc2FnZSIpLmdldDsK
IAotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gZ2V0dGVyLmFwcGx5KHt9
KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBnZXR0ZXIuYXBwbHkoe30p
KTsKIH0sICJtZXNzYWdlIGdldHRlciBwZXJmb3JtcyBicmFuZCBjaGVja3MgKGkuZS4gaXMgbm90
IFtMZW5pZW50VGhpc10iKTsKIAogdGVzdCgoKSA9PiB7CkBAIC00Myw3ICs0Myw3IEBAIHRlc3Qo
KCkgPT4gewogdGVzdCgoKSA9PiB7CiAgIGNvbnN0IGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoRE9NRXhjZXB0aW9uLnByb3RvdHlwZSwgIm5hbWUiKS5nZXQ7CiAKLSAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IGdldHRlci5hcHBseSh7fSkpOwor
ICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gZ2V0dGVyLmFwcGx5KHt9KSk7CiB9
LCAibmFtZSBnZXR0ZXIgcGVyZm9ybXMgYnJhbmQgY2hlY2tzIChpLmUuIGlzIG5vdCBbTGVuaWVu
dFRoaXNdIik7CiAKIHRlc3QoKCkgPT4gewpAQCAtNjAsNyArNjAsNyBAQCB0ZXN0KCgpID0+IHsK
IHRlc3QoKCkgPT4gewogICBjb25zdCBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKERPTUV4Y2VwdGlvbi5wcm90b3R5cGUsICJjb2RlIikuZ2V0OwogCi0gIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBnZXR0ZXIuYXBwbHkoe30pKTsKKyAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IGdldHRlci5hcHBseSh7fSkpOwogfSwgImNvZGUg
Z2V0dGVyIHBlcmZvcm1zIGJyYW5kIGNoZWNrcyAoaS5lLiBpcyBub3QgW0xlbmllbnRUaGlzXSIp
OwogCiB0ZXN0KCgpID0+IHsKQEAgLTk4LDcgKzk4LDcgQEAgdGVzdCgoKSA9PiB7CiB9LCAidG9T
dHJpbmcoKSBiZWhhdmlvciBmcm9tIEVycm9yLnByb3RvdHlwZSBhcHBsaWVzIGFzIGV4cGVjdGVk
Iik7CiAKIHRlc3QoKCkgPT4gewotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkg
PT4gRE9NRXhjZXB0aW9uLnByb3RvdHlwZS50b1N0cmluZygpKTsKKyAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsICgpID0+IERPTUV4Y2VwdGlvbi5wcm90b3R5cGUudG9TdHJpbmcoKSk7CiB9
LCAiRE9NRXhjZXB0aW9uLnByb3RvdHlwZS50b1N0cmluZygpIGFwcGxpZWQgdG8gRE9NRXhjZXB0
aW9uLnByb3RvdHlwZSB0aHJvd3MgYmVjYXVzZSBvZiBuYW1lL21lc3NhZ2UgYnJhbmQgY2hlY2tz
Iik7CiAKIHRlc3QoKCkgPT4gewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2VzLWV4Y2VwdGlv
bnMvZXhjZXB0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2VzLWV4Y2VwdGlvbnMvZXhjZXB0aW9u
cy5odG1sCmluZGV4IDM5NmQwYTRjNmM2ZGUzZmMwMGRkNjA0NjdlNDZhMjA4NDRkZTZmNGUuLmQy
NmM2NjI2Njk5NGIyZTM0OWI0YzgxZDQyYmMyZjY2MzUzZTY4NDAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQt
YmluZGluZy9lcy1leGNlcHRpb25zL2V4Y2VwdGlvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcv
ZXMtZXhjZXB0aW9ucy9leGNlcHRpb25zLmh0bWwKQEAgLTksOCArOSw4IEBACiAvKioKICAqIFRo
aXMgZmlsZSBqdXN0IHBpY2tzIG9uZSBjYXNlIHdoZXJlIGJyb3dzZXJzIGFyZSBzdXBwb3NlZCB0
byB0aHJvdyBhbgogICogZXhjZXB0aW9uLCBhbmQgdGVzdHMgdGhlIGhlY2sgb3V0IG9mIHdoZXRo
ZXIgaXQgbWVldHMgdGhlIHNwZWMuICBJbiB0aGUKLSAqIGZ1dHVyZSwgYWxsIHRoZXNlIGNoZWNr
cyBzaG91bGQgYmUgaW4gYXNzZXJ0X3Rocm93cygpLCBidXQgd2UgZG9uJ3Qgd2FudAotICogZXZl
cnkgYnJvd3NlciBmYWlsaW5nIGV2ZXJ5IGFzc2VydF90aHJvd3MoKSBjaGVjayB1bnRpbCB0aGV5
IGZpeCBldmVyeQorICogZnV0dXJlLCBhbGwgdGhlc2UgY2hlY2tzIHNob3VsZCBiZSBpbiBhc3Nl
cnRfdGhyb3dzX2RvbSgpLCBidXQgd2UgZG9uJ3Qgd2FudAorICogZXZlcnkgYnJvd3NlciBmYWls
aW5nIGV2ZXJ5IGFzc2VydF90aHJvd3NfZG9tKCkgY2hlY2sgdW50aWwgdGhleSBmaXggZXZlcnkK
ICAqIHNpbmdsZSBidWcgaW4gdGhlaXIgZXhjZXB0aW9uLXRocm93aW5nLgogICoKICAqIFdlIGRv
bid0IGdvIG91dCBvZiBvdXIgd2F5IHRvIHRlc3QgZXZlcnl0aGluZyB0aGF0J3MgYWxyZWFkeSB0
ZXN0ZWQgYnkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9nbG9iYWwtaW1tdXRhYmxlLXByb3Rv
dHlwZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvZ2xvYmFsLWltbXV0YWJsZS1wcm90b3R5cGUuYW55
LmpzCmluZGV4IDdiOTdlMDYyYzlkN2M3YjZhZTcwNWVmODQzMmRmYjU0ODE1OTViZWIuLjYyOTFj
M2FlOTM1NjA4MTg1Mzg1ZTg3Zjc2OWU0ZjhiNWJlNmNmMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmlu
ZGluZy9nbG9iYWwtaW1tdXRhYmxlLXByb3RvdHlwZS5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5n
L2dsb2JhbC1pbW11dGFibGUtcHJvdG90eXBlLmFueS5qcwpAQCAtMTAsNyArMTAsNyBAQCBzZXR1
cCgoKSA9PiB7CiAKIHRlc3QoKCkgPT4gewogICBmb3IgKGNvbnN0IG9iamVjdCBvZiBvYmplY3Rz
KSB7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHsKKyAgICBhc3Nl
cnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewogICAgICAgT2JqZWN0LnNldFByb3RvdHlw
ZU9mKG9iamVjdCwge30pOwogICAgIH0pOwogICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcv
aW50ZXJmYWNlLXByb3RvdHlwZS1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2lu
dGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0LWV4cGVjdGVkLnR4dAppbmRleCA4MGJkM2FiZTUzNjA4
NzYxMDI0M2IwNmJhN2I2OGJlNzRhMDU0YTAxLi5mZGZmMWM0Zjk2YWE5ZTYzZjg2YzIxYjAyYjU3
ZTZjOGE0NDZiM2IyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvaW50ZXJmYWNlLXByb3RvdHlw
ZS1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9pbnRlcmZhY2UtcHJvdG90
eXBlLW9iamVjdC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLUZBSUwgVGhlIGNsYXNz
IHN0cmluZyBvZiBhbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBpcyB0aGUgY29uY2F0ZW5h
dGlvbiBvZiB0aGUgaW50ZXJmYWNlJ3MgaWRlbnRpZmllciBhbmQgdGhlIHN0cmluZyAnUHJvdG90
eXBlJy4gYXNzZXJ0X3RydWU6IEFuIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IHNob3VsZCBo
YXZlIHRvU3RyaW5nVGFnIHByb3BlcnR5LiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBb
VW5zY29wYWJsZV0gZXh0ZW5kZWQgYXR0cmlidXRlIG1ha2VzIEBAdW5zY29wYWJsZXMgb2JqZWN0
IG9uIHRoZSBwcm90b3R5cGUgb2JqZWN0LCB3aG9zZSBwcm90b3R5cGUgaXMgbnVsbC4gCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
SURML2VjbWFzY3JpcHQtYmluZGluZy9pbnRlcmZhY2UtcHJvdG90eXBlLW9iamVjdC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNj
cmlwdC1iaW5kaW5nL2ludGVyZmFjZS1wcm90b3R5cGUtb2JqZWN0Lmh0bWwKaW5kZXggMDNhZGE3
YWEwZDRkNDM4MTE2NTJmYzY3OWEwMGE0MWI5NjUzMDEzZC4uZDJkNDNlZGE5YTk0Njg4ZmZkNzA3
YTNlZDhmODljMjhlNzQzMjRjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2ludGVyZmFjZS1w
cm90b3R5cGUtb2JqZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2ludGVyZmFjZS1wcm90b3R5
cGUtb2JqZWN0Lmh0bWwKQEAgLTUsMTggKzUsNiBAQAogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLS8vIEEgc3BlY2lmaWNhdGlvbiBp
c3N1ZSB3YXMgcmFpc2VkIGZvciB0aGlzIGJlaGF2aW9yLgotLy8gaHR0cHM6Ly93d3cudzMub3Jn
L0J1Z3MvUHVibGljL3Nob3dfYnVnLmNnaT9pZD0yODI0NAotdGVzdChmdW5jdGlvbigpIHsKLSAg
Ly8gQ2hlY2tzIHRvU3RyaW5nKCkgYmVoYXZpb3IuCi0gIGFzc2VydF9jbGFzc19zdHJpbmcoRG9j
dW1lbnQucHJvdG90eXBlLCAiRG9jdW1lbnRQcm90b3R5cGUiKTsKLQotICBhc3NlcnRfdHJ1ZShE
b2N1bWVudC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoU3ltYm9sLnRvU3RyaW5nVGFnKSwKLSAg
ICAgICAgICAgICAgIkFuIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IHNob3VsZCBoYXZlIHRv
U3RyaW5nVGFnIHByb3BlcnR5LiIpOwotICBhc3NlcnRfZXF1YWxzKERvY3VtZW50LnByb3RvdHlw
ZVtTeW1ib2wudG9TdHJpbmdUYWddLCAiRG9jdW1lbnRQcm90b3R5cGUiKTsKLX0sICJUaGUgY2xh
c3Mgc3RyaW5nIG9mIGFuIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBjb25jYXRl
bmF0aW9uIG9mICIgKwotICAgInRoZSBpbnRlcmZhY2UncyBpZGVudGlmaWVyIGFuZCB0aGUgc3Ry
aW5nICdQcm90b3R5cGUnLiIpOwotCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAvLyBodHRwczovL2hl
eWNhbS5naXRodWIuaW8vd2ViaWRsLyNjcmVhdGUtYW4taW50ZXJmYWNlLXByb3RvdHlwZS1vYmpl
Y3QKICAgYXNzZXJ0X293bl9wcm9wZXJ0eShFbGVtZW50LnByb3RvdHlwZSwgU3ltYm9sLnVuc2Nv
cGFibGVzLCAiRWxlbWVudC5wcm90b3R5cGUgaGFzIEBAdW5zY29wYWJsZXMuIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9l
Y21hc2NyaXB0LWJpbmRpbmcvaXRlcmF0b3ItcHJvdG90eXBlLW9iamVjdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21h
c2NyaXB0LWJpbmRpbmcvaXRlcmF0b3ItcHJvdG90eXBlLW9iamVjdC1leHBlY3RlZC50eHQKaW5k
ZXggM2NlMDIzNjc0ZmFjMzY4N2I3NTM0MjQ3NzVlNjkwMDhlNTNlMTUyNS4uZDU2MmQyNTM0OTY1
ZjNkNjlmOWU0ZDM5NjZhMDg2MjNiYzY0N2U0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2l0
ZXJhdG9yLXByb3RvdHlwZS1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9p
dGVyYXRvci1wcm90b3R5cGUtb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMiw3ICsyLDUgQEAKIFBB
U1MgSGFzICVJdGVyYXRvclByb3RvdHlwZSUgYXMgcHJvdG90eXBlIAogUEFTUyBuZXh0KCkgZXhp
c3RzIGFuZCBpcyB3cml0YWJsZSwgZW51bWVyYWJsZSwgYW5kIGNvbmZpZ3VyYWJsZSAKIFBBU1Mg
bmV4dCgpIHRocm93cyBUeXBlRXJyb3Igd2hlbiBjYWxsZWQgb24gaW5lbGlnaWJsZSByZWNlaXZl
ciAKLVBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyByZXR1cm5zIGNvcnJlY3QgdmFsdWUg
Ci1QQVNTIEBAdG9TdHJpbmdUYWcgaGFzIGNvcnJlY3QgdmFsdWUgCiBQQVNTIElzIHNwZWNpZmlj
IHRvIGFuIGludGVyZmFjZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2l0ZXJhdG9yLXBy
b3RvdHlwZS1vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9pdGVyYXRvci1wcm90b3R5cGUtb2Jq
ZWN0Lmh0bWwKaW5kZXggNWE5MzVmYTIwMTM1ZDg4YTcyNjhiODcyYjY4YWI3ZmU1NDhhYjVjNy4u
Nzg1OWMxZTQ2YWM0NjQ2M2YwNzBiZjJiNDhhMzhmNTRkMmU4YThjZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlw
dC1iaW5kaW5nL2l0ZXJhdG9yLXByb3RvdHlwZS1vYmplY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRp
bmcvaXRlcmF0b3ItcHJvdG90eXBlLW9iamVjdC5odG1sCkBAIC0yMywzMCArMjMsMjEgQEAgdGVz
dCgoKSA9PiB7CiAgIGNvbnN0IHVzcCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTsKICAgY29uc3Qg
aXRlcmF0b3JQcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih1c3AuZW50cmllcygpKTsKIAot
ICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4geworICBhc3NlcnRfdGhyb3dz
X2pzKFR5cGVFcnJvciwgKCkgPT4gewogICAgIGl0ZXJhdG9yUHJvdG8ubmV4dCgpOwogICB9KTsK
LSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHsKKyAgYXNzZXJ0X3Rocm93
c19qcyhUeXBlRXJyb3IsICgpID0+IHsKICAgICBpdGVyYXRvclByb3RvLm5leHQuY2FsbCh1bmRl
ZmluZWQpOwogICB9KTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IHsK
KyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKICAgICBpdGVyYXRvclByb3Rv
Lm5leHQuY2FsbCg0Mik7CiAgIH0pOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwg
KCkgPT4geworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewogICAgIGl0ZXJh
dG9yUHJvdG8ubmV4dC5jYWxsKG5ldyBIZWFkZXJzKCkuZW50cmllcygpKTsKICAgfSk7CiB9LCAi
bmV4dCgpIHRocm93cyBUeXBlRXJyb3Igd2hlbiBjYWxsZWQgb24gaW5lbGlnaWJsZSByZWNlaXZl
ciIpOwogCi10ZXN0KCgpID0+IHsKLSAgY29uc3QgaXRlcmF0b3JQcm90byA9IE9iamVjdC5nZXRQ
cm90b3R5cGVPZihuZXcgVVJMU2VhcmNoUGFyYW1zKCkuZW50cmllcygpKTsKLSAgYXNzZXJ0X2Vx
dWFscyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaXRlcmF0b3JQcm90byksICJbb2Jq
ZWN0IFVSTFNlYXJjaFBhcmFtcyBJdGVyYXRvcl0iKTsKLX0sICJPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nIHJldHVybnMgY29ycmVjdCB2YWx1ZSIpOwotCi10ZXN0KCgpID0+IHsKLSAgY29uc3Qg
aXRlcmF0b3JQcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgVVJMU2VhcmNoUGFyYW1z
KCkuZW50cmllcygpKTsKLSAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGl0ZXJhdG9yUHJvdG8sIFN5bWJvbC50b1N0cmluZ1RhZykudmFsdWUsICJVUkxTZWFy
Y2hQYXJhbXMgSXRlcmF0b3IiKTsKLSAgLy8gUHJvcGVydHkgYXR0cmlidXRlcyBoYXZlIG5vdCB5
ZXQgYmVlbiBmdWxseSBzcGVjJ2QuCi19LCAiQEB0b1N0cmluZ1RhZyBoYXMgY29ycmVjdCB2YWx1
ZSIpOworLy8gY2xhc3Mgc3RyaW5nIGJlaGF2aW9yIHRlc3RlZCBpbiBhIGRlZGljYXRlZCBmaWxl
CiAKIHRlc3QoKCkgPT4gewogICBjb25zdCBpdGVyYXRvclByb3RvMSA9IE9iamVjdC5nZXRQcm90
b3R5cGVPZihuZXcgVVJMU2VhcmNoUGFyYW1zKCkuZW50cmllcygpKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3Jp
cHQtYmluZGluZy9sZWdhY3ktY2FsbGJhY2staW50ZXJmYWNlLW9iamVjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1i
aW5kaW5nL2xlZ2FjeS1jYWxsYmFjay1pbnRlcmZhY2Utb2JqZWN0Lmh0bWwKaW5kZXggMDFhMDA4
ZDEwOGNkNTdmMmNjNmM4NjI2NDRiZGFiMzY2ZmRlZmI5ZC4uZjViNDllMjIxZjc4NTU2YzhkNDI1
MzMxMjQ0ZTExNGI5MzMwOTBlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1jYWxs
YmFjay1pbnRlcmZhY2Utb2JqZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1jYWxs
YmFjay1pbnRlcmZhY2Utb2JqZWN0Lmh0bWwKQEAgLTIzLDggKzIzLDggQEAgdGVzdCgoKSA9PiB7
CiB9LCAiTXVzdCBoYXZlIHRoZSBjb3JyZWN0IHByb3BlcnR5IGRlc2NyaXB0b3IiKTsKIAogdGVz
dCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBOb2RlRmls
dGVyKCksICJjYWxsIik7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBu
ZXcgTm9kZUZpbHRlcigpLCAiY29uc3RydWN0Iik7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVy
cm9yLCAoKSA9PiBOb2RlRmlsdGVyKCksICJjYWxsIik7CisgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCAoKSA9PiBuZXcgTm9kZUZpbHRlcigpLCAiY29uc3RydWN0Iik7CiB9LCAiTXVzdCB0
aHJvdyBhIFR5cGVFcnJvciB3aGVuIGNhbGxlZCBvciBjb25zdHJ1Y3RlZCIpCiAKIHRlc3QoKCkg
PT4gewpAQCAtNTksMTAgKzU5LDEwIEBAIHRlc3QoKCkgPT4gewogCiAgIC8vIE9yZGluYXJ5SGFz
SW5zdGFuY2UgdGhyb3dzIGEgVHlwZUVycm9yIGlmIHRoZSByaWdodC1oYW5kLXNpZGUgZG9lc24n
dCBoYXZlIGEgLnByb3RvdHlwZSBvYmplY3QsCiAgIC8vIHdoaWNoIGlzIHRoZSBjYXNlIGZvciBj
YWxsYmFjayBpbnRlcmZhY2VzLgotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkg
PT4geworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewogICAgIChmdW5jdGlv
biAoKSB7IH0pIGluc3RhbmNlb2YgTm9kZUZpbHRlcjsKICAgfSk7Ci0gIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvcigpLCAoKSA9PiB7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAo
KSA9PiB7CiAgICAgKHsgfSkgaW5zdGFuY2VvZiBOb2RlRmlsdGVyOwogICB9KTsKIH0sICJpbnN0
YW5jZW9mIG11c3QgdGhyb3cgYnV0IG9ubHkgd2hlbiB3ZSBkb24ndCBiYWlsIG91dCBlYXJseSIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFz
Y3JpcHQtYmluZGluZy9sZWdhY3ktcGxhdGZvcm0tb2JqZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGE1MzI3ZTk3ZDA0OTEzNmRmODdmY2E0NDE0NmFhNWYxNThiMDJmYjQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5k
aW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE5MSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5M
ZWdhY3kgcGxhdGZvcm0gb2JqZWN0czwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLWxlZ2FjeS1wbGF0Zm9ybS1vYmplY3Rz
Ij4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci1mdW5jdGlvbiBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscyhvYmplY3QsIHByb3BlcnR5
X2tleSwgZXhwZWN0ZWQpIHsKLSAgbGV0IGFjdHVhbCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iob2JqZWN0LCBwcm9wZXJ0eV9rZXkpOwotICBpZiAoZXhwZWN0ZWQgPT09IHVuZGVm
aW5lZCkgewotICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIGFjdHVhbCwgdW5kZWZpbmVkLAot
ICAgICAgICAiKGFzc2VydF9wcm9wX2Rlc2NfZXF1YWxzOiBubyBwcm9wZXJ0eSBkZXNjcmlwdG9y
IGV4cGVjdGVkKSIpOwotICAgIHJldHVybjsKLSAgfQotICBmb3IgKHAgaW4gYWN0dWFsKSB7Ci0g
ICAgYXNzZXJ0X3RydWUoCi0gICAgICAgIGV4cGVjdGVkLmhhc093blByb3BlcnR5KHApLAotICAg
ICAgICAiKGFzc2VydF9wcm9wX2Rlc2NfZXF1YWxzOiBwcm9wZXJ0eSAnIiArIHAgKyAiJyBpcyBu
b3QgZXhwZWN0ZWQpIik7Ci0gICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgYWN0dWFsW3BdLCBl
eHBlY3RlZFtwXSwKLSAgICAgICAgIihhc3NlcnRfcHJvcF9kZXNjX2VxdWFsczogcHJvcGVydHkg
JyIgKyBwICsgIicpIik7Ci0gIH0KLSAgZm9yIChwIGluIGV4cGVjdGVkKSB7Ci0gICAgYXNzZXJ0
X3RydWUoCi0gICAgICAgIGFjdHVhbC5oYXNPd25Qcm9wZXJ0eShwKSwKLSAgICAgICAgIihhc3Nl
cnRfcHJvcF9kZXNjX2VxdWFsczogZXhwZWN0ZWQgcHJvcGVydHkgJyIgKyBwICsgIicgbWlzc2lu
ZykiKTsKLSAgfQotfQotCi0vLyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNsZWdh
Y3ktcGxhdGZvcm0tb2JqZWN0LWdldG93bnByb3BlcnR5Ci0vLyBodHRwczovL2hleWNhbS5naXRo
dWIuaW8vd2ViaWRsLyNMZWdhY3lQbGF0Zm9ybU9iamVjdEdldE93blByb3BlcnR5Ci0KLXRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gIC8vIERPTVRva2VuTGlzdCBoYXMgYW4gaW5kZXhlZCBwcm9wZXJ0eSBn
ZXR0ZXIsIG5vIGluZGV4ZWQgcHJvcGVydHkgc2V0dGVyCi0gIC8vIGFuZCBubyBuYW1lZCBwcm9w
ZXJ0eSBoYW5kbGVycy4KLSAgbGV0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwotICBkaXYuY2xhc3NMaXN0LmFkZCgiYmF6IiwgInF1dXgiKTsKLSAgY29uc3QgZG9tVG9rZW5M
aXN0ID0gZGl2LmNsYXNzTGlzdDsKLSAgYXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMoCi0gICAgICBk
b21Ub2tlbkxpc3QsICIxIiwKLSAgICAgIHt2YWx1ZTogInF1dXgiLCB3cml0YWJsZTogZmFsc2Us
IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZX0sCi0gICAgICAiW1tHZXRPd25Q
cm9wZXJ0eV1dIGZvciBpbmRleGVkIHByb3BlcnRpZXMgcmV0dXJucyB0aGUgcmlnaHQgZGVzY3Jp
cHRvciIpOwotICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscygKLSAgICAgIGRvbVRva2VuTGlzdCwg
IjQyIiwgdW5kZWZpbmVkLAotICAgICAgIltbR2V0T3duUHJvcGVydHldXSB3aXRoIGludmFsaWQg
aW5kZXggcmV0dXJucyB1bmRlZmluZWQiKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3Qu
a2V5cyhkb21Ub2tlbkxpc3QpLCBbIjAiLCAiMSJdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyhP
YmplY3QudmFsdWVzKGRvbVRva2VuTGlzdCksIFsiYmF6IiwgInF1dXgiXSk7Ci0KLSAgLy8gZ2V0
RWxlbWVudHNCeVRhZ05hbWUoKSByZXR1cm5zIGFuIEhUTUxDb2xsZWN0aW9uLgotICAvLyBIVE1M
Q29sbGVjdGlvbiBoYXMgaW5kZXhlZCBhbmQgbmFtZWQgcHJvcGVydHkgZ2V0dGVycywgbm8gc2V0
dGVycy4gSXRzIElETAotICAvLyBpbnRlcmZhY2UgZGVjbGFyYXRpb24gaGFzIFtMZWdhY3lVbmVu
dW1lcmFibGVOYW1lZFByb3BlcnRpZXNdIHNvIGl0cyBuYW1lZAotICAvLyBwcm9wZXJ0aWVzIGFy
ZSBub3QgZW51bWVyYWJsZS4KLSAgbGV0IHNwYW4xID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c3BhbiIpOwotICBzcGFuMS5pZCA9ICJmb28iOwotICBsZXQgc3BhbjIgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzcGFuIik7Ci0gIHNwYW4yLmlkID0gImJhciI7Ci0gIGRvY3VtZW50LmhlYWQu
YXBwZW5kQ2hpbGQoc3BhbjEpOwotICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNwYW4yKTsK
LSAgY29uc3QgZWxlbWVudExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3Bh
biIpOwotICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscygKLSAgICAgIGVsZW1lbnRMaXN0LCAiZm9v
IiwKLSAgICAgIHt2YWx1ZTogc3BhbjEsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogZmFs
c2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZX0sCi0gICAgICAiW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBu
YW1lZCBwcm9wZXJ0aWVzIHJldHVybnMgdGhlIHJpZ2h0IGRlc2NyaXB0b3IiKTsKLSAgYXNzZXJ0
X3Byb3BfZGVzY19lcXVhbHMoCi0gICAgICBlbGVtZW50TGlzdCwgIjEiLAotICAgICAge3ZhbHVl
OiBzcGFuMiwgd3JpdGFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6
IHRydWV9LAotICAgICAgIltbR2V0T3duUHJvcGVydHldXSBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVz
IHJldHVybnMgdGhlIHJpZ2h0IGRlc2NyaXB0b3IiKTsKLSAgYXNzZXJ0X3Byb3BfZGVzY19lcXVh
bHMoCi0gICAgICBlbGVtZW50TGlzdCwgInVua25vd24iLCB1bmRlZmluZWQsCi0gICAgICAiW1tH
ZXRPd25Qcm9wZXJ0eV1dIHdpdGggaW52YWxpZCBwcm9wZXJ0eSBuYW1lIHJldHVybnMgdW5kZWZp
bmVkIik7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMoZWxlbWVudExpc3QpLCBb
IjAiLCAiMSJdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QudmFsdWVzKGVsZW1lbnRM
aXN0KSwgW3NwYW4xLCBzcGFuMl0pOwotfSwgIltbR2V0T3duUHJvcGVydHldXSB3aXRoIGdldHRl
cnMgYW5kIG5vIHNldHRlcnMiKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgLy8gRE9NU3RyaW5n
TWFwIHN1cHBvcnRzIG5hbWVkIHByb3BlcnR5IGdldHRlcnMgYW5kIHNldHRlcnMsIGJ1dCBub3Qg
aW5kZXhlZAotICAvLyBwcm9wZXJ0aWVzLgotICBsZXQgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNwYW4iKTsKLSAgc3Bhbi5kYXRhc2V0LmZvbyA9ICJiYXIiOwotICBhc3NlcnRfcHJv
cF9kZXNjX2VxdWFscygKLSAgICAgIHNwYW4uZGF0YXNldCwgImZvbyIsCi0gICAgICB7dmFsdWU6
ICJiYXIiLCB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0
cnVlfSwKLSAgICAgICJbW0dldE93blByb3BlcnR5XV0gZm9yIG5hbWVkIHByb3BlcnRpZXMgcmV0
dXJucyB0aGUgcmlnaHQgZGVzY3JpcHRvciIpOwotICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscygK
LSAgICAgIHNwYW4uZGF0YXNldCwgInVua25vd24iLCB1bmRlZmluZWQsCi0gICAgICAiW1tHZXRP
d25Qcm9wZXJ0eV1dIHdpdGggaW52YWxpZCBwcm9wZXJ0eSBuYW1lIHJldHVybnMgdW5kZWZpbmVk
Iik7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMoc3Bhbi5kYXRhc2V0KSwgWyJm
b28iXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LnZhbHVlcyhzcGFuLmRhdGFzZXQp
LCBbImJhciJdKTsKLX0sICJbW0dldE93blByb3BlcnR5XV0gd2l0aCBuYW1lZCBwcm9wZXJ0eSBn
ZXR0ZXJzIGFuZCBzZXR0ZXJzIik7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gIC8vIEhUTUxTZWxl
Y3RFbGVtZW50IGhhcyBpbmRleGVkIHByb3BlcnR5IGdldHRlcnMgYW5kIHNldHRlcnMsIGJ1dCBu
byBzdXBwb3J0Ci0gIC8vIGZvciBuYW1lZCBwcm9wZXJ0aWVzLgotICBsZXQgc2VsZWN0RWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpOwotICBhc3NlcnRfcHJvcF9kZXNj
X2VxdWFscygKLSAgICAgIHNlbGVjdEVsZW1lbnQsICIwIiwgdW5kZWZpbmVkLAotICAgICAgIltb
R2V0T3duUHJvcGVydHldXSB3aXRoIGludmFsaWQgcHJvcGVydHkgaW5kZXggcmV0dXJucyB1bmRl
ZmluZWQiKTsKLSAgbGV0IG9wdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJv
cHRpb24iKTsKLSAgc2VsZWN0RWxlbWVudC5hcHBlbmRDaGlsZChvcHRpb25FbGVtZW50KTsKLSAg
YXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMoCi0gICAgICBzZWxlY3RFbGVtZW50LCAiMCIsCi0gICAg
ICB7dmFsdWU6IG9wdGlvbkVsZW1lbnQsIHdyaXRhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVl
LCBjb25maWd1cmFibGU6IHRydWV9LAotICAgICAgIltbR2V0T3duUHJvcGVydHldXSBmb3IgaW5k
ZXhlZCBwcm9wZXJ0aWVzIHJldHVybnMgdGhlIHJpZ2h0IGRlc2NyaXB0b3IiKTsKLSAgYXNzZXJ0
X2FycmF5X2VxdWFscyhPYmplY3Qua2V5cyhzZWxlY3RFbGVtZW50KSwgWyIwIl0pOwotICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKE9iamVjdC52YWx1ZXMoc2VsZWN0RWxlbWVudCksIFtvcHRpb25FbGVt
ZW50XSk7Ci19LCAiW1tHZXRPd25Qcm9wZXJ0eV1dIHdpdGggaW5kZXhlZCBwcm9wZXJ0eSBnZXR0
ZXJzIGFuZCBzZXR0ZXJzIik7Ci0KLS8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwv
I2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QtZGVmaW5lb3ducHJvcGVydHkKLS8vIDMuOS4zLiBbW0Rl
ZmluZU93blByb3BlcnR5XV0KLQotdGVzdChmdW5jdGlvbigpIHsKLSAgbGV0IHNwYW4gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gIHNwYW4uY2xhc3NOYW1lID0gImZvbyI7Ci0g
IC8vIERPTVRva2VuTGlzdCBzdXBwb3J0cyBhbiBpbmRleGVkIHByb3BlcnR5IGdldHRlciBidXQg
bm90IGEgc2V0dGVyLgotICBsZXQgZG9tVG9rZW5MaXN0ID0gc3Bhbi5jbGFzc0xpc3Q7Ci0gIC8v
IENvbmZpcm0gdGhlIHRlc3Qgc2V0dGluZ3MuCi0gIGFzc2VydF9lcXVhbHMoZG9tVG9rZW5MaXN0
Lmxlbmd0aCwgMSk7Ci0gIGFzc2VydF9wcm9wX2Rlc2NfZXF1YWxzKGRvbVRva2VuTGlzdCwgIjAi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6ICJmb28iLCB3cml0YWJsZTogZmFs
c2UsIGVudW1lcmFibGU6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1
cmFibGU6IHRydWV9KTsKLSAgYXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMoZG9tVG9rZW5MaXN0LCAi
MSIsIHVuZGVmaW5lZCk7Ci0gIC8vIEFjdHVhbCB0ZXN0Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCAoKSA9PgotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRvbVRva2VuTGlz
dCwgIjAiLCB7dmFsdWU6IHRydWUsIHdyaXRhYmxlOiB0cnVlfSkpOwotICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4KLSAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkb21U
b2tlbkxpc3QsICIxIiwge3ZhbHVlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZX0pKTsKLSAgYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+Ci0gICAgICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoZG9tVG9rZW5MaXN0LCAiMCIsIHtnZXQ6ICgpID0+IHt9fSkpOwotICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4KLSAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkb21U
b2tlbkxpc3QsICIwIiwge3NldDogKCkgPT4ge319KSk7Ci0gIGFzc2VydF90aHJvd3MobmV3IFR5
cGVFcnJvcigpLCAoKSA9PgotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRvbVRva2VuTGlz
dCwgIjEiLCB7Z2V0OiAoKSA9PiB7fX0pKTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
KCksICgpID0+Ci0gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZG9tVG9rZW5MaXN0LCAiMSIs
IHtzZXQ6ICgpID0+IHt9fSkpOwotICBhc3NlcnRfZXF1YWxzKGRvbVRva2VuTGlzdFswXSwgImZv
byIpOwotICBhc3NlcnRfZXF1YWxzKGRvbVRva2VuTGlzdFsxXSwgdW5kZWZpbmVkKTsKLSAgZG9t
VG9rZW5MaXN0WzBdID0gImJhciI7Ci0gIGRvbVRva2VuTGlzdFsxXSA9ICJiYXIiOwotICBhc3Nl
cnRfZXF1YWxzKGRvbVRva2VuTGlzdFswXSwgImZvbyIpOwotICBhc3NlcnRfZXF1YWxzKGRvbVRv
a2VuTGlzdFsxXSwgdW5kZWZpbmVkKTsKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCks
ICgpID0+IHsKLSAgICAidXNlIHN0cmljdCI7Ci0gICAgZG9tVG9rZW5MaXN0WzBdID0gImJhciI7
Ci0gIH0pOwotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gewotICAgICJ1
c2Ugc3RyaWN0IjsKLSAgICBkb21Ub2tlbkxpc3RbMV0gPSAiYmFyIjsKLSAgfSk7Ci0gIC8vIE5v
dGhpbmcgbXVzdCBjaGFuZ2UgYWZ0ZXIgYWxsLgotICBhc3NlcnRfZXF1YWxzKGRvbVRva2VuTGlz
dC5sZW5ndGgsIDEpOwotICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscyhkb21Ub2tlbkxpc3QsICIw
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiAiZm9vIiwgd3JpdGFibGU6IGZh
bHNlLCBlbnVtZXJhYmxlOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmln
dXJhYmxlOiB0cnVlfSk7Ci0gIGFzc2VydF9wcm9wX2Rlc2NfZXF1YWxzKGRvbVRva2VuTGlzdCwg
IjEiLCB1bmRlZmluZWQpOwotfSwgIlRlc3QgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHdpdGggbm8g
aW5kZXhlZCBwcm9wZXJ0eSBzZXR0ZXIgc3VwcG9ydC4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsK
LSAgLy8gSFRNTFNlbGVjdEVsZW1lbnQgc3VwcG9ydHMgYW4gaW5kZXhlZCBwcm9wZXJ0eSBzZXR0
ZXIuCi0gIGxldCBzZWxlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKTsKLSAg
bGV0IG9wdGlvbjAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKLSAgbGV0IG9w
dGlvbjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKLSAgLy8gQ29uZmlybSB0
aGUgdGVzdCBzZXR0aW5ncy4KLSAgYXNzZXJ0X2VxdWFscyhzZWxlY3QubGVuZ3RoLCAwKTsKLSAg
YXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMoc2VsZWN0LCAiMCIsIHVuZGVmaW5lZCk7Ci0gIC8vIFRy
eSB0byBkZWZpbmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBub24gc3VwcG9ydGVkIHByb3Bl
cnR5IGluZGV4LgotICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4KLSAgICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxlY3QsICIwIiwge2dldDogKCkgPT4ge319KSk7Ci0g
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PgotICAgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KHNlbGVjdCwgIjAiLCB7c2V0OiAoKSA9PiB7fX0pKTsKLSAgYXNzZXJ0X3Byb3Bf
ZGVzY19lcXVhbHMoc2VsZWN0LCAiMCIsIHVuZGVmaW5lZCk7Ci0gIC8vIHdyaXRhYmxlLCBlbnVt
ZXJhYmxlLCBjb25maWd1cmFibGUgd2lsbCBiZSBpZ25vcmVkLgotICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoc2VsZWN0LCAiMCIsIHt2YWx1ZTogb3B0aW9uMCwgd3JpdGFibGU6IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgY29u
ZmlndXJhYmxlOiBmYWxzZX0pOwotICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscyhzZWxlY3QsICIw
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBvcHRpb24wLCB3cml0YWJsZTog
dHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZp
Z3VyYWJsZTogdHJ1ZX0pOwotICBzZWxlY3RbMV0gPSBvcHRpb24xOwotICBhc3NlcnRfcHJvcF9k
ZXNjX2VxdWFscyhzZWxlY3QsICIxIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVl
OiBvcHRpb24xLCB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOwotICAvLyBUcnkgdG8gZGVmaW5l
IGFuIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggYSBzdXBwb3J0ZWQgcHJvcGVydHkgaW5kZXguCi0g
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PgotICAgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KHNlbGVjdCwgIjAiLCB7Z2V0OiAoKSA9PiB7fX0pKTsKLSAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yKCksICgpID0+Ci0gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2Vs
ZWN0LCAiMCIsIHtzZXQ6ICgpID0+IHt9fSkpOwotICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscyhz
ZWxlY3QsICIwIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiBvcHRpb24wLCB3
cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOwotfSwgIlRlc3QgW1tEZWZpbmVPd25Qcm9wZXJ0eV1d
IHdpdGggaW5kZXhlZCBwcm9wZXJ0eSBzZXR0ZXIgc3VwcG9ydC4iKTsKLTwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJ
REwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QvRGVmaW5lT3duUHJv
cGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3Qv
RGVmaW5lT3duUHJvcGVydHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjMjBiNDdjZTc5ZmVl
NjBiMGUxZGY4ZTFjY2E4MjU4MmM4MTdiNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRp
bmcvbGVnYWN5LXBsYXRmb3JtLW9iamVjdC9EZWZpbmVPd25Qcm9wZXJ0eS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw2IEBACisKK0ZBSUwgVGVzdCBbW0RlZmluZU93blByb3BlcnR5XV0gd2l0aCBu
byBpbmRleGVkIHByb3BlcnR5IHNldHRlciBzdXBwb3J0LiBhc3NlcnRfdGhyb3dzX2pzOiBmdW5j
dGlvbiAiKCkgPT4KKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkb21Ub2tlbkxpc3QsICIw
Iiwge3ZhbHVlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZX0pIiBkaWQgbm90IHRocm93CitGQUlMIFRl
c3QgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHdpdGggaW5kZXhlZCBwcm9wZXJ0eSBzZXR0ZXIgc3Vw
cG9ydC4gYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gIigpID0+CisgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoc2VsZWN0LCAiMCIsIHtnZXQ6ICgpID0+IHt9fSkiIGRpZCBub3QgdGhyb3cK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QvRGVmaW5l
T3duUHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9sZWdhY3ktcGxhdGZvcm0tb2JqZWN0L0Rl
ZmluZU93blByb3BlcnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRlMGJhYzY4MzI2OGI2ZjU3NzgxZGZm
OThjOGNiNDAwZGZmNDVkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9sZWdhY3kt
cGxhdGZvcm0tb2JqZWN0L0RlZmluZU93blByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSw4OSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+TGVnYWN5IHBs
YXRmb3JtIG9iamVjdHMgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIG1ldGhvZDwvdGl0bGU+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2xlZ2Fj
eS1wbGF0Zm9ybS1vYmplY3QtZGVmaW5lb3ducHJvcGVydHkiPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBzcGFuID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICBzcGFuLmNsYXNzTmFtZSA9ICJmb28i
OworICAvLyBET01Ub2tlbkxpc3Qgc3VwcG9ydHMgYW4gaW5kZXhlZCBwcm9wZXJ0eSBnZXR0ZXIg
YnV0IG5vdCBhIHNldHRlci4KKyAgbGV0IGRvbVRva2VuTGlzdCA9IHNwYW4uY2xhc3NMaXN0Owor
ICAvLyBDb25maXJtIHRoZSB0ZXN0IHNldHRpbmdzLgorICBhc3NlcnRfZXF1YWxzKGRvbVRva2Vu
TGlzdC5sZW5ndGgsIDEpOworICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscyhkb21Ub2tlbkxpc3Qs
ICIwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiAiZm9vIiwgd3JpdGFibGU6
IGZhbHNlLCBlbnVtZXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
ZmlndXJhYmxlOiB0cnVlfSk7CisgIGFzc2VydF9wcm9wX2Rlc2NfZXF1YWxzKGRvbVRva2VuTGlz
dCwgIjEiLCB1bmRlZmluZWQpOworICAvLyBBY3R1YWwgdGVzdAorICBhc3NlcnRfdGhyb3dzX2pz
KFR5cGVFcnJvciwgKCkgPT4KKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkb21Ub2tlbkxp
c3QsICIwIiwge3ZhbHVlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZX0pKTsKKyAgYXNzZXJ0X3Rocm93
c19qcyhUeXBlRXJyb3IsICgpID0+CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZG9tVG9r
ZW5MaXN0LCAiMSIsIHt2YWx1ZTogdHJ1ZSwgd3JpdGFibGU6IHRydWV9KSk7CisgIGFzc2VydF90
aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PgorICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRv
bVRva2VuTGlzdCwgIjAiLCB7Z2V0OiAoKSA9PiB7fX0pKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhU
eXBlRXJyb3IsICgpID0+CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZG9tVG9rZW5MaXN0
LCAiMCIsIHtzZXQ6ICgpID0+IHt9fSkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwg
KCkgPT4KKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkb21Ub2tlbkxpc3QsICIxIiwge2dl
dDogKCkgPT4ge319KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PgorICAg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRvbVRva2VuTGlzdCwgIjEiLCB7c2V0OiAoKSA9PiB7
fX0pKTsKKyAgYXNzZXJ0X2VxdWFscyhkb21Ub2tlbkxpc3RbMF0sICJmb28iKTsKKyAgYXNzZXJ0
X2VxdWFscyhkb21Ub2tlbkxpc3RbMV0sIHVuZGVmaW5lZCk7CisgIGRvbVRva2VuTGlzdFswXSA9
ICJiYXIiOworICBkb21Ub2tlbkxpc3RbMV0gPSAiYmFyIjsKKyAgYXNzZXJ0X2VxdWFscyhkb21U
b2tlbkxpc3RbMF0sICJmb28iKTsKKyAgYXNzZXJ0X2VxdWFscyhkb21Ub2tlbkxpc3RbMV0sIHVu
ZGVmaW5lZCk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7CisgICAgInVz
ZSBzdHJpY3QiOworICAgIGRvbVRva2VuTGlzdFswXSA9ICJiYXIiOworICB9KTsKKyAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICAidXNlIHN0cmljdCI7CisgICAgZG9t
VG9rZW5MaXN0WzFdID0gImJhciI7CisgIH0pOworICAvLyBOb3RoaW5nIG11c3QgY2hhbmdlIGFm
dGVyIGFsbC4KKyAgYXNzZXJ0X2VxdWFscyhkb21Ub2tlbkxpc3QubGVuZ3RoLCAxKTsKKyAgYXNz
ZXJ0X3Byb3BfZGVzY19lcXVhbHMoZG9tVG9rZW5MaXN0LCAiMCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHt2YWx1ZTogImZvbyIsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOworICBh
c3NlcnRfcHJvcF9kZXNjX2VxdWFscyhkb21Ub2tlbkxpc3QsICIxIiwgdW5kZWZpbmVkKTsKK30s
ICJUZXN0IFtbRGVmaW5lT3duUHJvcGVydHldXSB3aXRoIG5vIGluZGV4ZWQgcHJvcGVydHkgc2V0
dGVyIHN1cHBvcnQuIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIC8vIEhUTUxTZWxlY3RFbGVt
ZW50IHN1cHBvcnRzIGFuIGluZGV4ZWQgcHJvcGVydHkgc2V0dGVyLgorICBsZXQgc2VsZWN0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0Iik7CisgIGxldCBvcHRpb24wID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CisgIGxldCBvcHRpb24xID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgib3B0aW9uIik7CisgIC8vIENvbmZpcm0gdGhlIHRlc3Qgc2V0dGluZ3MuCisg
IGFzc2VydF9lcXVhbHMoc2VsZWN0Lmxlbmd0aCwgMCk7CisgIGFzc2VydF9wcm9wX2Rlc2NfZXF1
YWxzKHNlbGVjdCwgIjAiLCB1bmRlZmluZWQpOworICAvLyBUcnkgdG8gZGVmaW5lIGFuIGFjY2Vz
c29yIHByb3BlcnR5IHdpdGggbm9uIHN1cHBvcnRlZCBwcm9wZXJ0eSBpbmRleC4KKyAgYXNzZXJ0
X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHko
c2VsZWN0LCAiMCIsIHtnZXQ6ICgpID0+IHt9fSkpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVF
cnJvciwgKCkgPT4KKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxlY3QsICIwIiwge3Nl
dDogKCkgPT4ge319KSk7CisgIGFzc2VydF9wcm9wX2Rlc2NfZXF1YWxzKHNlbGVjdCwgIjAiLCB1
bmRlZmluZWQpOworICAvLyB3cml0YWJsZSwgZW51bWVyYWJsZSwgY29uZmlndXJhYmxlIHdpbGwg
YmUgaWdub3JlZC4KKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGVjdCwgIjAiLCB7dmFsdWU6
IG9wdGlvbjAsIHdyaXRhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFsc2V9KTsKKyAgYXNz
ZXJ0X3Byb3BfZGVzY19lcXVhbHMoc2VsZWN0LCAiMCIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIHt2YWx1ZTogb3B0aW9uMCwgd3JpdGFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWV9KTsKKyAgc2VsZWN0
WzFdID0gb3B0aW9uMTsKKyAgYXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMoc2VsZWN0LCAiMSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogb3B0aW9uMSwgd3JpdGFibGU6IHRydWUs
IGVudW1lcmFibGU6IHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFi
bGU6IHRydWV9KTsKKyAgLy8gVHJ5IHRvIGRlZmluZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRo
IGEgc3VwcG9ydGVkIHByb3BlcnR5IGluZGV4LgorICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJv
ciwgKCkgPT4KKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxlY3QsICIwIiwge2dldDog
KCkgPT4ge319KSk7CisgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PgorICAgICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGVjdCwgIjAiLCB7c2V0OiAoKSA9PiB7fX0pKTsKKyAg
YXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMoc2VsZWN0LCAiMCIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHt2YWx1ZTogb3B0aW9uMCwgd3JpdGFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWV9KTsKK30sICJU
ZXN0IFtbRGVmaW5lT3duUHJvcGVydHldXSB3aXRoIGluZGV4ZWQgcHJvcGVydHkgc2V0dGVyIHN1
cHBvcnQuIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9sZWdhY3ktcGxh
dGZvcm0tb2JqZWN0L0dldE93blByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9s
ZWdhY3ktcGxhdGZvcm0tb2JqZWN0L0dldE93blByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44YjZhMmI4Y2NiOTE5NTdmYzVjYjgzMWZhMmFmMTBmNjIzNDZiYzNmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJ
REwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QvR2V0T3duUHJvcGVy
dHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitQQVNTIFtbR2V0T3duUHJvcGVydHld
XSB3aXRoIGdldHRlcnMgYW5kIG5vIHNldHRlcnMgCitQQVNTIFtbR2V0T3duUHJvcGVydHldXSB3
aXRoIG5hbWVkIHByb3BlcnR5IGdldHRlcnMgYW5kIHNldHRlcnMgCitQQVNTIFtbR2V0T3duUHJv
cGVydHldXSB3aXRoIGluZGV4ZWQgcHJvcGVydHkgZ2V0dGVycyBhbmQgc2V0dGVycyAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJ
REwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QvR2V0T3duUHJvcGVy
dHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
SURML2VjbWFzY3JpcHQtYmluZGluZy9sZWdhY3ktcGxhdGZvcm0tb2JqZWN0L0dldE93blByb3Bl
cnR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI2Y2RmMjgwOTQ3MDNlNWQ5ZDNiN2UwNjJiZDgzNmRhYzM4
OWQwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9sZWdhY3ktcGxhdGZvcm0tb2Jq
ZWN0L0dldE93blByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+TGVnYWN5IHBsYXRmb3JtIG9iamVjdHMg
W1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3Qt
Z2V0b3ducHJvcGVydHkiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIC8vIERPTVRva2VuTGlzdCBoYXMgYW4gaW5kZXhlZCBw
cm9wZXJ0eSBnZXR0ZXIsIG5vIGluZGV4ZWQgcHJvcGVydHkgc2V0dGVyCisgIC8vIGFuZCBubyBu
YW1lZCBwcm9wZXJ0eSBoYW5kbGVycy4KKyAgbGV0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOworICBkaXYuY2xhc3NMaXN0LmFkZCgiYmF6IiwgInF1dXgiKTsKKyAgY29uc3Qg
ZG9tVG9rZW5MaXN0ID0gZGl2LmNsYXNzTGlzdDsKKyAgYXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMo
CisgICAgICBkb21Ub2tlbkxpc3QsICIxIiwKKyAgICAgIHt2YWx1ZTogInF1dXgiLCB3cml0YWJs
ZTogZmFsc2UsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZX0sCisgICAgICAi
W1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBpbmRleGVkIHByb3BlcnRpZXMgcmV0dXJucyB0aGUgcmln
aHQgZGVzY3JpcHRvciIpOworICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscygKKyAgICAgIGRvbVRv
a2VuTGlzdCwgIjQyIiwgdW5kZWZpbmVkLAorICAgICAgIltbR2V0T3duUHJvcGVydHldXSB3aXRo
IGludmFsaWQgaW5kZXggcmV0dXJucyB1bmRlZmluZWQiKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhPYmplY3Qua2V5cyhkb21Ub2tlbkxpc3QpLCBbIjAiLCAiMSJdKTsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyhPYmplY3QudmFsdWVzKGRvbVRva2VuTGlzdCksIFsiYmF6IiwgInF1dXgiXSk7CisK
KyAgLy8gZ2V0RWxlbWVudHNCeVRhZ05hbWUoKSByZXR1cm5zIGFuIEhUTUxDb2xsZWN0aW9uLgor
ICAvLyBIVE1MQ29sbGVjdGlvbiBoYXMgaW5kZXhlZCBhbmQgbmFtZWQgcHJvcGVydHkgZ2V0dGVy
cywgbm8gc2V0dGVycy4gSXRzIElETAorICAvLyBpbnRlcmZhY2UgZGVjbGFyYXRpb24gaGFzIFtM
ZWdhY3lVbmVudW1lcmFibGVOYW1lZFByb3BlcnRpZXNdIHNvIGl0cyBuYW1lZAorICAvLyBwcm9w
ZXJ0aWVzIGFyZSBub3QgZW51bWVyYWJsZS4KKyAgbGV0IHNwYW4xID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOworICBzcGFuMS5pZCA9ICJmb28iOworICBsZXQgc3BhbjIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgIHNwYW4yLmlkID0gImJhciI7CisgIGRvY3Vt
ZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3BhbjEpOworICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxk
KHNwYW4yKTsKKyAgY29uc3QgZWxlbWVudExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgic3BhbiIpOworICBhc3NlcnRfcHJvcF9kZXNjX2VxdWFscygKKyAgICAgIGVsZW1lbnRM
aXN0LCAiZm9vIiwKKyAgICAgIHt2YWx1ZTogc3BhbjEsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVy
YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZX0sCisgICAgICAiW1tHZXRPd25Qcm9wZXJ0
eV1dIGZvciBuYW1lZCBwcm9wZXJ0aWVzIHJldHVybnMgdGhlIHJpZ2h0IGRlc2NyaXB0b3IiKTsK
KyAgYXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMoCisgICAgICBlbGVtZW50TGlzdCwgIjEiLAorICAg
ICAge3ZhbHVlOiBzcGFuMiwgd3JpdGFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25m
aWd1cmFibGU6IHRydWV9LAorICAgICAgIltbR2V0T3duUHJvcGVydHldXSBmb3IgaW5kZXhlZCBw
cm9wZXJ0aWVzIHJldHVybnMgdGhlIHJpZ2h0IGRlc2NyaXB0b3IiKTsKKyAgYXNzZXJ0X3Byb3Bf
ZGVzY19lcXVhbHMoCisgICAgICBlbGVtZW50TGlzdCwgInVua25vd24iLCB1bmRlZmluZWQsCisg
ICAgICAiW1tHZXRPd25Qcm9wZXJ0eV1dIHdpdGggaW52YWxpZCBwcm9wZXJ0eSBuYW1lIHJldHVy
bnMgdW5kZWZpbmVkIik7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMoZWxlbWVu
dExpc3QpLCBbIjAiLCAiMSJdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QudmFsdWVz
KGVsZW1lbnRMaXN0KSwgW3NwYW4xLCBzcGFuMl0pOworfSwgIltbR2V0T3duUHJvcGVydHldXSB3
aXRoIGdldHRlcnMgYW5kIG5vIHNldHRlcnMiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgLy8g
RE9NU3RyaW5nTWFwIHN1cHBvcnRzIG5hbWVkIHByb3BlcnR5IGdldHRlcnMgYW5kIHNldHRlcnMs
IGJ1dCBub3QgaW5kZXhlZAorICAvLyBwcm9wZXJ0aWVzLgorICBsZXQgc3BhbiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgc3Bhbi5kYXRhc2V0LmZvbyA9ICJiYXIiOworICBh
c3NlcnRfcHJvcF9kZXNjX2VxdWFscygKKyAgICAgIHNwYW4uZGF0YXNldCwgImZvbyIsCisgICAg
ICB7dmFsdWU6ICJiYXIiLCB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmln
dXJhYmxlOiB0cnVlfSwKKyAgICAgICJbW0dldE93blByb3BlcnR5XV0gZm9yIG5hbWVkIHByb3Bl
cnRpZXMgcmV0dXJucyB0aGUgcmlnaHQgZGVzY3JpcHRvciIpOworICBhc3NlcnRfcHJvcF9kZXNj
X2VxdWFscygKKyAgICAgIHNwYW4uZGF0YXNldCwgInVua25vd24iLCB1bmRlZmluZWQsCisgICAg
ICAiW1tHZXRPd25Qcm9wZXJ0eV1dIHdpdGggaW52YWxpZCBwcm9wZXJ0eSBuYW1lIHJldHVybnMg
dW5kZWZpbmVkIik7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMoc3Bhbi5kYXRh
c2V0KSwgWyJmb28iXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LnZhbHVlcyhzcGFu
LmRhdGFzZXQpLCBbImJhciJdKTsKK30sICJbW0dldE93blByb3BlcnR5XV0gd2l0aCBuYW1lZCBw
cm9wZXJ0eSBnZXR0ZXJzIGFuZCBzZXR0ZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIC8v
IEhUTUxTZWxlY3RFbGVtZW50IGhhcyBpbmRleGVkIHByb3BlcnR5IGdldHRlcnMgYW5kIHNldHRl
cnMsIGJ1dCBubyBzdXBwb3J0CisgIC8vIGZvciBuYW1lZCBwcm9wZXJ0aWVzLgorICBsZXQgc2Vs
ZWN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpOworICBhc3NlcnRf
cHJvcF9kZXNjX2VxdWFscygKKyAgICAgIHNlbGVjdEVsZW1lbnQsICIwIiwgdW5kZWZpbmVkLAor
ICAgICAgIltbR2V0T3duUHJvcGVydHldXSB3aXRoIGludmFsaWQgcHJvcGVydHkgaW5kZXggcmV0
dXJucyB1bmRlZmluZWQiKTsKKyAgbGV0IG9wdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJvcHRpb24iKTsKKyAgc2VsZWN0RWxlbWVudC5hcHBlbmRDaGlsZChvcHRpb25FbGVt
ZW50KTsKKyAgYXNzZXJ0X3Byb3BfZGVzY19lcXVhbHMoCisgICAgICBzZWxlY3RFbGVtZW50LCAi
MCIsCisgICAgICB7dmFsdWU6IG9wdGlvbkVsZW1lbnQsIHdyaXRhYmxlOiB0cnVlLCBlbnVtZXJh
YmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWV9LAorICAgICAgIltbR2V0T3duUHJvcGVydHld
XSBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIHJldHVybnMgdGhlIHJpZ2h0IGRlc2NyaXB0b3IiKTsK
KyAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3Qua2V5cyhzZWxlY3RFbGVtZW50KSwgWyIwIl0p
OworICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC52YWx1ZXMoc2VsZWN0RWxlbWVudCksIFtv
cHRpb25FbGVtZW50XSk7Cit9LCAiW1tHZXRPd25Qcm9wZXJ0eV1dIHdpdGggaW5kZXhlZCBwcm9w
ZXJ0eSBnZXR0ZXJzIGFuZCBzZXR0ZXJzIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQt
YmluZGluZy9sZWdhY3ktcGxhdGZvcm0tb2JqZWN0L093blByb3BlcnR5S2V5cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9l
Y21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5LXBsYXRmb3JtLW9iamVjdC9Pd25Qcm9wZXJ0eUtleXMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZDExMWYwN2IxNzM1YTIzZjcwOWNjNWUwMzVlODRk
NDA1NGUzN2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5LXBsYXRmb3Jt
LW9iamVjdC9Pd25Qcm9wZXJ0eUtleXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitQ
QVNTIG11c3QgZW51bWVyYXRlIHByb3BlcnR5IGluZGljZXMgaW4gYXNjZW5kaW5nIG51bWVyaWNh
bCBvcmRlciAKK1BBU1MgbXVzdCBlbnVtZXJhdGUgcHJvcGVydHkgbmFtZXMgaW4gbGlzdCBvcmRl
ciAKK1BBU1MgbXVzdCBmaXJzdCBlbnVtZXJhdGUgcHJvcGVydHkgaW5kaWNlcyBpbiBhc2NlbmRp
bmcgbnVtZXJpY2FsIG9yZGVyLCB0aGVuIG5hbWVkIHByb3BlcnRpZXMgaW4gbGlzdCBvcmRlciAK
K1BBU1MgbXVzdCBlbnVtZXJhdGUgb3duIHByb3BlcnRpZXMgYWZ0ZXIgaW5kZXhlZCBhbmQgbmFt
ZWQgcHJvcGVydGllcyBldmVuIHdoZW4gdGhleSdyZSBhZGRlZCBmaXJzdCAKK1BBU1MgbXVzdCBl
bnVtZXJhdGUgc3ltYm9scyBhZnRlciBzdHJpbmdzLCByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZXMg
Z290IGFkZGVkIGZpcnN0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5LXBsYXRm
b3JtLW9iamVjdC9Pd25Qcm9wZXJ0eUtleXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9sZWdhY3ktcGxh
dGZvcm0tb2JqZWN0L093blByb3BlcnR5S2V5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOWM2MTAyY2Qz
MDJhOGE0MGJiMWQ5YmNkZjg5OTkxMTdkNGYzZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJp
bmRpbmcvbGVnYWN5LXBsYXRmb3JtLW9iamVjdC9Pd25Qcm9wZXJ0eUtleXMuaHRtbApAQCAtMCww
ICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5MZWdhY3kgcGxhdGZvcm0gb2JqZWN0cyBbW093blByb3BlcnR5S2V5c11dIG1ldGhvZDwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJp
ZGwvI2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3Qtb3ducHJvcGVydHlrZXlzIj4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgZnVu
Y3Rpb24gY3VzdG9tX2Fzc2VydF9hcnJheV9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgbXNnKSB7
CisgICAgICAgIGZ1bmN0aW9uIHJlcGxhY2VyKGssIHYpIHsKKyAgICAgICAgICBpZiAodHlwZW9m
IHYgPT09ICJzeW1ib2wiKSB7CisgICAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygpOworICAg
ICAgICAgIH0KKyAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQorICAgICAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQsICIgYWN0dWFsICIgKyBKU09OLnN0cmluZ2lm
eShhY3R1YWwsIHJlcGxhY2VyKSArICIgZXhwZWN0ZWQgIiArIEpTT04uc3RyaW5naWZ5KGV4cGVj
dGVkLCByZXBsYWNlcikpOworICAgIH0KKworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGVs
ZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgICAg
ICBlbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKKyAg
ICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7
CisgICAgICAgIGN1c3RvbV9hc3NlcnRfYXJyYXlfZXF1YWxzKFJlZmxlY3Qub3duS2V5cyhlbGVt
ZW50LmNoaWxkTm9kZXMpLCBbIjAiLCAiMSIsICIyIl0pOworICAgIH0sICJtdXN0IGVudW1lcmF0
ZSBwcm9wZXJ0eSBpbmRpY2VzIGluIGFzY2VuZGluZyBudW1lcmljYWwgb3JkZXIiKTsKKworICAg
IHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CisgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJkYXRhLWZvbyIs
ICJmb28gY29udGVudCIpOworICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgiZGF0YS1iYXIi
LCAiYmFyIGNvbnRlbnQiKTsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtYmF6
IiwgImJheiBjb250ZW50Iik7CisgICAgICAgIGN1c3RvbV9hc3NlcnRfYXJyYXlfZXF1YWxzKFJl
ZmxlY3Qub3duS2V5cyhlbGVtZW50LmRhdGFzZXQpLCBbImZvbyIsICJiYXIiLCAiYmF6Il0pOwor
ICAgIH0sICJtdXN0IGVudW1lcmF0ZSBwcm9wZXJ0eSBuYW1lcyBpbiBsaXN0IG9yZGVyIik7CisK
KworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJpZCIs
ICJmb28iKTsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgImJhciIpOwor
ICAgICAgICBjdXN0b21fYXNzZXJ0X2FycmF5X2VxdWFscyhSZWZsZWN0Lm93bktleXMoZWxlbWVu
dC5hdHRyaWJ1dGVzKSwgWyIwIiwgIjEiLCAiaWQiLCAiY2xhc3MiXSk7CisgICAgfSwgIm11c3Qg
Zmlyc3QgZW51bWVyYXRlIHByb3BlcnR5IGluZGljZXMgaW4gYXNjZW5kaW5nIG51bWVyaWNhbCBv
cmRlciwgdGhlbiBuYW1lZCBwcm9wZXJ0aWVzIGluIGxpc3Qgb3JkZXIiKTsKKworCisgICAgdGVz
dChmdW5jdGlvbigpIHsKKyAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKKyAgICAgICAgZWxlbWVudC5hdHRyaWJ1dGVzLmZvbyA9ICJzb21lIHZhbHVl
IjsKKyAgICAgICAgZWxlbWVudC5hdHRyaWJ1dGVzLmJhciA9ICJhbmQgYW5vdGhlciI7CisgICAg
ICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJpZCIsICJmb28iKTsKKyAgICAgICAgZWxlbWVudC5z
ZXRBdHRyaWJ1dGUoImNsYXNzIiwgImJhciIpOworICAgICAgICBjdXN0b21fYXNzZXJ0X2FycmF5
X2VxdWFscyhSZWZsZWN0Lm93bktleXMoZWxlbWVudC5hdHRyaWJ1dGVzKSwgWyIwIiwgIjEiLCAi
aWQiLCAiY2xhc3MiLCAiZm9vIiwgImJhciJdKTsKKyAgICB9LCAibXVzdCBlbnVtZXJhdGUgb3du
IHByb3BlcnRpZXMgYWZ0ZXIgaW5kZXhlZCBhbmQgbmFtZWQgcHJvcGVydGllcyBldmVuIHdoZW4g
dGhleSdyZSBhZGRlZCBmaXJzdCIpOworCisgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAg
dmFyIHN5bWIxID0gU3ltYm9sKCk7CisgICAgICAgIHZhciBzeW1iMiA9IFN5bWJvbCgpOworICAg
ICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAg
ICBlbGVtZW50LmF0dHJpYnV0ZXMuZm9vID0gInNvbWUgdmFsdWUiOworICAgICAgICBlbGVtZW50
LmF0dHJpYnV0ZXNbc3ltYjFdID0gInN5bWIxIjsKKyAgICAgICAgZWxlbWVudC5hdHRyaWJ1dGVz
W3N5bWIyXSA9ICJzeW1iMiI7CisgICAgICAgIGVsZW1lbnQuYXR0cmlidXRlcy5iYXIgPSAiYW5k
IGFub3RoZXIiOworICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgiaWQiLCAiZm9vIik7Cisg
ICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsICJiYXIiKTsKKyAgICAgICAgY3Vz
dG9tX2Fzc2VydF9hcnJheV9lcXVhbHMoUmVmbGVjdC5vd25LZXlzKGVsZW1lbnQuYXR0cmlidXRl
cyksCisgICAgICAgICAgICBbIjAiLCAiMSIsICJpZCIsICJjbGFzcyIsICJmb28iLCAiYmFyIiwg
c3ltYjEsIHN5bWIyXSk7CisgICAgfSwgIm11c3QgZW51bWVyYXRlIHN5bWJvbHMgYWZ0ZXIgc3Ry
aW5ncywgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmVzIGdvdCBhZGRlZCBmaXJzdCIpOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5LXBsYXRmb3JtLW9iamVjdC9TZXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QvU2V0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGVhNzlmOGM1MjdlMGY1MjJlNjY2MWIyMGMwZDc3NDI1
MDNlN2M1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1v
YmplY3QvU2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACisKK0ZBSUwgbXVzdCBub3Qg
c2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSB3aGVuIGFzc2lnbmluZyB0byBhIG51bWVyaWMgcHJvcGVy
dHkgb24gYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgYW4gaW5kZXhlZCBwcm9wZXJ0eSBnZXR0
ZXIgYnV0IG5vdCBhIHNldHRlciB3aGVuIG5vdCBpbiBzdHJpY3QgbW9kZSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiZm9vIgor
RkFJTCBtdXN0IHRocm93IHdoZW4gYXNzaWduaW5nIHRvIGEgbnVtZXJpYyBwcm9wZXJ0eSBvbiBh
biBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBhIGluZGV4ZWQgcHJvcGVydHkgZ2V0dGVyIGJ1dCBu
b3QgYSBzZXR0ZXIgaW4gc3RyaWN0IG1vZGUgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsgZWxlbWVudC5jaGlsZE5vZGVzWyI1Il0gPSAiZm9vIjsgfSIgZGlkIG5vdCB0
aHJvdworUEFTUyBtdXN0IGFsbG93IGFzc2lnbmluZyB0byBhIG5hbWVkIHByb3BlcnR5IG9uIGFu
IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGEgbmFtZWQgcHJvcGVydHkgZ2V0dGVyIGJ1dCBub3Qg
YSBzZXR0ZXIgd2hlbiBub3QgaW4gc3RyaWN0IG1vZGUgCitQQVNTIG11c3QgYWxsb3cgYXNzaWdu
aW5nIHRvIGEgbmFtZWQgcHJvcGVydHkgb24gYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgYSBu
YW1lZCBwcm9wZXJ0eSBnZXR0ZXIgYnV0IG5vdCBhIHNldHRlciBpbiBzdHJpY3QgbW9kZSAKK1BB
U1MgbXVzdCBhbGxvdyBhc3NpZ25pbmcgdG8gYSBzeW1ib2wgcHJvcGVydHkgb24gYW4gb2JqZWN0
IHdoaWNoIGltcGxlbWVudHMgYW4gaW5kZXhlZCBwcm9wZXJ0eSBnZXR0ZXIgYnV0IG5vdCBhIHNl
dHRlciB3aGVuIG5vdCBpbiBzdHJpY3QgbW9kZSAKK1BBU1MgbXVzdCBhbGxvdyBhc3NpZ25pbmcg
dG8gYSBzeW1ib2wgcHJvcGVydHkgb24gYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgYW4gaW5k
ZXhlZCBwcm9wZXJ0eSBnZXR0ZXIgYnV0IG5vdCBhIHNldHRlciBpbiBzdHJpY3QgbW9kZSAKK1BB
U1MgbXVzdCBhbGxvdyBhc3NpZ25pbmcgdG8gYSBzeW1ib2wgcHJvcGVydHkgb24gYW4gb2JqZWN0
IHdoaWNoIGltcGxlbWVudHMgaW5kZXhlZCBhbmQgbmFtZWQgcHJvcGVydHkgZ2V0dGVycyBidXQg
bm8gc2V0dGVycyB3aGVuIG5vdCBpbiBzdHJpY3QgbW9kZSAKK1BBU1MgbXVzdCBhbGxvdyBhc3Np
Z25pbmcgdG8gYSBzeW1ib2wgcHJvcGVydHkgb24gYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMg
aW5kZXhlZCBhbmQgbmFtZWQgcHJvcGVydHkgZ2V0dGVycyBidXQgbm8gc2V0dGVycyBpbiBzdHJp
Y3QgbW9kZSAKK1BBU1MgbXVzdCBhbGxvdyBhc3NpZ25pbmcgdG8gYSBzeW1ib2wgcHJvcGVydHkg
b24gYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaW5kZXhlZCBhbmQgbmFtZWQgcHJvcGVydHkg
Z2V0dGVycyBhbmQgc2V0dGVycyB3aGVuIG5vdCBpbiBzdHJpY3QgbW9kZSAKK1BBU1MgbXVzdCBh
bGxvdyBhc3NpZ25pbmcgdG8gYSBzeW1ib2wgcHJvcGVydHkgb24gYW4gb2JqZWN0IHdoaWNoIGlt
cGxlbWVudHMgaW5kZXhlZCBhbmQgbmFtZWQgcHJvcGVydHkgZ2V0dGVycyBhbmQgc2V0dGVycyBp
biBzdHJpY3QgbW9kZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9y
bS1vYmplY3QvU2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5LXBsYXRmb3JtLW9iamVjdC9T
ZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MDZmYzk1YzBjMGFiOWJmODQ2MWM4NGNiOWRmMzIxYmQ4OTE5
ZGE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmpl
Y3QvU2V0Lmh0bWwKQEAgLTAsMCArMSw3OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+TGVnYWN5IHBsYXRmb3JtIG9iamVjdHMgW1tTZXRdXSBtZXRo
b2Q8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2hleWNhbS5naXRodWIu
aW8vd2ViaWRsLyNsZWdhY3ktcGxhdGZvcm0tb2JqZWN0LXNldCI+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHRlc3QoZnVu
Y3Rpb24oKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2IikpOworICAgICAgICBlbGVtZW50LmNoaWxkTm9kZXNbIjUiXSA9ICJmb28iOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVsZW1lbnQuY2hpbGROb2Rlc1siNSJdLCB1bmRlZmluZWQpOwor
ICAgIH0sICJtdXN0IG5vdCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIHdoZW4gYXNzaWduaW5nIHRv
IGEgbnVtZXJpYyBwcm9wZXJ0eSBvbiBhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBhbiBpbmRl
eGVkIHByb3BlcnR5IGdldHRlciBidXQgbm90IGEgc2V0dGVyIHdoZW4gbm90IGluIHN0cmljdCBt
b2RlIik7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAidXNlIHN0cmljdCI7Cisg
ICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAg
ICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwor
ICAgICAgICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IGVsZW1lbnQu
Y2hpbGROb2Rlc1siNSJdID0gImZvbyI7IH0pOworICAgIH0sICJtdXN0IHRocm93IHdoZW4gYXNz
aWduaW5nIHRvIGEgbnVtZXJpYyBwcm9wZXJ0eSBvbiBhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50
cyBhIGluZGV4ZWQgcHJvcGVydHkgZ2V0dGVyIGJ1dCBub3QgYSBzZXR0ZXIgaW4gc3RyaWN0IG1v
ZGUiKTsKKworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGVsZW1lbnQuYXR0cmlidXRlcy5m
b28gPSAiZm9vIjsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbGVtZW50LmF0dHJpYnV0ZXMuZm9v
LCAiZm9vIik7CisgICAgfSwgIm11c3QgYWxsb3cgYXNzaWduaW5nIHRvIGEgbmFtZWQgcHJvcGVy
dHkgb24gYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgYSBuYW1lZCBwcm9wZXJ0eSBnZXR0ZXIg
YnV0IG5vdCBhIHNldHRlciB3aGVuIG5vdCBpbiBzdHJpY3QgbW9kZSIpOworCisgICAgdGVzdChm
dW5jdGlvbigpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICB2YXIgZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBlbGVtZW50LmF0dHJpYnV0
ZXMuZm9vID0gImZvbyI7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZWxlbWVudC5hdHRyaWJ1dGVz
LmZvbywgImZvbyIpOworICAgIH0sICJtdXN0IGFsbG93IGFzc2lnbmluZyB0byBhIG5hbWVkIHBy
b3BlcnR5IG9uIGFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGEgbmFtZWQgcHJvcGVydHkgZ2V0
dGVyIGJ1dCBub3QgYSBzZXR0ZXIgaW4gc3RyaWN0IG1vZGUiKTsKKworICAgIHZhciBzeW1ib2wg
PSBTeW1ib2woKTsKKworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBlbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGVsZW1lbnQuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgICAgICBlbGVtZW50LmNo
aWxkTm9kZXNbc3ltYm9sXSA9ICJmb28iOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVsZW1lbnQu
Y2hpbGROb2Rlc1tzeW1ib2xdLCAiZm9vIik7CisgICAgfSwgIm11c3QgYWxsb3cgYXNzaWduaW5n
IHRvIGEgc3ltYm9sIHByb3BlcnR5IG9uIGFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGFuIGlu
ZGV4ZWQgcHJvcGVydHkgZ2V0dGVyIGJ1dCBub3QgYSBzZXR0ZXIgd2hlbiBub3QgaW4gc3RyaWN0
IG1vZGUiKTsKKworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsK
KyAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAg
ICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7
CisgICAgICAgIGVsZW1lbnQuY2hpbGROb2Rlc1tzeW1ib2xdID0gImZvbyI7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZWxlbWVudC5jaGlsZE5vZGVzW3N5bWJvbF0sICJmb28iKTsKKyAgICB9LCAi
bXVzdCBhbGxvdyBhc3NpZ25pbmcgdG8gYSBzeW1ib2wgcHJvcGVydHkgb24gYW4gb2JqZWN0IHdo
aWNoIGltcGxlbWVudHMgYW4gaW5kZXhlZCBwcm9wZXJ0eSBnZXR0ZXIgYnV0IG5vdCBhIHNldHRl
ciBpbiBzdHJpY3QgbW9kZSIpOworCisgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgdmFy
IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgZWxlbWVu
dC5hdHRyaWJ1dGVzW3N5bWJvbF0gPSAiZm9vIjsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbGVt
ZW50LmF0dHJpYnV0ZXNbc3ltYm9sXSwgImZvbyIpOworICAgIH0sICJtdXN0IGFsbG93IGFzc2ln
bmluZyB0byBhIHN5bWJvbCBwcm9wZXJ0eSBvbiBhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBp
bmRleGVkIGFuZCBuYW1lZCBwcm9wZXJ0eSBnZXR0ZXJzIGJ1dCBubyBzZXR0ZXJzIHdoZW4gbm90
IGluIHN0cmljdCBtb2RlIik7CisKKyAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAidXNl
IHN0cmljdCI7CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgICAgIGVsZW1lbnQuYXR0cmlidXRlc1tzeW1ib2xdID0gImZvbyI7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZWxlbWVudC5hdHRyaWJ1dGVzW3N5bWJvbF0sICJmb28iKTsKKyAg
ICB9LCAibXVzdCBhbGxvdyBhc3NpZ25pbmcgdG8gYSBzeW1ib2wgcHJvcGVydHkgb24gYW4gb2Jq
ZWN0IHdoaWNoIGltcGxlbWVudHMgaW5kZXhlZCBhbmQgbmFtZWQgcHJvcGVydHkgZ2V0dGVycyBi
dXQgbm8gc2V0dGVycyBpbiBzdHJpY3QgbW9kZSIpOworCisgICAgdGVzdChmdW5jdGlvbigpIHsK
KyAgICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsKKyAgICAgICAgdGhpcy5hZGRfY2xlYW51
cChmdW5jdGlvbigpIHsgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsgfSk7CisgICAgICAgIHNlc3Np
b25TdG9yYWdlW3N5bWJvbF0gPSAiZm9vIjsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXNzaW9u
U3RvcmFnZVtzeW1ib2xdLCAiZm9vIik7CisgICAgfSwgIm11c3QgYWxsb3cgYXNzaWduaW5nIHRv
IGEgc3ltYm9sIHByb3BlcnR5IG9uIGFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGluZGV4ZWQg
YW5kIG5hbWVkIHByb3BlcnR5IGdldHRlcnMgYW5kIHNldHRlcnMgd2hlbiBub3QgaW4gc3RyaWN0
IG1vZGUiKTsKKworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsK
KyAgICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsKKyAgICAgICAgdGhpcy5hZGRfY2xlYW51
cChmdW5jdGlvbigpIHsgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsgfSk7CisgICAgICAgIHNlc3Np
b25TdG9yYWdlW3N5bWJvbF0gPSAiZm9vIjsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXNzaW9u
U3RvcmFnZVtzeW1ib2xdLCAiZm9vIik7CisgICAgfSwgIm11c3QgYWxsb3cgYXNzaWduaW5nIHRv
IGEgc3ltYm9sIHByb3BlcnR5IG9uIGFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGluZGV4ZWQg
YW5kIG5hbWVkIHByb3BlcnR5IGdldHRlcnMgYW5kIHNldHRlcnMgaW4gc3RyaWN0IG1vZGUiKTsK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmpl
Y3QvaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3QvaGVscGVy
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjAxYzFkMDA2OTRlYjliZWIwMmIwYzlkMWQ5YzZhZTFhMmNjNjg5YzUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5LXBsYXRmb3JtLW9iamVjdC9o
ZWxwZXIuanMKQEAgLTAsMCArMSwyMiBAQAorZnVuY3Rpb24gYXNzZXJ0X3Byb3BfZGVzY19lcXVh
bHMob2JqZWN0LCBwcm9wZXJ0eV9rZXksIGV4cGVjdGVkKSB7CisgIGxldCBhY3R1YWwgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgcHJvcGVydHlfa2V5KTsKKyAgaWYg
KGV4cGVjdGVkID09PSB1bmRlZmluZWQpIHsKKyAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICBh
Y3R1YWwsIHVuZGVmaW5lZCwKKyAgICAgICAgIihhc3NlcnRfcHJvcF9kZXNjX2VxdWFsczogbm8g
cHJvcGVydHkgZGVzY3JpcHRvciBleHBlY3RlZCkiKTsKKyAgICByZXR1cm47CisgIH0KKyAgZm9y
IChwIGluIGFjdHVhbCkgeworICAgIGFzc2VydF90cnVlKAorICAgICAgICBleHBlY3RlZC5oYXNP
d25Qcm9wZXJ0eShwKSwKKyAgICAgICAgIihhc3NlcnRfcHJvcF9kZXNjX2VxdWFsczogcHJvcGVy
dHkgJyIgKyBwICsgIicgaXMgbm90IGV4cGVjdGVkKSIpOworICAgIGFzc2VydF9lcXVhbHMoCisg
ICAgICAgIGFjdHVhbFtwXSwgZXhwZWN0ZWRbcF0sCisgICAgICAgICIoYXNzZXJ0X3Byb3BfZGVz
Y19lcXVhbHM6IHByb3BlcnR5ICciICsgcCArICInKSIpOworICB9CisgIGZvciAocCBpbiBleHBl
Y3RlZCkgeworICAgIGFzc2VydF90cnVlKAorICAgICAgICBhY3R1YWwuaGFzT3duUHJvcGVydHko
cCksCisgICAgICAgICIoYXNzZXJ0X3Byb3BfZGVzY19lcXVhbHM6IGV4cGVjdGVkIHByb3BlcnR5
ICciICsgcCArICInIG1pc3NpbmcpIik7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGlu
Zy9sZWdhY3ktcGxhdGZvcm0tb2JqZWN0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xl
Z2FjeS1wbGF0Zm9ybS1vYmplY3QvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRmZDg0ZTYw
NGExN2UyMzkwNDNiZGE0N2UzMmM2Yjc0OWU5Y2U2NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQt
YmluZGluZy9sZWdhY3ktcGxhdGZvcm0tb2JqZWN0L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEs
MjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9sZWdhY3ktcGxhdGZvcm0tb2JqZWN0L0RlZmlu
ZU93blByb3BlcnR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5LXBsYXRmb3JtLW9iamVjdC9H
ZXRPd25Qcm9wZXJ0eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xlZ2FjeS1wbGF0Zm9ybS1vYmplY3Qv
T3duUHJvcGVydHlLZXlzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5LXBsYXRmb3JtLW9iamVj
dC9TZXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
V2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9sZWdhY3ktcGxhdGZvcm0tb2JqZWN0L2hlbHBlci5q
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL3B1dC1mb3J3YXJkcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2Ny
aXB0LWJpbmRpbmcvcHV0LWZvcndhcmRzLWV4cGVjdGVkLnR4dAppbmRleCA1ODYzOWY0OTIwNWY2
ODAyNGY1MTE3MGQ5MWZiYTQzNmQ0ZTlmNzg3Li40ODJjMWU4N2IzNTI4NzkwNjIyNzQ2ZWE4ZjYz
MzcxNzg1MDc2YzRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvcHV0LWZvcndhcmRzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvcHV0LWZvcndhcmRzLWV4cGVjdGVkLnR4dApAQCAt
NSw0ICs1LDkgQEAgUEFTUyBPdmVycmlkaW5nIHRhcmdldCBvZiBbUHV0Rm9yd2FyZHNdIGF0dHJp
YnV0ZQogUEFTUyBFeGNlcHRpb24gcHJvcGFnYXRpb24gZnJvbSBnZXR0ZXIgb2YgW1B1dEZvcndh
cmRzXSBhdHRyaWJ1dGUgCiBQQVNTIEV4Y2VwdGlvbiBwcm9wYWdhdGlvbiBmcm9tIHNldHRlciBv
ZiBbUHV0Rm9yd2FyZHNdIHRhcmdldCBhdHRyaWJ1dGUgCiBQQVNTIFR5cGVFcnJvciB3aGVuIGdl
dHRlciBvZiBbUHV0Rm9yd2FyZHNdIGF0dHJpYnV0ZSByZXR1cm5zIG5vbi1vYmplY3QgCitQQVNT
IERvZXMgbm90IHRocm93IHdoZW4gc2V0dGVyIG9mIFtQdXRGb3J3YXJkc10gYXR0cmlidXRlIHJl
dHVybnMgZmFsc2UgCitQQVNTIFNldHRpbmcgYS5yZWxMaXN0IHRvIG5vcmVmZXJyZXIgaXMgcmVm
bGVjdGVkIGluIHJlbCAKK1BBU1MgU2V0dGluZyBhcmVhLnJlbExpc3QgdG8gbm9yZWZlcnJlciBp
cyByZWZsZWN0ZWQgaW4gcmVsIAorRkFJTCBTZXR0aW5nIGZvcm0ucmVsTGlzdCB0byBub3JlZmVy
cmVyIGlzIHJlZmxlY3RlZCBpbiByZWwgYXNzZXJ0X3RydWU6IFRoZSBhdHRyaWJ1dGUgaXMgYSBE
T01Ub2tlbkxpc3QgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgU2V0dGluZyBsaW5rLnJl
bExpc3QgdG8gc3R5bGVzaGVldCBpcyByZWZsZWN0ZWQgaW4gcmVsIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2Ny
aXB0LWJpbmRpbmcvcHV0LWZvcndhcmRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvcHV0LWZvcndhcmRz
Lmh0bWwKaW5kZXggYjAwNGJkMDA4ZDhjZTY3OTAwOWU3ZWQzMzk3NzVmYzI1M2ZkZDZmYS4uNmEx
MzU4Nzg5OWIzYWRhMWZjZDY2MWVjY2Y0OWU0OWYwNGRlYjU0YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1i
aW5kaW5nL3B1dC1mb3J3YXJkcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9wdXQtZm9yd2FyZHMu
aHRtbApAQCAtNzcsNyArNzcsNyBAQCB0ZXN0KCgpID0+IHsKICAgICBzZXQ6IGRlc2NyaXB0b3Iu
c2V0CiAgIH0pOwogCi0gIGFzc2VydF90aHJvd3MobmV3IFN5bnRheEVycm9yKCksICgpID0+IHsK
KyAgYXNzZXJ0X3Rocm93c19qcyhTeW50YXhFcnJvciwgKCkgPT4gewogICAgIGVsZW1lbnQuc3R5
bGUgPSAiY29sb3I6IGdyZWVuIjsKICAgfSk7CiB9LCAiRXhjZXB0aW9uIHByb3BhZ2F0aW9uIGZy
b20gZ2V0dGVyIG9mIFtQdXRGb3J3YXJkc10gYXR0cmlidXRlIik7CkBAIC05NCw3ICs5NCw3IEBA
IHRlc3QoKCkgPT4gewogICAgIH0KICAgfSk7CiAKLSAgYXNzZXJ0X3Rocm93cyhuZXcgU3ludGF4
RXJyb3IoKSwgKCkgPT4geworICBhc3NlcnRfdGhyb3dzX2pzKFN5bnRheEVycm9yLCAoKSA9PiB7
CiAgICAgZWxlbWVudC5zdHlsZSA9ICJjb2xvcjogZ3JlZW4iOwogICB9KTsKIH0sICJFeGNlcHRp
b24gcHJvcGFnYXRpb24gZnJvbSBzZXR0ZXIgb2YgW1B1dEZvcndhcmRzXSB0YXJnZXQgYXR0cmli
dXRlIik7CkBAIC0xMTAsOCArMTEwLDM5IEBAIHRlc3QoKCkgPT4gewogICAgIHNldDogZGVzY3Jp
cHRvci5zZXQKICAgfSk7CiAKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+
IHsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKICAgICBlbGVtZW50LnN0
eWxlID0gImNvbG9yOiBncmVlbiI7CiAgIH0pOwogfSwgIlR5cGVFcnJvciB3aGVuIGdldHRlciBv
ZiBbUHV0Rm9yd2FyZHNdIGF0dHJpYnV0ZSByZXR1cm5zIG5vbi1vYmplY3QiKTsKKworCit0ZXN0
KCgpID0+IHsKKyAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
KworICB2YXIgZWxlbWVudF9zdHlsZSA9IGVsZW1lbnQuc3R5bGU7CisgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShlbGVtZW50LnN0eWxlLCAiY3NzVGV4dCIsIHsKKyAgICB2YWx1ZTogbnVsbCwKKyAg
ICB3cml0YWJsZTogZmFsc2UsCisgIH0pOworCisgIGVsZW1lbnQuc3R5bGUgPSAiY29sb3I6IGdy
ZWVuIjsKKyAgYXNzZXJ0X2VxdWFscyhlbGVtZW50LnN0eWxlLCBlbGVtZW50X3N0eWxlKTsKKyAg
YXNzZXJ0X2VxdWFscyhlbGVtZW50LnN0eWxlLmNzc1RleHQsIG51bGwpOworfSwgIkRvZXMgbm90
IHRocm93IHdoZW4gc2V0dGVyIG9mIFtQdXRGb3J3YXJkc10gYXR0cmlidXRlIHJldHVybnMgZmFs
c2UiKTsKKworZnVuY3Rpb24gdGVzdF90b2tlbl9saXN0KGVsZW1lbnROYW1lLCBhdHRyaWJ1dGUs
IHRhcmdldCwgdmFsdWUpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgdmFyIGVsZW1lbnQ9ZG9jdW1l
bnQuY3JlYXRlRWxlbWVudChlbGVtZW50TmFtZSk7CisgICAgYXNzZXJ0X3RydWUoZWxlbWVudFth
dHRyaWJ1dGVdIGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0LCJUaGUgYXR0cmlidXRlIGlzIGEgRE9N
VG9rZW5MaXN0Iik7CisgICAgZWxlbWVudFthdHRyaWJ1dGVdPXZhbHVlOworICAgIGFzc2VydF9l
cXVhbHMoZWxlbWVudC5nZXRBdHRyaWJ1dGUodGFyZ2V0KSx2YWx1ZSwiU2V0dGluZyB0aGUgYXR0
cmlidXRlIGlzIHJlZmxlY3RlZCBpbiB0aGUgdGFyZ2V0Iik7CisgICAgZWxlbWVudFthdHRyaWJ1
dGVdPSIiOworICAgIGFzc2VydF9lcXVhbHMoZWxlbWVudC5nZXRBdHRyaWJ1dGUodGFyZ2V0KSwi
IiwiQ2xlYXJpbmcgdGhlIGF0dHJpYnV0ZSBpcyByZWZsZWN0ZWQgaW4gdGhlIHRhcmdldCIpOwor
ICB9LCJTZXR0aW5nICIrZWxlbWVudE5hbWUrIi4iK2F0dHJpYnV0ZSsiIHRvICIrdmFsdWUrIiBp
cyByZWZsZWN0ZWQgaW4gIit0YXJnZXQpCit9CisKK3Rlc3RfdG9rZW5fbGlzdCgiYSIsInJlbExp
c3QiLCJyZWwiLCJub3JlZmVycmVyIik7Cit0ZXN0X3Rva2VuX2xpc3QoImFyZWEiLCJyZWxMaXN0
IiwicmVsIiwibm9yZWZlcnJlciIpOwordGVzdF90b2tlbl9saXN0KCJmb3JtIiwicmVsTGlzdCIs
InJlbCIsIm5vcmVmZXJyZXIiKTsKK3Rlc3RfdG9rZW5fbGlzdCgibGluayIsInJlbExpc3QiLCJy
ZWwiLCJzdHlsZXNoZWV0Iik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9z
ZXF1ZW5jZS1jb252ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvc2VxdWVuY2UtY29udmVyc2lv
bi5odG1sCmluZGV4IDNiNDUzMTBkZDVmYWE5YmM1Mjc3ZThkNjAzMmQxNTlmMzc1ZWVmY2QuLmNk
ZDNiYWMyZWM5MmZiODYyN2JjOWQ4MDRmNjc4MzhiZWI5YzY0ZjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQt
YmluZGluZy9zZXF1ZW5jZS1jb252ZXJzaW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL3NlcXVl
bmNlLWNvbnZlcnNpb24uaHRtbApAQCAtMTUxLDcgKzE1MSw3IEBAIHRlc3QodCA9PiB7CiAKIHRl
c3QodCA9PiB7CiAgIC8vIFNob3VsZCBmYWlsIHJhdGhlciB0aGFuIGZhbGxpbmcgYmFjayB0byBy
ZWNvcmQKLSAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBuZXcg
VVJMU2VhcmNoUGFyYW1zKFsia2V5IiwgInZhbHVlIl0pOyB9KTsKKyAgYXNzZXJ0X3Rocm93c19q
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyBuZXcgVVJMU2VhcmNoUGFyYW1zKFsia2V5IiwgInZh
bHVlIl0pOyB9KTsKIH0sICJBIHN0cmluZyBhcnJheSBpbiBzZXF1ZW5jZTxzZXF1ZW5jZT4gb3Ig
cmVjb3JkIik7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJ
REwvZWNtYXNjcmlwdC1iaW5kaW5nL3czYy1pbXBvcnQubG9nCmluZGV4IGRmN2Q1NGVmZGMwNjhm
MTI1Y2Y5ZmQwNTU5NzIwZjYwNjZiOGVhMzYuLmNiMmRhMDc1ODkxNmMxM2E4N2Q0MTNhOWI5ZDA0
YTJkZTRiNTVjY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21h
c2NyaXB0LWJpbmRpbmcvdzNjLWltcG9ydC5sb2cKQEAgLTE0LDYgKzE0LDkgQEAgUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IExpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1pbnRlcmZhY2UuYW55
LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwv
ZWNtYXNjcmlwdC1iaW5kaW5nL2NsYXNzLXN0cmluZy1pdGVyYXRvci1wcm90b3R5cGUtb2JqZWN0
LmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
SURML2VjbWFzY3JpcHQtYmluZGluZy9jbGFzcy1zdHJpbmctbmFtZWQtcHJvcGVydGllcy1vYmpl
Y3Qud2luZG93LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NvbnN0cnVjdG9ycy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5k
aW5nL2RlZmF1bHQtaXRlcmF0b3Itb2JqZWN0Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvZ2xvYmFsLWlt
bXV0YWJsZS1wcm90b3R5cGUuYW55LmpzCkBAIC0yMyw3ICsyNiw2IEBAIExpc3Qgb2YgZmlsZXM6
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNt
YXNjcmlwdC1iaW5kaW5nL2l0ZXJhdG9yLWludmFsaWRhdGlvbi1mb3JlYWNoLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0
LWJpbmRpbmcvaXRlcmF0b3ItcHJvdG90eXBlLW9iamVjdC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2xl
Z2FjeS1jYWxsYmFjay1pbnRlcmZhY2Utb2JqZWN0Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvbGVnYWN5
LXBsYXRmb3JtLW9iamVjdC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL25vLXJlZ2V4cC1zcGVjaWFsLWNh
c2luZy5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvcHV0LWZvcndhcmRzLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRp
bmcvc2VxdWVuY2UtY29udmVyc2lvbi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9odG1sY29uc3RydWN0
b3IvbmV3dGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2h0bWxjb25zdHJ1Y3Rvci9uZXd0YXJnZXQt
ZXhwZWN0ZWQudHh0CmluZGV4IDM1MDIxM2JiODg5NWY2MGYzYzNhYzczMjk0NGI3NmQwMmMzNWUy
NmYuLjMwYWRlZGY4MWIxYTVmMDAwMTQzODUyMGNkYTBkMjU4Y2JjNDkxOTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2h0bWxjb25zdHJ1Y3Rvci9uZXd0YXJnZXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2h0bWxj
b25zdHJ1Y3Rvci9uZXd0YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0yLDEzICsyLDIxIEBACiBQQVNT
IFVzZSBOZXdUYXJnZXQncyBwcm90b3R5cGUsIG5vdCB0aGUgb25lIHN0b3JlZCBhdCBkZWZpbml0
aW9uIHRpbWUgCiBQQVNTIFJldGhyb3cgYW55IGV4Y2VwdGlvbnMgdGhyb3duIHdoaWxlIGdldHRp
bmcgdGhlIHByb3RvdHlwZSAKIFBBU1MgSWYgcHJvdG90eXBlIGlzIG5vdCBvYmplY3QgKG51bGwp
LCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1RhcmdldCdzIHJlYWxtIChhdXRvbm9tb3Vz
IGN1c3RvbSBlbGVtZW50cykgCitGQUlMIElmIHByb3RvdHlwZSBpcyBub3Qgb2JqZWN0IChudWxs
KSwgZGVyaXZlcyB0aGUgZmFsbGJhY2sgZnJvbSBOZXdUYXJnZXQncyBHZXRGdW5jdGlvblJlYWxt
IChhdXRvbm9tb3VzIGN1c3RvbSBlbGVtZW50cykgYXNzZXJ0X2VxdWFsczogTXVzdCB1c2UgdGhl
IEhUTUxFbGVtZW50IGZyb20gdGhlIHJlYWxtIG9mIE5ld1RhcmdldCBleHBlY3RlZCBvYmplY3Qg
IltvYmplY3QgSFRNTEVsZW1lbnRQcm90b3R5cGVdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBI
VE1MRWxlbWVudFByb3RvdHlwZV0iCiBQQVNTIElmIHByb3RvdHlwZSBpcyBub3Qgb2JqZWN0ICh1
bmRlZmluZWQpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1RhcmdldCdzIHJlYWxtIChh
dXRvbm9tb3VzIGN1c3RvbSBlbGVtZW50cykgCitGQUlMIElmIHByb3RvdHlwZSBpcyBub3Qgb2Jq
ZWN0ICh1bmRlZmluZWQpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1RhcmdldCdzIEdl
dEZ1bmN0aW9uUmVhbG0gKGF1dG9ub21vdXMgY3VzdG9tIGVsZW1lbnRzKSBhc3NlcnRfZXF1YWxz
OiBNdXN0IHVzZSB0aGUgSFRNTEVsZW1lbnQgZnJvbSB0aGUgcmVhbG0gb2YgTmV3VGFyZ2V0IGV4
cGVjdGVkIG9iamVjdCAiW29iamVjdCBIVE1MRWxlbWVudFByb3RvdHlwZV0iIGJ1dCBnb3Qgb2Jq
ZWN0ICJbb2JqZWN0IEhUTUxFbGVtZW50UHJvdG90eXBlXSIKIFBBU1MgSWYgcHJvdG90eXBlIGlz
IG5vdCBvYmplY3QgKDUpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1RhcmdldCdzIHJl
YWxtIChhdXRvbm9tb3VzIGN1c3RvbSBlbGVtZW50cykgCitGQUlMIElmIHByb3RvdHlwZSBpcyBu
b3Qgb2JqZWN0ICg1KSwgZGVyaXZlcyB0aGUgZmFsbGJhY2sgZnJvbSBOZXdUYXJnZXQncyBHZXRG
dW5jdGlvblJlYWxtIChhdXRvbm9tb3VzIGN1c3RvbSBlbGVtZW50cykgYXNzZXJ0X2VxdWFsczog
TXVzdCB1c2UgdGhlIEhUTUxFbGVtZW50IGZyb20gdGhlIHJlYWxtIG9mIE5ld1RhcmdldCBleHBl
Y3RlZCBvYmplY3QgIltvYmplY3QgSFRNTEVsZW1lbnRQcm90b3R5cGVdIiBidXQgZ290IG9iamVj
dCAiW29iamVjdCBIVE1MRWxlbWVudFByb3RvdHlwZV0iCiBQQVNTIElmIHByb3RvdHlwZSBpcyBu
b3Qgb2JqZWN0IChzdHJpbmcpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1RhcmdldCdz
IHJlYWxtIChhdXRvbm9tb3VzIGN1c3RvbSBlbGVtZW50cykgCitGQUlMIElmIHByb3RvdHlwZSBp
cyBub3Qgb2JqZWN0IChzdHJpbmcpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1Rhcmdl
dCdzIEdldEZ1bmN0aW9uUmVhbG0gKGF1dG9ub21vdXMgY3VzdG9tIGVsZW1lbnRzKSBhc3NlcnRf
ZXF1YWxzOiBNdXN0IHVzZSB0aGUgSFRNTEVsZW1lbnQgZnJvbSB0aGUgcmVhbG0gb2YgTmV3VGFy
Z2V0IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBIVE1MRWxlbWVudFByb3RvdHlwZV0iIGJ1dCBn
b3Qgb2JqZWN0ICJbb2JqZWN0IEhUTUxFbGVtZW50UHJvdG90eXBlXSIKIEZBSUwgSWYgcHJvdG90
eXBlIGlzIG5vdCBvYmplY3QgKG51bGwpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1Rh
cmdldCdzIHJlYWxtIChjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnRzKSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFJlZmxl
Y3QuY29uc3RydWN0IHJlcXVpcmVzIHRoZSBmaXJzdCBhcmd1bWVudCBiZSBhIGNvbnN0cnVjdG9y
IgorRkFJTCBJZiBwcm90b3R5cGUgaXMgbm90IG9iamVjdCAobnVsbCksIGRlcml2ZXMgdGhlIGZh
bGxiYWNrIGZyb20gTmV3VGFyZ2V0J3MgR2V0RnVuY3Rpb25SZWFsbSAoY3VzdG9taXplZCBidWls
dC1pbiBlbGVtZW50cykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBSZWZsZWN0LmNvbnN0cnVjdCByZXF1aXJlcyB0aGUgZmly
c3QgYXJndW1lbnQgYmUgYSBjb25zdHJ1Y3RvciIKIEZBSUwgSWYgcHJvdG90eXBlIGlzIG5vdCBv
YmplY3QgKHVuZGVmaW5lZCksIGRlcml2ZXMgdGhlIGZhbGxiYWNrIGZyb20gTmV3VGFyZ2V0J3Mg
cmVhbG0gKGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudHMpIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogUmVmbGVjdC5jb25z
dHJ1Y3QgcmVxdWlyZXMgdGhlIGZpcnN0IGFyZ3VtZW50IGJlIGEgY29uc3RydWN0b3IiCitGQUlM
IElmIHByb3RvdHlwZSBpcyBub3Qgb2JqZWN0ICh1bmRlZmluZWQpLCBkZXJpdmVzIHRoZSBmYWxs
YmFjayBmcm9tIE5ld1RhcmdldCdzIEdldEZ1bmN0aW9uUmVhbG0gKGN1c3RvbWl6ZWQgYnVpbHQt
aW4gZWxlbWVudHMpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogUmVmbGVjdC5jb25zdHJ1Y3QgcmVxdWlyZXMgdGhlIGZpcnN0
IGFyZ3VtZW50IGJlIGEgY29uc3RydWN0b3IiCiBGQUlMIElmIHByb3RvdHlwZSBpcyBub3Qgb2Jq
ZWN0ICg1KSwgZGVyaXZlcyB0aGUgZmFsbGJhY2sgZnJvbSBOZXdUYXJnZXQncyByZWFsbSAoY3Vz
dG9taXplZCBidWlsdC1pbiBlbGVtZW50cykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBSZWZsZWN0LmNvbnN0cnVjdCByZXF1
aXJlcyB0aGUgZmlyc3QgYXJndW1lbnQgYmUgYSBjb25zdHJ1Y3RvciIKK0ZBSUwgSWYgcHJvdG90
eXBlIGlzIG5vdCBvYmplY3QgKDUpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1Rhcmdl
dCdzIEdldEZ1bmN0aW9uUmVhbG0gKGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudHMpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogUmVmbGVjdC5jb25zdHJ1Y3QgcmVxdWlyZXMgdGhlIGZpcnN0IGFyZ3VtZW50IGJlIGEgY29u
c3RydWN0b3IiCiBGQUlMIElmIHByb3RvdHlwZSBpcyBub3Qgb2JqZWN0IChzdHJpbmcpLCBkZXJp
dmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1RhcmdldCdzIHJlYWxtIChjdXN0b21pemVkIGJ1aWx0
LWluIGVsZW1lbnRzKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFJlZmxlY3QuY29uc3RydWN0IHJlcXVpcmVzIHRoZSBmaXJz
dCBhcmd1bWVudCBiZSBhIGNvbnN0cnVjdG9yIgorRkFJTCBJZiBwcm90b3R5cGUgaXMgbm90IG9i
amVjdCAoc3RyaW5nKSwgZGVyaXZlcyB0aGUgZmFsbGJhY2sgZnJvbSBOZXdUYXJnZXQncyBHZXRG
dW5jdGlvblJlYWxtIChjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnRzKSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFJlZmxl
Y3QuY29uc3RydWN0IHJlcXVpcmVzIHRoZSBmaXJzdCBhcmd1bWVudCBiZSBhIGNvbnN0cnVjdG9y
IgogUEFTUyBIVE1MUGFyYWdyYXBoRWxlbWVudCBjb25zdHJ1Y3RvciBtdXN0IG5vdCBnZXQgLnBy
b3RvdHlwZSB1bnRpbCBpdCBmaW5pc2hlcyBpdHMgZXh0ZW5kcyBzYW5pdHkgY2hlY2tzLCBjYWxs
aW5nIHByb3h5IGNvbnN0cnVjdG9yIGRpcmVjdGx5IAogUEFTUyBIVE1MUGFyYWdyYXBoRWxlbWVu
dCBjb25zdHJ1Y3RvciBtdXN0IG5vdCBnZXQgLnByb3RvdHlwZSB1bnRpbCBpdCBmaW5pc2hlcyBp
dHMgZXh0ZW5kcyBzYW5pdHkgY2hlY2tzLCBjYWxsaW5nIHZpYSBSZWZsZWN0IAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9odG1sY29uc3RydWN0b3IvbmV3dGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9odG1sY29uc3RydWN0
b3IvbmV3dGFyZ2V0Lmh0bWwKaW5kZXggN2RhZDI2NDkzZDIyNDE0YTlkMDM2ZmYxZDk5OWNkZjRi
OTU1YjI1MC4uZDJlYjAyMmQ4NTQ0NGE4MmYxNTU0ZGViZmYyZWFkOWViZGU1ZmM3MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvaHRtbGNvbnN0cnVjdG9yL25ld3RhcmdldC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2h0bWxjb25z
dHJ1Y3Rvci9uZXd0YXJnZXQuaHRtbApAQCAtNDAsOSArNDAsMTAgQEAgdGVzdF93aXRoX3dpbmRv
dyh3ID0+IHsKICAgLy8gV2UgaGF2ZSB0byBub3QgdGhyb3cgZHVyaW5nIGRlZmluZSgpLCBidXQg
dGhyb3cgZHVyaW5nIHN1cGVyKCkKICAgbGV0IHRocm93cyA9IGZhbHNlOwogCisgIGxldCBlcnIg
PSB7IG5hbWU6ICJwcm90b3R5cGUgdGhyb3dzIiB9OwogICBmdW5jdGlvbiBUZXN0RWxlbWVudCgp
IHsKICAgICB0aHJvd3MgPSB0cnVlOwotICAgIGFzc2VydF90aHJvd3MoeyBuYW1lOiAicHJvdG90
eXBlIHRocm93cyIgfSwgKCkgPT4geworICAgIGFzc2VydF90aHJvd3NfZXhhY3RseShlcnIsICgp
ID0+IHsKICAgICAgIFJlZmxlY3QuY29uc3RydWN0KHcuSFRNTEVsZW1lbnQsIFtdLCBuZXcudGFy
Z2V0KTsKICAgICB9KTsKICAgfQpAQCAtNTAsNyArNTEsNyBAQCB0ZXN0X3dpdGhfd2luZG93KHcg
PT4gewogICBjb25zdCBFbGVtZW50V2l0aER5bmFtaWNQcm90b3R5cGUgPSBuZXcgUHJveHkoVGVz
dEVsZW1lbnQsIHsKICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKICAgICAgIGlm
ICh0aHJvd3MgJiYgbmFtZSA9PSAicHJvdG90eXBlIikKLSAgICAgICAgdGhyb3cgeyBuYW1lOiAi
cHJvdG90eXBlIHRocm93cyIgfTsKKyAgICAgICAgdGhyb3cgZXJyOwogICAgICAgcmV0dXJuIHRh
cmdldFtuYW1lXTsKICAgICB9CiAgIH0pOwpAQCAtOTEsNiArOTIsMzggQEAgdGVzdF93aXRoX3dp
bmRvdyh3ID0+IHsKICAgICByZXR1cm5Ob3RBbk9iamVjdCA9IHRydWU7CiAgICAgbmV3IEVsZW1l
bnRXaXRoRHluYW1pY1Byb3RvdHlwZSgpOwogICB9LCAiSWYgcHJvdG90eXBlIGlzIG5vdCBvYmpl
Y3QgKCIgKyBub3RBbk9iamVjdCArICIpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1Rh
cmdldCdzIHJlYWxtIChhdXRvbm9tb3VzIGN1c3RvbSBlbGVtZW50cykiKTsKKworICB0ZXN0X3dp
dGhfd2luZG93KHcgPT4geworICAgIC8vIFdlIGhhdmUgdG8gcmV0dXJuIGFuIG9iamVjdCBkdXJp
bmcgZGVmaW5lKCksIGJ1dCBub3QgZHVyaW5nIHN1cGVyKCkKKyAgICBsZXQgcmV0dXJuTm90QW5P
YmplY3QgPSBmYWxzZTsKKworICAgIGZ1bmN0aW9uIFRlc3RFbGVtZW50KCkgeworICAgICAgY29u
c3QgbyA9IFJlZmxlY3QuY29uc3RydWN0KHcuSFRNTEVsZW1lbnQsIFtdLCBuZXcudGFyZ2V0KTsK
KworICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3LnRhcmdldCks
IHdpbmRvdy5GdW5jdGlvbi5wcm90b3R5cGUpOworICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3Qu
Z2V0UHJvdG90eXBlT2YobyksIHdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUsCisgICAgICAg
ICJNdXN0IHVzZSB0aGUgSFRNTEVsZW1lbnQgZnJvbSB0aGUgcmVhbG0gb2YgTmV3VGFyZ2V0Iik7
CisgICAgICBhc3NlcnRfbm90X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YobyksIHcuSFRN
TEVsZW1lbnQucHJvdG90eXBlLAorICAgICAgICAiTXVzdCBub3QgdXNlIHRoZSBIVE1MRWxlbWVu
dCBmcm9tIHRoZSByZWFsbSBvZiB0aGUgYWN0aXZlIGZ1bmN0aW9uIG9iamVjdCAody5IVE1MRWxl
bWVudCkiKTsKKworICAgICAgcmV0dXJuIG87CisgICAgfQorCisgICAgLy8gQ3JlYXRlIHRoZSBw
cm94eSBpbiB0aGUgc3ViZnJhbWUsIHdoaWNoIHNob3VsZCBub3QgYWZmZWN0IHdoYXQgb3VyCisg
ICAgLy8gcHJvdG90eXBlIGVuZHMgdXAgYXMuCisgICAgY29uc3QgRWxlbWVudFdpdGhEeW5hbWlj
UHJvdG90eXBlID0gbmV3IHcuUHJveHkoVGVzdEVsZW1lbnQsIHsKKyAgICAgIGdldDogZnVuY3Rp
b24gKHRhcmdldCwgbmFtZSkgeworICAgICAgICBpZiAobmFtZSA9PSAicHJvdG90eXBlIikKKyAg
ICAgICAgICByZXR1cm4gcmV0dXJuTm90QW5PYmplY3QgPyBub3RBbk9iamVjdCA6IHt9OworICAg
ICAgICByZXR1cm4gdGFyZ2V0W25hbWVdOworICAgICAgfQorICAgIH0pOworCisgICAgdy5jdXN0
b21FbGVtZW50cy5kZWZpbmUoInRlc3QtZWxlbWVudCIsIEVsZW1lbnRXaXRoRHluYW1pY1Byb3Rv
dHlwZSk7CisKKyAgICByZXR1cm5Ob3RBbk9iamVjdCA9IHRydWU7CisgICAgbmV3IEVsZW1lbnRX
aXRoRHluYW1pY1Byb3RvdHlwZSgpOworICB9LCAiSWYgcHJvdG90eXBlIGlzIG5vdCBvYmplY3Qg
KCIgKyBub3RBbk9iamVjdCArICIpLCBkZXJpdmVzIHRoZSBmYWxsYmFjayBmcm9tIE5ld1Rhcmdl
dCdzIEdldEZ1bmN0aW9uUmVhbG0gKGF1dG9ub21vdXMgY3VzdG9tIGVsZW1lbnRzKSIpOwogfSk7
CiAKIFtudWxsLCB1bmRlZmluZWQsIDUsICJzdHJpbmciXS5mb3JFYWNoKGZ1bmN0aW9uIChub3RB
bk9iamVjdCkgewpAQCAtMTIyLDYgKzE1NSwzNyBAQCB0ZXN0X3dpdGhfd2luZG93KHcgPT4gewog
ICAgIHJldHVybk5vdEFuT2JqZWN0ID0gdHJ1ZTsKICAgICBuZXcgRWxlbWVudFdpdGhEeW5hbWlj
UHJvdG90eXBlKCk7CiAgIH0sICJJZiBwcm90b3R5cGUgaXMgbm90IG9iamVjdCAoIiArIG5vdEFu
T2JqZWN0ICsgIiksIGRlcml2ZXMgdGhlIGZhbGxiYWNrIGZyb20gTmV3VGFyZ2V0J3MgcmVhbG0g
KGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudHMpIik7CisKKyAgdGVzdF93aXRoX3dpbmRvdyh3
ID0+IHsKKyAgICAvLyBXZSBoYXZlIHRvIHJldHVybiBhbiBvYmplY3QgZHVyaW5nIGRlZmluZSgp
LCBidXQgbm90IGR1cmluZyBzdXBlcigpCisgICAgbGV0IHJldHVybk5vdEFuT2JqZWN0ID0gZmFs
c2U7CisKKyAgICBmdW5jdGlvbiBUZXN0RWxlbWVudCgpIHsKKyAgICAgIGNvbnN0IG8gPSBSZWZs
ZWN0LmNvbnN0cnVjdCh3LkhUTUxQYXJhZ3JhcGhFbGVtZW50LCBbXSwgbmV3LnRhcmdldCk7CisK
KyAgICAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pLCB3aW5kb3cuSFRN
TFBhcmFncmFwaEVsZW1lbnQucHJvdG90eXBlLAorICAgICAgICAiTXVzdCB1c2UgdGhlIEhUTUxQ
YXJhZ3JhcGhFbGVtZW50IGZyb20gdGhlIHJlYWxtIG9mIE5ld1RhcmdldCIpOworICAgICAgYXNz
ZXJ0X25vdF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pLCB3LkhUTUxQYXJhZ3JhcGhF
bGVtZW50LnByb3RvdHlwZSwKKyAgICAgICAgIk11c3Qgbm90IHVzZSB0aGUgSFRNTFBhcmFncmFw
aEVsZW1lbnQgZnJvbSB0aGUgcmVhbG0gb2YgdGhlIGFjdGl2ZSBmdW5jdGlvbiBvYmplY3QgKHcu
SFRNTFBhcmFncmFwaEVsZW1lbnQpIik7CisKKyAgICAgIHJldHVybiBvOworICAgIH0KKworICAg
IC8vIENyZWF0ZSB0aGUgcHJveHkgaW4gdGhlIHN1YmZyYW1lLCB3aGljaCBzaG91bGQgbm90IGFm
ZmVjdCB3aGF0IG91cgorICAgIC8vIHByb3RvdHlwZSBlbmRzIHVwIGFzLgorICAgIGNvbnN0IEVs
ZW1lbnRXaXRoRHluYW1pY1Byb3RvdHlwZSA9IG5ldyB3LlByb3h5KFRlc3RFbGVtZW50LCB7Cisg
ICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIG5hbWUpIHsKKyAgICAgICAgaWYgKG5hbWUgPT0g
InByb3RvdHlwZSIpCisgICAgICAgICAgcmV0dXJuIHJldHVybk5vdEFuT2JqZWN0ID8gbm90QW5P
YmplY3QgOiB7fTsKKyAgICAgICAgcmV0dXJuIHRhcmdldFtuYW1lXTsKKyAgICAgIH0KKyAgICB9
KTsKKworICAgIHcuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCJ0ZXN0LWVsZW1lbnQiLCBFbGVtZW50
V2l0aER5bmFtaWNQcm90b3R5cGUsIHsgZXh0ZW5kczogInAiIH0pOworCisgICAgcmV0dXJuTm90
QW5PYmplY3QgPSB0cnVlOworICAgIG5ldyBFbGVtZW50V2l0aER5bmFtaWNQcm90b3R5cGUoKTsK
KyAgfSwgIklmIHByb3RvdHlwZSBpcyBub3Qgb2JqZWN0ICgiICsgbm90QW5PYmplY3QgKyAiKSwg
ZGVyaXZlcyB0aGUgZmFsbGJhY2sgZnJvbSBOZXdUYXJnZXQncyBHZXRGdW5jdGlvblJlYWxtIChj
dXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnRzKSIpOwogfSk7CiAKIHRlc3Rfd2l0aF93aW5kb3co
dyA9PiB7CkBAIC0xMzksOSArMjAzLDkgQEAgdGVzdF93aXRoX3dpbmRvdyh3ID0+IHsKICAgICAv
LyBkZWZpbmUoKSBnZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIGNvbnN0cnVjdG9yIGl0J3MgcGFz
c2VkLCBzbwogICAgIC8vIHJlc2V0IHRoZSBjb3VudGVyLgogICAgIGdldENvdW50ID0gMDsKLSAg
ICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwKLSAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uICgpIHsgbmV3IGNvdW50aW5nUHJveHkoKSB9LAotICAgICAgICAgICAgICAgICAg
IlNob3VsZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1Y3QgYW4gSFRNTFBhcmFncmFwaEVsZW1lbnQg
bm90IG5hbWVkICdwJyIpOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLAorICAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgeyBuZXcgY291bnRpbmdQcm94eSgpIH0sCisgICAg
ICAgICAgICAgICAgICAgICAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBhbiBIVE1M
UGFyYWdyYXBoRWxlbWVudCBub3QgbmFtZWQgJ3AnIik7CiAgICAgYXNzZXJ0X2VxdWFscyhnZXRD
b3VudCwgMCwgIlNob3VsZCBuZXZlciBoYXZlIGdvdHRlbiAucHJvdG90eXBlIik7CiB9LCAnSFRN
TFBhcmFncmFwaEVsZW1lbnQgY29uc3RydWN0b3IgbXVzdCBub3QgZ2V0IC5wcm90b3R5cGUgdW50
aWwgaXQgZmluaXNoZXMgaXRzIGV4dGVuZHMgc2FuaXR5IGNoZWNrcywgY2FsbGluZyBwcm94eSBj
b25zdHJ1Y3RvciBkaXJlY3RseScpOwogCkBAIC0xNjAsOSArMjI0LDkgQEAgdGVzdF93aXRoX3dp
bmRvdyh3ID0+IHsKICAgICAvLyBkZWZpbmUoKSBnZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIGNv
bnN0cnVjdG9yIGl0J3MgcGFzc2VkLCBzbwogICAgIC8vIHJlc2V0IHRoZSBjb3VudGVyLgogICAg
IGdldENvdW50ID0gMDsKLSAgICBhc3NlcnRfdGhyb3dzKHsnbmFtZSc6ICdUeXBlRXJyb3InfSwK
LSAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsgUmVmbGVjdC5jb25zdHJ1Y3QoSFRNTFBh
cmFncmFwaEVsZW1lbnQsIFtdLCBjb3VudGluZ1Byb3h5KSB9LAotICAgICAgICAgICAgICAgICAg
IlNob3VsZCBub3QgYmUgYWJsZSB0byBjb25zdHJ1Y3QgYW4gSFRNTFBhcmFncmFwaEVsZW1lbnQg
bm90IG5hbWVkICdwJyIpOworICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLAorICAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgeyBSZWZsZWN0LmNvbnN0cnVjdChIVE1MUGFyYWdy
YXBoRWxlbWVudCwgW10sIGNvdW50aW5nUHJveHkpIH0sCisgICAgICAgICAgICAgICAgICAgICAi
U2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvbnN0cnVjdCBhbiBIVE1MUGFyYWdyYXBoRWxlbWVudCBu
b3QgbmFtZWQgJ3AnIik7CiAgICAgYXNzZXJ0X2VxdWFscyhnZXRDb3VudCwgMCwgIlNob3VsZCBu
ZXZlciBoYXZlIGdvdHRlbiAucHJvdG90eXBlIik7CiB9LCAnSFRNTFBhcmFncmFwaEVsZW1lbnQg
Y29uc3RydWN0b3IgbXVzdCBub3QgZ2V0IC5wcm90b3R5cGUgdW50aWwgaXQgZmluaXNoZXMgaXRz
IGV4dGVuZHMgc2FuaXR5IGNoZWNrcywgY2FsbGluZyB2aWEgUmVmbGVjdCcpOwogPC9zY3JpcHQ+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>