<?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>240449</bug_id>
          
          <creation_ts>2022-05-16 01:55:56 -0700</creation_ts>
          <short_desc>Remove some custom-element tests</short_desc>
          <delta_ts>2022-05-16 04:46:14 -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>Safari 15</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>ntim</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1869169</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-05-16 01:55:56 -0700</bug_when>
    <thetext>Remove some custom-element tests since they are now available in WPT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869171</commentid>
    <comment_count>1</comment_count>
      <attachid>459408</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-05-16 01:56:46 -0700</bug_when>
    <thetext>Created attachment 459408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869185</commentid>
    <comment_count>2</comment_count>
      <attachid>459408</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-16 03:39:31 -0700</bug_when>
    <thetext>Comment on attachment 459408
Patch

I can confirm they&apos;re in: LayoutTests/imported/w3c/web-platform-tests/custom-elements/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869191</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-16 04:45:04 -0700</bug_when>
    <thetext>Committed r294227 (250585@main): &lt;https://commits.webkit.org/250585@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 459408.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869192</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-16 04:46:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/93338044&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459408</attachid>
            <date>2022-05-16 01:56:46 -0700</date>
            <delta_ts>2022-05-16 04:45:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240449-20220516095645.patch</filename>
            <type>text/plain</type>
            <size>40768</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3OTk4NjU2N2ExNTkyMWZmMDMxNjUzNjEyZjQ2ZjYxNDA5ZTA3NjkyLi45ZjMxMWNj
