<?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>227295</bug_id>
          
          <creation_ts>2021-06-23 08:30:09 -0700</creation_ts>
          <short_desc>Unskip interpreter-wasm.js on ARM and MIPS</short_desc>
          <delta_ts>2021-06-30 07:14:16 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail R. Gadelha">mikhail</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>angelos</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1771940</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-23 08:30:09 -0700</bug_when>
    <thetext>Unskip interpreter-wasm.js on ARM and MIPS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771942</commentid>
    <comment_count>1</comment_count>
      <attachid>432049</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-23 08:34:48 -0700</bug_when>
    <thetext>Created attachment 432049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772301</commentid>
    <comment_count>2</comment_count>
      <attachid>432049</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2021-06-24 09:16:56 -0700</bug_when>
    <thetext>Comment on attachment 432049
Patch

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

r=me

&gt; JSTests/ChangeLog:108
&gt; +        (exit): Deleted.

This doesn’t see to be true. Maybe a bug on ChangeLog prepare script?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772306</commentid>
    <comment_count>3</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-24 09:25:55 -0700</bug_when>
    <thetext>should I remove the (exit) from the changelog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772512</commentid>
    <comment_count>4</comment_count>
      <attachid>432227</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-24 17:56:36 -0700</bug_when>
    <thetext>Created attachment 432227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772667</commentid>
    <comment_count>5</comment_count>
      <attachid>432268</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-25 07:23:43 -0700</bug_when>
    <thetext>Created attachment 432268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773095</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-28 09:29:12 -0700</bug_when>
    <thetext>Caio Lima found in /Volumes/Data/worker/Commit-Queue/build/JSTests/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/worker/Commit-Queue/build/JSTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773100</commentid>
    <comment_count>7</comment_count>
      <attachid>432401</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-28 09:43:35 -0700</bug_when>
    <thetext>Created attachment 432401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773104</commentid>
    <comment_count>8</comment_count>
      <attachid>432402</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-28 09:54:55 -0700</bug_when>
    <thetext>Created attachment 432402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773733</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-30 07:13:46 -0700</bug_when>
    <thetext>Committed r279410 (239275@main): &lt;https://commits.webkit.org/239275@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432402.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773734</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-30 07:14:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/79965222&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432049</attachid>
            <date>2021-06-23 08:34:48 -0700</date>
            <delta_ts>2021-06-24 17:56:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227295-20210623113446.patch</filename>
            <type>text/plain</type>
            <size>28432</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTY2CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE0N2ZlNDhmOTBmNTAyZmQzNWZkNDE2Y2E5YjUx
N2I0OTExYTMwYTUuLjMzODczNzJiMGNhZGE4NTQzMmEwNGM3YjVhZjYzYmQ3ODQ4MGI4NWYgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTEyIEBACisyMDIxLTA2LTIzICBNaWtoYWlsIFIuIEdhZGVsaGEgIDxtaWtoYWlsQGln
YWxpYS5jb20+CisKKyAgICAgICAgVW5za2lwIGludGVycHJldGVyLXdhc20uanMgb24gQVJNIGFu
ZCBNSVBTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcyOTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2VkIHRoZSB0ZXN0Y2FzZSB0byBiZSBndWFyZGVkIGJ5ICR2bS5pc1dhc21TdXBwb3J0ZWQo
KSwgc28gdGhlCisgICAgICAgIHRlc3Qgd2lsbCBiZSBleGVjdXRlZCBvbmNlIHdhc20gaXMgYXZh
aWxhYmxlIGluIHRoZSBhcmNoCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFya3MvaW50ZXJwcmV0
ZXItd2FzbS5qczoKKyAgICAgICAgKGtleS5pbi5Nb2R1bGUuTW9kdWxlLmhhc093blByb3BlcnR5
KTogRGVsZXRlZC4KKyAgICAgICAgKHF1aXRfKTogRGVsZXRlZC4KKyAgICAgICAgKGxvY2F0ZUZp
bGUpOiBEZWxldGVkLgorICAgICAgICAoRU5WSVJPTk1FTlRfSVNfTk9ERS5yZWFkXyk6IERlbGV0
ZWQuCisgICAgICAgIChFTlZJUk9OTUVOVF9JU19OT0RFLnJlYWRCaW5hcnkpOiBEZWxldGVkLgor
ICAgICAgICAoRU5WSVJPTk1FTlRfSVNfTk9ERS5xdWl0Xyk6IERlbGV0ZWQuCisgICAgICAgIChF
TlZJUk9OTUVOVF9JU19OT0RFLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQu
CisgICAgICAgIChlbHNlLnJlYWRfKTogRGVsZXRlZC4KKyAgICAgICAgKGVsc2UucmVhZEJpbmFy
eSk6IERlbGV0ZWQuCisgICAgICAgIChlbHNlLnF1aXRfKTogRGVsZXRlZC4KKyAgICAgICAgKGVs
c2UpOiBEZWxldGVkLgorICAgICAgICAoZWxzZS54aHIub25sb2FkKTogRGVsZXRlZC4KKyAgICAg
ICAgKGVsc2UucmVhZEFzeW5jKTogRGVsZXRlZC4KKyAgICAgICAgKGVsc2Uuc2V0V2luZG93VGl0
bGUpOiBEZWxldGVkLgorICAgICAgICAoa2V5LmluLm1vZHVsZU92ZXJyaWRlcy5tb2R1bGVPdmVy
cmlkZXMuaGFzT3duUHJvcGVydHkpOiBEZWxldGVkLgorICAgICAgICAoZHluYW1pY0FsbG9jKTog
RGVsZXRlZC4KKyAgICAgICAgKGdldE5hdGl2ZVR5cGVTaXplKTogRGVsZXRlZC4KKyAgICAgICAg
KHdhcm5PbmNlKTogRGVsZXRlZC4KKyAgICAgICAgKGNvbnZlcnRKc0Z1bmN0aW9uVG9XYXNtKTog
RGVsZXRlZC4KKyAgICAgICAgKGFkZEZ1bmN0aW9uV2FzbSk6IERlbGV0ZWQuCisgICAgICAgIChy
ZW1vdmVGdW5jdGlvbldhc20pOiBEZWxldGVkLgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKHNldFRlbXBSZXQwKTogRGVsZXRlZC4KKyAgICAgICAgKHNldFZhbHVlKTogRGVsZXRlZC4K
KyAgICAgICAgKGFzc2VydCk6IERlbGV0ZWQuCisgICAgICAgIChnZXRDRnVuYyk6IERlbGV0ZWQu
CisgICAgICAgICh0b0Muc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAo
Y29udmVydFJldHVyblZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKGNjYWxsKTogRGVsZXRlZC4K
KyAgICAgICAgKFVURjhBcnJheVRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFVURjhUb1N0
cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChzdHJpbmdUb1VURjhBcnJheSk6IERlbGV0ZWQuCisg
ICAgICAgIChzdHJpbmdUb1VURjgpOiBEZWxldGVkLgorICAgICAgICAobGVuZ3RoQnl0ZXNVVEY4
KTogRGVsZXRlZC4KKyAgICAgICAgKGFsbG9jYXRlVVRGOE9uU3RhY2spOiBEZWxldGVkLgorICAg
ICAgICAod3JpdGVBcnJheVRvTWVtb3J5KTogRGVsZXRlZC4KKyAgICAgICAgKHdyaXRlQXNjaWlU
b01lbW9yeSk6IERlbGV0ZWQuCisgICAgICAgICh1cGRhdGVHbG9iYWxCdWZmZXJBbmRWaWV3cyk6
IERlbGV0ZWQuCisgICAgICAgIChjYWxsUnVudGltZUNhbGxiYWNrcyk6IERlbGV0ZWQuCisgICAg
ICAgIChwcmVSdW4pOiBEZWxldGVkLgorICAgICAgICAoaW5pdFJ1bnRpbWUpOiBEZWxldGVkLgor
ICAgICAgICAocHJlTWFpbik6IERlbGV0ZWQuCisgICAgICAgIChleGl0UnVudGltZSk6IERlbGV0
ZWQuCisgICAgICAgIChwb3N0UnVuKTogRGVsZXRlZC4KKyAgICAgICAgKGFkZE9uUHJlUnVuKTog
RGVsZXRlZC4KKyAgICAgICAgKGFkZE9uUG9zdFJ1bik6IERlbGV0ZWQuCisgICAgICAgIChhZGRS
dW5EZXBlbmRlbmN5KTogRGVsZXRlZC4KKyAgICAgICAgKHJlbW92ZVJ1bkRlcGVuZGVuY3kpOiBE
ZWxldGVkLgorICAgICAgICAoaGFzUHJlZml4KTogRGVsZXRlZC4KKyAgICAgICAgKGlzRGF0YVVS
SSk6IERlbGV0ZWQuCisgICAgICAgIChpc0ZpbGVVUkkpOiBEZWxldGVkLgorICAgICAgICAoZ2V0
QmluYXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKGdldEJpbmFyeVByb21pc2UpOiBEZWxldGVkLgor
ICAgICAgICAoY3JlYXRlV2FzbS5yZWNlaXZlSW5zdGFuY2UpOiBEZWxldGVkLgorICAgICAgICAo
Y3JlYXRlV2FzbS5yZWNlaXZlSW5zdGFudGlhdGVkU291cmNlKTogRGVsZXRlZC4KKyAgICAgICAg
KGNyZWF0ZVdhc20uaW5zdGFudGlhdGVBcnJheUJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgIChj
cmVhdGVXYXNtLmluc3RhbnRpYXRlQXN5bmMuKTogRGVsZXRlZC4KKyAgICAgICAgKGNyZWF0ZVdh
c20uaW5zdGFudGlhdGVBc3luYyk6IERlbGV0ZWQuCisgICAgICAgIChjcmVhdGVXYXNtKTogRGVs
ZXRlZC4KKyAgICAgICAgKF9fQVRJTklUX18ucHVzaC5mdW5jKTogRGVsZXRlZC4KKyAgICAgICAg
KGRlbWFuZ2xlKTogRGVsZXRlZC4KKyAgICAgICAgKGRlbWFuZ2xlQWxsKTogRGVsZXRlZC4KKyAg
ICAgICAgKF9lbXNjcmlwdGVuX2dldF9zYnJrX3B0cik6IERlbGV0ZWQuCisgICAgICAgIChfZW1z
Y3JpcHRlbl9tZW1jcHlfYmlnKTogRGVsZXRlZC4KKyAgICAgICAgKGFib3J0T25DYW5ub3RHcm93
TWVtb3J5KTogRGVsZXRlZC4KKyAgICAgICAgKF9lbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwKTogRGVs
ZXRlZC4KKyAgICAgICAgKFBBVEguc3BsaXRQYXRoKTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEgu
bm9ybWFsaXplQXJyYXkpOiBEZWxldGVkLgorICAgICAgICAoUEFUSC5ub3JtYWxpemUpOiBEZWxl
dGVkLgorICAgICAgICAoUEFUSC5kaXJuYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEguYmFz
ZW5hbWUpOiBEZWxldGVkLgorICAgICAgICAoUEFUSC5leHRuYW1lKTogRGVsZXRlZC4KKyAgICAg
ICAgKFBBVEguam9pbik6IERlbGV0ZWQuCisgICAgICAgIChQQVRILmpvaW4yKTogRGVsZXRlZC4K
KyAgICAgICAgKFNZU0NBTExTLnByaW50Q2hhcik6IERlbGV0ZWQuCisgICAgICAgIChTWVNDQUxM
Uy5nZXRTdHIpOiBEZWxldGVkLgorICAgICAgICAoU1lTQ0FMTFMuZ2V0NjQpOiBEZWxldGVkLgor
ICAgICAgICAoX2ZkX3dyaXRlKTogRGVsZXRlZC4KKyAgICAgICAgKF9zZXRUZW1wUmV0MCk6IERl
bGV0ZWQuCisgICAgICAgIChfX193YXNtX2NhbGxfY3RvcnMuTW9kdWxlLnN0cmluZ19hcHBlYXJl
ZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKF9tYWluLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRf
aGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChfbWFsbG9jLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRf
aGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChfX19lcnJub19sb2NhdGlvbi5Nb2R1bGUuc3RyaW5n
X2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoX2ZyZWUuTW9kdWxlLnN0cmluZ19h
cHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0YWNrU2F2ZS5Nb2R1bGUuc3RyaW5n
X2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoc3RhY2tBbGxvYy5Nb2R1bGUuc3Ry
aW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoc3RhY2tSZXN0b3JlLk1vZHVs
ZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChfX2dyb3dXYXNtTWVt
b3J5Lk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChkeW5D
YWxsX2lpLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChk
eW5DYWxsX2lpaWkuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAg
ICAgKGR5bkNhbGxfamlqaS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgor
ICAgICAgICAoRXhpdFN0YXR1cyk6IERlbGV0ZWQuCisgICAgICAgIChkZXBlbmRlbmNpZXNGdWxm
aWxsZWQpOiBEZWxldGVkLgorICAgICAgICAoY2FsbE1haW4pOiBEZWxldGVkLgorICAgICAgICAo
cnVuLmRvUnVuKTogRGVsZXRlZC4KKyAgICAgICAgKHJ1bik6IERlbGV0ZWQuCisgICAgICAgIChl
eGl0KTogRGVsZXRlZC4KKwogMjAyMS0wNi0yMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBEb24ndCBhc3N1bWUgc3RyZXNzL291dC1vZi1tZW1vcnktd2hpbGUt
Y29uc3RydWN0aW5nLUJ5dGVjb2RlR2VuZXJhdG9yLmpzIHdpbGwgT09NCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL21pY3JvYmVuY2htYXJrcy9pbnRlcnByZXRlci13YXNtLmpzIGIvSlNUZXN0cy9taWNy
b2JlbmNobWFya3MvaW50ZXJwcmV0ZXItd2FzbS5qcwppbmRleCBkMDczZmVlMjNjOWZmNDUwOTU3
NDUwNWU4MGVmMDEwMzBkYWMxOThhLi45ODdkOTEyYjIzZWVmZDYxMjBmNTI0NjdkYWU3ZjNiNGQ0
OTU3ZDYzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9pbnRlcnByZXRlci13
YXNtLmpzCisrKyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL2ludGVycHJldGVyLXdhc20uanMK
QEAgLTEsMyArMSw1IEBACi0vL0Agc2tpcCBpZiAkYXJjaGl0ZWN0dXJlID09ICJhcm0iIG9yICRh
cmNoaXRlY3R1cmUgPT0gIm1pcHMiIG9yICRtb2RlbCA9fiAvQXBwbGUgV2F0Y2gvCisvL0Agc2tp
cCBpZiAkbW9kZWwgPX4gL0FwcGxlIFdhdGNoLwogLy9AIHJ1bkRlZmF1bHQKK2lmICgkdm0uaXNX
YXNtU3VwcG9ydGVkKCkpIHsKIHZhciBNb2R1bGU9dHlwZW9mIE1vZHVsZSE9PSJ1bmRlZmluZWQi
P01vZHVsZTp7fTt2YXIgbW9kdWxlT3ZlcnJpZGVzPXt9O3ZhciBrZXk7Zm9yKGtleSBpbiBNb2R1
bGUpe2lmKE1vZHVsZS5oYXNPd25Qcm9wZXJ0eShrZXkpKXttb2R1bGVPdmVycmlkZXNba2V5XT1N
b2R1bGVba2V5XX19dmFyIGFyZ3VtZW50c189W107dmFyIHRoaXNQcm9ncmFtPSIuL3RoaXMucHJv
Z3JhbSI7dmFyIHF1aXRfPWZ1bmN0aW9uKHN0YXR1cyx0b1Rocm93KXt0aHJvdyB0b1Rocm93fTt2
YXIgRU5WSVJPTk1FTlRfSVNfV0VCPWZhbHNlO3ZhciBFTlZJUk9OTUVOVF9JU19XT1JLRVI9ZmFs
c2U7dmFyIEVOVklST05NRU5UX0lTX05PREU9ZmFsc2U7dmFyIEVOVklST05NRU5UX0lTX1NIRUxM
PWZhbHNlO0VOVklST05NRU5UX0lTX1dFQj10eXBlb2Ygd2luZG93PT09Im9iamVjdCI7RU5WSVJP
Tk1FTlRfSVNfV09SS0VSPXR5cGVvZiBpbXBvcnRTY3JpcHRzPT09ImZ1bmN0aW9uIjtFTlZJUk9O
TUVOVF9JU19OT0RFPXR5cGVvZiBwcm9jZXNzPT09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLnZl
cnNpb25zPT09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGU9PT0ic3RyaW5n
IjtFTlZJUk9OTUVOVF9JU19TSEVMTD0hRU5WSVJPTk1FTlRfSVNfV0VCJiYhRU5WSVJPTk1FTlRf
SVNfTk9ERSYmIUVOVklST05NRU5UX0lTX1dPUktFUjt2YXIgc2NyaXB0RGlyZWN0b3J5PSIiO2Z1
bmN0aW9uIGxvY2F0ZUZpbGUocGF0aCl7aWYoTW9kdWxlWyJsb2NhdGVGaWxlIl0pe3JldHVybiBN
b2R1bGVbImxvY2F0ZUZpbGUiXShwYXRoLHNjcmlwdERpcmVjdG9yeSl9cmV0dXJuIHNjcmlwdERp
cmVjdG9yeStwYXRofXZhciByZWFkXyxyZWFkQXN5bmMscmVhZEJpbmFyeSxzZXRXaW5kb3dUaXRs
ZTt2YXIgbm9kZUZTO3ZhciBub2RlUGF0aDtpZihFTlZJUk9OTUVOVF9JU19OT0RFKXtpZihFTlZJ
Uk9OTUVOVF9JU19XT1JLRVIpe3NjcmlwdERpcmVjdG9yeT1yZXF1aXJlKCJwYXRoIikuZGlybmFt
ZShzY3JpcHREaXJlY3RvcnkpKyIvIn1lbHNle3NjcmlwdERpcmVjdG9yeT1fX2Rpcm5hbWUrIi8i
fXJlYWRfPWZ1bmN0aW9uIHNoZWxsX3JlYWQoZmlsZW5hbWUsYmluYXJ5KXtpZighbm9kZUZTKW5v
ZGVGUz1yZXF1aXJlKCJmcyIpO2lmKCFub2RlUGF0aClub2RlUGF0aD1yZXF1aXJlKCJwYXRoIik7
ZmlsZW5hbWU9bm9kZVBhdGhbIm5vcm1hbGl6ZSJdKGZpbGVuYW1lKTtyZXR1cm4gbm9kZUZTWyJy
ZWFkRmlsZVN5bmMiXShmaWxlbmFtZSxiaW5hcnk/bnVsbDoidXRmOCIpfTtyZWFkQmluYXJ5PWZ1
bmN0aW9uIHJlYWRCaW5hcnkoZmlsZW5hbWUpe3ZhciByZXQ9cmVhZF8oZmlsZW5hbWUsdHJ1ZSk7
aWYoIXJldC5idWZmZXIpe3JldD1uZXcgVWludDhBcnJheShyZXQpfWFzc2VydChyZXQuYnVmZmVy
KTtyZXR1cm4gcmV0fTtpZihwcm9jZXNzWyJhcmd2Il0ubGVuZ3RoPjEpe3RoaXNQcm9ncmFtPXBy
b2Nlc3NbImFyZ3YiXVsxXS5yZXBsYWNlKC9cXC9nLCIvIil9YXJndW1lbnRzXz1wcm9jZXNzWyJh
cmd2Il0uc2xpY2UoMik7aWYodHlwZW9mIG1vZHVsZSE9PSJ1bmRlZmluZWQiKXttb2R1bGVbImV4
cG9ydHMiXT1Nb2R1bGV9cHJvY2Vzc1sib24iXSgidW5jYXVnaHRFeGNlcHRpb24iLGZ1bmN0aW9u
KGV4KXtpZighKGV4IGluc3RhbmNlb2YgRXhpdFN0YXR1cykpe3Rocm93IGV4fX0pO3Byb2Nlc3Nb
Im9uIl0oInVuaGFuZGxlZFJlamVjdGlvbiIsYWJvcnQpO3F1aXRfPWZ1bmN0aW9uKHN0YXR1cyl7
cHJvY2Vzc1siZXhpdCJdKHN0YXR1cyl9O01vZHVsZVsiaW5zcGVjdCJdPWZ1bmN0aW9uKCl7cmV0
dXJuIltFbXNjcmlwdGVuIE1vZHVsZSBvYmplY3RdIn19ZWxzZSBpZihFTlZJUk9OTUVOVF9JU19T
SEVMTCl7aWYodHlwZW9mIHJlYWQhPSJ1bmRlZmluZWQiKXtyZWFkXz1mdW5jdGlvbiBzaGVsbF9y
ZWFkKGYpe3JldHVybiByZWFkKGYpfX1yZWFkQmluYXJ5PWZ1bmN0aW9uIHJlYWRCaW5hcnkoZil7
dmFyIGRhdGE7aWYodHlwZW9mIHJlYWRidWZmZXI9PT0iZnVuY3Rpb24iKXtyZXR1cm4gbmV3IFVp
bnQ4QXJyYXkocmVhZGJ1ZmZlcihmKSl9ZGF0YT1yZWFkKGYsImJpbmFyeSIpO2Fzc2VydCh0eXBl
b2YgZGF0YT09PSJvYmplY3QiKTtyZXR1cm4gZGF0YX07aWYodHlwZW9mIHNjcmlwdEFyZ3MhPSJ1
bmRlZmluZWQiKXthcmd1bWVudHNfPXNjcmlwdEFyZ3N9ZWxzZSBpZih0eXBlb2YgYXJndW1lbnRz
IT0idW5kZWZpbmVkIil7YXJndW1lbnRzXz1hcmd1bWVudHN9aWYodHlwZW9mIHF1aXQ9PT0iZnVu
Y3Rpb24iKXtxdWl0Xz1mdW5jdGlvbihzdGF0dXMpe3F1aXQoc3RhdHVzKX19aWYodHlwZW9mIHBy
aW50IT09InVuZGVmaW5lZCIpe2lmKHR5cGVvZiBjb25zb2xlPT09InVuZGVmaW5lZCIpY29uc29s
ZT17fTtjb25zb2xlLmxvZz1wcmludDtjb25zb2xlLndhcm49Y29uc29sZS5lcnJvcj10eXBlb2Yg
cHJpbnRFcnIhPT0idW5kZWZpbmVkIj9wcmludEVycjpwcmludH19ZWxzZSBpZihFTlZJUk9OTUVO
VF9JU19XRUJ8fEVOVklST05NRU5UX0lTX1dPUktFUil7aWYoRU5WSVJPTk1FTlRfSVNfV09SS0VS
KXtzY3JpcHREaXJlY3Rvcnk9c2VsZi5sb2NhdGlvbi5ocmVmfWVsc2UgaWYoZG9jdW1lbnQuY3Vy
cmVudFNjcmlwdCl7c2NyaXB0RGlyZWN0b3J5PWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjfWlm
KHNjcmlwdERpcmVjdG9yeS5pbmRleE9mKCJibG9iOiIpIT09MCl7c2NyaXB0RGlyZWN0b3J5PXNj
cmlwdERpcmVjdG9yeS5zdWJzdHIoMCxzY3JpcHREaXJlY3RvcnkubGFzdEluZGV4T2YoIi8iKSsx
KX1lbHNle3NjcmlwdERpcmVjdG9yeT0iIn17cmVhZF89ZnVuY3Rpb24gc2hlbGxfcmVhZCh1cmwp
e3ZhciB4aHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVybCxmYWxzZSk7eGhy
LnNlbmQobnVsbCk7cmV0dXJuIHhoci5yZXNwb25zZVRleHR9O2lmKEVOVklST05NRU5UX0lTX1dP
UktFUil7cmVhZEJpbmFyeT1mdW5jdGlvbiByZWFkQmluYXJ5KHVybCl7dmFyIHhocj1uZXcgWE1M
SHR0cFJlcXVlc3Q7eGhyLm9wZW4oIkdFVCIsdXJsLGZhbHNlKTt4aHIucmVzcG9uc2VUeXBlPSJh
cnJheWJ1ZmZlciI7eGhyLnNlbmQobnVsbCk7cmV0dXJuIG5ldyBVaW50OEFycmF5KHhoci5yZXNw
b25zZSl9fXJlYWRBc3luYz1mdW5jdGlvbiByZWFkQXN5bmModXJsLG9ubG9hZCxvbmVycm9yKXt2
YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VUIix1cmwsdHJ1ZSk7eGhyLnJl
c3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiO3hoci5vbmxvYWQ9ZnVuY3Rpb24geGhyX29ubG9hZCgp
e2lmKHhoci5zdGF0dXM9PTIwMHx8eGhyLnN0YXR1cz09MCYmeGhyLnJlc3BvbnNlKXtvbmxvYWQo
eGhyLnJlc3BvbnNlKTtyZXR1cm59b25lcnJvcigpfTt4aHIub25lcnJvcj1vbmVycm9yO3hoci5z
ZW5kKG51bGwpfX1zZXRXaW5kb3dUaXRsZT1mdW5jdGlvbih0aXRsZSl7ZG9jdW1lbnQudGl0bGU9
dGl0bGV9fWVsc2V7fXZhciBvdXQ9TW9kdWxlWyJwcmludCJdfHxjb25zb2xlLmxvZy5iaW5kKGNv
bnNvbGUpO3ZhciBlcnI9TW9kdWxlWyJwcmludEVyciJdfHxjb25zb2xlLndhcm4uYmluZChjb25z
b2xlKTtmb3Ioa2V5IGluIG1vZHVsZU92ZXJyaWRlcyl7aWYobW9kdWxlT3ZlcnJpZGVzLmhhc093
blByb3BlcnR5KGtleSkpe01vZHVsZVtrZXldPW1vZHVsZU92ZXJyaWRlc1trZXldfX1tb2R1bGVP
dmVycmlkZXM9bnVsbDtpZihNb2R1bGVbImFyZ3VtZW50cyJdKWFyZ3VtZW50c189TW9kdWxlWyJh
cmd1bWVudHMiXTtpZihNb2R1bGVbInRoaXNQcm9ncmFtIl0pdGhpc1Byb2dyYW09TW9kdWxlWyJ0
aGlzUHJvZ3JhbSJdO2lmKE1vZHVsZVsicXVpdCJdKXF1aXRfPU1vZHVsZVsicXVpdCJdO3ZhciBT
VEFDS19BTElHTj0xNjtmdW5jdGlvbiBkeW5hbWljQWxsb2Moc2l6ZSl7dmFyIHJldD1IRUFQMzJb
RFlOQU1JQ1RPUF9QVFI+PjJdO3ZhciBlbmQ9cmV0K3NpemUrMTUmLTE2O0hFQVAzMltEWU5BTUlD
VE9QX1BUUj4+Ml09ZW5kO3JldHVybiByZXR9ZnVuY3Rpb24gZ2V0TmF0aXZlVHlwZVNpemUodHlw
ZSl7c3dpdGNoKHR5cGUpe2Nhc2UiaTEiOmNhc2UiaTgiOnJldHVybiAxO2Nhc2UiaTE2IjpyZXR1
cm4gMjtjYXNlImkzMiI6cmV0dXJuIDQ7Y2FzZSJpNjQiOnJldHVybiA4O2Nhc2UiZmxvYXQiOnJl
dHVybiA0O2Nhc2UiZG91YmxlIjpyZXR1cm4gODtkZWZhdWx0OntpZih0eXBlW3R5cGUubGVuZ3Ro
LTFdPT09IioiKXtyZXR1cm4gNH1lbHNlIGlmKHR5cGVbMF09PT0iaSIpe3ZhciBiaXRzPU51bWJl
cih0eXBlLnN1YnN0cigxKSk7YXNzZXJ0KGJpdHMlOD09PTAsImdldE5hdGl2ZVR5cGVTaXplIGlu
dmFsaWQgYml0cyAiK2JpdHMrIiwgdHlwZSAiK3R5cGUpO3JldHVybiBiaXRzLzh9ZWxzZXtyZXR1
cm4gMH19fX1mdW5jdGlvbiB3YXJuT25jZSh0ZXh0KXtpZighd2Fybk9uY2Uuc2hvd24pd2Fybk9u
Y2Uuc2hvd249e307aWYoIXdhcm5PbmNlLnNob3duW3RleHRdKXt3YXJuT25jZS5zaG93blt0ZXh0
XT0xO2Vycih0ZXh0KX19ZnVuY3Rpb24gY29udmVydEpzRnVuY3Rpb25Ub1dhc20oZnVuYyxzaWcp
e2lmKHR5cGVvZiBXZWJBc3NlbWJseS5GdW5jdGlvbj09PSJmdW5jdGlvbiIpe3ZhciB0eXBlTmFt
ZXM9eyJpIjoiaTMyIiwiaiI6Imk2NCIsImYiOiJmMzIiLCJkIjoiZjY0In07dmFyIHR5cGU9e3Bh
cmFtZXRlcnM6W10scmVzdWx0czpzaWdbMF09PSJ2Ij9bXTpbdHlwZU5hbWVzW3NpZ1swXV1dfTtm
b3IodmFyIGk9MTtpPHNpZy5sZW5ndGg7KytpKXt0eXBlLnBhcmFtZXRlcnMucHVzaCh0eXBlTmFt
ZXNbc2lnW2ldXSl9cmV0dXJuIG5ldyBXZWJBc3NlbWJseS5GdW5jdGlvbih0eXBlLGZ1bmMpfXZh
ciB0eXBlU2VjdGlvbj1bMSwwLDEsOTZdO3ZhciBzaWdSZXQ9c2lnLnNsaWNlKDAsMSk7dmFyIHNp
Z1BhcmFtPXNpZy5zbGljZSgxKTt2YXIgdHlwZUNvZGVzPXsiaSI6MTI3LCJqIjoxMjYsImYiOjEy
NSwiZCI6MTI0fTt0eXBlU2VjdGlvbi5wdXNoKHNpZ1BhcmFtLmxlbmd0aCk7Zm9yKHZhciBpPTA7
aTxzaWdQYXJhbS5sZW5ndGg7KytpKXt0eXBlU2VjdGlvbi5wdXNoKHR5cGVDb2Rlc1tzaWdQYXJh
bVtpXV0pfWlmKHNpZ1JldD09InYiKXt0eXBlU2VjdGlvbi5wdXNoKDApfWVsc2V7dHlwZVNlY3Rp
b249dHlwZVNlY3Rpb24uY29uY2F0KFsxLHR5cGVDb2Rlc1tzaWdSZXRdXSl9dHlwZVNlY3Rpb25b
MV09dHlwZVNlY3Rpb24ubGVuZ3RoLTI7dmFyIGJ5dGVzPW5ldyBVaW50OEFycmF5KFswLDk3LDEx
NSwxMDksMSwwLDAsMF0uY29uY2F0KHR5cGVTZWN0aW9uLFsyLDcsMSwxLDEwMSwxLDEwMiwwLDAs
Nyw1LDEsMSwxMDIsMCwwXSkpO3ZhciBtb2R1bGU9bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShieXRl
cyk7dmFyIGluc3RhbmNlPW5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUseyJlIjp7ImYi
OmZ1bmN9fSk7dmFyIHdyYXBwZWRGdW5jPWluc3RhbmNlLmV4cG9ydHNbImYiXTtyZXR1cm4gd3Jh
cHBlZEZ1bmN9dmFyIGZyZWVUYWJsZUluZGV4ZXM9W107dmFyIGZ1bmN0aW9uc0luVGFibGVNYXA7
ZnVuY3Rpb24gYWRkRnVuY3Rpb25XYXNtKGZ1bmMsc2lnKXt2YXIgdGFibGU9d2FzbVRhYmxlO2lm
KCFmdW5jdGlvbnNJblRhYmxlTWFwKXtmdW5jdGlvbnNJblRhYmxlTWFwPW5ldyBXZWFrTWFwO2Zv
cih2YXIgaT0wO2k8dGFibGUubGVuZ3RoO2krKyl7dmFyIGl0ZW09dGFibGUuZ2V0KGkpO2lmKGl0
ZW0pe2Z1bmN0aW9uc0luVGFibGVNYXAuc2V0KGl0ZW0saSl9fX1pZihmdW5jdGlvbnNJblRhYmxl
TWFwLmhhcyhmdW5jKSl7cmV0dXJuIGZ1bmN0aW9uc0luVGFibGVNYXAuZ2V0KGZ1bmMpfXZhciBy
ZXQ7aWYoZnJlZVRhYmxlSW5kZXhlcy5sZW5ndGgpe3JldD1mcmVlVGFibGVJbmRleGVzLnBvcCgp
fWVsc2V7cmV0PXRhYmxlLmxlbmd0aDt0cnl7dGFibGUuZ3JvdygxKX1jYXRjaChlcnIpe2lmKCEo
ZXJyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikpe3Rocm93IGVycn10aHJvdyJVbmFibGUgdG8gZ3Jv
dyB3YXNtIHRhYmxlLiBTZXQgQUxMT1dfVEFCTEVfR1JPV1RILiJ9fXRyeXt0YWJsZS5zZXQocmV0
LGZ1bmMpfWNhdGNoKGVycil7aWYoIShlcnIgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXt0aHJvdyBl
cnJ9dmFyIHdyYXBwZWQ9Y29udmVydEpzRnVuY3Rpb25Ub1dhc20oZnVuYyxzaWcpO3RhYmxlLnNl
dChyZXQsd3JhcHBlZCl9ZnVuY3Rpb25zSW5UYWJsZU1hcC5zZXQoZnVuYyxyZXQpO3JldHVybiBy
ZXR9ZnVuY3Rpb24gcmVtb3ZlRnVuY3Rpb25XYXNtKGluZGV4KXtmdW5jdGlvbnNJblRhYmxlTWFw
LmRlbGV0ZSh3YXNtVGFibGUuZ2V0KGluZGV4KSk7ZnJlZVRhYmxlSW5kZXhlcy5wdXNoKGluZGV4
KX12YXIgZnVuY1dyYXBwZXJzPXt9O2Z1bmN0aW9uIGR5bkNhbGwoc2lnLHB0cixhcmdzKXtpZihh
cmdzJiZhcmdzLmxlbmd0aCl7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF8iK3NpZ10uYXBwbHkobnVs
bCxbcHRyXS5jb25jYXQoYXJncykpfWVsc2V7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF8iK3NpZ10u
Y2FsbChudWxsLHB0cil9fXZhciB0ZW1wUmV0MD0wO3ZhciBzZXRUZW1wUmV0MD1mdW5jdGlvbih2
YWx1ZSl7dGVtcFJldDA9dmFsdWV9O3ZhciB3YXNtQmluYXJ5O2lmKE1vZHVsZVsid2FzbUJpbmFy
eSJdKXdhc21CaW5hcnk9TW9kdWxlWyJ3YXNtQmluYXJ5Il07dmFyIG5vRXhpdFJ1bnRpbWU7aWYo
TW9kdWxlWyJub0V4aXRSdW50aW1lIl0pbm9FeGl0UnVudGltZT1Nb2R1bGVbIm5vRXhpdFJ1bnRp
bWUiXTtpZih0eXBlb2YgV2ViQXNzZW1ibHkhPT0ib2JqZWN0Iil7ZXJyKCJubyBuYXRpdmUgd2Fz
bSBzdXBwb3J0IGRldGVjdGVkIil9ZnVuY3Rpb24gc2V0VmFsdWUocHRyLHZhbHVlLHR5cGUsbm9T
YWZlKXt0eXBlPXR5cGV8fCJpOCI7aWYodHlwZS5jaGFyQXQodHlwZS5sZW5ndGgtMSk9PT0iKiIp
dHlwZT0iaTMyIjtzd2l0Y2godHlwZSl7Y2FzZSJpMSI6SEVBUDhbcHRyPj4wXT12YWx1ZTticmVh
aztjYXNlImk4IjpIRUFQOFtwdHI+PjBdPXZhbHVlO2JyZWFrO2Nhc2UiaTE2IjpIRUFQMTZbcHRy
Pj4xXT12YWx1ZTticmVhaztjYXNlImkzMiI6SEVBUDMyW3B0cj4+Ml09dmFsdWU7YnJlYWs7Y2Fz
ZSJpNjQiOnRlbXBJNjQ9W3ZhbHVlPj4+MCwodGVtcERvdWJsZT12YWx1ZSwrTWF0aF9hYnModGVt
cERvdWJsZSk+PTE/dGVtcERvdWJsZT4wPyhNYXRoX21pbigrTWF0aF9mbG9vcih0ZW1wRG91Ymxl
LzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpfDApPj4+MDp+fitNYXRoX2NlaWwoKHRlbXBEb3VibGUt
Kyh+fnRlbXBEb3VibGU+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxIRUFQMzJbcHRyPj4yXT10
ZW1wSTY0WzBdLEhFQVAzMltwdHIrND4+Ml09dGVtcEk2NFsxXTticmVhaztjYXNlImZsb2F0IjpI
RUFQRjMyW3B0cj4+Ml09dmFsdWU7YnJlYWs7Y2FzZSJkb3VibGUiOkhFQVBGNjRbcHRyPj4zXT12
YWx1ZTticmVhaztkZWZhdWx0OmFib3J0KCJpbnZhbGlkIHR5cGUgZm9yIHNldFZhbHVlOiAiK3R5
cGUpfX12YXIgd2FzbU1lbW9yeTt2YXIgd2FzbVRhYmxlPW5ldyBXZWJBc3NlbWJseS5UYWJsZSh7
ImluaXRpYWwiOjQsIm1heGltdW0iOjQrMCwiZWxlbWVudCI6ImFueWZ1bmMifSk7dmFyIEFCT1JU
PWZhbHNlO3ZhciBFWElUU1RBVFVTPTA7ZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbix0ZXh0KXtp
ZighY29uZGl0aW9uKXthYm9ydCgiQXNzZXJ0aW9uIGZhaWxlZDogIit0ZXh0KX19ZnVuY3Rpb24g
Z2V0Q0Z1bmMoaWRlbnQpe3ZhciBmdW5jPU1vZHVsZVsiXyIraWRlbnRdO2Fzc2VydChmdW5jLCJD
YW5ub3QgY2FsbCB1bmtub3duIGZ1bmN0aW9uICIraWRlbnQrIiwgbWFrZSBzdXJlIGl0IGlzIGV4
cG9ydGVkIik7cmV0dXJuIGZ1bmN9ZnVuY3Rpb24gY2NhbGwoaWRlbnQscmV0dXJuVHlwZSxhcmdU
eXBlcyxhcmdzLG9wdHMpe3ZhciB0b0M9eyJzdHJpbmciOmZ1bmN0aW9uKHN0cil7dmFyIHJldD0w
O2lmKHN0ciE9PW51bGwmJnN0ciE9PXVuZGVmaW5lZCYmc3RyIT09MCl7dmFyIGxlbj0oc3RyLmxl
bmd0aDw8MikrMTtyZXQ9c3RhY2tBbGxvYyhsZW4pO3N0cmluZ1RvVVRGOChzdHIscmV0LGxlbil9
cmV0dXJuIHJldH0sImFycmF5IjpmdW5jdGlvbihhcnIpe3ZhciByZXQ9c3RhY2tBbGxvYyhhcnIu
bGVuZ3RoKTt3cml0ZUFycmF5VG9NZW1vcnkoYXJyLHJldCk7cmV0dXJuIHJldH19O2Z1bmN0aW9u
IGNvbnZlcnRSZXR1cm5WYWx1ZShyZXQpe2lmKHJldHVyblR5cGU9PT0ic3RyaW5nIilyZXR1cm4g
VVRGOFRvU3RyaW5nKHJldCk7aWYocmV0dXJuVHlwZT09PSJib29sZWFuIilyZXR1cm4gQm9vbGVh
bihyZXQpO3JldHVybiByZXR9dmFyIGZ1bmM9Z2V0Q0Z1bmMoaWRlbnQpO3ZhciBjQXJncz1bXTt2
YXIgc3RhY2s9MDtpZihhcmdzKXtmb3IodmFyIGk9MDtpPGFyZ3MubGVuZ3RoO2krKyl7dmFyIGNv
bnZlcnRlcj10b0NbYXJnVHlwZXNbaV1dO2lmKGNvbnZlcnRlcil7aWYoc3RhY2s9PT0wKXN0YWNr
PXN0YWNrU2F2ZSgpO2NBcmdzW2ldPWNvbnZlcnRlcihhcmdzW2ldKX1lbHNle2NBcmdzW2ldPWFy
Z3NbaV19fX12YXIgcmV0PWZ1bmMuYXBwbHkobnVsbCxjQXJncyk7cmV0PWNvbnZlcnRSZXR1cm5W
YWx1ZShyZXQpO2lmKHN0YWNrIT09MClzdGFja1Jlc3RvcmUoc3RhY2spO3JldHVybiByZXR9dmFy
IEFMTE9DX05PTkU9Mzt2YXIgVVRGOERlY29kZXI9dHlwZW9mIFRleHREZWNvZGVyIT09InVuZGVm
aW5lZCI/bmV3IFRleHREZWNvZGVyKCJ1dGY4Iik6dW5kZWZpbmVkO2Z1bmN0aW9uIFVURjhBcnJh
eVRvU3RyaW5nKGhlYXAsaWR4LG1heEJ5dGVzVG9SZWFkKXt2YXIgZW5kSWR4PWlkeCttYXhCeXRl
c1RvUmVhZDt2YXIgZW5kUHRyPWlkeDt3aGlsZShoZWFwW2VuZFB0cl0mJiEoZW5kUHRyPj1lbmRJ
ZHgpKSsrZW5kUHRyO2lmKGVuZFB0ci1pZHg+MTYmJmhlYXAuc3ViYXJyYXkmJlVURjhEZWNvZGVy
KXtyZXR1cm4gVVRGOERlY29kZXIuZGVjb2RlKGhlYXAuc3ViYXJyYXkoaWR4LGVuZFB0cikpfWVs
c2V7dmFyIHN0cj0iIjt3aGlsZShpZHg8ZW5kUHRyKXt2YXIgdTA9aGVhcFtpZHgrK107aWYoISh1
MCYxMjgpKXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUodTApO2NvbnRpbnVlfXZhciB1MT1oZWFw
W2lkeCsrXSY2MztpZigodTAmMjI0KT09MTkyKXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHUw
JjMxKTw8Nnx1MSk7Y29udGludWV9dmFyIHUyPWhlYXBbaWR4KytdJjYzO2lmKCh1MCYyNDApPT0y
MjQpe3UwPSh1MCYxNSk8PDEyfHUxPDw2fHUyfWVsc2V7dTA9KHUwJjcpPDwxOHx1MTw8MTJ8dTI8
PDZ8aGVhcFtpZHgrK10mNjN9aWYodTA8NjU1MzYpe3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSh1
MCl9ZWxzZXt2YXIgY2g9dTAtNjU1MzY7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fGNo
Pj4xMCw1NjMyMHxjaCYxMDIzKX19fXJldHVybiBzdHJ9ZnVuY3Rpb24gVVRGOFRvU3RyaW5nKHB0
cixtYXhCeXRlc1RvUmVhZCl7cmV0dXJuIHB0cj9VVEY4QXJyYXlUb1N0cmluZyhIRUFQVTgscHRy
LG1heEJ5dGVzVG9SZWFkKToiIn1mdW5jdGlvbiBzdHJpbmdUb1VURjhBcnJheShzdHIsaGVhcCxv
dXRJZHgsbWF4Qnl0ZXNUb1dyaXRlKXtpZighKG1heEJ5dGVzVG9Xcml0ZT4wKSlyZXR1cm4gMDt2
YXIgc3RhcnRJZHg9b3V0SWR4O3ZhciBlbmRJZHg9b3V0SWR4K21heEJ5dGVzVG9Xcml0ZS0xO2Zv
cih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkpO2lmKHU+
PTU1Mjk2JiZ1PD01NzM0Myl7dmFyIHUxPXN0ci5jaGFyQ29kZUF0KCsraSk7dT02NTUzNisoKHUm
MTAyMyk8PDEwKXx1MSYxMDIzfWlmKHU8PTEyNyl7aWYob3V0SWR4Pj1lbmRJZHgpYnJlYWs7aGVh
cFtvdXRJZHgrK109dX1lbHNlIGlmKHU8PTIwNDcpe2lmKG91dElkeCsxPj1lbmRJZHgpYnJlYWs7
aGVhcFtvdXRJZHgrK109MTkyfHU+PjY7aGVhcFtvdXRJZHgrK109MTI4fHUmNjN9ZWxzZSBpZih1
PD02NTUzNSl7aWYob3V0SWR4KzI+PWVuZElkeClicmVhaztoZWFwW291dElkeCsrXT0yMjR8dT4+
MTI7aGVhcFtvdXRJZHgrK109MTI4fHU+PjYmNjM7aGVhcFtvdXRJZHgrK109MTI4fHUmNjN9ZWxz
ZXtpZihvdXRJZHgrMz49ZW5kSWR4KWJyZWFrO2hlYXBbb3V0SWR4KytdPTI0MHx1Pj4xODtoZWFw
W291dElkeCsrXT0xMjh8dT4+MTImNjM7aGVhcFtvdXRJZHgrK109MTI4fHU+PjYmNjM7aGVhcFtv
dXRJZHgrK109MTI4fHUmNjN9fWhlYXBbb3V0SWR4XT0wO3JldHVybiBvdXRJZHgtc3RhcnRJZHh9
ZnVuY3Rpb24gc3RyaW5nVG9VVEY4KHN0cixvdXRQdHIsbWF4Qnl0ZXNUb1dyaXRlKXtyZXR1cm4g
c3RyaW5nVG9VVEY4QXJyYXkoc3RyLEhFQVBVOCxvdXRQdHIsbWF4Qnl0ZXNUb1dyaXRlKX1mdW5j
dGlvbiBsZW5ndGhCeXRlc1VURjgoc3RyKXt2YXIgbGVuPTA7Zm9yKHZhciBpPTA7aTxzdHIubGVu
Z3RoOysraSl7dmFyIHU9c3RyLmNoYXJDb2RlQXQoaSk7aWYodT49NTUyOTYmJnU8PTU3MzQzKXU9
NjU1MzYrKCh1JjEwMjMpPDwxMCl8c3RyLmNoYXJDb2RlQXQoKytpKSYxMDIzO2lmKHU8PTEyNykr
K2xlbjtlbHNlIGlmKHU8PTIwNDcpbGVuKz0yO2Vsc2UgaWYodTw9NjU1MzUpbGVuKz0zO2Vsc2Ug
bGVuKz00fXJldHVybiBsZW59dmFyIFVURjE2RGVjb2Rlcj10eXBlb2YgVGV4dERlY29kZXIhPT0i
dW5kZWZpbmVkIj9uZXcgVGV4dERlY29kZXIoInV0Zi0xNmxlIik6dW5kZWZpbmVkO2Z1bmN0aW9u
IGFsbG9jYXRlVVRGOE9uU3RhY2soc3RyKXt2YXIgc2l6ZT1sZW5ndGhCeXRlc1VURjgoc3RyKSsx
O3ZhciByZXQ9c3RhY2tBbGxvYyhzaXplKTtzdHJpbmdUb1VURjhBcnJheShzdHIsSEVBUDgscmV0
LHNpemUpO3JldHVybiByZXR9ZnVuY3Rpb24gd3JpdGVBcnJheVRvTWVtb3J5KGFycmF5LGJ1ZmZl
cil7SEVBUDguc2V0KGFycmF5LGJ1ZmZlcil9ZnVuY3Rpb24gd3JpdGVBc2NpaVRvTWVtb3J5KHN0
cixidWZmZXIsZG9udEFkZE51bGwpe2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe0hFQVA4
W2J1ZmZlcisrPj4wXT1zdHIuY2hhckNvZGVBdChpKX1pZighZG9udEFkZE51bGwpSEVBUDhbYnVm
ZmVyPj4wXT0wfXZhciBXQVNNX1BBR0VfU0laRT02NTUzNjt2YXIgYnVmZmVyLEhFQVA4LEhFQVBV
OCxIRUFQMTYsSEVBUFUxNixIRUFQMzIsSEVBUFUzMixIRUFQRjMyLEhFQVBGNjQ7ZnVuY3Rpb24g
dXBkYXRlR2xvYmFsQnVmZmVyQW5kVmlld3MoYnVmKXtidWZmZXI9YnVmO01vZHVsZVsiSEVBUDgi
XT1IRUFQOD1uZXcgSW50OEFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQMTYiXT1IRUFQMTY9bmV3IElu
dDE2QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVAzMiJdPUhFQVAzMj1uZXcgSW50MzJBcnJheShidWYp
O01vZHVsZVsiSEVBUFU4Il09SEVBUFU4PW5ldyBVaW50OEFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQ
VTE2Il09SEVBUFUxNj1uZXcgVWludDE2QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBVMzIiXT1IRUFQ
VTMyPW5ldyBVaW50MzJBcnJheShidWYpO01vZHVsZVsiSEVBUEYzMiJdPUhFQVBGMzI9bmV3IEZs
b2F0MzJBcnJheShidWYpO01vZHVsZVsiSEVBUEY2NCJdPUhFQVBGNjQ9bmV3IEZsb2F0NjRBcnJh
eShidWYpfXZhciBTVEFDS19CQVNFPTUyNTA0NDgsRFlOQU1JQ19CQVNFPTUyNTA0NDgsRFlOQU1J
Q1RPUF9QVFI9NzQwODt2YXIgSU5JVElBTF9JTklUSUFMX01FTU9SWT1Nb2R1bGVbIklOSVRJQUxf
TUVNT1JZIl18fDE2Nzc3MjE2O2lmKE1vZHVsZVsid2FzbU1lbW9yeSJdKXt3YXNtTWVtb3J5PU1v
ZHVsZVsid2FzbU1lbW9yeSJdfWVsc2V7d2FzbU1lbW9yeT1uZXcgV2ViQXNzZW1ibHkuTWVtb3J5
KHsiaW5pdGlhbCI6SU5JVElBTF9JTklUSUFMX01FTU9SWS9XQVNNX1BBR0VfU0laRSwibWF4aW11
bSI6SU5JVElBTF9JTklUSUFMX01FTU9SWS9XQVNNX1BBR0VfU0laRX0pfWlmKHdhc21NZW1vcnkp
e2J1ZmZlcj13YXNtTWVtb3J5LmJ1ZmZlcn1JTklUSUFMX0lOSVRJQUxfTUVNT1JZPWJ1ZmZlci5i
eXRlTGVuZ3RoO3VwZGF0ZUdsb2JhbEJ1ZmZlckFuZFZpZXdzKGJ1ZmZlcik7SEVBUDMyW0RZTkFN
SUNUT1BfUFRSPj4yXT1EWU5BTUlDX0JBU0U7ZnVuY3Rpb24gY2FsbFJ1bnRpbWVDYWxsYmFja3Mo
Y2FsbGJhY2tzKXt3aGlsZShjYWxsYmFja3MubGVuZ3RoPjApe3ZhciBjYWxsYmFjaz1jYWxsYmFj
a3Muc2hpZnQoKTtpZih0eXBlb2YgY2FsbGJhY2s9PSJmdW5jdGlvbiIpe2NhbGxiYWNrKE1vZHVs
ZSk7Y29udGludWV9dmFyIGZ1bmM9Y2FsbGJhY2suZnVuYztpZih0eXBlb2YgZnVuYz09PSJudW1i
ZXIiKXtpZihjYWxsYmFjay5hcmc9PT11bmRlZmluZWQpe01vZHVsZVsiZHluQ2FsbF92Il0oZnVu
Yyl9ZWxzZXtNb2R1bGVbImR5bkNhbGxfdmkiXShmdW5jLGNhbGxiYWNrLmFyZyl9fWVsc2V7ZnVu
YyhjYWxsYmFjay5hcmc9PT11bmRlZmluZWQ/bnVsbDpjYWxsYmFjay5hcmcpfX19dmFyIF9fQVRQ
UkVSVU5fXz1bXTt2YXIgX19BVElOSVRfXz1bXTt2YXIgX19BVE1BSU5fXz1bXTt2YXIgX19BVFBP
U1RSVU5fXz1bXTt2YXIgcnVudGltZUluaXRpYWxpemVkPWZhbHNlO3ZhciBydW50aW1lRXhpdGVk
PWZhbHNlO2Z1bmN0aW9uIHByZVJ1bigpe2lmKE1vZHVsZVsicHJlUnVuIl0pe2lmKHR5cGVvZiBN
b2R1bGVbInByZVJ1biJdPT0iZnVuY3Rpb24iKU1vZHVsZVsicHJlUnVuIl09W01vZHVsZVsicHJl
UnVuIl1dO3doaWxlKE1vZHVsZVsicHJlUnVuIl0ubGVuZ3RoKXthZGRPblByZVJ1bihNb2R1bGVb
InByZVJ1biJdLnNoaWZ0KCkpfX1jYWxsUnVudGltZUNhbGxiYWNrcyhfX0FUUFJFUlVOX18pfWZ1
bmN0aW9uIGluaXRSdW50aW1lKCl7cnVudGltZUluaXRpYWxpemVkPXRydWU7Y2FsbFJ1bnRpbWVD
YWxsYmFja3MoX19BVElOSVRfXyl9ZnVuY3Rpb24gcHJlTWFpbigpe2NhbGxSdW50aW1lQ2FsbGJh
Y2tzKF9fQVRNQUlOX18pfWZ1bmN0aW9uIGV4aXRSdW50aW1lKCl7cnVudGltZUV4aXRlZD10cnVl
fWZ1bmN0aW9uIHBvc3RSdW4oKXtpZihNb2R1bGVbInBvc3RSdW4iXSl7aWYodHlwZW9mIE1vZHVs
ZVsicG9zdFJ1biJdPT0iZnVuY3Rpb24iKU1vZHVsZVsicG9zdFJ1biJdPVtNb2R1bGVbInBvc3RS
dW4iXV07d2hpbGUoTW9kdWxlWyJwb3N0UnVuIl0ubGVuZ3RoKXthZGRPblBvc3RSdW4oTW9kdWxl
WyJwb3N0UnVuIl0uc2hpZnQoKSl9fWNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRQT1NUUlVOX18p
fWZ1bmN0aW9uIGFkZE9uUHJlUnVuKGNiKXtfX0FUUFJFUlVOX18udW5zaGlmdChjYil9ZnVuY3Rp
b24gYWRkT25Qb3N0UnVuKGNiKXtfX0FUUE9TVFJVTl9fLnVuc2hpZnQoY2IpfXZhciBNYXRoX2Fi
cz1NYXRoLmFiczt2YXIgTWF0aF9jZWlsPU1hdGguY2VpbDt2YXIgTWF0aF9mbG9vcj1NYXRoLmZs
b29yO3ZhciBNYXRoX21pbj1NYXRoLm1pbjt2YXIgcnVuRGVwZW5kZW5jaWVzPTA7dmFyIHJ1bkRl
cGVuZGVuY3lXYXRjaGVyPW51bGw7dmFyIGRlcGVuZGVuY2llc0Z1bGZpbGxlZD1udWxsO2Z1bmN0
aW9uIGFkZFJ1bkRlcGVuZGVuY3koaWQpe3J1bkRlcGVuZGVuY2llcysrO2lmKE1vZHVsZVsibW9u
aXRvclJ1bkRlcGVuZGVuY2llcyJdKXtNb2R1bGVbIm1vbml0b3JSdW5EZXBlbmRlbmNpZXMiXShy
dW5EZXBlbmRlbmNpZXMpfX1mdW5jdGlvbiByZW1vdmVSdW5EZXBlbmRlbmN5KGlkKXtydW5EZXBl
bmRlbmNpZXMtLTtpZihNb2R1bGVbIm1vbml0b3JSdW5EZXBlbmRlbmNpZXMiXSl7TW9kdWxlWyJt
b25pdG9yUnVuRGVwZW5kZW5jaWVzIl0ocnVuRGVwZW5kZW5jaWVzKX1pZihydW5EZXBlbmRlbmNp
ZXM9PTApe2lmKHJ1bkRlcGVuZGVuY3lXYXRjaGVyIT09bnVsbCl7Y2xlYXJJbnRlcnZhbChydW5E
ZXBlbmRlbmN5V2F0Y2hlcik7cnVuRGVwZW5kZW5jeVdhdGNoZXI9bnVsbH1pZihkZXBlbmRlbmNp
ZXNGdWxmaWxsZWQpe3ZhciBjYWxsYmFjaz1kZXBlbmRlbmNpZXNGdWxmaWxsZWQ7ZGVwZW5kZW5j
aWVzRnVsZmlsbGVkPW51bGw7Y2FsbGJhY2soKX19fU1vZHVsZVsicHJlbG9hZGVkSW1hZ2VzIl09
e307TW9kdWxlWyJwcmVsb2FkZWRBdWRpb3MiXT17fTtmdW5jdGlvbiBhYm9ydCh3aGF0KXtpZihN
b2R1bGVbIm9uQWJvcnQiXSl7TW9kdWxlWyJvbkFib3J0Il0od2hhdCl9d2hhdCs9IiI7b3V0KHdo
YXQpO2Vycih3aGF0KTtBQk9SVD10cnVlO0VYSVRTVEFUVVM9MTt3aGF0PSJhYm9ydCgiK3doYXQr
IikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGluZm8uIjt0aHJvdyBuZXcg
V2ViQXNzZW1ibHkuUnVudGltZUVycm9yKHdoYXQpfWZ1bmN0aW9uIGhhc1ByZWZpeChzdHIscHJl
Zml4KXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoP3N0ci5zdGFydHNXaXRoKHBy
ZWZpeCk6c3RyLmluZGV4T2YocHJlZml4KT09PTB9dmFyIGRhdGFVUklQcmVmaXg9ImRhdGE6YXBw
bGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiO2Z1bmN0aW9uIGlzRGF0YVVSSShmaWxlbmFt
ZSl7cmV0dXJuIGhhc1ByZWZpeChmaWxlbmFtZSxkYXRhVVJJUHJlZml4KX12YXIgZmlsZVVSSVBy
ZWZpeD0iZmlsZTovLyI7ZnVuY3Rpb24gaXNGaWxlVVJJKGZpbGVuYW1lKXtyZXR1cm4gaGFzUHJl
Zml4KGZpbGVuYW1lLGZpbGVVUklQcmVmaXgpfXZhciB3YXNtQmluYXJ5RmlsZT0iaW50ZXJwcmV0
ZXItd2FzbS53YXNtIjtpZighaXNEYXRhVVJJKHdhc21CaW5hcnlGaWxlKSl7d2FzbUJpbmFyeUZp
bGU9bG9jYXRlRmlsZSh3YXNtQmluYXJ5RmlsZSl9ZnVuY3Rpb24gZ2V0QmluYXJ5KCl7dHJ5e2lm
KHdhc21CaW5hcnkpe3JldHVybiBuZXcgVWludDhBcnJheSh3YXNtQmluYXJ5KX1pZihyZWFkQmlu
YXJ5KXtyZXR1cm4gcmVhZEJpbmFyeSh3YXNtQmluYXJ5RmlsZSl9ZWxzZXt0aHJvdyJib3RoIGFz
eW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZCJ9fWNhdGNoKGVycil7YWJv
cnQoZXJyKX19ZnVuY3Rpb24gZ2V0QmluYXJ5UHJvbWlzZSgpe2lmKCF3YXNtQmluYXJ5JiYoRU5W
SVJPTk1FTlRfSVNfV0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpJiZ0eXBlb2YgZmV0Y2g9PT0i
ZnVuY3Rpb24iJiYhaXNGaWxlVVJJKHdhc21CaW5hcnlGaWxlKSl7cmV0dXJuIGZldGNoKHdhc21C
aW5hcnlGaWxlLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyZXNw
b25zZSl7aWYoIXJlc3BvbnNlWyJvayJdKXt0aHJvdyJmYWlsZWQgdG8gbG9hZCB3YXNtIGJpbmFy
eSBmaWxlIGF0ICciK3dhc21CaW5hcnlGaWxlKyInIn1yZXR1cm4gcmVzcG9uc2VbImFycmF5QnVm
ZmVyIl0oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGdldEJpbmFyeSgpfSl9cmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtyZXNvbHZlKGdldEJpbmFyeSgpKX0p
fWZ1bmN0aW9uIGNyZWF0ZVdhc20oKXt2YXIgaW5mbz17ImVudiI6YXNtTGlicmFyeUFyZywid2Fz
aV9zbmFwc2hvdF9wcmV2aWV3MSI6YXNtTGlicmFyeUFyZ307ZnVuY3Rpb24gcmVjZWl2ZUluc3Rh
bmNlKGluc3RhbmNlLG1vZHVsZSl7dmFyIGV4cG9ydHM9aW5zdGFuY2UuZXhwb3J0cztNb2R1bGVb
ImFzbSJdPWV4cG9ydHM7cmVtb3ZlUnVuRGVwZW5kZW5jeSgid2FzbS1pbnN0YW50aWF0ZSIpfWFk
ZFJ1bkRlcGVuZGVuY3koIndhc20taW5zdGFudGlhdGUiKTtmdW5jdGlvbiByZWNlaXZlSW5zdGFu
dGlhdGVkU291cmNlKG91dHB1dCl7cmVjZWl2ZUluc3RhbmNlKG91dHB1dFsiaW5zdGFuY2UiXSl9
ZnVuY3Rpb24gaW5zdGFudGlhdGVBcnJheUJ1ZmZlcihyZWNlaXZlcil7cmV0dXJuIGdldEJpbmFy
eVByb21pc2UoKS50aGVuKGZ1bmN0aW9uKGJpbmFyeSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3Rh
bnRpYXRlKGJpbmFyeSxpbmZvKX0pLnRoZW4ocmVjZWl2ZXIsZnVuY3Rpb24ocmVhc29uKXtlcnIo
ImZhaWxlZCB0byBhc3luY2hyb25vdXNseSBwcmVwYXJlIHdhc206ICIrcmVhc29uKTthYm9ydChy
ZWFzb24pfSl9ZnVuY3Rpb24gaW5zdGFudGlhdGVBc3luYygpe2lmKCF3YXNtQmluYXJ5JiZ0eXBl
b2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmc9PT0iZnVuY3Rpb24iJiYhaXNEYXRh
VVJJKHdhc21CaW5hcnlGaWxlKSYmIWlzRmlsZVVSSSh3YXNtQmluYXJ5RmlsZSkmJnR5cGVvZiBm
ZXRjaD09PSJmdW5jdGlvbiIpe2ZldGNoKHdhc21CaW5hcnlGaWxlLHtjcmVkZW50aWFsczoic2Ft
ZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyZXNwb25zZSl7dmFyIHJlc3VsdD1XZWJBc3NlbWJs
eS5pbnN0YW50aWF0ZVN0cmVhbWluZyhyZXNwb25zZSxpbmZvKTtyZXR1cm4gcmVzdWx0LnRoZW4o
cmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSxmdW5jdGlvbihyZWFzb24pe2Vycigid2FzbSBzdHJl
YW1pbmcgY29tcGlsZSBmYWlsZWQ6ICIrcmVhc29uKTtlcnIoImZhbGxpbmcgYmFjayB0byBBcnJh
eUJ1ZmZlciBpbnN0YW50aWF0aW9uIik7aW5zdGFudGlhdGVBcnJheUJ1ZmZlcihyZWNlaXZlSW5z
dGFudGlhdGVkU291cmNlKX0pfSl9ZWxzZXtyZXR1cm4gaW5zdGFudGlhdGVBcnJheUJ1ZmZlcihy
ZWNlaXZlSW5zdGFudGlhdGVkU291cmNlKX19aWYoTW9kdWxlWyJpbnN0YW50aWF0ZVdhc20iXSl7
dHJ5e3ZhciBleHBvcnRzPU1vZHVsZVsiaW5zdGFudGlhdGVXYXNtIl0oaW5mbyxyZWNlaXZlSW5z
dGFuY2UpO3JldHVybiBleHBvcnRzfWNhdGNoKGUpe2VycigiTW9kdWxlLmluc3RhbnRpYXRlV2Fz
bSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogIitlKTtyZXR1cm4gZmFsc2V9fWluc3RhbnRp
YXRlQXN5bmMoKTtyZXR1cm57fX12YXIgdGVtcERvdWJsZTt2YXIgdGVtcEk2NDtfX0FUSU5JVF9f
LnB1c2goe2Z1bmM6ZnVuY3Rpb24oKXtfX193YXNtX2NhbGxfY3RvcnMoKX19KTtmdW5jdGlvbiBk
ZW1hbmdsZShmdW5jKXtyZXR1cm4gZnVuY31mdW5jdGlvbiBkZW1hbmdsZUFsbCh0ZXh0KXt2YXIg
cmVnZXg9L1xiX1pbXHdcZF9dKy9nO3JldHVybiB0ZXh0LnJlcGxhY2UocmVnZXgsZnVuY3Rpb24o
eCl7dmFyIHk9ZGVtYW5nbGUoeCk7cmV0dXJuIHg9PT15P3g6eSsiIFsiK3grIl0ifSl9ZnVuY3Rp
b24ganNTdGFja1RyYWNlKCl7dmFyIGVycj1uZXcgRXJyb3I7aWYoIWVyci5zdGFjayl7dHJ5e3Ro
cm93IG5ldyBFcnJvcn1jYXRjaChlKXtlcnI9ZX1pZighZXJyLnN0YWNrKXtyZXR1cm4iKG5vIHN0
YWNrIHRyYWNlIGF2YWlsYWJsZSkifX1yZXR1cm4gZXJyLnN0YWNrLnRvU3RyaW5nKCl9ZnVuY3Rp
b24gX2Vtc2NyaXB0ZW5fZ2V0X3NicmtfcHRyKCl7cmV0dXJuIDc0MDh9ZnVuY3Rpb24gX2Vtc2Ny
aXB0ZW5fbWVtY3B5X2JpZyhkZXN0LHNyYyxudW0pe0hFQVBVOC5jb3B5V2l0aGluKGRlc3Qsc3Jj
LHNyYytudW0pfWZ1bmN0aW9uIGFib3J0T25DYW5ub3RHcm93TWVtb3J5KHJlcXVlc3RlZFNpemUp
e2Fib3J0KCJPT00iKX1mdW5jdGlvbiBfZW1zY3JpcHRlbl9yZXNpemVfaGVhcChyZXF1ZXN0ZWRT
aXplKXtyZXF1ZXN0ZWRTaXplPXJlcXVlc3RlZFNpemU+Pj4wO2Fib3J0T25DYW5ub3RHcm93TWVt
b3J5KHJlcXVlc3RlZFNpemUpfXZhciBQQVRIPXtzcGxpdFBhdGg6ZnVuY3Rpb24oZmlsZW5hbWUp
e3ZhciBzcGxpdFBhdGhSZT0vXihcLz98KShbXHNcU10qPykoKD86XC57MSwyfXxbXlwvXSs/fCko
XC5bXi5cL10qfCkpKD86W1wvXSopJC87cmV0dXJuIHNwbGl0UGF0aFJlLmV4ZWMoZmlsZW5hbWUp
LnNsaWNlKDEpfSxub3JtYWxpemVBcnJheTpmdW5jdGlvbihwYXJ0cyxhbGxvd0Fib3ZlUm9vdCl7
dmFyIHVwPTA7Zm9yKHZhciBpPXBhcnRzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgbGFzdD1wYXJ0
c1tpXTtpZihsYXN0PT09Ii4iKXtwYXJ0cy5zcGxpY2UoaSwxKX1lbHNlIGlmKGxhc3Q9PT0iLi4i
KXtwYXJ0cy5zcGxpY2UoaSwxKTt1cCsrfWVsc2UgaWYodXApe3BhcnRzLnNwbGljZShpLDEpO3Vw
LS19fWlmKGFsbG93QWJvdmVSb290KXtmb3IoO3VwO3VwLS0pe3BhcnRzLnVuc2hpZnQoIi4uIil9
fXJldHVybiBwYXJ0c30sbm9ybWFsaXplOmZ1bmN0aW9uKHBhdGgpe3ZhciBpc0Fic29sdXRlPXBh
dGguY2hhckF0KDApPT09Ii8iLHRyYWlsaW5nU2xhc2g9cGF0aC5zdWJzdHIoLTEpPT09Ii8iO3Bh
dGg9UEFUSC5ub3JtYWxpemVBcnJheShwYXRoLnNwbGl0KCIvIikuZmlsdGVyKGZ1bmN0aW9uKHAp
e3JldHVybiEhcH0pLCFpc0Fic29sdXRlKS5qb2luKCIvIik7aWYoIXBhdGgmJiFpc0Fic29sdXRl
KXtwYXRoPSIuIn1pZihwYXRoJiZ0cmFpbGluZ1NsYXNoKXtwYXRoKz0iLyJ9cmV0dXJuKGlzQWJz
b2x1dGU/Ii8iOiIiKStwYXRofSxkaXJuYW1lOmZ1bmN0aW9uKHBhdGgpe3ZhciByZXN1bHQ9UEFU
SC5zcGxpdFBhdGgocGF0aCkscm9vdD1yZXN1bHRbMF0sZGlyPXJlc3VsdFsxXTtpZighcm9vdCYm
IWRpcil7cmV0dXJuIi4ifWlmKGRpcil7ZGlyPWRpci5zdWJzdHIoMCxkaXIubGVuZ3RoLTEpfXJl
dHVybiByb290K2Rpcn0sYmFzZW5hbWU6ZnVuY3Rpb24ocGF0aCl7aWYocGF0aD09PSIvIilyZXR1
cm4iLyI7dmFyIGxhc3RTbGFzaD1wYXRoLmxhc3RJbmRleE9mKCIvIik7aWYobGFzdFNsYXNoPT09
LTEpcmV0dXJuIHBhdGg7cmV0dXJuIHBhdGguc3Vic3RyKGxhc3RTbGFzaCsxKX0sZXh0bmFtZTpm
dW5jdGlvbihwYXRoKXtyZXR1cm4gUEFUSC5zcGxpdFBhdGgocGF0aClbM119LGpvaW46ZnVuY3Rp
b24oKXt2YXIgcGF0aHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApO3Jl
dHVybiBQQVRILm5vcm1hbGl6ZShwYXRocy5qb2luKCIvIikpfSxqb2luMjpmdW5jdGlvbihsLHIp
e3JldHVybiBQQVRILm5vcm1hbGl6ZShsKyIvIityKX19O3ZhciBTWVNDQUxMUz17bWFwcGluZ3M6
e30sYnVmZmVyczpbbnVsbCxbXSxbXV0scHJpbnRDaGFyOmZ1bmN0aW9uKHN0cmVhbSxjdXJyKXt2
YXIgYnVmZmVyPVNZU0NBTExTLmJ1ZmZlcnNbc3RyZWFtXTtpZihjdXJyPT09MHx8Y3Vycj09PTEw
KXsoc3RyZWFtPT09MT9vdXQ6ZXJyKShVVEY4QXJyYXlUb1N0cmluZyhidWZmZXIsMCkpO2J1ZmZl
ci5sZW5ndGg9MH1lbHNle2J1ZmZlci5wdXNoKGN1cnIpfX0sdmFyYXJnczp1bmRlZmluZWQsZ2V0
OmZ1bmN0aW9uKCl7U1lTQ0FMTFMudmFyYXJncys9NDt2YXIgcmV0PUhFQVAzMltTWVNDQUxMUy52
YXJhcmdzLTQ+PjJdO3JldHVybiByZXR9LGdldFN0cjpmdW5jdGlvbihwdHIpe3ZhciByZXQ9VVRG
OFRvU3RyaW5nKHB0cik7cmV0dXJuIHJldH0sZ2V0NjQ6ZnVuY3Rpb24obG93LGhpZ2gpe3JldHVy
biBsb3d9fTtmdW5jdGlvbiBfZmRfd3JpdGUoZmQsaW92LGlvdmNudCxwbnVtKXt2YXIgbnVtPTA7
Zm9yKHZhciBpPTA7aTxpb3ZjbnQ7aSsrKXt2YXIgcHRyPUhFQVAzMltpb3YraSo4Pj4yXTt2YXIg
bGVuPUhFQVAzMltpb3YrKGkqOCs0KT4+Ml07Zm9yKHZhciBqPTA7ajxsZW47aisrKXtTWVNDQUxM
Uy5wcmludENoYXIoZmQsSEVBUFU4W3B0citqXSl9bnVtKz1sZW59SEVBUDMyW3BudW0+PjJdPW51
bTtyZXR1cm4gMH1mdW5jdGlvbiBfc2V0VGVtcFJldDAoJGkpe3NldFRlbXBSZXQwKCRpfDApfXZh
ciBBU1NFUlRJT05TPWZhbHNlO3ZhciBhc21MaWJyYXJ5QXJnPXsiZW1zY3JpcHRlbl9nZXRfc2Jy
a19wdHIiOl9lbXNjcmlwdGVuX2dldF9zYnJrX3B0ciwiZW1zY3JpcHRlbl9tZW1jcHlfYmlnIjpf
ZW1zY3JpcHRlbl9tZW1jcHlfYmlnLCJlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwIjpfZW1zY3JpcHRl
bl9yZXNpemVfaGVhcCwiZmRfd3JpdGUiOl9mZF93cml0ZSwibWVtb3J5Ijp3YXNtTWVtb3J5LCJz
ZXRUZW1wUmV0MCI6X3NldFRlbXBSZXQwLCJ0YWJsZSI6d2FzbVRhYmxlfTt2YXIgYXNtPWNyZWF0
ZVdhc20oKTtNb2R1bGVbImFzbSJdPWFzbTt2YXIgX19fd2FzbV9jYWxsX2N0b3JzPU1vZHVsZVsi
X19fd2FzbV9jYWxsX2N0b3JzIl09ZnVuY3Rpb24oKXtyZXR1cm4oX19fd2FzbV9jYWxsX2N0b3Jz
PU1vZHVsZVsiX19fd2FzbV9jYWxsX2N0b3JzIl09TW9kdWxlWyJhc20iXVsiX193YXNtX2NhbGxf
Y3RvcnMiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgX21haW49TW9kdWxlWyJfbWFpbiJd
PWZ1bmN0aW9uKCl7cmV0dXJuKF9tYWluPU1vZHVsZVsiX21haW4iXT1Nb2R1bGVbImFzbSJdWyJt
YWluIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9tYWxsb2M9TW9kdWxlWyJfbWFsbG9j
Il09ZnVuY3Rpb24oKXtyZXR1cm4oX21hbGxvYz1Nb2R1bGVbIl9tYWxsb2MiXT1Nb2R1bGVbImFz
bSJdWyJtYWxsb2MiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgX19fZXJybm9fbG9jYXRp
b249TW9kdWxlWyJfX19lcnJub19sb2NhdGlvbiJdPWZ1bmN0aW9uKCl7cmV0dXJuKF9fX2Vycm5v
X2xvY2F0aW9uPU1vZHVsZVsiX19fZXJybm9fbG9jYXRpb24iXT1Nb2R1bGVbImFzbSJdWyJfX2Vy
cm5vX2xvY2F0aW9uIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9mcmVlPU1vZHVsZVsi
X2ZyZWUiXT1mdW5jdGlvbigpe3JldHVybihfZnJlZT1Nb2R1bGVbIl9mcmVlIl09TW9kdWxlWyJh
c20iXVsiZnJlZSJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBzdGFja1NhdmU9TW9kdWxl
WyJzdGFja1NhdmUiXT1mdW5jdGlvbigpe3JldHVybihzdGFja1NhdmU9TW9kdWxlWyJzdGFja1Nh
dmUiXT1Nb2R1bGVbImFzbSJdWyJzdGFja1NhdmUiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2
YXIgc3RhY2tBbGxvYz1Nb2R1bGVbInN0YWNrQWxsb2MiXT1mdW5jdGlvbigpe3JldHVybihzdGFj
a0FsbG9jPU1vZHVsZVsic3RhY2tBbGxvYyJdPU1vZHVsZVsiYXNtIl1bInN0YWNrQWxsb2MiXSku
YXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgc3RhY2tSZXN0b3JlPU1vZHVsZVsic3RhY2tSZXN0
b3JlIl09ZnVuY3Rpb24oKXtyZXR1cm4oc3RhY2tSZXN0b3JlPU1vZHVsZVsic3RhY2tSZXN0b3Jl
Il09TW9kdWxlWyJhc20iXVsic3RhY2tSZXN0b3JlIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07
dmFyIF9fZ3Jvd1dhc21NZW1vcnk9TW9kdWxlWyJfX2dyb3dXYXNtTWVtb3J5Il09ZnVuY3Rpb24o
KXtyZXR1cm4oX19ncm93V2FzbU1lbW9yeT1Nb2R1bGVbIl9fZ3Jvd1dhc21NZW1vcnkiXT1Nb2R1
bGVbImFzbSJdWyJfX2dyb3dXYXNtTWVtb3J5Il0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFy
IGR5bkNhbGxfaWk9TW9kdWxlWyJkeW5DYWxsX2lpIl09ZnVuY3Rpb24oKXtyZXR1cm4oZHluQ2Fs
bF9paT1Nb2R1bGVbImR5bkNhbGxfaWkiXT1Nb2R1bGVbImFzbSJdWyJkeW5DYWxsX2lpIl0pLmFw
cGx5KG51bGwsYXJndW1lbnRzKX07dmFyIGR5bkNhbGxfaWlpaT1Nb2R1bGVbImR5bkNhbGxfaWlp
aSJdPWZ1bmN0aW9uKCl7cmV0dXJuKGR5bkNhbGxfaWlpaT1Nb2R1bGVbImR5bkNhbGxfaWlpaSJd
PU1vZHVsZVsiYXNtIl1bImR5bkNhbGxfaWlpaSJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3Zh
ciBkeW5DYWxsX2ppamk9TW9kdWxlWyJkeW5DYWxsX2ppamkiXT1mdW5jdGlvbigpe3JldHVybihk
eW5DYWxsX2ppamk9TW9kdWxlWyJkeW5DYWxsX2ppamkiXT1Nb2R1bGVbImFzbSJdWyJkeW5DYWxs
X2ppamkiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtNb2R1bGVbImFzbSJdPWFzbTt2YXIgY2Fs
bGVkUnVuO2Z1bmN0aW9uIEV4aXRTdGF0dXMoc3RhdHVzKXt0aGlzLm5hbWU9IkV4aXRTdGF0dXMi
O3RoaXMubWVzc2FnZT0iUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdCgiK3N0YXR1cysiKSI7
dGhpcy5zdGF0dXM9c3RhdHVzfXZhciBjYWxsZWRNYWluPWZhbHNlO2RlcGVuZGVuY2llc0Z1bGZp
bGxlZD1mdW5jdGlvbiBydW5DYWxsZXIoKXtpZighY2FsbGVkUnVuKXJ1bigpO2lmKCFjYWxsZWRS
dW4pZGVwZW5kZW5jaWVzRnVsZmlsbGVkPXJ1bkNhbGxlcn07ZnVuY3Rpb24gY2FsbE1haW4oYXJn
cyl7dmFyIGVudHJ5RnVuY3Rpb249TW9kdWxlWyJfbWFpbiJdO2FyZ3M9YXJnc3x8W107dmFyIGFy
Z2M9YXJncy5sZW5ndGgrMTt2YXIgYXJndj1zdGFja0FsbG9jKChhcmdjKzEpKjQpO0hFQVAzMlth
cmd2Pj4yXT1hbGxvY2F0ZVVURjhPblN0YWNrKHRoaXNQcm9ncmFtKTtmb3IodmFyIGk9MTtpPGFy
Z2M7aSsrKXtIRUFQMzJbKGFyZ3Y+PjIpK2ldPWFsbG9jYXRlVVRGOE9uU3RhY2soYXJnc1tpLTFd
KX1IRUFQMzJbKGFyZ3Y+PjIpK2FyZ2NdPTA7dHJ5e3ZhciByZXQ9ZW50cnlGdW5jdGlvbihhcmdj
LGFyZ3YpO2V4aXQocmV0LHRydWUpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBFeGl0U3RhdHVz
KXtyZXR1cm59ZWxzZSBpZihlPT0idW53aW5kIil7bm9FeGl0UnVudGltZT10cnVlO3JldHVybn1l
bHNle3ZhciB0b0xvZz1lO2lmKGUmJnR5cGVvZiBlPT09Im9iamVjdCImJmUuc3RhY2spe3RvTG9n
PVtlLGUuc3RhY2tdfWVycigiZXhjZXB0aW9uIHRocm93bjogIit0b0xvZyk7cXVpdF8oMSxlKX19
ZmluYWxseXtjYWxsZWRNYWluPXRydWV9fWZ1bmN0aW9uIHJ1bihhcmdzKXthcmdzPWFyZ3N8fGFy
Z3VtZW50c187aWYocnVuRGVwZW5kZW5jaWVzPjApe3JldHVybn1wcmVSdW4oKTtpZihydW5EZXBl
bmRlbmNpZXM+MClyZXR1cm47ZnVuY3Rpb24gZG9SdW4oKXtpZihjYWxsZWRSdW4pcmV0dXJuO2Nh
bGxlZFJ1bj10cnVlO01vZHVsZVsiY2FsbGVkUnVuIl09dHJ1ZTtpZihBQk9SVClyZXR1cm47aW5p
dFJ1bnRpbWUoKTtwcmVNYWluKCk7aWYoTW9kdWxlWyJvblJ1bnRpbWVJbml0aWFsaXplZCJdKU1v
ZHVsZVsib25SdW50aW1lSW5pdGlhbGl6ZWQiXSgpO2lmKHNob3VsZFJ1bk5vdyljYWxsTWFpbihh
cmdzKTtwb3N0UnVuKCl9aWYoTW9kdWxlWyJzZXRTdGF0dXMiXSl7TW9kdWxlWyJzZXRTdGF0dXMi
XSgiUnVubmluZy4uLiIpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9u
KCl7TW9kdWxlWyJzZXRTdGF0dXMiXSgiIil9LDEpO2RvUnVuKCl9LDEpfWVsc2V7ZG9SdW4oKX19
TW9kdWxlWyJydW4iXT1ydW47ZnVuY3Rpb24gZXhpdChzdGF0dXMsaW1wbGljaXQpe2lmKGltcGxp
Y2l0JiZub0V4aXRSdW50aW1lJiZzdGF0dXM9PT0wKXtyZXR1cm59aWYobm9FeGl0UnVudGltZSl7
fWVsc2V7QUJPUlQ9dHJ1ZTtFWElUU1RBVFVTPXN0YXR1cztleGl0UnVudGltZSgpO2lmKE1vZHVs
ZVsib25FeGl0Il0pTW9kdWxlWyJvbkV4aXQiXShzdGF0dXMpfXF1aXRfKHN0YXR1cyxuZXcgRXhp
dFN0YXR1cyhzdGF0dXMpKX1pZihNb2R1bGVbInByZUluaXQiXSl7aWYodHlwZW9mIE1vZHVsZVsi
cHJlSW5pdCJdPT0iZnVuY3Rpb24iKU1vZHVsZVsicHJlSW5pdCJdPVtNb2R1bGVbInByZUluaXQi
XV07d2hpbGUoTW9kdWxlWyJwcmVJbml0Il0ubGVuZ3RoPjApe01vZHVsZVsicHJlSW5pdCJdLnBv
cCgpKCl9fXZhciBzaG91bGRSdW5Ob3c9dHJ1ZTtpZihNb2R1bGVbIm5vSW5pdGlhbFJ1biJdKXNo
b3VsZFJ1bk5vdz1mYWxzZTtub0V4aXRSdW50aW1lPXRydWU7cnVuKCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432227</attachid>
            <date>2021-06-24 17:56:36 -0700</date>
            <delta_ts>2021-06-25 07:23:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227295-20210624205635.patch</filename>
            <type>text/plain</type>
            <size>28427</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTY2CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE0N2ZlNDhmOTBmNTAyZmQzNWZkNDE2Y2E5YjUx
N2I0OTExYTMwYTUuLjk3YWUwZDRkYTgxODllYzI4MzJmNWNlNWNmYjQzMmQ3NjkxN2YxN2IgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTEyIEBACisyMDIxLTA2LTIzICBNaWtoYWlsIFIuIEdhZGVsaGEgIDxtaWtoYWlsQGln
YWxpYS5jb20+CisKKyAgICAgICAgVW5za2lwIGludGVycHJldGVyLXdhc20uanMgb24gQVJNIGFu
ZCBNSVBTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcyOTUKKworICAgICAgICBSZXZpZXdlZCBieSBDYWlvIExpbWEuCisKKyAgICAgICAgQ2hhbmdl
ZCB0aGUgdGVzdGNhc2UgdG8gYmUgZ3VhcmRlZCBieSAkdm0uaXNXYXNtU3VwcG9ydGVkKCksIHNv
IHRoZQorICAgICAgICB0ZXN0IHdpbGwgYmUgZXhlY3V0ZWQgb25jZSB3YXNtIGlzIGF2YWlsYWJs
ZSBpbiB0aGUgYXJjaAorCisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL2ludGVycHJldGVyLXdh
c20uanM6CisgICAgICAgIChrZXkuaW4uTW9kdWxlLk1vZHVsZS5oYXNPd25Qcm9wZXJ0eSk6IERl
bGV0ZWQuCisgICAgICAgIChxdWl0Xyk6IERlbGV0ZWQuCisgICAgICAgIChsb2NhdGVGaWxlKTog
RGVsZXRlZC4KKyAgICAgICAgKEVOVklST05NRU5UX0lTX05PREUucmVhZF8pOiBEZWxldGVkLgor
ICAgICAgICAoRU5WSVJPTk1FTlRfSVNfTk9ERS5yZWFkQmluYXJ5KTogRGVsZXRlZC4KKyAgICAg
ICAgKEVOVklST05NRU5UX0lTX05PREUucXVpdF8pOiBEZWxldGVkLgorICAgICAgICAoRU5WSVJP
Tk1FTlRfSVNfTk9ERS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAg
ICAgICAoZWxzZS5yZWFkXyk6IERlbGV0ZWQuCisgICAgICAgIChlbHNlLnJlYWRCaW5hcnkpOiBE
ZWxldGVkLgorICAgICAgICAoZWxzZS5xdWl0Xyk6IERlbGV0ZWQuCisgICAgICAgIChlbHNlKTog
RGVsZXRlZC4KKyAgICAgICAgKGVsc2UueGhyLm9ubG9hZCk6IERlbGV0ZWQuCisgICAgICAgIChl
bHNlLnJlYWRBc3luYyk6IERlbGV0ZWQuCisgICAgICAgIChlbHNlLnNldFdpbmRvd1RpdGxlKTog
RGVsZXRlZC4KKyAgICAgICAgKGtleS5pbi5tb2R1bGVPdmVycmlkZXMubW9kdWxlT3ZlcnJpZGVz
Lmhhc093blByb3BlcnR5KTogRGVsZXRlZC4KKyAgICAgICAgKGR5bmFtaWNBbGxvYyk6IERlbGV0
ZWQuCisgICAgICAgIChnZXROYXRpdmVUeXBlU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICh3YXJu
T25jZSk6IERlbGV0ZWQuCisgICAgICAgIChjb252ZXJ0SnNGdW5jdGlvblRvV2FzbSk6IERlbGV0
ZWQuCisgICAgICAgIChhZGRGdW5jdGlvbldhc20pOiBEZWxldGVkLgorICAgICAgICAocmVtb3Zl
RnVuY3Rpb25XYXNtKTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgIChz
ZXRUZW1wUmV0MCk6IERlbGV0ZWQuCisgICAgICAgIChzZXRWYWx1ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChhc3NlcnQpOiBEZWxldGVkLgorICAgICAgICAoZ2V0Q0Z1bmMpOiBEZWxldGVkLgorICAg
ICAgICAodG9DLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGNvbnZl
cnRSZXR1cm5WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChjY2FsbCk6IERlbGV0ZWQuCisgICAg
ICAgIChVVEY4QXJyYXlUb1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChVVEY4VG9TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAoc3RyaW5nVG9VVEY4QXJyYXkpOiBEZWxldGVkLgorICAgICAg
ICAoc3RyaW5nVG9VVEY4KTogRGVsZXRlZC4KKyAgICAgICAgKGxlbmd0aEJ5dGVzVVRGOCk6IERl
bGV0ZWQuCisgICAgICAgIChhbGxvY2F0ZVVURjhPblN0YWNrKTogRGVsZXRlZC4KKyAgICAgICAg
KHdyaXRlQXJyYXlUb01lbW9yeSk6IERlbGV0ZWQuCisgICAgICAgICh3cml0ZUFzY2lpVG9NZW1v
cnkpOiBEZWxldGVkLgorICAgICAgICAodXBkYXRlR2xvYmFsQnVmZmVyQW5kVmlld3MpOiBEZWxl
dGVkLgorICAgICAgICAoY2FsbFJ1bnRpbWVDYWxsYmFja3MpOiBEZWxldGVkLgorICAgICAgICAo
cHJlUnVuKTogRGVsZXRlZC4KKyAgICAgICAgKGluaXRSdW50aW1lKTogRGVsZXRlZC4KKyAgICAg
ICAgKHByZU1haW4pOiBEZWxldGVkLgorICAgICAgICAoZXhpdFJ1bnRpbWUpOiBEZWxldGVkLgor
ICAgICAgICAocG9zdFJ1bik6IERlbGV0ZWQuCisgICAgICAgIChhZGRPblByZVJ1bik6IERlbGV0
ZWQuCisgICAgICAgIChhZGRPblBvc3RSdW4pOiBEZWxldGVkLgorICAgICAgICAoYWRkUnVuRGVw
ZW5kZW5jeSk6IERlbGV0ZWQuCisgICAgICAgIChyZW1vdmVSdW5EZXBlbmRlbmN5KTogRGVsZXRl
ZC4KKyAgICAgICAgKGhhc1ByZWZpeCk6IERlbGV0ZWQuCisgICAgICAgIChpc0RhdGFVUkkpOiBE
ZWxldGVkLgorICAgICAgICAoaXNGaWxlVVJJKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEJpbmFy
eSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRCaW5hcnlQcm9taXNlKTogRGVsZXRlZC4KKyAgICAg
ICAgKGNyZWF0ZVdhc20ucmVjZWl2ZUluc3RhbmNlKTogRGVsZXRlZC4KKyAgICAgICAgKGNyZWF0
ZVdhc20ucmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSk6IERlbGV0ZWQuCisgICAgICAgIChjcmVh
dGVXYXNtLmluc3RhbnRpYXRlQXJyYXlCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAoY3JlYXRl
V2FzbS5pbnN0YW50aWF0ZUFzeW5jLik6IERlbGV0ZWQuCisgICAgICAgIChjcmVhdGVXYXNtLmlu
c3RhbnRpYXRlQXN5bmMpOiBEZWxldGVkLgorICAgICAgICAoY3JlYXRlV2FzbSk6IERlbGV0ZWQu
CisgICAgICAgIChfX0FUSU5JVF9fLnB1c2guZnVuYyk6IERlbGV0ZWQuCisgICAgICAgIChkZW1h
bmdsZSk6IERlbGV0ZWQuCisgICAgICAgIChkZW1hbmdsZUFsbCk6IERlbGV0ZWQuCisgICAgICAg
IChfZW1zY3JpcHRlbl9nZXRfc2Jya19wdHIpOiBEZWxldGVkLgorICAgICAgICAoX2Vtc2NyaXB0
ZW5fbWVtY3B5X2JpZyk6IERlbGV0ZWQuCisgICAgICAgIChhYm9ydE9uQ2Fubm90R3Jvd01lbW9y
eSk6IERlbGV0ZWQuCisgICAgICAgIChfZW1zY3JpcHRlbl9yZXNpemVfaGVhcCk6IERlbGV0ZWQu
CisgICAgICAgIChQQVRILnNwbGl0UGF0aCk6IERlbGV0ZWQuCisgICAgICAgIChQQVRILm5vcm1h
bGl6ZUFycmF5KTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEgubm9ybWFsaXplKTogRGVsZXRlZC4K
KyAgICAgICAgKFBBVEguZGlybmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChQQVRILmJhc2VuYW1l
KTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEguZXh0bmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChQ
QVRILmpvaW4pOiBEZWxldGVkLgorICAgICAgICAoUEFUSC5qb2luMik6IERlbGV0ZWQuCisgICAg
ICAgIChTWVNDQUxMUy5wcmludENoYXIpOiBEZWxldGVkLgorICAgICAgICAoU1lTQ0FMTFMuZ2V0
U3RyKTogRGVsZXRlZC4KKyAgICAgICAgKFNZU0NBTExTLmdldDY0KTogRGVsZXRlZC4KKyAgICAg
ICAgKF9mZF93cml0ZSk6IERlbGV0ZWQuCisgICAgICAgIChfc2V0VGVtcFJldDApOiBEZWxldGVk
LgorICAgICAgICAoX19fd2FzbV9jYWxsX2N0b3JzLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVy
ZSk6IERlbGV0ZWQuCisgICAgICAgIChfbWFpbi5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUp
OiBEZWxldGVkLgorICAgICAgICAoX21hbGxvYy5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUp
OiBEZWxldGVkLgorICAgICAgICAoX19fZXJybm9fbG9jYXRpb24uTW9kdWxlLnN0cmluZ19hcHBl
YXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKF9mcmVlLk1vZHVsZS5zdHJpbmdfYXBwZWFy
ZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChzdGFja1NhdmUuTW9kdWxlLnN0cmluZ19hcHBl
YXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0YWNrQWxsb2MuTW9kdWxlLnN0cmluZ19h
cHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0YWNrUmVzdG9yZS5Nb2R1bGUuc3Ry
aW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoX19ncm93V2FzbU1lbW9yeS5N
b2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoZHluQ2FsbF9p
aS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoZHluQ2Fs
bF9paWlpLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChk
eW5DYWxsX2ppamkuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAg
ICAgKEV4aXRTdGF0dXMpOiBEZWxldGVkLgorICAgICAgICAoZGVwZW5kZW5jaWVzRnVsZmlsbGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKGNhbGxNYWluKTogRGVsZXRlZC4KKyAgICAgICAgKHJ1bi5k
b1J1bik6IERlbGV0ZWQuCisgICAgICAgIChydW4pOiBEZWxldGVkLgorICAgICAgICAoZXhpdCk6
IERlbGV0ZWQuCisKIDIwMjEtMDYtMjIgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgRG9uJ3QgYXNzdW1lIHN0cmVzcy9vdXQtb2YtbWVtb3J5LXdoaWxlLWNvbnN0
cnVjdGluZy1CeXRlY29kZUdlbmVyYXRvci5qcyB3aWxsIE9PTQpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9taWNyb2JlbmNobWFya3MvaW50ZXJwcmV0ZXItd2FzbS5qcyBiL0pTVGVzdHMvbWljcm9iZW5j
aG1hcmtzL2ludGVycHJldGVyLXdhc20uanMKaW5kZXggZDA3M2ZlZTIzYzlmZjQ1MDk1NzQ1MDVl
ODBlZjAxMDMwZGFjMTk4YS4uOTg3ZDkxMmIyM2VlZmQ2MTIwZjUyNDY3ZGFlN2YzYjRkNDk1N2Q2
MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvaW50ZXJwcmV0ZXItd2FzbS5q
cworKysgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9pbnRlcnByZXRlci13YXNtLmpzCkBAIC0x
LDMgKzEsNSBAQAotLy9AIHNraXAgaWYgJGFyY2hpdGVjdHVyZSA9PSAiYXJtIiBvciAkYXJjaGl0
ZWN0dXJlID09ICJtaXBzIiBvciAkbW9kZWwgPX4gL0FwcGxlIFdhdGNoLworLy9AIHNraXAgaWYg
JG1vZGVsID1+IC9BcHBsZSBXYXRjaC8KIC8vQCBydW5EZWZhdWx0CitpZiAoJHZtLmlzV2FzbVN1
cHBvcnRlZCgpKSB7CiB2YXIgTW9kdWxlPXR5cGVvZiBNb2R1bGUhPT0idW5kZWZpbmVkIj9Nb2R1
bGU6e307dmFyIG1vZHVsZU92ZXJyaWRlcz17fTt2YXIga2V5O2ZvcihrZXkgaW4gTW9kdWxlKXtp
ZihNb2R1bGUuaGFzT3duUHJvcGVydHkoa2V5KSl7bW9kdWxlT3ZlcnJpZGVzW2tleV09TW9kdWxl
W2tleV19fXZhciBhcmd1bWVudHNfPVtdO3ZhciB0aGlzUHJvZ3JhbT0iLi90aGlzLnByb2dyYW0i
O3ZhciBxdWl0Xz1mdW5jdGlvbihzdGF0dXMsdG9UaHJvdyl7dGhyb3cgdG9UaHJvd307dmFyIEVO
VklST05NRU5UX0lTX1dFQj1mYWxzZTt2YXIgRU5WSVJPTk1FTlRfSVNfV09SS0VSPWZhbHNlO3Zh
ciBFTlZJUk9OTUVOVF9JU19OT0RFPWZhbHNlO3ZhciBFTlZJUk9OTUVOVF9JU19TSEVMTD1mYWxz
ZTtFTlZJUk9OTUVOVF9JU19XRUI9dHlwZW9mIHdpbmRvdz09PSJvYmplY3QiO0VOVklST05NRU5U
X0lTX1dPUktFUj10eXBlb2YgaW1wb3J0U2NyaXB0cz09PSJmdW5jdGlvbiI7RU5WSVJPTk1FTlRf
SVNfTk9ERT10eXBlb2YgcHJvY2Vzcz09PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9u
cz09PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlPT09InN0cmluZyI7RU5W
SVJPTk1FTlRfSVNfU0hFTEw9IUVOVklST05NRU5UX0lTX1dFQiYmIUVOVklST05NRU5UX0lTX05P
REUmJiFFTlZJUk9OTUVOVF9JU19XT1JLRVI7dmFyIHNjcmlwdERpcmVjdG9yeT0iIjtmdW5jdGlv
biBsb2NhdGVGaWxlKHBhdGgpe2lmKE1vZHVsZVsibG9jYXRlRmlsZSJdKXtyZXR1cm4gTW9kdWxl
WyJsb2NhdGVGaWxlIl0ocGF0aCxzY3JpcHREaXJlY3RvcnkpfXJldHVybiBzY3JpcHREaXJlY3Rv
cnkrcGF0aH12YXIgcmVhZF8scmVhZEFzeW5jLHJlYWRCaW5hcnksc2V0V2luZG93VGl0bGU7dmFy
IG5vZGVGUzt2YXIgbm9kZVBhdGg7aWYoRU5WSVJPTk1FTlRfSVNfTk9ERSl7aWYoRU5WSVJPTk1F
TlRfSVNfV09SS0VSKXtzY3JpcHREaXJlY3Rvcnk9cmVxdWlyZSgicGF0aCIpLmRpcm5hbWUoc2Ny
aXB0RGlyZWN0b3J5KSsiLyJ9ZWxzZXtzY3JpcHREaXJlY3Rvcnk9X19kaXJuYW1lKyIvIn1yZWFk
Xz1mdW5jdGlvbiBzaGVsbF9yZWFkKGZpbGVuYW1lLGJpbmFyeSl7aWYoIW5vZGVGUylub2RlRlM9
cmVxdWlyZSgiZnMiKTtpZighbm9kZVBhdGgpbm9kZVBhdGg9cmVxdWlyZSgicGF0aCIpO2ZpbGVu
YW1lPW5vZGVQYXRoWyJub3JtYWxpemUiXShmaWxlbmFtZSk7cmV0dXJuIG5vZGVGU1sicmVhZEZp
bGVTeW5jIl0oZmlsZW5hbWUsYmluYXJ5P251bGw6InV0ZjgiKX07cmVhZEJpbmFyeT1mdW5jdGlv
biByZWFkQmluYXJ5KGZpbGVuYW1lKXt2YXIgcmV0PXJlYWRfKGZpbGVuYW1lLHRydWUpO2lmKCFy
ZXQuYnVmZmVyKXtyZXQ9bmV3IFVpbnQ4QXJyYXkocmV0KX1hc3NlcnQocmV0LmJ1ZmZlcik7cmV0
dXJuIHJldH07aWYocHJvY2Vzc1siYXJndiJdLmxlbmd0aD4xKXt0aGlzUHJvZ3JhbT1wcm9jZXNz
WyJhcmd2Il1bMV0ucmVwbGFjZSgvXFwvZywiLyIpfWFyZ3VtZW50c189cHJvY2Vzc1siYXJndiJd
LnNsaWNlKDIpO2lmKHR5cGVvZiBtb2R1bGUhPT0idW5kZWZpbmVkIil7bW9kdWxlWyJleHBvcnRz
Il09TW9kdWxlfXByb2Nlc3NbIm9uIl0oInVuY2F1Z2h0RXhjZXB0aW9uIixmdW5jdGlvbihleCl7
aWYoIShleCBpbnN0YW5jZW9mIEV4aXRTdGF0dXMpKXt0aHJvdyBleH19KTtwcm9jZXNzWyJvbiJd
KCJ1bmhhbmRsZWRSZWplY3Rpb24iLGFib3J0KTtxdWl0Xz1mdW5jdGlvbihzdGF0dXMpe3Byb2Nl
c3NbImV4aXQiXShzdGF0dXMpfTtNb2R1bGVbImluc3BlY3QiXT1mdW5jdGlvbigpe3JldHVybiJb
RW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XSJ9fWVsc2UgaWYoRU5WSVJPTk1FTlRfSVNfU0hFTEwp
e2lmKHR5cGVvZiByZWFkIT0idW5kZWZpbmVkIil7cmVhZF89ZnVuY3Rpb24gc2hlbGxfcmVhZChm
KXtyZXR1cm4gcmVhZChmKX19cmVhZEJpbmFyeT1mdW5jdGlvbiByZWFkQmluYXJ5KGYpe3ZhciBk
YXRhO2lmKHR5cGVvZiByZWFkYnVmZmVyPT09ImZ1bmN0aW9uIil7cmV0dXJuIG5ldyBVaW50OEFy
cmF5KHJlYWRidWZmZXIoZikpfWRhdGE9cmVhZChmLCJiaW5hcnkiKTthc3NlcnQodHlwZW9mIGRh
dGE9PT0ib2JqZWN0Iik7cmV0dXJuIGRhdGF9O2lmKHR5cGVvZiBzY3JpcHRBcmdzIT0idW5kZWZp
bmVkIil7YXJndW1lbnRzXz1zY3JpcHRBcmdzfWVsc2UgaWYodHlwZW9mIGFyZ3VtZW50cyE9InVu
ZGVmaW5lZCIpe2FyZ3VtZW50c189YXJndW1lbnRzfWlmKHR5cGVvZiBxdWl0PT09ImZ1bmN0aW9u
Iil7cXVpdF89ZnVuY3Rpb24oc3RhdHVzKXtxdWl0KHN0YXR1cyl9fWlmKHR5cGVvZiBwcmludCE9
PSJ1bmRlZmluZWQiKXtpZih0eXBlb2YgY29uc29sZT09PSJ1bmRlZmluZWQiKWNvbnNvbGU9e307
Y29uc29sZS5sb2c9cHJpbnQ7Y29uc29sZS53YXJuPWNvbnNvbGUuZXJyb3I9dHlwZW9mIHByaW50
RXJyIT09InVuZGVmaW5lZCI/cHJpbnRFcnI6cHJpbnR9fWVsc2UgaWYoRU5WSVJPTk1FTlRfSVNf
V0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpe2lmKEVOVklST05NRU5UX0lTX1dPUktFUil7c2Ny
aXB0RGlyZWN0b3J5PXNlbGYubG9jYXRpb24uaHJlZn1lbHNlIGlmKGRvY3VtZW50LmN1cnJlbnRT
Y3JpcHQpe3NjcmlwdERpcmVjdG9yeT1kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyY31pZihzY3Jp
cHREaXJlY3RvcnkuaW5kZXhPZigiYmxvYjoiKSE9PTApe3NjcmlwdERpcmVjdG9yeT1zY3JpcHRE
aXJlY3Rvcnkuc3Vic3RyKDAsc2NyaXB0RGlyZWN0b3J5Lmxhc3RJbmRleE9mKCIvIikrMSl9ZWxz
ZXtzY3JpcHREaXJlY3Rvcnk9IiJ9e3JlYWRfPWZ1bmN0aW9uIHNoZWxsX3JlYWQodXJsKXt2YXIg
eGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VUIix1cmwsZmFsc2UpO3hoci5zZW5k
KG51bGwpO3JldHVybiB4aHIucmVzcG9uc2VUZXh0fTtpZihFTlZJUk9OTUVOVF9JU19XT1JLRVIp
e3JlYWRCaW5hcnk9ZnVuY3Rpb24gcmVhZEJpbmFyeSh1cmwpe3ZhciB4aHI9bmV3IFhNTEh0dHBS
ZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVybCxmYWxzZSk7eGhyLnJlc3BvbnNlVHlwZT0iYXJyYXli
dWZmZXIiO3hoci5zZW5kKG51bGwpO3JldHVybiBuZXcgVWludDhBcnJheSh4aHIucmVzcG9uc2Up
fX1yZWFkQXN5bmM9ZnVuY3Rpb24gcmVhZEFzeW5jKHVybCxvbmxvYWQsb25lcnJvcil7dmFyIHho
cj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhyLm9wZW4oIkdFVCIsdXJsLHRydWUpO3hoci5yZXNwb25z
ZVR5cGU9ImFycmF5YnVmZmVyIjt4aHIub25sb2FkPWZ1bmN0aW9uIHhocl9vbmxvYWQoKXtpZih4
aHIuc3RhdHVzPT0yMDB8fHhoci5zdGF0dXM9PTAmJnhoci5yZXNwb25zZSl7b25sb2FkKHhoci5y
ZXNwb25zZSk7cmV0dXJufW9uZXJyb3IoKX07eGhyLm9uZXJyb3I9b25lcnJvcjt4aHIuc2VuZChu
dWxsKX19c2V0V2luZG93VGl0bGU9ZnVuY3Rpb24odGl0bGUpe2RvY3VtZW50LnRpdGxlPXRpdGxl
fX1lbHNle312YXIgb3V0PU1vZHVsZVsicHJpbnQiXXx8Y29uc29sZS5sb2cuYmluZChjb25zb2xl
KTt2YXIgZXJyPU1vZHVsZVsicHJpbnRFcnIiXXx8Y29uc29sZS53YXJuLmJpbmQoY29uc29sZSk7
Zm9yKGtleSBpbiBtb2R1bGVPdmVycmlkZXMpe2lmKG1vZHVsZU92ZXJyaWRlcy5oYXNPd25Qcm9w
ZXJ0eShrZXkpKXtNb2R1bGVba2V5XT1tb2R1bGVPdmVycmlkZXNba2V5XX19bW9kdWxlT3ZlcnJp
ZGVzPW51bGw7aWYoTW9kdWxlWyJhcmd1bWVudHMiXSlhcmd1bWVudHNfPU1vZHVsZVsiYXJndW1l
bnRzIl07aWYoTW9kdWxlWyJ0aGlzUHJvZ3JhbSJdKXRoaXNQcm9ncmFtPU1vZHVsZVsidGhpc1By
b2dyYW0iXTtpZihNb2R1bGVbInF1aXQiXSlxdWl0Xz1Nb2R1bGVbInF1aXQiXTt2YXIgU1RBQ0tf
QUxJR049MTY7ZnVuY3Rpb24gZHluYW1pY0FsbG9jKHNpemUpe3ZhciByZXQ9SEVBUDMyW0RZTkFN
SUNUT1BfUFRSPj4yXTt2YXIgZW5kPXJldCtzaXplKzE1Ji0xNjtIRUFQMzJbRFlOQU1JQ1RPUF9Q
VFI+PjJdPWVuZDtyZXR1cm4gcmV0fWZ1bmN0aW9uIGdldE5hdGl2ZVR5cGVTaXplKHR5cGUpe3N3
aXRjaCh0eXBlKXtjYXNlImkxIjpjYXNlImk4IjpyZXR1cm4gMTtjYXNlImkxNiI6cmV0dXJuIDI7
Y2FzZSJpMzIiOnJldHVybiA0O2Nhc2UiaTY0IjpyZXR1cm4gODtjYXNlImZsb2F0IjpyZXR1cm4g
NDtjYXNlImRvdWJsZSI6cmV0dXJuIDg7ZGVmYXVsdDp7aWYodHlwZVt0eXBlLmxlbmd0aC0xXT09
PSIqIil7cmV0dXJuIDR9ZWxzZSBpZih0eXBlWzBdPT09ImkiKXt2YXIgYml0cz1OdW1iZXIodHlw
ZS5zdWJzdHIoMSkpO2Fzc2VydChiaXRzJTg9PT0wLCJnZXROYXRpdmVUeXBlU2l6ZSBpbnZhbGlk
IGJpdHMgIitiaXRzKyIsIHR5cGUgIit0eXBlKTtyZXR1cm4gYml0cy84fWVsc2V7cmV0dXJuIDB9
fX19ZnVuY3Rpb24gd2Fybk9uY2UodGV4dCl7aWYoIXdhcm5PbmNlLnNob3duKXdhcm5PbmNlLnNo
b3duPXt9O2lmKCF3YXJuT25jZS5zaG93blt0ZXh0XSl7d2Fybk9uY2Uuc2hvd25bdGV4dF09MTtl
cnIodGV4dCl9fWZ1bmN0aW9uIGNvbnZlcnRKc0Z1bmN0aW9uVG9XYXNtKGZ1bmMsc2lnKXtpZih0
eXBlb2YgV2ViQXNzZW1ibHkuRnVuY3Rpb249PT0iZnVuY3Rpb24iKXt2YXIgdHlwZU5hbWVzPXsi
aSI6ImkzMiIsImoiOiJpNjQiLCJmIjoiZjMyIiwiZCI6ImY2NCJ9O3ZhciB0eXBlPXtwYXJhbWV0
ZXJzOltdLHJlc3VsdHM6c2lnWzBdPT0idiI/W106W3R5cGVOYW1lc1tzaWdbMF1dXX07Zm9yKHZh
ciBpPTE7aTxzaWcubGVuZ3RoOysraSl7dHlwZS5wYXJhbWV0ZXJzLnB1c2godHlwZU5hbWVzW3Np
Z1tpXV0pfXJldHVybiBuZXcgV2ViQXNzZW1ibHkuRnVuY3Rpb24odHlwZSxmdW5jKX12YXIgdHlw
ZVNlY3Rpb249WzEsMCwxLDk2XTt2YXIgc2lnUmV0PXNpZy5zbGljZSgwLDEpO3ZhciBzaWdQYXJh
bT1zaWcuc2xpY2UoMSk7dmFyIHR5cGVDb2Rlcz17ImkiOjEyNywiaiI6MTI2LCJmIjoxMjUsImQi
OjEyNH07dHlwZVNlY3Rpb24ucHVzaChzaWdQYXJhbS5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8c2ln
UGFyYW0ubGVuZ3RoOysraSl7dHlwZVNlY3Rpb24ucHVzaCh0eXBlQ29kZXNbc2lnUGFyYW1baV1d
KX1pZihzaWdSZXQ9PSJ2Iil7dHlwZVNlY3Rpb24ucHVzaCgwKX1lbHNle3R5cGVTZWN0aW9uPXR5
cGVTZWN0aW9uLmNvbmNhdChbMSx0eXBlQ29kZXNbc2lnUmV0XV0pfXR5cGVTZWN0aW9uWzFdPXR5
cGVTZWN0aW9uLmxlbmd0aC0yO3ZhciBieXRlcz1uZXcgVWludDhBcnJheShbMCw5NywxMTUsMTA5
LDEsMCwwLDBdLmNvbmNhdCh0eXBlU2VjdGlvbixbMiw3LDEsMSwxMDEsMSwxMDIsMCwwLDcsNSwx
LDEsMTAyLDAsMF0pKTt2YXIgbW9kdWxlPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnl0ZXMpO3Zh
ciBpbnN0YW5jZT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UobW9kdWxlLHsiZSI6eyJmIjpmdW5j
fX0pO3ZhciB3cmFwcGVkRnVuYz1pbnN0YW5jZS5leHBvcnRzWyJmIl07cmV0dXJuIHdyYXBwZWRG
dW5jfXZhciBmcmVlVGFibGVJbmRleGVzPVtdO3ZhciBmdW5jdGlvbnNJblRhYmxlTWFwO2Z1bmN0
aW9uIGFkZEZ1bmN0aW9uV2FzbShmdW5jLHNpZyl7dmFyIHRhYmxlPXdhc21UYWJsZTtpZighZnVu
Y3Rpb25zSW5UYWJsZU1hcCl7ZnVuY3Rpb25zSW5UYWJsZU1hcD1uZXcgV2Vha01hcDtmb3IodmFy
IGk9MDtpPHRhYmxlLmxlbmd0aDtpKyspe3ZhciBpdGVtPXRhYmxlLmdldChpKTtpZihpdGVtKXtm
dW5jdGlvbnNJblRhYmxlTWFwLnNldChpdGVtLGkpfX19aWYoZnVuY3Rpb25zSW5UYWJsZU1hcC5o
YXMoZnVuYykpe3JldHVybiBmdW5jdGlvbnNJblRhYmxlTWFwLmdldChmdW5jKX12YXIgcmV0O2lm
KGZyZWVUYWJsZUluZGV4ZXMubGVuZ3RoKXtyZXQ9ZnJlZVRhYmxlSW5kZXhlcy5wb3AoKX1lbHNl
e3JldD10YWJsZS5sZW5ndGg7dHJ5e3RhYmxlLmdyb3coMSl9Y2F0Y2goZXJyKXtpZighKGVyciBp
bnN0YW5jZW9mIFJhbmdlRXJyb3IpKXt0aHJvdyBlcnJ9dGhyb3ciVW5hYmxlIHRvIGdyb3cgd2Fz
bSB0YWJsZS4gU2V0IEFMTE9XX1RBQkxFX0dST1dUSC4ifX10cnl7dGFibGUuc2V0KHJldCxmdW5j
KX1jYXRjaChlcnIpe2lmKCEoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7dGhyb3cgZXJyfXZh
ciB3cmFwcGVkPWNvbnZlcnRKc0Z1bmN0aW9uVG9XYXNtKGZ1bmMsc2lnKTt0YWJsZS5zZXQocmV0
LHdyYXBwZWQpfWZ1bmN0aW9uc0luVGFibGVNYXAuc2V0KGZ1bmMscmV0KTtyZXR1cm4gcmV0fWZ1
bmN0aW9uIHJlbW92ZUZ1bmN0aW9uV2FzbShpbmRleCl7ZnVuY3Rpb25zSW5UYWJsZU1hcC5kZWxl
dGUod2FzbVRhYmxlLmdldChpbmRleCkpO2ZyZWVUYWJsZUluZGV4ZXMucHVzaChpbmRleCl9dmFy
IGZ1bmNXcmFwcGVycz17fTtmdW5jdGlvbiBkeW5DYWxsKHNpZyxwdHIsYXJncyl7aWYoYXJncyYm
YXJncy5sZW5ndGgpe3JldHVybiBNb2R1bGVbImR5bkNhbGxfIitzaWddLmFwcGx5KG51bGwsW3B0
cl0uY29uY2F0KGFyZ3MpKX1lbHNle3JldHVybiBNb2R1bGVbImR5bkNhbGxfIitzaWddLmNhbGwo
bnVsbCxwdHIpfX12YXIgdGVtcFJldDA9MDt2YXIgc2V0VGVtcFJldDA9ZnVuY3Rpb24odmFsdWUp
e3RlbXBSZXQwPXZhbHVlfTt2YXIgd2FzbUJpbmFyeTtpZihNb2R1bGVbIndhc21CaW5hcnkiXSl3
YXNtQmluYXJ5PU1vZHVsZVsid2FzbUJpbmFyeSJdO3ZhciBub0V4aXRSdW50aW1lO2lmKE1vZHVs
ZVsibm9FeGl0UnVudGltZSJdKW5vRXhpdFJ1bnRpbWU9TW9kdWxlWyJub0V4aXRSdW50aW1lIl07
aWYodHlwZW9mIFdlYkFzc2VtYmx5IT09Im9iamVjdCIpe2Vycigibm8gbmF0aXZlIHdhc20gc3Vw
cG9ydCBkZXRlY3RlZCIpfWZ1bmN0aW9uIHNldFZhbHVlKHB0cix2YWx1ZSx0eXBlLG5vU2FmZSl7
dHlwZT10eXBlfHwiaTgiO2lmKHR5cGUuY2hhckF0KHR5cGUubGVuZ3RoLTEpPT09IioiKXR5cGU9
ImkzMiI7c3dpdGNoKHR5cGUpe2Nhc2UiaTEiOkhFQVA4W3B0cj4+MF09dmFsdWU7YnJlYWs7Y2Fz
ZSJpOCI6SEVBUDhbcHRyPj4wXT12YWx1ZTticmVhaztjYXNlImkxNiI6SEVBUDE2W3B0cj4+MV09
dmFsdWU7YnJlYWs7Y2FzZSJpMzIiOkhFQVAzMltwdHI+PjJdPXZhbHVlO2JyZWFrO2Nhc2UiaTY0
Ijp0ZW1wSTY0PVt2YWx1ZT4+PjAsKHRlbXBEb3VibGU9dmFsdWUsK01hdGhfYWJzKHRlbXBEb3Vi
bGUpPj0xP3RlbXBEb3VibGU+MD8oTWF0aF9taW4oK01hdGhfZmxvb3IodGVtcERvdWJsZS80Mjk0
OTY3Mjk2KSw0Mjk0OTY3Mjk1KXwwKT4+PjA6fn4rTWF0aF9jZWlsKCh0ZW1wRG91YmxlLSsofn50
ZW1wRG91YmxlPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sSEVBUDMyW3B0cj4+Ml09dGVtcEk2
NFswXSxIRUFQMzJbcHRyKzQ+PjJdPXRlbXBJNjRbMV07YnJlYWs7Y2FzZSJmbG9hdCI6SEVBUEYz
MltwdHI+PjJdPXZhbHVlO2JyZWFrO2Nhc2UiZG91YmxlIjpIRUFQRjY0W3B0cj4+M109dmFsdWU7
YnJlYWs7ZGVmYXVsdDphYm9ydCgiaW52YWxpZCB0eXBlIGZvciBzZXRWYWx1ZTogIit0eXBlKX19
dmFyIHdhc21NZW1vcnk7dmFyIHdhc21UYWJsZT1uZXcgV2ViQXNzZW1ibHkuVGFibGUoeyJpbml0
aWFsIjo0LCJtYXhpbXVtIjo0KzAsImVsZW1lbnQiOiJhbnlmdW5jIn0pO3ZhciBBQk9SVD1mYWxz
ZTt2YXIgRVhJVFNUQVRVUz0wO2Z1bmN0aW9uIGFzc2VydChjb25kaXRpb24sdGV4dCl7aWYoIWNv
bmRpdGlvbil7YWJvcnQoIkFzc2VydGlvbiBmYWlsZWQ6ICIrdGV4dCl9fWZ1bmN0aW9uIGdldENG
dW5jKGlkZW50KXt2YXIgZnVuYz1Nb2R1bGVbIl8iK2lkZW50XTthc3NlcnQoZnVuYywiQ2Fubm90
IGNhbGwgdW5rbm93biBmdW5jdGlvbiAiK2lkZW50KyIsIG1ha2Ugc3VyZSBpdCBpcyBleHBvcnRl
ZCIpO3JldHVybiBmdW5jfWZ1bmN0aW9uIGNjYWxsKGlkZW50LHJldHVyblR5cGUsYXJnVHlwZXMs
YXJncyxvcHRzKXt2YXIgdG9DPXsic3RyaW5nIjpmdW5jdGlvbihzdHIpe3ZhciByZXQ9MDtpZihz
dHIhPT1udWxsJiZzdHIhPT11bmRlZmluZWQmJnN0ciE9PTApe3ZhciBsZW49KHN0ci5sZW5ndGg8
PDIpKzE7cmV0PXN0YWNrQWxsb2MobGVuKTtzdHJpbmdUb1VURjgoc3RyLHJldCxsZW4pfXJldHVy
biByZXR9LCJhcnJheSI6ZnVuY3Rpb24oYXJyKXt2YXIgcmV0PXN0YWNrQWxsb2MoYXJyLmxlbmd0
aCk7d3JpdGVBcnJheVRvTWVtb3J5KGFycixyZXQpO3JldHVybiByZXR9fTtmdW5jdGlvbiBjb252
ZXJ0UmV0dXJuVmFsdWUocmV0KXtpZihyZXR1cm5UeXBlPT09InN0cmluZyIpcmV0dXJuIFVURjhU
b1N0cmluZyhyZXQpO2lmKHJldHVyblR5cGU9PT0iYm9vbGVhbiIpcmV0dXJuIEJvb2xlYW4ocmV0
KTtyZXR1cm4gcmV0fXZhciBmdW5jPWdldENGdW5jKGlkZW50KTt2YXIgY0FyZ3M9W107dmFyIHN0
YWNrPTA7aWYoYXJncyl7Zm9yKHZhciBpPTA7aTxhcmdzLmxlbmd0aDtpKyspe3ZhciBjb252ZXJ0
ZXI9dG9DW2FyZ1R5cGVzW2ldXTtpZihjb252ZXJ0ZXIpe2lmKHN0YWNrPT09MClzdGFjaz1zdGFj
a1NhdmUoKTtjQXJnc1tpXT1jb252ZXJ0ZXIoYXJnc1tpXSl9ZWxzZXtjQXJnc1tpXT1hcmdzW2ld
fX19dmFyIHJldD1mdW5jLmFwcGx5KG51bGwsY0FyZ3MpO3JldD1jb252ZXJ0UmV0dXJuVmFsdWUo
cmV0KTtpZihzdGFjayE9PTApc3RhY2tSZXN0b3JlKHN0YWNrKTtyZXR1cm4gcmV0fXZhciBBTExP
Q19OT05FPTM7dmFyIFVURjhEZWNvZGVyPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQi
P25ldyBUZXh0RGVjb2RlcigidXRmOCIpOnVuZGVmaW5lZDtmdW5jdGlvbiBVVEY4QXJyYXlUb1N0
cmluZyhoZWFwLGlkeCxtYXhCeXRlc1RvUmVhZCl7dmFyIGVuZElkeD1pZHgrbWF4Qnl0ZXNUb1Jl
YWQ7dmFyIGVuZFB0cj1pZHg7d2hpbGUoaGVhcFtlbmRQdHJdJiYhKGVuZFB0cj49ZW5kSWR4KSkr
K2VuZFB0cjtpZihlbmRQdHItaWR4PjE2JiZoZWFwLnN1YmFycmF5JiZVVEY4RGVjb2Rlcil7cmV0
dXJuIFVURjhEZWNvZGVyLmRlY29kZShoZWFwLnN1YmFycmF5KGlkeCxlbmRQdHIpKX1lbHNle3Zh
ciBzdHI9IiI7d2hpbGUoaWR4PGVuZFB0cil7dmFyIHUwPWhlYXBbaWR4KytdO2lmKCEodTAmMTI4
KSl7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHUwKTtjb250aW51ZX12YXIgdTE9aGVhcFtpZHgr
K10mNjM7aWYoKHUwJjIyNCk9PTE5Mil7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKCh1MCYzMSk8
PDZ8dTEpO2NvbnRpbnVlfXZhciB1Mj1oZWFwW2lkeCsrXSY2MztpZigodTAmMjQwKT09MjI0KXt1
MD0odTAmMTUpPDwxMnx1MTw8Nnx1Mn1lbHNle3UwPSh1MCY3KTw8MTh8dTE8PDEyfHUyPDw2fGhl
YXBbaWR4KytdJjYzfWlmKHUwPDY1NTM2KXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUodTApfWVs
c2V7dmFyIGNoPXUwLTY1NTM2O3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxjaD4+MTAs
NTYzMjB8Y2gmMTAyMyl9fX1yZXR1cm4gc3RyfWZ1bmN0aW9uIFVURjhUb1N0cmluZyhwdHIsbWF4
Qnl0ZXNUb1JlYWQpe3JldHVybiBwdHI/VVRGOEFycmF5VG9TdHJpbmcoSEVBUFU4LHB0cixtYXhC
eXRlc1RvUmVhZCk6IiJ9ZnVuY3Rpb24gc3RyaW5nVG9VVEY4QXJyYXkoc3RyLGhlYXAsb3V0SWR4
LG1heEJ5dGVzVG9Xcml0ZSl7aWYoIShtYXhCeXRlc1RvV3JpdGU+MCkpcmV0dXJuIDA7dmFyIHN0
YXJ0SWR4PW91dElkeDt2YXIgZW5kSWR4PW91dElkeCttYXhCeXRlc1RvV3JpdGUtMTtmb3IodmFy
IGk9MDtpPHN0ci5sZW5ndGg7KytpKXt2YXIgdT1zdHIuY2hhckNvZGVBdChpKTtpZih1Pj01NTI5
NiYmdTw9NTczNDMpe3ZhciB1MT1zdHIuY2hhckNvZGVBdCgrK2kpO3U9NjU1MzYrKCh1JjEwMjMp
PDwxMCl8dTEmMTAyM31pZih1PD0xMjcpe2lmKG91dElkeD49ZW5kSWR4KWJyZWFrO2hlYXBbb3V0
SWR4KytdPXV9ZWxzZSBpZih1PD0yMDQ3KXtpZihvdXRJZHgrMT49ZW5kSWR4KWJyZWFrO2hlYXBb
b3V0SWR4KytdPTE5Mnx1Pj42O2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfWVsc2UgaWYodTw9NjU1
MzUpe2lmKG91dElkeCsyPj1lbmRJZHgpYnJlYWs7aGVhcFtvdXRJZHgrK109MjI0fHU+PjEyO2hl
YXBbb3V0SWR4KytdPTEyOHx1Pj42JjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfWVsc2V7aWYo
b3V0SWR4KzM+PWVuZElkeClicmVhaztoZWFwW291dElkeCsrXT0yNDB8dT4+MTg7aGVhcFtvdXRJ
ZHgrK109MTI4fHU+PjEyJjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1Pj42JjYzO2hlYXBbb3V0SWR4
KytdPTEyOHx1JjYzfX1oZWFwW291dElkeF09MDtyZXR1cm4gb3V0SWR4LXN0YXJ0SWR4fWZ1bmN0
aW9uIHN0cmluZ1RvVVRGOChzdHIsb3V0UHRyLG1heEJ5dGVzVG9Xcml0ZSl7cmV0dXJuIHN0cmlu
Z1RvVVRGOEFycmF5KHN0cixIRUFQVTgsb3V0UHRyLG1heEJ5dGVzVG9Xcml0ZSl9ZnVuY3Rpb24g
bGVuZ3RoQnl0ZXNVVEY4KHN0cil7dmFyIGxlbj0wO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsr
K2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkpO2lmKHU+PTU1Mjk2JiZ1PD01NzM0Myl1PTY1NTM2
KygodSYxMDIzKTw8MTApfHN0ci5jaGFyQ29kZUF0KCsraSkmMTAyMztpZih1PD0xMjcpKytsZW47
ZWxzZSBpZih1PD0yMDQ3KWxlbis9MjtlbHNlIGlmKHU8PTY1NTM1KWxlbis9MztlbHNlIGxlbis9
NH1yZXR1cm4gbGVufXZhciBVVEYxNkRlY29kZXI9dHlwZW9mIFRleHREZWNvZGVyIT09InVuZGVm
aW5lZCI/bmV3IFRleHREZWNvZGVyKCJ1dGYtMTZsZSIpOnVuZGVmaW5lZDtmdW5jdGlvbiBhbGxv
Y2F0ZVVURjhPblN0YWNrKHN0cil7dmFyIHNpemU9bGVuZ3RoQnl0ZXNVVEY4KHN0cikrMTt2YXIg
cmV0PXN0YWNrQWxsb2Moc2l6ZSk7c3RyaW5nVG9VVEY4QXJyYXkoc3RyLEhFQVA4LHJldCxzaXpl
KTtyZXR1cm4gcmV0fWZ1bmN0aW9uIHdyaXRlQXJyYXlUb01lbW9yeShhcnJheSxidWZmZXIpe0hF
QVA4LnNldChhcnJheSxidWZmZXIpfWZ1bmN0aW9uIHdyaXRlQXNjaWlUb01lbW9yeShzdHIsYnVm
ZmVyLGRvbnRBZGROdWxsKXtmb3IodmFyIGk9MDtpPHN0ci5sZW5ndGg7KytpKXtIRUFQOFtidWZm
ZXIrKz4+MF09c3RyLmNoYXJDb2RlQXQoaSl9aWYoIWRvbnRBZGROdWxsKUhFQVA4W2J1ZmZlcj4+
MF09MH12YXIgV0FTTV9QQUdFX1NJWkU9NjU1MzY7dmFyIGJ1ZmZlcixIRUFQOCxIRUFQVTgsSEVB
UDE2LEhFQVBVMTYsSEVBUDMyLEhFQVBVMzIsSEVBUEYzMixIRUFQRjY0O2Z1bmN0aW9uIHVwZGF0
ZUdsb2JhbEJ1ZmZlckFuZFZpZXdzKGJ1Zil7YnVmZmVyPWJ1ZjtNb2R1bGVbIkhFQVA4Il09SEVB
UDg9bmV3IEludDhBcnJheShidWYpO01vZHVsZVsiSEVBUDE2Il09SEVBUDE2PW5ldyBJbnQxNkFy
cmF5KGJ1Zik7TW9kdWxlWyJIRUFQMzIiXT1IRUFQMzI9bmV3IEludDMyQXJyYXkoYnVmKTtNb2R1
bGVbIkhFQVBVOCJdPUhFQVBVOD1uZXcgVWludDhBcnJheShidWYpO01vZHVsZVsiSEVBUFUxNiJd
PUhFQVBVMTY9bmV3IFVpbnQxNkFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQVTMyIl09SEVBUFUzMj1u
ZXcgVWludDMyQXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBGMzIiXT1IRUFQRjMyPW5ldyBGbG9hdDMy
QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBGNjQiXT1IRUFQRjY0PW5ldyBGbG9hdDY0QXJyYXkoYnVm
KX12YXIgU1RBQ0tfQkFTRT01MjUwNDQ4LERZTkFNSUNfQkFTRT01MjUwNDQ4LERZTkFNSUNUT1Bf
UFRSPTc0MDg7dmFyIElOSVRJQUxfSU5JVElBTF9NRU1PUlk9TW9kdWxlWyJJTklUSUFMX01FTU9S
WSJdfHwxNjc3NzIxNjtpZihNb2R1bGVbIndhc21NZW1vcnkiXSl7d2FzbU1lbW9yeT1Nb2R1bGVb
Indhc21NZW1vcnkiXX1lbHNle3dhc21NZW1vcnk9bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7Imlu
aXRpYWwiOklOSVRJQUxfSU5JVElBTF9NRU1PUlkvV0FTTV9QQUdFX1NJWkUsIm1heGltdW0iOklO
SVRJQUxfSU5JVElBTF9NRU1PUlkvV0FTTV9QQUdFX1NJWkV9KX1pZih3YXNtTWVtb3J5KXtidWZm
ZXI9d2FzbU1lbW9yeS5idWZmZXJ9SU5JVElBTF9JTklUSUFMX01FTU9SWT1idWZmZXIuYnl0ZUxl
bmd0aDt1cGRhdGVHbG9iYWxCdWZmZXJBbmRWaWV3cyhidWZmZXIpO0hFQVAzMltEWU5BTUlDVE9Q
X1BUUj4+Ml09RFlOQU1JQ19CQVNFO2Z1bmN0aW9uIGNhbGxSdW50aW1lQ2FsbGJhY2tzKGNhbGxi
YWNrcyl7d2hpbGUoY2FsbGJhY2tzLmxlbmd0aD4wKXt2YXIgY2FsbGJhY2s9Y2FsbGJhY2tzLnNo
aWZ0KCk7aWYodHlwZW9mIGNhbGxiYWNrPT0iZnVuY3Rpb24iKXtjYWxsYmFjayhNb2R1bGUpO2Nv
bnRpbnVlfXZhciBmdW5jPWNhbGxiYWNrLmZ1bmM7aWYodHlwZW9mIGZ1bmM9PT0ibnVtYmVyIil7
aWYoY2FsbGJhY2suYXJnPT09dW5kZWZpbmVkKXtNb2R1bGVbImR5bkNhbGxfdiJdKGZ1bmMpfWVs
c2V7TW9kdWxlWyJkeW5DYWxsX3ZpIl0oZnVuYyxjYWxsYmFjay5hcmcpfX1lbHNle2Z1bmMoY2Fs
bGJhY2suYXJnPT09dW5kZWZpbmVkP251bGw6Y2FsbGJhY2suYXJnKX19fXZhciBfX0FUUFJFUlVO
X189W107dmFyIF9fQVRJTklUX189W107dmFyIF9fQVRNQUlOX189W107dmFyIF9fQVRQT1NUUlVO
X189W107dmFyIHJ1bnRpbWVJbml0aWFsaXplZD1mYWxzZTt2YXIgcnVudGltZUV4aXRlZD1mYWxz
ZTtmdW5jdGlvbiBwcmVSdW4oKXtpZihNb2R1bGVbInByZVJ1biJdKXtpZih0eXBlb2YgTW9kdWxl
WyJwcmVSdW4iXT09ImZ1bmN0aW9uIilNb2R1bGVbInByZVJ1biJdPVtNb2R1bGVbInByZVJ1biJd
XTt3aGlsZShNb2R1bGVbInByZVJ1biJdLmxlbmd0aCl7YWRkT25QcmVSdW4oTW9kdWxlWyJwcmVS
dW4iXS5zaGlmdCgpKX19Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVFBSRVJVTl9fKX1mdW5jdGlv
biBpbml0UnVudGltZSgpe3J1bnRpbWVJbml0aWFsaXplZD10cnVlO2NhbGxSdW50aW1lQ2FsbGJh
Y2tzKF9fQVRJTklUX18pfWZ1bmN0aW9uIHByZU1haW4oKXtjYWxsUnVudGltZUNhbGxiYWNrcyhf
X0FUTUFJTl9fKX1mdW5jdGlvbiBleGl0UnVudGltZSgpe3J1bnRpbWVFeGl0ZWQ9dHJ1ZX1mdW5j
dGlvbiBwb3N0UnVuKCl7aWYoTW9kdWxlWyJwb3N0UnVuIl0pe2lmKHR5cGVvZiBNb2R1bGVbInBv
c3RSdW4iXT09ImZ1bmN0aW9uIilNb2R1bGVbInBvc3RSdW4iXT1bTW9kdWxlWyJwb3N0UnVuIl1d
O3doaWxlKE1vZHVsZVsicG9zdFJ1biJdLmxlbmd0aCl7YWRkT25Qb3N0UnVuKE1vZHVsZVsicG9z
dFJ1biJdLnNoaWZ0KCkpfX1jYWxsUnVudGltZUNhbGxiYWNrcyhfX0FUUE9TVFJVTl9fKX1mdW5j
dGlvbiBhZGRPblByZVJ1bihjYil7X19BVFBSRVJVTl9fLnVuc2hpZnQoY2IpfWZ1bmN0aW9uIGFk
ZE9uUG9zdFJ1bihjYil7X19BVFBPU1RSVU5fXy51bnNoaWZ0KGNiKX12YXIgTWF0aF9hYnM9TWF0
aC5hYnM7dmFyIE1hdGhfY2VpbD1NYXRoLmNlaWw7dmFyIE1hdGhfZmxvb3I9TWF0aC5mbG9vcjt2
YXIgTWF0aF9taW49TWF0aC5taW47dmFyIHJ1bkRlcGVuZGVuY2llcz0wO3ZhciBydW5EZXBlbmRl
bmN5V2F0Y2hlcj1udWxsO3ZhciBkZXBlbmRlbmNpZXNGdWxmaWxsZWQ9bnVsbDtmdW5jdGlvbiBh
ZGRSdW5EZXBlbmRlbmN5KGlkKXtydW5EZXBlbmRlbmNpZXMrKztpZihNb2R1bGVbIm1vbml0b3JS
dW5EZXBlbmRlbmNpZXMiXSl7TW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0ocnVuRGVw
ZW5kZW5jaWVzKX19ZnVuY3Rpb24gcmVtb3ZlUnVuRGVwZW5kZW5jeShpZCl7cnVuRGVwZW5kZW5j
aWVzLS07aWYoTW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0pe01vZHVsZVsibW9uaXRv
clJ1bkRlcGVuZGVuY2llcyJdKHJ1bkRlcGVuZGVuY2llcyl9aWYocnVuRGVwZW5kZW5jaWVzPT0w
KXtpZihydW5EZXBlbmRlbmN5V2F0Y2hlciE9PW51bGwpe2NsZWFySW50ZXJ2YWwocnVuRGVwZW5k
ZW5jeVdhdGNoZXIpO3J1bkRlcGVuZGVuY3lXYXRjaGVyPW51bGx9aWYoZGVwZW5kZW5jaWVzRnVs
ZmlsbGVkKXt2YXIgY2FsbGJhY2s9ZGVwZW5kZW5jaWVzRnVsZmlsbGVkO2RlcGVuZGVuY2llc0Z1
bGZpbGxlZD1udWxsO2NhbGxiYWNrKCl9fX1Nb2R1bGVbInByZWxvYWRlZEltYWdlcyJdPXt9O01v
ZHVsZVsicHJlbG9hZGVkQXVkaW9zIl09e307ZnVuY3Rpb24gYWJvcnQod2hhdCl7aWYoTW9kdWxl
WyJvbkFib3J0Il0pe01vZHVsZVsib25BYm9ydCJdKHdoYXQpfXdoYXQrPSIiO291dCh3aGF0KTtl
cnIod2hhdCk7QUJPUlQ9dHJ1ZTtFWElUU1RBVFVTPTE7d2hhdD0iYWJvcnQoIit3aGF0KyIpLiBC
dWlsZCB3aXRoIC1zIEFTU0VSVElPTlM9MSBmb3IgbW9yZSBpbmZvLiI7dGhyb3cgbmV3IFdlYkFz
c2VtYmx5LlJ1bnRpbWVFcnJvcih3aGF0KX1mdW5jdGlvbiBoYXNQcmVmaXgoc3RyLHByZWZpeCl7
cmV0dXJuIFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aD9zdHIuc3RhcnRzV2l0aChwcmVmaXgp
OnN0ci5pbmRleE9mKHByZWZpeCk9PT0wfXZhciBkYXRhVVJJUHJlZml4PSJkYXRhOmFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIjtmdW5jdGlvbiBpc0RhdGFVUkkoZmlsZW5hbWUpe3Jl
dHVybiBoYXNQcmVmaXgoZmlsZW5hbWUsZGF0YVVSSVByZWZpeCl9dmFyIGZpbGVVUklQcmVmaXg9
ImZpbGU6Ly8iO2Z1bmN0aW9uIGlzRmlsZVVSSShmaWxlbmFtZSl7cmV0dXJuIGhhc1ByZWZpeChm
aWxlbmFtZSxmaWxlVVJJUHJlZml4KX12YXIgd2FzbUJpbmFyeUZpbGU9ImludGVycHJldGVyLXdh
c20ud2FzbSI7aWYoIWlzRGF0YVVSSSh3YXNtQmluYXJ5RmlsZSkpe3dhc21CaW5hcnlGaWxlPWxv
Y2F0ZUZpbGUod2FzbUJpbmFyeUZpbGUpfWZ1bmN0aW9uIGdldEJpbmFyeSgpe3RyeXtpZih3YXNt
QmluYXJ5KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkod2FzbUJpbmFyeSl9aWYocmVhZEJpbmFyeSl7
cmV0dXJuIHJlYWRCaW5hcnkod2FzbUJpbmFyeUZpbGUpfWVsc2V7dGhyb3ciYm90aCBhc3luYyBh
bmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWQifX1jYXRjaChlcnIpe2Fib3J0KGVy
cil9fWZ1bmN0aW9uIGdldEJpbmFyeVByb21pc2UoKXtpZighd2FzbUJpbmFyeSYmKEVOVklST05N
RU5UX0lTX1dFQnx8RU5WSVJPTk1FTlRfSVNfV09SS0VSKSYmdHlwZW9mIGZldGNoPT09ImZ1bmN0
aW9uIiYmIWlzRmlsZVVSSSh3YXNtQmluYXJ5RmlsZSkpe3JldHVybiBmZXRjaCh3YXNtQmluYXJ5
RmlsZSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Up
e2lmKCFyZXNwb25zZVsib2siXSl7dGhyb3ciZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmls
ZSBhdCAnIit3YXNtQmluYXJ5RmlsZSsiJyJ9cmV0dXJuIHJlc3BvbnNlWyJhcnJheUJ1ZmZlciJd
KCl9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiBnZXRCaW5hcnkoKX0pfXJldHVybiBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7cmVzb2x2ZShnZXRCaW5hcnkoKSl9KX1mdW5j
dGlvbiBjcmVhdGVXYXNtKCl7dmFyIGluZm89eyJlbnYiOmFzbUxpYnJhcnlBcmcsIndhc2lfc25h
cHNob3RfcHJldmlldzEiOmFzbUxpYnJhcnlBcmd9O2Z1bmN0aW9uIHJlY2VpdmVJbnN0YW5jZShp
bnN0YW5jZSxtb2R1bGUpe3ZhciBleHBvcnRzPWluc3RhbmNlLmV4cG9ydHM7TW9kdWxlWyJhc20i
XT1leHBvcnRzO3JlbW92ZVJ1bkRlcGVuZGVuY3koIndhc20taW5zdGFudGlhdGUiKX1hZGRSdW5E
ZXBlbmRlbmN5KCJ3YXNtLWluc3RhbnRpYXRlIik7ZnVuY3Rpb24gcmVjZWl2ZUluc3RhbnRpYXRl
ZFNvdXJjZShvdXRwdXQpe3JlY2VpdmVJbnN0YW5jZShvdXRwdXRbImluc3RhbmNlIl0pfWZ1bmN0
aW9uIGluc3RhbnRpYXRlQXJyYXlCdWZmZXIocmVjZWl2ZXIpe3JldHVybiBnZXRCaW5hcnlQcm9t
aXNlKCkudGhlbihmdW5jdGlvbihiaW5hcnkpe3JldHVybiBXZWJBc3NlbWJseS5pbnN0YW50aWF0
ZShiaW5hcnksaW5mbyl9KS50aGVuKHJlY2VpdmVyLGZ1bmN0aW9uKHJlYXNvbil7ZXJyKCJmYWls
ZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiAiK3JlYXNvbik7YWJvcnQocmVhc29u
KX0pfWZ1bmN0aW9uIGluc3RhbnRpYXRlQXN5bmMoKXtpZighd2FzbUJpbmFyeSYmdHlwZW9mIFdl
YkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nPT09ImZ1bmN0aW9uIiYmIWlzRGF0YVVSSSh3
YXNtQmluYXJ5RmlsZSkmJiFpc0ZpbGVVUkkod2FzbUJpbmFyeUZpbGUpJiZ0eXBlb2YgZmV0Y2g9
PT0iZnVuY3Rpb24iKXtmZXRjaCh3YXNtQmluYXJ5RmlsZSx7Y3JlZGVudGlhbHM6InNhbWUtb3Jp
Z2luIn0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Upe3ZhciByZXN1bHQ9V2ViQXNzZW1ibHkuaW5z
dGFudGlhdGVTdHJlYW1pbmcocmVzcG9uc2UsaW5mbyk7cmV0dXJuIHJlc3VsdC50aGVuKHJlY2Vp
dmVJbnN0YW50aWF0ZWRTb3VyY2UsZnVuY3Rpb24ocmVhc29uKXtlcnIoIndhc20gc3RyZWFtaW5n
IGNvbXBpbGUgZmFpbGVkOiAiK3JlYXNvbik7ZXJyKCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZm
ZXIgaW5zdGFudGlhdGlvbiIpO2luc3RhbnRpYXRlQXJyYXlCdWZmZXIocmVjZWl2ZUluc3RhbnRp
YXRlZFNvdXJjZSl9KX0pfWVsc2V7cmV0dXJuIGluc3RhbnRpYXRlQXJyYXlCdWZmZXIocmVjZWl2
ZUluc3RhbnRpYXRlZFNvdXJjZSl9fWlmKE1vZHVsZVsiaW5zdGFudGlhdGVXYXNtIl0pe3RyeXt2
YXIgZXhwb3J0cz1Nb2R1bGVbImluc3RhbnRpYXRlV2FzbSJdKGluZm8scmVjZWl2ZUluc3RhbmNl
KTtyZXR1cm4gZXhwb3J0c31jYXRjaChlKXtlcnIoIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2Fs
bGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICIrZSk7cmV0dXJuIGZhbHNlfX1pbnN0YW50aWF0ZUFz
eW5jKCk7cmV0dXJue319dmFyIHRlbXBEb3VibGU7dmFyIHRlbXBJNjQ7X19BVElOSVRfXy5wdXNo
KHtmdW5jOmZ1bmN0aW9uKCl7X19fd2FzbV9jYWxsX2N0b3JzKCl9fSk7ZnVuY3Rpb24gZGVtYW5n
bGUoZnVuYyl7cmV0dXJuIGZ1bmN9ZnVuY3Rpb24gZGVtYW5nbGVBbGwodGV4dCl7dmFyIHJlZ2V4
PS9cYl9aW1x3XGRfXSsvZztyZXR1cm4gdGV4dC5yZXBsYWNlKHJlZ2V4LGZ1bmN0aW9uKHgpe3Zh
ciB5PWRlbWFuZ2xlKHgpO3JldHVybiB4PT09eT94OnkrIiBbIit4KyJdIn0pfWZ1bmN0aW9uIGpz
U3RhY2tUcmFjZSgpe3ZhciBlcnI9bmV3IEVycm9yO2lmKCFlcnIuc3RhY2spe3RyeXt0aHJvdyBu
ZXcgRXJyb3J9Y2F0Y2goZSl7ZXJyPWV9aWYoIWVyci5zdGFjayl7cmV0dXJuIihubyBzdGFjayB0
cmFjZSBhdmFpbGFibGUpIn19cmV0dXJuIGVyci5zdGFjay50b1N0cmluZygpfWZ1bmN0aW9uIF9l
bXNjcmlwdGVuX2dldF9zYnJrX3B0cigpe3JldHVybiA3NDA4fWZ1bmN0aW9uIF9lbXNjcmlwdGVu
X21lbWNweV9iaWcoZGVzdCxzcmMsbnVtKXtIRUFQVTguY29weVdpdGhpbihkZXN0LHNyYyxzcmMr
bnVtKX1mdW5jdGlvbiBhYm9ydE9uQ2Fubm90R3Jvd01lbW9yeShyZXF1ZXN0ZWRTaXplKXthYm9y
dCgiT09NIil9ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fcmVzaXplX2hlYXAocmVxdWVzdGVkU2l6ZSl7
cmVxdWVzdGVkU2l6ZT1yZXF1ZXN0ZWRTaXplPj4+MDthYm9ydE9uQ2Fubm90R3Jvd01lbW9yeShy
ZXF1ZXN0ZWRTaXplKX12YXIgUEFUSD17c3BsaXRQYXRoOmZ1bmN0aW9uKGZpbGVuYW1lKXt2YXIg
c3BsaXRQYXRoUmU9L14oXC8/fCkoW1xzXFNdKj8pKCg/OlwuezEsMn18W15cL10rP3wpKFwuW14u
XC9dKnwpKSg/OltcL10qKSQvO3JldHVybiBzcGxpdFBhdGhSZS5leGVjKGZpbGVuYW1lKS5zbGlj
ZSgxKX0sbm9ybWFsaXplQXJyYXk6ZnVuY3Rpb24ocGFydHMsYWxsb3dBYm92ZVJvb3Qpe3ZhciB1
cD0wO2Zvcih2YXIgaT1wYXJ0cy5sZW5ndGgtMTtpPj0wO2ktLSl7dmFyIGxhc3Q9cGFydHNbaV07
aWYobGFzdD09PSIuIil7cGFydHMuc3BsaWNlKGksMSl9ZWxzZSBpZihsYXN0PT09Ii4uIil7cGFy
dHMuc3BsaWNlKGksMSk7dXArK31lbHNlIGlmKHVwKXtwYXJ0cy5zcGxpY2UoaSwxKTt1cC0tfX1p
ZihhbGxvd0Fib3ZlUm9vdCl7Zm9yKDt1cDt1cC0tKXtwYXJ0cy51bnNoaWZ0KCIuLiIpfX1yZXR1
cm4gcGFydHN9LG5vcm1hbGl6ZTpmdW5jdGlvbihwYXRoKXt2YXIgaXNBYnNvbHV0ZT1wYXRoLmNo
YXJBdCgwKT09PSIvIix0cmFpbGluZ1NsYXNoPXBhdGguc3Vic3RyKC0xKT09PSIvIjtwYXRoPVBB
VEgubm9ybWFsaXplQXJyYXkocGF0aC5zcGxpdCgiLyIpLmZpbHRlcihmdW5jdGlvbihwKXtyZXR1
cm4hIXB9KSwhaXNBYnNvbHV0ZSkuam9pbigiLyIpO2lmKCFwYXRoJiYhaXNBYnNvbHV0ZSl7cGF0
aD0iLiJ9aWYocGF0aCYmdHJhaWxpbmdTbGFzaCl7cGF0aCs9Ii8ifXJldHVybihpc0Fic29sdXRl
PyIvIjoiIikrcGF0aH0sZGlybmFtZTpmdW5jdGlvbihwYXRoKXt2YXIgcmVzdWx0PVBBVEguc3Bs
aXRQYXRoKHBhdGgpLHJvb3Q9cmVzdWx0WzBdLGRpcj1yZXN1bHRbMV07aWYoIXJvb3QmJiFkaXIp
e3JldHVybiIuIn1pZihkaXIpe2Rpcj1kaXIuc3Vic3RyKDAsZGlyLmxlbmd0aC0xKX1yZXR1cm4g
cm9vdCtkaXJ9LGJhc2VuYW1lOmZ1bmN0aW9uKHBhdGgpe2lmKHBhdGg9PT0iLyIpcmV0dXJuIi8i
O3ZhciBsYXN0U2xhc2g9cGF0aC5sYXN0SW5kZXhPZigiLyIpO2lmKGxhc3RTbGFzaD09PS0xKXJl
dHVybiBwYXRoO3JldHVybiBwYXRoLnN1YnN0cihsYXN0U2xhc2grMSl9LGV4dG5hbWU6ZnVuY3Rp
b24ocGF0aCl7cmV0dXJuIFBBVEguc3BsaXRQYXRoKHBhdGgpWzNdfSxqb2luOmZ1bmN0aW9uKCl7
dmFyIHBhdGhzPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4g
UEFUSC5ub3JtYWxpemUocGF0aHMuam9pbigiLyIpKX0sam9pbjI6ZnVuY3Rpb24obCxyKXtyZXR1
cm4gUEFUSC5ub3JtYWxpemUobCsiLyIrcil9fTt2YXIgU1lTQ0FMTFM9e21hcHBpbmdzOnt9LGJ1
ZmZlcnM6W251bGwsW10sW11dLHByaW50Q2hhcjpmdW5jdGlvbihzdHJlYW0sY3Vycil7dmFyIGJ1
ZmZlcj1TWVNDQUxMUy5idWZmZXJzW3N0cmVhbV07aWYoY3Vycj09PTB8fGN1cnI9PT0xMCl7KHN0
cmVhbT09PTE/b3V0OmVycikoVVRGOEFycmF5VG9TdHJpbmcoYnVmZmVyLDApKTtidWZmZXIubGVu
Z3RoPTB9ZWxzZXtidWZmZXIucHVzaChjdXJyKX19LHZhcmFyZ3M6dW5kZWZpbmVkLGdldDpmdW5j
dGlvbigpe1NZU0NBTExTLnZhcmFyZ3MrPTQ7dmFyIHJldD1IRUFQMzJbU1lTQ0FMTFMudmFyYXJn
cy00Pj4yXTtyZXR1cm4gcmV0fSxnZXRTdHI6ZnVuY3Rpb24ocHRyKXt2YXIgcmV0PVVURjhUb1N0
cmluZyhwdHIpO3JldHVybiByZXR9LGdldDY0OmZ1bmN0aW9uKGxvdyxoaWdoKXtyZXR1cm4gbG93
fX07ZnVuY3Rpb24gX2ZkX3dyaXRlKGZkLGlvdixpb3ZjbnQscG51bSl7dmFyIG51bT0wO2Zvcih2
YXIgaT0wO2k8aW92Y250O2krKyl7dmFyIHB0cj1IRUFQMzJbaW92K2kqOD4+Ml07dmFyIGxlbj1I
RUFQMzJbaW92KyhpKjgrNCk+PjJdO2Zvcih2YXIgaj0wO2o8bGVuO2orKyl7U1lTQ0FMTFMucHJp
bnRDaGFyKGZkLEhFQVBVOFtwdHIral0pfW51bSs9bGVufUhFQVAzMltwbnVtPj4yXT1udW07cmV0
dXJuIDB9ZnVuY3Rpb24gX3NldFRlbXBSZXQwKCRpKXtzZXRUZW1wUmV0MCgkaXwwKX12YXIgQVNT
RVJUSU9OUz1mYWxzZTt2YXIgYXNtTGlicmFyeUFyZz17ImVtc2NyaXB0ZW5fZ2V0X3NicmtfcHRy
IjpfZW1zY3JpcHRlbl9nZXRfc2Jya19wdHIsImVtc2NyaXB0ZW5fbWVtY3B5X2JpZyI6X2Vtc2Ny
aXB0ZW5fbWVtY3B5X2JpZywiZW1zY3JpcHRlbl9yZXNpemVfaGVhcCI6X2Vtc2NyaXB0ZW5fcmVz
aXplX2hlYXAsImZkX3dyaXRlIjpfZmRfd3JpdGUsIm1lbW9yeSI6d2FzbU1lbW9yeSwic2V0VGVt
cFJldDAiOl9zZXRUZW1wUmV0MCwidGFibGUiOndhc21UYWJsZX07dmFyIGFzbT1jcmVhdGVXYXNt
KCk7TW9kdWxlWyJhc20iXT1hc207dmFyIF9fX3dhc21fY2FsbF9jdG9ycz1Nb2R1bGVbIl9fX3dh
c21fY2FsbF9jdG9ycyJdPWZ1bmN0aW9uKCl7cmV0dXJuKF9fX3dhc21fY2FsbF9jdG9ycz1Nb2R1
bGVbIl9fX3dhc21fY2FsbF9jdG9ycyJdPU1vZHVsZVsiYXNtIl1bIl9fd2FzbV9jYWxsX2N0b3Jz
Il0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9tYWluPU1vZHVsZVsiX21haW4iXT1mdW5j
dGlvbigpe3JldHVybihfbWFpbj1Nb2R1bGVbIl9tYWluIl09TW9kdWxlWyJhc20iXVsibWFpbiJd
KS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBfbWFsbG9jPU1vZHVsZVsiX21hbGxvYyJdPWZ1
bmN0aW9uKCl7cmV0dXJuKF9tYWxsb2M9TW9kdWxlWyJfbWFsbG9jIl09TW9kdWxlWyJhc20iXVsi
bWFsbG9jIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9fX2Vycm5vX2xvY2F0aW9uPU1v
ZHVsZVsiX19fZXJybm9fbG9jYXRpb24iXT1mdW5jdGlvbigpe3JldHVybihfX19lcnJub19sb2Nh
dGlvbj1Nb2R1bGVbIl9fX2Vycm5vX2xvY2F0aW9uIl09TW9kdWxlWyJhc20iXVsiX19lcnJub19s
b2NhdGlvbiJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBfZnJlZT1Nb2R1bGVbIl9mcmVl
Il09ZnVuY3Rpb24oKXtyZXR1cm4oX2ZyZWU9TW9kdWxlWyJfZnJlZSJdPU1vZHVsZVsiYXNtIl1b
ImZyZWUiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgc3RhY2tTYXZlPU1vZHVsZVsic3Rh
Y2tTYXZlIl09ZnVuY3Rpb24oKXtyZXR1cm4oc3RhY2tTYXZlPU1vZHVsZVsic3RhY2tTYXZlIl09
TW9kdWxlWyJhc20iXVsic3RhY2tTYXZlIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIHN0
YWNrQWxsb2M9TW9kdWxlWyJzdGFja0FsbG9jIl09ZnVuY3Rpb24oKXtyZXR1cm4oc3RhY2tBbGxv
Yz1Nb2R1bGVbInN0YWNrQWxsb2MiXT1Nb2R1bGVbImFzbSJdWyJzdGFja0FsbG9jIl0pLmFwcGx5
KG51bGwsYXJndW1lbnRzKX07dmFyIHN0YWNrUmVzdG9yZT1Nb2R1bGVbInN0YWNrUmVzdG9yZSJd
PWZ1bmN0aW9uKCl7cmV0dXJuKHN0YWNrUmVzdG9yZT1Nb2R1bGVbInN0YWNrUmVzdG9yZSJdPU1v
ZHVsZVsiYXNtIl1bInN0YWNrUmVzdG9yZSJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBf
X2dyb3dXYXNtTWVtb3J5PU1vZHVsZVsiX19ncm93V2FzbU1lbW9yeSJdPWZ1bmN0aW9uKCl7cmV0
dXJuKF9fZ3Jvd1dhc21NZW1vcnk9TW9kdWxlWyJfX2dyb3dXYXNtTWVtb3J5Il09TW9kdWxlWyJh
c20iXVsiX19ncm93V2FzbU1lbW9yeSJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBkeW5D
YWxsX2lpPU1vZHVsZVsiZHluQ2FsbF9paSJdPWZ1bmN0aW9uKCl7cmV0dXJuKGR5bkNhbGxfaWk9
TW9kdWxlWyJkeW5DYWxsX2lpIl09TW9kdWxlWyJhc20iXVsiZHluQ2FsbF9paSJdKS5hcHBseShu
dWxsLGFyZ3VtZW50cyl9O3ZhciBkeW5DYWxsX2lpaWk9TW9kdWxlWyJkeW5DYWxsX2lpaWkiXT1m
dW5jdGlvbigpe3JldHVybihkeW5DYWxsX2lpaWk9TW9kdWxlWyJkeW5DYWxsX2lpaWkiXT1Nb2R1
bGVbImFzbSJdWyJkeW5DYWxsX2lpaWkiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgZHlu
Q2FsbF9qaWppPU1vZHVsZVsiZHluQ2FsbF9qaWppIl09ZnVuY3Rpb24oKXtyZXR1cm4oZHluQ2Fs
bF9qaWppPU1vZHVsZVsiZHluQ2FsbF9qaWppIl09TW9kdWxlWyJhc20iXVsiZHluQ2FsbF9qaWpp
Il0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07TW9kdWxlWyJhc20iXT1hc207dmFyIGNhbGxlZFJ1
bjtmdW5jdGlvbiBFeGl0U3RhdHVzKHN0YXR1cyl7dGhpcy5uYW1lPSJFeGl0U3RhdHVzIjt0aGlz
Lm1lc3NhZ2U9IlByb2dyYW0gdGVybWluYXRlZCB3aXRoIGV4aXQoIitzdGF0dXMrIikiO3RoaXMu
c3RhdHVzPXN0YXR1c312YXIgY2FsbGVkTWFpbj1mYWxzZTtkZXBlbmRlbmNpZXNGdWxmaWxsZWQ9
ZnVuY3Rpb24gcnVuQ2FsbGVyKCl7aWYoIWNhbGxlZFJ1bilydW4oKTtpZighY2FsbGVkUnVuKWRl
cGVuZGVuY2llc0Z1bGZpbGxlZD1ydW5DYWxsZXJ9O2Z1bmN0aW9uIGNhbGxNYWluKGFyZ3Mpe3Zh
ciBlbnRyeUZ1bmN0aW9uPU1vZHVsZVsiX21haW4iXTthcmdzPWFyZ3N8fFtdO3ZhciBhcmdjPWFy
Z3MubGVuZ3RoKzE7dmFyIGFyZ3Y9c3RhY2tBbGxvYygoYXJnYysxKSo0KTtIRUFQMzJbYXJndj4+
Ml09YWxsb2NhdGVVVEY4T25TdGFjayh0aGlzUHJvZ3JhbSk7Zm9yKHZhciBpPTE7aTxhcmdjO2kr
Kyl7SEVBUDMyWyhhcmd2Pj4yKStpXT1hbGxvY2F0ZVVURjhPblN0YWNrKGFyZ3NbaS0xXSl9SEVB
UDMyWyhhcmd2Pj4yKSthcmdjXT0wO3RyeXt2YXIgcmV0PWVudHJ5RnVuY3Rpb24oYXJnYyxhcmd2
KTtleGl0KHJldCx0cnVlKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgRXhpdFN0YXR1cyl7cmV0
dXJufWVsc2UgaWYoZT09InVud2luZCIpe25vRXhpdFJ1bnRpbWU9dHJ1ZTtyZXR1cm59ZWxzZXt2
YXIgdG9Mb2c9ZTtpZihlJiZ0eXBlb2YgZT09PSJvYmplY3QiJiZlLnN0YWNrKXt0b0xvZz1bZSxl
LnN0YWNrXX1lcnIoImV4Y2VwdGlvbiB0aHJvd246ICIrdG9Mb2cpO3F1aXRfKDEsZSl9fWZpbmFs
bHl7Y2FsbGVkTWFpbj10cnVlfX1mdW5jdGlvbiBydW4oYXJncyl7YXJncz1hcmdzfHxhcmd1bWVu
dHNfO2lmKHJ1bkRlcGVuZGVuY2llcz4wKXtyZXR1cm59cHJlUnVuKCk7aWYocnVuRGVwZW5kZW5j
aWVzPjApcmV0dXJuO2Z1bmN0aW9uIGRvUnVuKCl7aWYoY2FsbGVkUnVuKXJldHVybjtjYWxsZWRS
dW49dHJ1ZTtNb2R1bGVbImNhbGxlZFJ1biJdPXRydWU7aWYoQUJPUlQpcmV0dXJuO2luaXRSdW50
aW1lKCk7cHJlTWFpbigpO2lmKE1vZHVsZVsib25SdW50aW1lSW5pdGlhbGl6ZWQiXSlNb2R1bGVb
Im9uUnVudGltZUluaXRpYWxpemVkIl0oKTtpZihzaG91bGRSdW5Ob3cpY2FsbE1haW4oYXJncyk7
cG9zdFJ1bigpfWlmKE1vZHVsZVsic2V0U3RhdHVzIl0pe01vZHVsZVsic2V0U3RhdHVzIl0oIlJ1
bm5pbmcuLi4iKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe01v
ZHVsZVsic2V0U3RhdHVzIl0oIiIpfSwxKTtkb1J1bigpfSwxKX1lbHNle2RvUnVuKCl9fU1vZHVs
ZVsicnVuIl09cnVuO2Z1bmN0aW9uIGV4aXQoc3RhdHVzLGltcGxpY2l0KXtpZihpbXBsaWNpdCYm
bm9FeGl0UnVudGltZSYmc3RhdHVzPT09MCl7cmV0dXJufWlmKG5vRXhpdFJ1bnRpbWUpe31lbHNl
e0FCT1JUPXRydWU7RVhJVFNUQVRVUz1zdGF0dXM7ZXhpdFJ1bnRpbWUoKTtpZihNb2R1bGVbIm9u
RXhpdCJdKU1vZHVsZVsib25FeGl0Il0oc3RhdHVzKX1xdWl0XyhzdGF0dXMsbmV3IEV4aXRTdGF0
dXMoc3RhdHVzKSl9aWYoTW9kdWxlWyJwcmVJbml0Il0pe2lmKHR5cGVvZiBNb2R1bGVbInByZUlu
aXQiXT09ImZ1bmN0aW9uIilNb2R1bGVbInByZUluaXQiXT1bTW9kdWxlWyJwcmVJbml0Il1dO3do
aWxlKE1vZHVsZVsicHJlSW5pdCJdLmxlbmd0aD4wKXtNb2R1bGVbInByZUluaXQiXS5wb3AoKSgp
fX12YXIgc2hvdWxkUnVuTm93PXRydWU7aWYoTW9kdWxlWyJub0luaXRpYWxSdW4iXSlzaG91bGRS
dW5Ob3c9ZmFsc2U7bm9FeGl0UnVudGltZT10cnVlO3J1bigpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432268</attachid>
            <date>2021-06-25 07:23:43 -0700</date>
            <delta_ts>2021-06-28 09:43:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227295-20210625102341.patch</filename>
            <type>text/plain</type>
            <size>28390</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTY2CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE0N2ZlNDhmOTBmNTAyZmQzNWZkNDE2Y2E5YjUx
N2I0OTExYTMwYTUuLjk3YWUwZDRkYTgxODllYzI4MzJmNWNlNWNmYjQzMmQ3NjkxN2YxN2IgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTEyIEBACisyMDIxLTA2LTIzICBNaWtoYWlsIFIuIEdhZGVsaGEgIDxtaWtoYWlsQGln
YWxpYS5jb20+CisKKyAgICAgICAgVW5za2lwIGludGVycHJldGVyLXdhc20uanMgb24gQVJNIGFu
ZCBNSVBTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcyOTUKKworICAgICAgICBSZXZpZXdlZCBieSBDYWlvIExpbWEuCisKKyAgICAgICAgQ2hhbmdl
ZCB0aGUgdGVzdGNhc2UgdG8gYmUgZ3VhcmRlZCBieSAkdm0uaXNXYXNtU3VwcG9ydGVkKCksIHNv
IHRoZQorICAgICAgICB0ZXN0IHdpbGwgYmUgZXhlY3V0ZWQgb25jZSB3YXNtIGlzIGF2YWlsYWJs
ZSBpbiB0aGUgYXJjaAorCisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL2ludGVycHJldGVyLXdh
c20uanM6CisgICAgICAgIChrZXkuaW4uTW9kdWxlLk1vZHVsZS5oYXNPd25Qcm9wZXJ0eSk6IERl
bGV0ZWQuCisgICAgICAgIChxdWl0Xyk6IERlbGV0ZWQuCisgICAgICAgIChsb2NhdGVGaWxlKTog
RGVsZXRlZC4KKyAgICAgICAgKEVOVklST05NRU5UX0lTX05PREUucmVhZF8pOiBEZWxldGVkLgor
ICAgICAgICAoRU5WSVJPTk1FTlRfSVNfTk9ERS5yZWFkQmluYXJ5KTogRGVsZXRlZC4KKyAgICAg
ICAgKEVOVklST05NRU5UX0lTX05PREUucXVpdF8pOiBEZWxldGVkLgorICAgICAgICAoRU5WSVJP
Tk1FTlRfSVNfTk9ERS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAg
ICAgICAoZWxzZS5yZWFkXyk6IERlbGV0ZWQuCisgICAgICAgIChlbHNlLnJlYWRCaW5hcnkpOiBE
ZWxldGVkLgorICAgICAgICAoZWxzZS5xdWl0Xyk6IERlbGV0ZWQuCisgICAgICAgIChlbHNlKTog
RGVsZXRlZC4KKyAgICAgICAgKGVsc2UueGhyLm9ubG9hZCk6IERlbGV0ZWQuCisgICAgICAgIChl
bHNlLnJlYWRBc3luYyk6IERlbGV0ZWQuCisgICAgICAgIChlbHNlLnNldFdpbmRvd1RpdGxlKTog
RGVsZXRlZC4KKyAgICAgICAgKGtleS5pbi5tb2R1bGVPdmVycmlkZXMubW9kdWxlT3ZlcnJpZGVz
Lmhhc093blByb3BlcnR5KTogRGVsZXRlZC4KKyAgICAgICAgKGR5bmFtaWNBbGxvYyk6IERlbGV0
ZWQuCisgICAgICAgIChnZXROYXRpdmVUeXBlU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICh3YXJu
T25jZSk6IERlbGV0ZWQuCisgICAgICAgIChjb252ZXJ0SnNGdW5jdGlvblRvV2FzbSk6IERlbGV0
ZWQuCisgICAgICAgIChhZGRGdW5jdGlvbldhc20pOiBEZWxldGVkLgorICAgICAgICAocmVtb3Zl
RnVuY3Rpb25XYXNtKTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgIChz
ZXRUZW1wUmV0MCk6IERlbGV0ZWQuCisgICAgICAgIChzZXRWYWx1ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChhc3NlcnQpOiBEZWxldGVkLgorICAgICAgICAoZ2V0Q0Z1bmMpOiBEZWxldGVkLgorICAg
ICAgICAodG9DLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGNvbnZl
cnRSZXR1cm5WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChjY2FsbCk6IERlbGV0ZWQuCisgICAg
ICAgIChVVEY4QXJyYXlUb1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChVVEY4VG9TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAoc3RyaW5nVG9VVEY4QXJyYXkpOiBEZWxldGVkLgorICAgICAg
ICAoc3RyaW5nVG9VVEY4KTogRGVsZXRlZC4KKyAgICAgICAgKGxlbmd0aEJ5dGVzVVRGOCk6IERl
bGV0ZWQuCisgICAgICAgIChhbGxvY2F0ZVVURjhPblN0YWNrKTogRGVsZXRlZC4KKyAgICAgICAg
KHdyaXRlQXJyYXlUb01lbW9yeSk6IERlbGV0ZWQuCisgICAgICAgICh3cml0ZUFzY2lpVG9NZW1v
cnkpOiBEZWxldGVkLgorICAgICAgICAodXBkYXRlR2xvYmFsQnVmZmVyQW5kVmlld3MpOiBEZWxl
dGVkLgorICAgICAgICAoY2FsbFJ1bnRpbWVDYWxsYmFja3MpOiBEZWxldGVkLgorICAgICAgICAo
cHJlUnVuKTogRGVsZXRlZC4KKyAgICAgICAgKGluaXRSdW50aW1lKTogRGVsZXRlZC4KKyAgICAg
ICAgKHByZU1haW4pOiBEZWxldGVkLgorICAgICAgICAoZXhpdFJ1bnRpbWUpOiBEZWxldGVkLgor
ICAgICAgICAocG9zdFJ1bik6IERlbGV0ZWQuCisgICAgICAgIChhZGRPblByZVJ1bik6IERlbGV0
ZWQuCisgICAgICAgIChhZGRPblBvc3RSdW4pOiBEZWxldGVkLgorICAgICAgICAoYWRkUnVuRGVw
ZW5kZW5jeSk6IERlbGV0ZWQuCisgICAgICAgIChyZW1vdmVSdW5EZXBlbmRlbmN5KTogRGVsZXRl
ZC4KKyAgICAgICAgKGhhc1ByZWZpeCk6IERlbGV0ZWQuCisgICAgICAgIChpc0RhdGFVUkkpOiBE
ZWxldGVkLgorICAgICAgICAoaXNGaWxlVVJJKTogRGVsZXRlZC4KKyAgICAgICAgKGdldEJpbmFy
eSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRCaW5hcnlQcm9taXNlKTogRGVsZXRlZC4KKyAgICAg
ICAgKGNyZWF0ZVdhc20ucmVjZWl2ZUluc3RhbmNlKTogRGVsZXRlZC4KKyAgICAgICAgKGNyZWF0
ZVdhc20ucmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSk6IERlbGV0ZWQuCisgICAgICAgIChjcmVh
dGVXYXNtLmluc3RhbnRpYXRlQXJyYXlCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAoY3JlYXRl
V2FzbS5pbnN0YW50aWF0ZUFzeW5jLik6IERlbGV0ZWQuCisgICAgICAgIChjcmVhdGVXYXNtLmlu
c3RhbnRpYXRlQXN5bmMpOiBEZWxldGVkLgorICAgICAgICAoY3JlYXRlV2FzbSk6IERlbGV0ZWQu
CisgICAgICAgIChfX0FUSU5JVF9fLnB1c2guZnVuYyk6IERlbGV0ZWQuCisgICAgICAgIChkZW1h
bmdsZSk6IERlbGV0ZWQuCisgICAgICAgIChkZW1hbmdsZUFsbCk6IERlbGV0ZWQuCisgICAgICAg
IChfZW1zY3JpcHRlbl9nZXRfc2Jya19wdHIpOiBEZWxldGVkLgorICAgICAgICAoX2Vtc2NyaXB0
ZW5fbWVtY3B5X2JpZyk6IERlbGV0ZWQuCisgICAgICAgIChhYm9ydE9uQ2Fubm90R3Jvd01lbW9y
eSk6IERlbGV0ZWQuCisgICAgICAgIChfZW1zY3JpcHRlbl9yZXNpemVfaGVhcCk6IERlbGV0ZWQu
CisgICAgICAgIChQQVRILnNwbGl0UGF0aCk6IERlbGV0ZWQuCisgICAgICAgIChQQVRILm5vcm1h
bGl6ZUFycmF5KTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEgubm9ybWFsaXplKTogRGVsZXRlZC4K
KyAgICAgICAgKFBBVEguZGlybmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChQQVRILmJhc2VuYW1l
KTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEguZXh0bmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChQ
QVRILmpvaW4pOiBEZWxldGVkLgorICAgICAgICAoUEFUSC5qb2luMik6IERlbGV0ZWQuCisgICAg
ICAgIChTWVNDQUxMUy5wcmludENoYXIpOiBEZWxldGVkLgorICAgICAgICAoU1lTQ0FMTFMuZ2V0
U3RyKTogRGVsZXRlZC4KKyAgICAgICAgKFNZU0NBTExTLmdldDY0KTogRGVsZXRlZC4KKyAgICAg
ICAgKF9mZF93cml0ZSk6IERlbGV0ZWQuCisgICAgICAgIChfc2V0VGVtcFJldDApOiBEZWxldGVk
LgorICAgICAgICAoX19fd2FzbV9jYWxsX2N0b3JzLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVy
ZSk6IERlbGV0ZWQuCisgICAgICAgIChfbWFpbi5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUp
OiBEZWxldGVkLgorICAgICAgICAoX21hbGxvYy5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUp
OiBEZWxldGVkLgorICAgICAgICAoX19fZXJybm9fbG9jYXRpb24uTW9kdWxlLnN0cmluZ19hcHBl
YXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKF9mcmVlLk1vZHVsZS5zdHJpbmdfYXBwZWFy
ZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChzdGFja1NhdmUuTW9kdWxlLnN0cmluZ19hcHBl
YXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0YWNrQWxsb2MuTW9kdWxlLnN0cmluZ19h
cHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0YWNrUmVzdG9yZS5Nb2R1bGUuc3Ry
aW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoX19ncm93V2FzbU1lbW9yeS5N
b2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoZHluQ2FsbF9p
aS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoZHluQ2Fs
bF9paWlpLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChk
eW5DYWxsX2ppamkuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAg
ICAgKEV4aXRTdGF0dXMpOiBEZWxldGVkLgorICAgICAgICAoZGVwZW5kZW5jaWVzRnVsZmlsbGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKGNhbGxNYWluKTogRGVsZXRlZC4KKyAgICAgICAgKHJ1bi5k
b1J1bik6IERlbGV0ZWQuCisgICAgICAgIChydW4pOiBEZWxldGVkLgorICAgICAgICAoZXhpdCk6
IERlbGV0ZWQuCisKIDIwMjEtMDYtMjIgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgRG9uJ3QgYXNzdW1lIHN0cmVzcy9vdXQtb2YtbWVtb3J5LXdoaWxlLWNvbnN0
cnVjdGluZy1CeXRlY29kZUdlbmVyYXRvci5qcyB3aWxsIE9PTQpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9taWNyb2JlbmNobWFya3MvaW50ZXJwcmV0ZXItd2FzbS5qcyBiL0pTVGVzdHMvbWljcm9iZW5j
aG1hcmtzL2ludGVycHJldGVyLXdhc20uanMKaW5kZXggZDA3M2ZlZTIzYzlmZjQ1MDk1NzQ1MDVl
ODBlZjAxMDMwZGFjMTk4YS4uZDg0YTE5YTY1ZTFmNDc3MWIyOWI3YmQ5NmJmYTNkYTljNWRmMTQz
YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvaW50ZXJwcmV0ZXItd2FzbS5q
cworKysgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9pbnRlcnByZXRlci13YXNtLmpzCkBAIC0x
LDMgKzEsNCBAQAotLy9AIHNraXAgaWYgJGFyY2hpdGVjdHVyZSA9PSAiYXJtIiBvciAkYXJjaGl0
ZWN0dXJlID09ICJtaXBzIiBvciAkbW9kZWwgPX4gL0FwcGxlIFdhdGNoLwogLy9AIHJ1bkRlZmF1
bHQKK2lmICgkdm0uaXNXYXNtU3VwcG9ydGVkKCkpIHsKIHZhciBNb2R1bGU9dHlwZW9mIE1vZHVs
ZSE9PSJ1bmRlZmluZWQiP01vZHVsZTp7fTt2YXIgbW9kdWxlT3ZlcnJpZGVzPXt9O3ZhciBrZXk7
Zm9yKGtleSBpbiBNb2R1bGUpe2lmKE1vZHVsZS5oYXNPd25Qcm9wZXJ0eShrZXkpKXttb2R1bGVP
dmVycmlkZXNba2V5XT1Nb2R1bGVba2V5XX19dmFyIGFyZ3VtZW50c189W107dmFyIHRoaXNQcm9n
cmFtPSIuL3RoaXMucHJvZ3JhbSI7dmFyIHF1aXRfPWZ1bmN0aW9uKHN0YXR1cyx0b1Rocm93KXt0
aHJvdyB0b1Rocm93fTt2YXIgRU5WSVJPTk1FTlRfSVNfV0VCPWZhbHNlO3ZhciBFTlZJUk9OTUVO
VF9JU19XT1JLRVI9ZmFsc2U7dmFyIEVOVklST05NRU5UX0lTX05PREU9ZmFsc2U7dmFyIEVOVklS
T05NRU5UX0lTX1NIRUxMPWZhbHNlO0VOVklST05NRU5UX0lTX1dFQj10eXBlb2Ygd2luZG93PT09
Im9iamVjdCI7RU5WSVJPTk1FTlRfSVNfV09SS0VSPXR5cGVvZiBpbXBvcnRTY3JpcHRzPT09ImZ1
bmN0aW9uIjtFTlZJUk9OTUVOVF9JU19OT0RFPXR5cGVvZiBwcm9jZXNzPT09Im9iamVjdCImJnR5
cGVvZiBwcm9jZXNzLnZlcnNpb25zPT09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25z
Lm5vZGU9PT0ic3RyaW5nIjtFTlZJUk9OTUVOVF9JU19TSEVMTD0hRU5WSVJPTk1FTlRfSVNfV0VC
JiYhRU5WSVJPTk1FTlRfSVNfTk9ERSYmIUVOVklST05NRU5UX0lTX1dPUktFUjt2YXIgc2NyaXB0
RGlyZWN0b3J5PSIiO2Z1bmN0aW9uIGxvY2F0ZUZpbGUocGF0aCl7aWYoTW9kdWxlWyJsb2NhdGVG
aWxlIl0pe3JldHVybiBNb2R1bGVbImxvY2F0ZUZpbGUiXShwYXRoLHNjcmlwdERpcmVjdG9yeSl9
cmV0dXJuIHNjcmlwdERpcmVjdG9yeStwYXRofXZhciByZWFkXyxyZWFkQXN5bmMscmVhZEJpbmFy
eSxzZXRXaW5kb3dUaXRsZTt2YXIgbm9kZUZTO3ZhciBub2RlUGF0aDtpZihFTlZJUk9OTUVOVF9J
U19OT0RFKXtpZihFTlZJUk9OTUVOVF9JU19XT1JLRVIpe3NjcmlwdERpcmVjdG9yeT1yZXF1aXJl
KCJwYXRoIikuZGlybmFtZShzY3JpcHREaXJlY3RvcnkpKyIvIn1lbHNle3NjcmlwdERpcmVjdG9y
eT1fX2Rpcm5hbWUrIi8ifXJlYWRfPWZ1bmN0aW9uIHNoZWxsX3JlYWQoZmlsZW5hbWUsYmluYXJ5
KXtpZighbm9kZUZTKW5vZGVGUz1yZXF1aXJlKCJmcyIpO2lmKCFub2RlUGF0aClub2RlUGF0aD1y
ZXF1aXJlKCJwYXRoIik7ZmlsZW5hbWU9bm9kZVBhdGhbIm5vcm1hbGl6ZSJdKGZpbGVuYW1lKTty
ZXR1cm4gbm9kZUZTWyJyZWFkRmlsZVN5bmMiXShmaWxlbmFtZSxiaW5hcnk/bnVsbDoidXRmOCIp
fTtyZWFkQmluYXJ5PWZ1bmN0aW9uIHJlYWRCaW5hcnkoZmlsZW5hbWUpe3ZhciByZXQ9cmVhZF8o
ZmlsZW5hbWUsdHJ1ZSk7aWYoIXJldC5idWZmZXIpe3JldD1uZXcgVWludDhBcnJheShyZXQpfWFz
c2VydChyZXQuYnVmZmVyKTtyZXR1cm4gcmV0fTtpZihwcm9jZXNzWyJhcmd2Il0ubGVuZ3RoPjEp
e3RoaXNQcm9ncmFtPXByb2Nlc3NbImFyZ3YiXVsxXS5yZXBsYWNlKC9cXC9nLCIvIil9YXJndW1l
bnRzXz1wcm9jZXNzWyJhcmd2Il0uc2xpY2UoMik7aWYodHlwZW9mIG1vZHVsZSE9PSJ1bmRlZmlu
ZWQiKXttb2R1bGVbImV4cG9ydHMiXT1Nb2R1bGV9cHJvY2Vzc1sib24iXSgidW5jYXVnaHRFeGNl
cHRpb24iLGZ1bmN0aW9uKGV4KXtpZighKGV4IGluc3RhbmNlb2YgRXhpdFN0YXR1cykpe3Rocm93
IGV4fX0pO3Byb2Nlc3NbIm9uIl0oInVuaGFuZGxlZFJlamVjdGlvbiIsYWJvcnQpO3F1aXRfPWZ1
bmN0aW9uKHN0YXR1cyl7cHJvY2Vzc1siZXhpdCJdKHN0YXR1cyl9O01vZHVsZVsiaW5zcGVjdCJd
PWZ1bmN0aW9uKCl7cmV0dXJuIltFbXNjcmlwdGVuIE1vZHVsZSBvYmplY3RdIn19ZWxzZSBpZihF
TlZJUk9OTUVOVF9JU19TSEVMTCl7aWYodHlwZW9mIHJlYWQhPSJ1bmRlZmluZWQiKXtyZWFkXz1m
dW5jdGlvbiBzaGVsbF9yZWFkKGYpe3JldHVybiByZWFkKGYpfX1yZWFkQmluYXJ5PWZ1bmN0aW9u
IHJlYWRCaW5hcnkoZil7dmFyIGRhdGE7aWYodHlwZW9mIHJlYWRidWZmZXI9PT0iZnVuY3Rpb24i
KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkocmVhZGJ1ZmZlcihmKSl9ZGF0YT1yZWFkKGYsImJpbmFy
eSIpO2Fzc2VydCh0eXBlb2YgZGF0YT09PSJvYmplY3QiKTtyZXR1cm4gZGF0YX07aWYodHlwZW9m
IHNjcmlwdEFyZ3MhPSJ1bmRlZmluZWQiKXthcmd1bWVudHNfPXNjcmlwdEFyZ3N9ZWxzZSBpZih0
eXBlb2YgYXJndW1lbnRzIT0idW5kZWZpbmVkIil7YXJndW1lbnRzXz1hcmd1bWVudHN9aWYodHlw
ZW9mIHF1aXQ9PT0iZnVuY3Rpb24iKXtxdWl0Xz1mdW5jdGlvbihzdGF0dXMpe3F1aXQoc3RhdHVz
KX19aWYodHlwZW9mIHByaW50IT09InVuZGVmaW5lZCIpe2lmKHR5cGVvZiBjb25zb2xlPT09InVu
ZGVmaW5lZCIpY29uc29sZT17fTtjb25zb2xlLmxvZz1wcmludDtjb25zb2xlLndhcm49Y29uc29s
ZS5lcnJvcj10eXBlb2YgcHJpbnRFcnIhPT0idW5kZWZpbmVkIj9wcmludEVycjpwcmludH19ZWxz
ZSBpZihFTlZJUk9OTUVOVF9JU19XRUJ8fEVOVklST05NRU5UX0lTX1dPUktFUil7aWYoRU5WSVJP
Tk1FTlRfSVNfV09SS0VSKXtzY3JpcHREaXJlY3Rvcnk9c2VsZi5sb2NhdGlvbi5ocmVmfWVsc2Ug
aWYoZG9jdW1lbnQuY3VycmVudFNjcmlwdCl7c2NyaXB0RGlyZWN0b3J5PWRvY3VtZW50LmN1cnJl
bnRTY3JpcHQuc3JjfWlmKHNjcmlwdERpcmVjdG9yeS5pbmRleE9mKCJibG9iOiIpIT09MCl7c2Ny
aXB0RGlyZWN0b3J5PXNjcmlwdERpcmVjdG9yeS5zdWJzdHIoMCxzY3JpcHREaXJlY3RvcnkubGFz
dEluZGV4T2YoIi8iKSsxKX1lbHNle3NjcmlwdERpcmVjdG9yeT0iIn17cmVhZF89ZnVuY3Rpb24g
c2hlbGxfcmVhZCh1cmwpe3ZhciB4aHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3hoci5vcGVuKCJHRVQi
LHVybCxmYWxzZSk7eGhyLnNlbmQobnVsbCk7cmV0dXJuIHhoci5yZXNwb25zZVRleHR9O2lmKEVO
VklST05NRU5UX0lTX1dPUktFUil7cmVhZEJpbmFyeT1mdW5jdGlvbiByZWFkQmluYXJ5KHVybCl7
dmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhyLm9wZW4oIkdFVCIsdXJsLGZhbHNlKTt4aHIu
cmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7eGhyLnNlbmQobnVsbCk7cmV0dXJuIG5ldyBVaW50
OEFycmF5KHhoci5yZXNwb25zZSl9fXJlYWRBc3luYz1mdW5jdGlvbiByZWFkQXN5bmModXJsLG9u
bG9hZCxvbmVycm9yKXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VUIix1
cmwsdHJ1ZSk7eGhyLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiO3hoci5vbmxvYWQ9ZnVuY3Rp
b24geGhyX29ubG9hZCgpe2lmKHhoci5zdGF0dXM9PTIwMHx8eGhyLnN0YXR1cz09MCYmeGhyLnJl
c3BvbnNlKXtvbmxvYWQoeGhyLnJlc3BvbnNlKTtyZXR1cm59b25lcnJvcigpfTt4aHIub25lcnJv
cj1vbmVycm9yO3hoci5zZW5kKG51bGwpfX1zZXRXaW5kb3dUaXRsZT1mdW5jdGlvbih0aXRsZSl7
ZG9jdW1lbnQudGl0bGU9dGl0bGV9fWVsc2V7fXZhciBvdXQ9TW9kdWxlWyJwcmludCJdfHxjb25z
b2xlLmxvZy5iaW5kKGNvbnNvbGUpO3ZhciBlcnI9TW9kdWxlWyJwcmludEVyciJdfHxjb25zb2xl
Lndhcm4uYmluZChjb25zb2xlKTtmb3Ioa2V5IGluIG1vZHVsZU92ZXJyaWRlcyl7aWYobW9kdWxl
T3ZlcnJpZGVzLmhhc093blByb3BlcnR5KGtleSkpe01vZHVsZVtrZXldPW1vZHVsZU92ZXJyaWRl
c1trZXldfX1tb2R1bGVPdmVycmlkZXM9bnVsbDtpZihNb2R1bGVbImFyZ3VtZW50cyJdKWFyZ3Vt
ZW50c189TW9kdWxlWyJhcmd1bWVudHMiXTtpZihNb2R1bGVbInRoaXNQcm9ncmFtIl0pdGhpc1By
b2dyYW09TW9kdWxlWyJ0aGlzUHJvZ3JhbSJdO2lmKE1vZHVsZVsicXVpdCJdKXF1aXRfPU1vZHVs
ZVsicXVpdCJdO3ZhciBTVEFDS19BTElHTj0xNjtmdW5jdGlvbiBkeW5hbWljQWxsb2Moc2l6ZSl7
dmFyIHJldD1IRUFQMzJbRFlOQU1JQ1RPUF9QVFI+PjJdO3ZhciBlbmQ9cmV0K3NpemUrMTUmLTE2
O0hFQVAzMltEWU5BTUlDVE9QX1BUUj4+Ml09ZW5kO3JldHVybiByZXR9ZnVuY3Rpb24gZ2V0TmF0
aXZlVHlwZVNpemUodHlwZSl7c3dpdGNoKHR5cGUpe2Nhc2UiaTEiOmNhc2UiaTgiOnJldHVybiAx
O2Nhc2UiaTE2IjpyZXR1cm4gMjtjYXNlImkzMiI6cmV0dXJuIDQ7Y2FzZSJpNjQiOnJldHVybiA4
O2Nhc2UiZmxvYXQiOnJldHVybiA0O2Nhc2UiZG91YmxlIjpyZXR1cm4gODtkZWZhdWx0OntpZih0
eXBlW3R5cGUubGVuZ3RoLTFdPT09IioiKXtyZXR1cm4gNH1lbHNlIGlmKHR5cGVbMF09PT0iaSIp
e3ZhciBiaXRzPU51bWJlcih0eXBlLnN1YnN0cigxKSk7YXNzZXJ0KGJpdHMlOD09PTAsImdldE5h
dGl2ZVR5cGVTaXplIGludmFsaWQgYml0cyAiK2JpdHMrIiwgdHlwZSAiK3R5cGUpO3JldHVybiBi
aXRzLzh9ZWxzZXtyZXR1cm4gMH19fX1mdW5jdGlvbiB3YXJuT25jZSh0ZXh0KXtpZighd2Fybk9u
Y2Uuc2hvd24pd2Fybk9uY2Uuc2hvd249e307aWYoIXdhcm5PbmNlLnNob3duW3RleHRdKXt3YXJu
T25jZS5zaG93blt0ZXh0XT0xO2Vycih0ZXh0KX19ZnVuY3Rpb24gY29udmVydEpzRnVuY3Rpb25U
b1dhc20oZnVuYyxzaWcpe2lmKHR5cGVvZiBXZWJBc3NlbWJseS5GdW5jdGlvbj09PSJmdW5jdGlv
biIpe3ZhciB0eXBlTmFtZXM9eyJpIjoiaTMyIiwiaiI6Imk2NCIsImYiOiJmMzIiLCJkIjoiZjY0
In07dmFyIHR5cGU9e3BhcmFtZXRlcnM6W10scmVzdWx0czpzaWdbMF09PSJ2Ij9bXTpbdHlwZU5h
bWVzW3NpZ1swXV1dfTtmb3IodmFyIGk9MTtpPHNpZy5sZW5ndGg7KytpKXt0eXBlLnBhcmFtZXRl
cnMucHVzaCh0eXBlTmFtZXNbc2lnW2ldXSl9cmV0dXJuIG5ldyBXZWJBc3NlbWJseS5GdW5jdGlv
bih0eXBlLGZ1bmMpfXZhciB0eXBlU2VjdGlvbj1bMSwwLDEsOTZdO3ZhciBzaWdSZXQ9c2lnLnNs
aWNlKDAsMSk7dmFyIHNpZ1BhcmFtPXNpZy5zbGljZSgxKTt2YXIgdHlwZUNvZGVzPXsiaSI6MTI3
LCJqIjoxMjYsImYiOjEyNSwiZCI6MTI0fTt0eXBlU2VjdGlvbi5wdXNoKHNpZ1BhcmFtLmxlbmd0
aCk7Zm9yKHZhciBpPTA7aTxzaWdQYXJhbS5sZW5ndGg7KytpKXt0eXBlU2VjdGlvbi5wdXNoKHR5
cGVDb2Rlc1tzaWdQYXJhbVtpXV0pfWlmKHNpZ1JldD09InYiKXt0eXBlU2VjdGlvbi5wdXNoKDAp
fWVsc2V7dHlwZVNlY3Rpb249dHlwZVNlY3Rpb24uY29uY2F0KFsxLHR5cGVDb2Rlc1tzaWdSZXRd
XSl9dHlwZVNlY3Rpb25bMV09dHlwZVNlY3Rpb24ubGVuZ3RoLTI7dmFyIGJ5dGVzPW5ldyBVaW50
OEFycmF5KFswLDk3LDExNSwxMDksMSwwLDAsMF0uY29uY2F0KHR5cGVTZWN0aW9uLFsyLDcsMSwx
LDEwMSwxLDEwMiwwLDAsNyw1LDEsMSwxMDIsMCwwXSkpO3ZhciBtb2R1bGU9bmV3IFdlYkFzc2Vt
Ymx5Lk1vZHVsZShieXRlcyk7dmFyIGluc3RhbmNlPW5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZSht
b2R1bGUseyJlIjp7ImYiOmZ1bmN9fSk7dmFyIHdyYXBwZWRGdW5jPWluc3RhbmNlLmV4cG9ydHNb
ImYiXTtyZXR1cm4gd3JhcHBlZEZ1bmN9dmFyIGZyZWVUYWJsZUluZGV4ZXM9W107dmFyIGZ1bmN0
aW9uc0luVGFibGVNYXA7ZnVuY3Rpb24gYWRkRnVuY3Rpb25XYXNtKGZ1bmMsc2lnKXt2YXIgdGFi
bGU9d2FzbVRhYmxlO2lmKCFmdW5jdGlvbnNJblRhYmxlTWFwKXtmdW5jdGlvbnNJblRhYmxlTWFw
PW5ldyBXZWFrTWFwO2Zvcih2YXIgaT0wO2k8dGFibGUubGVuZ3RoO2krKyl7dmFyIGl0ZW09dGFi
bGUuZ2V0KGkpO2lmKGl0ZW0pe2Z1bmN0aW9uc0luVGFibGVNYXAuc2V0KGl0ZW0saSl9fX1pZihm
dW5jdGlvbnNJblRhYmxlTWFwLmhhcyhmdW5jKSl7cmV0dXJuIGZ1bmN0aW9uc0luVGFibGVNYXAu
Z2V0KGZ1bmMpfXZhciByZXQ7aWYoZnJlZVRhYmxlSW5kZXhlcy5sZW5ndGgpe3JldD1mcmVlVGFi
bGVJbmRleGVzLnBvcCgpfWVsc2V7cmV0PXRhYmxlLmxlbmd0aDt0cnl7dGFibGUuZ3JvdygxKX1j
YXRjaChlcnIpe2lmKCEoZXJyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikpe3Rocm93IGVycn10aHJv
dyJVbmFibGUgdG8gZ3JvdyB3YXNtIHRhYmxlLiBTZXQgQUxMT1dfVEFCTEVfR1JPV1RILiJ9fXRy
eXt0YWJsZS5zZXQocmV0LGZ1bmMpfWNhdGNoKGVycil7aWYoIShlcnIgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpKXt0aHJvdyBlcnJ9dmFyIHdyYXBwZWQ9Y29udmVydEpzRnVuY3Rpb25Ub1dhc20oZnVu
YyxzaWcpO3RhYmxlLnNldChyZXQsd3JhcHBlZCl9ZnVuY3Rpb25zSW5UYWJsZU1hcC5zZXQoZnVu
YyxyZXQpO3JldHVybiByZXR9ZnVuY3Rpb24gcmVtb3ZlRnVuY3Rpb25XYXNtKGluZGV4KXtmdW5j
dGlvbnNJblRhYmxlTWFwLmRlbGV0ZSh3YXNtVGFibGUuZ2V0KGluZGV4KSk7ZnJlZVRhYmxlSW5k
ZXhlcy5wdXNoKGluZGV4KX12YXIgZnVuY1dyYXBwZXJzPXt9O2Z1bmN0aW9uIGR5bkNhbGwoc2ln
LHB0cixhcmdzKXtpZihhcmdzJiZhcmdzLmxlbmd0aCl7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF8i
K3NpZ10uYXBwbHkobnVsbCxbcHRyXS5jb25jYXQoYXJncykpfWVsc2V7cmV0dXJuIE1vZHVsZVsi
ZHluQ2FsbF8iK3NpZ10uY2FsbChudWxsLHB0cil9fXZhciB0ZW1wUmV0MD0wO3ZhciBzZXRUZW1w
UmV0MD1mdW5jdGlvbih2YWx1ZSl7dGVtcFJldDA9dmFsdWV9O3ZhciB3YXNtQmluYXJ5O2lmKE1v
ZHVsZVsid2FzbUJpbmFyeSJdKXdhc21CaW5hcnk9TW9kdWxlWyJ3YXNtQmluYXJ5Il07dmFyIG5v
RXhpdFJ1bnRpbWU7aWYoTW9kdWxlWyJub0V4aXRSdW50aW1lIl0pbm9FeGl0UnVudGltZT1Nb2R1
bGVbIm5vRXhpdFJ1bnRpbWUiXTtpZih0eXBlb2YgV2ViQXNzZW1ibHkhPT0ib2JqZWN0Iil7ZXJy
KCJubyBuYXRpdmUgd2FzbSBzdXBwb3J0IGRldGVjdGVkIil9ZnVuY3Rpb24gc2V0VmFsdWUocHRy
LHZhbHVlLHR5cGUsbm9TYWZlKXt0eXBlPXR5cGV8fCJpOCI7aWYodHlwZS5jaGFyQXQodHlwZS5s
ZW5ndGgtMSk9PT0iKiIpdHlwZT0iaTMyIjtzd2l0Y2godHlwZSl7Y2FzZSJpMSI6SEVBUDhbcHRy
Pj4wXT12YWx1ZTticmVhaztjYXNlImk4IjpIRUFQOFtwdHI+PjBdPXZhbHVlO2JyZWFrO2Nhc2Ui
aTE2IjpIRUFQMTZbcHRyPj4xXT12YWx1ZTticmVhaztjYXNlImkzMiI6SEVBUDMyW3B0cj4+Ml09
dmFsdWU7YnJlYWs7Y2FzZSJpNjQiOnRlbXBJNjQ9W3ZhbHVlPj4+MCwodGVtcERvdWJsZT12YWx1
ZSwrTWF0aF9hYnModGVtcERvdWJsZSk+PTE/dGVtcERvdWJsZT4wPyhNYXRoX21pbigrTWF0aF9m
bG9vcih0ZW1wRG91YmxlLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpfDApPj4+MDp+fitNYXRoX2Nl
aWwoKHRlbXBEb3VibGUtKyh+fnRlbXBEb3VibGU+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxI
RUFQMzJbcHRyPj4yXT10ZW1wSTY0WzBdLEhFQVAzMltwdHIrND4+Ml09dGVtcEk2NFsxXTticmVh
aztjYXNlImZsb2F0IjpIRUFQRjMyW3B0cj4+Ml09dmFsdWU7YnJlYWs7Y2FzZSJkb3VibGUiOkhF
QVBGNjRbcHRyPj4zXT12YWx1ZTticmVhaztkZWZhdWx0OmFib3J0KCJpbnZhbGlkIHR5cGUgZm9y
IHNldFZhbHVlOiAiK3R5cGUpfX12YXIgd2FzbU1lbW9yeTt2YXIgd2FzbVRhYmxlPW5ldyBXZWJB
c3NlbWJseS5UYWJsZSh7ImluaXRpYWwiOjQsIm1heGltdW0iOjQrMCwiZWxlbWVudCI6ImFueWZ1
bmMifSk7dmFyIEFCT1JUPWZhbHNlO3ZhciBFWElUU1RBVFVTPTA7ZnVuY3Rpb24gYXNzZXJ0KGNv
bmRpdGlvbix0ZXh0KXtpZighY29uZGl0aW9uKXthYm9ydCgiQXNzZXJ0aW9uIGZhaWxlZDogIit0
ZXh0KX19ZnVuY3Rpb24gZ2V0Q0Z1bmMoaWRlbnQpe3ZhciBmdW5jPU1vZHVsZVsiXyIraWRlbnRd
O2Fzc2VydChmdW5jLCJDYW5ub3QgY2FsbCB1bmtub3duIGZ1bmN0aW9uICIraWRlbnQrIiwgbWFr
ZSBzdXJlIGl0IGlzIGV4cG9ydGVkIik7cmV0dXJuIGZ1bmN9ZnVuY3Rpb24gY2NhbGwoaWRlbnQs
cmV0dXJuVHlwZSxhcmdUeXBlcyxhcmdzLG9wdHMpe3ZhciB0b0M9eyJzdHJpbmciOmZ1bmN0aW9u
KHN0cil7dmFyIHJldD0wO2lmKHN0ciE9PW51bGwmJnN0ciE9PXVuZGVmaW5lZCYmc3RyIT09MCl7
dmFyIGxlbj0oc3RyLmxlbmd0aDw8MikrMTtyZXQ9c3RhY2tBbGxvYyhsZW4pO3N0cmluZ1RvVVRG
OChzdHIscmV0LGxlbil9cmV0dXJuIHJldH0sImFycmF5IjpmdW5jdGlvbihhcnIpe3ZhciByZXQ9
c3RhY2tBbGxvYyhhcnIubGVuZ3RoKTt3cml0ZUFycmF5VG9NZW1vcnkoYXJyLHJldCk7cmV0dXJu
IHJldH19O2Z1bmN0aW9uIGNvbnZlcnRSZXR1cm5WYWx1ZShyZXQpe2lmKHJldHVyblR5cGU9PT0i
c3RyaW5nIilyZXR1cm4gVVRGOFRvU3RyaW5nKHJldCk7aWYocmV0dXJuVHlwZT09PSJib29sZWFu
IilyZXR1cm4gQm9vbGVhbihyZXQpO3JldHVybiByZXR9dmFyIGZ1bmM9Z2V0Q0Z1bmMoaWRlbnQp
O3ZhciBjQXJncz1bXTt2YXIgc3RhY2s9MDtpZihhcmdzKXtmb3IodmFyIGk9MDtpPGFyZ3MubGVu
Z3RoO2krKyl7dmFyIGNvbnZlcnRlcj10b0NbYXJnVHlwZXNbaV1dO2lmKGNvbnZlcnRlcil7aWYo
c3RhY2s9PT0wKXN0YWNrPXN0YWNrU2F2ZSgpO2NBcmdzW2ldPWNvbnZlcnRlcihhcmdzW2ldKX1l
bHNle2NBcmdzW2ldPWFyZ3NbaV19fX12YXIgcmV0PWZ1bmMuYXBwbHkobnVsbCxjQXJncyk7cmV0
PWNvbnZlcnRSZXR1cm5WYWx1ZShyZXQpO2lmKHN0YWNrIT09MClzdGFja1Jlc3RvcmUoc3RhY2sp
O3JldHVybiByZXR9dmFyIEFMTE9DX05PTkU9Mzt2YXIgVVRGOERlY29kZXI9dHlwZW9mIFRleHRE
ZWNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHREZWNvZGVyKCJ1dGY4Iik6dW5kZWZpbmVkO2Z1
bmN0aW9uIFVURjhBcnJheVRvU3RyaW5nKGhlYXAsaWR4LG1heEJ5dGVzVG9SZWFkKXt2YXIgZW5k
SWR4PWlkeCttYXhCeXRlc1RvUmVhZDt2YXIgZW5kUHRyPWlkeDt3aGlsZShoZWFwW2VuZFB0cl0m
JiEoZW5kUHRyPj1lbmRJZHgpKSsrZW5kUHRyO2lmKGVuZFB0ci1pZHg+MTYmJmhlYXAuc3ViYXJy
YXkmJlVURjhEZWNvZGVyKXtyZXR1cm4gVVRGOERlY29kZXIuZGVjb2RlKGhlYXAuc3ViYXJyYXko
aWR4LGVuZFB0cikpfWVsc2V7dmFyIHN0cj0iIjt3aGlsZShpZHg8ZW5kUHRyKXt2YXIgdTA9aGVh
cFtpZHgrK107aWYoISh1MCYxMjgpKXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUodTApO2NvbnRp
bnVlfXZhciB1MT1oZWFwW2lkeCsrXSY2MztpZigodTAmMjI0KT09MTkyKXtzdHIrPVN0cmluZy5m
cm9tQ2hhckNvZGUoKHUwJjMxKTw8Nnx1MSk7Y29udGludWV9dmFyIHUyPWhlYXBbaWR4KytdJjYz
O2lmKCh1MCYyNDApPT0yMjQpe3UwPSh1MCYxNSk8PDEyfHUxPDw2fHUyfWVsc2V7dTA9KHUwJjcp
PDwxOHx1MTw8MTJ8dTI8PDZ8aGVhcFtpZHgrK10mNjN9aWYodTA8NjU1MzYpe3N0cis9U3RyaW5n
LmZyb21DaGFyQ29kZSh1MCl9ZWxzZXt2YXIgY2g9dTAtNjU1MzY7c3RyKz1TdHJpbmcuZnJvbUNo
YXJDb2RlKDU1Mjk2fGNoPj4xMCw1NjMyMHxjaCYxMDIzKX19fXJldHVybiBzdHJ9ZnVuY3Rpb24g
VVRGOFRvU3RyaW5nKHB0cixtYXhCeXRlc1RvUmVhZCl7cmV0dXJuIHB0cj9VVEY4QXJyYXlUb1N0
cmluZyhIRUFQVTgscHRyLG1heEJ5dGVzVG9SZWFkKToiIn1mdW5jdGlvbiBzdHJpbmdUb1VURjhB
cnJheShzdHIsaGVhcCxvdXRJZHgsbWF4Qnl0ZXNUb1dyaXRlKXtpZighKG1heEJ5dGVzVG9Xcml0
ZT4wKSlyZXR1cm4gMDt2YXIgc3RhcnRJZHg9b3V0SWR4O3ZhciBlbmRJZHg9b3V0SWR4K21heEJ5
dGVzVG9Xcml0ZS0xO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciB1PXN0ci5jaGFy
Q29kZUF0KGkpO2lmKHU+PTU1Mjk2JiZ1PD01NzM0Myl7dmFyIHUxPXN0ci5jaGFyQ29kZUF0KCsr
aSk7dT02NTUzNisoKHUmMTAyMyk8PDEwKXx1MSYxMDIzfWlmKHU8PTEyNyl7aWYob3V0SWR4Pj1l
bmRJZHgpYnJlYWs7aGVhcFtvdXRJZHgrK109dX1lbHNlIGlmKHU8PTIwNDcpe2lmKG91dElkeCsx
Pj1lbmRJZHgpYnJlYWs7aGVhcFtvdXRJZHgrK109MTkyfHU+PjY7aGVhcFtvdXRJZHgrK109MTI4
fHUmNjN9ZWxzZSBpZih1PD02NTUzNSl7aWYob3V0SWR4KzI+PWVuZElkeClicmVhaztoZWFwW291
dElkeCsrXT0yMjR8dT4+MTI7aGVhcFtvdXRJZHgrK109MTI4fHU+PjYmNjM7aGVhcFtvdXRJZHgr
K109MTI4fHUmNjN9ZWxzZXtpZihvdXRJZHgrMz49ZW5kSWR4KWJyZWFrO2hlYXBbb3V0SWR4Kytd
PTI0MHx1Pj4xODtoZWFwW291dElkeCsrXT0xMjh8dT4+MTImNjM7aGVhcFtvdXRJZHgrK109MTI4
fHU+PjYmNjM7aGVhcFtvdXRJZHgrK109MTI4fHUmNjN9fWhlYXBbb3V0SWR4XT0wO3JldHVybiBv
dXRJZHgtc3RhcnRJZHh9ZnVuY3Rpb24gc3RyaW5nVG9VVEY4KHN0cixvdXRQdHIsbWF4Qnl0ZXNU
b1dyaXRlKXtyZXR1cm4gc3RyaW5nVG9VVEY4QXJyYXkoc3RyLEhFQVBVOCxvdXRQdHIsbWF4Qnl0
ZXNUb1dyaXRlKX1mdW5jdGlvbiBsZW5ndGhCeXRlc1VURjgoc3RyKXt2YXIgbGVuPTA7Zm9yKHZh
ciBpPTA7aTxzdHIubGVuZ3RoOysraSl7dmFyIHU9c3RyLmNoYXJDb2RlQXQoaSk7aWYodT49NTUy
OTYmJnU8PTU3MzQzKXU9NjU1MzYrKCh1JjEwMjMpPDwxMCl8c3RyLmNoYXJDb2RlQXQoKytpKSYx
MDIzO2lmKHU8PTEyNykrK2xlbjtlbHNlIGlmKHU8PTIwNDcpbGVuKz0yO2Vsc2UgaWYodTw9NjU1
MzUpbGVuKz0zO2Vsc2UgbGVuKz00fXJldHVybiBsZW59dmFyIFVURjE2RGVjb2Rlcj10eXBlb2Yg
VGV4dERlY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dERlY29kZXIoInV0Zi0xNmxlIik6dW5k
ZWZpbmVkO2Z1bmN0aW9uIGFsbG9jYXRlVVRGOE9uU3RhY2soc3RyKXt2YXIgc2l6ZT1sZW5ndGhC
eXRlc1VURjgoc3RyKSsxO3ZhciByZXQ9c3RhY2tBbGxvYyhzaXplKTtzdHJpbmdUb1VURjhBcnJh
eShzdHIsSEVBUDgscmV0LHNpemUpO3JldHVybiByZXR9ZnVuY3Rpb24gd3JpdGVBcnJheVRvTWVt
b3J5KGFycmF5LGJ1ZmZlcil7SEVBUDguc2V0KGFycmF5LGJ1ZmZlcil9ZnVuY3Rpb24gd3JpdGVB
c2NpaVRvTWVtb3J5KHN0cixidWZmZXIsZG9udEFkZE51bGwpe2Zvcih2YXIgaT0wO2k8c3RyLmxl
bmd0aDsrK2kpe0hFQVA4W2J1ZmZlcisrPj4wXT1zdHIuY2hhckNvZGVBdChpKX1pZighZG9udEFk
ZE51bGwpSEVBUDhbYnVmZmVyPj4wXT0wfXZhciBXQVNNX1BBR0VfU0laRT02NTUzNjt2YXIgYnVm
ZmVyLEhFQVA4LEhFQVBVOCxIRUFQMTYsSEVBUFUxNixIRUFQMzIsSEVBUFUzMixIRUFQRjMyLEhF
QVBGNjQ7ZnVuY3Rpb24gdXBkYXRlR2xvYmFsQnVmZmVyQW5kVmlld3MoYnVmKXtidWZmZXI9YnVm
O01vZHVsZVsiSEVBUDgiXT1IRUFQOD1uZXcgSW50OEFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQMTYi
XT1IRUFQMTY9bmV3IEludDE2QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVAzMiJdPUhFQVAzMj1uZXcg
SW50MzJBcnJheShidWYpO01vZHVsZVsiSEVBUFU4Il09SEVBUFU4PW5ldyBVaW50OEFycmF5KGJ1
Zik7TW9kdWxlWyJIRUFQVTE2Il09SEVBUFUxNj1uZXcgVWludDE2QXJyYXkoYnVmKTtNb2R1bGVb
IkhFQVBVMzIiXT1IRUFQVTMyPW5ldyBVaW50MzJBcnJheShidWYpO01vZHVsZVsiSEVBUEYzMiJd
PUhFQVBGMzI9bmV3IEZsb2F0MzJBcnJheShidWYpO01vZHVsZVsiSEVBUEY2NCJdPUhFQVBGNjQ9
bmV3IEZsb2F0NjRBcnJheShidWYpfXZhciBTVEFDS19CQVNFPTUyNTA0NDgsRFlOQU1JQ19CQVNF
PTUyNTA0NDgsRFlOQU1JQ1RPUF9QVFI9NzQwODt2YXIgSU5JVElBTF9JTklUSUFMX01FTU9SWT1N
b2R1bGVbIklOSVRJQUxfTUVNT1JZIl18fDE2Nzc3MjE2O2lmKE1vZHVsZVsid2FzbU1lbW9yeSJd
KXt3YXNtTWVtb3J5PU1vZHVsZVsid2FzbU1lbW9yeSJdfWVsc2V7d2FzbU1lbW9yeT1uZXcgV2Vi
QXNzZW1ibHkuTWVtb3J5KHsiaW5pdGlhbCI6SU5JVElBTF9JTklUSUFMX01FTU9SWS9XQVNNX1BB
R0VfU0laRSwibWF4aW11bSI6SU5JVElBTF9JTklUSUFMX01FTU9SWS9XQVNNX1BBR0VfU0laRX0p
fWlmKHdhc21NZW1vcnkpe2J1ZmZlcj13YXNtTWVtb3J5LmJ1ZmZlcn1JTklUSUFMX0lOSVRJQUxf
TUVNT1JZPWJ1ZmZlci5ieXRlTGVuZ3RoO3VwZGF0ZUdsb2JhbEJ1ZmZlckFuZFZpZXdzKGJ1ZmZl
cik7SEVBUDMyW0RZTkFNSUNUT1BfUFRSPj4yXT1EWU5BTUlDX0JBU0U7ZnVuY3Rpb24gY2FsbFJ1
bnRpbWVDYWxsYmFja3MoY2FsbGJhY2tzKXt3aGlsZShjYWxsYmFja3MubGVuZ3RoPjApe3ZhciBj
YWxsYmFjaz1jYWxsYmFja3Muc2hpZnQoKTtpZih0eXBlb2YgY2FsbGJhY2s9PSJmdW5jdGlvbiIp
e2NhbGxiYWNrKE1vZHVsZSk7Y29udGludWV9dmFyIGZ1bmM9Y2FsbGJhY2suZnVuYztpZih0eXBl
b2YgZnVuYz09PSJudW1iZXIiKXtpZihjYWxsYmFjay5hcmc9PT11bmRlZmluZWQpe01vZHVsZVsi
ZHluQ2FsbF92Il0oZnVuYyl9ZWxzZXtNb2R1bGVbImR5bkNhbGxfdmkiXShmdW5jLGNhbGxiYWNr
LmFyZyl9fWVsc2V7ZnVuYyhjYWxsYmFjay5hcmc9PT11bmRlZmluZWQ/bnVsbDpjYWxsYmFjay5h
cmcpfX19dmFyIF9fQVRQUkVSVU5fXz1bXTt2YXIgX19BVElOSVRfXz1bXTt2YXIgX19BVE1BSU5f
Xz1bXTt2YXIgX19BVFBPU1RSVU5fXz1bXTt2YXIgcnVudGltZUluaXRpYWxpemVkPWZhbHNlO3Zh
ciBydW50aW1lRXhpdGVkPWZhbHNlO2Z1bmN0aW9uIHByZVJ1bigpe2lmKE1vZHVsZVsicHJlUnVu
Il0pe2lmKHR5cGVvZiBNb2R1bGVbInByZVJ1biJdPT0iZnVuY3Rpb24iKU1vZHVsZVsicHJlUnVu
Il09W01vZHVsZVsicHJlUnVuIl1dO3doaWxlKE1vZHVsZVsicHJlUnVuIl0ubGVuZ3RoKXthZGRP
blByZVJ1bihNb2R1bGVbInByZVJ1biJdLnNoaWZ0KCkpfX1jYWxsUnVudGltZUNhbGxiYWNrcyhf
X0FUUFJFUlVOX18pfWZ1bmN0aW9uIGluaXRSdW50aW1lKCl7cnVudGltZUluaXRpYWxpemVkPXRy
dWU7Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVElOSVRfXyl9ZnVuY3Rpb24gcHJlTWFpbigpe2Nh
bGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRNQUlOX18pfWZ1bmN0aW9uIGV4aXRSdW50aW1lKCl7cnVu
dGltZUV4aXRlZD10cnVlfWZ1bmN0aW9uIHBvc3RSdW4oKXtpZihNb2R1bGVbInBvc3RSdW4iXSl7
aWYodHlwZW9mIE1vZHVsZVsicG9zdFJ1biJdPT0iZnVuY3Rpb24iKU1vZHVsZVsicG9zdFJ1biJd
PVtNb2R1bGVbInBvc3RSdW4iXV07d2hpbGUoTW9kdWxlWyJwb3N0UnVuIl0ubGVuZ3RoKXthZGRP
blBvc3RSdW4oTW9kdWxlWyJwb3N0UnVuIl0uc2hpZnQoKSl9fWNhbGxSdW50aW1lQ2FsbGJhY2tz
KF9fQVRQT1NUUlVOX18pfWZ1bmN0aW9uIGFkZE9uUHJlUnVuKGNiKXtfX0FUUFJFUlVOX18udW5z
aGlmdChjYil9ZnVuY3Rpb24gYWRkT25Qb3N0UnVuKGNiKXtfX0FUUE9TVFJVTl9fLnVuc2hpZnQo
Y2IpfXZhciBNYXRoX2Ficz1NYXRoLmFiczt2YXIgTWF0aF9jZWlsPU1hdGguY2VpbDt2YXIgTWF0
aF9mbG9vcj1NYXRoLmZsb29yO3ZhciBNYXRoX21pbj1NYXRoLm1pbjt2YXIgcnVuRGVwZW5kZW5j
aWVzPTA7dmFyIHJ1bkRlcGVuZGVuY3lXYXRjaGVyPW51bGw7dmFyIGRlcGVuZGVuY2llc0Z1bGZp
bGxlZD1udWxsO2Z1bmN0aW9uIGFkZFJ1bkRlcGVuZGVuY3koaWQpe3J1bkRlcGVuZGVuY2llcysr
O2lmKE1vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJdKXtNb2R1bGVbIm1vbml0b3JSdW5E
ZXBlbmRlbmNpZXMiXShydW5EZXBlbmRlbmNpZXMpfX1mdW5jdGlvbiByZW1vdmVSdW5EZXBlbmRl
bmN5KGlkKXtydW5EZXBlbmRlbmNpZXMtLTtpZihNb2R1bGVbIm1vbml0b3JSdW5EZXBlbmRlbmNp
ZXMiXSl7TW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0ocnVuRGVwZW5kZW5jaWVzKX1p
ZihydW5EZXBlbmRlbmNpZXM9PTApe2lmKHJ1bkRlcGVuZGVuY3lXYXRjaGVyIT09bnVsbCl7Y2xl
YXJJbnRlcnZhbChydW5EZXBlbmRlbmN5V2F0Y2hlcik7cnVuRGVwZW5kZW5jeVdhdGNoZXI9bnVs
bH1pZihkZXBlbmRlbmNpZXNGdWxmaWxsZWQpe3ZhciBjYWxsYmFjaz1kZXBlbmRlbmNpZXNGdWxm
aWxsZWQ7ZGVwZW5kZW5jaWVzRnVsZmlsbGVkPW51bGw7Y2FsbGJhY2soKX19fU1vZHVsZVsicHJl
bG9hZGVkSW1hZ2VzIl09e307TW9kdWxlWyJwcmVsb2FkZWRBdWRpb3MiXT17fTtmdW5jdGlvbiBh
Ym9ydCh3aGF0KXtpZihNb2R1bGVbIm9uQWJvcnQiXSl7TW9kdWxlWyJvbkFib3J0Il0od2hhdCl9
d2hhdCs9IiI7b3V0KHdoYXQpO2Vycih3aGF0KTtBQk9SVD10cnVlO0VYSVRTVEFUVVM9MTt3aGF0
PSJhYm9ydCgiK3doYXQrIikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGlu
Zm8uIjt0aHJvdyBuZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKHdoYXQpfWZ1bmN0aW9uIGhh
c1ByZWZpeChzdHIscHJlZml4KXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoP3N0
ci5zdGFydHNXaXRoKHByZWZpeCk6c3RyLmluZGV4T2YocHJlZml4KT09PTB9dmFyIGRhdGFVUklQ
cmVmaXg9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiO2Z1bmN0aW9uIGlz
RGF0YVVSSShmaWxlbmFtZSl7cmV0dXJuIGhhc1ByZWZpeChmaWxlbmFtZSxkYXRhVVJJUHJlZml4
KX12YXIgZmlsZVVSSVByZWZpeD0iZmlsZTovLyI7ZnVuY3Rpb24gaXNGaWxlVVJJKGZpbGVuYW1l
KXtyZXR1cm4gaGFzUHJlZml4KGZpbGVuYW1lLGZpbGVVUklQcmVmaXgpfXZhciB3YXNtQmluYXJ5
RmlsZT0iaW50ZXJwcmV0ZXItd2FzbS53YXNtIjtpZighaXNEYXRhVVJJKHdhc21CaW5hcnlGaWxl
KSl7d2FzbUJpbmFyeUZpbGU9bG9jYXRlRmlsZSh3YXNtQmluYXJ5RmlsZSl9ZnVuY3Rpb24gZ2V0
QmluYXJ5KCl7dHJ5e2lmKHdhc21CaW5hcnkpe3JldHVybiBuZXcgVWludDhBcnJheSh3YXNtQmlu
YXJ5KX1pZihyZWFkQmluYXJ5KXtyZXR1cm4gcmVhZEJpbmFyeSh3YXNtQmluYXJ5RmlsZSl9ZWxz
ZXt0aHJvdyJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZCJ9
fWNhdGNoKGVycil7YWJvcnQoZXJyKX19ZnVuY3Rpb24gZ2V0QmluYXJ5UHJvbWlzZSgpe2lmKCF3
YXNtQmluYXJ5JiYoRU5WSVJPTk1FTlRfSVNfV0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpJiZ0
eXBlb2YgZmV0Y2g9PT0iZnVuY3Rpb24iJiYhaXNGaWxlVVJJKHdhc21CaW5hcnlGaWxlKSl7cmV0
dXJuIGZldGNoKHdhc21CaW5hcnlGaWxlLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhl
bihmdW5jdGlvbihyZXNwb25zZSl7aWYoIXJlc3BvbnNlWyJvayJdKXt0aHJvdyJmYWlsZWQgdG8g
bG9hZCB3YXNtIGJpbmFyeSBmaWxlIGF0ICciK3dhc21CaW5hcnlGaWxlKyInIn1yZXR1cm4gcmVz
cG9uc2VbImFycmF5QnVmZmVyIl0oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGdldEJpbmFy
eSgpfSl9cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtyZXNvbHZl
KGdldEJpbmFyeSgpKX0pfWZ1bmN0aW9uIGNyZWF0ZVdhc20oKXt2YXIgaW5mbz17ImVudiI6YXNt
TGlicmFyeUFyZywid2FzaV9zbmFwc2hvdF9wcmV2aWV3MSI6YXNtTGlicmFyeUFyZ307ZnVuY3Rp
b24gcmVjZWl2ZUluc3RhbmNlKGluc3RhbmNlLG1vZHVsZSl7dmFyIGV4cG9ydHM9aW5zdGFuY2Uu
ZXhwb3J0cztNb2R1bGVbImFzbSJdPWV4cG9ydHM7cmVtb3ZlUnVuRGVwZW5kZW5jeSgid2FzbS1p
bnN0YW50aWF0ZSIpfWFkZFJ1bkRlcGVuZGVuY3koIndhc20taW5zdGFudGlhdGUiKTtmdW5jdGlv
biByZWNlaXZlSW5zdGFudGlhdGVkU291cmNlKG91dHB1dCl7cmVjZWl2ZUluc3RhbmNlKG91dHB1
dFsiaW5zdGFuY2UiXSl9ZnVuY3Rpb24gaW5zdGFudGlhdGVBcnJheUJ1ZmZlcihyZWNlaXZlcil7
cmV0dXJuIGdldEJpbmFyeVByb21pc2UoKS50aGVuKGZ1bmN0aW9uKGJpbmFyeSl7cmV0dXJuIFdl
YkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJpbmFyeSxpbmZvKX0pLnRoZW4ocmVjZWl2ZXIsZnVuY3Rp
b24ocmVhc29uKXtlcnIoImZhaWxlZCB0byBhc3luY2hyb25vdXNseSBwcmVwYXJlIHdhc206ICIr
cmVhc29uKTthYm9ydChyZWFzb24pfSl9ZnVuY3Rpb24gaW5zdGFudGlhdGVBc3luYygpe2lmKCF3
YXNtQmluYXJ5JiZ0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmc9PT0iZnVu
Y3Rpb24iJiYhaXNEYXRhVVJJKHdhc21CaW5hcnlGaWxlKSYmIWlzRmlsZVVSSSh3YXNtQmluYXJ5
RmlsZSkmJnR5cGVvZiBmZXRjaD09PSJmdW5jdGlvbiIpe2ZldGNoKHdhc21CaW5hcnlGaWxlLHtj
cmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyZXNwb25zZSl7dmFyIHJl
c3VsdD1XZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhyZXNwb25zZSxpbmZvKTtyZXR1
cm4gcmVzdWx0LnRoZW4ocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSxmdW5jdGlvbihyZWFzb24p
e2Vycigid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6ICIrcmVhc29uKTtlcnIoImZhbGxp
bmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uIik7aW5zdGFudGlhdGVBcnJheUJ1
ZmZlcihyZWNlaXZlSW5zdGFudGlhdGVkU291cmNlKX0pfSl9ZWxzZXtyZXR1cm4gaW5zdGFudGlh
dGVBcnJheUJ1ZmZlcihyZWNlaXZlSW5zdGFudGlhdGVkU291cmNlKX19aWYoTW9kdWxlWyJpbnN0
YW50aWF0ZVdhc20iXSl7dHJ5e3ZhciBleHBvcnRzPU1vZHVsZVsiaW5zdGFudGlhdGVXYXNtIl0o
aW5mbyxyZWNlaXZlSW5zdGFuY2UpO3JldHVybiBleHBvcnRzfWNhdGNoKGUpe2VycigiTW9kdWxl
Lmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogIitlKTtyZXR1cm4g
ZmFsc2V9fWluc3RhbnRpYXRlQXN5bmMoKTtyZXR1cm57fX12YXIgdGVtcERvdWJsZTt2YXIgdGVt
cEk2NDtfX0FUSU5JVF9fLnB1c2goe2Z1bmM6ZnVuY3Rpb24oKXtfX193YXNtX2NhbGxfY3RvcnMo
KX19KTtmdW5jdGlvbiBkZW1hbmdsZShmdW5jKXtyZXR1cm4gZnVuY31mdW5jdGlvbiBkZW1hbmds
ZUFsbCh0ZXh0KXt2YXIgcmVnZXg9L1xiX1pbXHdcZF9dKy9nO3JldHVybiB0ZXh0LnJlcGxhY2Uo
cmVnZXgsZnVuY3Rpb24oeCl7dmFyIHk9ZGVtYW5nbGUoeCk7cmV0dXJuIHg9PT15P3g6eSsiIFsi
K3grIl0ifSl9ZnVuY3Rpb24ganNTdGFja1RyYWNlKCl7dmFyIGVycj1uZXcgRXJyb3I7aWYoIWVy
ci5zdGFjayl7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaChlKXtlcnI9ZX1pZighZXJyLnN0YWNr
KXtyZXR1cm4iKG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZSkifX1yZXR1cm4gZXJyLnN0YWNrLnRv
U3RyaW5nKCl9ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fZ2V0X3NicmtfcHRyKCl7cmV0dXJuIDc0MDh9
ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZyhkZXN0LHNyYyxudW0pe0hFQVBVOC5jb3B5
V2l0aGluKGRlc3Qsc3JjLHNyYytudW0pfWZ1bmN0aW9uIGFib3J0T25DYW5ub3RHcm93TWVtb3J5
KHJlcXVlc3RlZFNpemUpe2Fib3J0KCJPT00iKX1mdW5jdGlvbiBfZW1zY3JpcHRlbl9yZXNpemVf
aGVhcChyZXF1ZXN0ZWRTaXplKXtyZXF1ZXN0ZWRTaXplPXJlcXVlc3RlZFNpemU+Pj4wO2Fib3J0
T25DYW5ub3RHcm93TWVtb3J5KHJlcXVlc3RlZFNpemUpfXZhciBQQVRIPXtzcGxpdFBhdGg6ZnVu
Y3Rpb24oZmlsZW5hbWUpe3ZhciBzcGxpdFBhdGhSZT0vXihcLz98KShbXHNcU10qPykoKD86XC57
MSwyfXxbXlwvXSs/fCkoXC5bXi5cL10qfCkpKD86W1wvXSopJC87cmV0dXJuIHNwbGl0UGF0aFJl
LmV4ZWMoZmlsZW5hbWUpLnNsaWNlKDEpfSxub3JtYWxpemVBcnJheTpmdW5jdGlvbihwYXJ0cyxh
bGxvd0Fib3ZlUm9vdCl7dmFyIHVwPTA7Zm9yKHZhciBpPXBhcnRzLmxlbmd0aC0xO2k+PTA7aS0t
KXt2YXIgbGFzdD1wYXJ0c1tpXTtpZihsYXN0PT09Ii4iKXtwYXJ0cy5zcGxpY2UoaSwxKX1lbHNl
IGlmKGxhc3Q9PT0iLi4iKXtwYXJ0cy5zcGxpY2UoaSwxKTt1cCsrfWVsc2UgaWYodXApe3BhcnRz
LnNwbGljZShpLDEpO3VwLS19fWlmKGFsbG93QWJvdmVSb290KXtmb3IoO3VwO3VwLS0pe3BhcnRz
LnVuc2hpZnQoIi4uIil9fXJldHVybiBwYXJ0c30sbm9ybWFsaXplOmZ1bmN0aW9uKHBhdGgpe3Zh
ciBpc0Fic29sdXRlPXBhdGguY2hhckF0KDApPT09Ii8iLHRyYWlsaW5nU2xhc2g9cGF0aC5zdWJz
dHIoLTEpPT09Ii8iO3BhdGg9UEFUSC5ub3JtYWxpemVBcnJheShwYXRoLnNwbGl0KCIvIikuZmls
dGVyKGZ1bmN0aW9uKHApe3JldHVybiEhcH0pLCFpc0Fic29sdXRlKS5qb2luKCIvIik7aWYoIXBh
dGgmJiFpc0Fic29sdXRlKXtwYXRoPSIuIn1pZihwYXRoJiZ0cmFpbGluZ1NsYXNoKXtwYXRoKz0i
LyJ9cmV0dXJuKGlzQWJzb2x1dGU/Ii8iOiIiKStwYXRofSxkaXJuYW1lOmZ1bmN0aW9uKHBhdGgp
e3ZhciByZXN1bHQ9UEFUSC5zcGxpdFBhdGgocGF0aCkscm9vdD1yZXN1bHRbMF0sZGlyPXJlc3Vs
dFsxXTtpZighcm9vdCYmIWRpcil7cmV0dXJuIi4ifWlmKGRpcil7ZGlyPWRpci5zdWJzdHIoMCxk
aXIubGVuZ3RoLTEpfXJldHVybiByb290K2Rpcn0sYmFzZW5hbWU6ZnVuY3Rpb24ocGF0aCl7aWYo
cGF0aD09PSIvIilyZXR1cm4iLyI7dmFyIGxhc3RTbGFzaD1wYXRoLmxhc3RJbmRleE9mKCIvIik7
aWYobGFzdFNsYXNoPT09LTEpcmV0dXJuIHBhdGg7cmV0dXJuIHBhdGguc3Vic3RyKGxhc3RTbGFz
aCsxKX0sZXh0bmFtZTpmdW5jdGlvbihwYXRoKXtyZXR1cm4gUEFUSC5zcGxpdFBhdGgocGF0aClb
M119LGpvaW46ZnVuY3Rpb24oKXt2YXIgcGF0aHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwo
YXJndW1lbnRzLDApO3JldHVybiBQQVRILm5vcm1hbGl6ZShwYXRocy5qb2luKCIvIikpfSxqb2lu
MjpmdW5jdGlvbihsLHIpe3JldHVybiBQQVRILm5vcm1hbGl6ZShsKyIvIityKX19O3ZhciBTWVND
QUxMUz17bWFwcGluZ3M6e30sYnVmZmVyczpbbnVsbCxbXSxbXV0scHJpbnRDaGFyOmZ1bmN0aW9u
KHN0cmVhbSxjdXJyKXt2YXIgYnVmZmVyPVNZU0NBTExTLmJ1ZmZlcnNbc3RyZWFtXTtpZihjdXJy
PT09MHx8Y3Vycj09PTEwKXsoc3RyZWFtPT09MT9vdXQ6ZXJyKShVVEY4QXJyYXlUb1N0cmluZyhi
dWZmZXIsMCkpO2J1ZmZlci5sZW5ndGg9MH1lbHNle2J1ZmZlci5wdXNoKGN1cnIpfX0sdmFyYXJn
czp1bmRlZmluZWQsZ2V0OmZ1bmN0aW9uKCl7U1lTQ0FMTFMudmFyYXJncys9NDt2YXIgcmV0PUhF
QVAzMltTWVNDQUxMUy52YXJhcmdzLTQ+PjJdO3JldHVybiByZXR9LGdldFN0cjpmdW5jdGlvbihw
dHIpe3ZhciByZXQ9VVRGOFRvU3RyaW5nKHB0cik7cmV0dXJuIHJldH0sZ2V0NjQ6ZnVuY3Rpb24o
bG93LGhpZ2gpe3JldHVybiBsb3d9fTtmdW5jdGlvbiBfZmRfd3JpdGUoZmQsaW92LGlvdmNudCxw
bnVtKXt2YXIgbnVtPTA7Zm9yKHZhciBpPTA7aTxpb3ZjbnQ7aSsrKXt2YXIgcHRyPUhFQVAzMltp
b3YraSo4Pj4yXTt2YXIgbGVuPUhFQVAzMltpb3YrKGkqOCs0KT4+Ml07Zm9yKHZhciBqPTA7ajxs
ZW47aisrKXtTWVNDQUxMUy5wcmludENoYXIoZmQsSEVBUFU4W3B0citqXSl9bnVtKz1sZW59SEVB
UDMyW3BudW0+PjJdPW51bTtyZXR1cm4gMH1mdW5jdGlvbiBfc2V0VGVtcFJldDAoJGkpe3NldFRl
bXBSZXQwKCRpfDApfXZhciBBU1NFUlRJT05TPWZhbHNlO3ZhciBhc21MaWJyYXJ5QXJnPXsiZW1z
Y3JpcHRlbl9nZXRfc2Jya19wdHIiOl9lbXNjcmlwdGVuX2dldF9zYnJrX3B0ciwiZW1zY3JpcHRl
bl9tZW1jcHlfYmlnIjpfZW1zY3JpcHRlbl9tZW1jcHlfYmlnLCJlbXNjcmlwdGVuX3Jlc2l6ZV9o
ZWFwIjpfZW1zY3JpcHRlbl9yZXNpemVfaGVhcCwiZmRfd3JpdGUiOl9mZF93cml0ZSwibWVtb3J5
Ijp3YXNtTWVtb3J5LCJzZXRUZW1wUmV0MCI6X3NldFRlbXBSZXQwLCJ0YWJsZSI6d2FzbVRhYmxl
fTt2YXIgYXNtPWNyZWF0ZVdhc20oKTtNb2R1bGVbImFzbSJdPWFzbTt2YXIgX19fd2FzbV9jYWxs
X2N0b3JzPU1vZHVsZVsiX19fd2FzbV9jYWxsX2N0b3JzIl09ZnVuY3Rpb24oKXtyZXR1cm4oX19f
d2FzbV9jYWxsX2N0b3JzPU1vZHVsZVsiX19fd2FzbV9jYWxsX2N0b3JzIl09TW9kdWxlWyJhc20i
XVsiX193YXNtX2NhbGxfY3RvcnMiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgX21haW49
TW9kdWxlWyJfbWFpbiJdPWZ1bmN0aW9uKCl7cmV0dXJuKF9tYWluPU1vZHVsZVsiX21haW4iXT1N
b2R1bGVbImFzbSJdWyJtYWluIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9tYWxsb2M9
TW9kdWxlWyJfbWFsbG9jIl09ZnVuY3Rpb24oKXtyZXR1cm4oX21hbGxvYz1Nb2R1bGVbIl9tYWxs
b2MiXT1Nb2R1bGVbImFzbSJdWyJtYWxsb2MiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIg
X19fZXJybm9fbG9jYXRpb249TW9kdWxlWyJfX19lcnJub19sb2NhdGlvbiJdPWZ1bmN0aW9uKCl7
cmV0dXJuKF9fX2Vycm5vX2xvY2F0aW9uPU1vZHVsZVsiX19fZXJybm9fbG9jYXRpb24iXT1Nb2R1
bGVbImFzbSJdWyJfX2Vycm5vX2xvY2F0aW9uIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFy
IF9mcmVlPU1vZHVsZVsiX2ZyZWUiXT1mdW5jdGlvbigpe3JldHVybihfZnJlZT1Nb2R1bGVbIl9m
cmVlIl09TW9kdWxlWyJhc20iXVsiZnJlZSJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBz
dGFja1NhdmU9TW9kdWxlWyJzdGFja1NhdmUiXT1mdW5jdGlvbigpe3JldHVybihzdGFja1NhdmU9
TW9kdWxlWyJzdGFja1NhdmUiXT1Nb2R1bGVbImFzbSJdWyJzdGFja1NhdmUiXSkuYXBwbHkobnVs
bCxhcmd1bWVudHMpfTt2YXIgc3RhY2tBbGxvYz1Nb2R1bGVbInN0YWNrQWxsb2MiXT1mdW5jdGlv
bigpe3JldHVybihzdGFja0FsbG9jPU1vZHVsZVsic3RhY2tBbGxvYyJdPU1vZHVsZVsiYXNtIl1b
InN0YWNrQWxsb2MiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgc3RhY2tSZXN0b3JlPU1v
ZHVsZVsic3RhY2tSZXN0b3JlIl09ZnVuY3Rpb24oKXtyZXR1cm4oc3RhY2tSZXN0b3JlPU1vZHVs
ZVsic3RhY2tSZXN0b3JlIl09TW9kdWxlWyJhc20iXVsic3RhY2tSZXN0b3JlIl0pLmFwcGx5KG51
bGwsYXJndW1lbnRzKX07dmFyIF9fZ3Jvd1dhc21NZW1vcnk9TW9kdWxlWyJfX2dyb3dXYXNtTWVt
b3J5Il09ZnVuY3Rpb24oKXtyZXR1cm4oX19ncm93V2FzbU1lbW9yeT1Nb2R1bGVbIl9fZ3Jvd1dh
c21NZW1vcnkiXT1Nb2R1bGVbImFzbSJdWyJfX2dyb3dXYXNtTWVtb3J5Il0pLmFwcGx5KG51bGws
YXJndW1lbnRzKX07dmFyIGR5bkNhbGxfaWk9TW9kdWxlWyJkeW5DYWxsX2lpIl09ZnVuY3Rpb24o
KXtyZXR1cm4oZHluQ2FsbF9paT1Nb2R1bGVbImR5bkNhbGxfaWkiXT1Nb2R1bGVbImFzbSJdWyJk
eW5DYWxsX2lpIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIGR5bkNhbGxfaWlpaT1Nb2R1
bGVbImR5bkNhbGxfaWlpaSJdPWZ1bmN0aW9uKCl7cmV0dXJuKGR5bkNhbGxfaWlpaT1Nb2R1bGVb
ImR5bkNhbGxfaWlpaSJdPU1vZHVsZVsiYXNtIl1bImR5bkNhbGxfaWlpaSJdKS5hcHBseShudWxs
LGFyZ3VtZW50cyl9O3ZhciBkeW5DYWxsX2ppamk9TW9kdWxlWyJkeW5DYWxsX2ppamkiXT1mdW5j
dGlvbigpe3JldHVybihkeW5DYWxsX2ppamk9TW9kdWxlWyJkeW5DYWxsX2ppamkiXT1Nb2R1bGVb
ImFzbSJdWyJkeW5DYWxsX2ppamkiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtNb2R1bGVbImFz
bSJdPWFzbTt2YXIgY2FsbGVkUnVuO2Z1bmN0aW9uIEV4aXRTdGF0dXMoc3RhdHVzKXt0aGlzLm5h
bWU9IkV4aXRTdGF0dXMiO3RoaXMubWVzc2FnZT0iUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhp
dCgiK3N0YXR1cysiKSI7dGhpcy5zdGF0dXM9c3RhdHVzfXZhciBjYWxsZWRNYWluPWZhbHNlO2Rl
cGVuZGVuY2llc0Z1bGZpbGxlZD1mdW5jdGlvbiBydW5DYWxsZXIoKXtpZighY2FsbGVkUnVuKXJ1
bigpO2lmKCFjYWxsZWRSdW4pZGVwZW5kZW5jaWVzRnVsZmlsbGVkPXJ1bkNhbGxlcn07ZnVuY3Rp
b24gY2FsbE1haW4oYXJncyl7dmFyIGVudHJ5RnVuY3Rpb249TW9kdWxlWyJfbWFpbiJdO2FyZ3M9
YXJnc3x8W107dmFyIGFyZ2M9YXJncy5sZW5ndGgrMTt2YXIgYXJndj1zdGFja0FsbG9jKChhcmdj
KzEpKjQpO0hFQVAzMlthcmd2Pj4yXT1hbGxvY2F0ZVVURjhPblN0YWNrKHRoaXNQcm9ncmFtKTtm
b3IodmFyIGk9MTtpPGFyZ2M7aSsrKXtIRUFQMzJbKGFyZ3Y+PjIpK2ldPWFsbG9jYXRlVVRGOE9u
U3RhY2soYXJnc1tpLTFdKX1IRUFQMzJbKGFyZ3Y+PjIpK2FyZ2NdPTA7dHJ5e3ZhciByZXQ9ZW50
cnlGdW5jdGlvbihhcmdjLGFyZ3YpO2V4aXQocmV0LHRydWUpfWNhdGNoKGUpe2lmKGUgaW5zdGFu
Y2VvZiBFeGl0U3RhdHVzKXtyZXR1cm59ZWxzZSBpZihlPT0idW53aW5kIil7bm9FeGl0UnVudGlt
ZT10cnVlO3JldHVybn1lbHNle3ZhciB0b0xvZz1lO2lmKGUmJnR5cGVvZiBlPT09Im9iamVjdCIm
JmUuc3RhY2spe3RvTG9nPVtlLGUuc3RhY2tdfWVycigiZXhjZXB0aW9uIHRocm93bjogIit0b0xv
Zyk7cXVpdF8oMSxlKX19ZmluYWxseXtjYWxsZWRNYWluPXRydWV9fWZ1bmN0aW9uIHJ1bihhcmdz
KXthcmdzPWFyZ3N8fGFyZ3VtZW50c187aWYocnVuRGVwZW5kZW5jaWVzPjApe3JldHVybn1wcmVS
dW4oKTtpZihydW5EZXBlbmRlbmNpZXM+MClyZXR1cm47ZnVuY3Rpb24gZG9SdW4oKXtpZihjYWxs
ZWRSdW4pcmV0dXJuO2NhbGxlZFJ1bj10cnVlO01vZHVsZVsiY2FsbGVkUnVuIl09dHJ1ZTtpZihB
Qk9SVClyZXR1cm47aW5pdFJ1bnRpbWUoKTtwcmVNYWluKCk7aWYoTW9kdWxlWyJvblJ1bnRpbWVJ
bml0aWFsaXplZCJdKU1vZHVsZVsib25SdW50aW1lSW5pdGlhbGl6ZWQiXSgpO2lmKHNob3VsZFJ1
bk5vdyljYWxsTWFpbihhcmdzKTtwb3N0UnVuKCl9aWYoTW9kdWxlWyJzZXRTdGF0dXMiXSl7TW9k
dWxlWyJzZXRTdGF0dXMiXSgiUnVubmluZy4uLiIpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtzZXRU
aW1lb3V0KGZ1bmN0aW9uKCl7TW9kdWxlWyJzZXRTdGF0dXMiXSgiIil9LDEpO2RvUnVuKCl9LDEp
fWVsc2V7ZG9SdW4oKX19TW9kdWxlWyJydW4iXT1ydW47ZnVuY3Rpb24gZXhpdChzdGF0dXMsaW1w
bGljaXQpe2lmKGltcGxpY2l0JiZub0V4aXRSdW50aW1lJiZzdGF0dXM9PT0wKXtyZXR1cm59aWYo
bm9FeGl0UnVudGltZSl7fWVsc2V7QUJPUlQ9dHJ1ZTtFWElUU1RBVFVTPXN0YXR1cztleGl0UnVu
dGltZSgpO2lmKE1vZHVsZVsib25FeGl0Il0pTW9kdWxlWyJvbkV4aXQiXShzdGF0dXMpfXF1aXRf
KHN0YXR1cyxuZXcgRXhpdFN0YXR1cyhzdGF0dXMpKX1pZihNb2R1bGVbInByZUluaXQiXSl7aWYo
dHlwZW9mIE1vZHVsZVsicHJlSW5pdCJdPT0iZnVuY3Rpb24iKU1vZHVsZVsicHJlSW5pdCJdPVtN
b2R1bGVbInByZUluaXQiXV07d2hpbGUoTW9kdWxlWyJwcmVJbml0Il0ubGVuZ3RoPjApe01vZHVs
ZVsicHJlSW5pdCJdLnBvcCgpKCl9fXZhciBzaG91bGRSdW5Ob3c9dHJ1ZTtpZihNb2R1bGVbIm5v
SW5pdGlhbFJ1biJdKXNob3VsZFJ1bk5vdz1mYWxzZTtub0V4aXRSdW50aW1lPXRydWU7cnVuKCk7
Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432401</attachid>
            <date>2021-06-28 09:43:35 -0700</date>
            <delta_ts>2021-06-28 09:54:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227295-20210628124333.patch</filename>
            <type>text/plain</type>
            <size>28411</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTY2CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE0N2ZlNDhmOTBmNTAyZmQzNWZkNDE2Y2E5YjUx
N2I0OTExYTMwYTUuLmEzMzZmYWE3YWYzOWRhNTJlZTM2M2IzODU5ZWJlZjk5ZGY0NmQ5NjIgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTEyIEBACisyMDIxLTA2LTIzICBNaWtoYWlsIFIuIEdhZGVsaGEgIDxtaWtoYWlsQGln
YWxpYS5jb20+CisKKyAgICAgICAgVW5za2lwIGludGVycHJldGVyLXdhc20uanMgb24gQVJNIGFu
ZCBNSVBTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcyOTUKKworICAgICAgICBSZXZpZXdlZCBieSBDYWlvIEFyYXVqbyBOZXBvbm9jZW5vIGRlIExp
bWEuCisKKyAgICAgICAgQ2hhbmdlZCB0aGUgdGVzdGNhc2UgdG8gYmUgZ3VhcmRlZCBieSAkdm0u
aXNXYXNtU3VwcG9ydGVkKCksIHNvIHRoZQorICAgICAgICB0ZXN0IHdpbGwgYmUgZXhlY3V0ZWQg
b25jZSB3YXNtIGlzIGF2YWlsYWJsZSBpbiB0aGUgYXJjaAorCisgICAgICAgICogbWljcm9iZW5j
aG1hcmtzL2ludGVycHJldGVyLXdhc20uanM6CisgICAgICAgIChrZXkuaW4uTW9kdWxlLk1vZHVs
ZS5oYXNPd25Qcm9wZXJ0eSk6IERlbGV0ZWQuCisgICAgICAgIChxdWl0Xyk6IERlbGV0ZWQuCisg
ICAgICAgIChsb2NhdGVGaWxlKTogRGVsZXRlZC4KKyAgICAgICAgKEVOVklST05NRU5UX0lTX05P
REUucmVhZF8pOiBEZWxldGVkLgorICAgICAgICAoRU5WSVJPTk1FTlRfSVNfTk9ERS5yZWFkQmlu
YXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKEVOVklST05NRU5UX0lTX05PREUucXVpdF8pOiBEZWxl
dGVkLgorICAgICAgICAoRU5WSVJPTk1FTlRfSVNfTk9ERS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVk
X2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoZWxzZS5yZWFkXyk6IERlbGV0ZWQuCisgICAgICAg
IChlbHNlLnJlYWRCaW5hcnkpOiBEZWxldGVkLgorICAgICAgICAoZWxzZS5xdWl0Xyk6IERlbGV0
ZWQuCisgICAgICAgIChlbHNlKTogRGVsZXRlZC4KKyAgICAgICAgKGVsc2UueGhyLm9ubG9hZCk6
IERlbGV0ZWQuCisgICAgICAgIChlbHNlLnJlYWRBc3luYyk6IERlbGV0ZWQuCisgICAgICAgIChl
bHNlLnNldFdpbmRvd1RpdGxlKTogRGVsZXRlZC4KKyAgICAgICAgKGtleS5pbi5tb2R1bGVPdmVy
cmlkZXMubW9kdWxlT3ZlcnJpZGVzLmhhc093blByb3BlcnR5KTogRGVsZXRlZC4KKyAgICAgICAg
KGR5bmFtaWNBbGxvYyk6IERlbGV0ZWQuCisgICAgICAgIChnZXROYXRpdmVUeXBlU2l6ZSk6IERl
bGV0ZWQuCisgICAgICAgICh3YXJuT25jZSk6IERlbGV0ZWQuCisgICAgICAgIChjb252ZXJ0SnNG
dW5jdGlvblRvV2FzbSk6IERlbGV0ZWQuCisgICAgICAgIChhZGRGdW5jdGlvbldhc20pOiBEZWxl
dGVkLgorICAgICAgICAocmVtb3ZlRnVuY3Rpb25XYXNtKTogRGVsZXRlZC4KKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgIChzZXRUZW1wUmV0MCk6IERlbGV0ZWQuCisgICAgICAgIChzZXRW
YWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChhc3NlcnQpOiBEZWxldGVkLgorICAgICAgICAoZ2V0
Q0Z1bmMpOiBEZWxldGVkLgorICAgICAgICAodG9DLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVs
ZXRlZC4KKyAgICAgICAgKGNvbnZlcnRSZXR1cm5WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChj
Y2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChVVEY4QXJyYXlUb1N0cmluZyk6IERlbGV0ZWQuCisg
ICAgICAgIChVVEY4VG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoc3RyaW5nVG9VVEY4QXJy
YXkpOiBEZWxldGVkLgorICAgICAgICAoc3RyaW5nVG9VVEY4KTogRGVsZXRlZC4KKyAgICAgICAg
KGxlbmd0aEJ5dGVzVVRGOCk6IERlbGV0ZWQuCisgICAgICAgIChhbGxvY2F0ZVVURjhPblN0YWNr
KTogRGVsZXRlZC4KKyAgICAgICAgKHdyaXRlQXJyYXlUb01lbW9yeSk6IERlbGV0ZWQuCisgICAg
ICAgICh3cml0ZUFzY2lpVG9NZW1vcnkpOiBEZWxldGVkLgorICAgICAgICAodXBkYXRlR2xvYmFs
QnVmZmVyQW5kVmlld3MpOiBEZWxldGVkLgorICAgICAgICAoY2FsbFJ1bnRpbWVDYWxsYmFja3Mp
OiBEZWxldGVkLgorICAgICAgICAocHJlUnVuKTogRGVsZXRlZC4KKyAgICAgICAgKGluaXRSdW50
aW1lKTogRGVsZXRlZC4KKyAgICAgICAgKHByZU1haW4pOiBEZWxldGVkLgorICAgICAgICAoZXhp
dFJ1bnRpbWUpOiBEZWxldGVkLgorICAgICAgICAocG9zdFJ1bik6IERlbGV0ZWQuCisgICAgICAg
IChhZGRPblByZVJ1bik6IERlbGV0ZWQuCisgICAgICAgIChhZGRPblBvc3RSdW4pOiBEZWxldGVk
LgorICAgICAgICAoYWRkUnVuRGVwZW5kZW5jeSk6IERlbGV0ZWQuCisgICAgICAgIChyZW1vdmVS
dW5EZXBlbmRlbmN5KTogRGVsZXRlZC4KKyAgICAgICAgKGhhc1ByZWZpeCk6IERlbGV0ZWQuCisg
ICAgICAgIChpc0RhdGFVUkkpOiBEZWxldGVkLgorICAgICAgICAoaXNGaWxlVVJJKTogRGVsZXRl
ZC4KKyAgICAgICAgKGdldEJpbmFyeSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRCaW5hcnlQcm9t
aXNlKTogRGVsZXRlZC4KKyAgICAgICAgKGNyZWF0ZVdhc20ucmVjZWl2ZUluc3RhbmNlKTogRGVs
ZXRlZC4KKyAgICAgICAgKGNyZWF0ZVdhc20ucmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSk6IERl
bGV0ZWQuCisgICAgICAgIChjcmVhdGVXYXNtLmluc3RhbnRpYXRlQXJyYXlCdWZmZXIpOiBEZWxl
dGVkLgorICAgICAgICAoY3JlYXRlV2FzbS5pbnN0YW50aWF0ZUFzeW5jLik6IERlbGV0ZWQuCisg
ICAgICAgIChjcmVhdGVXYXNtLmluc3RhbnRpYXRlQXN5bmMpOiBEZWxldGVkLgorICAgICAgICAo
Y3JlYXRlV2FzbSk6IERlbGV0ZWQuCisgICAgICAgIChfX0FUSU5JVF9fLnB1c2guZnVuYyk6IERl
bGV0ZWQuCisgICAgICAgIChkZW1hbmdsZSk6IERlbGV0ZWQuCisgICAgICAgIChkZW1hbmdsZUFs
bCk6IERlbGV0ZWQuCisgICAgICAgIChfZW1zY3JpcHRlbl9nZXRfc2Jya19wdHIpOiBEZWxldGVk
LgorICAgICAgICAoX2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZyk6IERlbGV0ZWQuCisgICAgICAgIChh
Ym9ydE9uQ2Fubm90R3Jvd01lbW9yeSk6IERlbGV0ZWQuCisgICAgICAgIChfZW1zY3JpcHRlbl9y
ZXNpemVfaGVhcCk6IERlbGV0ZWQuCisgICAgICAgIChQQVRILnNwbGl0UGF0aCk6IERlbGV0ZWQu
CisgICAgICAgIChQQVRILm5vcm1hbGl6ZUFycmF5KTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEgu
bm9ybWFsaXplKTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEguZGlybmFtZSk6IERlbGV0ZWQuCisg
ICAgICAgIChQQVRILmJhc2VuYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEguZXh0bmFtZSk6
IERlbGV0ZWQuCisgICAgICAgIChQQVRILmpvaW4pOiBEZWxldGVkLgorICAgICAgICAoUEFUSC5q
b2luMik6IERlbGV0ZWQuCisgICAgICAgIChTWVNDQUxMUy5wcmludENoYXIpOiBEZWxldGVkLgor
ICAgICAgICAoU1lTQ0FMTFMuZ2V0U3RyKTogRGVsZXRlZC4KKyAgICAgICAgKFNZU0NBTExTLmdl
dDY0KTogRGVsZXRlZC4KKyAgICAgICAgKF9mZF93cml0ZSk6IERlbGV0ZWQuCisgICAgICAgIChf
c2V0VGVtcFJldDApOiBEZWxldGVkLgorICAgICAgICAoX19fd2FzbV9jYWxsX2N0b3JzLk1vZHVs
ZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChfbWFpbi5Nb2R1bGUu
c3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoX21hbGxvYy5Nb2R1bGUu
c3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoX19fZXJybm9fbG9jYXRp
b24uTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKF9mcmVl
Lk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChzdGFja1Nh
dmUuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0YWNr
QWxsb2MuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0
YWNrUmVzdG9yZS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAg
ICAoX19ncm93V2FzbU1lbW9yeS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVk
LgorICAgICAgICAoZHluQ2FsbF9paS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxl
dGVkLgorICAgICAgICAoZHluQ2FsbF9paWlpLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6
IERlbGV0ZWQuCisgICAgICAgIChkeW5DYWxsX2ppamkuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9o
ZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKEV4aXRTdGF0dXMpOiBEZWxldGVkLgorICAgICAgICAo
ZGVwZW5kZW5jaWVzRnVsZmlsbGVkKTogRGVsZXRlZC4KKyAgICAgICAgKGNhbGxNYWluKTogRGVs
ZXRlZC4KKyAgICAgICAgKHJ1bi5kb1J1bik6IERlbGV0ZWQuCisgICAgICAgIChydW4pOiBEZWxl
dGVkLgorICAgICAgICAoZXhpdCk6IERlbGV0ZWQuCisKIDIwMjEtMDYtMjIgIFNhYW0gQmFyYXRp
ICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgYXNzdW1lIHN0cmVzcy9vdXQt
b2YtbWVtb3J5LXdoaWxlLWNvbnN0cnVjdGluZy1CeXRlY29kZUdlbmVyYXRvci5qcyB3aWxsIE9P
TQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvaW50ZXJwcmV0ZXItd2FzbS5q
cyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL2ludGVycHJldGVyLXdhc20uanMKaW5kZXggZDA3
M2ZlZTIzYzlmZjQ1MDk1NzQ1MDVlODBlZjAxMDMwZGFjMTk4YS4uZDg0YTE5YTY1ZTFmNDc3MWIy
OWI3YmQ5NmJmYTNkYTljNWRmMTQzYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9taWNyb2JlbmNobWFy
a3MvaW50ZXJwcmV0ZXItd2FzbS5qcworKysgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9pbnRl
cnByZXRlci13YXNtLmpzCkBAIC0xLDMgKzEsNCBAQAotLy9AIHNraXAgaWYgJGFyY2hpdGVjdHVy
ZSA9PSAiYXJtIiBvciAkYXJjaGl0ZWN0dXJlID09ICJtaXBzIiBvciAkbW9kZWwgPX4gL0FwcGxl
IFdhdGNoLwogLy9AIHJ1bkRlZmF1bHQKK2lmICgkdm0uaXNXYXNtU3VwcG9ydGVkKCkpIHsKIHZh
ciBNb2R1bGU9dHlwZW9mIE1vZHVsZSE9PSJ1bmRlZmluZWQiP01vZHVsZTp7fTt2YXIgbW9kdWxl
T3ZlcnJpZGVzPXt9O3ZhciBrZXk7Zm9yKGtleSBpbiBNb2R1bGUpe2lmKE1vZHVsZS5oYXNPd25Q
cm9wZXJ0eShrZXkpKXttb2R1bGVPdmVycmlkZXNba2V5XT1Nb2R1bGVba2V5XX19dmFyIGFyZ3Vt
ZW50c189W107dmFyIHRoaXNQcm9ncmFtPSIuL3RoaXMucHJvZ3JhbSI7dmFyIHF1aXRfPWZ1bmN0
aW9uKHN0YXR1cyx0b1Rocm93KXt0aHJvdyB0b1Rocm93fTt2YXIgRU5WSVJPTk1FTlRfSVNfV0VC
PWZhbHNlO3ZhciBFTlZJUk9OTUVOVF9JU19XT1JLRVI9ZmFsc2U7dmFyIEVOVklST05NRU5UX0lT
X05PREU9ZmFsc2U7dmFyIEVOVklST05NRU5UX0lTX1NIRUxMPWZhbHNlO0VOVklST05NRU5UX0lT
X1dFQj10eXBlb2Ygd2luZG93PT09Im9iamVjdCI7RU5WSVJPTk1FTlRfSVNfV09SS0VSPXR5cGVv
ZiBpbXBvcnRTY3JpcHRzPT09ImZ1bmN0aW9uIjtFTlZJUk9OTUVOVF9JU19OT0RFPXR5cGVvZiBw
cm9jZXNzPT09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25zPT09Im9iamVjdCImJnR5
cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGU9PT0ic3RyaW5nIjtFTlZJUk9OTUVOVF9JU19TSEVM
TD0hRU5WSVJPTk1FTlRfSVNfV0VCJiYhRU5WSVJPTk1FTlRfSVNfTk9ERSYmIUVOVklST05NRU5U
X0lTX1dPUktFUjt2YXIgc2NyaXB0RGlyZWN0b3J5PSIiO2Z1bmN0aW9uIGxvY2F0ZUZpbGUocGF0
aCl7aWYoTW9kdWxlWyJsb2NhdGVGaWxlIl0pe3JldHVybiBNb2R1bGVbImxvY2F0ZUZpbGUiXShw
YXRoLHNjcmlwdERpcmVjdG9yeSl9cmV0dXJuIHNjcmlwdERpcmVjdG9yeStwYXRofXZhciByZWFk
XyxyZWFkQXN5bmMscmVhZEJpbmFyeSxzZXRXaW5kb3dUaXRsZTt2YXIgbm9kZUZTO3ZhciBub2Rl
UGF0aDtpZihFTlZJUk9OTUVOVF9JU19OT0RFKXtpZihFTlZJUk9OTUVOVF9JU19XT1JLRVIpe3Nj
cmlwdERpcmVjdG9yeT1yZXF1aXJlKCJwYXRoIikuZGlybmFtZShzY3JpcHREaXJlY3RvcnkpKyIv
In1lbHNle3NjcmlwdERpcmVjdG9yeT1fX2Rpcm5hbWUrIi8ifXJlYWRfPWZ1bmN0aW9uIHNoZWxs
X3JlYWQoZmlsZW5hbWUsYmluYXJ5KXtpZighbm9kZUZTKW5vZGVGUz1yZXF1aXJlKCJmcyIpO2lm
KCFub2RlUGF0aClub2RlUGF0aD1yZXF1aXJlKCJwYXRoIik7ZmlsZW5hbWU9bm9kZVBhdGhbIm5v
cm1hbGl6ZSJdKGZpbGVuYW1lKTtyZXR1cm4gbm9kZUZTWyJyZWFkRmlsZVN5bmMiXShmaWxlbmFt
ZSxiaW5hcnk/bnVsbDoidXRmOCIpfTtyZWFkQmluYXJ5PWZ1bmN0aW9uIHJlYWRCaW5hcnkoZmls
ZW5hbWUpe3ZhciByZXQ9cmVhZF8oZmlsZW5hbWUsdHJ1ZSk7aWYoIXJldC5idWZmZXIpe3JldD1u
ZXcgVWludDhBcnJheShyZXQpfWFzc2VydChyZXQuYnVmZmVyKTtyZXR1cm4gcmV0fTtpZihwcm9j
ZXNzWyJhcmd2Il0ubGVuZ3RoPjEpe3RoaXNQcm9ncmFtPXByb2Nlc3NbImFyZ3YiXVsxXS5yZXBs
YWNlKC9cXC9nLCIvIil9YXJndW1lbnRzXz1wcm9jZXNzWyJhcmd2Il0uc2xpY2UoMik7aWYodHlw
ZW9mIG1vZHVsZSE9PSJ1bmRlZmluZWQiKXttb2R1bGVbImV4cG9ydHMiXT1Nb2R1bGV9cHJvY2Vz
c1sib24iXSgidW5jYXVnaHRFeGNlcHRpb24iLGZ1bmN0aW9uKGV4KXtpZighKGV4IGluc3RhbmNl
b2YgRXhpdFN0YXR1cykpe3Rocm93IGV4fX0pO3Byb2Nlc3NbIm9uIl0oInVuaGFuZGxlZFJlamVj
dGlvbiIsYWJvcnQpO3F1aXRfPWZ1bmN0aW9uKHN0YXR1cyl7cHJvY2Vzc1siZXhpdCJdKHN0YXR1
cyl9O01vZHVsZVsiaW5zcGVjdCJdPWZ1bmN0aW9uKCl7cmV0dXJuIltFbXNjcmlwdGVuIE1vZHVs
ZSBvYmplY3RdIn19ZWxzZSBpZihFTlZJUk9OTUVOVF9JU19TSEVMTCl7aWYodHlwZW9mIHJlYWQh
PSJ1bmRlZmluZWQiKXtyZWFkXz1mdW5jdGlvbiBzaGVsbF9yZWFkKGYpe3JldHVybiByZWFkKGYp
fX1yZWFkQmluYXJ5PWZ1bmN0aW9uIHJlYWRCaW5hcnkoZil7dmFyIGRhdGE7aWYodHlwZW9mIHJl
YWRidWZmZXI9PT0iZnVuY3Rpb24iKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkocmVhZGJ1ZmZlcihm
KSl9ZGF0YT1yZWFkKGYsImJpbmFyeSIpO2Fzc2VydCh0eXBlb2YgZGF0YT09PSJvYmplY3QiKTty
ZXR1cm4gZGF0YX07aWYodHlwZW9mIHNjcmlwdEFyZ3MhPSJ1bmRlZmluZWQiKXthcmd1bWVudHNf
PXNjcmlwdEFyZ3N9ZWxzZSBpZih0eXBlb2YgYXJndW1lbnRzIT0idW5kZWZpbmVkIil7YXJndW1l
bnRzXz1hcmd1bWVudHN9aWYodHlwZW9mIHF1aXQ9PT0iZnVuY3Rpb24iKXtxdWl0Xz1mdW5jdGlv
bihzdGF0dXMpe3F1aXQoc3RhdHVzKX19aWYodHlwZW9mIHByaW50IT09InVuZGVmaW5lZCIpe2lm
KHR5cGVvZiBjb25zb2xlPT09InVuZGVmaW5lZCIpY29uc29sZT17fTtjb25zb2xlLmxvZz1wcmlu
dDtjb25zb2xlLndhcm49Y29uc29sZS5lcnJvcj10eXBlb2YgcHJpbnRFcnIhPT0idW5kZWZpbmVk
Ij9wcmludEVycjpwcmludH19ZWxzZSBpZihFTlZJUk9OTUVOVF9JU19XRUJ8fEVOVklST05NRU5U
X0lTX1dPUktFUil7aWYoRU5WSVJPTk1FTlRfSVNfV09SS0VSKXtzY3JpcHREaXJlY3Rvcnk9c2Vs
Zi5sb2NhdGlvbi5ocmVmfWVsc2UgaWYoZG9jdW1lbnQuY3VycmVudFNjcmlwdCl7c2NyaXB0RGly
ZWN0b3J5PWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjfWlmKHNjcmlwdERpcmVjdG9yeS5pbmRl
eE9mKCJibG9iOiIpIT09MCl7c2NyaXB0RGlyZWN0b3J5PXNjcmlwdERpcmVjdG9yeS5zdWJzdHIo
MCxzY3JpcHREaXJlY3RvcnkubGFzdEluZGV4T2YoIi8iKSsxKX1lbHNle3NjcmlwdERpcmVjdG9y
eT0iIn17cmVhZF89ZnVuY3Rpb24gc2hlbGxfcmVhZCh1cmwpe3ZhciB4aHI9bmV3IFhNTEh0dHBS
ZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVybCxmYWxzZSk7eGhyLnNlbmQobnVsbCk7cmV0dXJuIHho
ci5yZXNwb25zZVRleHR9O2lmKEVOVklST05NRU5UX0lTX1dPUktFUil7cmVhZEJpbmFyeT1mdW5j
dGlvbiByZWFkQmluYXJ5KHVybCl7dmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhyLm9wZW4o
IkdFVCIsdXJsLGZhbHNlKTt4aHIucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7eGhyLnNlbmQo
bnVsbCk7cmV0dXJuIG5ldyBVaW50OEFycmF5KHhoci5yZXNwb25zZSl9fXJlYWRBc3luYz1mdW5j
dGlvbiByZWFkQXN5bmModXJsLG9ubG9hZCxvbmVycm9yKXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVx
dWVzdDt4aHIub3BlbigiR0VUIix1cmwsdHJ1ZSk7eGhyLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZm
ZXIiO3hoci5vbmxvYWQ9ZnVuY3Rpb24geGhyX29ubG9hZCgpe2lmKHhoci5zdGF0dXM9PTIwMHx8
eGhyLnN0YXR1cz09MCYmeGhyLnJlc3BvbnNlKXtvbmxvYWQoeGhyLnJlc3BvbnNlKTtyZXR1cm59
b25lcnJvcigpfTt4aHIub25lcnJvcj1vbmVycm9yO3hoci5zZW5kKG51bGwpfX1zZXRXaW5kb3dU
aXRsZT1mdW5jdGlvbih0aXRsZSl7ZG9jdW1lbnQudGl0bGU9dGl0bGV9fWVsc2V7fXZhciBvdXQ9
TW9kdWxlWyJwcmludCJdfHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpO3ZhciBlcnI9TW9kdWxl
WyJwcmludEVyciJdfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtmb3Ioa2V5IGluIG1vZHVs
ZU92ZXJyaWRlcyl7aWYobW9kdWxlT3ZlcnJpZGVzLmhhc093blByb3BlcnR5KGtleSkpe01vZHVs
ZVtrZXldPW1vZHVsZU92ZXJyaWRlc1trZXldfX1tb2R1bGVPdmVycmlkZXM9bnVsbDtpZihNb2R1
bGVbImFyZ3VtZW50cyJdKWFyZ3VtZW50c189TW9kdWxlWyJhcmd1bWVudHMiXTtpZihNb2R1bGVb
InRoaXNQcm9ncmFtIl0pdGhpc1Byb2dyYW09TW9kdWxlWyJ0aGlzUHJvZ3JhbSJdO2lmKE1vZHVs
ZVsicXVpdCJdKXF1aXRfPU1vZHVsZVsicXVpdCJdO3ZhciBTVEFDS19BTElHTj0xNjtmdW5jdGlv
biBkeW5hbWljQWxsb2Moc2l6ZSl7dmFyIHJldD1IRUFQMzJbRFlOQU1JQ1RPUF9QVFI+PjJdO3Zh
ciBlbmQ9cmV0K3NpemUrMTUmLTE2O0hFQVAzMltEWU5BTUlDVE9QX1BUUj4+Ml09ZW5kO3JldHVy
biByZXR9ZnVuY3Rpb24gZ2V0TmF0aXZlVHlwZVNpemUodHlwZSl7c3dpdGNoKHR5cGUpe2Nhc2Ui
aTEiOmNhc2UiaTgiOnJldHVybiAxO2Nhc2UiaTE2IjpyZXR1cm4gMjtjYXNlImkzMiI6cmV0dXJu
IDQ7Y2FzZSJpNjQiOnJldHVybiA4O2Nhc2UiZmxvYXQiOnJldHVybiA0O2Nhc2UiZG91YmxlIjpy
ZXR1cm4gODtkZWZhdWx0OntpZih0eXBlW3R5cGUubGVuZ3RoLTFdPT09IioiKXtyZXR1cm4gNH1l
bHNlIGlmKHR5cGVbMF09PT0iaSIpe3ZhciBiaXRzPU51bWJlcih0eXBlLnN1YnN0cigxKSk7YXNz
ZXJ0KGJpdHMlOD09PTAsImdldE5hdGl2ZVR5cGVTaXplIGludmFsaWQgYml0cyAiK2JpdHMrIiwg
dHlwZSAiK3R5cGUpO3JldHVybiBiaXRzLzh9ZWxzZXtyZXR1cm4gMH19fX1mdW5jdGlvbiB3YXJu
T25jZSh0ZXh0KXtpZighd2Fybk9uY2Uuc2hvd24pd2Fybk9uY2Uuc2hvd249e307aWYoIXdhcm5P
bmNlLnNob3duW3RleHRdKXt3YXJuT25jZS5zaG93blt0ZXh0XT0xO2Vycih0ZXh0KX19ZnVuY3Rp
b24gY29udmVydEpzRnVuY3Rpb25Ub1dhc20oZnVuYyxzaWcpe2lmKHR5cGVvZiBXZWJBc3NlbWJs
eS5GdW5jdGlvbj09PSJmdW5jdGlvbiIpe3ZhciB0eXBlTmFtZXM9eyJpIjoiaTMyIiwiaiI6Imk2
NCIsImYiOiJmMzIiLCJkIjoiZjY0In07dmFyIHR5cGU9e3BhcmFtZXRlcnM6W10scmVzdWx0czpz
aWdbMF09PSJ2Ij9bXTpbdHlwZU5hbWVzW3NpZ1swXV1dfTtmb3IodmFyIGk9MTtpPHNpZy5sZW5n
dGg7KytpKXt0eXBlLnBhcmFtZXRlcnMucHVzaCh0eXBlTmFtZXNbc2lnW2ldXSl9cmV0dXJuIG5l
dyBXZWJBc3NlbWJseS5GdW5jdGlvbih0eXBlLGZ1bmMpfXZhciB0eXBlU2VjdGlvbj1bMSwwLDEs
OTZdO3ZhciBzaWdSZXQ9c2lnLnNsaWNlKDAsMSk7dmFyIHNpZ1BhcmFtPXNpZy5zbGljZSgxKTt2
YXIgdHlwZUNvZGVzPXsiaSI6MTI3LCJqIjoxMjYsImYiOjEyNSwiZCI6MTI0fTt0eXBlU2VjdGlv
bi5wdXNoKHNpZ1BhcmFtLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTxzaWdQYXJhbS5sZW5ndGg7Kytp
KXt0eXBlU2VjdGlvbi5wdXNoKHR5cGVDb2Rlc1tzaWdQYXJhbVtpXV0pfWlmKHNpZ1JldD09InYi
KXt0eXBlU2VjdGlvbi5wdXNoKDApfWVsc2V7dHlwZVNlY3Rpb249dHlwZVNlY3Rpb24uY29uY2F0
KFsxLHR5cGVDb2Rlc1tzaWdSZXRdXSl9dHlwZVNlY3Rpb25bMV09dHlwZVNlY3Rpb24ubGVuZ3Ro
LTI7dmFyIGJ5dGVzPW5ldyBVaW50OEFycmF5KFswLDk3LDExNSwxMDksMSwwLDAsMF0uY29uY2F0
KHR5cGVTZWN0aW9uLFsyLDcsMSwxLDEwMSwxLDEwMiwwLDAsNyw1LDEsMSwxMDIsMCwwXSkpO3Zh
ciBtb2R1bGU9bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShieXRlcyk7dmFyIGluc3RhbmNlPW5ldyBX
ZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUseyJlIjp7ImYiOmZ1bmN9fSk7dmFyIHdyYXBwZWRG
dW5jPWluc3RhbmNlLmV4cG9ydHNbImYiXTtyZXR1cm4gd3JhcHBlZEZ1bmN9dmFyIGZyZWVUYWJs
ZUluZGV4ZXM9W107dmFyIGZ1bmN0aW9uc0luVGFibGVNYXA7ZnVuY3Rpb24gYWRkRnVuY3Rpb25X
YXNtKGZ1bmMsc2lnKXt2YXIgdGFibGU9d2FzbVRhYmxlO2lmKCFmdW5jdGlvbnNJblRhYmxlTWFw
KXtmdW5jdGlvbnNJblRhYmxlTWFwPW5ldyBXZWFrTWFwO2Zvcih2YXIgaT0wO2k8dGFibGUubGVu
Z3RoO2krKyl7dmFyIGl0ZW09dGFibGUuZ2V0KGkpO2lmKGl0ZW0pe2Z1bmN0aW9uc0luVGFibGVN
YXAuc2V0KGl0ZW0saSl9fX1pZihmdW5jdGlvbnNJblRhYmxlTWFwLmhhcyhmdW5jKSl7cmV0dXJu
IGZ1bmN0aW9uc0luVGFibGVNYXAuZ2V0KGZ1bmMpfXZhciByZXQ7aWYoZnJlZVRhYmxlSW5kZXhl
cy5sZW5ndGgpe3JldD1mcmVlVGFibGVJbmRleGVzLnBvcCgpfWVsc2V7cmV0PXRhYmxlLmxlbmd0
aDt0cnl7dGFibGUuZ3JvdygxKX1jYXRjaChlcnIpe2lmKCEoZXJyIGluc3RhbmNlb2YgUmFuZ2VF
cnJvcikpe3Rocm93IGVycn10aHJvdyJVbmFibGUgdG8gZ3JvdyB3YXNtIHRhYmxlLiBTZXQgQUxM
T1dfVEFCTEVfR1JPV1RILiJ9fXRyeXt0YWJsZS5zZXQocmV0LGZ1bmMpfWNhdGNoKGVycil7aWYo
IShlcnIgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXt0aHJvdyBlcnJ9dmFyIHdyYXBwZWQ9Y29udmVy
dEpzRnVuY3Rpb25Ub1dhc20oZnVuYyxzaWcpO3RhYmxlLnNldChyZXQsd3JhcHBlZCl9ZnVuY3Rp
b25zSW5UYWJsZU1hcC5zZXQoZnVuYyxyZXQpO3JldHVybiByZXR9ZnVuY3Rpb24gcmVtb3ZlRnVu
Y3Rpb25XYXNtKGluZGV4KXtmdW5jdGlvbnNJblRhYmxlTWFwLmRlbGV0ZSh3YXNtVGFibGUuZ2V0
KGluZGV4KSk7ZnJlZVRhYmxlSW5kZXhlcy5wdXNoKGluZGV4KX12YXIgZnVuY1dyYXBwZXJzPXt9
O2Z1bmN0aW9uIGR5bkNhbGwoc2lnLHB0cixhcmdzKXtpZihhcmdzJiZhcmdzLmxlbmd0aCl7cmV0
dXJuIE1vZHVsZVsiZHluQ2FsbF8iK3NpZ10uYXBwbHkobnVsbCxbcHRyXS5jb25jYXQoYXJncykp
fWVsc2V7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF8iK3NpZ10uY2FsbChudWxsLHB0cil9fXZhciB0
ZW1wUmV0MD0wO3ZhciBzZXRUZW1wUmV0MD1mdW5jdGlvbih2YWx1ZSl7dGVtcFJldDA9dmFsdWV9
O3ZhciB3YXNtQmluYXJ5O2lmKE1vZHVsZVsid2FzbUJpbmFyeSJdKXdhc21CaW5hcnk9TW9kdWxl
WyJ3YXNtQmluYXJ5Il07dmFyIG5vRXhpdFJ1bnRpbWU7aWYoTW9kdWxlWyJub0V4aXRSdW50aW1l
Il0pbm9FeGl0UnVudGltZT1Nb2R1bGVbIm5vRXhpdFJ1bnRpbWUiXTtpZih0eXBlb2YgV2ViQXNz
ZW1ibHkhPT0ib2JqZWN0Iil7ZXJyKCJubyBuYXRpdmUgd2FzbSBzdXBwb3J0IGRldGVjdGVkIil9
ZnVuY3Rpb24gc2V0VmFsdWUocHRyLHZhbHVlLHR5cGUsbm9TYWZlKXt0eXBlPXR5cGV8fCJpOCI7
aWYodHlwZS5jaGFyQXQodHlwZS5sZW5ndGgtMSk9PT0iKiIpdHlwZT0iaTMyIjtzd2l0Y2godHlw
ZSl7Y2FzZSJpMSI6SEVBUDhbcHRyPj4wXT12YWx1ZTticmVhaztjYXNlImk4IjpIRUFQOFtwdHI+
PjBdPXZhbHVlO2JyZWFrO2Nhc2UiaTE2IjpIRUFQMTZbcHRyPj4xXT12YWx1ZTticmVhaztjYXNl
ImkzMiI6SEVBUDMyW3B0cj4+Ml09dmFsdWU7YnJlYWs7Y2FzZSJpNjQiOnRlbXBJNjQ9W3ZhbHVl
Pj4+MCwodGVtcERvdWJsZT12YWx1ZSwrTWF0aF9hYnModGVtcERvdWJsZSk+PTE/dGVtcERvdWJs
ZT4wPyhNYXRoX21pbigrTWF0aF9mbG9vcih0ZW1wRG91YmxlLzQyOTQ5NjcyOTYpLDQyOTQ5Njcy
OTUpfDApPj4+MDp+fitNYXRoX2NlaWwoKHRlbXBEb3VibGUtKyh+fnRlbXBEb3VibGU+Pj4wKSkv
NDI5NDk2NzI5Nik+Pj4wOjApXSxIRUFQMzJbcHRyPj4yXT10ZW1wSTY0WzBdLEhFQVAzMltwdHIr
ND4+Ml09dGVtcEk2NFsxXTticmVhaztjYXNlImZsb2F0IjpIRUFQRjMyW3B0cj4+Ml09dmFsdWU7
YnJlYWs7Y2FzZSJkb3VibGUiOkhFQVBGNjRbcHRyPj4zXT12YWx1ZTticmVhaztkZWZhdWx0OmFi
b3J0KCJpbnZhbGlkIHR5cGUgZm9yIHNldFZhbHVlOiAiK3R5cGUpfX12YXIgd2FzbU1lbW9yeTt2
YXIgd2FzbVRhYmxlPW5ldyBXZWJBc3NlbWJseS5UYWJsZSh7ImluaXRpYWwiOjQsIm1heGltdW0i
OjQrMCwiZWxlbWVudCI6ImFueWZ1bmMifSk7dmFyIEFCT1JUPWZhbHNlO3ZhciBFWElUU1RBVFVT
PTA7ZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbix0ZXh0KXtpZighY29uZGl0aW9uKXthYm9ydCgi
QXNzZXJ0aW9uIGZhaWxlZDogIit0ZXh0KX19ZnVuY3Rpb24gZ2V0Q0Z1bmMoaWRlbnQpe3ZhciBm
dW5jPU1vZHVsZVsiXyIraWRlbnRdO2Fzc2VydChmdW5jLCJDYW5ub3QgY2FsbCB1bmtub3duIGZ1
bmN0aW9uICIraWRlbnQrIiwgbWFrZSBzdXJlIGl0IGlzIGV4cG9ydGVkIik7cmV0dXJuIGZ1bmN9
ZnVuY3Rpb24gY2NhbGwoaWRlbnQscmV0dXJuVHlwZSxhcmdUeXBlcyxhcmdzLG9wdHMpe3ZhciB0
b0M9eyJzdHJpbmciOmZ1bmN0aW9uKHN0cil7dmFyIHJldD0wO2lmKHN0ciE9PW51bGwmJnN0ciE9
PXVuZGVmaW5lZCYmc3RyIT09MCl7dmFyIGxlbj0oc3RyLmxlbmd0aDw8MikrMTtyZXQ9c3RhY2tB
bGxvYyhsZW4pO3N0cmluZ1RvVVRGOChzdHIscmV0LGxlbil9cmV0dXJuIHJldH0sImFycmF5Ijpm
dW5jdGlvbihhcnIpe3ZhciByZXQ9c3RhY2tBbGxvYyhhcnIubGVuZ3RoKTt3cml0ZUFycmF5VG9N
ZW1vcnkoYXJyLHJldCk7cmV0dXJuIHJldH19O2Z1bmN0aW9uIGNvbnZlcnRSZXR1cm5WYWx1ZShy
ZXQpe2lmKHJldHVyblR5cGU9PT0ic3RyaW5nIilyZXR1cm4gVVRGOFRvU3RyaW5nKHJldCk7aWYo
cmV0dXJuVHlwZT09PSJib29sZWFuIilyZXR1cm4gQm9vbGVhbihyZXQpO3JldHVybiByZXR9dmFy
IGZ1bmM9Z2V0Q0Z1bmMoaWRlbnQpO3ZhciBjQXJncz1bXTt2YXIgc3RhY2s9MDtpZihhcmdzKXtm
b3IodmFyIGk9MDtpPGFyZ3MubGVuZ3RoO2krKyl7dmFyIGNvbnZlcnRlcj10b0NbYXJnVHlwZXNb
aV1dO2lmKGNvbnZlcnRlcil7aWYoc3RhY2s9PT0wKXN0YWNrPXN0YWNrU2F2ZSgpO2NBcmdzW2ld
PWNvbnZlcnRlcihhcmdzW2ldKX1lbHNle2NBcmdzW2ldPWFyZ3NbaV19fX12YXIgcmV0PWZ1bmMu
YXBwbHkobnVsbCxjQXJncyk7cmV0PWNvbnZlcnRSZXR1cm5WYWx1ZShyZXQpO2lmKHN0YWNrIT09
MClzdGFja1Jlc3RvcmUoc3RhY2spO3JldHVybiByZXR9dmFyIEFMTE9DX05PTkU9Mzt2YXIgVVRG
OERlY29kZXI9dHlwZW9mIFRleHREZWNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHREZWNvZGVy
KCJ1dGY4Iik6dW5kZWZpbmVkO2Z1bmN0aW9uIFVURjhBcnJheVRvU3RyaW5nKGhlYXAsaWR4LG1h
eEJ5dGVzVG9SZWFkKXt2YXIgZW5kSWR4PWlkeCttYXhCeXRlc1RvUmVhZDt2YXIgZW5kUHRyPWlk
eDt3aGlsZShoZWFwW2VuZFB0cl0mJiEoZW5kUHRyPj1lbmRJZHgpKSsrZW5kUHRyO2lmKGVuZFB0
ci1pZHg+MTYmJmhlYXAuc3ViYXJyYXkmJlVURjhEZWNvZGVyKXtyZXR1cm4gVVRGOERlY29kZXIu
ZGVjb2RlKGhlYXAuc3ViYXJyYXkoaWR4LGVuZFB0cikpfWVsc2V7dmFyIHN0cj0iIjt3aGlsZShp
ZHg8ZW5kUHRyKXt2YXIgdTA9aGVhcFtpZHgrK107aWYoISh1MCYxMjgpKXtzdHIrPVN0cmluZy5m
cm9tQ2hhckNvZGUodTApO2NvbnRpbnVlfXZhciB1MT1oZWFwW2lkeCsrXSY2MztpZigodTAmMjI0
KT09MTkyKXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHUwJjMxKTw8Nnx1MSk7Y29udGludWV9
dmFyIHUyPWhlYXBbaWR4KytdJjYzO2lmKCh1MCYyNDApPT0yMjQpe3UwPSh1MCYxNSk8PDEyfHUx
PDw2fHUyfWVsc2V7dTA9KHUwJjcpPDwxOHx1MTw8MTJ8dTI8PDZ8aGVhcFtpZHgrK10mNjN9aWYo
dTA8NjU1MzYpe3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSh1MCl9ZWxzZXt2YXIgY2g9dTAtNjU1
MzY7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fGNoPj4xMCw1NjMyMHxjaCYxMDIzKX19
fXJldHVybiBzdHJ9ZnVuY3Rpb24gVVRGOFRvU3RyaW5nKHB0cixtYXhCeXRlc1RvUmVhZCl7cmV0
dXJuIHB0cj9VVEY4QXJyYXlUb1N0cmluZyhIRUFQVTgscHRyLG1heEJ5dGVzVG9SZWFkKToiIn1m
dW5jdGlvbiBzdHJpbmdUb1VURjhBcnJheShzdHIsaGVhcCxvdXRJZHgsbWF4Qnl0ZXNUb1dyaXRl
KXtpZighKG1heEJ5dGVzVG9Xcml0ZT4wKSlyZXR1cm4gMDt2YXIgc3RhcnRJZHg9b3V0SWR4O3Zh
ciBlbmRJZHg9b3V0SWR4K21heEJ5dGVzVG9Xcml0ZS0xO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0
aDsrK2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkpO2lmKHU+PTU1Mjk2JiZ1PD01NzM0Myl7dmFy
IHUxPXN0ci5jaGFyQ29kZUF0KCsraSk7dT02NTUzNisoKHUmMTAyMyk8PDEwKXx1MSYxMDIzfWlm
KHU8PTEyNyl7aWYob3V0SWR4Pj1lbmRJZHgpYnJlYWs7aGVhcFtvdXRJZHgrK109dX1lbHNlIGlm
KHU8PTIwNDcpe2lmKG91dElkeCsxPj1lbmRJZHgpYnJlYWs7aGVhcFtvdXRJZHgrK109MTkyfHU+
PjY7aGVhcFtvdXRJZHgrK109MTI4fHUmNjN9ZWxzZSBpZih1PD02NTUzNSl7aWYob3V0SWR4KzI+
PWVuZElkeClicmVhaztoZWFwW291dElkeCsrXT0yMjR8dT4+MTI7aGVhcFtvdXRJZHgrK109MTI4
fHU+PjYmNjM7aGVhcFtvdXRJZHgrK109MTI4fHUmNjN9ZWxzZXtpZihvdXRJZHgrMz49ZW5kSWR4
KWJyZWFrO2hlYXBbb3V0SWR4KytdPTI0MHx1Pj4xODtoZWFwW291dElkeCsrXT0xMjh8dT4+MTIm
NjM7aGVhcFtvdXRJZHgrK109MTI4fHU+PjYmNjM7aGVhcFtvdXRJZHgrK109MTI4fHUmNjN9fWhl
YXBbb3V0SWR4XT0wO3JldHVybiBvdXRJZHgtc3RhcnRJZHh9ZnVuY3Rpb24gc3RyaW5nVG9VVEY4
KHN0cixvdXRQdHIsbWF4Qnl0ZXNUb1dyaXRlKXtyZXR1cm4gc3RyaW5nVG9VVEY4QXJyYXkoc3Ry
LEhFQVBVOCxvdXRQdHIsbWF4Qnl0ZXNUb1dyaXRlKX1mdW5jdGlvbiBsZW5ndGhCeXRlc1VURjgo
c3RyKXt2YXIgbGVuPTA7Zm9yKHZhciBpPTA7aTxzdHIubGVuZ3RoOysraSl7dmFyIHU9c3RyLmNo
YXJDb2RlQXQoaSk7aWYodT49NTUyOTYmJnU8PTU3MzQzKXU9NjU1MzYrKCh1JjEwMjMpPDwxMCl8
c3RyLmNoYXJDb2RlQXQoKytpKSYxMDIzO2lmKHU8PTEyNykrK2xlbjtlbHNlIGlmKHU8PTIwNDcp
bGVuKz0yO2Vsc2UgaWYodTw9NjU1MzUpbGVuKz0zO2Vsc2UgbGVuKz00fXJldHVybiBsZW59dmFy
IFVURjE2RGVjb2Rlcj10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dERl
Y29kZXIoInV0Zi0xNmxlIik6dW5kZWZpbmVkO2Z1bmN0aW9uIGFsbG9jYXRlVVRGOE9uU3RhY2so
c3RyKXt2YXIgc2l6ZT1sZW5ndGhCeXRlc1VURjgoc3RyKSsxO3ZhciByZXQ9c3RhY2tBbGxvYyhz
aXplKTtzdHJpbmdUb1VURjhBcnJheShzdHIsSEVBUDgscmV0LHNpemUpO3JldHVybiByZXR9ZnVu
Y3Rpb24gd3JpdGVBcnJheVRvTWVtb3J5KGFycmF5LGJ1ZmZlcil7SEVBUDguc2V0KGFycmF5LGJ1
ZmZlcil9ZnVuY3Rpb24gd3JpdGVBc2NpaVRvTWVtb3J5KHN0cixidWZmZXIsZG9udEFkZE51bGwp
e2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe0hFQVA4W2J1ZmZlcisrPj4wXT1zdHIuY2hh
ckNvZGVBdChpKX1pZighZG9udEFkZE51bGwpSEVBUDhbYnVmZmVyPj4wXT0wfXZhciBXQVNNX1BB
R0VfU0laRT02NTUzNjt2YXIgYnVmZmVyLEhFQVA4LEhFQVBVOCxIRUFQMTYsSEVBUFUxNixIRUFQ
MzIsSEVBUFUzMixIRUFQRjMyLEhFQVBGNjQ7ZnVuY3Rpb24gdXBkYXRlR2xvYmFsQnVmZmVyQW5k
Vmlld3MoYnVmKXtidWZmZXI9YnVmO01vZHVsZVsiSEVBUDgiXT1IRUFQOD1uZXcgSW50OEFycmF5
KGJ1Zik7TW9kdWxlWyJIRUFQMTYiXT1IRUFQMTY9bmV3IEludDE2QXJyYXkoYnVmKTtNb2R1bGVb
IkhFQVAzMiJdPUhFQVAzMj1uZXcgSW50MzJBcnJheShidWYpO01vZHVsZVsiSEVBUFU4Il09SEVB
UFU4PW5ldyBVaW50OEFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQVTE2Il09SEVBUFUxNj1uZXcgVWlu
dDE2QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBVMzIiXT1IRUFQVTMyPW5ldyBVaW50MzJBcnJheShi
dWYpO01vZHVsZVsiSEVBUEYzMiJdPUhFQVBGMzI9bmV3IEZsb2F0MzJBcnJheShidWYpO01vZHVs
ZVsiSEVBUEY2NCJdPUhFQVBGNjQ9bmV3IEZsb2F0NjRBcnJheShidWYpfXZhciBTVEFDS19CQVNF
PTUyNTA0NDgsRFlOQU1JQ19CQVNFPTUyNTA0NDgsRFlOQU1JQ1RPUF9QVFI9NzQwODt2YXIgSU5J
VElBTF9JTklUSUFMX01FTU9SWT1Nb2R1bGVbIklOSVRJQUxfTUVNT1JZIl18fDE2Nzc3MjE2O2lm
KE1vZHVsZVsid2FzbU1lbW9yeSJdKXt3YXNtTWVtb3J5PU1vZHVsZVsid2FzbU1lbW9yeSJdfWVs
c2V7d2FzbU1lbW9yeT1uZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHsiaW5pdGlhbCI6SU5JVElBTF9J
TklUSUFMX01FTU9SWS9XQVNNX1BBR0VfU0laRSwibWF4aW11bSI6SU5JVElBTF9JTklUSUFMX01F
TU9SWS9XQVNNX1BBR0VfU0laRX0pfWlmKHdhc21NZW1vcnkpe2J1ZmZlcj13YXNtTWVtb3J5LmJ1
ZmZlcn1JTklUSUFMX0lOSVRJQUxfTUVNT1JZPWJ1ZmZlci5ieXRlTGVuZ3RoO3VwZGF0ZUdsb2Jh
bEJ1ZmZlckFuZFZpZXdzKGJ1ZmZlcik7SEVBUDMyW0RZTkFNSUNUT1BfUFRSPj4yXT1EWU5BTUlD
X0JBU0U7ZnVuY3Rpb24gY2FsbFJ1bnRpbWVDYWxsYmFja3MoY2FsbGJhY2tzKXt3aGlsZShjYWxs
YmFja3MubGVuZ3RoPjApe3ZhciBjYWxsYmFjaz1jYWxsYmFja3Muc2hpZnQoKTtpZih0eXBlb2Yg
Y2FsbGJhY2s9PSJmdW5jdGlvbiIpe2NhbGxiYWNrKE1vZHVsZSk7Y29udGludWV9dmFyIGZ1bmM9
Y2FsbGJhY2suZnVuYztpZih0eXBlb2YgZnVuYz09PSJudW1iZXIiKXtpZihjYWxsYmFjay5hcmc9
PT11bmRlZmluZWQpe01vZHVsZVsiZHluQ2FsbF92Il0oZnVuYyl9ZWxzZXtNb2R1bGVbImR5bkNh
bGxfdmkiXShmdW5jLGNhbGxiYWNrLmFyZyl9fWVsc2V7ZnVuYyhjYWxsYmFjay5hcmc9PT11bmRl
ZmluZWQ/bnVsbDpjYWxsYmFjay5hcmcpfX19dmFyIF9fQVRQUkVSVU5fXz1bXTt2YXIgX19BVElO
SVRfXz1bXTt2YXIgX19BVE1BSU5fXz1bXTt2YXIgX19BVFBPU1RSVU5fXz1bXTt2YXIgcnVudGlt
ZUluaXRpYWxpemVkPWZhbHNlO3ZhciBydW50aW1lRXhpdGVkPWZhbHNlO2Z1bmN0aW9uIHByZVJ1
bigpe2lmKE1vZHVsZVsicHJlUnVuIl0pe2lmKHR5cGVvZiBNb2R1bGVbInByZVJ1biJdPT0iZnVu
Y3Rpb24iKU1vZHVsZVsicHJlUnVuIl09W01vZHVsZVsicHJlUnVuIl1dO3doaWxlKE1vZHVsZVsi
cHJlUnVuIl0ubGVuZ3RoKXthZGRPblByZVJ1bihNb2R1bGVbInByZVJ1biJdLnNoaWZ0KCkpfX1j
YWxsUnVudGltZUNhbGxiYWNrcyhfX0FUUFJFUlVOX18pfWZ1bmN0aW9uIGluaXRSdW50aW1lKCl7
cnVudGltZUluaXRpYWxpemVkPXRydWU7Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVElOSVRfXyl9
ZnVuY3Rpb24gcHJlTWFpbigpe2NhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRNQUlOX18pfWZ1bmN0
aW9uIGV4aXRSdW50aW1lKCl7cnVudGltZUV4aXRlZD10cnVlfWZ1bmN0aW9uIHBvc3RSdW4oKXtp
ZihNb2R1bGVbInBvc3RSdW4iXSl7aWYodHlwZW9mIE1vZHVsZVsicG9zdFJ1biJdPT0iZnVuY3Rp
b24iKU1vZHVsZVsicG9zdFJ1biJdPVtNb2R1bGVbInBvc3RSdW4iXV07d2hpbGUoTW9kdWxlWyJw
b3N0UnVuIl0ubGVuZ3RoKXthZGRPblBvc3RSdW4oTW9kdWxlWyJwb3N0UnVuIl0uc2hpZnQoKSl9
fWNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRQT1NUUlVOX18pfWZ1bmN0aW9uIGFkZE9uUHJlUnVu
KGNiKXtfX0FUUFJFUlVOX18udW5zaGlmdChjYil9ZnVuY3Rpb24gYWRkT25Qb3N0UnVuKGNiKXtf
X0FUUE9TVFJVTl9fLnVuc2hpZnQoY2IpfXZhciBNYXRoX2Ficz1NYXRoLmFiczt2YXIgTWF0aF9j
ZWlsPU1hdGguY2VpbDt2YXIgTWF0aF9mbG9vcj1NYXRoLmZsb29yO3ZhciBNYXRoX21pbj1NYXRo
Lm1pbjt2YXIgcnVuRGVwZW5kZW5jaWVzPTA7dmFyIHJ1bkRlcGVuZGVuY3lXYXRjaGVyPW51bGw7
dmFyIGRlcGVuZGVuY2llc0Z1bGZpbGxlZD1udWxsO2Z1bmN0aW9uIGFkZFJ1bkRlcGVuZGVuY3ko
aWQpe3J1bkRlcGVuZGVuY2llcysrO2lmKE1vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJd
KXtNb2R1bGVbIm1vbml0b3JSdW5EZXBlbmRlbmNpZXMiXShydW5EZXBlbmRlbmNpZXMpfX1mdW5j
dGlvbiByZW1vdmVSdW5EZXBlbmRlbmN5KGlkKXtydW5EZXBlbmRlbmNpZXMtLTtpZihNb2R1bGVb
Im1vbml0b3JSdW5EZXBlbmRlbmNpZXMiXSl7TW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVz
Il0ocnVuRGVwZW5kZW5jaWVzKX1pZihydW5EZXBlbmRlbmNpZXM9PTApe2lmKHJ1bkRlcGVuZGVu
Y3lXYXRjaGVyIT09bnVsbCl7Y2xlYXJJbnRlcnZhbChydW5EZXBlbmRlbmN5V2F0Y2hlcik7cnVu
RGVwZW5kZW5jeVdhdGNoZXI9bnVsbH1pZihkZXBlbmRlbmNpZXNGdWxmaWxsZWQpe3ZhciBjYWxs
YmFjaz1kZXBlbmRlbmNpZXNGdWxmaWxsZWQ7ZGVwZW5kZW5jaWVzRnVsZmlsbGVkPW51bGw7Y2Fs
bGJhY2soKX19fU1vZHVsZVsicHJlbG9hZGVkSW1hZ2VzIl09e307TW9kdWxlWyJwcmVsb2FkZWRB
dWRpb3MiXT17fTtmdW5jdGlvbiBhYm9ydCh3aGF0KXtpZihNb2R1bGVbIm9uQWJvcnQiXSl7TW9k
dWxlWyJvbkFib3J0Il0od2hhdCl9d2hhdCs9IiI7b3V0KHdoYXQpO2Vycih3aGF0KTtBQk9SVD10
cnVlO0VYSVRTVEFUVVM9MTt3aGF0PSJhYm9ydCgiK3doYXQrIikuIEJ1aWxkIHdpdGggLXMgQVNT
RVJUSU9OUz0xIGZvciBtb3JlIGluZm8uIjt0aHJvdyBuZXcgV2ViQXNzZW1ibHkuUnVudGltZUVy
cm9yKHdoYXQpfWZ1bmN0aW9uIGhhc1ByZWZpeChzdHIscHJlZml4KXtyZXR1cm4gU3RyaW5nLnBy
b3RvdHlwZS5zdGFydHNXaXRoP3N0ci5zdGFydHNXaXRoKHByZWZpeCk6c3RyLmluZGV4T2YocHJl
Zml4KT09PTB9dmFyIGRhdGFVUklQcmVmaXg9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFt
O2Jhc2U2NCwiO2Z1bmN0aW9uIGlzRGF0YVVSSShmaWxlbmFtZSl7cmV0dXJuIGhhc1ByZWZpeChm
aWxlbmFtZSxkYXRhVVJJUHJlZml4KX12YXIgZmlsZVVSSVByZWZpeD0iZmlsZTovLyI7ZnVuY3Rp
b24gaXNGaWxlVVJJKGZpbGVuYW1lKXtyZXR1cm4gaGFzUHJlZml4KGZpbGVuYW1lLGZpbGVVUklQ
cmVmaXgpfXZhciB3YXNtQmluYXJ5RmlsZT0iaW50ZXJwcmV0ZXItd2FzbS53YXNtIjtpZighaXNE
YXRhVVJJKHdhc21CaW5hcnlGaWxlKSl7d2FzbUJpbmFyeUZpbGU9bG9jYXRlRmlsZSh3YXNtQmlu
YXJ5RmlsZSl9ZnVuY3Rpb24gZ2V0QmluYXJ5KCl7dHJ5e2lmKHdhc21CaW5hcnkpe3JldHVybiBu
ZXcgVWludDhBcnJheSh3YXNtQmluYXJ5KX1pZihyZWFkQmluYXJ5KXtyZXR1cm4gcmVhZEJpbmFy
eSh3YXNtQmluYXJ5RmlsZSl9ZWxzZXt0aHJvdyJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5n
IG9mIHRoZSB3YXNtIGZhaWxlZCJ9fWNhdGNoKGVycil7YWJvcnQoZXJyKX19ZnVuY3Rpb24gZ2V0
QmluYXJ5UHJvbWlzZSgpe2lmKCF3YXNtQmluYXJ5JiYoRU5WSVJPTk1FTlRfSVNfV0VCfHxFTlZJ
Uk9OTUVOVF9JU19XT1JLRVIpJiZ0eXBlb2YgZmV0Y2g9PT0iZnVuY3Rpb24iJiYhaXNGaWxlVVJJ
KHdhc21CaW5hcnlGaWxlKSl7cmV0dXJuIGZldGNoKHdhc21CaW5hcnlGaWxlLHtjcmVkZW50aWFs
czoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyZXNwb25zZSl7aWYoIXJlc3BvbnNlWyJv
ayJdKXt0aHJvdyJmYWlsZWQgdG8gbG9hZCB3YXNtIGJpbmFyeSBmaWxlIGF0ICciK3dhc21CaW5h
cnlGaWxlKyInIn1yZXR1cm4gcmVzcG9uc2VbImFycmF5QnVmZmVyIl0oKX0pLmNhdGNoKGZ1bmN0
aW9uKCl7cmV0dXJuIGdldEJpbmFyeSgpfSl9cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJl
c29sdmUscmVqZWN0KXtyZXNvbHZlKGdldEJpbmFyeSgpKX0pfWZ1bmN0aW9uIGNyZWF0ZVdhc20o
KXt2YXIgaW5mbz17ImVudiI6YXNtTGlicmFyeUFyZywid2FzaV9zbmFwc2hvdF9wcmV2aWV3MSI6
YXNtTGlicmFyeUFyZ307ZnVuY3Rpb24gcmVjZWl2ZUluc3RhbmNlKGluc3RhbmNlLG1vZHVsZSl7
dmFyIGV4cG9ydHM9aW5zdGFuY2UuZXhwb3J0cztNb2R1bGVbImFzbSJdPWV4cG9ydHM7cmVtb3Zl
UnVuRGVwZW5kZW5jeSgid2FzbS1pbnN0YW50aWF0ZSIpfWFkZFJ1bkRlcGVuZGVuY3koIndhc20t
aW5zdGFudGlhdGUiKTtmdW5jdGlvbiByZWNlaXZlSW5zdGFudGlhdGVkU291cmNlKG91dHB1dCl7
cmVjZWl2ZUluc3RhbmNlKG91dHB1dFsiaW5zdGFuY2UiXSl9ZnVuY3Rpb24gaW5zdGFudGlhdGVB
cnJheUJ1ZmZlcihyZWNlaXZlcil7cmV0dXJuIGdldEJpbmFyeVByb21pc2UoKS50aGVuKGZ1bmN0
aW9uKGJpbmFyeSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJpbmFyeSxpbmZvKX0p
LnRoZW4ocmVjZWl2ZXIsZnVuY3Rpb24ocmVhc29uKXtlcnIoImZhaWxlZCB0byBhc3luY2hyb25v
dXNseSBwcmVwYXJlIHdhc206ICIrcmVhc29uKTthYm9ydChyZWFzb24pfSl9ZnVuY3Rpb24gaW5z
dGFudGlhdGVBc3luYygpe2lmKCF3YXNtQmluYXJ5JiZ0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFu
dGlhdGVTdHJlYW1pbmc9PT0iZnVuY3Rpb24iJiYhaXNEYXRhVVJJKHdhc21CaW5hcnlGaWxlKSYm
IWlzRmlsZVVSSSh3YXNtQmluYXJ5RmlsZSkmJnR5cGVvZiBmZXRjaD09PSJmdW5jdGlvbiIpe2Zl
dGNoKHdhc21CaW5hcnlGaWxlLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5j
dGlvbihyZXNwb25zZSl7dmFyIHJlc3VsdD1XZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWlu
ZyhyZXNwb25zZSxpbmZvKTtyZXR1cm4gcmVzdWx0LnRoZW4ocmVjZWl2ZUluc3RhbnRpYXRlZFNv
dXJjZSxmdW5jdGlvbihyZWFzb24pe2Vycigid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6
ICIrcmVhc29uKTtlcnIoImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9u
Iik7aW5zdGFudGlhdGVBcnJheUJ1ZmZlcihyZWNlaXZlSW5zdGFudGlhdGVkU291cmNlKX0pfSl9
ZWxzZXtyZXR1cm4gaW5zdGFudGlhdGVBcnJheUJ1ZmZlcihyZWNlaXZlSW5zdGFudGlhdGVkU291
cmNlKX19aWYoTW9kdWxlWyJpbnN0YW50aWF0ZVdhc20iXSl7dHJ5e3ZhciBleHBvcnRzPU1vZHVs
ZVsiaW5zdGFudGlhdGVXYXNtIl0oaW5mbyxyZWNlaXZlSW5zdGFuY2UpO3JldHVybiBleHBvcnRz
fWNhdGNoKGUpe2VycigiTW9kdWxlLmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0
aCBlcnJvcjogIitlKTtyZXR1cm4gZmFsc2V9fWluc3RhbnRpYXRlQXN5bmMoKTtyZXR1cm57fX12
YXIgdGVtcERvdWJsZTt2YXIgdGVtcEk2NDtfX0FUSU5JVF9fLnB1c2goe2Z1bmM6ZnVuY3Rpb24o
KXtfX193YXNtX2NhbGxfY3RvcnMoKX19KTtmdW5jdGlvbiBkZW1hbmdsZShmdW5jKXtyZXR1cm4g
ZnVuY31mdW5jdGlvbiBkZW1hbmdsZUFsbCh0ZXh0KXt2YXIgcmVnZXg9L1xiX1pbXHdcZF9dKy9n
O3JldHVybiB0ZXh0LnJlcGxhY2UocmVnZXgsZnVuY3Rpb24oeCl7dmFyIHk9ZGVtYW5nbGUoeCk7
cmV0dXJuIHg9PT15P3g6eSsiIFsiK3grIl0ifSl9ZnVuY3Rpb24ganNTdGFja1RyYWNlKCl7dmFy
IGVycj1uZXcgRXJyb3I7aWYoIWVyci5zdGFjayl7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaChl
KXtlcnI9ZX1pZighZXJyLnN0YWNrKXtyZXR1cm4iKG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZSki
fX1yZXR1cm4gZXJyLnN0YWNrLnRvU3RyaW5nKCl9ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fZ2V0X3Ni
cmtfcHRyKCl7cmV0dXJuIDc0MDh9ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZyhkZXN0
LHNyYyxudW0pe0hFQVBVOC5jb3B5V2l0aGluKGRlc3Qsc3JjLHNyYytudW0pfWZ1bmN0aW9uIGFi
b3J0T25DYW5ub3RHcm93TWVtb3J5KHJlcXVlc3RlZFNpemUpe2Fib3J0KCJPT00iKX1mdW5jdGlv
biBfZW1zY3JpcHRlbl9yZXNpemVfaGVhcChyZXF1ZXN0ZWRTaXplKXtyZXF1ZXN0ZWRTaXplPXJl
cXVlc3RlZFNpemU+Pj4wO2Fib3J0T25DYW5ub3RHcm93TWVtb3J5KHJlcXVlc3RlZFNpemUpfXZh
ciBQQVRIPXtzcGxpdFBhdGg6ZnVuY3Rpb24oZmlsZW5hbWUpe3ZhciBzcGxpdFBhdGhSZT0vXihc
Lz98KShbXHNcU10qPykoKD86XC57MSwyfXxbXlwvXSs/fCkoXC5bXi5cL10qfCkpKD86W1wvXSop
JC87cmV0dXJuIHNwbGl0UGF0aFJlLmV4ZWMoZmlsZW5hbWUpLnNsaWNlKDEpfSxub3JtYWxpemVB
cnJheTpmdW5jdGlvbihwYXJ0cyxhbGxvd0Fib3ZlUm9vdCl7dmFyIHVwPTA7Zm9yKHZhciBpPXBh
cnRzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgbGFzdD1wYXJ0c1tpXTtpZihsYXN0PT09Ii4iKXtw
YXJ0cy5zcGxpY2UoaSwxKX1lbHNlIGlmKGxhc3Q9PT0iLi4iKXtwYXJ0cy5zcGxpY2UoaSwxKTt1
cCsrfWVsc2UgaWYodXApe3BhcnRzLnNwbGljZShpLDEpO3VwLS19fWlmKGFsbG93QWJvdmVSb290
KXtmb3IoO3VwO3VwLS0pe3BhcnRzLnVuc2hpZnQoIi4uIil9fXJldHVybiBwYXJ0c30sbm9ybWFs
aXplOmZ1bmN0aW9uKHBhdGgpe3ZhciBpc0Fic29sdXRlPXBhdGguY2hhckF0KDApPT09Ii8iLHRy
YWlsaW5nU2xhc2g9cGF0aC5zdWJzdHIoLTEpPT09Ii8iO3BhdGg9UEFUSC5ub3JtYWxpemVBcnJh
eShwYXRoLnNwbGl0KCIvIikuZmlsdGVyKGZ1bmN0aW9uKHApe3JldHVybiEhcH0pLCFpc0Fic29s
dXRlKS5qb2luKCIvIik7aWYoIXBhdGgmJiFpc0Fic29sdXRlKXtwYXRoPSIuIn1pZihwYXRoJiZ0
cmFpbGluZ1NsYXNoKXtwYXRoKz0iLyJ9cmV0dXJuKGlzQWJzb2x1dGU/Ii8iOiIiKStwYXRofSxk
aXJuYW1lOmZ1bmN0aW9uKHBhdGgpe3ZhciByZXN1bHQ9UEFUSC5zcGxpdFBhdGgocGF0aCkscm9v
dD1yZXN1bHRbMF0sZGlyPXJlc3VsdFsxXTtpZighcm9vdCYmIWRpcil7cmV0dXJuIi4ifWlmKGRp
cil7ZGlyPWRpci5zdWJzdHIoMCxkaXIubGVuZ3RoLTEpfXJldHVybiByb290K2Rpcn0sYmFzZW5h
bWU6ZnVuY3Rpb24ocGF0aCl7aWYocGF0aD09PSIvIilyZXR1cm4iLyI7dmFyIGxhc3RTbGFzaD1w
YXRoLmxhc3RJbmRleE9mKCIvIik7aWYobGFzdFNsYXNoPT09LTEpcmV0dXJuIHBhdGg7cmV0dXJu
IHBhdGguc3Vic3RyKGxhc3RTbGFzaCsxKX0sZXh0bmFtZTpmdW5jdGlvbihwYXRoKXtyZXR1cm4g
UEFUSC5zcGxpdFBhdGgocGF0aClbM119LGpvaW46ZnVuY3Rpb24oKXt2YXIgcGF0aHM9QXJyYXku
cHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApO3JldHVybiBQQVRILm5vcm1hbGl6ZShw
YXRocy5qb2luKCIvIikpfSxqb2luMjpmdW5jdGlvbihsLHIpe3JldHVybiBQQVRILm5vcm1hbGl6
ZShsKyIvIityKX19O3ZhciBTWVNDQUxMUz17bWFwcGluZ3M6e30sYnVmZmVyczpbbnVsbCxbXSxb
XV0scHJpbnRDaGFyOmZ1bmN0aW9uKHN0cmVhbSxjdXJyKXt2YXIgYnVmZmVyPVNZU0NBTExTLmJ1
ZmZlcnNbc3RyZWFtXTtpZihjdXJyPT09MHx8Y3Vycj09PTEwKXsoc3RyZWFtPT09MT9vdXQ6ZXJy
KShVVEY4QXJyYXlUb1N0cmluZyhidWZmZXIsMCkpO2J1ZmZlci5sZW5ndGg9MH1lbHNle2J1ZmZl
ci5wdXNoKGN1cnIpfX0sdmFyYXJnczp1bmRlZmluZWQsZ2V0OmZ1bmN0aW9uKCl7U1lTQ0FMTFMu
dmFyYXJncys9NDt2YXIgcmV0PUhFQVAzMltTWVNDQUxMUy52YXJhcmdzLTQ+PjJdO3JldHVybiBy
ZXR9LGdldFN0cjpmdW5jdGlvbihwdHIpe3ZhciByZXQ9VVRGOFRvU3RyaW5nKHB0cik7cmV0dXJu
IHJldH0sZ2V0NjQ6ZnVuY3Rpb24obG93LGhpZ2gpe3JldHVybiBsb3d9fTtmdW5jdGlvbiBfZmRf
d3JpdGUoZmQsaW92LGlvdmNudCxwbnVtKXt2YXIgbnVtPTA7Zm9yKHZhciBpPTA7aTxpb3ZjbnQ7
aSsrKXt2YXIgcHRyPUhFQVAzMltpb3YraSo4Pj4yXTt2YXIgbGVuPUhFQVAzMltpb3YrKGkqOCs0
KT4+Ml07Zm9yKHZhciBqPTA7ajxsZW47aisrKXtTWVNDQUxMUy5wcmludENoYXIoZmQsSEVBUFU4
W3B0citqXSl9bnVtKz1sZW59SEVBUDMyW3BudW0+PjJdPW51bTtyZXR1cm4gMH1mdW5jdGlvbiBf
c2V0VGVtcFJldDAoJGkpe3NldFRlbXBSZXQwKCRpfDApfXZhciBBU1NFUlRJT05TPWZhbHNlO3Zh
ciBhc21MaWJyYXJ5QXJnPXsiZW1zY3JpcHRlbl9nZXRfc2Jya19wdHIiOl9lbXNjcmlwdGVuX2dl
dF9zYnJrX3B0ciwiZW1zY3JpcHRlbl9tZW1jcHlfYmlnIjpfZW1zY3JpcHRlbl9tZW1jcHlfYmln
LCJlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwIjpfZW1zY3JpcHRlbl9yZXNpemVfaGVhcCwiZmRfd3Jp
dGUiOl9mZF93cml0ZSwibWVtb3J5Ijp3YXNtTWVtb3J5LCJzZXRUZW1wUmV0MCI6X3NldFRlbXBS
ZXQwLCJ0YWJsZSI6d2FzbVRhYmxlfTt2YXIgYXNtPWNyZWF0ZVdhc20oKTtNb2R1bGVbImFzbSJd
PWFzbTt2YXIgX19fd2FzbV9jYWxsX2N0b3JzPU1vZHVsZVsiX19fd2FzbV9jYWxsX2N0b3JzIl09
ZnVuY3Rpb24oKXtyZXR1cm4oX19fd2FzbV9jYWxsX2N0b3JzPU1vZHVsZVsiX19fd2FzbV9jYWxs
X2N0b3JzIl09TW9kdWxlWyJhc20iXVsiX193YXNtX2NhbGxfY3RvcnMiXSkuYXBwbHkobnVsbCxh
cmd1bWVudHMpfTt2YXIgX21haW49TW9kdWxlWyJfbWFpbiJdPWZ1bmN0aW9uKCl7cmV0dXJuKF9t
YWluPU1vZHVsZVsiX21haW4iXT1Nb2R1bGVbImFzbSJdWyJtYWluIl0pLmFwcGx5KG51bGwsYXJn
dW1lbnRzKX07dmFyIF9tYWxsb2M9TW9kdWxlWyJfbWFsbG9jIl09ZnVuY3Rpb24oKXtyZXR1cm4o
X21hbGxvYz1Nb2R1bGVbIl9tYWxsb2MiXT1Nb2R1bGVbImFzbSJdWyJtYWxsb2MiXSkuYXBwbHko
bnVsbCxhcmd1bWVudHMpfTt2YXIgX19fZXJybm9fbG9jYXRpb249TW9kdWxlWyJfX19lcnJub19s
b2NhdGlvbiJdPWZ1bmN0aW9uKCl7cmV0dXJuKF9fX2Vycm5vX2xvY2F0aW9uPU1vZHVsZVsiX19f
ZXJybm9fbG9jYXRpb24iXT1Nb2R1bGVbImFzbSJdWyJfX2Vycm5vX2xvY2F0aW9uIl0pLmFwcGx5
KG51bGwsYXJndW1lbnRzKX07dmFyIF9mcmVlPU1vZHVsZVsiX2ZyZWUiXT1mdW5jdGlvbigpe3Jl
dHVybihfZnJlZT1Nb2R1bGVbIl9mcmVlIl09TW9kdWxlWyJhc20iXVsiZnJlZSJdKS5hcHBseShu
dWxsLGFyZ3VtZW50cyl9O3ZhciBzdGFja1NhdmU9TW9kdWxlWyJzdGFja1NhdmUiXT1mdW5jdGlv
bigpe3JldHVybihzdGFja1NhdmU9TW9kdWxlWyJzdGFja1NhdmUiXT1Nb2R1bGVbImFzbSJdWyJz
dGFja1NhdmUiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgc3RhY2tBbGxvYz1Nb2R1bGVb
InN0YWNrQWxsb2MiXT1mdW5jdGlvbigpe3JldHVybihzdGFja0FsbG9jPU1vZHVsZVsic3RhY2tB
bGxvYyJdPU1vZHVsZVsiYXNtIl1bInN0YWNrQWxsb2MiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMp
fTt2YXIgc3RhY2tSZXN0b3JlPU1vZHVsZVsic3RhY2tSZXN0b3JlIl09ZnVuY3Rpb24oKXtyZXR1
cm4oc3RhY2tSZXN0b3JlPU1vZHVsZVsic3RhY2tSZXN0b3JlIl09TW9kdWxlWyJhc20iXVsic3Rh
Y2tSZXN0b3JlIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9fZ3Jvd1dhc21NZW1vcnk9
TW9kdWxlWyJfX2dyb3dXYXNtTWVtb3J5Il09ZnVuY3Rpb24oKXtyZXR1cm4oX19ncm93V2FzbU1l
bW9yeT1Nb2R1bGVbIl9fZ3Jvd1dhc21NZW1vcnkiXT1Nb2R1bGVbImFzbSJdWyJfX2dyb3dXYXNt
TWVtb3J5Il0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIGR5bkNhbGxfaWk9TW9kdWxlWyJk
eW5DYWxsX2lpIl09ZnVuY3Rpb24oKXtyZXR1cm4oZHluQ2FsbF9paT1Nb2R1bGVbImR5bkNhbGxf
aWkiXT1Nb2R1bGVbImFzbSJdWyJkeW5DYWxsX2lpIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07
dmFyIGR5bkNhbGxfaWlpaT1Nb2R1bGVbImR5bkNhbGxfaWlpaSJdPWZ1bmN0aW9uKCl7cmV0dXJu
KGR5bkNhbGxfaWlpaT1Nb2R1bGVbImR5bkNhbGxfaWlpaSJdPU1vZHVsZVsiYXNtIl1bImR5bkNh
bGxfaWlpaSJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBkeW5DYWxsX2ppamk9TW9kdWxl
WyJkeW5DYWxsX2ppamkiXT1mdW5jdGlvbigpe3JldHVybihkeW5DYWxsX2ppamk9TW9kdWxlWyJk
eW5DYWxsX2ppamkiXT1Nb2R1bGVbImFzbSJdWyJkeW5DYWxsX2ppamkiXSkuYXBwbHkobnVsbCxh
cmd1bWVudHMpfTtNb2R1bGVbImFzbSJdPWFzbTt2YXIgY2FsbGVkUnVuO2Z1bmN0aW9uIEV4aXRT
dGF0dXMoc3RhdHVzKXt0aGlzLm5hbWU9IkV4aXRTdGF0dXMiO3RoaXMubWVzc2FnZT0iUHJvZ3Jh
bSB0ZXJtaW5hdGVkIHdpdGggZXhpdCgiK3N0YXR1cysiKSI7dGhpcy5zdGF0dXM9c3RhdHVzfXZh
ciBjYWxsZWRNYWluPWZhbHNlO2RlcGVuZGVuY2llc0Z1bGZpbGxlZD1mdW5jdGlvbiBydW5DYWxs
ZXIoKXtpZighY2FsbGVkUnVuKXJ1bigpO2lmKCFjYWxsZWRSdW4pZGVwZW5kZW5jaWVzRnVsZmls
bGVkPXJ1bkNhbGxlcn07ZnVuY3Rpb24gY2FsbE1haW4oYXJncyl7dmFyIGVudHJ5RnVuY3Rpb249
TW9kdWxlWyJfbWFpbiJdO2FyZ3M9YXJnc3x8W107dmFyIGFyZ2M9YXJncy5sZW5ndGgrMTt2YXIg
YXJndj1zdGFja0FsbG9jKChhcmdjKzEpKjQpO0hFQVAzMlthcmd2Pj4yXT1hbGxvY2F0ZVVURjhP
blN0YWNrKHRoaXNQcm9ncmFtKTtmb3IodmFyIGk9MTtpPGFyZ2M7aSsrKXtIRUFQMzJbKGFyZ3Y+
PjIpK2ldPWFsbG9jYXRlVVRGOE9uU3RhY2soYXJnc1tpLTFdKX1IRUFQMzJbKGFyZ3Y+PjIpK2Fy
Z2NdPTA7dHJ5e3ZhciByZXQ9ZW50cnlGdW5jdGlvbihhcmdjLGFyZ3YpO2V4aXQocmV0LHRydWUp
fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBFeGl0U3RhdHVzKXtyZXR1cm59ZWxzZSBpZihlPT0i
dW53aW5kIil7bm9FeGl0UnVudGltZT10cnVlO3JldHVybn1lbHNle3ZhciB0b0xvZz1lO2lmKGUm
JnR5cGVvZiBlPT09Im9iamVjdCImJmUuc3RhY2spe3RvTG9nPVtlLGUuc3RhY2tdfWVycigiZXhj
ZXB0aW9uIHRocm93bjogIit0b0xvZyk7cXVpdF8oMSxlKX19ZmluYWxseXtjYWxsZWRNYWluPXRy
dWV9fWZ1bmN0aW9uIHJ1bihhcmdzKXthcmdzPWFyZ3N8fGFyZ3VtZW50c187aWYocnVuRGVwZW5k
ZW5jaWVzPjApe3JldHVybn1wcmVSdW4oKTtpZihydW5EZXBlbmRlbmNpZXM+MClyZXR1cm47ZnVu
Y3Rpb24gZG9SdW4oKXtpZihjYWxsZWRSdW4pcmV0dXJuO2NhbGxlZFJ1bj10cnVlO01vZHVsZVsi
Y2FsbGVkUnVuIl09dHJ1ZTtpZihBQk9SVClyZXR1cm47aW5pdFJ1bnRpbWUoKTtwcmVNYWluKCk7
aWYoTW9kdWxlWyJvblJ1bnRpbWVJbml0aWFsaXplZCJdKU1vZHVsZVsib25SdW50aW1lSW5pdGlh
bGl6ZWQiXSgpO2lmKHNob3VsZFJ1bk5vdyljYWxsTWFpbihhcmdzKTtwb3N0UnVuKCl9aWYoTW9k
dWxlWyJzZXRTdGF0dXMiXSl7TW9kdWxlWyJzZXRTdGF0dXMiXSgiUnVubmluZy4uLiIpO3NldFRp
bWVvdXQoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7TW9kdWxlWyJzZXRTdGF0dXMi
XSgiIil9LDEpO2RvUnVuKCl9LDEpfWVsc2V7ZG9SdW4oKX19TW9kdWxlWyJydW4iXT1ydW47ZnVu
Y3Rpb24gZXhpdChzdGF0dXMsaW1wbGljaXQpe2lmKGltcGxpY2l0JiZub0V4aXRSdW50aW1lJiZz
dGF0dXM9PT0wKXtyZXR1cm59aWYobm9FeGl0UnVudGltZSl7fWVsc2V7QUJPUlQ9dHJ1ZTtFWElU
U1RBVFVTPXN0YXR1cztleGl0UnVudGltZSgpO2lmKE1vZHVsZVsib25FeGl0Il0pTW9kdWxlWyJv
bkV4aXQiXShzdGF0dXMpfXF1aXRfKHN0YXR1cyxuZXcgRXhpdFN0YXR1cyhzdGF0dXMpKX1pZihN
b2R1bGVbInByZUluaXQiXSl7aWYodHlwZW9mIE1vZHVsZVsicHJlSW5pdCJdPT0iZnVuY3Rpb24i
KU1vZHVsZVsicHJlSW5pdCJdPVtNb2R1bGVbInByZUluaXQiXV07d2hpbGUoTW9kdWxlWyJwcmVJ
bml0Il0ubGVuZ3RoPjApe01vZHVsZVsicHJlSW5pdCJdLnBvcCgpKCl9fXZhciBzaG91bGRSdW5O
b3c9dHJ1ZTtpZihNb2R1bGVbIm5vSW5pdGlhbFJ1biJdKXNob3VsZFJ1bk5vdz1mYWxzZTtub0V4
aXRSdW50aW1lPXRydWU7cnVuKCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432402</attachid>
            <date>2021-06-28 09:54:55 -0700</date>
            <delta_ts>2021-06-30 07:13:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227295-20210628125453.patch</filename>
            <type>text/plain</type>
            <size>28448</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTY2CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE0N2ZlNDhmOTBmNTAyZmQzNWZkNDE2Y2E5YjUx
N2I0OTExYTMwYTUuLmEzMzZmYWE3YWYzOWRhNTJlZTM2M2IzODU5ZWJlZjk5ZGY0NmQ5NjIgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTEyIEBACisyMDIxLTA2LTIzICBNaWtoYWlsIFIuIEdhZGVsaGEgIDxtaWtoYWlsQGln
YWxpYS5jb20+CisKKyAgICAgICAgVW5za2lwIGludGVycHJldGVyLXdhc20uanMgb24gQVJNIGFu
ZCBNSVBTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcyOTUKKworICAgICAgICBSZXZpZXdlZCBieSBDYWlvIEFyYXVqbyBOZXBvbm9jZW5vIGRlIExp
bWEuCisKKyAgICAgICAgQ2hhbmdlZCB0aGUgdGVzdGNhc2UgdG8gYmUgZ3VhcmRlZCBieSAkdm0u
aXNXYXNtU3VwcG9ydGVkKCksIHNvIHRoZQorICAgICAgICB0ZXN0IHdpbGwgYmUgZXhlY3V0ZWQg
b25jZSB3YXNtIGlzIGF2YWlsYWJsZSBpbiB0aGUgYXJjaAorCisgICAgICAgICogbWljcm9iZW5j
aG1hcmtzL2ludGVycHJldGVyLXdhc20uanM6CisgICAgICAgIChrZXkuaW4uTW9kdWxlLk1vZHVs
ZS5oYXNPd25Qcm9wZXJ0eSk6IERlbGV0ZWQuCisgICAgICAgIChxdWl0Xyk6IERlbGV0ZWQuCisg
ICAgICAgIChsb2NhdGVGaWxlKTogRGVsZXRlZC4KKyAgICAgICAgKEVOVklST05NRU5UX0lTX05P
REUucmVhZF8pOiBEZWxldGVkLgorICAgICAgICAoRU5WSVJPTk1FTlRfSVNfTk9ERS5yZWFkQmlu
YXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKEVOVklST05NRU5UX0lTX05PREUucXVpdF8pOiBEZWxl
dGVkLgorICAgICAgICAoRU5WSVJPTk1FTlRfSVNfTk9ERS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVk
X2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoZWxzZS5yZWFkXyk6IERlbGV0ZWQuCisgICAgICAg
IChlbHNlLnJlYWRCaW5hcnkpOiBEZWxldGVkLgorICAgICAgICAoZWxzZS5xdWl0Xyk6IERlbGV0
ZWQuCisgICAgICAgIChlbHNlKTogRGVsZXRlZC4KKyAgICAgICAgKGVsc2UueGhyLm9ubG9hZCk6
IERlbGV0ZWQuCisgICAgICAgIChlbHNlLnJlYWRBc3luYyk6IERlbGV0ZWQuCisgICAgICAgIChl
bHNlLnNldFdpbmRvd1RpdGxlKTogRGVsZXRlZC4KKyAgICAgICAgKGtleS5pbi5tb2R1bGVPdmVy
cmlkZXMubW9kdWxlT3ZlcnJpZGVzLmhhc093blByb3BlcnR5KTogRGVsZXRlZC4KKyAgICAgICAg
KGR5bmFtaWNBbGxvYyk6IERlbGV0ZWQuCisgICAgICAgIChnZXROYXRpdmVUeXBlU2l6ZSk6IERl
bGV0ZWQuCisgICAgICAgICh3YXJuT25jZSk6IERlbGV0ZWQuCisgICAgICAgIChjb252ZXJ0SnNG
dW5jdGlvblRvV2FzbSk6IERlbGV0ZWQuCisgICAgICAgIChhZGRGdW5jdGlvbldhc20pOiBEZWxl
dGVkLgorICAgICAgICAocmVtb3ZlRnVuY3Rpb25XYXNtKTogRGVsZXRlZC4KKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgIChzZXRUZW1wUmV0MCk6IERlbGV0ZWQuCisgICAgICAgIChzZXRW
YWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChhc3NlcnQpOiBEZWxldGVkLgorICAgICAgICAoZ2V0
Q0Z1bmMpOiBEZWxldGVkLgorICAgICAgICAodG9DLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVs
ZXRlZC4KKyAgICAgICAgKGNvbnZlcnRSZXR1cm5WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChj
Y2FsbCk6IERlbGV0ZWQuCisgICAgICAgIChVVEY4QXJyYXlUb1N0cmluZyk6IERlbGV0ZWQuCisg
ICAgICAgIChVVEY4VG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoc3RyaW5nVG9VVEY4QXJy
YXkpOiBEZWxldGVkLgorICAgICAgICAoc3RyaW5nVG9VVEY4KTogRGVsZXRlZC4KKyAgICAgICAg
KGxlbmd0aEJ5dGVzVVRGOCk6IERlbGV0ZWQuCisgICAgICAgIChhbGxvY2F0ZVVURjhPblN0YWNr
KTogRGVsZXRlZC4KKyAgICAgICAgKHdyaXRlQXJyYXlUb01lbW9yeSk6IERlbGV0ZWQuCisgICAg
ICAgICh3cml0ZUFzY2lpVG9NZW1vcnkpOiBEZWxldGVkLgorICAgICAgICAodXBkYXRlR2xvYmFs
QnVmZmVyQW5kVmlld3MpOiBEZWxldGVkLgorICAgICAgICAoY2FsbFJ1bnRpbWVDYWxsYmFja3Mp
OiBEZWxldGVkLgorICAgICAgICAocHJlUnVuKTogRGVsZXRlZC4KKyAgICAgICAgKGluaXRSdW50
aW1lKTogRGVsZXRlZC4KKyAgICAgICAgKHByZU1haW4pOiBEZWxldGVkLgorICAgICAgICAoZXhp
dFJ1bnRpbWUpOiBEZWxldGVkLgorICAgICAgICAocG9zdFJ1bik6IERlbGV0ZWQuCisgICAgICAg
IChhZGRPblByZVJ1bik6IERlbGV0ZWQuCisgICAgICAgIChhZGRPblBvc3RSdW4pOiBEZWxldGVk
LgorICAgICAgICAoYWRkUnVuRGVwZW5kZW5jeSk6IERlbGV0ZWQuCisgICAgICAgIChyZW1vdmVS
dW5EZXBlbmRlbmN5KTogRGVsZXRlZC4KKyAgICAgICAgKGhhc1ByZWZpeCk6IERlbGV0ZWQuCisg
ICAgICAgIChpc0RhdGFVUkkpOiBEZWxldGVkLgorICAgICAgICAoaXNGaWxlVVJJKTogRGVsZXRl
ZC4KKyAgICAgICAgKGdldEJpbmFyeSk6IERlbGV0ZWQuCisgICAgICAgIChnZXRCaW5hcnlQcm9t
aXNlKTogRGVsZXRlZC4KKyAgICAgICAgKGNyZWF0ZVdhc20ucmVjZWl2ZUluc3RhbmNlKTogRGVs
ZXRlZC4KKyAgICAgICAgKGNyZWF0ZVdhc20ucmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSk6IERl
bGV0ZWQuCisgICAgICAgIChjcmVhdGVXYXNtLmluc3RhbnRpYXRlQXJyYXlCdWZmZXIpOiBEZWxl
dGVkLgorICAgICAgICAoY3JlYXRlV2FzbS5pbnN0YW50aWF0ZUFzeW5jLik6IERlbGV0ZWQuCisg
ICAgICAgIChjcmVhdGVXYXNtLmluc3RhbnRpYXRlQXN5bmMpOiBEZWxldGVkLgorICAgICAgICAo
Y3JlYXRlV2FzbSk6IERlbGV0ZWQuCisgICAgICAgIChfX0FUSU5JVF9fLnB1c2guZnVuYyk6IERl
bGV0ZWQuCisgICAgICAgIChkZW1hbmdsZSk6IERlbGV0ZWQuCisgICAgICAgIChkZW1hbmdsZUFs
bCk6IERlbGV0ZWQuCisgICAgICAgIChfZW1zY3JpcHRlbl9nZXRfc2Jya19wdHIpOiBEZWxldGVk
LgorICAgICAgICAoX2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZyk6IERlbGV0ZWQuCisgICAgICAgIChh
Ym9ydE9uQ2Fubm90R3Jvd01lbW9yeSk6IERlbGV0ZWQuCisgICAgICAgIChfZW1zY3JpcHRlbl9y
ZXNpemVfaGVhcCk6IERlbGV0ZWQuCisgICAgICAgIChQQVRILnNwbGl0UGF0aCk6IERlbGV0ZWQu
CisgICAgICAgIChQQVRILm5vcm1hbGl6ZUFycmF5KTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEgu
bm9ybWFsaXplKTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEguZGlybmFtZSk6IERlbGV0ZWQuCisg
ICAgICAgIChQQVRILmJhc2VuYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFBBVEguZXh0bmFtZSk6
IERlbGV0ZWQuCisgICAgICAgIChQQVRILmpvaW4pOiBEZWxldGVkLgorICAgICAgICAoUEFUSC5q
b2luMik6IERlbGV0ZWQuCisgICAgICAgIChTWVNDQUxMUy5wcmludENoYXIpOiBEZWxldGVkLgor
ICAgICAgICAoU1lTQ0FMTFMuZ2V0U3RyKTogRGVsZXRlZC4KKyAgICAgICAgKFNZU0NBTExTLmdl
dDY0KTogRGVsZXRlZC4KKyAgICAgICAgKF9mZF93cml0ZSk6IERlbGV0ZWQuCisgICAgICAgIChf
c2V0VGVtcFJldDApOiBEZWxldGVkLgorICAgICAgICAoX19fd2FzbV9jYWxsX2N0b3JzLk1vZHVs
ZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChfbWFpbi5Nb2R1bGUu
c3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoX21hbGxvYy5Nb2R1bGUu
c3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAgICAoX19fZXJybm9fbG9jYXRp
b24uTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKF9mcmVl
Lk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChzdGFja1Nh
dmUuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0YWNr
QWxsb2MuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9oZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0
YWNrUmVzdG9yZS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVkLgorICAgICAg
ICAoX19ncm93V2FzbU1lbW9yeS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxldGVk
LgorICAgICAgICAoZHluQ2FsbF9paS5Nb2R1bGUuc3RyaW5nX2FwcGVhcmVkX2hlcmUpOiBEZWxl
dGVkLgorICAgICAgICAoZHluQ2FsbF9paWlpLk1vZHVsZS5zdHJpbmdfYXBwZWFyZWRfaGVyZSk6
IERlbGV0ZWQuCisgICAgICAgIChkeW5DYWxsX2ppamkuTW9kdWxlLnN0cmluZ19hcHBlYXJlZF9o
ZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKEV4aXRTdGF0dXMpOiBEZWxldGVkLgorICAgICAgICAo
ZGVwZW5kZW5jaWVzRnVsZmlsbGVkKTogRGVsZXRlZC4KKyAgICAgICAgKGNhbGxNYWluKTogRGVs
ZXRlZC4KKyAgICAgICAgKHJ1bi5kb1J1bik6IERlbGV0ZWQuCisgICAgICAgIChydW4pOiBEZWxl
dGVkLgorICAgICAgICAoZXhpdCk6IERlbGV0ZWQuCisKIDIwMjEtMDYtMjIgIFNhYW0gQmFyYXRp
ICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgYXNzdW1lIHN0cmVzcy9vdXQt
b2YtbWVtb3J5LXdoaWxlLWNvbnN0cnVjdGluZy1CeXRlY29kZUdlbmVyYXRvci5qcyB3aWxsIE9P
TQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvaW50ZXJwcmV0ZXItd2FzbS5q
cyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL2ludGVycHJldGVyLXdhc20uanMKaW5kZXggZDA3
M2ZlZTIzYzlmZjQ1MDk1NzQ1MDVlODBlZjAxMDMwZGFjMTk4YS4uOTg3ZDkxMmIyM2VlZmQ2MTIw
ZjUyNDY3ZGFlN2YzYjRkNDk1N2Q2MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9taWNyb2JlbmNobWFy
a3MvaW50ZXJwcmV0ZXItd2FzbS5qcworKysgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9pbnRl
cnByZXRlci13YXNtLmpzCkBAIC0xLDMgKzEsNSBAQAotLy9AIHNraXAgaWYgJGFyY2hpdGVjdHVy
ZSA9PSAiYXJtIiBvciAkYXJjaGl0ZWN0dXJlID09ICJtaXBzIiBvciAkbW9kZWwgPX4gL0FwcGxl
IFdhdGNoLworLy9AIHNraXAgaWYgJG1vZGVsID1+IC9BcHBsZSBXYXRjaC8KIC8vQCBydW5EZWZh
dWx0CitpZiAoJHZtLmlzV2FzbVN1cHBvcnRlZCgpKSB7CiB2YXIgTW9kdWxlPXR5cGVvZiBNb2R1
bGUhPT0idW5kZWZpbmVkIj9Nb2R1bGU6e307dmFyIG1vZHVsZU92ZXJyaWRlcz17fTt2YXIga2V5
O2ZvcihrZXkgaW4gTW9kdWxlKXtpZihNb2R1bGUuaGFzT3duUHJvcGVydHkoa2V5KSl7bW9kdWxl
T3ZlcnJpZGVzW2tleV09TW9kdWxlW2tleV19fXZhciBhcmd1bWVudHNfPVtdO3ZhciB0aGlzUHJv
Z3JhbT0iLi90aGlzLnByb2dyYW0iO3ZhciBxdWl0Xz1mdW5jdGlvbihzdGF0dXMsdG9UaHJvdyl7
dGhyb3cgdG9UaHJvd307dmFyIEVOVklST05NRU5UX0lTX1dFQj1mYWxzZTt2YXIgRU5WSVJPTk1F
TlRfSVNfV09SS0VSPWZhbHNlO3ZhciBFTlZJUk9OTUVOVF9JU19OT0RFPWZhbHNlO3ZhciBFTlZJ
Uk9OTUVOVF9JU19TSEVMTD1mYWxzZTtFTlZJUk9OTUVOVF9JU19XRUI9dHlwZW9mIHdpbmRvdz09
PSJvYmplY3QiO0VOVklST05NRU5UX0lTX1dPUktFUj10eXBlb2YgaW1wb3J0U2NyaXB0cz09PSJm
dW5jdGlvbiI7RU5WSVJPTk1FTlRfSVNfTk9ERT10eXBlb2YgcHJvY2Vzcz09PSJvYmplY3QiJiZ0
eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucz09PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9u
cy5ub2RlPT09InN0cmluZyI7RU5WSVJPTk1FTlRfSVNfU0hFTEw9IUVOVklST05NRU5UX0lTX1dF
QiYmIUVOVklST05NRU5UX0lTX05PREUmJiFFTlZJUk9OTUVOVF9JU19XT1JLRVI7dmFyIHNjcmlw
dERpcmVjdG9yeT0iIjtmdW5jdGlvbiBsb2NhdGVGaWxlKHBhdGgpe2lmKE1vZHVsZVsibG9jYXRl
RmlsZSJdKXtyZXR1cm4gTW9kdWxlWyJsb2NhdGVGaWxlIl0ocGF0aCxzY3JpcHREaXJlY3Rvcnkp
fXJldHVybiBzY3JpcHREaXJlY3RvcnkrcGF0aH12YXIgcmVhZF8scmVhZEFzeW5jLHJlYWRCaW5h
cnksc2V0V2luZG93VGl0bGU7dmFyIG5vZGVGUzt2YXIgbm9kZVBhdGg7aWYoRU5WSVJPTk1FTlRf
SVNfTk9ERSl7aWYoRU5WSVJPTk1FTlRfSVNfV09SS0VSKXtzY3JpcHREaXJlY3Rvcnk9cmVxdWly
ZSgicGF0aCIpLmRpcm5hbWUoc2NyaXB0RGlyZWN0b3J5KSsiLyJ9ZWxzZXtzY3JpcHREaXJlY3Rv
cnk9X19kaXJuYW1lKyIvIn1yZWFkXz1mdW5jdGlvbiBzaGVsbF9yZWFkKGZpbGVuYW1lLGJpbmFy
eSl7aWYoIW5vZGVGUylub2RlRlM9cmVxdWlyZSgiZnMiKTtpZighbm9kZVBhdGgpbm9kZVBhdGg9
cmVxdWlyZSgicGF0aCIpO2ZpbGVuYW1lPW5vZGVQYXRoWyJub3JtYWxpemUiXShmaWxlbmFtZSk7
cmV0dXJuIG5vZGVGU1sicmVhZEZpbGVTeW5jIl0oZmlsZW5hbWUsYmluYXJ5P251bGw6InV0Zjgi
KX07cmVhZEJpbmFyeT1mdW5jdGlvbiByZWFkQmluYXJ5KGZpbGVuYW1lKXt2YXIgcmV0PXJlYWRf
KGZpbGVuYW1lLHRydWUpO2lmKCFyZXQuYnVmZmVyKXtyZXQ9bmV3IFVpbnQ4QXJyYXkocmV0KX1h
c3NlcnQocmV0LmJ1ZmZlcik7cmV0dXJuIHJldH07aWYocHJvY2Vzc1siYXJndiJdLmxlbmd0aD4x
KXt0aGlzUHJvZ3JhbT1wcm9jZXNzWyJhcmd2Il1bMV0ucmVwbGFjZSgvXFwvZywiLyIpfWFyZ3Vt
ZW50c189cHJvY2Vzc1siYXJndiJdLnNsaWNlKDIpO2lmKHR5cGVvZiBtb2R1bGUhPT0idW5kZWZp
bmVkIil7bW9kdWxlWyJleHBvcnRzIl09TW9kdWxlfXByb2Nlc3NbIm9uIl0oInVuY2F1Z2h0RXhj
ZXB0aW9uIixmdW5jdGlvbihleCl7aWYoIShleCBpbnN0YW5jZW9mIEV4aXRTdGF0dXMpKXt0aHJv
dyBleH19KTtwcm9jZXNzWyJvbiJdKCJ1bmhhbmRsZWRSZWplY3Rpb24iLGFib3J0KTtxdWl0Xz1m
dW5jdGlvbihzdGF0dXMpe3Byb2Nlc3NbImV4aXQiXShzdGF0dXMpfTtNb2R1bGVbImluc3BlY3Qi
XT1mdW5jdGlvbigpe3JldHVybiJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XSJ9fWVsc2UgaWYo
RU5WSVJPTk1FTlRfSVNfU0hFTEwpe2lmKHR5cGVvZiByZWFkIT0idW5kZWZpbmVkIil7cmVhZF89
ZnVuY3Rpb24gc2hlbGxfcmVhZChmKXtyZXR1cm4gcmVhZChmKX19cmVhZEJpbmFyeT1mdW5jdGlv
biByZWFkQmluYXJ5KGYpe3ZhciBkYXRhO2lmKHR5cGVvZiByZWFkYnVmZmVyPT09ImZ1bmN0aW9u
Iil7cmV0dXJuIG5ldyBVaW50OEFycmF5KHJlYWRidWZmZXIoZikpfWRhdGE9cmVhZChmLCJiaW5h
cnkiKTthc3NlcnQodHlwZW9mIGRhdGE9PT0ib2JqZWN0Iik7cmV0dXJuIGRhdGF9O2lmKHR5cGVv
ZiBzY3JpcHRBcmdzIT0idW5kZWZpbmVkIil7YXJndW1lbnRzXz1zY3JpcHRBcmdzfWVsc2UgaWYo
dHlwZW9mIGFyZ3VtZW50cyE9InVuZGVmaW5lZCIpe2FyZ3VtZW50c189YXJndW1lbnRzfWlmKHR5
cGVvZiBxdWl0PT09ImZ1bmN0aW9uIil7cXVpdF89ZnVuY3Rpb24oc3RhdHVzKXtxdWl0KHN0YXR1
cyl9fWlmKHR5cGVvZiBwcmludCE9PSJ1bmRlZmluZWQiKXtpZih0eXBlb2YgY29uc29sZT09PSJ1
bmRlZmluZWQiKWNvbnNvbGU9e307Y29uc29sZS5sb2c9cHJpbnQ7Y29uc29sZS53YXJuPWNvbnNv
bGUuZXJyb3I9dHlwZW9mIHByaW50RXJyIT09InVuZGVmaW5lZCI/cHJpbnRFcnI6cHJpbnR9fWVs
c2UgaWYoRU5WSVJPTk1FTlRfSVNfV0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpe2lmKEVOVklS
T05NRU5UX0lTX1dPUktFUil7c2NyaXB0RGlyZWN0b3J5PXNlbGYubG9jYXRpb24uaHJlZn1lbHNl
IGlmKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpe3NjcmlwdERpcmVjdG9yeT1kb2N1bWVudC5jdXJy
ZW50U2NyaXB0LnNyY31pZihzY3JpcHREaXJlY3RvcnkuaW5kZXhPZigiYmxvYjoiKSE9PTApe3Nj
cmlwdERpcmVjdG9yeT1zY3JpcHREaXJlY3Rvcnkuc3Vic3RyKDAsc2NyaXB0RGlyZWN0b3J5Lmxh
c3RJbmRleE9mKCIvIikrMSl9ZWxzZXtzY3JpcHREaXJlY3Rvcnk9IiJ9e3JlYWRfPWZ1bmN0aW9u
IHNoZWxsX3JlYWQodXJsKXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VU
Iix1cmwsZmFsc2UpO3hoci5zZW5kKG51bGwpO3JldHVybiB4aHIucmVzcG9uc2VUZXh0fTtpZihF
TlZJUk9OTUVOVF9JU19XT1JLRVIpe3JlYWRCaW5hcnk9ZnVuY3Rpb24gcmVhZEJpbmFyeSh1cmwp
e3ZhciB4aHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVybCxmYWxzZSk7eGhy
LnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiO3hoci5zZW5kKG51bGwpO3JldHVybiBuZXcgVWlu
dDhBcnJheSh4aHIucmVzcG9uc2UpfX1yZWFkQXN5bmM9ZnVuY3Rpb24gcmVhZEFzeW5jKHVybCxv
bmxvYWQsb25lcnJvcil7dmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhyLm9wZW4oIkdFVCIs
dXJsLHRydWUpO3hoci5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIjt4aHIub25sb2FkPWZ1bmN0
aW9uIHhocl9vbmxvYWQoKXtpZih4aHIuc3RhdHVzPT0yMDB8fHhoci5zdGF0dXM9PTAmJnhoci5y
ZXNwb25zZSl7b25sb2FkKHhoci5yZXNwb25zZSk7cmV0dXJufW9uZXJyb3IoKX07eGhyLm9uZXJy
b3I9b25lcnJvcjt4aHIuc2VuZChudWxsKX19c2V0V2luZG93VGl0bGU9ZnVuY3Rpb24odGl0bGUp
e2RvY3VtZW50LnRpdGxlPXRpdGxlfX1lbHNle312YXIgb3V0PU1vZHVsZVsicHJpbnQiXXx8Y29u
c29sZS5sb2cuYmluZChjb25zb2xlKTt2YXIgZXJyPU1vZHVsZVsicHJpbnRFcnIiXXx8Y29uc29s
ZS53YXJuLmJpbmQoY29uc29sZSk7Zm9yKGtleSBpbiBtb2R1bGVPdmVycmlkZXMpe2lmKG1vZHVs
ZU92ZXJyaWRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKXtNb2R1bGVba2V5XT1tb2R1bGVPdmVycmlk
ZXNba2V5XX19bW9kdWxlT3ZlcnJpZGVzPW51bGw7aWYoTW9kdWxlWyJhcmd1bWVudHMiXSlhcmd1
bWVudHNfPU1vZHVsZVsiYXJndW1lbnRzIl07aWYoTW9kdWxlWyJ0aGlzUHJvZ3JhbSJdKXRoaXNQ
cm9ncmFtPU1vZHVsZVsidGhpc1Byb2dyYW0iXTtpZihNb2R1bGVbInF1aXQiXSlxdWl0Xz1Nb2R1
bGVbInF1aXQiXTt2YXIgU1RBQ0tfQUxJR049MTY7ZnVuY3Rpb24gZHluYW1pY0FsbG9jKHNpemUp
e3ZhciByZXQ9SEVBUDMyW0RZTkFNSUNUT1BfUFRSPj4yXTt2YXIgZW5kPXJldCtzaXplKzE1Ji0x
NjtIRUFQMzJbRFlOQU1JQ1RPUF9QVFI+PjJdPWVuZDtyZXR1cm4gcmV0fWZ1bmN0aW9uIGdldE5h
dGl2ZVR5cGVTaXplKHR5cGUpe3N3aXRjaCh0eXBlKXtjYXNlImkxIjpjYXNlImk4IjpyZXR1cm4g
MTtjYXNlImkxNiI6cmV0dXJuIDI7Y2FzZSJpMzIiOnJldHVybiA0O2Nhc2UiaTY0IjpyZXR1cm4g
ODtjYXNlImZsb2F0IjpyZXR1cm4gNDtjYXNlImRvdWJsZSI6cmV0dXJuIDg7ZGVmYXVsdDp7aWYo
dHlwZVt0eXBlLmxlbmd0aC0xXT09PSIqIil7cmV0dXJuIDR9ZWxzZSBpZih0eXBlWzBdPT09Imki
KXt2YXIgYml0cz1OdW1iZXIodHlwZS5zdWJzdHIoMSkpO2Fzc2VydChiaXRzJTg9PT0wLCJnZXRO
YXRpdmVUeXBlU2l6ZSBpbnZhbGlkIGJpdHMgIitiaXRzKyIsIHR5cGUgIit0eXBlKTtyZXR1cm4g
Yml0cy84fWVsc2V7cmV0dXJuIDB9fX19ZnVuY3Rpb24gd2Fybk9uY2UodGV4dCl7aWYoIXdhcm5P
bmNlLnNob3duKXdhcm5PbmNlLnNob3duPXt9O2lmKCF3YXJuT25jZS5zaG93blt0ZXh0XSl7d2Fy
bk9uY2Uuc2hvd25bdGV4dF09MTtlcnIodGV4dCl9fWZ1bmN0aW9uIGNvbnZlcnRKc0Z1bmN0aW9u
VG9XYXNtKGZ1bmMsc2lnKXtpZih0eXBlb2YgV2ViQXNzZW1ibHkuRnVuY3Rpb249PT0iZnVuY3Rp
b24iKXt2YXIgdHlwZU5hbWVzPXsiaSI6ImkzMiIsImoiOiJpNjQiLCJmIjoiZjMyIiwiZCI6ImY2
NCJ9O3ZhciB0eXBlPXtwYXJhbWV0ZXJzOltdLHJlc3VsdHM6c2lnWzBdPT0idiI/W106W3R5cGVO
YW1lc1tzaWdbMF1dXX07Zm9yKHZhciBpPTE7aTxzaWcubGVuZ3RoOysraSl7dHlwZS5wYXJhbWV0
ZXJzLnB1c2godHlwZU5hbWVzW3NpZ1tpXV0pfXJldHVybiBuZXcgV2ViQXNzZW1ibHkuRnVuY3Rp
b24odHlwZSxmdW5jKX12YXIgdHlwZVNlY3Rpb249WzEsMCwxLDk2XTt2YXIgc2lnUmV0PXNpZy5z
bGljZSgwLDEpO3ZhciBzaWdQYXJhbT1zaWcuc2xpY2UoMSk7dmFyIHR5cGVDb2Rlcz17ImkiOjEy
NywiaiI6MTI2LCJmIjoxMjUsImQiOjEyNH07dHlwZVNlY3Rpb24ucHVzaChzaWdQYXJhbS5sZW5n
dGgpO2Zvcih2YXIgaT0wO2k8c2lnUGFyYW0ubGVuZ3RoOysraSl7dHlwZVNlY3Rpb24ucHVzaCh0
eXBlQ29kZXNbc2lnUGFyYW1baV1dKX1pZihzaWdSZXQ9PSJ2Iil7dHlwZVNlY3Rpb24ucHVzaCgw
KX1lbHNle3R5cGVTZWN0aW9uPXR5cGVTZWN0aW9uLmNvbmNhdChbMSx0eXBlQ29kZXNbc2lnUmV0
XV0pfXR5cGVTZWN0aW9uWzFdPXR5cGVTZWN0aW9uLmxlbmd0aC0yO3ZhciBieXRlcz1uZXcgVWlu
dDhBcnJheShbMCw5NywxMTUsMTA5LDEsMCwwLDBdLmNvbmNhdCh0eXBlU2VjdGlvbixbMiw3LDEs
MSwxMDEsMSwxMDIsMCwwLDcsNSwxLDEsMTAyLDAsMF0pKTt2YXIgbW9kdWxlPW5ldyBXZWJBc3Nl
bWJseS5Nb2R1bGUoYnl0ZXMpO3ZhciBpbnN0YW5jZT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2Uo
bW9kdWxlLHsiZSI6eyJmIjpmdW5jfX0pO3ZhciB3cmFwcGVkRnVuYz1pbnN0YW5jZS5leHBvcnRz
WyJmIl07cmV0dXJuIHdyYXBwZWRGdW5jfXZhciBmcmVlVGFibGVJbmRleGVzPVtdO3ZhciBmdW5j
dGlvbnNJblRhYmxlTWFwO2Z1bmN0aW9uIGFkZEZ1bmN0aW9uV2FzbShmdW5jLHNpZyl7dmFyIHRh
YmxlPXdhc21UYWJsZTtpZighZnVuY3Rpb25zSW5UYWJsZU1hcCl7ZnVuY3Rpb25zSW5UYWJsZU1h
cD1uZXcgV2Vha01hcDtmb3IodmFyIGk9MDtpPHRhYmxlLmxlbmd0aDtpKyspe3ZhciBpdGVtPXRh
YmxlLmdldChpKTtpZihpdGVtKXtmdW5jdGlvbnNJblRhYmxlTWFwLnNldChpdGVtLGkpfX19aWYo
ZnVuY3Rpb25zSW5UYWJsZU1hcC5oYXMoZnVuYykpe3JldHVybiBmdW5jdGlvbnNJblRhYmxlTWFw
LmdldChmdW5jKX12YXIgcmV0O2lmKGZyZWVUYWJsZUluZGV4ZXMubGVuZ3RoKXtyZXQ9ZnJlZVRh
YmxlSW5kZXhlcy5wb3AoKX1lbHNle3JldD10YWJsZS5sZW5ndGg7dHJ5e3RhYmxlLmdyb3coMSl9
Y2F0Y2goZXJyKXtpZighKGVyciBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXt0aHJvdyBlcnJ9dGhy
b3ciVW5hYmxlIHRvIGdyb3cgd2FzbSB0YWJsZS4gU2V0IEFMTE9XX1RBQkxFX0dST1dUSC4ifX10
cnl7dGFibGUuc2V0KHJldCxmdW5jKX1jYXRjaChlcnIpe2lmKCEoZXJyIGluc3RhbmNlb2YgVHlw
ZUVycm9yKSl7dGhyb3cgZXJyfXZhciB3cmFwcGVkPWNvbnZlcnRKc0Z1bmN0aW9uVG9XYXNtKGZ1
bmMsc2lnKTt0YWJsZS5zZXQocmV0LHdyYXBwZWQpfWZ1bmN0aW9uc0luVGFibGVNYXAuc2V0KGZ1
bmMscmV0KTtyZXR1cm4gcmV0fWZ1bmN0aW9uIHJlbW92ZUZ1bmN0aW9uV2FzbShpbmRleCl7ZnVu
Y3Rpb25zSW5UYWJsZU1hcC5kZWxldGUod2FzbVRhYmxlLmdldChpbmRleCkpO2ZyZWVUYWJsZUlu
ZGV4ZXMucHVzaChpbmRleCl9dmFyIGZ1bmNXcmFwcGVycz17fTtmdW5jdGlvbiBkeW5DYWxsKHNp
ZyxwdHIsYXJncyl7aWYoYXJncyYmYXJncy5sZW5ndGgpe3JldHVybiBNb2R1bGVbImR5bkNhbGxf
IitzaWddLmFwcGx5KG51bGwsW3B0cl0uY29uY2F0KGFyZ3MpKX1lbHNle3JldHVybiBNb2R1bGVb
ImR5bkNhbGxfIitzaWddLmNhbGwobnVsbCxwdHIpfX12YXIgdGVtcFJldDA9MDt2YXIgc2V0VGVt
cFJldDA9ZnVuY3Rpb24odmFsdWUpe3RlbXBSZXQwPXZhbHVlfTt2YXIgd2FzbUJpbmFyeTtpZihN
b2R1bGVbIndhc21CaW5hcnkiXSl3YXNtQmluYXJ5PU1vZHVsZVsid2FzbUJpbmFyeSJdO3ZhciBu
b0V4aXRSdW50aW1lO2lmKE1vZHVsZVsibm9FeGl0UnVudGltZSJdKW5vRXhpdFJ1bnRpbWU9TW9k
dWxlWyJub0V4aXRSdW50aW1lIl07aWYodHlwZW9mIFdlYkFzc2VtYmx5IT09Im9iamVjdCIpe2Vy
cigibm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZCIpfWZ1bmN0aW9uIHNldFZhbHVlKHB0
cix2YWx1ZSx0eXBlLG5vU2FmZSl7dHlwZT10eXBlfHwiaTgiO2lmKHR5cGUuY2hhckF0KHR5cGUu
bGVuZ3RoLTEpPT09IioiKXR5cGU9ImkzMiI7c3dpdGNoKHR5cGUpe2Nhc2UiaTEiOkhFQVA4W3B0
cj4+MF09dmFsdWU7YnJlYWs7Y2FzZSJpOCI6SEVBUDhbcHRyPj4wXT12YWx1ZTticmVhaztjYXNl
ImkxNiI6SEVBUDE2W3B0cj4+MV09dmFsdWU7YnJlYWs7Y2FzZSJpMzIiOkhFQVAzMltwdHI+PjJd
PXZhbHVlO2JyZWFrO2Nhc2UiaTY0Ijp0ZW1wSTY0PVt2YWx1ZT4+PjAsKHRlbXBEb3VibGU9dmFs
dWUsK01hdGhfYWJzKHRlbXBEb3VibGUpPj0xP3RlbXBEb3VibGU+MD8oTWF0aF9taW4oK01hdGhf
Zmxvb3IodGVtcERvdWJsZS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KXwwKT4+PjA6fn4rTWF0aF9j
ZWlsKCh0ZW1wRG91YmxlLSsofn50ZW1wRG91YmxlPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0s
SEVBUDMyW3B0cj4+Ml09dGVtcEk2NFswXSxIRUFQMzJbcHRyKzQ+PjJdPXRlbXBJNjRbMV07YnJl
YWs7Y2FzZSJmbG9hdCI6SEVBUEYzMltwdHI+PjJdPXZhbHVlO2JyZWFrO2Nhc2UiZG91YmxlIjpI
RUFQRjY0W3B0cj4+M109dmFsdWU7YnJlYWs7ZGVmYXVsdDphYm9ydCgiaW52YWxpZCB0eXBlIGZv
ciBzZXRWYWx1ZTogIit0eXBlKX19dmFyIHdhc21NZW1vcnk7dmFyIHdhc21UYWJsZT1uZXcgV2Vi
QXNzZW1ibHkuVGFibGUoeyJpbml0aWFsIjo0LCJtYXhpbXVtIjo0KzAsImVsZW1lbnQiOiJhbnlm
dW5jIn0pO3ZhciBBQk9SVD1mYWxzZTt2YXIgRVhJVFNUQVRVUz0wO2Z1bmN0aW9uIGFzc2VydChj
b25kaXRpb24sdGV4dCl7aWYoIWNvbmRpdGlvbil7YWJvcnQoIkFzc2VydGlvbiBmYWlsZWQ6ICIr
dGV4dCl9fWZ1bmN0aW9uIGdldENGdW5jKGlkZW50KXt2YXIgZnVuYz1Nb2R1bGVbIl8iK2lkZW50
XTthc3NlcnQoZnVuYywiQ2Fubm90IGNhbGwgdW5rbm93biBmdW5jdGlvbiAiK2lkZW50KyIsIG1h
a2Ugc3VyZSBpdCBpcyBleHBvcnRlZCIpO3JldHVybiBmdW5jfWZ1bmN0aW9uIGNjYWxsKGlkZW50
LHJldHVyblR5cGUsYXJnVHlwZXMsYXJncyxvcHRzKXt2YXIgdG9DPXsic3RyaW5nIjpmdW5jdGlv
bihzdHIpe3ZhciByZXQ9MDtpZihzdHIhPT1udWxsJiZzdHIhPT11bmRlZmluZWQmJnN0ciE9PTAp
e3ZhciBsZW49KHN0ci5sZW5ndGg8PDIpKzE7cmV0PXN0YWNrQWxsb2MobGVuKTtzdHJpbmdUb1VU
Rjgoc3RyLHJldCxsZW4pfXJldHVybiByZXR9LCJhcnJheSI6ZnVuY3Rpb24oYXJyKXt2YXIgcmV0
PXN0YWNrQWxsb2MoYXJyLmxlbmd0aCk7d3JpdGVBcnJheVRvTWVtb3J5KGFycixyZXQpO3JldHVy
biByZXR9fTtmdW5jdGlvbiBjb252ZXJ0UmV0dXJuVmFsdWUocmV0KXtpZihyZXR1cm5UeXBlPT09
InN0cmluZyIpcmV0dXJuIFVURjhUb1N0cmluZyhyZXQpO2lmKHJldHVyblR5cGU9PT0iYm9vbGVh
biIpcmV0dXJuIEJvb2xlYW4ocmV0KTtyZXR1cm4gcmV0fXZhciBmdW5jPWdldENGdW5jKGlkZW50
KTt2YXIgY0FyZ3M9W107dmFyIHN0YWNrPTA7aWYoYXJncyl7Zm9yKHZhciBpPTA7aTxhcmdzLmxl
bmd0aDtpKyspe3ZhciBjb252ZXJ0ZXI9dG9DW2FyZ1R5cGVzW2ldXTtpZihjb252ZXJ0ZXIpe2lm
KHN0YWNrPT09MClzdGFjaz1zdGFja1NhdmUoKTtjQXJnc1tpXT1jb252ZXJ0ZXIoYXJnc1tpXSl9
ZWxzZXtjQXJnc1tpXT1hcmdzW2ldfX19dmFyIHJldD1mdW5jLmFwcGx5KG51bGwsY0FyZ3MpO3Jl
dD1jb252ZXJ0UmV0dXJuVmFsdWUocmV0KTtpZihzdGFjayE9PTApc3RhY2tSZXN0b3JlKHN0YWNr
KTtyZXR1cm4gcmV0fXZhciBBTExPQ19OT05FPTM7dmFyIFVURjhEZWNvZGVyPXR5cGVvZiBUZXh0
RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2RlcigidXRmOCIpOnVuZGVmaW5lZDtm
dW5jdGlvbiBVVEY4QXJyYXlUb1N0cmluZyhoZWFwLGlkeCxtYXhCeXRlc1RvUmVhZCl7dmFyIGVu
ZElkeD1pZHgrbWF4Qnl0ZXNUb1JlYWQ7dmFyIGVuZFB0cj1pZHg7d2hpbGUoaGVhcFtlbmRQdHJd
JiYhKGVuZFB0cj49ZW5kSWR4KSkrK2VuZFB0cjtpZihlbmRQdHItaWR4PjE2JiZoZWFwLnN1YmFy
cmF5JiZVVEY4RGVjb2Rlcil7cmV0dXJuIFVURjhEZWNvZGVyLmRlY29kZShoZWFwLnN1YmFycmF5
KGlkeCxlbmRQdHIpKX1lbHNle3ZhciBzdHI9IiI7d2hpbGUoaWR4PGVuZFB0cil7dmFyIHUwPWhl
YXBbaWR4KytdO2lmKCEodTAmMTI4KSl7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHUwKTtjb250
aW51ZX12YXIgdTE9aGVhcFtpZHgrK10mNjM7aWYoKHUwJjIyNCk9PTE5Mil7c3RyKz1TdHJpbmcu
ZnJvbUNoYXJDb2RlKCh1MCYzMSk8PDZ8dTEpO2NvbnRpbnVlfXZhciB1Mj1oZWFwW2lkeCsrXSY2
MztpZigodTAmMjQwKT09MjI0KXt1MD0odTAmMTUpPDwxMnx1MTw8Nnx1Mn1lbHNle3UwPSh1MCY3
KTw8MTh8dTE8PDEyfHUyPDw2fGhlYXBbaWR4KytdJjYzfWlmKHUwPDY1NTM2KXtzdHIrPVN0cmlu
Zy5mcm9tQ2hhckNvZGUodTApfWVsc2V7dmFyIGNoPXUwLTY1NTM2O3N0cis9U3RyaW5nLmZyb21D
aGFyQ29kZSg1NTI5NnxjaD4+MTAsNTYzMjB8Y2gmMTAyMyl9fX1yZXR1cm4gc3RyfWZ1bmN0aW9u
IFVURjhUb1N0cmluZyhwdHIsbWF4Qnl0ZXNUb1JlYWQpe3JldHVybiBwdHI/VVRGOEFycmF5VG9T
dHJpbmcoSEVBUFU4LHB0cixtYXhCeXRlc1RvUmVhZCk6IiJ9ZnVuY3Rpb24gc3RyaW5nVG9VVEY4
QXJyYXkoc3RyLGhlYXAsb3V0SWR4LG1heEJ5dGVzVG9Xcml0ZSl7aWYoIShtYXhCeXRlc1RvV3Jp
dGU+MCkpcmV0dXJuIDA7dmFyIHN0YXJ0SWR4PW91dElkeDt2YXIgZW5kSWR4PW91dElkeCttYXhC
eXRlc1RvV3JpdGUtMTtmb3IodmFyIGk9MDtpPHN0ci5sZW5ndGg7KytpKXt2YXIgdT1zdHIuY2hh
ckNvZGVBdChpKTtpZih1Pj01NTI5NiYmdTw9NTczNDMpe3ZhciB1MT1zdHIuY2hhckNvZGVBdCgr
K2kpO3U9NjU1MzYrKCh1JjEwMjMpPDwxMCl8dTEmMTAyM31pZih1PD0xMjcpe2lmKG91dElkeD49
ZW5kSWR4KWJyZWFrO2hlYXBbb3V0SWR4KytdPXV9ZWxzZSBpZih1PD0yMDQ3KXtpZihvdXRJZHgr
MT49ZW5kSWR4KWJyZWFrO2hlYXBbb3V0SWR4KytdPTE5Mnx1Pj42O2hlYXBbb3V0SWR4KytdPTEy
OHx1JjYzfWVsc2UgaWYodTw9NjU1MzUpe2lmKG91dElkeCsyPj1lbmRJZHgpYnJlYWs7aGVhcFtv
dXRJZHgrK109MjI0fHU+PjEyO2hlYXBbb3V0SWR4KytdPTEyOHx1Pj42JjYzO2hlYXBbb3V0SWR4
KytdPTEyOHx1JjYzfWVsc2V7aWYob3V0SWR4KzM+PWVuZElkeClicmVhaztoZWFwW291dElkeCsr
XT0yNDB8dT4+MTg7aGVhcFtvdXRJZHgrK109MTI4fHU+PjEyJjYzO2hlYXBbb3V0SWR4KytdPTEy
OHx1Pj42JjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfX1oZWFwW291dElkeF09MDtyZXR1cm4g
b3V0SWR4LXN0YXJ0SWR4fWZ1bmN0aW9uIHN0cmluZ1RvVVRGOChzdHIsb3V0UHRyLG1heEJ5dGVz
VG9Xcml0ZSl7cmV0dXJuIHN0cmluZ1RvVVRGOEFycmF5KHN0cixIRUFQVTgsb3V0UHRyLG1heEJ5
dGVzVG9Xcml0ZSl9ZnVuY3Rpb24gbGVuZ3RoQnl0ZXNVVEY4KHN0cil7dmFyIGxlbj0wO2Zvcih2
YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkpO2lmKHU+PTU1
Mjk2JiZ1PD01NzM0Myl1PTY1NTM2KygodSYxMDIzKTw8MTApfHN0ci5jaGFyQ29kZUF0KCsraSkm
MTAyMztpZih1PD0xMjcpKytsZW47ZWxzZSBpZih1PD0yMDQ3KWxlbis9MjtlbHNlIGlmKHU8PTY1
NTM1KWxlbis9MztlbHNlIGxlbis9NH1yZXR1cm4gbGVufXZhciBVVEYxNkRlY29kZXI9dHlwZW9m
IFRleHREZWNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHREZWNvZGVyKCJ1dGYtMTZsZSIpOnVu
ZGVmaW5lZDtmdW5jdGlvbiBhbGxvY2F0ZVVURjhPblN0YWNrKHN0cil7dmFyIHNpemU9bGVuZ3Ro
Qnl0ZXNVVEY4KHN0cikrMTt2YXIgcmV0PXN0YWNrQWxsb2Moc2l6ZSk7c3RyaW5nVG9VVEY4QXJy
YXkoc3RyLEhFQVA4LHJldCxzaXplKTtyZXR1cm4gcmV0fWZ1bmN0aW9uIHdyaXRlQXJyYXlUb01l
bW9yeShhcnJheSxidWZmZXIpe0hFQVA4LnNldChhcnJheSxidWZmZXIpfWZ1bmN0aW9uIHdyaXRl
QXNjaWlUb01lbW9yeShzdHIsYnVmZmVyLGRvbnRBZGROdWxsKXtmb3IodmFyIGk9MDtpPHN0ci5s
ZW5ndGg7KytpKXtIRUFQOFtidWZmZXIrKz4+MF09c3RyLmNoYXJDb2RlQXQoaSl9aWYoIWRvbnRB
ZGROdWxsKUhFQVA4W2J1ZmZlcj4+MF09MH12YXIgV0FTTV9QQUdFX1NJWkU9NjU1MzY7dmFyIGJ1
ZmZlcixIRUFQOCxIRUFQVTgsSEVBUDE2LEhFQVBVMTYsSEVBUDMyLEhFQVBVMzIsSEVBUEYzMixI
RUFQRjY0O2Z1bmN0aW9uIHVwZGF0ZUdsb2JhbEJ1ZmZlckFuZFZpZXdzKGJ1Zil7YnVmZmVyPWJ1
ZjtNb2R1bGVbIkhFQVA4Il09SEVBUDg9bmV3IEludDhBcnJheShidWYpO01vZHVsZVsiSEVBUDE2
Il09SEVBUDE2PW5ldyBJbnQxNkFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQMzIiXT1IRUFQMzI9bmV3
IEludDMyQXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBVOCJdPUhFQVBVOD1uZXcgVWludDhBcnJheShi
dWYpO01vZHVsZVsiSEVBUFUxNiJdPUhFQVBVMTY9bmV3IFVpbnQxNkFycmF5KGJ1Zik7TW9kdWxl
WyJIRUFQVTMyIl09SEVBUFUzMj1uZXcgVWludDMyQXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBGMzIi
XT1IRUFQRjMyPW5ldyBGbG9hdDMyQXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBGNjQiXT1IRUFQRjY0
PW5ldyBGbG9hdDY0QXJyYXkoYnVmKX12YXIgU1RBQ0tfQkFTRT01MjUwNDQ4LERZTkFNSUNfQkFT
RT01MjUwNDQ4LERZTkFNSUNUT1BfUFRSPTc0MDg7dmFyIElOSVRJQUxfSU5JVElBTF9NRU1PUlk9
TW9kdWxlWyJJTklUSUFMX01FTU9SWSJdfHwxNjc3NzIxNjtpZihNb2R1bGVbIndhc21NZW1vcnki
XSl7d2FzbU1lbW9yeT1Nb2R1bGVbIndhc21NZW1vcnkiXX1lbHNle3dhc21NZW1vcnk9bmV3IFdl
YkFzc2VtYmx5Lk1lbW9yeSh7ImluaXRpYWwiOklOSVRJQUxfSU5JVElBTF9NRU1PUlkvV0FTTV9Q
QUdFX1NJWkUsIm1heGltdW0iOklOSVRJQUxfSU5JVElBTF9NRU1PUlkvV0FTTV9QQUdFX1NJWkV9
KX1pZih3YXNtTWVtb3J5KXtidWZmZXI9d2FzbU1lbW9yeS5idWZmZXJ9SU5JVElBTF9JTklUSUFM
X01FTU9SWT1idWZmZXIuYnl0ZUxlbmd0aDt1cGRhdGVHbG9iYWxCdWZmZXJBbmRWaWV3cyhidWZm
ZXIpO0hFQVAzMltEWU5BTUlDVE9QX1BUUj4+Ml09RFlOQU1JQ19CQVNFO2Z1bmN0aW9uIGNhbGxS
dW50aW1lQ2FsbGJhY2tzKGNhbGxiYWNrcyl7d2hpbGUoY2FsbGJhY2tzLmxlbmd0aD4wKXt2YXIg
Y2FsbGJhY2s9Y2FsbGJhY2tzLnNoaWZ0KCk7aWYodHlwZW9mIGNhbGxiYWNrPT0iZnVuY3Rpb24i
KXtjYWxsYmFjayhNb2R1bGUpO2NvbnRpbnVlfXZhciBmdW5jPWNhbGxiYWNrLmZ1bmM7aWYodHlw
ZW9mIGZ1bmM9PT0ibnVtYmVyIil7aWYoY2FsbGJhY2suYXJnPT09dW5kZWZpbmVkKXtNb2R1bGVb
ImR5bkNhbGxfdiJdKGZ1bmMpfWVsc2V7TW9kdWxlWyJkeW5DYWxsX3ZpIl0oZnVuYyxjYWxsYmFj
ay5hcmcpfX1lbHNle2Z1bmMoY2FsbGJhY2suYXJnPT09dW5kZWZpbmVkP251bGw6Y2FsbGJhY2su
YXJnKX19fXZhciBfX0FUUFJFUlVOX189W107dmFyIF9fQVRJTklUX189W107dmFyIF9fQVRNQUlO
X189W107dmFyIF9fQVRQT1NUUlVOX189W107dmFyIHJ1bnRpbWVJbml0aWFsaXplZD1mYWxzZTt2
YXIgcnVudGltZUV4aXRlZD1mYWxzZTtmdW5jdGlvbiBwcmVSdW4oKXtpZihNb2R1bGVbInByZVJ1
biJdKXtpZih0eXBlb2YgTW9kdWxlWyJwcmVSdW4iXT09ImZ1bmN0aW9uIilNb2R1bGVbInByZVJ1
biJdPVtNb2R1bGVbInByZVJ1biJdXTt3aGlsZShNb2R1bGVbInByZVJ1biJdLmxlbmd0aCl7YWRk
T25QcmVSdW4oTW9kdWxlWyJwcmVSdW4iXS5zaGlmdCgpKX19Y2FsbFJ1bnRpbWVDYWxsYmFja3Mo
X19BVFBSRVJVTl9fKX1mdW5jdGlvbiBpbml0UnVudGltZSgpe3J1bnRpbWVJbml0aWFsaXplZD10
cnVlO2NhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRJTklUX18pfWZ1bmN0aW9uIHByZU1haW4oKXtj
YWxsUnVudGltZUNhbGxiYWNrcyhfX0FUTUFJTl9fKX1mdW5jdGlvbiBleGl0UnVudGltZSgpe3J1
bnRpbWVFeGl0ZWQ9dHJ1ZX1mdW5jdGlvbiBwb3N0UnVuKCl7aWYoTW9kdWxlWyJwb3N0UnVuIl0p
e2lmKHR5cGVvZiBNb2R1bGVbInBvc3RSdW4iXT09ImZ1bmN0aW9uIilNb2R1bGVbInBvc3RSdW4i
XT1bTW9kdWxlWyJwb3N0UnVuIl1dO3doaWxlKE1vZHVsZVsicG9zdFJ1biJdLmxlbmd0aCl7YWRk
T25Qb3N0UnVuKE1vZHVsZVsicG9zdFJ1biJdLnNoaWZ0KCkpfX1jYWxsUnVudGltZUNhbGxiYWNr
cyhfX0FUUE9TVFJVTl9fKX1mdW5jdGlvbiBhZGRPblByZVJ1bihjYil7X19BVFBSRVJVTl9fLnVu
c2hpZnQoY2IpfWZ1bmN0aW9uIGFkZE9uUG9zdFJ1bihjYil7X19BVFBPU1RSVU5fXy51bnNoaWZ0
KGNiKX12YXIgTWF0aF9hYnM9TWF0aC5hYnM7dmFyIE1hdGhfY2VpbD1NYXRoLmNlaWw7dmFyIE1h
dGhfZmxvb3I9TWF0aC5mbG9vcjt2YXIgTWF0aF9taW49TWF0aC5taW47dmFyIHJ1bkRlcGVuZGVu
Y2llcz0wO3ZhciBydW5EZXBlbmRlbmN5V2F0Y2hlcj1udWxsO3ZhciBkZXBlbmRlbmNpZXNGdWxm
aWxsZWQ9bnVsbDtmdW5jdGlvbiBhZGRSdW5EZXBlbmRlbmN5KGlkKXtydW5EZXBlbmRlbmNpZXMr
KztpZihNb2R1bGVbIm1vbml0b3JSdW5EZXBlbmRlbmNpZXMiXSl7TW9kdWxlWyJtb25pdG9yUnVu
RGVwZW5kZW5jaWVzIl0ocnVuRGVwZW5kZW5jaWVzKX19ZnVuY3Rpb24gcmVtb3ZlUnVuRGVwZW5k
ZW5jeShpZCl7cnVuRGVwZW5kZW5jaWVzLS07aWYoTW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5j
aWVzIl0pe01vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJdKHJ1bkRlcGVuZGVuY2llcyl9
aWYocnVuRGVwZW5kZW5jaWVzPT0wKXtpZihydW5EZXBlbmRlbmN5V2F0Y2hlciE9PW51bGwpe2Ns
ZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIpO3J1bkRlcGVuZGVuY3lXYXRjaGVyPW51
bGx9aWYoZGVwZW5kZW5jaWVzRnVsZmlsbGVkKXt2YXIgY2FsbGJhY2s9ZGVwZW5kZW5jaWVzRnVs
ZmlsbGVkO2RlcGVuZGVuY2llc0Z1bGZpbGxlZD1udWxsO2NhbGxiYWNrKCl9fX1Nb2R1bGVbInBy
ZWxvYWRlZEltYWdlcyJdPXt9O01vZHVsZVsicHJlbG9hZGVkQXVkaW9zIl09e307ZnVuY3Rpb24g
YWJvcnQod2hhdCl7aWYoTW9kdWxlWyJvbkFib3J0Il0pe01vZHVsZVsib25BYm9ydCJdKHdoYXQp
fXdoYXQrPSIiO291dCh3aGF0KTtlcnIod2hhdCk7QUJPUlQ9dHJ1ZTtFWElUU1RBVFVTPTE7d2hh
dD0iYWJvcnQoIit3aGF0KyIpLiBCdWlsZCB3aXRoIC1zIEFTU0VSVElPTlM9MSBmb3IgbW9yZSBp
bmZvLiI7dGhyb3cgbmV3IFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcih3aGF0KX1mdW5jdGlvbiBo
YXNQcmVmaXgoc3RyLHByZWZpeCl7cmV0dXJuIFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aD9z
dHIuc3RhcnRzV2l0aChwcmVmaXgpOnN0ci5pbmRleE9mKHByZWZpeCk9PT0wfXZhciBkYXRhVVJJ
UHJlZml4PSJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIjtmdW5jdGlvbiBp
c0RhdGFVUkkoZmlsZW5hbWUpe3JldHVybiBoYXNQcmVmaXgoZmlsZW5hbWUsZGF0YVVSSVByZWZp
eCl9dmFyIGZpbGVVUklQcmVmaXg9ImZpbGU6Ly8iO2Z1bmN0aW9uIGlzRmlsZVVSSShmaWxlbmFt
ZSl7cmV0dXJuIGhhc1ByZWZpeChmaWxlbmFtZSxmaWxlVVJJUHJlZml4KX12YXIgd2FzbUJpbmFy
eUZpbGU9ImludGVycHJldGVyLXdhc20ud2FzbSI7aWYoIWlzRGF0YVVSSSh3YXNtQmluYXJ5Rmls
ZSkpe3dhc21CaW5hcnlGaWxlPWxvY2F0ZUZpbGUod2FzbUJpbmFyeUZpbGUpfWZ1bmN0aW9uIGdl
dEJpbmFyeSgpe3RyeXtpZih3YXNtQmluYXJ5KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkod2FzbUJp
bmFyeSl9aWYocmVhZEJpbmFyeSl7cmV0dXJuIHJlYWRCaW5hcnkod2FzbUJpbmFyeUZpbGUpfWVs
c2V7dGhyb3ciYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWQi
fX1jYXRjaChlcnIpe2Fib3J0KGVycil9fWZ1bmN0aW9uIGdldEJpbmFyeVByb21pc2UoKXtpZigh
d2FzbUJpbmFyeSYmKEVOVklST05NRU5UX0lTX1dFQnx8RU5WSVJPTk1FTlRfSVNfV09SS0VSKSYm
dHlwZW9mIGZldGNoPT09ImZ1bmN0aW9uIiYmIWlzRmlsZVVSSSh3YXNtQmluYXJ5RmlsZSkpe3Jl
dHVybiBmZXRjaCh3YXNtQmluYXJ5RmlsZSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRo
ZW4oZnVuY3Rpb24ocmVzcG9uc2Upe2lmKCFyZXNwb25zZVsib2siXSl7dGhyb3ciZmFpbGVkIHRv
IGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnIit3YXNtQmluYXJ5RmlsZSsiJyJ9cmV0dXJuIHJl
c3BvbnNlWyJhcnJheUJ1ZmZlciJdKCl9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiBnZXRCaW5h
cnkoKX0pfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7cmVzb2x2
ZShnZXRCaW5hcnkoKSl9KX1mdW5jdGlvbiBjcmVhdGVXYXNtKCl7dmFyIGluZm89eyJlbnYiOmFz
bUxpYnJhcnlBcmcsIndhc2lfc25hcHNob3RfcHJldmlldzEiOmFzbUxpYnJhcnlBcmd9O2Z1bmN0
aW9uIHJlY2VpdmVJbnN0YW5jZShpbnN0YW5jZSxtb2R1bGUpe3ZhciBleHBvcnRzPWluc3RhbmNl
LmV4cG9ydHM7TW9kdWxlWyJhc20iXT1leHBvcnRzO3JlbW92ZVJ1bkRlcGVuZGVuY3koIndhc20t
aW5zdGFudGlhdGUiKX1hZGRSdW5EZXBlbmRlbmN5KCJ3YXNtLWluc3RhbnRpYXRlIik7ZnVuY3Rp
b24gcmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZShvdXRwdXQpe3JlY2VpdmVJbnN0YW5jZShvdXRw
dXRbImluc3RhbmNlIl0pfWZ1bmN0aW9uIGluc3RhbnRpYXRlQXJyYXlCdWZmZXIocmVjZWl2ZXIp
e3JldHVybiBnZXRCaW5hcnlQcm9taXNlKCkudGhlbihmdW5jdGlvbihiaW5hcnkpe3JldHVybiBX
ZWJBc3NlbWJseS5pbnN0YW50aWF0ZShiaW5hcnksaW5mbyl9KS50aGVuKHJlY2VpdmVyLGZ1bmN0
aW9uKHJlYXNvbil7ZXJyKCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiAi
K3JlYXNvbik7YWJvcnQocmVhc29uKX0pfWZ1bmN0aW9uIGluc3RhbnRpYXRlQXN5bmMoKXtpZigh
d2FzbUJpbmFyeSYmdHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nPT09ImZ1
bmN0aW9uIiYmIWlzRGF0YVVSSSh3YXNtQmluYXJ5RmlsZSkmJiFpc0ZpbGVVUkkod2FzbUJpbmFy
eUZpbGUpJiZ0eXBlb2YgZmV0Y2g9PT0iZnVuY3Rpb24iKXtmZXRjaCh3YXNtQmluYXJ5RmlsZSx7
Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Upe3ZhciBy
ZXN1bHQ9V2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcocmVzcG9uc2UsaW5mbyk7cmV0
dXJuIHJlc3VsdC50aGVuKHJlY2VpdmVJbnN0YW50aWF0ZWRTb3VyY2UsZnVuY3Rpb24ocmVhc29u
KXtlcnIoIndhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiAiK3JlYXNvbik7ZXJyKCJmYWxs
aW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvbiIpO2luc3RhbnRpYXRlQXJyYXlC
dWZmZXIocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSl9KX0pfWVsc2V7cmV0dXJuIGluc3RhbnRp
YXRlQXJyYXlCdWZmZXIocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSl9fWlmKE1vZHVsZVsiaW5z
dGFudGlhdGVXYXNtIl0pe3RyeXt2YXIgZXhwb3J0cz1Nb2R1bGVbImluc3RhbnRpYXRlV2FzbSJd
KGluZm8scmVjZWl2ZUluc3RhbmNlKTtyZXR1cm4gZXhwb3J0c31jYXRjaChlKXtlcnIoIk1vZHVs
ZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICIrZSk7cmV0dXJu
IGZhbHNlfX1pbnN0YW50aWF0ZUFzeW5jKCk7cmV0dXJue319dmFyIHRlbXBEb3VibGU7dmFyIHRl
bXBJNjQ7X19BVElOSVRfXy5wdXNoKHtmdW5jOmZ1bmN0aW9uKCl7X19fd2FzbV9jYWxsX2N0b3Jz
KCl9fSk7ZnVuY3Rpb24gZGVtYW5nbGUoZnVuYyl7cmV0dXJuIGZ1bmN9ZnVuY3Rpb24gZGVtYW5n
bGVBbGwodGV4dCl7dmFyIHJlZ2V4PS9cYl9aW1x3XGRfXSsvZztyZXR1cm4gdGV4dC5yZXBsYWNl
KHJlZ2V4LGZ1bmN0aW9uKHgpe3ZhciB5PWRlbWFuZ2xlKHgpO3JldHVybiB4PT09eT94OnkrIiBb
Iit4KyJdIn0pfWZ1bmN0aW9uIGpzU3RhY2tUcmFjZSgpe3ZhciBlcnI9bmV3IEVycm9yO2lmKCFl
cnIuc3RhY2spe3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goZSl7ZXJyPWV9aWYoIWVyci5zdGFj
ayl7cmV0dXJuIihubyBzdGFjayB0cmFjZSBhdmFpbGFibGUpIn19cmV0dXJuIGVyci5zdGFjay50
b1N0cmluZygpfWZ1bmN0aW9uIF9lbXNjcmlwdGVuX2dldF9zYnJrX3B0cigpe3JldHVybiA3NDA4
fWZ1bmN0aW9uIF9lbXNjcmlwdGVuX21lbWNweV9iaWcoZGVzdCxzcmMsbnVtKXtIRUFQVTguY29w
eVdpdGhpbihkZXN0LHNyYyxzcmMrbnVtKX1mdW5jdGlvbiBhYm9ydE9uQ2Fubm90R3Jvd01lbW9y
eShyZXF1ZXN0ZWRTaXplKXthYm9ydCgiT09NIil9ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fcmVzaXpl
X2hlYXAocmVxdWVzdGVkU2l6ZSl7cmVxdWVzdGVkU2l6ZT1yZXF1ZXN0ZWRTaXplPj4+MDthYm9y
dE9uQ2Fubm90R3Jvd01lbW9yeShyZXF1ZXN0ZWRTaXplKX12YXIgUEFUSD17c3BsaXRQYXRoOmZ1
bmN0aW9uKGZpbGVuYW1lKXt2YXIgc3BsaXRQYXRoUmU9L14oXC8/fCkoW1xzXFNdKj8pKCg/Olwu
ezEsMn18W15cL10rP3wpKFwuW14uXC9dKnwpKSg/OltcL10qKSQvO3JldHVybiBzcGxpdFBhdGhS
ZS5leGVjKGZpbGVuYW1lKS5zbGljZSgxKX0sbm9ybWFsaXplQXJyYXk6ZnVuY3Rpb24ocGFydHMs
YWxsb3dBYm92ZVJvb3Qpe3ZhciB1cD0wO2Zvcih2YXIgaT1wYXJ0cy5sZW5ndGgtMTtpPj0wO2kt
LSl7dmFyIGxhc3Q9cGFydHNbaV07aWYobGFzdD09PSIuIil7cGFydHMuc3BsaWNlKGksMSl9ZWxz
ZSBpZihsYXN0PT09Ii4uIil7cGFydHMuc3BsaWNlKGksMSk7dXArK31lbHNlIGlmKHVwKXtwYXJ0
cy5zcGxpY2UoaSwxKTt1cC0tfX1pZihhbGxvd0Fib3ZlUm9vdCl7Zm9yKDt1cDt1cC0tKXtwYXJ0
cy51bnNoaWZ0KCIuLiIpfX1yZXR1cm4gcGFydHN9LG5vcm1hbGl6ZTpmdW5jdGlvbihwYXRoKXt2
YXIgaXNBYnNvbHV0ZT1wYXRoLmNoYXJBdCgwKT09PSIvIix0cmFpbGluZ1NsYXNoPXBhdGguc3Vi
c3RyKC0xKT09PSIvIjtwYXRoPVBBVEgubm9ybWFsaXplQXJyYXkocGF0aC5zcGxpdCgiLyIpLmZp
bHRlcihmdW5jdGlvbihwKXtyZXR1cm4hIXB9KSwhaXNBYnNvbHV0ZSkuam9pbigiLyIpO2lmKCFw
YXRoJiYhaXNBYnNvbHV0ZSl7cGF0aD0iLiJ9aWYocGF0aCYmdHJhaWxpbmdTbGFzaCl7cGF0aCs9
Ii8ifXJldHVybihpc0Fic29sdXRlPyIvIjoiIikrcGF0aH0sZGlybmFtZTpmdW5jdGlvbihwYXRo
KXt2YXIgcmVzdWx0PVBBVEguc3BsaXRQYXRoKHBhdGgpLHJvb3Q9cmVzdWx0WzBdLGRpcj1yZXN1
bHRbMV07aWYoIXJvb3QmJiFkaXIpe3JldHVybiIuIn1pZihkaXIpe2Rpcj1kaXIuc3Vic3RyKDAs
ZGlyLmxlbmd0aC0xKX1yZXR1cm4gcm9vdCtkaXJ9LGJhc2VuYW1lOmZ1bmN0aW9uKHBhdGgpe2lm
KHBhdGg9PT0iLyIpcmV0dXJuIi8iO3ZhciBsYXN0U2xhc2g9cGF0aC5sYXN0SW5kZXhPZigiLyIp
O2lmKGxhc3RTbGFzaD09PS0xKXJldHVybiBwYXRoO3JldHVybiBwYXRoLnN1YnN0cihsYXN0U2xh
c2grMSl9LGV4dG5hbWU6ZnVuY3Rpb24ocGF0aCl7cmV0dXJuIFBBVEguc3BsaXRQYXRoKHBhdGgp
WzNdfSxqb2luOmZ1bmN0aW9uKCl7dmFyIHBhdGhzPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxs
KGFyZ3VtZW50cywwKTtyZXR1cm4gUEFUSC5ub3JtYWxpemUocGF0aHMuam9pbigiLyIpKX0sam9p
bjI6ZnVuY3Rpb24obCxyKXtyZXR1cm4gUEFUSC5ub3JtYWxpemUobCsiLyIrcil9fTt2YXIgU1lT
Q0FMTFM9e21hcHBpbmdzOnt9LGJ1ZmZlcnM6W251bGwsW10sW11dLHByaW50Q2hhcjpmdW5jdGlv
bihzdHJlYW0sY3Vycil7dmFyIGJ1ZmZlcj1TWVNDQUxMUy5idWZmZXJzW3N0cmVhbV07aWYoY3Vy
cj09PTB8fGN1cnI9PT0xMCl7KHN0cmVhbT09PTE/b3V0OmVycikoVVRGOEFycmF5VG9TdHJpbmco
YnVmZmVyLDApKTtidWZmZXIubGVuZ3RoPTB9ZWxzZXtidWZmZXIucHVzaChjdXJyKX19LHZhcmFy
Z3M6dW5kZWZpbmVkLGdldDpmdW5jdGlvbigpe1NZU0NBTExTLnZhcmFyZ3MrPTQ7dmFyIHJldD1I
RUFQMzJbU1lTQ0FMTFMudmFyYXJncy00Pj4yXTtyZXR1cm4gcmV0fSxnZXRTdHI6ZnVuY3Rpb24o
cHRyKXt2YXIgcmV0PVVURjhUb1N0cmluZyhwdHIpO3JldHVybiByZXR9LGdldDY0OmZ1bmN0aW9u
KGxvdyxoaWdoKXtyZXR1cm4gbG93fX07ZnVuY3Rpb24gX2ZkX3dyaXRlKGZkLGlvdixpb3ZjbnQs
cG51bSl7dmFyIG51bT0wO2Zvcih2YXIgaT0wO2k8aW92Y250O2krKyl7dmFyIHB0cj1IRUFQMzJb
aW92K2kqOD4+Ml07dmFyIGxlbj1IRUFQMzJbaW92KyhpKjgrNCk+PjJdO2Zvcih2YXIgaj0wO2o8
bGVuO2orKyl7U1lTQ0FMTFMucHJpbnRDaGFyKGZkLEhFQVBVOFtwdHIral0pfW51bSs9bGVufUhF
QVAzMltwbnVtPj4yXT1udW07cmV0dXJuIDB9ZnVuY3Rpb24gX3NldFRlbXBSZXQwKCRpKXtzZXRU
ZW1wUmV0MCgkaXwwKX12YXIgQVNTRVJUSU9OUz1mYWxzZTt2YXIgYXNtTGlicmFyeUFyZz17ImVt
c2NyaXB0ZW5fZ2V0X3NicmtfcHRyIjpfZW1zY3JpcHRlbl9nZXRfc2Jya19wdHIsImVtc2NyaXB0
ZW5fbWVtY3B5X2JpZyI6X2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZywiZW1zY3JpcHRlbl9yZXNpemVf
aGVhcCI6X2Vtc2NyaXB0ZW5fcmVzaXplX2hlYXAsImZkX3dyaXRlIjpfZmRfd3JpdGUsIm1lbW9y
eSI6d2FzbU1lbW9yeSwic2V0VGVtcFJldDAiOl9zZXRUZW1wUmV0MCwidGFibGUiOndhc21UYWJs
ZX07dmFyIGFzbT1jcmVhdGVXYXNtKCk7TW9kdWxlWyJhc20iXT1hc207dmFyIF9fX3dhc21fY2Fs
bF9jdG9ycz1Nb2R1bGVbIl9fX3dhc21fY2FsbF9jdG9ycyJdPWZ1bmN0aW9uKCl7cmV0dXJuKF9f
X3dhc21fY2FsbF9jdG9ycz1Nb2R1bGVbIl9fX3dhc21fY2FsbF9jdG9ycyJdPU1vZHVsZVsiYXNt
Il1bIl9fd2FzbV9jYWxsX2N0b3JzIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9tYWlu
PU1vZHVsZVsiX21haW4iXT1mdW5jdGlvbigpe3JldHVybihfbWFpbj1Nb2R1bGVbIl9tYWluIl09
TW9kdWxlWyJhc20iXVsibWFpbiJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBfbWFsbG9j
PU1vZHVsZVsiX21hbGxvYyJdPWZ1bmN0aW9uKCl7cmV0dXJuKF9tYWxsb2M9TW9kdWxlWyJfbWFs
bG9jIl09TW9kdWxlWyJhc20iXVsibWFsbG9jIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFy
IF9fX2Vycm5vX2xvY2F0aW9uPU1vZHVsZVsiX19fZXJybm9fbG9jYXRpb24iXT1mdW5jdGlvbigp
e3JldHVybihfX19lcnJub19sb2NhdGlvbj1Nb2R1bGVbIl9fX2Vycm5vX2xvY2F0aW9uIl09TW9k
dWxlWyJhc20iXVsiX19lcnJub19sb2NhdGlvbiJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3Zh
ciBfZnJlZT1Nb2R1bGVbIl9mcmVlIl09ZnVuY3Rpb24oKXtyZXR1cm4oX2ZyZWU9TW9kdWxlWyJf
ZnJlZSJdPU1vZHVsZVsiYXNtIl1bImZyZWUiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIg
c3RhY2tTYXZlPU1vZHVsZVsic3RhY2tTYXZlIl09ZnVuY3Rpb24oKXtyZXR1cm4oc3RhY2tTYXZl
PU1vZHVsZVsic3RhY2tTYXZlIl09TW9kdWxlWyJhc20iXVsic3RhY2tTYXZlIl0pLmFwcGx5KG51
bGwsYXJndW1lbnRzKX07dmFyIHN0YWNrQWxsb2M9TW9kdWxlWyJzdGFja0FsbG9jIl09ZnVuY3Rp
b24oKXtyZXR1cm4oc3RhY2tBbGxvYz1Nb2R1bGVbInN0YWNrQWxsb2MiXT1Nb2R1bGVbImFzbSJd
WyJzdGFja0FsbG9jIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIHN0YWNrUmVzdG9yZT1N
b2R1bGVbInN0YWNrUmVzdG9yZSJdPWZ1bmN0aW9uKCl7cmV0dXJuKHN0YWNrUmVzdG9yZT1Nb2R1
bGVbInN0YWNrUmVzdG9yZSJdPU1vZHVsZVsiYXNtIl1bInN0YWNrUmVzdG9yZSJdKS5hcHBseShu
dWxsLGFyZ3VtZW50cyl9O3ZhciBfX2dyb3dXYXNtTWVtb3J5PU1vZHVsZVsiX19ncm93V2FzbU1l
bW9yeSJdPWZ1bmN0aW9uKCl7cmV0dXJuKF9fZ3Jvd1dhc21NZW1vcnk9TW9kdWxlWyJfX2dyb3dX
YXNtTWVtb3J5Il09TW9kdWxlWyJhc20iXVsiX19ncm93V2FzbU1lbW9yeSJdKS5hcHBseShudWxs
LGFyZ3VtZW50cyl9O3ZhciBkeW5DYWxsX2lpPU1vZHVsZVsiZHluQ2FsbF9paSJdPWZ1bmN0aW9u
KCl7cmV0dXJuKGR5bkNhbGxfaWk9TW9kdWxlWyJkeW5DYWxsX2lpIl09TW9kdWxlWyJhc20iXVsi
ZHluQ2FsbF9paSJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBkeW5DYWxsX2lpaWk9TW9k
dWxlWyJkeW5DYWxsX2lpaWkiXT1mdW5jdGlvbigpe3JldHVybihkeW5DYWxsX2lpaWk9TW9kdWxl
WyJkeW5DYWxsX2lpaWkiXT1Nb2R1bGVbImFzbSJdWyJkeW5DYWxsX2lpaWkiXSkuYXBwbHkobnVs
bCxhcmd1bWVudHMpfTt2YXIgZHluQ2FsbF9qaWppPU1vZHVsZVsiZHluQ2FsbF9qaWppIl09ZnVu
Y3Rpb24oKXtyZXR1cm4oZHluQ2FsbF9qaWppPU1vZHVsZVsiZHluQ2FsbF9qaWppIl09TW9kdWxl
WyJhc20iXVsiZHluQ2FsbF9qaWppIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07TW9kdWxlWyJh
c20iXT1hc207dmFyIGNhbGxlZFJ1bjtmdW5jdGlvbiBFeGl0U3RhdHVzKHN0YXR1cyl7dGhpcy5u
YW1lPSJFeGl0U3RhdHVzIjt0aGlzLm1lc3NhZ2U9IlByb2dyYW0gdGVybWluYXRlZCB3aXRoIGV4
aXQoIitzdGF0dXMrIikiO3RoaXMuc3RhdHVzPXN0YXR1c312YXIgY2FsbGVkTWFpbj1mYWxzZTtk
ZXBlbmRlbmNpZXNGdWxmaWxsZWQ9ZnVuY3Rpb24gcnVuQ2FsbGVyKCl7aWYoIWNhbGxlZFJ1bily
dW4oKTtpZighY2FsbGVkUnVuKWRlcGVuZGVuY2llc0Z1bGZpbGxlZD1ydW5DYWxsZXJ9O2Z1bmN0
aW9uIGNhbGxNYWluKGFyZ3Mpe3ZhciBlbnRyeUZ1bmN0aW9uPU1vZHVsZVsiX21haW4iXTthcmdz
PWFyZ3N8fFtdO3ZhciBhcmdjPWFyZ3MubGVuZ3RoKzE7dmFyIGFyZ3Y9c3RhY2tBbGxvYygoYXJn
YysxKSo0KTtIRUFQMzJbYXJndj4+Ml09YWxsb2NhdGVVVEY4T25TdGFjayh0aGlzUHJvZ3JhbSk7
Zm9yKHZhciBpPTE7aTxhcmdjO2krKyl7SEVBUDMyWyhhcmd2Pj4yKStpXT1hbGxvY2F0ZVVURjhP
blN0YWNrKGFyZ3NbaS0xXSl9SEVBUDMyWyhhcmd2Pj4yKSthcmdjXT0wO3RyeXt2YXIgcmV0PWVu
dHJ5RnVuY3Rpb24oYXJnYyxhcmd2KTtleGl0KHJldCx0cnVlKX1jYXRjaChlKXtpZihlIGluc3Rh
bmNlb2YgRXhpdFN0YXR1cyl7cmV0dXJufWVsc2UgaWYoZT09InVud2luZCIpe25vRXhpdFJ1bnRp
bWU9dHJ1ZTtyZXR1cm59ZWxzZXt2YXIgdG9Mb2c9ZTtpZihlJiZ0eXBlb2YgZT09PSJvYmplY3Qi
JiZlLnN0YWNrKXt0b0xvZz1bZSxlLnN0YWNrXX1lcnIoImV4Y2VwdGlvbiB0aHJvd246ICIrdG9M
b2cpO3F1aXRfKDEsZSl9fWZpbmFsbHl7Y2FsbGVkTWFpbj10cnVlfX1mdW5jdGlvbiBydW4oYXJn
cyl7YXJncz1hcmdzfHxhcmd1bWVudHNfO2lmKHJ1bkRlcGVuZGVuY2llcz4wKXtyZXR1cm59cHJl
UnVuKCk7aWYocnVuRGVwZW5kZW5jaWVzPjApcmV0dXJuO2Z1bmN0aW9uIGRvUnVuKCl7aWYoY2Fs
bGVkUnVuKXJldHVybjtjYWxsZWRSdW49dHJ1ZTtNb2R1bGVbImNhbGxlZFJ1biJdPXRydWU7aWYo
QUJPUlQpcmV0dXJuO2luaXRSdW50aW1lKCk7cHJlTWFpbigpO2lmKE1vZHVsZVsib25SdW50aW1l
SW5pdGlhbGl6ZWQiXSlNb2R1bGVbIm9uUnVudGltZUluaXRpYWxpemVkIl0oKTtpZihzaG91bGRS
dW5Ob3cpY2FsbE1haW4oYXJncyk7cG9zdFJ1bigpfWlmKE1vZHVsZVsic2V0U3RhdHVzIl0pe01v
ZHVsZVsic2V0U3RhdHVzIl0oIlJ1bm5pbmcuLi4iKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c2V0
VGltZW91dChmdW5jdGlvbigpe01vZHVsZVsic2V0U3RhdHVzIl0oIiIpfSwxKTtkb1J1bigpfSwx
KX1lbHNle2RvUnVuKCl9fU1vZHVsZVsicnVuIl09cnVuO2Z1bmN0aW9uIGV4aXQoc3RhdHVzLGlt
cGxpY2l0KXtpZihpbXBsaWNpdCYmbm9FeGl0UnVudGltZSYmc3RhdHVzPT09MCl7cmV0dXJufWlm
KG5vRXhpdFJ1bnRpbWUpe31lbHNle0FCT1JUPXRydWU7RVhJVFNUQVRVUz1zdGF0dXM7ZXhpdFJ1
bnRpbWUoKTtpZihNb2R1bGVbIm9uRXhpdCJdKU1vZHVsZVsib25FeGl0Il0oc3RhdHVzKX1xdWl0
XyhzdGF0dXMsbmV3IEV4aXRTdGF0dXMoc3RhdHVzKSl9aWYoTW9kdWxlWyJwcmVJbml0Il0pe2lm
KHR5cGVvZiBNb2R1bGVbInByZUluaXQiXT09ImZ1bmN0aW9uIilNb2R1bGVbInByZUluaXQiXT1b
TW9kdWxlWyJwcmVJbml0Il1dO3doaWxlKE1vZHVsZVsicHJlSW5pdCJdLmxlbmd0aD4wKXtNb2R1
bGVbInByZUluaXQiXS5wb3AoKSgpfX12YXIgc2hvdWxkUnVuTm93PXRydWU7aWYoTW9kdWxlWyJu
b0luaXRpYWxSdW4iXSlzaG91bGRSdW5Ob3c9ZmFsc2U7bm9FeGl0UnVudGltZT10cnVlO3J1bigp
OworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>