NjE1MjUwNzA0ODcyNTQ1ZTcxMzAwMzM4NTE5OWYzMjJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMjItMDUtMTYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBSZW1v
dmUgc29tZSBjdXN0b20tZWxlbWVudCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwNDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHNvbWUgY3VzdG9tLWVsZW1lbnQgdGVzdHMgc2lu
Y2UgdGhleSBhcmUgbm93IGF2YWlsYWJsZSBpbiBXUFQuCisKKyAgICAgICAgKiBmYXN0L2N1c3Rv
bS1lbGVtZW50cy9lbnF1ZXVlLWN1c3RvbS1lbGVtZW50LWNhbGxiYWNrLXJlYWN0aW9ucy1pbnNp
ZGUtYW5vdGhlci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9jdXN0b20tZWxlbWVudHMvZW5xdWV1ZS1jdXN0b20tZWxlbWVudC1jYWxsYmFjay1yZWFjdGlv
bnMtaW5zaWRlLWFub3RoZXItY2FsbGJhY2suaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2N1c3RvbS1lbGVtZW50cy9wZXJmb3JtLW1pY3JvdGFzay1jaGVja3BvaW50LWJlZm9yZS1jb25z
dHJ1Y3Rpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVs
ZW1lbnRzL3BlcmZvcm0tbWljcm90YXNrLWNoZWNrcG9pbnQtYmVmb3JlLWNvbnN0cnVjdGlvbi5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL3Rocm93LW9uLWR5
bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVyLWNvbnN0cnVjdC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvdGhyb3ctb24tZHluYW1pYy1t
YXJrdXAtaW5zZXJ0aW9uLWNvdW50ZXItY29uc3RydWN0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9jdXN0b20tZWxlbWVudHMvdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9u
LWNvdW50ZXItcmVhY3Rpb25zLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRl
ci1yZWFjdGlvbnMuaHRtbDogUmVtb3ZlZC4KKwogMjAyMi0wNS0xNSAgRnVqaWkgSGlyb25vcmkg
IDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dIFVucmV2aWV3
ZWQgdGVzdCBnYXJkZW5pbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVs
ZW1lbnRzL2VucXVldWUtY3VzdG9tLWVsZW1lbnQtY2FsbGJhY2stcmVhY3Rpb25zLWluc2lkZS1h
bm90aGVyLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVs
ZW1lbnRzL2VucXVldWUtY3VzdG9tLWVsZW1lbnQtY2FsbGJhY2stcmVhY3Rpb25zLWluc2lkZS1h
bm90aGVyLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNGNlMzg1NTVlNmNjODhjZGJlNmY0YWU0OGM4MzRmOWZmNjI2ZmJlOS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3Rv
bS1lbGVtZW50cy9lbnF1ZXVlLWN1c3RvbS1lbGVtZW50LWNhbGxiYWNrLXJlYWN0aW9ucy1pbnNp
ZGUtYW5vdGhlci1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCAr
MCwwIEBACi0KLVBBU1MgRGlzY29ubmVjdGluZyBhbiBlbGVtZW50IHdpdGggZGlzY29ubmVjdGVk
Q2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgY29ubmVjdGVkQ2FsbGJhY2sgaW4gaXRzIGN1c3RvbSBl
bGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3QgcmVzdWx0IGluIGNvbm5lY3RlZENhbGxiYWNrIGdl
dHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIHJlbW92YWwgY29tcGxldGVzCi1QQVNTIERpc2Nvbm5l
Y3RpbmcgYW4gZWxlbWVudCB3aXRob3V0IGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoaWxlIGl0IGhh
cyBhIGNvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1
ZSBtdXN0IG5vdCByZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJl
Zm9yZSB0aGUgcmVtb3ZhbCBjb21wbGV0ZXMKLVBBU1MgQ29ubmVjdGluZyBhIGVsZW1lbnQgd2l0
aCBjb25uZWN0ZWRDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBkaXNjb25uZWN0ZWRDYWxsYmFjayBp
biBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCByZXN1bHQgaW4gZGlzY29u
bmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgaW5zZXJ0aW9uIGNvbXBs
ZXRlcwotUEFTUyBDb25uZWN0aW5nIGFuIGVsZW1lbnQgd2l0aG91dCBjb25uZWN0ZWRDYWxsYmFj
ayB3aGlsZSBpdCBoYXMgYSBkaXNjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9tIGVsZW1l
bnQgcmVhY3Rpb24gcXVldWUgbXVzdCBub3QgcmVzdWx0IGluIGRpc2Nvbm5lY3RlZENhbGxiYWNr
IGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIGluc2VydGlvbiBjb21wbGV0ZXMKLVBBU1MgQWRv
cHRpbmcgYW4gZWxlbWVudCB3aXRoIGFkb3B0aW5nQ2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgY29u
bmVjdGVkQ2FsbGJhY2sgaW4gaXRzIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3Qg
cmVzdWx0IGluIGNvbm5lY3RlZENhbGxiYWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIGFk
b3B0aW9uIGNvbXBsZXRlcwotUEFTUyBBZG9wdGluZyBhbiBlbGVtZW50IHdpdGhvdXQgYWRvcHRp
bmdDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9t
IGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCBub3QgcmVzdWx0IGluIGNvbm5lY3RlZENhbGxi
YWNrIGdldHRpbmcgaW52b2tlZCBiZWZvcmUgdGhlIGFkb3B0aW9uIGNvbXBsZXRlcwotUEFTUyBT
ZXR0aW5nIGFuIG9ic2VydmVkIGF0dHJpYnV0ZSBvbiBhbiBlbGVtZW50IHdpdGggYXR0cmlidXRl
Q2hhbmdlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGNvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBj
dXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IHJlc3VsdCBpbiBjb25uZWN0ZWRDYWxs
YmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBhdHRyaWJ1dGUgY2hhbmdlIGNvbXBsZXRl
cwotUEFTUyBTZXR0aW5nIGFuIG9ic2VydmVkIGF0dHJpYnV0ZSBvbiBhbiBlbGVtZW50IHdpdGgg
YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGNvbm5lY3RlZENhbGxiYWNr
IGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IG5vdCByZXN1bHQgaW4g
Y29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgYXR0cmlidXRlIGNo
YW5nZSBjb21wbGV0ZXMKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvZW5xdWV1ZS1jdXN0b20tZWxlbWVudC1jYWxsYmFjay1yZWFjdGlvbnMtaW5zaWRlLWFu
b3RoZXItY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Vu
cXVldWUtY3VzdG9tLWVsZW1lbnQtY2FsbGJhY2stcmVhY3Rpb25zLWluc2lkZS1hbm90aGVyLWNh
bGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5YTFmZDdjZGUwOWI3
OTQ5N2FiYmFkMTE0YmIyNDg2Njc3MGZiMDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvZW5xdWV1
ZS1jdXN0b20tZWxlbWVudC1jYWxsYmFjay1yZWFjdGlvbnMtaW5zaWRlLWFub3RoZXItY2FsbGJh
Y2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIyMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBtdXN0IGVucXVldWUgYW4g
ZWxlbWVudCBvbiB0aGUgYXBwcm9wcmlhdGUgZWxlbWVudCBxdWV1ZSBhZnRlciBjaGVja2luZyBj
YWxsYmFjayBpcyBudWxsIGFuZCB0aGUgYXR0cmlidXRlIG5hbWU8L3RpdGxlPgotPG1ldGEgbmFt
ZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0
Lm9yZyI+Ci08bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IlRvIGVucXVldWUgYSBjdXN0b20g
ZWxlbWVudCBjYWxsYmFjayByZWFjdGlvbiwgdGhlIGNhbGxiYWNrIG11c3QgYmUgY2hlY2tlZCBv
ZiBiZWluZyBudWxsIGFuZCB3aGV0aGVyIHRoZSBhdHRyaWJ1dGUgbmFtZSBpcyBvYnNlcnZlZCBv
ciBub3QiPgotPGxpbmsgcmVsPSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9jdXN0b20tZWxlbWVudHMuaHRtbCNlbnF1ZXVlLWEtY3VzdG9tLWVs
ZW1lbnQtY2FsbGJhY2stcmVhY3Rpb24iPgotPGxpbmsgcmVsPSJoZWxwIiBjb250ZW50PSJodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYmNvbXBvbmVudHMvaXNzdWVzLzc2MCI+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9InJlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0KLXRlc3Rfd2l0aF93aW5kb3coKGNvbnRlbnRXaW5k
b3csIGNvbnRlbnREb2N1bWVudCkgPT4gewotICAgIGNsYXNzIFBhcmVudEVsZW1lbnQgZXh0ZW5k
cyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKLSAgICAgICAgY29ubmVjdGVkQ2FsbGJhY2so
KQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2dzLnB1c2goJ2JlZ2luJyk7Ci0gICAgICAgICAg
ICBjb25zdCBjaGlsZCA9IHRoaXMuZmlyc3RDaGlsZDsKLSAgICAgICAgICAgIGNoaWxkLnJlbW92
ZSgpOwotICAgICAgICAgICAgbG9ncy5wdXNoKCdlbmQnKTsKLSAgICAgICAgfQotICAgIH0KLSAg
ICBjb250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgncGFyZW50LWVsZW1lbnQnLCBQ
YXJlbnRFbGVtZW50KTsKLQotICAgIGNvbnN0IGxvZ3MgPSBbXTsKLSAgICBjbGFzcyBDaGlsZEVs
ZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKLSAgICAgICAgY29ubmVj
dGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnY29ubmVjdGVkJyk7IH0KLSAgICAgICAgZGlzY29u
bmVjdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnZGlzY29ubmVjdGVkJyk7IH0KLSAgICB9Ci0g
ICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2NoaWxkLWVsZW1lbnQnLCBD
aGlsZEVsZW1lbnQpOwotCi0gICAgY29uc3QgcGFyZW50ID0gbmV3IFBhcmVudEVsZW1lbnQ7Ci0g
ICAgY29uc3QgY2hpbGQgPSBuZXcgQ2hpbGRFbGVtZW50OwotICAgIHBhcmVudC5hcHBlbmRDaGls
ZChjaGlsZCk7Ci0KLSAgICBjb250ZW50RG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQp
OwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9ncywgWydiZWdpbicsICdjb25uZWN0ZWQnLCAn
ZGlzY29ubmVjdGVkJywgJ2VuZCddKTsKLX0sICdEaXNjb25uZWN0aW5nIGFuIGVsZW1lbnQgd2l0
aCBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBjb25uZWN0ZWRDYWxsYmFjayBp
biBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCByZXN1bHQgaW4gY29ubmVj
dGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgcmVtb3ZhbCBjb21wbGV0ZXMn
KTsKLQotdGVzdF93aXRoX3dpbmRvdygoY29udGVudFdpbmRvdywgY29udGVudERvY3VtZW50KSA9
PiB7Ci0gICAgY2xhc3MgUGFyZW50RWxlbWVudCBleHRlbmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVs
ZW1lbnQgewotICAgICAgICBjb25uZWN0ZWRDYWxsYmFjaygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGxvZ3MucHVzaCgnYmVnaW4nKTsKLSAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gdGhpcy5m
aXJzdENoaWxkOwotICAgICAgICAgICAgY2hpbGQucmVtb3ZlKCk7Ci0gICAgICAgICAgICBsb2dz
LnB1c2goJ2VuZCcpOwotICAgICAgICB9Ci0gICAgfQotICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9t
RWxlbWVudHMuZGVmaW5lKCdwYXJlbnQtZWxlbWVudCcsIFBhcmVudEVsZW1lbnQpOwotCi0gICAg
Y29uc3QgbG9ncyA9IFtdOwotICAgIGNsYXNzIENoaWxkRWxlbWVudCBleHRlbmRzIGNvbnRlbnRX
aW5kb3cuSFRNTEVsZW1lbnQgewotICAgICAgICBjb25uZWN0ZWRDYWxsYmFjaygpIHsgbG9ncy5w
dXNoKCdjb25uZWN0ZWQnKTsgfQotICAgIH0KLSAgICBjb250ZW50V2luZG93LmN1c3RvbUVsZW1l
bnRzLmRlZmluZSgnY2hpbGQtZWxlbWVudCcsIENoaWxkRWxlbWVudCk7Ci0KLSAgICBjb25zdCBw
YXJlbnQgPSBuZXcgUGFyZW50RWxlbWVudDsKLSAgICBjb25zdCBjaGlsZCA9IG5ldyBDaGlsZEVs
ZW1lbnQ7Ci0gICAgcGFyZW50LmFwcGVuZENoaWxkKGNoaWxkKTsKLQotICAgIGNvbnRlbnREb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhs
b2dzLCBbJ2JlZ2luJywgJ2VuZCcsICdjb25uZWN0ZWQnXSk7Ci19LCAnRGlzY29ubmVjdGluZyBh
biBlbGVtZW50IHdpdGhvdXQgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hpbGUgaXQgaGFzIGEgY29u
bmVjdGVkQ2FsbGJhY2sgaW4gaXRzIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uIHF1ZXVlIG11c3Qg
bm90IHJlc3VsdCBpbiBjb25uZWN0ZWRDYWxsYmFjayBnZXR0aW5nIGludm9rZWQgYmVmb3JlIHRo
ZSByZW1vdmFsIGNvbXBsZXRlcycpOwotCi10ZXN0X3dpdGhfd2luZG93KChjb250ZW50V2luZG93
LCBjb250ZW50RG9jdW1lbnQpID0+IHsKLSAgICBjbGFzcyBQYXJlbnRFbGVtZW50IGV4dGVuZHMg
Y29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7Ci0gICAgICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNr
KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9ncy5wdXNoKCdiZWdpbicpOwotICAgICAgICAg
ICAgY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5maXJzdENoaWxkKTsKLSAg
ICAgICAgICAgIGxvZ3MucHVzaCgnZW5kJyk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgY29udGVu
dFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3BhcmVudC1lbGVtZW50JywgUGFyZW50RWxl
bWVudCk7Ci0KLSAgICBjb25zdCBsb2dzID0gW107Ci0gICAgY2xhc3MgQ2hpbGRFbGVtZW50IGV4
dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7Ci0gICAgICAgIGNvbm5lY3RlZENhbGxi
YWNrKCkgeyBsb2dzLnB1c2goJ2Nvbm5lY3RlZCcpOyB9Ci0gICAgICAgIGRpc2Nvbm5lY3RlZENh
bGxiYWNrKCkgeyBsb2dzLnB1c2goJ2Rpc2Nvbm5lY3RlZCcpOyB9Ci0gICAgfQotICAgIGNvbnRl
bnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjaGlsZC1lbGVtZW50JywgQ2hpbGRFbGVt
ZW50KTsKLQotICAgIGNvbnN0IHBhcmVudCA9IG5ldyBQYXJlbnRFbGVtZW50OwotICAgIGNvbnN0
IGNoaWxkID0gbmV3IENoaWxkRWxlbWVudDsKLSAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQp
OwotICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci0gICAgcGFy
ZW50LnJlbW92ZSgpOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9ncywgWydjb25uZWN0ZWQn
LCAnYmVnaW4nLCAnZGlzY29ubmVjdGVkJywgJ2Nvbm5lY3RlZCcsICdlbmQnXSk7Ci19LCAnQ29u
bmVjdGluZyBhIGVsZW1lbnQgd2l0aCBjb25uZWN0ZWRDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBk
aXNjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUg
bXVzdCByZXN1bHQgaW4gZGlzY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9y
ZSB0aGUgaW5zZXJ0aW9uIGNvbXBsZXRlcycpOwotCi10ZXN0X3dpdGhfd2luZG93KChjb250ZW50
V2luZG93LCBjb250ZW50RG9jdW1lbnQpID0+IHsKLSAgICBjbGFzcyBQYXJlbnRFbGVtZW50IGV4
dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7Ci0gICAgICAgIGRpc2Nvbm5lY3RlZENh
bGxiYWNrKCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9ncy5wdXNoKCdiZWdpbicpOwotICAg
ICAgICAgICAgY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5maXJzdENoaWxk
KTsKLSAgICAgICAgICAgIGxvZ3MucHVzaCgnZW5kJyk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAg
Y29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3BhcmVudC1lbGVtZW50JywgUGFy
ZW50RWxlbWVudCk7Ci0KLSAgICBjb25zdCBsb2dzID0gW107Ci0gICAgY2xhc3MgQ2hpbGRFbGVt
ZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7Ci0gICAgICAgIGRpc2Nvbm5l
Y3RlZENhbGxiYWNrKCkgeyBsb2dzLnB1c2goJ2Rpc2Nvbm5lY3RlZCcpOyB9Ci0gICAgfQotICAg
IGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjaGlsZC1lbGVtZW50JywgQ2hp
bGRFbGVtZW50KTsKLQotICAgIGNvbnN0IHBhcmVudCA9IG5ldyBQYXJlbnRFbGVtZW50OwotICAg
IGNvbnN0IGNoaWxkID0gbmV3IENoaWxkRWxlbWVudDsKLSAgICBwYXJlbnQuYXBwZW5kQ2hpbGQo
Y2hpbGQpOwotICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci0g
ICAgcGFyZW50LnJlbW92ZSgpOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9ncywgWydiZWdp
bicsICdlbmQnLCAnZGlzY29ubmVjdGVkJ10pOwotfSwgJ0Nvbm5lY3RpbmcgYW4gZWxlbWVudCB3
aXRob3V0IGNvbm5lY3RlZENhbGxiYWNrIHdoaWxlIGl0IGhhcyBhIGRpc2Nvbm5lY3RlZENhbGxi
YWNrIGluIGl0cyBjdXN0b20gZWxlbWVudCByZWFjdGlvbiBxdWV1ZSBtdXN0IG5vdCByZXN1bHQg
aW4gZGlzY29ubmVjdGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgaW5zZXJ0
aW9uIGNvbXBsZXRlcycpOwotCi10ZXN0X3dpdGhfd2luZG93KChjb250ZW50V2luZG93LCBjb250
ZW50RG9jdW1lbnQpID0+IHsKLSAgICBjbGFzcyBQYXJlbnRFbGVtZW50IGV4dGVuZHMgY29udGVu
dFdpbmRvdy5IVE1MRWxlbWVudCB7Ci0gICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkKLSAgICAg
ICAgewotICAgICAgICAgICAgbG9ncy5wdXNoKCdiZWdpbicpOwotICAgICAgICAgICAgZG9jdW1l
bnQuYWRvcHROb2RlKHRoaXMuZmlyc3RDaGlsZCk7Ci0gICAgICAgICAgICBsb2dzLnB1c2goJ2Vu
ZCcpOwotICAgICAgICB9Ci0gICAgfQotICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMu
ZGVmaW5lKCdwYXJlbnQtZWxlbWVudCcsIFBhcmVudEVsZW1lbnQpOwotCi0gICAgY29uc3QgbG9n
cyA9IFtdOwotICAgIGNsYXNzIENoaWxkRWxlbWVudCBleHRlbmRzIGNvbnRlbnRXaW5kb3cuSFRN
TEVsZW1lbnQgewotICAgICAgICBhZG9wdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVzaCgnYWRvcHRl
ZCcpOyB9Ci0gICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgeyBsb2dzLnB1c2goJ2Nvbm5lY3Rl
ZCcpOyB9Ci0gICAgfQotICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdj
aGlsZC1lbGVtZW50JywgQ2hpbGRFbGVtZW50KTsKLQotICAgIGNvbnN0IHBhcmVudCA9IG5ldyBQ
YXJlbnRFbGVtZW50OwotICAgIGNvbnN0IGNoaWxkID0gbmV3IENoaWxkRWxlbWVudDsKLSAgICBw
YXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOwotICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHBhcmVudCk7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dzLCBbJ2JlZ2luJywg
J2Nvbm5lY3RlZCcsICdhZG9wdGVkJywgJ2VuZCddKTsKLX0sICdBZG9wdGluZyBhbiBlbGVtZW50
IHdpdGggYWRvcHRpbmdDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBjb25uZWN0ZWRDYWxsYmFjayBp
biBpdHMgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCByZXN1bHQgaW4gY29ubmVj
dGVkQ2FsbGJhY2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgYWRvcHRpb24gY29tcGxldGVz
Jyk7Ci0KLXRlc3Rfd2l0aF93aW5kb3coKGNvbnRlbnRXaW5kb3csIGNvbnRlbnREb2N1bWVudCkg
PT4gewotICAgIGNsYXNzIFBhcmVudEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxF
bGVtZW50IHsKLSAgICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBsb2dzLnB1c2goJ2JlZ2luJyk7Ci0gICAgICAgICAgICBkb2N1bWVudC5hZG9wdE5vZGUo
dGhpcy5maXJzdENoaWxkKTsKLSAgICAgICAgICAgIGxvZ3MucHVzaCgnZW5kJyk7Ci0gICAgICAg
IH0KLSAgICB9Ci0gICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3BhcmVu
dC1lbGVtZW50JywgUGFyZW50RWxlbWVudCk7Ci0KLSAgICBjb25zdCBsb2dzID0gW107Ci0gICAg
Y2xhc3MgQ2hpbGRFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVudCB7Ci0g
ICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgeyBsb2dzLnB1c2goJ2Nvbm5lY3RlZCcpOyB9Ci0g
ICAgfQotICAgIGNvbnRlbnRXaW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjaGlsZC1lbGVt
ZW50JywgQ2hpbGRFbGVtZW50KTsKLQotICAgIGNvbnN0IHBhcmVudCA9IG5ldyBQYXJlbnRFbGVt
ZW50OwotICAgIGNvbnN0IGNoaWxkID0gbmV3IENoaWxkRWxlbWVudDsKLSAgICBwYXJlbnQuYXBw
ZW5kQ2hpbGQoY2hpbGQpOwotICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBh
cmVudCk7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhsb2dzLCBbJ2JlZ2luJywgJ2VuZCcsICdj
b25uZWN0ZWQnXSk7Ci19LCAnQWRvcHRpbmcgYW4gZWxlbWVudCB3aXRob3V0IGFkb3B0aW5nQ2Fs
bGJhY2sgd2hpbGUgaXQgaGFzIGEgY29ubmVjdGVkQ2FsbGJhY2sgaW4gaXRzIGN1c3RvbSBlbGVt
ZW50IHJlYWN0aW9uIHF1ZXVlIG11c3Qgbm90IHJlc3VsdCBpbiBjb25uZWN0ZWRDYWxsYmFjayBn
ZXR0aW5nIGludm9rZWQgYmVmb3JlIHRoZSBhZG9wdGlvbiBjb21wbGV0ZXMnKTsKLQotdGVzdF93
aXRoX3dpbmRvdygoY29udGVudFdpbmRvdywgY29udGVudERvY3VtZW50KSA9PiB7Ci0gICAgY2xh
c3MgUGFyZW50RWxlbWVudCBleHRlbmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVsZW1lbnQgewotICAg
ICAgICBjb25uZWN0ZWRDYWxsYmFjaygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxvZ3MucHVz
aCgnYmVnaW4nKTsKLSAgICAgICAgICAgIHRoaXMuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoJ3Rp
dGxlJywgJ2ZvbycpOwotICAgICAgICAgICAgbG9ncy5wdXNoKCdlbmQnKTsKLSAgICAgICAgfQot
ICAgIH0KLSAgICBjb250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgncGFyZW50LWVs
ZW1lbnQnLCBQYXJlbnRFbGVtZW50KTsKLQotICAgIGNvbnN0IGxvZ3MgPSBbXTsKLSAgICBjbGFz
cyBDaGlsZEVsZW1lbnQgZXh0ZW5kcyBjb250ZW50V2luZG93LkhUTUxFbGVtZW50IHsKLSAgICAg
ICAgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKCkgeyBsb2dzLnB1c2goJ2F0dHJpYnV0ZUNoYW5n
ZWQnKTsgfQotICAgICAgICBjb25uZWN0ZWRDYWxsYmFjaygpIHsgbG9ncy5wdXNoKCdjb25uZWN0
ZWQnKTsgfQotICAgICAgICBzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpIHsgcmV0dXJu
IFsndGl0bGUnXTsgfQotICAgIH0KLSAgICBjb250ZW50V2luZG93LmN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgnY2hpbGQtZWxlbWVudCcsIENoaWxkRWxlbWVudCk7Ci0KLSAgICBjb25zdCBwYXJlbnQg
PSBuZXcgUGFyZW50RWxlbWVudDsKLSAgICBjb25zdCBjaGlsZCA9IG5ldyBDaGlsZEVsZW1lbnQ7
Ci0gICAgcGFyZW50LmFwcGVuZENoaWxkKGNoaWxkKTsKLSAgICBjb250ZW50RG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChwYXJlbnQpOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9ncywgWydi
ZWdpbicsICdjb25uZWN0ZWQnLCAnYXR0cmlidXRlQ2hhbmdlZCcsICdlbmQnXSk7Ci19LCAnU2V0
dGluZyBhbiBvYnNlcnZlZCBhdHRyaWJ1dGUgb24gYW4gZWxlbWVudCB3aXRoIGF0dHJpYnV0ZUNo
YW5nZWRDYWxsYmFjayB3aGlsZSBpdCBoYXMgYSBjb25uZWN0ZWRDYWxsYmFjayBpbiBpdHMgY3Vz
dG9tIGVsZW1lbnQgcmVhY3Rpb24gcXVldWUgbXVzdCByZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJh
Y2sgZ2V0dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgYXR0cmlidXRlIGNoYW5nZSBjb21wbGV0ZXMn
KTsKLQotdGVzdF93aXRoX3dpbmRvdygoY29udGVudFdpbmRvdywgY29udGVudERvY3VtZW50KSA9
PiB7Ci0gICAgY2xhc3MgUGFyZW50RWxlbWVudCBleHRlbmRzIGNvbnRlbnRXaW5kb3cuSFRNTEVs
ZW1lbnQgewotICAgICAgICBjb25uZWN0ZWRDYWxsYmFjaygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGxvZ3MucHVzaCgnYmVnaW4nKTsKLSAgICAgICAgICAgIHRoaXMuZmlyc3RDaGlsZC5zZXRB
dHRyaWJ1dGUoJ2xhbmcnLCAnZW4nKTsKLSAgICAgICAgICAgIGxvZ3MucHVzaCgnZW5kJyk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgY29udGVudFdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUo
J3BhcmVudC1lbGVtZW50JywgUGFyZW50RWxlbWVudCk7Ci0KLSAgICBjb25zdCBsb2dzID0gW107
Ci0gICAgY2xhc3MgQ2hpbGRFbGVtZW50IGV4dGVuZHMgY29udGVudFdpbmRvdy5IVE1MRWxlbWVu
dCB7Ci0gICAgICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaygpIHsgbG9ncy5wdXNoKCdhdHRy
aWJ1dGVDaGFuZ2VkJyk7IH0KLSAgICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7IGxvZ3MucHVz
aCgnY29ubmVjdGVkJyk7IH0KLSAgICAgICAgc3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMo
KSB7IHJldHVybiBbJ3RpdGxlJ107IH0KLSAgICB9Ci0gICAgY29udGVudFdpbmRvdy5jdXN0b21F
bGVtZW50cy5kZWZpbmUoJ2NoaWxkLWVsZW1lbnQnLCBDaGlsZEVsZW1lbnQpOwotCi0gICAgY29u
c3QgcGFyZW50ID0gbmV3IFBhcmVudEVsZW1lbnQ7Ci0gICAgY29uc3QgY2hpbGQgPSBuZXcgQ2hp
bGRFbGVtZW50OwotICAgIHBhcmVudC5hcHBlbmRDaGlsZChjaGlsZCk7Ci0gICAgY29udGVudERv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKLSAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGxvZ3MsIFsnYmVnaW4nLCAnZW5kJywgJ2Nvbm5lY3RlZCddKTsKLX0sICdTZXR0aW5nIGFuIG9i
c2VydmVkIGF0dHJpYnV0ZSBvbiBhbiBlbGVtZW50IHdpdGggYXR0cmlidXRlQ2hhbmdlZENhbGxi
YWNrIHdoaWxlIGl0IGhhcyBhIGNvbm5lY3RlZENhbGxiYWNrIGluIGl0cyBjdXN0b20gZWxlbWVu
dCByZWFjdGlvbiBxdWV1ZSBtdXN0IG5vdCByZXN1bHQgaW4gY29ubmVjdGVkQ2FsbGJhY2sgZ2V0
dGluZyBpbnZva2VkIGJlZm9yZSB0aGUgYXR0cmlidXRlIGNoYW5nZSBjb21wbGV0ZXMnKTsKLQot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2N1c3RvbS1lbGVtZW50cy9wZXJmb3JtLW1pY3JvdGFzay1jaGVja3BvaW50LWJlZm9yZS1jb25z
dHJ1Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMv
cGVyZm9ybS1taWNyb3Rhc2stY2hlY2twb2ludC1iZWZvcmUtY29uc3RydWN0aW9uLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGM0YTlmMDk1MGFjMDIxYzljZWU2
MGE2MzRmNDRlMjE2M2Q4OTMxOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9wZXJmb3JtLW1pY3Jv
dGFzay1jaGVja3BvaW50LWJlZm9yZS1jb25zdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi0KLVBBU1MgSFRNTCBwYXJzZXIgbXVzdCBwZXJmb3JtIGEg
bWljcm90YXNrIGNoZWNrcG9pbnQgYmVmb3JlIGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50
Ci1QQVNTIEhUTUwgcGFyc2VyIG11c3QgcGVyZm9ybSBhIG1pY3JvdGFzayBjaGVja3BvaW50IGJl
Zm9yZSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCBkdXJpbmcgdGhlIGFkb3B0aW9uIGFn
ZW5jeSBhbGdvcml0aG0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvcGVyZm9ybS1taWNyb3Rhc2stY2hlY2twb2ludC1iZWZvcmUtY29uc3RydWN0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9wZXJmb3JtLW1pY3JvdGFzay1j
aGVja3BvaW50LWJlZm9yZS1jb25zdHJ1Y3Rpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOGM3MGFkOTlmOTdjNWZkNWVhZmFlZDEyY2M3ODMxZjc0YzY1YTIxMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2N1c3RvbS1lbGVtZW50cy9wZXJmb3JtLW1pY3JvdGFzay1jaGVja3BvaW50LWJlZm9yZS1jb25z
dHJ1Y3Rpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0MyArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBjcmVhdGUgYW4g
ZWxlbWVudCBmb3IgYSB0b2tlbiBtdXN0IHBlcmZvcm0gYSBtaWNyb3Rhc2sgY2hlY2twb2ludDwv
dGl0bGU+Ci08bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJSeW9zdWtlIE5pd2EiIGhyZWY9Im1h
aWx0bzpybml3YUB3ZWJraXQub3JnIj4KLTxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iV2hl
biB0aGUgSFRNTCBwYXJzZXIgY3JlYXRlcyBhbiBlbGVtZW50IGZvciBhIHRva2VuLCBpdCBtdXN0
IHBlcmZvcm0gYSBtaWNyb3Rhc2sgY2hlY2twb2ludCBiZWZvcmUgaW52b2tpbmcgdGhlIGNvbnN0
cnVjdG9yIj4KLTxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCNjcmVhdGUtYW4tZWxlbWVudC1mb3ItdGhl
LXRva2VuIj4KLTxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNwZXJmb3JtLWEtbWljcm90YXNrLWNo
ZWNrcG9pbnQiPgotPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2UvcGFyc2luZy5odG1sI2Fkb3B0aW9uLWFnZW5jeS1hbGdvcml0
aG0iPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJsb2ciPjwvZGl2PgotPHNj
cmlwdD4KLQotYXN5bmMgZnVuY3Rpb24gY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNl
cih0ZXN0LCBtYXJrdXApCi17Ci0gICAgY29uc3Qgd2luZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRv
d19pbl90ZXN0KHRlc3QsIGAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT48c2NyaXB0
PgotY2xhc3MgU29tZUVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7Ci0gICAgY29uc3RydWN0
b3IoKSB7Ci0gICAgICAgIHN1cGVyKCk7Ci0gICAgICAgIHdpbmRvdy5yZWNvcmRzTGlzdEluQ29u
c3RydWN0b3IgPSByZWNvcmRzTGlzdC5tYXAoKHJlY29yZHMpID0+IHJlY29yZHMuc2xpY2UoMCkp
OwotICAgIH0KLX0KLWN1c3RvbUVsZW1lbnRzLmRlZmluZSgnc29tZS1lbGVtZW50JywgU29tZUVs
ZW1lbnQpOwotCi1jb25zdCByZWNvcmRzTGlzdCA9IFtdOwotY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
TXV0YXRpb25PYnNlcnZlcigocmVjb3JkcykgPT4gewotICAgIHJlY29yZHNMaXN0LnB1c2gocmVj
b3Jkcyk7Ci19KTsKLW9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwge2NoaWxkTGlzdDog
dHJ1ZSwgc3VidHJlZTogdHJ1ZX0pOwotCi13aW5kb3cub25sb2FkID0gKCkgPT4gewotICAgIHdp
bmRvdy5yZWNvcmRzTGlzdEluRE9NQ29udGVudExvYWRlZCA9IHJlY29yZHNMaXN0Lm1hcCgocmVj
b3JkcykgPT4gcmVjb3Jkcy5zbGljZSgwKSk7Ci19Ci0KLTwvc2NyYCArIGBpcHQ+JHttYXJrdXB9
PC9ib2R5PjwvaHRtbD5gKTsKLSAgICByZXR1cm4gd2luZG93OwotfQotCi1wcm9taXNlX3Rlc3Qo
YXN5bmMgZnVuY3Rpb24gKCkgewotICAgIGNvbnN0IGNvbnRlbnRXaW5kb3cgPSBhd2FpdCBjb25z
dHJ1Y3RfY3VzdG9tX2VsZW1lbnRfaW5fcGFyc2VyKHRoaXMsICc8Yj48c29tZS1lbGVtZW50Pjwv
Yj4nKTsKLSAgICBjb25zdCBjb250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50
OwotCi0gICAgbGV0IHJlY29yZHNMaXN0ID0gY29udGVudFdpbmRvdy5yZWNvcmRzTGlzdEluQ29u
c3RydWN0b3I7Ci0gICAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShyZWNvcmRzTGlzdCkpOwot
ICAgIGFzc2VydF9lcXVhbHMocmVjb3Jkc0xpc3QubGVuZ3RoLCAxKTsKLSAgICBhc3NlcnRfdHJ1
ZShBcnJheS5pc0FycmF5KHJlY29yZHNMaXN0WzBdKSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNv
cmRzTGlzdFswXS5sZW5ndGgsIDEpOwotICAgIGxldCByZWNvcmQgPSByZWNvcmRzTGlzdFswXVsw
XTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50eXBlLCAnY2hpbGRMaXN0Jyk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhyZWNvcmQudGFyZ2V0LCBjb250ZW50RG9jdW1lbnQuYm9keSk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhyZWNvcmQucHJldmlvdXNTaWJsaW5nLCBjb250ZW50RG9jdW1lbnQucXVlcnlT
ZWxlY3Rvcignc2NyaXB0JykpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLm5leHRTaWJsaW5n
LCBudWxsKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5yZW1vdmVkTm9kZXMubGVuZ3RoLCAw
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzLmxlbmd0aCwgMSk7Ci0gICAg
YXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlc1swXSwgY29udGVudERvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ2InKSk7Ci0KLSAgICByZWNvcmRzTGlzdCA9IGNvbnRlbnRXaW5kb3cucmVjb3Jk
c0xpc3RJbkRPTUNvbnRlbnRMb2FkZWQ7Ci0gICAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShy
ZWNvcmRzTGlzdCkpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3Jkc0xpc3QubGVuZ3RoLCAyKTsK
LSAgICBhc3NlcnRfdHJ1ZShBcnJheS5pc0FycmF5KHJlY29yZHNMaXN0WzFdKSk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhyZWNvcmRzTGlzdFsxXS5sZW5ndGgsIDEpOwotICAgIHJlY29yZCA9IHJlY29y
ZHNMaXN0WzFdWzBdOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnR5cGUsICdjaGlsZExpc3Qn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50YXJnZXQsIGNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdiJykpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnByZXZpb3VzU2libGlu
ZywgbnVsbCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQubmV4dFNpYmxpbmcsIG51bGwpOwot
ICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnJlbW92ZWROb2Rlcy5sZW5ndGgsIDApOwotICAgIGFz
c2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXMubGVuZ3RoLCAxKTsKLSAgICBhc3NlcnRfZXF1
YWxzKHJlY29yZC5hZGRlZE5vZGVzWzBdLCBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
c29tZS1lbGVtZW50JykpOwotfSwgJ0hUTUwgcGFyc2VyIG11c3QgcGVyZm9ybSBhIG1pY3JvdGFz
ayBjaGVja3BvaW50IGJlZm9yZSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCcpOwotCi1w
cm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgewotICAgIGNvbnN0IGNvbnRlbnRXaW5kb3cg
PSBhd2FpdCBjb25zdHJ1Y3RfY3VzdG9tX2VsZW1lbnRfaW5fcGFyc2VyKHRoaXMsICc8Yj48aT5o
ZWxsbzwvYj48c29tZS1lbGVtZW50PicpOwotICAgIGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNv
bnRlbnRXaW5kb3cuZG9jdW1lbnQ7Ci0gICAgbGV0IHJlY29yZHNMaXN0ID0gY29udGVudFdpbmRv
dy5yZWNvcmRzTGlzdEluQ29uc3RydWN0b3I7Ci0gICAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJh
eShyZWNvcmRzTGlzdCkpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3Jkc0xpc3QubGVuZ3RoLCAx
KTsKLSAgICBhc3NlcnRfdHJ1ZShBcnJheS5pc0FycmF5KHJlY29yZHNMaXN0WzBdKSk7Ci0gICAg
YXNzZXJ0X2VxdWFscyhyZWNvcmRzTGlzdFswXS5sZW5ndGgsIDQpOwotCi0gICAgbGV0IHJlY29y
ZCA9IHJlY29yZHNMaXN0WzBdWzBdOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnR5cGUsICdj
aGlsZExpc3QnKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50YXJnZXQsIGNvbnRlbnREb2N1
bWVudC5ib2R5KTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5wcmV2aW91c1NpYmxpbmcsIGNv
bnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzY3JpcHQnKSk7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhyZWNvcmQubmV4dFNpYmxpbmcsIG51bGwpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnJl
bW92ZWROb2Rlcy5sZW5ndGgsIDApOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9k
ZXMubGVuZ3RoLCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzWzBdLCBj
b250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcignYicpKTsKLQotICAgIHJlY29yZCA9IHJlY29y
ZHNMaXN0WzBdWzFdOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnR5cGUsICdjaGlsZExpc3Qn
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50YXJnZXQsIGNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdiJykpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnByZXZpb3VzU2libGlu
ZywgbnVsbCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQubmV4dFNpYmxpbmcsIG51bGwpOwot
ICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnJlbW92ZWROb2Rlcy5sZW5ndGgsIDApOwotICAgIGFz
c2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXMubGVuZ3RoLCAxKTsKLSAgICBhc3NlcnRfZXF1
YWxzKHJlY29yZC5hZGRlZE5vZGVzWzBdLCBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
aScpKTsKLQotICAgIHJlY29yZCA9IHJlY29yZHNMaXN0WzBdWzJdOwotICAgIGFzc2VydF9lcXVh
bHMocmVjb3JkLnR5cGUsICdjaGlsZExpc3QnKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC50
YXJnZXQsIGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpJykpOwotICAgIGFzc2VydF9l
cXVhbHMocmVjb3JkLnByZXZpb3VzU2libGluZywgbnVsbCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhy
ZWNvcmQubmV4dFNpYmxpbmcsIG51bGwpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnJlbW92
ZWROb2Rlcy5sZW5ndGgsIDApOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXMu
bGVuZ3RoLCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzWzBdLm5vZGVU
eXBlLCBOb2RlLlRFWFRfTk9ERSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rl
c1swXS5kYXRhLCAiaGVsbG8iKTsKLQotICAgIHJlY29yZCA9IHJlY29yZHNMaXN0WzBdWzNdOwot
ICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnR5cGUsICdjaGlsZExpc3QnKTsKLSAgICBhc3NlcnRf
ZXF1YWxzKHJlY29yZC50YXJnZXQsIGNvbnRlbnREb2N1bWVudC5ib2R5KTsKLSAgICBhc3NlcnRf
ZXF1YWxzKHJlY29yZC5wcmV2aW91c1NpYmxpbmcsIGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCdiJykpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLm5leHRTaWJsaW5nLCBudWxsKTsK
LSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5yZW1vdmVkTm9kZXMubGVuZ3RoLCAwKTsKLSAgICBh
c3NlcnRfZXF1YWxzKHJlY29yZC5hZGRlZE5vZGVzLmxlbmd0aCwgMSk7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhyZWNvcmQuYWRkZWROb2Rlc1swXSwgY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoJ2knKVsxXSk7Ci0KLSAgICByZWNvcmRzTGlzdCA9IGNvbnRlbnRXaW5kb3cucmVjb3Jkc0xp
c3RJbkRPTUNvbnRlbnRMb2FkZWQ7Ci0gICAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShyZWNv
cmRzTGlzdCkpOwotICAgIGFzc2VydF9lcXVhbHMocmVjb3Jkc0xpc3QubGVuZ3RoLCAyKTsKLSAg
ICBhc3NlcnRfdHJ1ZShBcnJheS5pc0FycmF5KHJlY29yZHNMaXN0WzFdKSk7Ci0gICAgYXNzZXJ0
X2VxdWFscyhyZWNvcmRzTGlzdFsxXS5sZW5ndGgsIDEpOwotCi0gICAgcmVjb3JkID0gcmVjb3Jk
c0xpc3RbMV1bMF07Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQudHlwZSwgJ2NoaWxkTGlzdCcp
OwotICAgIGFzc2VydF9lcXVhbHMocmVjb3JkLnRhcmdldCwgY29udGVudERvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoJ2knKVsxXSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucHJldmlvdXNT
aWJsaW5nLCBudWxsKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZC5uZXh0U2libGluZywgbnVs
bCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQucmVtb3ZlZE5vZGVzLmxlbmd0aCwgMCk7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhyZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGgsIDEpOwotICAgIGFzc2Vy
dF9lcXVhbHMocmVjb3JkLmFkZGVkTm9kZXNbMF0sIGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCdzb21lLWVsZW1lbnQnKSk7Ci19LCAnSFRNTCBwYXJzZXIgbXVzdCBwZXJmb3JtIGEgbWlj
cm90YXNrIGNoZWNrcG9pbnQgYmVmb3JlIGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IGR1
cmluZyB0aGUgYWRvcHRpb24gYWdlbmN5IGFsZ29yaXRobScpOwotCi08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRz
L3Rocm93LW9uLWR5bmFtaWMtbWFya3VwLWluc2VydGlvbi1jb3VudGVyLWNvbnN0cnVjdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5h
bWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1jb25zdHJ1Y3QtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZDkzOGFhNGYyNjFlYjIyMmU2NDVkYjllMmM3NzE0
NmI4ODUwZTkwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3Rocm93LW9uLWR5bmFtaWMtbWFya3Vw
LWluc2VydGlvbi1jb3VudGVyLWNvbnN0cnVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMyArMCwwIEBACi0KLVBBU1MgZG9jdW1lbnQub3BlbigpIG11c3QgdGhyb3cgYW4gSW52
YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBl
bGVtZW50Ci1QQVNTIGRvY3VtZW50Lm9wZW4oInRleHQvaHRtbCIpIG11c3QgdGhyb3cgYW4gSW52
YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBl
bGVtZW50Ci1QQVNTIGRvY3VtZW50Lm9wZW4oVVJMKSBtdXN0IE5PVCB0aHJvdyBhbiBJbnZhbGlk
U3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1l
bnQKLVBBU1MgZG9jdW1lbnQuY2xvc2UoKSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
IHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudAotUEFTUyBk
b2N1bWVudC53cml0ZSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hy
b25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudAotUEFTUyBkb2N1bWVudC53cml0
ZWxuIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNv
bnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Ci1QQVNTIGRvY3VtZW50Lm9wZW4oKSBvZiBhbm90
aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3lu
Y2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudAotUEFTUyBkb2N1bWVudC5v
cGVuKCJ0ZXh0L2h0bWwiKSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIElu
dmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20g
ZWxlbWVudAotUEFTUyBkb2N1bWVudC5jbG9zZSgpIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBu
b3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVj
dGluZyBhIGN1c3RvbSBlbGVtZW50Ci1QQVNTIGRvY3VtZW50LndyaXRlIG9mIGFub3RoZXIgZG9j
dW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91
c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Ci1QQVNTIGRvY3VtZW50LndyaXRlbG4g
b2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3
aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvdGhyb3ctb24tZHluYW1pYy1t
YXJrdXAtaW5zZXJ0aW9uLWNvdW50ZXItY29uc3RydWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRl
ci1jb25zdHJ1Y3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTEwMjM0YjIz
OTVmOGYxNDliMWQ1MTAwNWQ1ODhlY2NjOTA0ZTBkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy90
aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1jb25zdHJ1Y3QuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBjcmVhdGUgYW4gZWxlbWVudCBmb3IgYSB0
b2tlbiBtdXN0IGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGRvY3VtZW50J3MgdGhyb3ctb24tZHlu
YW1pYy1tYXJrdXAtaW5zZXJ0aW9uIGNvdW50ZXI8L3RpdGxlPgotPG1ldGEgbmFtZT0iYXV0aG9y
IiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+Ci08
bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Ikludm9raW5nIGRvY3VtZW50Lm9wZW4sIGRvY3Vt
ZW50LndyaXRlLCBkb2N1bWVudC53cml0ZWxuLCBhbmQgZG9jdW1lbnQud3JpdGUgbXVzdCB0aHJv
dyBhbiBleGNlcHRpb24gd2hlbiB0aGUgSFRNTCBwYXJzZXIgaXMgY3JlYXRpbmcgYSBjdXN0b20g
ZWxlbWVudCBmb3IgYSB0b2tlbiI+Ci08bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9wYXJzaW5nLmh0bWwjY3JlYXRlLWFuLWVs
ZW1lbnQtZm9yLXRoZS10b2tlbiI+Ci08bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9keW5hbWljLW1hcmt1cC1pbnNlcnRpb24u
aHRtbCN0aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlciI+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InJlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotCi1hc3lu
YyBmdW5jdGlvbiBjb25zdHJ1Y3RfY3VzdG9tX2VsZW1lbnRfaW5fcGFyc2VyKHRlc3QsIGNhbGxf
ZnVuY3Rpb24pCi17Ci0gICAgY29uc3Qgd2luZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90
ZXN0KHRlc3QpOwotICAgIGNvbnN0IGRvY3VtZW50ID0gd2luZG93LmRvY3VtZW50OwotCi0gICAg
ZG9jdW1lbnQub3BlbigpOwotCi0gICAgbGV0IGV4ZWN1dGVkID0gZmFsc2U7Ci0gICAgbGV0IGV4
Y2VwdGlvbiA9IG51bGw7Ci0gICAgY2xhc3MgQ3VzdG9tRWxlbWVudCBleHRlbmRzIHdpbmRvdy5I
VE1MRWxlbWVudCB7Ci0gICAgICAgIGNvbnN0cnVjdG9yKCkgewotICAgICAgICAgICAgc3VwZXIo
KTsKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgY2FsbF9mdW5jdGlvbihkb2N1
bWVudCwgd2luZG93KTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7Ci0gICAgICAgICAg
ICAgICAgZXhjZXB0aW9uID0gZXJyb3I7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBleGVj
dXRlZCA9IHRydWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgd2luZG93LmN1c3RvbUVsZW1lbnRz
LmRlZmluZSgnc29tZS1lbGVtZW50JywgQ3VzdG9tRWxlbWVudCk7Ci0KLSAgICBkb2N1bWVudC53
cml0ZSgnPCFET0NUWVBFIGh0bWw+PGh0bWw+PGJvZHk+PHNvbWUtZWxlbWVudD48L3NvbWUtZWxl
bWVudD48L2JvZHk+PC9odG1sPicpOwotICAgIGRvY3VtZW50LmNsb3NlKCk7Ci0KLSAgICBhc3Nl
cnRfdHJ1ZShleGVjdXRlZCwgJ011c3Qgc3luY2hyb25vdXNseSBpbnN0YW50aWF0ZSBhIGN1c3Rv
bSBlbGVtZW50Jyk7Ci0gICAgcmV0dXJuIHt3aW5kb3csIGRvY3VtZW50LCBleGNlcHRpb259Owot
fQotCi1wcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgewotICAgIGNvbnN0IHJlc3VsdCA9
IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50
KSA9PiBkb2N1bWVudC5vcGVuKCkpOwotICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3Rh
dGVFcnJvcicsIHJlc3VsdC53aW5kb3cuRE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3Vs
dC5leGNlcHRpb247IH0sICdNdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yJyk7Ci19LCAn
ZG9jdW1lbnQub3BlbigpIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5j
aHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7Ci0KLXByb21pc2VfdGVz
dChhc3luYyBmdW5jdGlvbiAoKSB7Ci0gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29uc3RydWN0
X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGRvY3VtZW50Lm9w
ZW4oJ3RleHQvaHRtbCcpKTsKLSAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJy
b3InLCByZXN1bHQud2luZG93LkRPTUV4Y2VwdGlvbiwgKCkgPT4geyB0aHJvdyByZXN1bHQuZXhj
ZXB0aW9uOyB9LCAnTXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvcicpOwotfSwgJ2RvY3Vt
ZW50Lm9wZW4oInRleHQvaHRtbCIpIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hl
biBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7Ci0KLS8vIGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2R5bmFtaWMtbWFya3VwLWluc2Vy
dGlvbi5odG1sI2RvbS1kb2N1bWVudC1vcGVuLXdpbmRvdwotcHJvbWlzZV90ZXN0KGFzeW5jIGZ1
bmN0aW9uICgpIHsKLSAgICBsZXQgbG9hZF9wcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHdpbmRvdy5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQuZGF0YSkpOwot
ICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJz
ZXIodGhpcywgKGRvY3VtZW50LCB3aW5kb3cpID0+IGRvY3VtZW50Lm9wZW4oJ3Jlc291cmNlcy9u
YXZpZ2F0aW9uLWRlc3RpbmF0aW9uLmh0bWwnLCAnX3NlbGYnLCAnJykpOwotICAgIGFzc2VydF9l
cXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBs
b2FkX3Byb21pc2UsICdkaWROYXZpZ2F0ZScpOwotfSwgJ2RvY3VtZW50Lm9wZW4oVVJMKSBtdXN0
IE5PVCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3Ry
dWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9u
ICgpIHsKLSAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb25zdHJ1Y3RfY3VzdG9tX2VsZW1lbnRf
aW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gZG9jdW1lbnQuY2xvc2UoKSk7Ci0gICAgYXNz
ZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0LndpbmRvdy5ET01FeGNl
cHRpb24sICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwgJ011c3QgdGhyb3cgYW4g
SW52YWxpZFN0YXRlRXJyb3InKTsKLX0sICdkb2N1bWVudC5jbG9zZSgpIG11c3QgdGhyb3cgYW4g
SW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3Rv
bSBlbGVtZW50Jyk7Ci0KLXByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7Ci0gICAgY29u
c3QgcmVzdWx0ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlz
LCAoZG9jdW1lbnQpID0+IGRvY3VtZW50LndyaXRlKCc8Yj5zb21lIHRleHQ8L2I+JykpOwotICAg
IGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIHJlc3VsdC53aW5kb3cuRE9N
RXhjZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3VsdC5leGNlcHRpb247IH0sICdNdXN0IHRocm93
IGFuIEludmFsaWRTdGF0ZUVycm9yJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignYicpLCBudWxsLCAnTXVzdCBub3QgaW5zZXJ0IG5ldyBjb250ZW50
Jyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKHJlc3VsdC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5u
ZXJIVE1MLmluY2x1ZGVzKCdzb21lIHRleHQnKSwgJ011c3Qgbm90IGluc2VydCBuZXcgY29udGVu
dCcpOwotfSwgJ2RvY3VtZW50LndyaXRlIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Ig
d2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7Ci0KLXBy
b21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7Ci0gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQg
Y29uc3RydWN0X2N1c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGRv
Y3VtZW50LndyaXRlbG4oJzxiPnNvbWUgdGV4dDwvYj4nKSk7Ci0gICAgYXNzZXJ0X3Rocm93c19k
b20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0LndpbmRvdy5ET01FeGNlcHRpb24sICgpID0+
IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwgJ011c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRl
RXJyb3InKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5kb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCdiJyksIG51bGwsICdNdXN0IG5vdCBpbnNlcnQgbmV3IGNvbnRlbnQnKTsKLSAgICBhc3NlcnRf
ZmFsc2UocmVzdWx0LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwuaW5jbHVkZXMo
J3NvbWUgdGV4dCcpLCAnTXVzdCBub3QgaW5zZXJ0IG5ldyBjb250ZW50Jyk7Ci19LCAnZG9jdW1l
bnQud3JpdGVsbiBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25v
dXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCcpOwotCi1wcm9taXNlX3Rlc3QoYXN5
bmMgZnVuY3Rpb24gKCkgewotICAgIGNvbnN0IGFub3RoZXJfd2luZG93ID0gYXdhaXQgY3JlYXRl
X3dpbmRvd19pbl90ZXN0KHRoaXMpOwotICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVj
dF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBhbm90aGVyX3dp
bmRvdy5kb2N1bWVudC5vcGVuKCkpOwotICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlv
biwgbnVsbCk7Ci19LCAnZG9jdW1lbnQub3BlbigpIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBu
b3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5IGNvbnN0cnVj
dGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7Ci0KLXByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAo
KSB7Ci0gICAgY29uc3QgYW5vdGhlcl93aW5kb3cgPSBhd2FpdCBjcmVhdGVfd2luZG93X2luX3Rl
c3QodGhpcyk7Ci0gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29uc3RydWN0X2N1c3RvbV9lbGVt
ZW50X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGFub3RoZXJfd2luZG93LmRvY3VtZW50
Lm9wZW4oJ3RleHQvaHRtbCcpKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5leGNlcHRpb24s
IG51bGwpOwotfSwgJ2RvY3VtZW50Lm9wZW4oInRleHQvaHRtbCIpIG9mIGFub3RoZXIgZG9jdW1l
bnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBzeW5jaHJvbm91c2x5
IGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7Ci0KLXByb21pc2VfdGVzdChhc3luYyBm
dW5jdGlvbiAoKSB7Ci0gICAgY29uc3QgYW5vdGhlcl93aW5kb3cgPSBhd2FpdCBjcmVhdGVfd2lu
ZG93X2luX3Rlc3QodGhpcyk7Ci0gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29uc3RydWN0X2N1
c3RvbV9lbGVtZW50X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGFub3RoZXJfd2luZG93
LmRvY3VtZW50LmNsb3NlKCkpOwotICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwg
bnVsbCk7Ci19LCAnZG9jdW1lbnQuY2xvc2UoKSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90
IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3Rp
bmcgYSBjdXN0b20gZWxlbWVudCcpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkg
ewotICAgIGNvbnN0IGFub3RoZXJfd2luZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0
KHRoaXMpOwotICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVu
dF9pbl9wYXJzZXIodGhpcywgKGRvY3VtZW50KSA9PiBhbm90aGVyX3dpbmRvdy5kb2N1bWVudC53
cml0ZSgnPGI+c29tZSB0ZXh0PC9iPicpKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5leGNl
cHRpb24sIG51bGwpOwotICAgIGFzc2VydF9lcXVhbHMoYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignYicpLm91dGVySFRNTCwgJzxiPnNvbWUgdGV4dDwvYj4nKTsKLX0sICdk
b2N1bWVudC53cml0ZSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFs
aWRTdGF0ZUVycm9yIHdoZW4gc3luY2hyb25vdXNseSBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxl
bWVudCcpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24gKCkgewotICAgIGNvbnN0IGFu
b3RoZXJfd2luZG93ID0gYXdhaXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0KHRoaXMpOwotICAgIGNv
bnN0IHJlc3VsdCA9IGF3YWl0IGNvbnN0cnVjdF9jdXN0b21fZWxlbWVudF9pbl9wYXJzZXIodGhp
cywgKGRvY3VtZW50KSA9PiBhbm90aGVyX3dpbmRvdy5kb2N1bWVudC53cml0ZWxuKCc8Yj5zb21l
IHRleHQ8L2I+JykpOwotICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7
Ci0gICAgYXNzZXJ0X2VxdWFscyhhbm90aGVyX3dpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCdiJykub3V0ZXJIVE1MLCAnPGI+c29tZSB0ZXh0PC9iPicpOwotfSwgJ2RvY3VtZW50LndyaXRl
bG4gb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJv
ciB3aGVuIHN5bmNocm9ub3VzbHkgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKLQot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRl
ci1yZWFjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVu
dHMvdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uLWNvdW50ZXItcmVhY3Rpb25zLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU0MzRjNDE4YjAxOThl
MzFmMTY4NmMzYzBmMWZiNjMzMTBjNWIwMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy90aHJvdy1v
bi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1yZWFjdGlvbnMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotCi1QQVNTIGRvY3VtZW50Lm9wZW4oKSBt
dXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxl
bWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1l
bnQKLVBBU1MgZG9jdW1lbnQub3BlbigidGV4dC9odG1sIikgbXVzdCB0aHJvdyBhbiBJbnZhbGlk
U3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBh
IHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Ci1QQVNTIGRvY3VtZW50Lm9w
ZW4oVVJMKSBtdXN0IE5PVCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3Np
bmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVk
IGN1c3RvbSBlbGVtZW50Ci1QQVNTIGRvY3VtZW50LmNsb3NlKCkgbXVzdCB0aHJvdyBhbiBJbnZh
bGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZv
ciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Ci1QQVNTIGRvY3VtZW50
LndyaXRlIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1
c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0
b20gZWxlbWVudAotUEFTUyBkb2N1bWVudC53cml0ZWxuIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0
YXRlRXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBz
eW5jaHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudAotUEFTUyBkb2N1bWVudC5vcGVu
KCkgb2YgYW5vdGhlciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJv
ciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9u
b3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Ci1QQVNTIGRvY3VtZW50Lm9wZW4oInRleHQv
aHRtbCIpIG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRl
RXJyb3Igd2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBzeW5j
aHJvbm91cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudAotUEFTUyBkb2N1bWVudC5jbG9zZSgp
IG9mIGFub3RoZXIgZG9jdW1lbnQgbXVzdCBub3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3Ig
d2hlbiBwcm9jZXNzaW5nIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9ucyBmb3IgYSBzeW5jaHJvbm91
cyBjb25zdHJ1Y3RlZCBjdXN0b20gZWxlbWVudAotUEFTUyBkb2N1bWVudC53cml0ZSBvZiBhbm90
aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJv
Y2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3Ry
dWN0ZWQgY3VzdG9tIGVsZW1lbnQKLVBBU1MgZG9jdW1lbnQud3JpdGVsbiBvZiBhbm90aGVyIGRv
Y3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2lu
ZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQg
Y3VzdG9tIGVsZW1lbnQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uLWNvdW50ZXItcmVhY3Rpb25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWlj
LW1hcmt1cC1pbnNlcnRpb24tY291bnRlci1yZWFjdGlvbnMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYWE2OTkwZTU5N2VmYjhhZjRjZTk3MDE3NGZiM2E0NTdlNjFiYjY4MS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2N1c3RvbS1lbGVtZW50cy90aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNlcnRpb24t
Y291bnRlci1yZWFjdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBj
cmVhdGUgYW4gZWxlbWVudCBmb3IgYSB0b2tlbiBtdXN0IGluY3JlbWVudCBhbmQgZGVjcmVtZW50
IGRvY3VtZW50J3MgdGhyb3ctb24tZHluYW1pYy1tYXJrdXAtaW5zZXJ0aW9uIGNvdW50ZXI8L3Rp
dGxlPgotPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJtYWls
dG86cm5pd2FAd2Via2l0Lm9yZyI+Ci08bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Ikludm9r
aW5nIGRvY3VtZW50Lm9wZW4sIGRvY3VtZW50LndyaXRlLCBkb2N1bWVudC53cml0ZWxuLCBhbmQg
ZG9jdW1lbnQud3JpdGUgbXVzdCB0aHJvdyBhbiBleGNlcHRpb24gd2hlbiB0aGUgSFRNTCBwYXJz
ZXIgaXMgY3JlYXRpbmcgYSBjdXN0b20gZWxlbWVudCBmb3IgYSB0b2tlbiI+Ci08bWV0YSBuYW1l
PSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9w
YXJzaW5nLmh0bWwjY3JlYXRlLWFuLWVsZW1lbnQtZm9yLXRoZS10b2tlbiI+Ci08bWV0YSBuYW1l
PSJoZWxwIiBjb250ZW50PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9k
eW5hbWljLW1hcmt1cC1pbnNlcnRpb24uaHRtbCN0aHJvdy1vbi1keW5hbWljLW1hcmt1cC1pbnNl
cnRpb24tY291bnRlciI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9jdXN0b20tZWxlbWVu
dHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+
PC9kaXY+Ci08c2NyaXB0PgotCi1hc3luYyBmdW5jdGlvbiBjdXN0b21fZWxlbWVudF9yZWFjdGlv
bnNfaW5fcGFyc2VyKHRlc3QsIGNhbGxfZnVuY3Rpb24pCi17Ci0gICAgY29uc3Qgd2luZG93ID0g
YXdhaXQgY3JlYXRlX3dpbmRvd19pbl90ZXN0KHRlc3QpOwotICAgIGNvbnN0IGRvY3VtZW50ID0g
d2luZG93LmRvY3VtZW50OwotCi0gICAgZG9jdW1lbnQub3BlbigpOwotCi0gICAgbGV0IGV4ZWN1
dGVkID0gZmFsc2U7Ci0gICAgbGV0IGV4Y2VwdGlvbiA9IG51bGw7Ci0gICAgY2xhc3MgQ3VzdG9t
RWxlbWVudCBleHRlbmRzIHdpbmRvdy5IVE1MRWxlbWVudCB7Ci0gICAgICAgIGF0dHJpYnV0ZUNo
YW5nZWRDYWxsYmFjayhuYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUpIHsKLSAgICAgICAgICAgIHRy
eSB7Ci0gICAgICAgICAgICAgICAgY2FsbF9mdW5jdGlvbihkb2N1bWVudCwgd2luZG93KTsKLSAg
ICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgZXhjZXB0aW9uID0g
ZXJyb3I7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBleGVjdXRlZCA9IHRydWU7Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgQ3VzdG9tRWxlbWVudC5vYnNlcnZlZEF0dHJpYnV0ZXMgPSBbJ3Rp
dGxlJ107Ci0gICAgd2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnc29tZS1lbGVtZW50Jywg
Q3VzdG9tRWxlbWVudCk7Ci0KLSAgICBkb2N1bWVudC53cml0ZSgnPCFET0NUWVBFIGh0bWw+PGh0
bWw+PGJvZHk+PHNvbWUtZWxlbWVudCB0aXRsZT0ic29tZSB0aXRsZSI+PC9zb21lLWVsZW1lbnQ+
PC9ib2R5PjwvaHRtbD4nKTsKLSAgICBkb2N1bWVudC5jbG9zZSgpOwotCi0gICAgYXNzZXJ0X3Ry
dWUoZXhlY3V0ZWQsICdNdXN0IGltbWVkaWF0ZWx5IHByb2Nlc3MgY3VzdG9tIGVsZW1lbnQgcmVh
Y3Rpb25zIGZvciBzZXR0aW5nIGF0dHJpYnV0ZXMnKTsKLSAgICByZXR1cm4ge2ZyYW1lRWxlbWVu
dCwgd2luZG93LCBkb2N1bWVudCwgZXhjZXB0aW9ufTsKLX0KLQotcHJvbWlzZV90ZXN0KGFzeW5j
IGZ1bmN0aW9uICgpIHsKLSAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9y
ZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gZG9jdW1lbnQub3BlbigpKTsK
LSAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCByZXN1bHQud2luZG93
LkRPTUV4Y2VwdGlvbiwgKCkgPT4geyB0aHJvdyByZXN1bHQuZXhjZXB0aW9uOyB9LCAnTXVzdCB0
aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvcicpOwotfSwgJ2RvY3VtZW50Lm9wZW4oKSBtdXN0IHRo
cm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCBy
ZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsK
LQotcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKLSAgICBjb25zdCByZXN1bHQgPSBh
d2FpdCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkg
PT4gZG9jdW1lbnQub3BlbigndGV4dC9odG1sJykpOwotICAgIGFzc2VydF90aHJvd3NfZG9tKCdJ
bnZhbGlkU3RhdGVFcnJvcicsIHJlc3VsdC53aW5kb3cuRE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRo
cm93IHJlc3VsdC5leGNlcHRpb247IH0sICdNdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
Jyk7Ci19LCAnZG9jdW1lbnQub3BlbigidGV4dC9odG1sIikgbXVzdCB0aHJvdyBhbiBJbnZhbGlk
U3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBh
IHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Jyk7Ci0KLS8vIGh0dHBzOi8v
aHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2R5bmFtaWMtbWFya3VwLWluc2VydGlvbi5o
dG1sI2RvbS1kb2N1bWVudC1vcGVuLXdpbmRvdwotcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9u
ICgpIHsKLSAgICBsZXQgbG9hZF9wcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHdp
bmRvdy5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQuZGF0YSkpOwotICAgIGNv
bnN0IHJlc3VsdCA9IGF3YWl0IGN1c3RvbV9lbGVtZW50X3JlYWN0aW9uc19pbl9wYXJzZXIodGhp
cywgKGRvY3VtZW50LCB3aW5kb3cpID0+IGRvY3VtZW50Lm9wZW4oJ3Jlc291cmNlcy9uYXZpZ2F0
aW9uLWRlc3RpbmF0aW9uLmh0bWwnLCAnX3NlbGYnLCAnJykpOwotICAgIGFzc2VydF9lcXVhbHMo
cmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBsb2FkX3By
b21pc2UsICdkaWROYXZpZ2F0ZScpOwotfSwgJ2RvY3VtZW50Lm9wZW4oVVJMKSBtdXN0IE5PVCB0
aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQg
cmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Jyk7
Ci0KLXByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7Ci0gICAgY29uc3QgcmVzdWx0ID0g
YXdhaXQgY3VzdG9tX2VsZW1lbnRfcmVhY3Rpb25zX2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQp
ID0+IGRvY3VtZW50LmNsb3NlKCkpOwotICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3Rh
dGVFcnJvcicsIHJlc3VsdC53aW5kb3cuRE9NRXhjZXB0aW9uLCAoKSA9PiB7IHRocm93IHJlc3Vs
dC5leGNlcHRpb247IH0sICdNdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yJyk7Ci19LCAn
ZG9jdW1lbnQuY2xvc2UoKSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJv
Y2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3Ry
dWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgp
IHsKLSAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5f
cGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gZG9jdW1lbnQud3JpdGUoJzxiPnNvbWUgdGV4dDwv
Yj4nKSk7Ci0gICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgcmVzdWx0
LndpbmRvdy5ET01FeGNlcHRpb24sICgpID0+IHsgdGhyb3cgcmVzdWx0LmV4Y2VwdGlvbjsgfSwg
J011c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3InKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJl
c3VsdC5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdiJyksIG51bGwsICdNdXN0IG5vdCBpbnNlcnQg
bmV3IGNvbnRlbnQnKTsKLSAgICBhc3NlcnRfZmFsc2UocmVzdWx0LmRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5pbm5lckhUTUwuaW5jbHVkZXMoJ3NvbWUgdGV4dCcpLCAnTXVzdCBub3QgaW5zZXJ0
IG5ldyBjb250ZW50Jyk7Ci19LCAnZG9jdW1lbnQud3JpdGUgbXVzdCB0aHJvdyBhbiBJbnZhbGlk
U3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBh
IHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3RvbSBlbGVtZW50Jyk7Ci0KLXByb21pc2VfdGVz
dChhc3luYyBmdW5jdGlvbiAoKSB7Ci0gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY3VzdG9tX2Vs
ZW1lbnRfcmVhY3Rpb25zX2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGRvY3VtZW50Lndy
aXRlbG4oJzxiPnNvbWUgdGV4dDwvYj4nKSk7Ci0gICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFs
aWRTdGF0ZUVycm9yJywgcmVzdWx0LndpbmRvdy5ET01FeGNlcHRpb24sICgpID0+IHsgdGhyb3cg
cmVzdWx0LmV4Y2VwdGlvbjsgfSwgJ011c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3InKTsK
LSAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdiJyksIG51
bGwsICdNdXN0IG5vdCBpbnNlcnQgbmV3IGNvbnRlbnQnKTsKLSAgICBhc3NlcnRfZmFsc2UocmVz
dWx0LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwuaW5jbHVkZXMoJ3NvbWUgdGV4
dCcpLCAnTXVzdCBub3QgaW5zZXJ0IG5ldyBjb250ZW50Jyk7Ci19LCAnZG9jdW1lbnQud3JpdGVs
biBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20g
ZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVs
ZW1lbnQnKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKLSAgICBjb25zdCBh
bm90aGVyX3dpbmRvdyA9IGF3YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKLSAgICBj
b25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRo
aXMsIChkb2N1bWVudCkgPT4gYW5vdGhlcl93aW5kb3cuZG9jdW1lbnQub3BlbigpKTsKLSAgICBh
c3NlcnRfZXF1YWxzKHJlc3VsdC5leGNlcHRpb24sIG51bGwpOwotfSwgJ2RvY3VtZW50Lm9wZW4o
KSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
IHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3luY2hyb25v
dXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIGZ1
bmN0aW9uICgpIHsKLSAgICBjb25zdCBhbm90aGVyX3dpbmRvdyA9IGF3YWl0IGNyZWF0ZV93aW5k
b3dfaW5fdGVzdCh0aGlzKTsKLSAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjdXN0b21fZWxlbWVu
dF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4gYW5vdGhlcl93aW5kb3cu
ZG9jdW1lbnQub3BlbigndGV4dC9odG1sJykpOwotICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4
Y2VwdGlvbiwgbnVsbCk7Ci19LCAnZG9jdW1lbnQub3BlbigidGV4dC9odG1sIikgb2YgYW5vdGhl
ciBkb2N1bWVudCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nl
c3NpbmcgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVj
dGVkIGN1c3RvbSBlbGVtZW50Jyk7Ci0KLXByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7
Ci0gICAgY29uc3QgYW5vdGhlcl93aW5kb3cgPSBhd2FpdCBjcmVhdGVfd2luZG93X2luX3Rlc3Qo
dGhpcyk7Ci0gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY3VzdG9tX2VsZW1lbnRfcmVhY3Rpb25z
X2luX3BhcnNlcih0aGlzLCAoZG9jdW1lbnQpID0+IGFub3RoZXJfd2luZG93LmRvY3VtZW50LmNs
b3NlKCkpOwotICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmV4Y2VwdGlvbiwgbnVsbCk7Ci19LCAn
ZG9jdW1lbnQuY2xvc2UoKSBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIElu
dmFsaWRTdGF0ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMg
Zm9yIGEgc3luY2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKLQotcHJvbWlz
ZV90ZXN0KGFzeW5jIGZ1bmN0aW9uICgpIHsKLSAgICBjb25zdCBhbm90aGVyX3dpbmRvdyA9IGF3
YWl0IGNyZWF0ZV93aW5kb3dfaW5fdGVzdCh0aGlzKTsKLSAgICBjb25zdCByZXN1bHQgPSBhd2Fp
dCBjdXN0b21fZWxlbWVudF9yZWFjdGlvbnNfaW5fcGFyc2VyKHRoaXMsIChkb2N1bWVudCkgPT4g
YW5vdGhlcl93aW5kb3cuZG9jdW1lbnQud3JpdGUoJzxiPnNvbWUgdGV4dDwvYj4nKSk7Ci0gICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQuZXhjZXB0aW9uLCBudWxsKTsKLSAgICBhc3NlcnRfZXF1YWxz
KGFub3RoZXJfd2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2InKS5vdXRlckhUTUwsICc8
Yj5zb21lIHRleHQ8L2I+Jyk7Ci19LCAnZG9jdW1lbnQud3JpdGUgb2YgYW5vdGhlciBkb2N1bWVu
dCBtdXN0IG5vdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciB3aGVuIHByb2Nlc3NpbmcgY3Vz
dG9tIGVsZW1lbnQgcmVhY3Rpb25zIGZvciBhIHN5bmNocm9ub3VzIGNvbnN0cnVjdGVkIGN1c3Rv
bSBlbGVtZW50Jyk7Ci0KLXByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbiAoKSB7Ci0gICAgY29u
c3QgYW5vdGhlcl93aW5kb3cgPSBhd2FpdCBjcmVhdGVfd2luZG93X2luX3Rlc3QodGhpcyk7Ci0g
ICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY3VzdG9tX2VsZW1lbnRfcmVhY3Rpb25zX2luX3BhcnNl
cih0aGlzLCAoZG9jdW1lbnQpID0+IGFub3RoZXJfd2luZG93LmRvY3VtZW50LndyaXRlbG4oJzxi
PnNvbWUgdGV4dDwvYj4nKSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuZXhjZXB0aW9uLCBu
dWxsKTsKLSAgICBhc3NlcnRfZXF1YWxzKGFub3RoZXJfd2luZG93LmRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2InKS5vdXRlckhUTUwsICc8Yj5zb21lIHRleHQ8L2I+Jyk7Ci19LCAnZG9jdW1lbnQu
d3JpdGVsbiBvZiBhbm90aGVyIGRvY3VtZW50IG11c3Qgbm90IHRocm93IGFuIEludmFsaWRTdGF0
ZUVycm9yIHdoZW4gcHJvY2Vzc2luZyBjdXN0b20gZWxlbWVudCByZWFjdGlvbnMgZm9yIGEgc3lu
Y2hyb25vdXMgY29uc3RydWN0ZWQgY3VzdG9tIGVsZW1lbnQnKTsKLQotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>