<?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>186636</bug_id>
          
          <creation_ts>2018-06-14 16:34:26 -0700</creation_ts>
          <short_desc>Use new jQuery file layout</short_desc>
          <delta_ts>2018-06-14 18:20:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>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="Roy Reapor">rreapor</reporter>
          <assigned_to name="Roy Reapor">rreapor</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>commit-queue</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1433168</commentid>
    <comment_count>0</comment_count>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-06-14 16:34:26 -0700</bug_when>
    <thetext>Use new jQuery file layout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433169</commentid>
    <comment_count>1</comment_count>
      <attachid>342775</attachid>
    <who name="Roy Reapor">rreapor</who>
    <bug_when>2018-06-14 16:35:41 -0700</bug_when>
    <thetext>Created attachment 342775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433171</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-14 16:37:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/41144056&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433203</commentid>
    <comment_count>3</comment_count>
      <attachid>342775</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-06-14 17:52:54 -0700</bug_when>
    <thetext>Comment on attachment 342775
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433206</commentid>
    <comment_count>4</comment_count>
      <attachid>342775</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-14 18:20:55 -0700</bug_when>
    <thetext>Comment on attachment 342775
Patch

Clearing flags on attachment: 342775

Committed r232864: &lt;https://trac.webkit.org/changeset/232864&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433207</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-14 18:20:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342775</attachid>
            <date>2018-06-14 16:35:41 -0700</date>
            <delta_ts>2018-06-14 18:20:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186636-20180614163540.patch</filename>
            <type>text/plain</type>
            <size>241694</size>
            <attacher name="Roy Reapor">rreapor</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyODU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2IyMzE4MzE1YWI2YWNhZGE0Yzc0MjUzMDg1ZjAzMGRk
YjQyNTk1Ni4uYzI0ZGI1NzYzOTQwZjcyNGJhMzk3OWIyNzVlYzRjNDgzNTJkYjFmZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE4LTA2LTE0ICBSb3kgUmVhcG9yICA8cnJlYXBvckBhcHBsZS5jb20+CisKKyAgICAg
ICAgVXNlIG5ldyBqUXVlcnkgZmlsZSBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjYzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL2dhcmRlbi1vLW1hdGljLmh0bWw6Cisg
ICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvVGVzdEZhaWx1cmVzL3JlYmFzZWxpbmUuaHRtbDoKKyAgICAgICAgKiBUZXN0UmVzdWx0
U2VydmVyL3N0YXRpYy1kYXNoYm9hcmRzL3J1bi1lbWJlZGRlZC11bml0dGVzdHMuaHRtbDoKKwog
MjAxOC0wNi0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
VGVzdFdlYktpdEFQSS5XZWJLaXQuV0tOYXZpZ2F0aW9uUmVzcG9uc2VQREZUeXBlIGZhaWxzIGFm
dGVyIHIyMzI4MTUKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9nYXJkZW4tby1tYXRpYy5o
dG1sIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvVGVzdEZhaWx1cmVzL2dhcmRlbi1vLW1hdGljLmh0bWwKaW5kZXggMGRiZDI1ZGJm
MGZhMDk1NDBhYzQ5MjM5ZGE0NjU1YTJlNWQ2ZjZlZi4uYzY3Mjk0YzViOTRlNmQxZWIwN2MwZTg5
MTZkZTllYzEzNGJlMDM4MyAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL2dhcmRlbi1vLW1h
dGljLmh0bWwKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL2dhcmRlbi1vLW1hdGljLmh0bWwKQEAgLTM2
LDcgKzM2LDcgQEAgSmFtZXMsIGEgd2ViIGRldmVsb3BlciBmcm9tIEJpcm1pbmdoYW0sIFVLLgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZS1zcmMgJ3NlbGYn
IGh0dHBzOi8vYnVpbGQud2Via2l0Lm9yZyBodHRwczovL3dlYmtpdC10ZXN0LXJlc3VsdHMud2Vi
a2l0Lm9yZzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVj
dC1zcmMgJ3NlbGYnIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnIGh0dHBzOi8vYnVpbGQud2Via2l0
Lm9yZyI+CiA8dGl0bGU+R2FyZGVuLU8tTWF0aWM8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJodHRwczovL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpL2pxdWVyeS11
aS0xLjguMTUuY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93ZWJr
aXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguMTUvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVpLm1p
bi5jc3MiPgogPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZXMvY29tbW9uLmNzcyI+
CiA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlcy9vbmViYXIuY3NzIj4KIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVzL2ZhaWx1cmVzLmNzcyI+CkBAIC00Nyw3ICs0
Nyw3IEBAIEphbWVzLCBhIHdlYiBkZXZlbG9wZXIgZnJvbSBCaXJtaW5naGFtLCBVSy4KIDwvaGVh
ZD4KIDxib2R5PgogPHNjcmlwdCBzcmM9Imh0dHBzOi8vd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1
ZXJ5L2pxdWVyeS0xLjYuMi5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Imh0dHBzOi8v
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvanF1ZXJ5LXVpLTEuOC4xNS5taW4uanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Imh0dHBzOi8vd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5
dWkvMS44LjE1L3VpL2pxdWVyeS11aS5taW4uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InNj
cmlwdHMvYmFzZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0ic2NyaXB0cy9jb25maWcuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InNjcmlwdHMvbmV0LmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1
YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9yZWJhc2VsaW5lLmh0bWwgYi9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMv
cmViYXNlbGluZS5odG1sCmluZGV4IGNlMTFiNjQ3NDFlMTM4NjM4Njk4ZmE4ZTMxZjlkODllMTQw
Yjc0ZTQuLmRjNzMxYzYzMzNmMDJkNzk2YjQxNjBjZDJhOTNkMjBkZDVkNTNiYjYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1Ymxp
Y19odG1sL1Rlc3RGYWlsdXJlcy9yZWJhc2VsaW5lLmh0bWwKKysrIGIvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVz
L3JlYmFzZWxpbmUuaHRtbApAQCAtMzEsNyArMzEsNyBAQCBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQgc3JjPSJodHRwczovL3dlYmtpdC5v
cmcvYWpheC9saWJzL2pxdWVyeS9qcXVlcnktMS42LjIubWluLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJodHRwczovL3dlYmtpdC5vcmcvYWpheC9saWJzL2pxdWVyeXVpL2pxdWVyeS11aS0x
LjguMTUubWluLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJodHRwczovL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpLzEuOC4xNS91aS9qcXVlcnktdWkubWluLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJzY3JpcHRzL2NvbmZpZy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
c2NyaXB0cy9iYXNlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJzY3JpcHRzL25ldC5qcyI+
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL3N0YXRpYy1kYXNo
Ym9hcmRzL3J1bi1lbWJlZGRlZC11bml0dGVzdHMuaHRtbCBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2
ZXIvc3RhdGljLWRhc2hib2FyZHMvcnVuLWVtYmVkZGVkLXVuaXR0ZXN0cy5odG1sCmluZGV4IDM1
ZTdlY2I4NTRjMzk4MWExNTllMjBmMGVmMWE2ODk0MDM0Zjk1YjAuLjUwOGYwMWFiYjQyMWEyZWUy
NjM5NjM5NGM2MjRhOGY0YmRmMmEzY2YgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2
ZXIvc3RhdGljLWRhc2hib2FyZHMvcnVuLWVtYmVkZGVkLXVuaXR0ZXN0cy5odG1sCisrKyBiL1Rv
b2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvc3RhdGljLWRhc2hib2FyZHMvcnVuLWVtYmVkZGVkLXVuaXR0
ZXN0cy5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KIDxoZWFkPgogPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9xdW5pdC9xdW5pdC9xdW5pdC5jc3MiPgogPHNjcmlwdCBzcmM9Imh0dHBzOi8v
d2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5L2pxdWVyeS0xLjYuMi5taW4uanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Imh0dHBzOi8vd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvanF1
ZXJ5LXVpLTEuOC4xNS5taW4uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Imh0dHBzOi8vd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE1L3VpL2pxdWVyeS11aS5taW4uanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL1NvdXJjZS9UaGlyZFBhcnR5L3F1bml0L3F1
bml0L3F1bml0LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxv
ZwppbmRleCBkMmYzYzRlMTFmMDU2ZjJhZGVlZThmMDI2ZTdmNTBhN2UxZTM0OGJiLi41NDlhZjRl
M2FjNDE5NjcxMWUwMGYwZWVlMTU1NDQzZjhiMWU0NWUyIDEwMDY0NAotLS0gYS9XZWJzaXRlcy93
ZWJraXQub3JnL0NoYW5nZUxvZworKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDE4LTA2LTE0ICBSb3kgUmVhcG9yICA8cnJlYXBvckBhcHBsZS5j
b20+CisKKyAgICAgICAgVXNlIG5ldyBqUXVlcnkgZmlsZSBsYXlvdXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjYzNgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWpheC9saWJzL2pxdWVyeXVpL2px
dWVyeS11aS0xLjguMTUuY3NzOiBSZW1vdmVkLgorICAgICAgICAqIGFqYXgvbGlicy9qcXVlcnl1
aS9qcXVlcnktdWktMS44LjE1Lm1pbi5qczogUmVtb3ZlZC4KKwogMjAxOC0wNi0xNCAgSm9uIERh
dmlzICA8am9uZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgbGF5b3V0IGZpeCBmb3IgV2Vi
S2l0IEZlYXR1cmUgU3RhdHVzIFBhZ2UKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcv
YWpheC9saWJzL2pxdWVyeXVpL2pxdWVyeS11aS0xLjguMTUuY3NzIGIvV2Vic2l0ZXMvd2Via2l0
Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvanF1ZXJ5LXVpLTEuOC4xNS5jc3MKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDFhYTgxYjc3YjQ5MGRmM2E0NGM4OGQ0MTQ1ZDYzOTljMWJhOTE2
MjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0
ZXMvd2Via2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvanF1ZXJ5LXVpLTEuOC4xNS5jc3MKKysr
IC9kZXYvbnVsbApAQCAtMSw1NjggKzAsMCBAQAotLyoKLSAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3
b3JrIDEuOC4xNQotICoKLSAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2px
dWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwg
VmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQotICoKLSAq
IGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGhlbWluZy9BUEkKLSAqLwotCi0vKiBMYXlvdXQg
aGVscGVycwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0udWktaGVscGVy
LWhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH0KLS51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUg
eyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgY2xpcDogcmVjdCgxcHggMXB4IDFweCAx
cHgpOyBjbGlwOiByZWN0KDFweCwxcHgsMXB4LDFweCk7IH0KLS51aS1oZWxwZXItcmVzZXQgeyBt
YXJnaW46IDA7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDsgb3V0bGluZTogMDsgbGluZS1oZWlnaHQ6
IDEuMzsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXNpemU6IDEwMCU7IGxpc3Qtc3R5bGU6
IG5vbmU7IH0KLS51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIgeyBjb250ZW50OiAiLiI7IGRpc3Bs
YXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGNsZWFyOiBib3RoOyB2aXNpYmlsaXR5OiBoaWRkZW47IH0K
LS51aS1oZWxwZXItY2xlYXJmaXggeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KLS8qIHJlcXVp
cmVkIGNvbW1lbnQgZm9yIGNsZWFyZml4IHRvIHdvcmsgaW4gT3BlcmEgXCovCi0qIGh0bWwgLnVp
LWhlbHBlci1jbGVhcmZpeCB7IGhlaWdodDoxJTsgfQotLnVpLWhlbHBlci1jbGVhcmZpeCB7IGRp
c3BsYXk6YmxvY2s7IH0KLS8qIGVuZCBjbGVhcmZpeCAqLwotLnVpLWhlbHBlci16Zml4IHsgd2lk
dGg6IDEwMCU7IGhlaWdodDogMTAwJTsgdG9wOiAwOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1
dGU7IG9wYWNpdHk6IDA7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTApOyB9Ci0KLQotLyogSW50ZXJh
Y3Rpb24gQ3VlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0udWktc3Rh
dGUtZGlzYWJsZWQgeyBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsgfQotCi0KLS8qIEljb25z
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLQotLyogc3RhdGVzIGFuZCBp
bWFnZXMgKi8KLS51aS1pY29uIHsgZGlzcGxheTogYmxvY2s7IHRleHQtaW5kZW50OiAtOTk5OTlw
eDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQotCi0K
LS8qIE1pc2MgdmlzdWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0K
LS8qIE92ZXJsYXlzICovCi0udWktd2lkZ2V0LW92ZXJsYXkgeyBwb3NpdGlvbjogYWJzb2x1dGU7
IHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQotCi0KLS8qCi0g
KiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjguMTUKLSAqCi0gKiBDb3B5cmlnaHQgMjAxMSwg
QVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCi0gKiBEdWFsIGxpY2Vuc2Vk
IHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KLSAqIGh0dHA6Ly9qcXVl
cnkub3JnL2xpY2Vuc2UKLSAqCi0gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1RoZW1pbmcv
QVBJCi0gKgotICogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9q
cXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP2ZmRGVmYXVsdD1WZXJkYW5hLEFyaWFsLHNhbnMtc2Vy
aWYmZndEZWZhdWx0PW5vcm1hbCZmc0RlZmF1bHQ9MS4xZW0mY29ybmVyUmFkaXVzPTRweCZiZ0Nv
bG9ySGVhZGVyPWNjY2NjYyZiZ1RleHR1cmVIZWFkZXI9MDNfaGlnaGxpZ2h0X3NvZnQucG5nJmJn
SW1nT3BhY2l0eUhlYWRlcj03NSZib3JkZXJDb2xvckhlYWRlcj1hYWFhYWEmZmNIZWFkZXI9MjIy
MjIyJmljb25Db2xvckhlYWRlcj0yMjIyMjImYmdDb2xvckNvbnRlbnQ9ZmZmZmZmJmJnVGV4dHVy
ZUNvbnRlbnQ9MDFfZmxhdC5wbmcmYmdJbWdPcGFjaXR5Q29udGVudD03NSZib3JkZXJDb2xvckNv
bnRlbnQ9YWFhYWFhJmZjQ29udGVudD0yMjIyMjImaWNvbkNvbG9yQ29udGVudD0yMjIyMjImYmdD
b2xvckRlZmF1bHQ9ZTZlNmU2JmJnVGV4dHVyZURlZmF1bHQ9MDJfZ2xhc3MucG5nJmJnSW1nT3Bh
Y2l0eURlZmF1bHQ9NzUmYm9yZGVyQ29sb3JEZWZhdWx0PWQzZDNkMyZmY0RlZmF1bHQ9NTU1NTU1
Jmljb25Db2xvckRlZmF1bHQ9ODg4ODg4JmJnQ29sb3JIb3Zlcj1kYWRhZGEmYmdUZXh0dXJlSG92
ZXI9MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eUhvdmVyPTc1JmJvcmRlckNvbG9ySG92ZXI9OTk5
OTk5JmZjSG92ZXI9MjEyMTIxJmljb25Db2xvckhvdmVyPTQ1NDU0NSZiZ0NvbG9yQWN0aXZlPWZm
ZmZmZiZiZ1RleHR1cmVBY3RpdmU9MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eUFjdGl2ZT02NSZi
b3JkZXJDb2xvckFjdGl2ZT1hYWFhYWEmZmNBY3RpdmU9MjEyMTIxJmljb25Db2xvckFjdGl2ZT00
NTQ1NDUmYmdDb2xvckhpZ2hsaWdodD1mYmY5ZWUmYmdUZXh0dXJlSGlnaGxpZ2h0PTAyX2dsYXNz
LnBuZyZiZ0ltZ09wYWNpdHlIaWdobGlnaHQ9NTUmYm9yZGVyQ29sb3JIaWdobGlnaHQ9ZmNlZmEx
JmZjSGlnaGxpZ2h0PTM2MzYzNiZpY29uQ29sb3JIaWdobGlnaHQ9MmU4M2ZmJmJnQ29sb3JFcnJv
cj1mZWYxZWMmYmdUZXh0dXJlRXJyb3I9MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eUVycm9yPTk1
JmJvcmRlckNvbG9yRXJyb3I9Y2QwYTBhJmZjRXJyb3I9Y2QwYTBhJmljb25Db2xvckVycm9yPWNk
MGEwYSZiZ0NvbG9yT3ZlcmxheT1hYWFhYWEmYmdUZXh0dXJlT3ZlcmxheT0wMV9mbGF0LnBuZyZi
Z0ltZ09wYWNpdHlPdmVybGF5PTAmb3BhY2l0eU92ZXJsYXk9MzAmYmdDb2xvclNoYWRvdz1hYWFh
YWEmYmdUZXh0dXJlU2hhZG93PTAxX2ZsYXQucG5nJmJnSW1nT3BhY2l0eVNoYWRvdz0wJm9wYWNp
dHlTaGFkb3c9MzAmdGhpY2tuZXNzU2hhZG93PThweCZvZmZzZXRUb3BTaGFkb3c9LThweCZvZmZz
ZXRMZWZ0U2hhZG93PS04cHgmY29ybmVyUmFkaXVzU2hhZG93PThweAotICovCi0KLQotLyogQ29t
cG9uZW50IGNvbnRhaW5lcnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwot
LnVpLXdpZGdldCB7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLHNhbnMtc2VyaWY7IGZvbnQt
c2l6ZTogMS4xZW07IH0KLS51aS13aWRnZXQgLnVpLXdpZGdldCB7IGZvbnQtc2l6ZTogMWVtOyB9
Ci0udWktd2lkZ2V0IGlucHV0LCAudWktd2lkZ2V0IHNlbGVjdCwgLnVpLXdpZGdldCB0ZXh0YXJl
YSwgLnVpLXdpZGdldCBidXR0b24geyBmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxzYW5zLXNl
cmlmOyBmb250LXNpemU6IDFlbTsgfQotLnVpLXdpZGdldC1jb250ZW50IHsgYm9yZGVyOiAxcHgg
c29saWQgI2FhYWFhYTsgYmFja2dyb3VuZDogI2ZmZmZmZiB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRf
NzVfZmZmZmZmXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGNvbG9yOiAjMjIyMjIyOyB9
Ci0udWktd2lkZ2V0LWNvbnRlbnQgYSB7IGNvbG9yOiAjMjIyMjIyOyB9Ci0udWktd2lkZ2V0LWhl
YWRlciB7IGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7IGJhY2tncm91bmQ6ICNjY2NjY2MgdXJs
KGltYWdlcy91aS1iZ19oaWdobGlnaHQtc29mdF83NV9jY2NjY2NfMXgxMDAucG5nKSA1MCUgNTAl
IHJlcGVhdC14OyBjb2xvcjogIzIyMjIyMjsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KLS51aS13aWRn
ZXQtaGVhZGVyIGEgeyBjb2xvcjogIzIyMjIyMjsgfQotCi0vKiBJbnRlcmFjdGlvbiBzdGF0ZXMK
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLnVpLXN0YXRlLWRlZmF1bHQs
IC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1oZWFkZXIg
LnVpLXN0YXRlLWRlZmF1bHQgeyBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzOyBiYWNrZ3JvdW5k
OiAjZTZlNmU2IHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNzVfZTZlNmU2XzF4NDAwLnBuZykgNTAl
IDUwJSByZXBlYXQteDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgY29sb3I6ICM1NTU1NTU7IH0KLS51
aS1zdGF0ZS1kZWZhdWx0IGEsIC51aS1zdGF0ZS1kZWZhdWx0IGE6bGluaywgLnVpLXN0YXRlLWRl
ZmF1bHQgYTp2aXNpdGVkIHsgY29sb3I6ICM1NTU1NTU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsg
fQotLnVpLXN0YXRlLWhvdmVyLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLCAu
dWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsIC51aS1zdGF0ZS1mb2N1cywgLnVpLXdp
ZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRl
LWZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTsgYmFja2dyb3VuZDogI2RhZGFkYSB1
cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2RhZGFkYV8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0
LXg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGNvbG9yOiAjMjEyMTIxOyB9Ci0udWktc3RhdGUtaG92
ZXIgYSwgLnVpLXN0YXRlLWhvdmVyIGE6aG92ZXIgeyBjb2xvcjogIzIxMjEyMTsgdGV4dC1kZWNv
cmF0aW9uOiBub25lOyB9Ci0udWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVp
LXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSB7IGJvcmRl
cjogMXB4IHNvbGlkICNhYWFhYWE7IGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKGltYWdlcy91aS1i
Z19nbGFzc182NV9mZmZmZmZfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdo
dDogbm9ybWFsOyBjb2xvcjogIzIxMjEyMTsgfQotLnVpLXN0YXRlLWFjdGl2ZSBhLCAudWktc3Rh
dGUtYWN0aXZlIGE6bGluaywgLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQgeyBjb2xvcjogIzIx
MjEyMTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci0udWktd2lkZ2V0IDphY3RpdmUgeyBvdXRs
aW5lOiBub25lOyB9Ci0KLS8qIEludGVyYWN0aW9uIEN1ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0qLwotLnVpLXN0YXRlLWhpZ2hsaWdodCwgLnVpLXdpZGdldC1jb250ZW50
IC51aS1zdGF0ZS1oaWdobGlnaHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGln
aHQgIHtib3JkZXI6IDFweCBzb2xpZCAjZmNlZmExOyBiYWNrZ3JvdW5kOiAjZmJmOWVlIHVybChp
bWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsg
Y29sb3I6ICMzNjM2MzY7IH0KLS51aS1zdGF0ZS1oaWdobGlnaHQgYSwgLnVpLXdpZGdldC1jb250
ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGln
aGxpZ2h0IGEgeyBjb2xvcjogIzM2MzYzNjsgfQotLnVpLXN0YXRlLWVycm9yLCAudWktd2lkZ2V0
LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJy
b3Ige2JvcmRlcjogMXB4IHNvbGlkICNjZDBhMGE7IGJhY2tncm91bmQ6ICNmZWYxZWMgdXJsKGlt
YWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBj
b2xvcjogI2NkMGEwYTsgfQotLnVpLXN0YXRlLWVycm9yIGEsIC51aS13aWRnZXQtY29udGVudCAu
dWktc3RhdGUtZXJyb3IgYSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEgeyBj
b2xvcjogI2NkMGEwYTsgfQotLnVpLXN0YXRlLWVycm9yLXRleHQsIC51aS13aWRnZXQtY29udGVu
dCAudWktc3RhdGUtZXJyb3ItdGV4dCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9y
LXRleHQgeyBjb2xvcjogI2NkMGEwYTsgfQotLnVpLXByaW9yaXR5LXByaW1hcnksIC51aS13aWRn
ZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXBy
aW9yaXR5LXByaW1hcnkgeyBmb250LXdlaWdodDogYm9sZDsgfQotLnVpLXByaW9yaXR5LXNlY29u
ZGFyeSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksICAudWktd2lk
Z2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHsgb3BhY2l0eTogLjc7IGZpbHRlcjpB
bHBoYShPcGFjaXR5PTcwKTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQotLnVpLXN0YXRlLWRpc2Fi
bGVkLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRpc2FibGVkLCAudWktd2lkZ2V0LWhl
YWRlciAudWktc3RhdGUtZGlzYWJsZWQgeyBvcGFjaXR5OiAuMzU7IGZpbHRlcjpBbHBoYShPcGFj
aXR5PTM1KTsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfQotCi0vKiBJY29ucwotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0KLS8qIHN0YXRlcyBhbmQgaW1hZ2VzICovCi0u
dWktaWNvbiB7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IGJhY2tncm91bmQtaW1hZ2U6IHVy
bChpbWFnZXMvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTsgfQotLnVpLXdpZGdldC1jb250
ZW50IC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzIyMjIy
Ml8yNTZ4MjQwLnBuZyk7IH0KLS51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtiYWNrZ3JvdW5k
LWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7IH0KLS51aS1z
dGF0ZS1kZWZhdWx0IC51aS1pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1p
Y29uc184ODg4ODhfMjU2eDI0MC5wbmcpOyB9Ci0udWktc3RhdGUtaG92ZXIgLnVpLWljb24sIC51
aS1zdGF0ZS1mb2N1cyAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1p
Y29uc180NTQ1NDVfMjU2eDI0MC5wbmcpOyB9Ci0udWktc3RhdGUtYWN0aXZlIC51aS1pY29uIHti
YWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZyk7
IH0KLS51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChp
bWFnZXMvdWktaWNvbnNfMmU4M2ZmXzI1NngyNDAucG5nKTsgfQotLnVpLXN0YXRlLWVycm9yIC51
aS1pY29uLCAudWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTog
dXJsKGltYWdlcy91aS1pY29uc19jZDBhMGFfMjU2eDI0MC5wbmcpOyB9Ci0KLS8qIHBvc2l0aW9u
aW5nICovCi0udWktaWNvbi1jYXJhdC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0K
LS51aS1pY29uLWNhcmF0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9Ci0u
dWktaWNvbi1jYXJhdC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9Ci0udWkt
aWNvbi1jYXJhdC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfQotLnVpLWlj
b24tY2FyYXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfQotLnVpLWljb24t
Y2FyYXQtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH0KLS51aS1pY29uLWNh
cmF0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH0KLS51aS1pY29uLWNhcmF0
LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfQotLnVpLWljb24tY2FyYXQt
Mi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsgfQotLnVpLWljb24tY2FyYXQt
Mi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfQotLnVpLWljb24tdHJpYW5n
bGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfQotLnVpLWljb24tdHJpYW5n
bGUtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNnB4OyB9Ci0udWktaWNvbi10
cmlhbmdsZS0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfQotLnVpLWlj
b24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9Ci0u
dWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDsg
fQotLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0x
NnB4OyB9Ci0udWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZw
eCAtMTZweDsgfQotLnVpLWljb24tdHJpYW5nbGUtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246
IC0xMTJweCAtMTZweDsgfQotLnVpLWljb24tdHJpYW5nbGUtMi1uLXMgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAtMTI4cHggLTE2cHg7IH0KLS51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9Ci0udWktaWNvbi1hcnJvdy0xLW4geyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9Ci0udWktaWNvbi1hcnJvdy0xLW5lIHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH0KLS51aS1pY29uLWFycm93LTEtZSB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9Ci0udWktaWNvbi1hcnJvdy0xLXNlIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH0KLS51aS1pY29uLWFycm93LTEtcyB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC02NHB4IC0zMnB4OyB9Ci0udWktaWNvbi1hcnJvdy0xLXN3IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH0KLS51aS1pY29uLWFycm93LTEtdyB7
IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9Ci0udWktaWNvbi1hcnJvdy0xLW53
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9Ci0udWktaWNvbi1hcnJvdy0y
LW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfQotLnVpLWljb24tYXJy
b3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfQotLnVpLWlj
b24tYXJyb3ctMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH0KLS51
aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7
IH0KLS51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHgg
LTMycHg7IH0KLS51aS1pY29uLWFycm93c3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAt
MjA4cHggLTMycHg7IH0KLS51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiAtMjI0cHggLTMycHg7IH0KLS51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH0KLS51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfQotLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH0KLS51aS1pY29uLWFycm93dGhpY2st
MS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH0KLS51aS1pY29uLWFycm93
dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9Ci0udWktaWNv
bi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9Ci0u
dWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhw
eDsgfQotLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZw
eCAtNDhweDsgfQotLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogLTExMnB4IC00OHB4OyB9Ci0udWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9Ci0udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH0KLS51aS1pY29uLWFycm93dGhp
Y2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH0KLS51aS1pY29u
LWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsg
fQotLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5
MnB4IC00OHB4OyB9Ci0udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAtMjA4cHggLTQ4cHg7IH0KLS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfQotLnVpLWljb24tYXJyb3d0aGlja3N0
b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9Ci0udWktaWNvbi1h
cnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH0KLS51
aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHgg
LTY0cHg7IH0KLS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogLTMycHggLTY0cHg7IH0KLS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH0KLS51aS1pY29uLWFycm93cmV0dXJuLTEt
dyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9Ci0udWktaWNvbi1hcnJvd3Jl
dHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfQotLnVpLWljb24t
YXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH0KLS51
aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRw
eDsgfQotLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0x
MjhweCAtNjRweDsgfQotLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9z
aXRpb246IC0xNDRweCAtNjRweDsgfQotLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfQotLnVpLWljb24tYXJyb3dyZWZyZXNoLTEt
cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfQotLnVpLWljb24tYXJyb3ct
NCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH0KLS51aS1pY29uLWFycm93LTQtZGlh
ZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9Ci0udWktaWNvbi1leHRsaW5r
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH0KLS51aS1pY29uLW5ld3dpbiB7
IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9Ci0udWktaWNvbi1yZWZyZXNoIHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH0KLS51aS1pY29uLXNodWZmbGUgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfQotLnVpLWljb24tdHJhbnNmZXItZS13
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH0KLS51aS1pY29uLXRyYW5zZmVy
dGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9Ci0udWktaWNv
bi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfQotLnVp
LWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfQot
LnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfQot
LnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9
Ci0udWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH0KLS51
aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH0K
LS51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9
Ci0udWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsg
fQotLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsg
fQotLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9
Ci0udWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfQot
LnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH0KLS51
aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfQotLnVp
LWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH0KLS51
aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9Ci0u
dWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH0KLS51aS1p
Y29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfQotLnVpLWljb24tZmxh
ZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfQotLnVpLWljb24tY2FsZW5k
YXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH0KLS51aS1pY29uLWNhcnQg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH0KLS51aS1pY29uLXBlbmNpbCB7
IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfQotLnVpLWljb24tY2xvY2sgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH0KLS51aS1pY29uLWRpc2sgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH0KLS51aS1pY29uLWNhbGN1bGF0b3IgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9Ci0udWktaWNvbi16b29taW4geyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9Ci0udWktaWNvbi16b29tb3V0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfQotLnVpLWljb24tc2VhcmNoIHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfQotLnVpLWljb24td3JlbmNoIHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfQotLnVpLWljb24tZ2VhciB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH0KLS51aS1pY29uLWhlYXJ0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfQotLnVpLWljb24tc3RhciB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH0KLS51aS1pY29uLWxpbmsgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9Ci0udWktaWNvbi1jYW5jZWwgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfQotLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9z
aXRpb246IC0xNnB4IC0xMjhweDsgfQotLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogLTMycHggLTEyOHB4OyB9Ci0udWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9z
aXRpb246IC00OHB4IC0xMjhweDsgfQotLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQt
cG9zaXRpb246IC02NHB4IC0xMjhweDsgfQotLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAtODBweCAtMTI4cHg7IH0KLS51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH0KLS51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9z
aXRpb246IC0xMTJweCAtMTI4cHg7IH0KLS51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQt
cG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH0KLS51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfQotLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfQotLnVpLWljb24tY29weSB7IGJhY2tncm91
bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH0KLS51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9Ci0udWktaWNvbi1pbWFnZSB7IGJhY2tncm91
bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH0KLS51aS1pY29uLXZpZGVvIHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfQotLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfQotLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAwIC0xNDRweDsgfQotLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRp
b246IC0xNnB4IC0xNDRweDsgfQotLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogLTMycHggLTE0NHB4OyB9Ci0udWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LTQ4cHggLTE0NHB4OyB9Ci0udWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02
NHB4IC0xNDRweDsgfQotLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgw
cHggLTE0NHB4OyB9Ci0udWktaWNvbi1yYWRpby1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAt
OTZweCAtMTQ0cHg7IH0KLS51aS1pY29uLXJhZGlvLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LTExMnB4IC0xNDRweDsgfQotLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAt
MTI4cHggLTE0NHB4OyB9Ci0udWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0x
NDRweCAtMTQ0cHg7IH0KLS51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0x
NjBweDsgfQotLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYw
cHg7IH0KLS51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0x
NjBweDsgfQotLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHgg
LTE2MHB4OyB9Ci0udWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4
IC0xNjBweDsgfQotLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04
MHB4IC0xNjBweDsgfQotLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1
aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqLwotLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfQotLnVpLWljb24tc3RvcCB7IGJhY2tncm91
bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfQotLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5k
LXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9Ci0udWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dy
b3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfQotLnVpLWljb24tdm9sdW1lLW9uIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfQotLnVpLWljb24tcG93ZXIgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfQotLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH0KLS51aS1pY29uLXNpZ25hbCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfQotLnVpLWljb24tYmF0dGVyeS0wIHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9Ci0udWktaWNvbi1iYXR0ZXJ5LTEgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH0KLS51aS1pY29uLWJhdHRlcnktMiB7
IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfQotLnVpLWljb24tYmF0dGVyeS0z
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9Ci0udWktaWNvbi1jaXJjbGUt
cGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9Ci0udWktaWNvbi1jaXJjbGUt
bWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH0KLS51aS1pY29uLWNp
cmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfQotLnVpLWlj
b24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7
IH0KLS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0
cHggLTE5MnB4OyB9Ci0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9z
aXRpb246IC04MHB4IC0xOTJweDsgfQotLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH0KLS51aS1pY29uLWNpcmNsZS1hcnJvdy1l
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfQotLnVpLWljb24tY2lyY2xl
LWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9Ci0udWktaWNv
bi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH0K
LS51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0x
OTJweDsgfQotLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0x
NzZweCAtMTkycHg7IH0KLS51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogLTE5MnB4IC0xOTJweDsgfQotLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfQotLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7
IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9Ci0udWktaWNvbi1jaXJjbGVzbWFsbC1t
aW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfQotLnVpLWljb24tY2ly
Y2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH0KLS51
aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4
cHg7IH0KLS51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LTY0cHggLTIwOHB4OyB9Ci0udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQt
cG9zaXRpb246IC04MHB4IC0yMDhweDsgfQotLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfQotLnVpLWljb24tZ3JpcC1kb3R0ZWQt
aG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfQotLnVpLWlj
b24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRw
eDsgfQotLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogLTQ4cHggLTIyNHB4OyB9Ci0udWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH0KLS51aS1pY29uLWdyaXAtZGlhZ29uYWwt
c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH0KLQotCi0vKiBNaXNjIHZp
c3VhbHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotCi0vKiBDb3JuZXIg
cmFkaXVzICovCi0udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci10b3AsIC51aS1jb3JuZXItbGVm
dCwgLnVpLWNvcm5lci10bCB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA0cHg7IC13ZWJr
aXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyAta2h0bWwtYm9yZGVyLXRvcC1sZWZ0LXJh
ZGl1czogNHB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IH0KLS51aS1jb3JuZXItYWxs
LCAudWktY29ybmVyLXRvcCwgLnVpLWNvcm5lci1yaWdodCwgLnVpLWNvcm5lci10ciB7IC1tb3ot
Ym9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFk
aXVzOiA0cHg7IC1raHRtbC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItdG9w
LXJpZ2h0LXJhZGl1czogNHB4OyB9Ci0udWktY29ybmVyLWFsbCwgLnVpLWNvcm5lci1ib3R0b20s
IC51aS1jb3JuZXItbGVmdCwgLnVpLWNvcm5lci1ibCB7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0
b21sZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyAta2h0
bWwtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLWxlZnQtcmFk
aXVzOiA0cHg7IH0KLS51aS1jb3JuZXItYWxsLCAudWktY29ybmVyLWJvdHRvbSwgLnVpLWNvcm5l
ci1yaWdodCwgLnVpLWNvcm5lci1iciB7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDog
NHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IC1raHRtbC1ib3Jk
ZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czog
NHB4OyB9Ci0KLS8qIE92ZXJsYXlzICovCi0udWktd2lkZ2V0LW92ZXJsYXkgeyBiYWNrZ3JvdW5k
OiAjYWFhYWFhIHVybChpbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nKSA1MCUg
NTAlIHJlcGVhdC14OyBvcGFjaXR5OiAuMzA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzApOyB9Ci0u
dWktd2lkZ2V0LXNoYWRvdyB7IG1hcmdpbjogLThweCAwIDAgLThweDsgcGFkZGluZzogOHB4OyBi
YWNrZ3JvdW5kOiAjYWFhYWFhIHVybChpbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80MHgxMDAu
cG5nKSA1MCUgNTAlIHJlcGVhdC14OyBvcGFjaXR5OiAuMzA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9
MzApOyAtbW96LWJvcmRlci1yYWRpdXM6IDhweDsgLWtodG1sLWJvcmRlci1yYWRpdXM6IDhweDsg
LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7IGJvcmRlci1yYWRpdXM6IDhweDsgfS8qCi0gKiBq
UXVlcnkgVUkgUmVzaXphYmxlIDEuOC4xNQotICoKLSAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JT
LnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwgbGljZW5zZWQgdW5kZXIg
dGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0cDovL2pxdWVyeS5vcmcv
bGljZW5zZQotICoKLSAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUmVzaXphYmxlI3RoZW1p
bmcKLSAqLwotLnVpLXJlc2l6YWJsZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTt9Ci0udWktcmVzaXph
YmxlLWhhbmRsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTtmb250LXNpemU6IDAuMXB4O3otaW5kZXg6
IDk5OTk5OyBkaXNwbGF5OiBibG9jazsgfQotLnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVz
aXphYmxlLWhhbmRsZSwgLnVpLXJlc2l6YWJsZS1hdXRvaGlkZSAudWktcmVzaXphYmxlLWhhbmRs
ZSB7IGRpc3BsYXk6IG5vbmU7IH0KLS51aS1yZXNpemFibGUtbiB7IGN1cnNvcjogbi1yZXNpemU7
IGhlaWdodDogN3B4OyB3aWR0aDogMTAwJTsgdG9wOiAtNXB4OyBsZWZ0OiAwOyB9Ci0udWktcmVz
aXphYmxlLXMgeyBjdXJzb3I6IHMtcmVzaXplOyBoZWlnaHQ6IDdweDsgd2lkdGg6IDEwMCU7IGJv
dHRvbTogLTVweDsgbGVmdDogMDsgfQotLnVpLXJlc2l6YWJsZS1lIHsgY3Vyc29yOiBlLXJlc2l6
ZTsgd2lkdGg6IDdweDsgcmlnaHQ6IC01cHg7IHRvcDogMDsgaGVpZ2h0OiAxMDAlOyB9Ci0udWkt
cmVzaXphYmxlLXcgeyBjdXJzb3I6IHctcmVzaXplOyB3aWR0aDogN3B4OyBsZWZ0OiAtNXB4OyB0
b3A6IDA7IGhlaWdodDogMTAwJTsgfQotLnVpLXJlc2l6YWJsZS1zZSB7IGN1cnNvcjogc2UtcmVz
aXplOyB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4OyByaWdodDogMXB4OyBib3R0b206IDFweDsg
fQotLnVpLXJlc2l6YWJsZS1zdyB7IGN1cnNvcjogc3ctcmVzaXplOyB3aWR0aDogOXB4OyBoZWln
aHQ6IDlweDsgbGVmdDogLTVweDsgYm90dG9tOiAtNXB4OyB9Ci0udWktcmVzaXphYmxlLW53IHsg
Y3Vyc29yOiBudy1yZXNpemU7IHdpZHRoOiA5cHg7IGhlaWdodDogOXB4OyBsZWZ0OiAtNXB4OyB0
b3A6IC01cHg7IH0KLS51aS1yZXNpemFibGUtbmUgeyBjdXJzb3I6IG5lLXJlc2l6ZTsgd2lkdGg6
IDlweDsgaGVpZ2h0OiA5cHg7IHJpZ2h0OiAtNXB4OyB0b3A6IC01cHg7fS8qCi0gKiBqUXVlcnkg
VUkgU2VsZWN0YWJsZSAxLjguMTUKLSAqCi0gKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQg
KGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCi0gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBN
SVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KLSAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vu
c2UKLSAqCi0gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NlbGVjdGFibGUjdGhlbWluZwot
ICovCi0udWktc2VsZWN0YWJsZS1oZWxwZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6
IDEwMDsgYm9yZGVyOjFweCBkb3R0ZWQgYmxhY2s7IH0KLS8qCi0gKiBqUXVlcnkgVUkgQWNjb3Jk
aW9uIDEuOC4xNQotICoKLSAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2px
dWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwg
VmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQotICoKLSAq
IGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvQWNjb3JkaW9uI3RoZW1pbmcKLSAqLwotLyogSUUv
V2luIC0gRml4IGFuaW1hdGlvbiBidWcgLSAjNDYxNSAqLwotLnVpLWFjY29yZGlvbiB7IHdpZHRo
OiAxMDAlOyB9Ci0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIHsgY3Vyc29yOiBw
b2ludGVyOyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi10b3A6IDFweDsgem9vbTogMTsgfQot
LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWxpLWZpeCB7IGRpc3BsYXk6IGlubGluZTsgfQot
LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUgeyBib3JkZXItYm90dG9t
OiAwICFpbXBvcnRhbnQ7IH0KLS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1oZWFkZXIgYSB7
IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDFlbTsgcGFkZGluZzogLjVlbSAuNWVtIC41ZW0g
LjdlbTsgfQotLnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWhlYWRlciBhIHsgcGFk
ZGluZy1sZWZ0OiAyLjJlbTsgfQotLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciAu
dWktaWNvbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLjVlbTsgdG9wOiA1MCU7IG1hcmdp
bi10b3A6IC04cHg7IH0KLS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50IHsgcGFk
ZGluZzogMWVtIDIuMmVtOyBib3JkZXItdG9wOiAwOyBtYXJnaW4tdG9wOiAtMnB4OyBwb3NpdGlv
bjogcmVsYXRpdmU7IHRvcDogMXB4OyBtYXJnaW4tYm90dG9tOiAycHg7IG92ZXJmbG93OiBhdXRv
OyBkaXNwbGF5OiBub25lOyB6b29tOiAxOyB9Ci0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24t
Y29udGVudC1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfQotLyoKLSAqIGpRdWVyeSBVSSBBdXRv
Y29tcGxldGUgMS44LjE1Ci0gKgotICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRw
Oi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9y
IEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCi0g
KgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BdXRvY29tcGxldGUjdGhlbWluZwotICov
Ci0udWktYXV0b2NvbXBsZXRlIHsgcG9zaXRpb246IGFic29sdXRlOyBjdXJzb3I6IGRlZmF1bHQ7
IH0JCi0KLS8qIHdvcmthcm91bmRzICovCi0qIGh0bWwgLnVpLWF1dG9jb21wbGV0ZSB7IHdpZHRo
OjFweDsgfSAvKiB3aXRob3V0IHRoaXMsIHRoZSBtZW51IGV4cGFuZHMgdG8gMTAwJSBpbiBJRTYg
Ki8KLQotLyoKLSAqIGpRdWVyeSBVSSBNZW51IDEuOC4xNQotICoKLSAqIENvcHlyaWdodCAyMDEw
LCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwgbGljZW5z
ZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0cDovL2px
dWVyeS5vcmcvbGljZW5zZQotICoKLSAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvTWVudSN0
aGVtaW5nCi0gKi8KLS51aS1tZW51IHsKLQlsaXN0LXN0eWxlOm5vbmU7Ci0JcGFkZGluZzogMnB4
OwotCW1hcmdpbjogMDsKLQlkaXNwbGF5OmJsb2NrOwotCWZsb2F0OiBsZWZ0OwotfQotLnVpLW1l
bnUgLnVpLW1lbnUgewotCW1hcmdpbi10b3A6IC0zcHg7Ci19Ci0udWktbWVudSAudWktbWVudS1p
dGVtIHsKLQltYXJnaW46MDsKLQlwYWRkaW5nOiAwOwotCXpvb206IDE7Ci0JZmxvYXQ6IGxlZnQ7
Ci0JY2xlYXI6IGxlZnQ7Ci0Jd2lkdGg6IDEwMCU7Ci19Ci0udWktbWVudSAudWktbWVudS1pdGVt
IGEgewotCXRleHQtZGVjb3JhdGlvbjpub25lOwotCWRpc3BsYXk6YmxvY2s7Ci0JcGFkZGluZzou
MmVtIC40ZW07Ci0JbGluZS1oZWlnaHQ6MS41OwotCXpvb206MTsKLX0KLS51aS1tZW51IC51aS1t
ZW51LWl0ZW0gYS51aS1zdGF0ZS1ob3ZlciwKLS51aS1tZW51IC51aS1tZW51LWl0ZW0gYS51aS1z
dGF0ZS1hY3RpdmUgewotCWZvbnQtd2VpZ2h0OiBub3JtYWw7Ci0JbWFyZ2luOiAtMXB4OwotfQot
LyoKLSAqIGpRdWVyeSBVSSBCdXR0b24gMS44LjE1Ci0gKgotICogQ29weXJpZ2h0IDIwMTEsIEFV
VEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVhbCBsaWNlbnNlZCB1
bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBodHRwOi8vanF1ZXJ5
Lm9yZy9saWNlbnNlCi0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9CdXR0b24jdGhl
bWluZwotICovCi0udWktYnV0dG9uIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjog
cmVsYXRpdmU7IHBhZGRpbmc6IDA7IG1hcmdpbi1yaWdodDogLjFlbTsgdGV4dC1kZWNvcmF0aW9u
OiBub25lICFpbXBvcnRhbnQ7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyB6
b29tOiAxOyBvdmVyZmxvdzogdmlzaWJsZTsgfSAvKiB0aGUgb3ZlcmZsb3cgcHJvcGVydHkgcmVt
b3ZlcyBleHRyYSB3aWR0aCBpbiBJRSAqLwotLnVpLWJ1dHRvbi1pY29uLW9ubHkgeyB3aWR0aDog
Mi4yZW07IH0gLyogdG8gbWFrZSByb29tIGZvciB0aGUgaWNvbiwgYSB3aWR0aCBuZWVkcyB0byBi
ZSBzZXQgaGVyZSAqLwotYnV0dG9uLnVpLWJ1dHRvbi1pY29uLW9ubHkgeyB3aWR0aDogMi40ZW07
IH0gLyogYnV0dG9uIGVsZW1lbnRzIHNlZW0gdG8gbmVlZCBhIGxpdHRsZSBtb3JlIHdpZHRoICov
Ci0udWktYnV0dG9uLWljb25zLW9ubHkgeyB3aWR0aDogMy40ZW07IH0gCi1idXR0b24udWktYnV0
dG9uLWljb25zLW9ubHkgeyB3aWR0aDogMy43ZW07IH0gCi0KLS8qYnV0dG9uIHRleHQgZWxlbWVu
dCAqLwotLnVpLWJ1dHRvbiAudWktYnV0dG9uLXRleHQgeyBkaXNwbGF5OiBibG9jazsgbGluZS1o
ZWlnaHQ6IDEuNDsgIH0KLS51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dCB7IHBh
ZGRpbmc6IC40ZW0gMWVtOyB9Ci0udWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLXRleHQs
IC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLXRleHQgeyBwYWRkaW5nOiAuNGVtOyB0
ZXh0LWluZGVudDogLTk5OTk5OTlweDsgfQotLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAu
dWktYnV0dG9uLXRleHQsIC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHQgeyBw
YWRkaW5nOiAuNGVtIDFlbSAuNGVtIDIuMWVtOyB9Ci0udWktYnV0dG9uLXRleHQtaWNvbi1zZWNv
bmRhcnkgLnVpLWJ1dHRvbi10ZXh0LCAudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10
ZXh0IHsgcGFkZGluZzogLjRlbSAyLjFlbSAuNGVtIDFlbTsgfQotLnVpLWJ1dHRvbi10ZXh0LWlj
b25zIC51aS1idXR0b24tdGV4dCB7IHBhZGRpbmctbGVmdDogMi4xZW07IHBhZGRpbmctcmlnaHQ6
IDIuMWVtOyB9Ci0vKiBubyBpY29uIHN1cHBvcnQgZm9yIGlucHV0IGVsZW1lbnRzLCBwcm92aWRl
IHBhZGRpbmcgYnkgZGVmYXVsdCAqLwotaW5wdXQudWktYnV0dG9uIHsgcGFkZGluZzogLjRlbSAx
ZW07IH0KLQotLypidXR0b24gaWNvbiBlbGVtZW50KHMpICovCi0udWktYnV0dG9uLWljb24tb25s
eSAudWktaWNvbiwgLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktaWNvbiwgLnVpLWJ1
dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1pY29uLCAudWktYnV0dG9uLXRleHQtaWNvbnMg
LnVpLWljb24sIC51aS1idXR0b24taWNvbnMtb25seSAudWktaWNvbiB7IHBvc2l0aW9uOiBhYnNv
bHV0ZTsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC04cHg7IH0KLS51aS1idXR0b24taWNvbi1vbmx5
IC51aS1pY29uIHsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLThweDsgfQotLnVpLWJ1dHRvbi10
ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeSwgLnVpLWJ1dHRvbi10ZXh0
LWljb25zIC51aS1idXR0b24taWNvbi1wcmltYXJ5LCAudWktYnV0dG9uLWljb25zLW9ubHkgLnVp
LWJ1dHRvbi1pY29uLXByaW1hcnkgeyBsZWZ0OiAuNWVtOyB9Ci0udWktYnV0dG9uLXRleHQtaWNv
bi1zZWNvbmRhcnkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSwgLnVpLWJ1dHRvbi10ZXh0LWlj
b25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksIC51aS1idXR0b24taWNvbnMtb25seSAudWkt
YnV0dG9uLWljb24tc2Vjb25kYXJ5IHsgcmlnaHQ6IC41ZW07IH0KLS51aS1idXR0b24tdGV4dC1p
Y29ucyAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5LCAudWktYnV0dG9uLWljb25zLW9ubHkgLnVp
LWJ1dHRvbi1pY29uLXNlY29uZGFyeSB7IHJpZ2h0OiAuNWVtOyB9Ci0KLS8qYnV0dG9uIHNldHMq
LwotLnVpLWJ1dHRvbnNldCB7IG1hcmdpbi1yaWdodDogN3B4OyB9Ci0udWktYnV0dG9uc2V0IC51
aS1idXR0b24geyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAtLjNlbTsgfQotCi0vKiB3
b3JrYXJvdW5kcyAqLwotYnV0dG9uLnVpLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7IGJvcmRl
cjogMDsgcGFkZGluZzogMDsgfSAvKiByZXNldCBleHRyYSBwYWRkaW5nIGluIEZpcmVmb3ggKi8K
LS8qCi0gKiBqUXVlcnkgVUkgRGlhbG9nIDEuOC4xNQotICoKLSAqIENvcHlyaWdodCAyMDExLCBB
VVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwgbGljZW5zZWQg
dW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0cDovL2pxdWVy
eS5vcmcvbGljZW5zZQotICoKLSAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGlhbG9nI3Ro
ZW1pbmcKLSAqLwotLnVpLWRpYWxvZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcGFkZGluZzogLjJl
bTsgd2lkdGg6IDMwMHB4OyBvdmVyZmxvdzogaGlkZGVuOyB9Ci0udWktZGlhbG9nIC51aS1kaWFs
b2ctdGl0bGViYXIgeyBwYWRkaW5nOiAuNGVtIDFlbTsgcG9zaXRpb246IHJlbGF0aXZlOyAgfQot
LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbjogLjFlbSAx
NnB4IC4xZW0gMDsgfSAKLS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7IHBv
c2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IC4zZW07IHRvcDogNTAlOyB3aWR0aDogMTlweDsgbWFy
Z2luOiAtMTBweCAwIDAgMDsgcGFkZGluZzogMXB4OyBoZWlnaHQ6IDE4cHg7IH0KLS51aS1kaWFs
b2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSBzcGFuIHsgZGlzcGxheTogYmxvY2s7IG1hcmdp
bjogMXB4OyB9Ci0udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6aG92ZXIsIC51
aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpmb2N1cyB7IHBhZGRpbmc6IDA7IH0K
LS51aS1kaWFsb2cgLnVpLWRpYWxvZy1jb250ZW50IHsgcG9zaXRpb246IHJlbGF0aXZlOyBib3Jk
ZXI6IDA7IHBhZGRpbmc6IC41ZW0gMWVtOyBiYWNrZ3JvdW5kOiBub25lOyBvdmVyZmxvdzogYXV0
bzsgem9vbTogMTsgfQotLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgeyB0ZXh0LWFs
aWduOiBsZWZ0OyBib3JkZXItd2lkdGg6IDFweCAwIDAgMDsgYmFja2dyb3VuZC1pbWFnZTogbm9u
ZTsgbWFyZ2luOiAuNWVtIDAgMCAwOyBwYWRkaW5nOiAuM2VtIDFlbSAuNWVtIC40ZW07IH0KLS51
aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9uc2V0IHsgZmxv
YXQ6IHJpZ2h0OyB9Ci0udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSBidXR0b24geyBt
YXJnaW46IC41ZW0gLjRlbSAuNWVtIDA7IGN1cnNvcjogcG9pbnRlcjsgfQotLnVpLWRpYWxvZyAu
dWktcmVzaXphYmxlLXNlIHsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgcmlnaHQ6IDNweDsg
Ym90dG9tOiAzcHg7IH0KLS51aS1kcmFnZ2FibGUgLnVpLWRpYWxvZy10aXRsZWJhciB7IGN1cnNv
cjogbW92ZTsgfQotLyoKLSAqIGpRdWVyeSBVSSBTbGlkZXIgMS44LjE1Ci0gKgotICogQ29weXJp
Z2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICogRHVh
bCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0gKiBo
dHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCi0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9V
SS9TbGlkZXIjdGhlbWluZwotICovCi0udWktc2xpZGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB0
ZXh0LWFsaWduOiBsZWZ0OyB9Ci0udWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHsgcG9zaXRp
b246IGFic29sdXRlOyB6LWluZGV4OiAyOyB3aWR0aDogMS4yZW07IGhlaWdodDogMS4yZW07IGN1
cnNvcjogZGVmYXVsdDsgfQotLnVpLXNsaWRlciAudWktc2xpZGVyLXJhbmdlIHsgcG9zaXRpb246
IGFic29sdXRlOyB6LWluZGV4OiAxOyBmb250LXNpemU6IC43ZW07IGRpc3BsYXk6IGJsb2NrOyBi
b3JkZXI6IDA7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfQotCi0udWktc2xpZGVyLWhvcml6
b250YWwgeyBoZWlnaHQ6IC44ZW07IH0KLS51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVy
LWhhbmRsZSB7IHRvcDogLS4zZW07IG1hcmdpbi1sZWZ0OiAtLjZlbTsgfQotLnVpLXNsaWRlci1o
b3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UgeyB0b3A6IDA7IGhlaWdodDogMTAwJTsgfQotLnVp
LXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWluIHsgbGVmdDogMDsgfQotLnVp
LXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHsgcmlnaHQ6IDA7IH0KLQot
LnVpLXNsaWRlci12ZXJ0aWNhbCB7IHdpZHRoOiAuOGVtOyBoZWlnaHQ6IDEwMHB4OyB9Ci0udWkt
c2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxlIHsgbGVmdDogLS4zZW07IG1hcmdpbi1s
ZWZ0OiAwOyBtYXJnaW4tYm90dG9tOiAtLjZlbTsgfQotLnVpLXNsaWRlci12ZXJ0aWNhbCAudWkt
c2xpZGVyLXJhbmdlIHsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IH0KLS51aS1zbGlkZXItdmVydGlj
YWwgLnVpLXNsaWRlci1yYW5nZS1taW4geyBib3R0b206IDA7IH0KLS51aS1zbGlkZXItdmVydGlj
YWwgLnVpLXNsaWRlci1yYW5nZS1tYXggeyB0b3A6IDA7IH0vKgotICogalF1ZXJ5IFVJIFRhYnMg
MS44LjE1Ci0gKgotICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5
dWkuY29tL2Fib3V0KQotICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJz
aW9uIDIgbGljZW5zZXMuCi0gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCi0gKgotICogaHR0
cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9UYWJzI3RoZW1pbmcKLSAqLwotLnVpLXRhYnMgeyBwb3Np
dGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IC4yZW07IHpvb206IDE7IH0gLyogcG9zaXRpb246IHJl
bGF0aXZlIHByZXZlbnRzIElFIHNjcm9sbCBidWcgKGVsZW1lbnQgd2l0aCBwb3NpdGlvbjogcmVs
YXRpdmUgaW5zaWRlIGNvbnRhaW5lciB3aXRoIG92ZXJmbG93OiBhdXRvIGFwcGVhciBhcyAiZml4
ZWQiKSAqLwotLnVpLXRhYnMgLnVpLXRhYnMtbmF2IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAuMmVt
IC4yZW0gMDsgfQotLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIHsgbGlzdC1zdHlsZTogbm9uZTsg
ZmxvYXQ6IGxlZnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAxcHg7IG1hcmdpbjogMCAuMmVt
IDFweCAwOyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDA7IHdoaXRlLXNw
YWNlOiBub3dyYXA7IH0KLS51aS10YWJzIC51aS10YWJzLW5hdiBsaSBhIHsgZmxvYXQ6IGxlZnQ7
IHBhZGRpbmc6IC41ZW0gMWVtOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLS51aS10YWJzIC51
aS10YWJzLW5hdiBsaS51aS10YWJzLXNlbGVjdGVkIHsgbWFyZ2luLWJvdHRvbTogMDsgcGFkZGlu
Zy1ib3R0b206IDFweDsgfQotLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0
ZWQgYSwgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXN0YXRlLWRpc2FibGVkIGEsIC51aS10
YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1wcm9jZXNzaW5nIGEgeyBjdXJzb3I6IHRleHQ7
IH0KLS51aS10YWJzIC51aS10YWJzLW5hdiBsaSBhLCAudWktdGFicy51aS10YWJzLWNvbGxhcHNp
YmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLXNlbGVjdGVkIGEgeyBjdXJzb3I6IHBvaW50ZXI7
IH0gLyogZmlyc3Qgc2VsZWN0b3IgaW4gZ3JvdXAgc2VlbXMgb2Jzb2xldGUsIGJ1dCByZXF1aXJl
ZCB0byBvdmVyY29tZSBidWcgaW4gT3BlcmEgYXBwbHlpbmcgY3Vyc29yOiB0ZXh0IG92ZXJhbGwg
aWYgZGVmaW5lZCBlbHNld2hlcmUuLi4gKi8KLS51aS10YWJzIC51aS10YWJzLXBhbmVsIHsgZGlz
cGxheTogYmxvY2s7IGJvcmRlci13aWR0aDogMDsgcGFkZGluZzogMWVtIDEuNGVtOyBiYWNrZ3Jv
dW5kOiBub25lOyB9Ci0udWktdGFicyAudWktdGFicy1oaWRlIHsgZGlzcGxheTogbm9uZSAhaW1w
b3J0YW50OyB9Ci0vKgotICogalF1ZXJ5IFVJIERhdGVwaWNrZXIgMS44LjE1Ci0gKgotICogQ29w
eXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQotICog
RHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCi0g
KiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCi0gKgotICogaHR0cDovL2RvY3MuanF1ZXJ5LmNv
bS9VSS9EYXRlcGlja2VyI3RoZW1pbmcKLSAqLwotLnVpLWRhdGVwaWNrZXIgeyB3aWR0aDogMTdl
bTsgcGFkZGluZzogLjJlbSAuMmVtIDA7IGRpc3BsYXk6IG5vbmU7IH0KLS51aS1kYXRlcGlja2Vy
IC51aS1kYXRlcGlja2VyLWhlYWRlciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBwYWRkaW5nOi4yZW0g
MDsgfQotLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXIg
LnVpLWRhdGVwaWNrZXItbmV4dCB7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDJweDsgd2lkdGg6
IDEuOGVtOyBoZWlnaHQ6IDEuOGVtOyB9Ci0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1w
cmV2LWhvdmVyLCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHsgdG9w
OiAxcHg7IH0KLS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgeyBsZWZ0OjJweDsg
fQotLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHJpZ2h0OjJweDsgfQotLnVp
LWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7IGxlZnQ6MXB4OyB9Ci0udWkt
ZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHsgcmlnaHQ6MXB4OyB9Ci0udWkt
ZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sIC51aS1kYXRlcGlja2VyIC51aS1k
YXRlcGlja2VyLW5leHQgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7
IGxlZnQ6IDUwJTsgbWFyZ2luLWxlZnQ6IC04cHg7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtOHB4
OyAgfQotLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgeyBtYXJnaW46IDAgMi4z
ZW07IGxpbmUtaGVpZ2h0OiAxLjhlbTsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci0udWktZGF0ZXBp
Y2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3QgeyBmb250LXNpemU6MWVtOyBtYXJnaW46
MXB4IDA7IH0KLS51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXIg
e3dpZHRoOiAxMDAlO30KLS51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRo
LCAKLS51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIgeyB3aWR0aDogNDkl
O30KLS51aS1kYXRlcGlja2VyIHRhYmxlIHt3aWR0aDogMTAwJTsgZm9udC1zaXplOiAuOWVtOyBi
b3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW46MCAwIC40ZW07IH0KLS51aS1kYXRlcGlj
a2VyIHRoIHsgcGFkZGluZzogLjdlbSAuM2VtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtd2Vp
Z2h0OiBib2xkOyBib3JkZXI6IDA7ICB9Ci0udWktZGF0ZXBpY2tlciB0ZCB7IGJvcmRlcjogMDsg
cGFkZGluZzogMXB4OyB9Ci0udWktZGF0ZXBpY2tlciB0ZCBzcGFuLCAudWktZGF0ZXBpY2tlciB0
ZCBhIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IC4yZW07IHRleHQtYWxpZ246IHJpZ2h0OyB0
ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1
dHRvbnBhbmUgeyBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyBtYXJnaW46IC43ZW0gMCAwIDA7IHBh
ZGRpbmc6MCAuMmVtOyBib3JkZXItbGVmdDogMDsgYm9yZGVyLXJpZ2h0OiAwOyBib3JkZXItYm90
dG9tOiAwOyB9Ci0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRv
biB7IGZsb2F0OiByaWdodDsgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTsgY3Vyc29yOiBwb2ludGVy
OyBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtOyB3aWR0aDphdXRvOyBvdmVyZmxvdzp2aXNp
YmxlOyB9Ci0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51
aS1kYXRlcGlja2VyLWN1cnJlbnQgeyBmbG9hdDpsZWZ0OyB9Ci0KLS8qIHdpdGggbXVsdGlwbGUg
Y2FsZW5kYXJzICovCi0udWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpIHsgd2lkdGg6
YXV0bzsgfQotLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyBmbG9h
dDpsZWZ0OyB9Ci0udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJs
ZSB7IHdpZHRoOjk1JTsgbWFyZ2luOjAgYXV0byAuNGVtOyB9Ci0udWktZGF0ZXBpY2tlci1tdWx0
aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6NTAlOyB9Ci0udWktZGF0ZXBpY2tlci1t
dWx0aS0zIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6MzMuMyU7IH0KLS51aS1kYXRlcGlj
a2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDoyNSU7IH0KLS51aS1kYXRl
cGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVh
ZGVyIHsgYm9yZGVyLWxlZnQtd2lkdGg6MDsgfQotLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRh
dGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IGJvcmRlci1sZWZ0
LXdpZHRoOjA7IH0KLS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBh
bmUgeyBjbGVhcjpsZWZ0OyB9Ci0udWktZGF0ZXBpY2tlci1yb3ctYnJlYWsgeyBjbGVhcjpib3Ro
OyB3aWR0aDoxMDAlOyBmb250LXNpemU6MGVtOyB9Ci0KLS8qIFJUTCBzdXBwb3J0ICovCi0udWkt
ZGF0ZXBpY2tlci1ydGwgeyBkaXJlY3Rpb246IHJ0bDsgfQotLnVpLWRhdGVwaWNrZXItcnRsIC51
aS1kYXRlcGlja2VyLXByZXYgeyByaWdodDogMnB4OyBsZWZ0OiBhdXRvOyB9Ci0udWktZGF0ZXBp
Y2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dCB7IGxlZnQ6IDJweDsgcmlnaHQ6IGF1dG87IH0K
LS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHsgcmlnaHQ6IDFw
eDsgbGVmdDogYXV0bzsgfQotLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQ6
aG92ZXIgeyBsZWZ0OiAxcHg7IHJpZ2h0OiBhdXRvOyB9Ci0udWktZGF0ZXBpY2tlci1ydGwgLnVp
LWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IGNsZWFyOnJpZ2h0OyB9Ci0udWktZGF0ZXBpY2tlci1y
dGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24geyBmbG9hdDogbGVmdDsgfQotLnVp
LWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVw
aWNrZXItY3VycmVudCB7IGZsb2F0OnJpZ2h0OyB9Ci0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRh
dGVwaWNrZXItZ3JvdXAgeyBmbG9hdDpyaWdodDsgfQotLnVpLWRhdGVwaWNrZXItcnRsIC51aS1k
YXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLXJpZ2h0
LXdpZHRoOjA7IGJvcmRlci1sZWZ0LXdpZHRoOjFweDsgfQotLnVpLWRhdGVwaWNrZXItcnRsIC51
aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXIt
cmlnaHQtd2lkdGg6MDsgYm9yZGVyLWxlZnQtd2lkdGg6MXB4OyB9Ci0KLS8qIElFNiBJRlJBTUUg
RklYICh0YWtlbiBmcm9tIGRhdGVwaWNrZXIgMS41LjMgKi8KLS51aS1kYXRlcGlja2VyLWNvdmVy
IHsKLSAgICBkaXNwbGF5OiBub25lOyAvKnNvcnJ5IGZvciBJRTUqLwotICAgIGRpc3BsYXkvKiov
OiBibG9jazsgLypzb3JyeSBmb3IgSUU1Ki8KLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8qbXVz
dCBoYXZlKi8KLSAgICB6LWluZGV4OiAtMTsgLyptdXN0IGhhdmUqLwotICAgIGZpbHRlcjogbWFz
aygpOyAvKm11c3QgaGF2ZSovCi0gICAgdG9wOiAtNHB4OyAvKm11c3QgaGF2ZSovCi0gICAgbGVm
dDogLTRweDsgLyptdXN0IGhhdmUqLwotICAgIHdpZHRoOiAyMDBweDsgLyptdXN0IGhhdmUqLwot
ICAgIGhlaWdodDogMjAwcHg7IC8qbXVzdCBoYXZlKi8KLX0vKgotICogalF1ZXJ5IFVJIFByb2dy
ZXNzYmFyIDEuOC4xNQotICoKLSAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDov
L2pxdWVyeXVpLmNvbS9hYm91dCkKLSAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBH
UEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgotICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQotICoK
LSAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUHJvZ3Jlc3NiYXIjdGhlbWluZwotICovCi0u
dWktcHJvZ3Jlc3NiYXIgeyBoZWlnaHQ6MmVtOyB0ZXh0LWFsaWduOiBsZWZ0OyB9Ci0udWktcHJv
Z3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLXZhbHVlIHttYXJnaW46IC0xcHg7IGhlaWdodDoxMDAl
OyB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9hamF4L2xpYnMvanF1ZXJ5dWkvanF1ZXJ5LXVpLTEuOC4xNS5taW4uanMgYi9XZWJz
aXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS9qcXVlcnktdWktMS44LjE1Lm1pbi5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDM3MGFmZGFlZDYzYThmMmU0MzEzOGU2
MWI5ZDdmODExZWIyYWEyMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2FqYXgvbGlicy9qcXVlcnl1aS9qcXVlcnktdWkt
MS44LjE1Lm1pbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDQxMyArMCwwIEBACi0vKiEKLSAqIGpR
dWVyeSBVSSAxLjguMTUKLSAqCi0gKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6
Ly9qcXVlcnl1aS5jb20vYWJvdXQpCi0gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3Ig
R1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KLSAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKLSAq
Ci0gKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJCi0gKi8KLShmdW5jdGlvbihhLGMpe2Z1bmN0
aW9uIGQoaCxnKXt2YXIgaT1oLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoImFyZWEiPT09aSl7
Zz1oLnBhcmVudE5vZGU7aT1nLm5hbWU7aWYoIWguaHJlZnx8IWl8fGcubm9kZU5hbWUudG9Mb3dl
ckNhc2UoKSE9PSJtYXAiKXJldHVybiBmYWxzZTtoPWEoImltZ1t1c2VtYXA9IyIraSsiXSIpWzBd
O3JldHVybiEhaCYmZShoKX1yZXR1cm4oL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2Jq
ZWN0Ly50ZXN0KGkpPyFoLmRpc2FibGVkOiJhIj09aT9oLmhyZWZ8fGc6ZykmJmUoaCl9ZnVuY3Rp
b24gZShoKXtyZXR1cm4hYShoKS5wYXJlbnRzKCkuYW5kU2VsZigpLmZpbHRlcihmdW5jdGlvbigp
e3JldHVybiBhLmN1ckNTUyh0aGlzLCJ2aXNpYmlsaXR5Iik9PT0iaGlkZGVuInx8YS5leHByLmZp
bHRlcnMuaGlkZGVuKHRoaXMpfSkubGVuZ3RofWEudWk9YS51aXx8e307aWYoIWEudWkudmVyc2lv
bil7YS5leHRlbmQoYS51aSx7dmVyc2lvbjoiMS44LjE1IiwKLWtleUNvZGU6e0FMVDoxOCxCQUNL
U1BBQ0U6OCxDQVBTX0xPQ0s6MjAsQ09NTUE6MTg4LENPTU1BTkQ6OTEsQ09NTUFORF9MRUZUOjkx
LENPTU1BTkRfUklHSFQ6OTMsQ09OVFJPTDoxNyxERUxFVEU6NDYsRE9XTjo0MCxFTkQ6MzUsRU5U
RVI6MTMsRVNDQVBFOjI3LEhPTUU6MzYsSU5TRVJUOjQ1LExFRlQ6MzcsTUVOVTo5MyxOVU1QQURf
QUREOjEwNyxOVU1QQURfREVDSU1BTDoxMTAsTlVNUEFEX0RJVklERToxMTEsTlVNUEFEX0VOVEVS
OjEwOCxOVU1QQURfTVVMVElQTFk6MTA2LE5VTVBBRF9TVUJUUkFDVDoxMDksUEFHRV9ET1dOOjM0
LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTSElGVDoxNixTUEFDRTozMixUQUI6OSxV
UDozOCxXSU5ET1dTOjkxfX0pO2EuZm4uZXh0ZW5kKHtwcm9wQXR0cjphLmZuLnByb3B8fGEuZm4u
YXR0cixfZm9jdXM6YS5mbi5mb2N1cyxmb2N1czpmdW5jdGlvbihoLGcpe3JldHVybiB0eXBlb2Yg
aD09PSJudW1iZXIiP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPQotdGhpcztzZXRUaW1lb3V0
KGZ1bmN0aW9uKCl7YShpKS5mb2N1cygpO2cmJmcuY2FsbChpKX0saCl9KTp0aGlzLl9mb2N1cy5h
cHBseSh0aGlzLGFyZ3VtZW50cyl9LHNjcm9sbFBhcmVudDpmdW5jdGlvbigpe3ZhciBoO2g9YS5i
cm93c2VyLm1zaWUmJi8oc3RhdGljfHJlbGF0aXZlKS8udGVzdCh0aGlzLmNzcygicG9zaXRpb24i
KSl8fC9hYnNvbHV0ZS8udGVzdCh0aGlzLmNzcygicG9zaXRpb24iKSk/dGhpcy5wYXJlbnRzKCku
ZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuLyhyZWxhdGl2ZXxhYnNvbHV0ZXxmaXhlZCkvLnRlc3Qo
YS5jdXJDU1ModGhpcywicG9zaXRpb24iLDEpKSYmLyhhdXRvfHNjcm9sbCkvLnRlc3QoYS5jdXJD
U1ModGhpcywib3ZlcmZsb3ciLDEpK2EuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXkiLDEpK2EuY3Vy
Q1NTKHRoaXMsIm92ZXJmbG93LXgiLDEpKX0pLmVxKDApOnRoaXMucGFyZW50cygpLmZpbHRlcihm
dW5jdGlvbigpe3JldHVybi8oYXV0b3xzY3JvbGwpLy50ZXN0KGEuY3VyQ1NTKHRoaXMsCi0ib3Zl
cmZsb3ciLDEpK2EuY3VyQ1NTKHRoaXMsIm92ZXJmbG93LXkiLDEpK2EuY3VyQ1NTKHRoaXMsIm92
ZXJmbG93LXgiLDEpKX0pLmVxKDApO3JldHVybi9maXhlZC8udGVzdCh0aGlzLmNzcygicG9zaXRp
b24iKSl8fCFoLmxlbmd0aD9hKGRvY3VtZW50KTpofSx6SW5kZXg6ZnVuY3Rpb24oaCl7aWYoaCE9
PWMpcmV0dXJuIHRoaXMuY3NzKCJ6SW5kZXgiLGgpO2lmKHRoaXMubGVuZ3RoKXtoPWEodGhpc1sw
XSk7Zm9yKHZhciBnO2gubGVuZ3RoJiZoWzBdIT09ZG9jdW1lbnQ7KXtnPWguY3NzKCJwb3NpdGlv
biIpO2lmKGc9PT0iYWJzb2x1dGUifHxnPT09InJlbGF0aXZlInx8Zz09PSJmaXhlZCIpe2c9cGFy
c2VJbnQoaC5jc3MoInpJbmRleCIpLDEwKTtpZighaXNOYU4oZykmJmchPT0wKXJldHVybiBnfWg9
aC5wYXJlbnQoKX19cmV0dXJuIDB9LGRpc2FibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4g
dGhpcy5iaW5kKChhLnN1cHBvcnQuc2VsZWN0c3RhcnQ/InNlbGVjdHN0YXJ0IjoKLSJtb3VzZWRv
d24iKSsiLnVpLWRpc2FibGVTZWxlY3Rpb24iLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQo
KX0pfSxlbmFibGVTZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmJpbmQoIi51aS1k
aXNhYmxlU2VsZWN0aW9uIil9fSk7YS5lYWNoKFsiV2lkdGgiLCJIZWlnaHQiXSxmdW5jdGlvbiho
LGcpe2Z1bmN0aW9uIGkobCxvLG4sayl7YS5lYWNoKGIsZnVuY3Rpb24oKXtvLT1wYXJzZUZsb2F0
KGEuY3VyQ1NTKGwsInBhZGRpbmciK3RoaXMsdHJ1ZSkpfHwwO2lmKG4pby09cGFyc2VGbG9hdChh
LmN1ckNTUyhsLCJib3JkZXIiK3RoaXMrIldpZHRoIix0cnVlKSl8fDA7aWYoaylvLT1wYXJzZUZs
b2F0KGEuY3VyQ1NTKGwsIm1hcmdpbiIrdGhpcyx0cnVlKSl8fDB9KTtyZXR1cm4gb312YXIgYj1n
PT09IldpZHRoIj9bIkxlZnQiLCJSaWdodCJdOlsiVG9wIiwiQm90dG9tIl0sZj1nLnRvTG93ZXJD
YXNlKCksaj17aW5uZXJXaWR0aDphLmZuLmlubmVyV2lkdGgsaW5uZXJIZWlnaHQ6YS5mbi5pbm5l
ckhlaWdodCwKLW91dGVyV2lkdGg6YS5mbi5vdXRlcldpZHRoLG91dGVySGVpZ2h0OmEuZm4ub3V0
ZXJIZWlnaHR9O2EuZm5bImlubmVyIitnXT1mdW5jdGlvbihsKXtpZihsPT09YylyZXR1cm4galsi
aW5uZXIiK2ddLmNhbGwodGhpcyk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2EodGhpcyku
Y3NzKGYsaSh0aGlzLGwpKyJweCIpfSl9O2EuZm5bIm91dGVyIitnXT1mdW5jdGlvbihsLG8pe2lm
KHR5cGVvZiBsIT09Im51bWJlciIpcmV0dXJuIGpbIm91dGVyIitnXS5jYWxsKHRoaXMsbCk7cmV0
dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2EodGhpcykuY3NzKGYsaSh0aGlzLGwsdHJ1ZSxvKSsi
cHgiKX0pfX0pO2EuZXh0ZW5kKGEuZXhwclsiOiJdLHtkYXRhOmZ1bmN0aW9uKGgsZyxpKXtyZXR1
cm4hIWEuZGF0YShoLGlbM10pfSxmb2N1c2FibGU6ZnVuY3Rpb24oaCl7cmV0dXJuIGQoaCwhaXNO
YU4oYS5hdHRyKGgsInRhYmluZGV4IikpKX0sdGFiYmFibGU6ZnVuY3Rpb24oaCl7dmFyIGc9YS5h
dHRyKGgsCi0idGFiaW5kZXgiKSxpPWlzTmFOKGcpO3JldHVybihpfHxnPj0wKSYmZChoLCFpKX19
KTthKGZ1bmN0aW9uKCl7dmFyIGg9ZG9jdW1lbnQuYm9keSxnPWguYXBwZW5kQ2hpbGQoZz1kb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7YS5leHRlbmQoZy5zdHlsZSx7bWluSGVpZ2h0OiIx
MDBweCIsaGVpZ2h0OiJhdXRvIixwYWRkaW5nOjAsYm9yZGVyV2lkdGg6MH0pO2Euc3VwcG9ydC5t
aW5IZWlnaHQ9Zy5vZmZzZXRIZWlnaHQ9PT0xMDA7YS5zdXBwb3J0LnNlbGVjdHN0YXJ0PSJvbnNl
bGVjdHN0YXJ0ImluIGc7aC5yZW1vdmVDaGlsZChnKS5zdHlsZS5kaXNwbGF5PSJub25lIn0pO2Eu
ZXh0ZW5kKGEudWkse3BsdWdpbjp7YWRkOmZ1bmN0aW9uKGgsZyxpKXtoPWEudWlbaF0ucHJvdG90
eXBlO2Zvcih2YXIgYiBpbiBpKXtoLnBsdWdpbnNbYl09aC5wbHVnaW5zW2JdfHxbXTtoLnBsdWdp
bnNbYl0ucHVzaChbZyxpW2JdXSl9fSxjYWxsOmZ1bmN0aW9uKGgsZyxpKXtpZigoZz1oLnBsdWdp
bnNbZ10pJiYKLWguZWxlbWVudFswXS5wYXJlbnROb2RlKWZvcih2YXIgYj0wO2I8Zy5sZW5ndGg7
YisrKWgub3B0aW9uc1tnW2JdWzBdXSYmZ1tiXVsxXS5hcHBseShoLmVsZW1lbnQsaSl9fSxjb250
YWluczpmdW5jdGlvbihoLGcpe3JldHVybiBkb2N1bWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bj9oLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGcpJjE2OmghPT1nJiZoLmNvbnRhaW5zKGcpfSxo
YXNTY3JvbGw6ZnVuY3Rpb24oaCxnKXtpZihhKGgpLmNzcygib3ZlcmZsb3ciKT09PSJoaWRkZW4i
KXJldHVybiBmYWxzZTtnPWcmJmc9PT0ibGVmdCI/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiO3Zh
ciBpPWZhbHNlO2lmKGhbZ10+MClyZXR1cm4gdHJ1ZTtoW2ddPTE7aT1oW2ddPjA7aFtnXT0wO3Jl
dHVybiBpfSxpc092ZXJBeGlzOmZ1bmN0aW9uKGgsZyxpKXtyZXR1cm4gaD5nJiZoPGcraX0saXNP
dmVyOmZ1bmN0aW9uKGgsZyxpLGIsZixqKXtyZXR1cm4gYS51aS5pc092ZXJBeGlzKGgsaSxmKSYm
Ci1hLnVpLmlzT3ZlckF4aXMoZyxiLGopfX0pfX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSxjKXtp
ZihhLmNsZWFuRGF0YSl7dmFyIGQ9YS5jbGVhbkRhdGE7YS5jbGVhbkRhdGE9ZnVuY3Rpb24oaCl7
Zm9yKHZhciBnPTAsaTsoaT1oW2ddKSE9bnVsbDtnKyspYShpKS50cmlnZ2VySGFuZGxlcigicmVt
b3ZlIik7ZChoKX19ZWxzZXt2YXIgZT1hLmZuLnJlbW92ZTthLmZuLnJlbW92ZT1mdW5jdGlvbiho
LGcpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZighZylpZighaHx8YS5maWx0ZXIoaCxb
dGhpc10pLmxlbmd0aClhKCIqIix0aGlzKS5hZGQoW3RoaXNdKS5lYWNoKGZ1bmN0aW9uKCl7YSh0
aGlzKS50cmlnZ2VySGFuZGxlcigicmVtb3ZlIil9KTtyZXR1cm4gZS5jYWxsKGEodGhpcyksaCxn
KX0pfX1hLndpZGdldD1mdW5jdGlvbihoLGcsaSl7dmFyIGI9aC5zcGxpdCgiLiIpWzBdLGY7aD1o
LnNwbGl0KCIuIilbMV07Zj1iKyItIitoO2lmKCFpKXtpPWc7Zz1hLldpZGdldH1hLmV4cHJbIjoi
XVtmXT1mdW5jdGlvbihqKXtyZXR1cm4hIWEuZGF0YShqLAotaCl9O2FbYl09YVtiXXx8e307YVti
XVtoXT1mdW5jdGlvbihqLGwpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChq
LGwpfTtnPW5ldyBnO2cub3B0aW9ucz1hLmV4dGVuZCh0cnVlLHt9LGcub3B0aW9ucyk7YVtiXVto
XS5wcm90b3R5cGU9YS5leHRlbmQodHJ1ZSxnLHtuYW1lc3BhY2U6Yix3aWRnZXROYW1lOmgsd2lk
Z2V0RXZlbnRQcmVmaXg6YVtiXVtoXS5wcm90b3R5cGUud2lkZ2V0RXZlbnRQcmVmaXh8fGgsd2lk
Z2V0QmFzZUNsYXNzOmZ9LGkpO2Eud2lkZ2V0LmJyaWRnZShoLGFbYl1baF0pfTthLndpZGdldC5i
cmlkZ2U9ZnVuY3Rpb24oaCxnKXthLmZuW2hdPWZ1bmN0aW9uKGkpe3ZhciBiPXR5cGVvZiBpPT09
InN0cmluZyIsZj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSksaj10aGlz
O2k9IWImJmYubGVuZ3RoP2EuZXh0ZW5kLmFwcGx5KG51bGwsW3RydWUsaV0uY29uY2F0KGYpKTpp
O2lmKGImJmkuY2hhckF0KDApPT09Il8iKXJldHVybiBqOwotYj90aGlzLmVhY2goZnVuY3Rpb24o
KXt2YXIgbD1hLmRhdGEodGhpcyxoKSxvPWwmJmEuaXNGdW5jdGlvbihsW2ldKT9sW2ldLmFwcGx5
KGwsZik6bDtpZihvIT09bCYmbyE9PWMpe2o9bztyZXR1cm4gZmFsc2V9fSk6dGhpcy5lYWNoKGZ1
bmN0aW9uKCl7dmFyIGw9YS5kYXRhKHRoaXMsaCk7bD9sLm9wdGlvbihpfHx7fSkuX2luaXQoKTph
LmRhdGEodGhpcyxoLG5ldyBnKGksdGhpcykpfSk7cmV0dXJuIGp9fTthLldpZGdldD1mdW5jdGlv
bihoLGcpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldChoLGcpfTthLldpZGdl
dC5wcm90b3R5cGU9e3dpZGdldE5hbWU6IndpZGdldCIsd2lkZ2V0RXZlbnRQcmVmaXg6IiIsb3B0
aW9uczp7ZGlzYWJsZWQ6ZmFsc2V9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24oaCxnKXthLmRhdGEo
Zyx0aGlzLndpZGdldE5hbWUsdGhpcyk7dGhpcy5lbGVtZW50PWEoZyk7dGhpcy5vcHRpb25zPWEu
ZXh0ZW5kKHRydWUse30sdGhpcy5vcHRpb25zLAotdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLGgp
O3ZhciBpPXRoaXM7dGhpcy5lbGVtZW50LmJpbmQoInJlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSxm
dW5jdGlvbigpe2kuZGVzdHJveSgpfSk7dGhpcy5fY3JlYXRlKCk7dGhpcy5fdHJpZ2dlcigiY3Jl
YXRlIik7dGhpcy5faW5pdCgpfSxfZ2V0Q3JlYXRlT3B0aW9uczpmdW5jdGlvbigpe3JldHVybiBh
Lm1ldGFkYXRhJiZhLm1ldGFkYXRhLmdldCh0aGlzLmVsZW1lbnRbMF0pW3RoaXMud2lkZ2V0TmFt
ZV19LF9jcmVhdGU6ZnVuY3Rpb24oKXt9LF9pbml0OmZ1bmN0aW9uKCl7fSxkZXN0cm95OmZ1bmN0
aW9uKCl7dGhpcy5lbGVtZW50LnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKS5yZW1vdmVEYXRh
KHRoaXMud2lkZ2V0TmFtZSk7dGhpcy53aWRnZXQoKS51bmJpbmQoIi4iK3RoaXMud2lkZ2V0TmFt
ZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKHRoaXMud2lkZ2V0QmFz
ZUNsYXNzKyItZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKX0sCi13aWRnZXQ6ZnVuY3Rpb24o
KXtyZXR1cm4gdGhpcy5lbGVtZW50fSxvcHRpb246ZnVuY3Rpb24oaCxnKXt2YXIgaT1oO2lmKGFy
Z3VtZW50cy5sZW5ndGg9PT0wKXJldHVybiBhLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMpO2lmKHR5
cGVvZiBoPT09InN0cmluZyIpe2lmKGc9PT1jKXJldHVybiB0aGlzLm9wdGlvbnNbaF07aT17fTtp
W2hdPWd9dGhpcy5fc2V0T3B0aW9ucyhpKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbnM6ZnVuY3Rp
b24oaCl7dmFyIGc9dGhpczthLmVhY2goaCxmdW5jdGlvbihpLGIpe2cuX3NldE9wdGlvbihpLGIp
fSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oaCxnKXt0aGlzLm9wdGlvbnNbaF09
ZztpZihoPT09ImRpc2FibGVkIil0aGlzLndpZGdldCgpW2c/ImFkZENsYXNzIjoicmVtb3ZlQ2xh
c3MiXSh0aGlzLndpZGdldEJhc2VDbGFzcysiLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVkIiku
YXR0cigiYXJpYS1kaXNhYmxlZCIsZyk7cmV0dXJuIHRoaXN9LAotZW5hYmxlOmZ1bmN0aW9uKCl7
cmV0dXJuIHRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLGZhbHNlKX0sZGlzYWJsZTpmdW5jdGlv
bigpe3JldHVybiB0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIix0cnVlKX0sX3RyaWdnZXI6ZnVu
Y3Rpb24oaCxnLGkpe3ZhciBiPXRoaXMub3B0aW9uc1toXTtnPWEuRXZlbnQoZyk7Zy50eXBlPSho
PT09dGhpcy53aWRnZXRFdmVudFByZWZpeD9oOnRoaXMud2lkZ2V0RXZlbnRQcmVmaXgraCkudG9M
b3dlckNhc2UoKTtpPWl8fHt9O2lmKGcub3JpZ2luYWxFdmVudCl7aD1hLmV2ZW50LnByb3BzLmxl
bmd0aDtmb3IodmFyIGY7aDspe2Y9YS5ldmVudC5wcm9wc1stLWhdO2dbZl09Zy5vcmlnaW5hbEV2
ZW50W2ZdfX10aGlzLmVsZW1lbnQudHJpZ2dlcihnLGkpO3JldHVybiEoYS5pc0Z1bmN0aW9uKGIp
JiZiLmNhbGwodGhpcy5lbGVtZW50WzBdLGcsaSk9PT1mYWxzZXx8Zy5pc0RlZmF1bHRQcmV2ZW50
ZWQoKSl9fX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLm1vdXNlIix7b3B0
aW9uczp7Y2FuY2VsOiI6aW5wdXQsb3B0aW9uIixkaXN0YW5jZToxLGRlbGF5OjB9LF9tb3VzZUlu
aXQ6ZnVuY3Rpb24oKXt2YXIgYz10aGlzO3RoaXMuZWxlbWVudC5iaW5kKCJtb3VzZWRvd24uIit0
aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oZCl7cmV0dXJuIGMuX21vdXNlRG93bihkKX0pLmJpbmQo
ImNsaWNrLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKGQpe2lmKHRydWU9PT1hLmRhdGEoZC50
YXJnZXQsYy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSl7YS5yZW1vdmVEYXRhKGQu
dGFyZ2V0LGMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iik7ZC5zdG9wSW1tZWRpYXRl
UHJvcGFnYXRpb24oKTtyZXR1cm4gZmFsc2V9fSk7dGhpcy5zdGFydGVkPWZhbHNlfSxfbW91c2VE
ZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1l
KX0sX21vdXNlRG93bjpmdW5jdGlvbihjKXtjLm9yaWdpbmFsRXZlbnQ9Ci1jLm9yaWdpbmFsRXZl
bnR8fHt9O2lmKCFjLm9yaWdpbmFsRXZlbnQubW91c2VIYW5kbGVkKXt0aGlzLl9tb3VzZVN0YXJ0
ZWQmJnRoaXMuX21vdXNlVXAoYyk7dGhpcy5fbW91c2VEb3duRXZlbnQ9Yzt2YXIgZD10aGlzLGU9
Yy53aGljaD09MSxoPXR5cGVvZiB0aGlzLm9wdGlvbnMuY2FuY2VsPT0ic3RyaW5nIj9hKGMudGFy
Z2V0KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5jYW5jZWwpLmxlbmd0aDpmYWxzZTtpZighZXx8aHx8
IXRoaXMuX21vdXNlQ2FwdHVyZShjKSlyZXR1cm4gdHJ1ZTt0aGlzLm1vdXNlRGVsYXlNZXQ9IXRo
aXMub3B0aW9ucy5kZWxheTtpZighdGhpcy5tb3VzZURlbGF5TWV0KXRoaXMuX21vdXNlRGVsYXlU
aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5tb3VzZURlbGF5TWV0PXRydWV9LHRoaXMub3B0
aW9ucy5kZWxheSk7aWYodGhpcy5fbW91c2VEaXN0YW5jZU1ldChjKSYmdGhpcy5fbW91c2VEZWxh
eU1ldChjKSl7dGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQoYykhPT0KLWZhbHNl
O2lmKCF0aGlzLl9tb3VzZVN0YXJ0ZWQpe2MucHJldmVudERlZmF1bHQoKTtyZXR1cm4gdHJ1ZX19
dHJ1ZT09PWEuZGF0YShjLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVu
dCIpJiZhLnJlbW92ZURhdGEoYy50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNr
RXZlbnQiKTt0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZT1mdW5jdGlvbihnKXtyZXR1cm4gZC5fbW91
c2VNb3ZlKGcpfTt0aGlzLl9tb3VzZVVwRGVsZWdhdGU9ZnVuY3Rpb24oZyl7cmV0dXJuIGQuX21v
dXNlVXAoZyl9O2EoZG9jdW1lbnQpLmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0
aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkuYmluZCgibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0
aGlzLl9tb3VzZVVwRGVsZWdhdGUpO2MucHJldmVudERlZmF1bHQoKTtyZXR1cm4gYy5vcmlnaW5h
bEV2ZW50Lm1vdXNlSGFuZGxlZD10cnVlfX0sX21vdXNlTW92ZTpmdW5jdGlvbihjKXtpZihhLmJy
b3dzZXIubXNpZSYmCi0hKGRvY3VtZW50LmRvY3VtZW50TW9kZT49OSkmJiFjLmJ1dHRvbilyZXR1
cm4gdGhpcy5fbW91c2VVcChjKTtpZih0aGlzLl9tb3VzZVN0YXJ0ZWQpe3RoaXMuX21vdXNlRHJh
ZyhjKTtyZXR1cm4gYy5wcmV2ZW50RGVmYXVsdCgpfWlmKHRoaXMuX21vdXNlRGlzdGFuY2VNZXQo
YykmJnRoaXMuX21vdXNlRGVsYXlNZXQoYykpKHRoaXMuX21vdXNlU3RhcnRlZD10aGlzLl9tb3Vz
ZVN0YXJ0KHRoaXMuX21vdXNlRG93bkV2ZW50LGMpIT09ZmFsc2UpP3RoaXMuX21vdXNlRHJhZyhj
KTp0aGlzLl9tb3VzZVVwKGMpO3JldHVybiF0aGlzLl9tb3VzZVN0YXJ0ZWR9LF9tb3VzZVVwOmZ1
bmN0aW9uKGMpe2EoZG9jdW1lbnQpLnVuYmluZCgibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1l
LHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS51bmJpbmQoIm1vdXNldXAuIit0aGlzLndpZGdldE5h
bWUsdGhpcy5fbW91c2VVcERlbGVnYXRlKTtpZih0aGlzLl9tb3VzZVN0YXJ0ZWQpe3RoaXMuX21v
dXNlU3RhcnRlZD0KLWZhbHNlO2MudGFyZ2V0PT10aGlzLl9tb3VzZURvd25FdmVudC50YXJnZXQm
JmEuZGF0YShjLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIsdHJ1
ZSk7dGhpcy5fbW91c2VTdG9wKGMpfXJldHVybiBmYWxzZX0sX21vdXNlRGlzdGFuY2VNZXQ6ZnVu
Y3Rpb24oYyl7cmV0dXJuIE1hdGgubWF4KE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBh
Z2VYLWMucGFnZVgpLE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VZLWMucGFnZVkp
KT49dGhpcy5vcHRpb25zLmRpc3RhbmNlfSxfbW91c2VEZWxheU1ldDpmdW5jdGlvbigpe3JldHVy
biB0aGlzLm1vdXNlRGVsYXlNZXR9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7fSxfbW91c2VEcmFn
OmZ1bmN0aW9uKCl7fSxfbW91c2VTdG9wOmZ1bmN0aW9uKCl7fSxfbW91c2VDYXB0dXJlOmZ1bmN0
aW9uKCl7cmV0dXJuIHRydWV9fSl9KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1
aS5kcmFnZ2FibGUiLGEudWkubW91c2Use3dpZGdldEV2ZW50UHJlZml4OiJkcmFnIixvcHRpb25z
OnthZGRDbGFzc2VzOnRydWUsYXBwZW5kVG86InBhcmVudCIsYXhpczpmYWxzZSxjb25uZWN0VG9T
b3J0YWJsZTpmYWxzZSxjb250YWlubWVudDpmYWxzZSxjdXJzb3I6ImF1dG8iLGN1cnNvckF0OmZh
bHNlLGdyaWQ6ZmFsc2UsaGFuZGxlOmZhbHNlLGhlbHBlcjoib3JpZ2luYWwiLGlmcmFtZUZpeDpm
YWxzZSxvcGFjaXR5OmZhbHNlLHJlZnJlc2hQb3NpdGlvbnM6ZmFsc2UscmV2ZXJ0OmZhbHNlLHJl
dmVydER1cmF0aW9uOjUwMCxzY29wZToiZGVmYXVsdCIsc2Nyb2xsOnRydWUsc2Nyb2xsU2Vuc2l0
aXZpdHk6MjAsc2Nyb2xsU3BlZWQ6MjAsc25hcDpmYWxzZSxzbmFwTW9kZToiYm90aCIsc25hcFRv
bGVyYW5jZToyMCxzdGFjazpmYWxzZSx6SW5kZXg6ZmFsc2V9LF9jcmVhdGU6ZnVuY3Rpb24oKXtp
Zih0aGlzLm9wdGlvbnMuaGVscGVyPT0KLSJvcmlnaW5hbCImJiEvXig/OnJ8YXxmKS8udGVzdCh0
aGlzLmVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpKSl0aGlzLmVsZW1lbnRbMF0uc3R5bGUucG9zaXRp
b249InJlbGF0aXZlIjt0aGlzLm9wdGlvbnMuYWRkQ2xhc3NlcyYmdGhpcy5lbGVtZW50LmFkZENs
YXNzKCJ1aS1kcmFnZ2FibGUiKTt0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuZWxlbWVudC5h
ZGRDbGFzcygidWktZHJhZ2dhYmxlLWRpc2FibGVkIik7dGhpcy5fbW91c2VJbml0KCl9LGRlc3Ry
b3k6ZnVuY3Rpb24oKXtpZih0aGlzLmVsZW1lbnQuZGF0YSgiZHJhZ2dhYmxlIikpe3RoaXMuZWxl
bWVudC5yZW1vdmVEYXRhKCJkcmFnZ2FibGUiKS51bmJpbmQoIi5kcmFnZ2FibGUiKS5yZW1vdmVD
bGFzcygidWktZHJhZ2dhYmxlIHVpLWRyYWdnYWJsZS1kcmFnZ2luZyB1aS1kcmFnZ2FibGUtZGlz
YWJsZWQiKTt0aGlzLl9tb3VzZURlc3Ryb3koKTtyZXR1cm4gdGhpc319LF9tb3VzZUNhcHR1cmU6
ZnVuY3Rpb24oYyl7dmFyIGQ9Ci10aGlzLm9wdGlvbnM7aWYodGhpcy5oZWxwZXJ8fGQuZGlzYWJs
ZWR8fGEoYy50YXJnZXQpLmlzKCIudWktcmVzaXphYmxlLWhhbmRsZSIpKXJldHVybiBmYWxzZTt0
aGlzLmhhbmRsZT10aGlzLl9nZXRIYW5kbGUoYyk7aWYoIXRoaXMuaGFuZGxlKXJldHVybiBmYWxz
ZTthKGQuaWZyYW1lRml4PT09dHJ1ZT8iaWZyYW1lIjpkLmlmcmFtZUZpeCkuZWFjaChmdW5jdGlv
bigpe2EoJzxkaXYgY2xhc3M9InVpLWRyYWdnYWJsZS1pZnJhbWVGaXgiIHN0eWxlPSJiYWNrZ3Jv
dW5kOiAjZmZmOyI+PC9kaXY+JykuY3NzKHt3aWR0aDp0aGlzLm9mZnNldFdpZHRoKyJweCIsaGVp
Z2h0OnRoaXMub2Zmc2V0SGVpZ2h0KyJweCIscG9zaXRpb246ImFic29sdXRlIixvcGFjaXR5OiIw
LjAwMSIsekluZGV4OjFFM30pLmNzcyhhKHRoaXMpLm9mZnNldCgpKS5hcHBlbmRUbygiYm9keSIp
fSk7cmV0dXJuIHRydWV9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMub3B0aW9u
czt0aGlzLmhlbHBlcj0KLXRoaXMuX2NyZWF0ZUhlbHBlcihjKTt0aGlzLl9jYWNoZUhlbHBlclBy
b3BvcnRpb25zKCk7aWYoYS51aS5kZG1hbmFnZXIpYS51aS5kZG1hbmFnZXIuY3VycmVudD10aGlz
O3RoaXMuX2NhY2hlTWFyZ2lucygpO3RoaXMuY3NzUG9zaXRpb249dGhpcy5oZWxwZXIuY3NzKCJw
b3NpdGlvbiIpO3RoaXMuc2Nyb2xsUGFyZW50PXRoaXMuaGVscGVyLnNjcm9sbFBhcmVudCgpO3Ro
aXMub2Zmc2V0PXRoaXMucG9zaXRpb25BYnM9dGhpcy5lbGVtZW50Lm9mZnNldCgpO3RoaXMub2Zm
c2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLXRoaXMubWFyZ2lucy50b3AsbGVmdDp0aGlzLm9mZnNl
dC5sZWZ0LXRoaXMubWFyZ2lucy5sZWZ0fTthLmV4dGVuZCh0aGlzLm9mZnNldCx7Y2xpY2s6e2xl
ZnQ6Yy5wYWdlWC10aGlzLm9mZnNldC5sZWZ0LHRvcDpjLnBhZ2VZLXRoaXMub2Zmc2V0LnRvcH0s
cGFyZW50OnRoaXMuX2dldFBhcmVudE9mZnNldCgpLHJlbGF0aXZlOnRoaXMuX2dldFJlbGF0aXZl
T2Zmc2V0KCl9KTsKLXRoaXMub3JpZ2luYWxQb3NpdGlvbj10aGlzLnBvc2l0aW9uPXRoaXMuX2dl
bmVyYXRlUG9zaXRpb24oYyk7dGhpcy5vcmlnaW5hbFBhZ2VYPWMucGFnZVg7dGhpcy5vcmlnaW5h
bFBhZ2VZPWMucGFnZVk7ZC5jdXJzb3JBdCYmdGhpcy5fYWRqdXN0T2Zmc2V0RnJvbUhlbHBlcihk
LmN1cnNvckF0KTtkLmNvbnRhaW5tZW50JiZ0aGlzLl9zZXRDb250YWlubWVudCgpO2lmKHRoaXMu
X3RyaWdnZXIoInN0YXJ0IixjKT09PWZhbHNlKXt0aGlzLl9jbGVhcigpO3JldHVybiBmYWxzZX10
aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCk7YS51aS5kZG1hbmFnZXImJiFkLmRyb3BCZWhh
dmlvdXImJmEudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsYyk7dGhpcy5oZWxwZXIu
YWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpO3RoaXMuX21vdXNlRHJhZyhjLHRydWUp
O2EudWkuZGRtYW5hZ2VyJiZhLnVpLmRkbWFuYWdlci5kcmFnU3RhcnQodGhpcyxjKTtyZXR1cm4g
dHJ1ZX0sCi1fbW91c2VEcmFnOmZ1bmN0aW9uKGMsZCl7dGhpcy5wb3NpdGlvbj10aGlzLl9nZW5l
cmF0ZVBvc2l0aW9uKGMpO3RoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8o
ImFic29sdXRlIik7aWYoIWQpe2Q9dGhpcy5fdWlIYXNoKCk7aWYodGhpcy5fdHJpZ2dlcigiZHJh
ZyIsYyxkKT09PWZhbHNlKXt0aGlzLl9tb3VzZVVwKHt9KTtyZXR1cm4gZmFsc2V9dGhpcy5wb3Np
dGlvbj1kLnBvc2l0aW9ufWlmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMh
PSJ5Iil0aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0PXRoaXMucG9zaXRpb24ubGVmdCsicHgiO2lm
KCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMhPSJ4Iil0aGlzLmhlbHBlclsw
XS5zdHlsZS50b3A9dGhpcy5wb3NpdGlvbi50b3ArInB4IjthLnVpLmRkbWFuYWdlciYmYS51aS5k
ZG1hbmFnZXIuZHJhZyh0aGlzLGMpO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihj
KXt2YXIgZD0KLWZhbHNlO2lmKGEudWkuZGRtYW5hZ2VyJiYhdGhpcy5vcHRpb25zLmRyb3BCZWhh
dmlvdXIpZD1hLnVpLmRkbWFuYWdlci5kcm9wKHRoaXMsYyk7aWYodGhpcy5kcm9wcGVkKXtkPXRo
aXMuZHJvcHBlZDt0aGlzLmRyb3BwZWQ9ZmFsc2V9aWYoKCF0aGlzLmVsZW1lbnRbMF18fCF0aGlz
LmVsZW1lbnRbMF0ucGFyZW50Tm9kZSkmJnRoaXMub3B0aW9ucy5oZWxwZXI9PSJvcmlnaW5hbCIp
cmV0dXJuIGZhbHNlO2lmKHRoaXMub3B0aW9ucy5yZXZlcnQ9PSJpbnZhbGlkIiYmIWR8fHRoaXMu
b3B0aW9ucy5yZXZlcnQ9PSJ2YWxpZCImJmR8fHRoaXMub3B0aW9ucy5yZXZlcnQ9PT10cnVlfHxh
LmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLnJldmVydCkmJnRoaXMub3B0aW9ucy5yZXZlcnQuY2Fs
bCh0aGlzLmVsZW1lbnQsZCkpe3ZhciBlPXRoaXM7YSh0aGlzLmhlbHBlcikuYW5pbWF0ZSh0aGlz
Lm9yaWdpbmFsUG9zaXRpb24scGFyc2VJbnQodGhpcy5vcHRpb25zLnJldmVydER1cmF0aW9uLAot
MTApLGZ1bmN0aW9uKCl7ZS5fdHJpZ2dlcigic3RvcCIsYykhPT1mYWxzZSYmZS5fY2xlYXIoKX0p
fWVsc2UgdGhpcy5fdHJpZ2dlcigic3RvcCIsYykhPT1mYWxzZSYmdGhpcy5fY2xlYXIoKTtyZXR1
cm4gZmFsc2V9LF9tb3VzZVVwOmZ1bmN0aW9uKGMpe3RoaXMub3B0aW9ucy5pZnJhbWVGaXg9PT10
cnVlJiZhKCJkaXYudWktZHJhZ2dhYmxlLWlmcmFtZUZpeCIpLmVhY2goZnVuY3Rpb24oKXt0aGlz
LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcyl9KTthLnVpLmRkbWFuYWdlciYmYS51aS5kZG1h
bmFnZXIuZHJhZ1N0b3AodGhpcyxjKTtyZXR1cm4gYS51aS5tb3VzZS5wcm90b3R5cGUuX21vdXNl
VXAuY2FsbCh0aGlzLGMpfSxjYW5jZWw6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlci5pcygiLnVpLWRy
YWdnYWJsZS1kcmFnZ2luZyIpP3RoaXMuX21vdXNlVXAoe30pOnRoaXMuX2NsZWFyKCk7cmV0dXJu
IHRoaXN9LF9nZXRIYW5kbGU6ZnVuY3Rpb24oYyl7dmFyIGQ9IXRoaXMub3B0aW9ucy5oYW5kbGV8
fAotIWEodGhpcy5vcHRpb25zLmhhbmRsZSx0aGlzLmVsZW1lbnQpLmxlbmd0aD90cnVlOmZhbHNl
O2EodGhpcy5vcHRpb25zLmhhbmRsZSx0aGlzLmVsZW1lbnQpLmZpbmQoIioiKS5hbmRTZWxmKCku
ZWFjaChmdW5jdGlvbigpe2lmKHRoaXM9PWMudGFyZ2V0KWQ9dHJ1ZX0pO3JldHVybiBkfSxfY3Jl
YXRlSGVscGVyOmZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMub3B0aW9ucztjPWEuaXNGdW5jdGlvbihk
LmhlbHBlcik/YShkLmhlbHBlci5hcHBseSh0aGlzLmVsZW1lbnRbMF0sW2NdKSk6ZC5oZWxwZXI9
PSJjbG9uZSI/dGhpcy5lbGVtZW50LmNsb25lKCkucmVtb3ZlQXR0cigiaWQiKTp0aGlzLmVsZW1l
bnQ7Yy5wYXJlbnRzKCJib2R5IikubGVuZ3RofHxjLmFwcGVuZFRvKGQuYXBwZW5kVG89PSJwYXJl
bnQiP3RoaXMuZWxlbWVudFswXS5wYXJlbnROb2RlOmQuYXBwZW5kVG8pO2NbMF0hPXRoaXMuZWxl
bWVudFswXSYmIS8oZml4ZWR8YWJzb2x1dGUpLy50ZXN0KGMuY3NzKCJwb3NpdGlvbiIpKSYmCi1j
LmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpO3JldHVybiBjfSxfYWRqdXN0T2Zmc2V0RnJvbUhl
bHBlcjpmdW5jdGlvbihjKXtpZih0eXBlb2YgYz09InN0cmluZyIpYz1jLnNwbGl0KCIgIik7aWYo
YS5pc0FycmF5KGMpKWM9e2xlZnQ6K2NbMF0sdG9wOitjWzFdfHwwfTtpZigibGVmdCJpbiBjKXRo
aXMub2Zmc2V0LmNsaWNrLmxlZnQ9Yy5sZWZ0K3RoaXMubWFyZ2lucy5sZWZ0O2lmKCJyaWdodCJp
biBjKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC1j
LnJpZ2h0K3RoaXMubWFyZ2lucy5sZWZ0O2lmKCJ0b3AiaW4gYyl0aGlzLm9mZnNldC5jbGljay50
b3A9Yy50b3ArdGhpcy5tYXJnaW5zLnRvcDtpZigiYm90dG9tImluIGMpdGhpcy5vZmZzZXQuY2xp
Y2sudG9wPXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LWMuYm90dG9tK3RoaXMubWFyZ2lu
cy50b3B9LF9nZXRQYXJlbnRPZmZzZXQ6ZnVuY3Rpb24oKXt0aGlzLm9mZnNldFBhcmVudD0KLXRo
aXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciBjPXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgp
O2lmKHRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0ZSImJnRoaXMuc2Nyb2xsUGFyZW50WzBdIT1k
b2N1bWVudCYmYS51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBh
cmVudFswXSkpe2MubGVmdCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpO2MudG9wKz10
aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKX1pZih0aGlzLm9mZnNldFBhcmVudFswXT09ZG9j
dW1lbnQuYm9keXx8dGhpcy5vZmZzZXRQYXJlbnRbMF0udGFnTmFtZSYmdGhpcy5vZmZzZXRQYXJl
bnRbMF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0iaHRtbCImJmEuYnJvd3Nlci5tc2llKWM9e3Rv
cDowLGxlZnQ6MH07cmV0dXJue3RvcDpjLnRvcCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQu
Y3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCksbGVmdDpjLmxlZnQrKHBhcnNlSW50KHRoaXMu
b2Zmc2V0UGFyZW50LmNzcygiYm9yZGVyTGVmdFdpZHRoIiksCi0xMCl8fDApfX0sX2dldFJlbGF0
aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5jc3NQb3NpdGlvbj09InJlbGF0aXZlIil7dmFy
IGM9dGhpcy5lbGVtZW50LnBvc2l0aW9uKCk7cmV0dXJue3RvcDpjLnRvcC0ocGFyc2VJbnQodGhp
cy5oZWxwZXIuY3NzKCJ0b3AiKSwxMCl8fDApK3RoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgp
LGxlZnQ6Yy5sZWZ0LShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoImxlZnQiKSwxMCl8fDApK3Ro
aXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKX19ZWxzZSByZXR1cm57dG9wOjAsbGVmdDowfX0s
X2NhY2hlTWFyZ2luczpmdW5jdGlvbigpe3RoaXMubWFyZ2lucz17bGVmdDpwYXJzZUludCh0aGlz
LmVsZW1lbnQuY3NzKCJtYXJnaW5MZWZ0IiksMTApfHwwLHRvcDpwYXJzZUludCh0aGlzLmVsZW1l
bnQuY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDAscmlnaHQ6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNz
cygibWFyZ2luUmlnaHQiKSwxMCl8fDAsYm90dG9tOnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3Mo
Im1hcmdpbkJvdHRvbSIpLAotMTApfHwwfX0sX2NhY2hlSGVscGVyUHJvcG9ydGlvbnM6ZnVuY3Rp
b24oKXt0aGlzLmhlbHBlclByb3BvcnRpb25zPXt3aWR0aDp0aGlzLmhlbHBlci5vdXRlcldpZHRo
KCksaGVpZ2h0OnRoaXMuaGVscGVyLm91dGVySGVpZ2h0KCl9fSxfc2V0Q29udGFpbm1lbnQ6ZnVu
Y3Rpb24oKXt2YXIgYz10aGlzLm9wdGlvbnM7aWYoYy5jb250YWlubWVudD09InBhcmVudCIpYy5j
b250YWlubWVudD10aGlzLmhlbHBlclswXS5wYXJlbnROb2RlO2lmKGMuY29udGFpbm1lbnQ9PSJk
b2N1bWVudCJ8fGMuY29udGFpbm1lbnQ9PSJ3aW5kb3ciKXRoaXMuY29udGFpbm1lbnQ9W2MuY29u
dGFpbm1lbnQ9PSJkb2N1bWVudCI/MDphKHdpbmRvdykuc2Nyb2xsTGVmdCgpLXRoaXMub2Zmc2V0
LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsYy5jb250YWlubWVudD09ImRv
Y3VtZW50Ij8wOmEod2luZG93KS5zY3JvbGxUb3AoKS10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3At
dGhpcy5vZmZzZXQucGFyZW50LnRvcCwKLShjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPzA6YSh3
aW5kb3cpLnNjcm9sbExlZnQoKSkrYShjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiP2RvY3VtZW50
OndpbmRvdykud2lkdGgoKS10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLXRoaXMubWFyZ2lu
cy5sZWZ0LChjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiPzA6YSh3aW5kb3cpLnNjcm9sbFRvcCgp
KSsoYShjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiP2RvY3VtZW50OndpbmRvdykuaGVpZ2h0KCl8
fGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9y
dGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdO2lmKCEvXihkb2N1bWVudHx3aW5kb3d8cGFy
ZW50KSQvLnRlc3QoYy5jb250YWlubWVudCkmJmMuY29udGFpbm1lbnQuY29uc3RydWN0b3IhPUFy
cmF5KXtjPWEoYy5jb250YWlubWVudCk7dmFyIGQ9Y1swXTtpZihkKXtjLm9mZnNldCgpO3ZhciBl
PWEoZCkuY3NzKCJvdmVyZmxvdyIpIT0KLSJoaWRkZW4iO3RoaXMuY29udGFpbm1lbnQ9WyhwYXJz
ZUludChhKGQpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoYShkKS5j
c3MoInBhZGRpbmdMZWZ0IiksMTApfHwwKSwocGFyc2VJbnQoYShkKS5jc3MoImJvcmRlclRvcFdp
ZHRoIiksMTApfHwwKSsocGFyc2VJbnQoYShkKS5jc3MoInBhZGRpbmdUb3AiKSwxMCl8fDApLChl
P01hdGgubWF4KGQuc2Nyb2xsV2lkdGgsZC5vZmZzZXRXaWR0aCk6ZC5vZmZzZXRXaWR0aCktKHBh
cnNlSW50KGEoZCkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApLShwYXJzZUludChhKGQp
LmNzcygicGFkZGluZ1JpZ2h0IiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRo
LXRoaXMubWFyZ2lucy5sZWZ0LXRoaXMubWFyZ2lucy5yaWdodCwoZT9NYXRoLm1heChkLnNjcm9s
bEhlaWdodCxkLm9mZnNldEhlaWdodCk6ZC5vZmZzZXRIZWlnaHQpLShwYXJzZUludChhKGQpLmNz
cygiYm9yZGVyVG9wV2lkdGgiKSwKLTEwKXx8MCktKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5n
Qm90dG9tIiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdp
bnMudG9wLXRoaXMubWFyZ2lucy5ib3R0b21dO3RoaXMucmVsYXRpdmVfY29udGFpbmVyPWN9fWVs
c2UgaWYoYy5jb250YWlubWVudC5jb25zdHJ1Y3Rvcj09QXJyYXkpdGhpcy5jb250YWlubWVudD1j
LmNvbnRhaW5tZW50fSxfY29udmVydFBvc2l0aW9uVG86ZnVuY3Rpb24oYyxkKXtpZighZClkPXRo
aXMucG9zaXRpb247Yz1jPT0iYWJzb2x1dGUiPzE6LTE7dmFyIGU9dGhpcy5jc3NQb3NpdGlvbj09
ImFic29sdXRlIiYmISh0aGlzLnNjcm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmEudWkuY29udGFp
bnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKT90aGlzLm9mZnNl
dFBhcmVudDp0aGlzLnNjcm9sbFBhcmVudCxoPS8oaHRtbHxib2R5KS9pLnRlc3QoZVswXS50YWdO
YW1lKTtyZXR1cm57dG9wOmQudG9wKwotdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wKmMrdGhpcy5v
ZmZzZXQucGFyZW50LnRvcCpjLShhLmJyb3dzZXIuc2FmYXJpJiZhLmJyb3dzZXIudmVyc2lvbjw1
MjYmJnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDoodGhpcy5jc3NQb3NpdGlvbj09ImZpeGVk
Ij8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6aD8wOmUuc2Nyb2xsVG9wKCkpKmMpLGxl
ZnQ6ZC5sZWZ0K3RoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQqYyt0aGlzLm9mZnNldC5wYXJlbnQu
bGVmdCpjLShhLmJyb3dzZXIuc2FmYXJpJiZhLmJyb3dzZXIudmVyc2lvbjw1MjYmJnRoaXMuY3Nz
UG9zaXRpb249PSJmaXhlZCI/MDoodGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8tdGhpcy5zY3Jv
bGxQYXJlbnQuc2Nyb2xsTGVmdCgpOmg/MDplLnNjcm9sbExlZnQoKSkqYyl9fSxfZ2VuZXJhdGVQ
b3NpdGlvbjpmdW5jdGlvbihjKXt2YXIgZD10aGlzLm9wdGlvbnMsZT10aGlzLmNzc1Bvc2l0aW9u
PT0iYWJzb2x1dGUiJiYKLSEodGhpcy5zY3JvbGxQYXJlbnRbMF0hPWRvY3VtZW50JiZhLnVpLmNv
bnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSk/dGhpcy5v
ZmZzZXRQYXJlbnQ6dGhpcy5zY3JvbGxQYXJlbnQsaD0vKGh0bWx8Ym9keSkvaS50ZXN0KGVbMF0u
dGFnTmFtZSksZz1jLnBhZ2VYLGk9Yy5wYWdlWTtpZih0aGlzLm9yaWdpbmFsUG9zaXRpb24pe3Zh
ciBiO2lmKHRoaXMuY29udGFpbm1lbnQpe2lmKHRoaXMucmVsYXRpdmVfY29udGFpbmVyKXtiPXRo
aXMucmVsYXRpdmVfY29udGFpbmVyLm9mZnNldCgpO2I9W3RoaXMuY29udGFpbm1lbnRbMF0rYi5s
ZWZ0LHRoaXMuY29udGFpbm1lbnRbMV0rYi50b3AsdGhpcy5jb250YWlubWVudFsyXStiLmxlZnQs
dGhpcy5jb250YWlubWVudFszXStiLnRvcF19ZWxzZSBiPXRoaXMuY29udGFpbm1lbnQ7aWYoYy5w
YWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PGJbMF0pZz1iWzBdK3RoaXMub2Zmc2V0LmNsaWNr
LmxlZnQ7Ci1pZihjLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDxiWzFdKWk9YlsxXSt0aGlz
Lm9mZnNldC5jbGljay50b3A7aWYoYy5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PmJbMl0p
Zz1iWzJdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYoYy5wYWdlWS10aGlzLm9mZnNldC5jbGlj
ay50b3A+YlszXSlpPWJbM10rdGhpcy5vZmZzZXQuY2xpY2sudG9wfWlmKGQuZ3JpZCl7aT1kLmdy
aWRbMV0/dGhpcy5vcmlnaW5hbFBhZ2VZK01hdGgucm91bmQoKGktdGhpcy5vcmlnaW5hbFBhZ2VZ
KS9kLmdyaWRbMV0pKmQuZ3JpZFsxXTp0aGlzLm9yaWdpbmFsUGFnZVk7aT1iPyEoaS10aGlzLm9m
ZnNldC5jbGljay50b3A8YlsxXXx8aS10aGlzLm9mZnNldC5jbGljay50b3A+YlszXSk/aTohKGkt
dGhpcy5vZmZzZXQuY2xpY2sudG9wPGJbMV0pP2ktZC5ncmlkWzFdOmkrZC5ncmlkWzFdOmk7Zz1k
LmdyaWRbMF0/dGhpcy5vcmlnaW5hbFBhZ2VYK01hdGgucm91bmQoKGctdGhpcy5vcmlnaW5hbFBh
Z2VYKS8KLWQuZ3JpZFswXSkqZC5ncmlkWzBdOnRoaXMub3JpZ2luYWxQYWdlWDtnPWI/IShnLXRo
aXMub2Zmc2V0LmNsaWNrLmxlZnQ8YlswXXx8Zy10aGlzLm9mZnNldC5jbGljay5sZWZ0PmJbMl0p
P2c6IShnLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8YlswXSk/Zy1kLmdyaWRbMF06ZytkLmdyaWRb
MF06Z319cmV0dXJue3RvcDppLXRoaXMub2Zmc2V0LmNsaWNrLnRvcC10aGlzLm9mZnNldC5yZWxh
dGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCsoYS5icm93c2VyLnNhZmFyaSYmYS5icm93
c2VyLnZlcnNpb248NTI2JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6dGhpcy5jc3NQb3Np
dGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6aD8wOmUuc2Nyb2xs
VG9wKCkpLGxlZnQ6Zy10aGlzLm9mZnNldC5jbGljay5sZWZ0LXRoaXMub2Zmc2V0LnJlbGF0aXZl
LmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQrKGEuYnJvd3Nlci5zYWZhcmkmJmEuYnJvd3Nl
ci52ZXJzaW9uPAotNTI2JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6dGhpcy5jc3NQb3Np
dGlvbj09ImZpeGVkIj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOmg/MDplLnNjcm9s
bExlZnQoKSl9fSxfY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlci5yZW1vdmVDbGFzcygidWkt
ZHJhZ2dhYmxlLWRyYWdnaW5nIik7dGhpcy5oZWxwZXJbMF0hPXRoaXMuZWxlbWVudFswXSYmIXRo
aXMuY2FuY2VsSGVscGVyUmVtb3ZhbCYmdGhpcy5oZWxwZXIucmVtb3ZlKCk7dGhpcy5oZWxwZXI9
bnVsbDt0aGlzLmNhbmNlbEhlbHBlclJlbW92YWw9ZmFsc2V9LF90cmlnZ2VyOmZ1bmN0aW9uKGMs
ZCxlKXtlPWV8fHRoaXMuX3VpSGFzaCgpO2EudWkucGx1Z2luLmNhbGwodGhpcyxjLFtkLGVdKTtp
ZihjPT0iZHJhZyIpdGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJz
b2x1dGUiKTtyZXR1cm4gYS5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmNhbGwodGhpcyxjLGQs
Ci1lKX0scGx1Z2luczp7fSxfdWlIYXNoOmZ1bmN0aW9uKCl7cmV0dXJue2hlbHBlcjp0aGlzLmhl
bHBlcixwb3NpdGlvbjp0aGlzLnBvc2l0aW9uLG9yaWdpbmFsUG9zaXRpb246dGhpcy5vcmlnaW5h
bFBvc2l0aW9uLG9mZnNldDp0aGlzLnBvc2l0aW9uQWJzfX19KTthLmV4dGVuZChhLnVpLmRyYWdn
YWJsZSx7dmVyc2lvbjoiMS44LjE1In0pO2EudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwiY29u
bmVjdFRvU29ydGFibGUiLHtzdGFydDpmdW5jdGlvbihjLGQpe3ZhciBlPWEodGhpcykuZGF0YSgi
ZHJhZ2dhYmxlIiksaD1lLm9wdGlvbnMsZz1hLmV4dGVuZCh7fSxkLHtpdGVtOmUuZWxlbWVudH0p
O2Uuc29ydGFibGVzPVtdO2EoaC5jb25uZWN0VG9Tb3J0YWJsZSkuZWFjaChmdW5jdGlvbigpe3Zh
ciBpPWEuZGF0YSh0aGlzLCJzb3J0YWJsZSIpO2lmKGkmJiFpLm9wdGlvbnMuZGlzYWJsZWQpe2Uu
c29ydGFibGVzLnB1c2goe2luc3RhbmNlOmksc2hvdWxkUmV2ZXJ0Omkub3B0aW9ucy5yZXZlcnR9
KTsKLWkucmVmcmVzaFBvc2l0aW9ucygpO2kuX3RyaWdnZXIoImFjdGl2YXRlIixjLGcpfX0pfSxz
dG9wOmZ1bmN0aW9uKGMsZCl7dmFyIGU9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxoPWEuZXh0
ZW5kKHt9LGQse2l0ZW06ZS5lbGVtZW50fSk7YS5lYWNoKGUuc29ydGFibGVzLGZ1bmN0aW9uKCl7
aWYodGhpcy5pbnN0YW5jZS5pc092ZXIpe3RoaXMuaW5zdGFuY2UuaXNPdmVyPTA7ZS5jYW5jZWxI
ZWxwZXJSZW1vdmFsPXRydWU7dGhpcy5pbnN0YW5jZS5jYW5jZWxIZWxwZXJSZW1vdmFsPWZhbHNl
O2lmKHRoaXMuc2hvdWxkUmV2ZXJ0KXRoaXMuaW5zdGFuY2Uub3B0aW9ucy5yZXZlcnQ9dHJ1ZTt0
aGlzLmluc3RhbmNlLl9tb3VzZVN0b3AoYyk7dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcj10
aGlzLmluc3RhbmNlLm9wdGlvbnMuX2hlbHBlcjtlLm9wdGlvbnMuaGVscGVyPT0ib3JpZ2luYWwi
JiZ0aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtLmNzcyh7dG9wOiJhdXRvIixsZWZ0OiJhdXRvIn0p
fWVsc2V7dGhpcy5pbnN0YW5jZS5jYW5jZWxIZWxwZXJSZW1vdmFsPQotZmFsc2U7dGhpcy5pbnN0
YW5jZS5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsYyxoKX19KX0sZHJhZzpmdW5jdGlvbihjLGQpe3Zh
ciBlPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIiksaD10aGlzO2EuZWFjaChlLnNvcnRhYmxlcyxm
dW5jdGlvbigpe3RoaXMuaW5zdGFuY2UucG9zaXRpb25BYnM9ZS5wb3NpdGlvbkFiczt0aGlzLmlu
c3RhbmNlLmhlbHBlclByb3BvcnRpb25zPWUuaGVscGVyUHJvcG9ydGlvbnM7dGhpcy5pbnN0YW5j
ZS5vZmZzZXQuY2xpY2s9ZS5vZmZzZXQuY2xpY2s7aWYodGhpcy5pbnN0YW5jZS5faW50ZXJzZWN0
c1dpdGgodGhpcy5pbnN0YW5jZS5jb250YWluZXJDYWNoZSkpe2lmKCF0aGlzLmluc3RhbmNlLmlz
T3Zlcil7dGhpcy5pbnN0YW5jZS5pc092ZXI9MTt0aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtPWEo
aCkuY2xvbmUoKS5yZW1vdmVBdHRyKCJpZCIpLmFwcGVuZFRvKHRoaXMuaW5zdGFuY2UuZWxlbWVu
dCkuZGF0YSgic29ydGFibGUtaXRlbSIsdHJ1ZSk7Ci10aGlzLmluc3RhbmNlLm9wdGlvbnMuX2hl
bHBlcj10aGlzLmluc3RhbmNlLm9wdGlvbnMuaGVscGVyO3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5o
ZWxwZXI9ZnVuY3Rpb24oKXtyZXR1cm4gZC5oZWxwZXJbMF19O2MudGFyZ2V0PXRoaXMuaW5zdGFu
Y2UuY3VycmVudEl0ZW1bMF07dGhpcy5pbnN0YW5jZS5fbW91c2VDYXB0dXJlKGMsdHJ1ZSk7dGhp
cy5pbnN0YW5jZS5fbW91c2VTdGFydChjLHRydWUsdHJ1ZSk7dGhpcy5pbnN0YW5jZS5vZmZzZXQu
Y2xpY2sudG9wPWUub2Zmc2V0LmNsaWNrLnRvcDt0aGlzLmluc3RhbmNlLm9mZnNldC5jbGljay5s
ZWZ0PWUub2Zmc2V0LmNsaWNrLmxlZnQ7dGhpcy5pbnN0YW5jZS5vZmZzZXQucGFyZW50LmxlZnQt
PWUub2Zmc2V0LnBhcmVudC5sZWZ0LXRoaXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC5sZWZ0O3Ro
aXMuaW5zdGFuY2Uub2Zmc2V0LnBhcmVudC50b3AtPWUub2Zmc2V0LnBhcmVudC50b3AtdGhpcy5p
bnN0YW5jZS5vZmZzZXQucGFyZW50LnRvcDsKLWUuX3RyaWdnZXIoInRvU29ydGFibGUiLGMpO2Uu
ZHJvcHBlZD10aGlzLmluc3RhbmNlLmVsZW1lbnQ7ZS5jdXJyZW50SXRlbT1lLmVsZW1lbnQ7dGhp
cy5pbnN0YW5jZS5mcm9tT3V0c2lkZT1lfXRoaXMuaW5zdGFuY2UuY3VycmVudEl0ZW0mJnRoaXMu
aW5zdGFuY2UuX21vdXNlRHJhZyhjKX1lbHNlIGlmKHRoaXMuaW5zdGFuY2UuaXNPdmVyKXt0aGlz
Lmluc3RhbmNlLmlzT3Zlcj0wO3RoaXMuaW5zdGFuY2UuY2FuY2VsSGVscGVyUmVtb3ZhbD10cnVl
O3RoaXMuaW5zdGFuY2Uub3B0aW9ucy5yZXZlcnQ9ZmFsc2U7dGhpcy5pbnN0YW5jZS5fdHJpZ2dl
cigib3V0IixjLHRoaXMuaW5zdGFuY2UuX3VpSGFzaCh0aGlzLmluc3RhbmNlKSk7dGhpcy5pbnN0
YW5jZS5fbW91c2VTdG9wKGMsdHJ1ZSk7dGhpcy5pbnN0YW5jZS5vcHRpb25zLmhlbHBlcj10aGlz
Lmluc3RhbmNlLm9wdGlvbnMuX2hlbHBlcjt0aGlzLmluc3RhbmNlLmN1cnJlbnRJdGVtLnJlbW92
ZSgpO3RoaXMuaW5zdGFuY2UucGxhY2Vob2xkZXImJgotdGhpcy5pbnN0YW5jZS5wbGFjZWhvbGRl
ci5yZW1vdmUoKTtlLl90cmlnZ2VyKCJmcm9tU29ydGFibGUiLGMpO2UuZHJvcHBlZD1mYWxzZX19
KX19KTthLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImN1cnNvciIse3N0YXJ0OmZ1bmN0aW9u
KCl7dmFyIGM9YSgiYm9keSIpLGQ9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKS5vcHRpb25zO2lm
KGMuY3NzKCJjdXJzb3IiKSlkLl9jdXJzb3I9Yy5jc3MoImN1cnNvciIpO2MuY3NzKCJjdXJzb3Ii
LGQuY3Vyc29yKX0sc3RvcDpmdW5jdGlvbigpe3ZhciBjPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxl
Iikub3B0aW9ucztjLl9jdXJzb3ImJmEoImJvZHkiKS5jc3MoImN1cnNvciIsYy5fY3Vyc29yKX19
KTthLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsIm9wYWNpdHkiLHtzdGFydDpmdW5jdGlvbihj
LGQpe2M9YShkLmhlbHBlcik7ZD1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7aWYo
Yy5jc3MoIm9wYWNpdHkiKSlkLl9vcGFjaXR5PQotYy5jc3MoIm9wYWNpdHkiKTtjLmNzcygib3Bh
Y2l0eSIsZC5vcGFjaXR5KX0sc3RvcDpmdW5jdGlvbihjLGQpe2M9YSh0aGlzKS5kYXRhKCJkcmFn
Z2FibGUiKS5vcHRpb25zO2MuX29wYWNpdHkmJmEoZC5oZWxwZXIpLmNzcygib3BhY2l0eSIsYy5f
b3BhY2l0eSl9fSk7YS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJzY3JvbGwiLHtzdGFydDpm
dW5jdGlvbigpe3ZhciBjPWEodGhpcykuZGF0YSgiZHJhZ2dhYmxlIik7aWYoYy5zY3JvbGxQYXJl
bnRbMF0hPWRvY3VtZW50JiZjLnNjcm9sbFBhcmVudFswXS50YWdOYW1lIT0iSFRNTCIpYy5vdmVy
Zmxvd09mZnNldD1jLnNjcm9sbFBhcmVudC5vZmZzZXQoKX0sZHJhZzpmdW5jdGlvbihjKXt2YXIg
ZD1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLGU9ZC5vcHRpb25zLGg9ZmFsc2U7aWYoZC5zY3Jv
bGxQYXJlbnRbMF0hPWRvY3VtZW50JiZkLnNjcm9sbFBhcmVudFswXS50YWdOYW1lIT0iSFRNTCIp
e2lmKCFlLmF4aXN8fGUuYXhpcyE9Ci0ieCIpaWYoZC5vdmVyZmxvd09mZnNldC50b3ArZC5zY3Jv
bGxQYXJlbnRbMF0ub2Zmc2V0SGVpZ2h0LWMucGFnZVk8ZS5zY3JvbGxTZW5zaXRpdml0eSlkLnNj
cm9sbFBhcmVudFswXS5zY3JvbGxUb3A9aD1kLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3ArZS5z
Y3JvbGxTcGVlZDtlbHNlIGlmKGMucGFnZVktZC5vdmVyZmxvd09mZnNldC50b3A8ZS5zY3JvbGxT
ZW5zaXRpdml0eSlkLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3A9aD1kLnNjcm9sbFBhcmVudFsw
XS5zY3JvbGxUb3AtZS5zY3JvbGxTcGVlZDtpZighZS5heGlzfHxlLmF4aXMhPSJ5IilpZihkLm92
ZXJmbG93T2Zmc2V0LmxlZnQrZC5zY3JvbGxQYXJlbnRbMF0ub2Zmc2V0V2lkdGgtYy5wYWdlWDxl
LnNjcm9sbFNlbnNpdGl2aXR5KWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQ9aD1kLnNjcm9s
bFBhcmVudFswXS5zY3JvbGxMZWZ0K2Uuc2Nyb2xsU3BlZWQ7ZWxzZSBpZihjLnBhZ2VYLWQub3Zl
cmZsb3dPZmZzZXQubGVmdDwKLWUuc2Nyb2xsU2Vuc2l0aXZpdHkpZC5zY3JvbGxQYXJlbnRbMF0u
c2Nyb2xsTGVmdD1oPWQuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQtZS5zY3JvbGxTcGVlZH1l
bHNle2lmKCFlLmF4aXN8fGUuYXhpcyE9IngiKWlmKGMucGFnZVktYShkb2N1bWVudCkuc2Nyb2xs
VG9wKCk8ZS5zY3JvbGxTZW5zaXRpdml0eSloPWEoZG9jdW1lbnQpLnNjcm9sbFRvcChhKGRvY3Vt
ZW50KS5zY3JvbGxUb3AoKS1lLnNjcm9sbFNwZWVkKTtlbHNlIGlmKGEod2luZG93KS5oZWlnaHQo
KS0oYy5wYWdlWS1hKGRvY3VtZW50KS5zY3JvbGxUb3AoKSk8ZS5zY3JvbGxTZW5zaXRpdml0eSlo
PWEoZG9jdW1lbnQpLnNjcm9sbFRvcChhKGRvY3VtZW50KS5zY3JvbGxUb3AoKStlLnNjcm9sbFNw
ZWVkKTtpZighZS5heGlzfHxlLmF4aXMhPSJ5IilpZihjLnBhZ2VYLWEoZG9jdW1lbnQpLnNjcm9s
bExlZnQoKTxlLnNjcm9sbFNlbnNpdGl2aXR5KWg9YShkb2N1bWVudCkuc2Nyb2xsTGVmdChhKGRv
Y3VtZW50KS5zY3JvbGxMZWZ0KCktCi1lLnNjcm9sbFNwZWVkKTtlbHNlIGlmKGEod2luZG93KS53
aWR0aCgpLShjLnBhZ2VYLWEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSk8ZS5zY3JvbGxTZW5zaXRp
dml0eSloPWEoZG9jdW1lbnQpLnNjcm9sbExlZnQoYShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpK2Uu
c2Nyb2xsU3BlZWQpfWghPT1mYWxzZSYmYS51aS5kZG1hbmFnZXImJiFlLmRyb3BCZWhhdmlvdXIm
JmEudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGQsYyl9fSk7YS51aS5wbHVnaW4uYWRkKCJk
cmFnZ2FibGUiLCJzbmFwIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEoImRy
YWdnYWJsZSIpLGQ9Yy5vcHRpb25zO2Muc25hcEVsZW1lbnRzPVtdO2EoZC5zbmFwLmNvbnN0cnVj
dG9yIT1TdHJpbmc/ZC5zbmFwLml0ZW1zfHwiOmRhdGEoZHJhZ2dhYmxlKSI6ZC5zbmFwKS5lYWNo
KGZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKSxoPWUub2Zmc2V0KCk7dGhpcyE9Yy5lbGVtZW50WzBd
JiZjLnNuYXBFbGVtZW50cy5wdXNoKHtpdGVtOnRoaXMsCi13aWR0aDplLm91dGVyV2lkdGgoKSxo
ZWlnaHQ6ZS5vdXRlckhlaWdodCgpLHRvcDpoLnRvcCxsZWZ0OmgubGVmdH0pfSl9LGRyYWc6ZnVu
Y3Rpb24oYyxkKXtmb3IodmFyIGU9YSh0aGlzKS5kYXRhKCJkcmFnZ2FibGUiKSxoPWUub3B0aW9u
cyxnPWguc25hcFRvbGVyYW5jZSxpPWQub2Zmc2V0LmxlZnQsYj1pK2UuaGVscGVyUHJvcG9ydGlv
bnMud2lkdGgsZj1kLm9mZnNldC50b3Asaj1mK2UuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGw9
ZS5zbmFwRWxlbWVudHMubGVuZ3RoLTE7bD49MDtsLS0pe3ZhciBvPWUuc25hcEVsZW1lbnRzW2xd
LmxlZnQsbj1vK2Uuc25hcEVsZW1lbnRzW2xdLndpZHRoLGs9ZS5zbmFwRWxlbWVudHNbbF0udG9w
LG09aytlLnNuYXBFbGVtZW50c1tsXS5oZWlnaHQ7aWYoby1nPGkmJmk8bitnJiZrLWc8ZiYmZjxt
K2d8fG8tZzxpJiZpPG4rZyYmay1nPGomJmo8bStnfHxvLWc8YiYmYjxuK2cmJmstZzxmJiZmPG0r
Z3x8by1nPGImJmI8bitnJiZrLWc8aiYmCi1qPG0rZyl7aWYoaC5zbmFwTW9kZSE9ImlubmVyIil7
dmFyIHA9TWF0aC5hYnMoay1qKTw9ZyxxPU1hdGguYWJzKG0tZik8PWcscz1NYXRoLmFicyhvLWIp
PD1nLHI9TWF0aC5hYnMobi1pKTw9ZztpZihwKWQucG9zaXRpb24udG9wPWUuX2NvbnZlcnRQb3Np
dGlvblRvKCJyZWxhdGl2ZSIse3RvcDprLWUuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6
MH0pLnRvcC1lLm1hcmdpbnMudG9wO2lmKHEpZC5wb3NpdGlvbi50b3A9ZS5fY29udmVydFBvc2l0
aW9uVG8oInJlbGF0aXZlIix7dG9wOm0sbGVmdDowfSkudG9wLWUubWFyZ2lucy50b3A7aWYocylk
LnBvc2l0aW9uLmxlZnQ9ZS5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVm
dDpvLWUuaGVscGVyUHJvcG9ydGlvbnMud2lkdGh9KS5sZWZ0LWUubWFyZ2lucy5sZWZ0O2lmKHIp
ZC5wb3NpdGlvbi5sZWZ0PWUuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxl
ZnQ6bn0pLmxlZnQtZS5tYXJnaW5zLmxlZnR9dmFyIHU9Ci1wfHxxfHxzfHxyO2lmKGguc25hcE1v
ZGUhPSJvdXRlciIpe3A9TWF0aC5hYnMoay1mKTw9ZztxPU1hdGguYWJzKG0taik8PWc7cz1NYXRo
LmFicyhvLWkpPD1nO3I9TWF0aC5hYnMobi1iKTw9ZztpZihwKWQucG9zaXRpb24udG9wPWUuX2Nv
bnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDprLGxlZnQ6MH0pLnRvcC1lLm1hcmdpbnMu
dG9wO2lmKHEpZC5wb3NpdGlvbi50b3A9ZS5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7
dG9wOm0tZS5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsbGVmdDowfSkudG9wLWUubWFyZ2lucy50
b3A7aWYocylkLnBvc2l0aW9uLmxlZnQ9ZS5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7
dG9wOjAsbGVmdDpvfSkubGVmdC1lLm1hcmdpbnMubGVmdDtpZihyKWQucG9zaXRpb24ubGVmdD1l
Ll9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Om4tZS5oZWxwZXJQcm9w
b3J0aW9ucy53aWR0aH0pLmxlZnQtZS5tYXJnaW5zLmxlZnR9aWYoIWUuc25hcEVsZW1lbnRzW2xd
LnNuYXBwaW5nJiYKLShwfHxxfHxzfHxyfHx1KSllLm9wdGlvbnMuc25hcC5zbmFwJiZlLm9wdGlv
bnMuc25hcC5zbmFwLmNhbGwoZS5lbGVtZW50LGMsYS5leHRlbmQoZS5fdWlIYXNoKCkse3NuYXBJ
dGVtOmUuc25hcEVsZW1lbnRzW2xdLml0ZW19KSk7ZS5zbmFwRWxlbWVudHNbbF0uc25hcHBpbmc9
cHx8cXx8c3x8cnx8dX1lbHNle2Uuc25hcEVsZW1lbnRzW2xdLnNuYXBwaW5nJiZlLm9wdGlvbnMu
c25hcC5yZWxlYXNlJiZlLm9wdGlvbnMuc25hcC5yZWxlYXNlLmNhbGwoZS5lbGVtZW50LGMsYS5l
eHRlbmQoZS5fdWlIYXNoKCkse3NuYXBJdGVtOmUuc25hcEVsZW1lbnRzW2xdLml0ZW19KSk7ZS5z
bmFwRWxlbWVudHNbbF0uc25hcHBpbmc9ZmFsc2V9fX19KTthLnVpLnBsdWdpbi5hZGQoImRyYWdn
YWJsZSIsInN0YWNrIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEoImRyYWdn
YWJsZSIpLm9wdGlvbnM7Yz1hLm1ha2VBcnJheShhKGMuc3RhY2spKS5zb3J0KGZ1bmN0aW9uKGUs
aCl7cmV0dXJuKHBhcnNlSW50KGEoZSkuY3NzKCJ6SW5kZXgiKSwKLTEwKXx8MCktKHBhcnNlSW50
KGEoaCkuY3NzKCJ6SW5kZXgiKSwxMCl8fDApfSk7aWYoYy5sZW5ndGgpe3ZhciBkPXBhcnNlSW50
KGNbMF0uc3R5bGUuekluZGV4KXx8MDthKGMpLmVhY2goZnVuY3Rpb24oZSl7dGhpcy5zdHlsZS56
SW5kZXg9ZCtlfSk7dGhpc1swXS5zdHlsZS56SW5kZXg9ZCtjLmxlbmd0aH19fSk7YS51aS5wbHVn
aW4uYWRkKCJkcmFnZ2FibGUiLCJ6SW5kZXgiLHtzdGFydDpmdW5jdGlvbihjLGQpe2M9YShkLmhl
bHBlcik7ZD1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7aWYoYy5jc3MoInpJbmRl
eCIpKWQuX3pJbmRleD1jLmNzcygiekluZGV4Iik7Yy5jc3MoInpJbmRleCIsZC56SW5kZXgpfSxz
dG9wOmZ1bmN0aW9uKGMsZCl7Yz1hKHRoaXMpLmRhdGEoImRyYWdnYWJsZSIpLm9wdGlvbnM7Yy5f
ekluZGV4JiZhKGQuaGVscGVyKS5jc3MoInpJbmRleCIsYy5fekluZGV4KX19KX0pKGpRdWVyeSk7
Ci0oZnVuY3Rpb24oYSl7YS53aWRnZXQoInVpLmRyb3BwYWJsZSIse3dpZGdldEV2ZW50UHJlZml4
OiJkcm9wIixvcHRpb25zOnthY2NlcHQ6IioiLGFjdGl2ZUNsYXNzOmZhbHNlLGFkZENsYXNzZXM6
dHJ1ZSxncmVlZHk6ZmFsc2UsaG92ZXJDbGFzczpmYWxzZSxzY29wZToiZGVmYXVsdCIsdG9sZXJh
bmNlOiJpbnRlcnNlY3QifSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy5vcHRpb25zLGQ9
Yy5hY2NlcHQ7dGhpcy5pc292ZXI9MDt0aGlzLmlzb3V0PTE7dGhpcy5hY2NlcHQ9YS5pc0Z1bmN0
aW9uKGQpP2Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXMoZCl9O3RoaXMucHJvcG9ydGlvbnM9e3dp
ZHRoOnRoaXMuZWxlbWVudFswXS5vZmZzZXRXaWR0aCxoZWlnaHQ6dGhpcy5lbGVtZW50WzBdLm9m
ZnNldEhlaWdodH07YS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tjLnNjb3BlXT1hLnVpLmRkbWFu
YWdlci5kcm9wcGFibGVzW2Muc2NvcGVdfHxbXTthLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Mu
c2NvcGVdLnB1c2godGhpcyk7Ci1jLmFkZENsYXNzZXMmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygi
dWktZHJvcHBhYmxlIil9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtmb3IodmFyIGM9YS51aS5kZG1hbmFn
ZXIuZHJvcHBhYmxlc1t0aGlzLm9wdGlvbnMuc2NvcGVdLGQ9MDtkPGMubGVuZ3RoO2QrKyljW2Rd
PT10aGlzJiZjLnNwbGljZShkLDEpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktZHJvcHBh
YmxlIHVpLWRyb3BwYWJsZS1kaXNhYmxlZCIpLnJlbW92ZURhdGEoImRyb3BwYWJsZSIpLnVuYmlu
ZCgiLmRyb3BwYWJsZSIpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGMsZCl7aWYo
Yz09ImFjY2VwdCIpdGhpcy5hY2NlcHQ9YS5pc0Z1bmN0aW9uKGQpP2Q6ZnVuY3Rpb24oZSl7cmV0
dXJuIGUuaXMoZCl9O2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJn
dW1lbnRzKX0sX2FjdGl2YXRlOmZ1bmN0aW9uKGMpe3ZhciBkPWEudWkuZGRtYW5hZ2VyLmN1cnJl
bnQ7dGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzJiYKLXRoaXMuZWxlbWVudC5hZGRDbGFzcyh0aGlz
Lm9wdGlvbnMuYWN0aXZlQ2xhc3MpO2QmJnRoaXMuX3RyaWdnZXIoImFjdGl2YXRlIixjLHRoaXMu
dWkoZCkpfSxfZGVhY3RpdmF0ZTpmdW5jdGlvbihjKXt2YXIgZD1hLnVpLmRkbWFuYWdlci5jdXJy
ZW50O3RoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRo
aXMub3B0aW9ucy5hY3RpdmVDbGFzcyk7ZCYmdGhpcy5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsYyx0
aGlzLnVpKGQpKX0sX292ZXI6ZnVuY3Rpb24oYyl7dmFyIGQ9YS51aS5kZG1hbmFnZXIuY3VycmVu
dDtpZighKCFkfHwoZC5jdXJyZW50SXRlbXx8ZC5lbGVtZW50KVswXT09dGhpcy5lbGVtZW50WzBd
KSlpZih0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxkLmN1cnJlbnRJdGVtfHxkLmVs
ZW1lbnQpKXt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKHRo
aXMub3B0aW9ucy5ob3ZlckNsYXNzKTsKLXRoaXMuX3RyaWdnZXIoIm92ZXIiLGMsdGhpcy51aShk
KSl9fSxfb3V0OmZ1bmN0aW9uKGMpe3ZhciBkPWEudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7aWYoISgh
ZHx8KGQuY3VycmVudEl0ZW18fGQuZWxlbWVudClbMF09PXRoaXMuZWxlbWVudFswXSkpaWYodGhp
cy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sZC5jdXJyZW50SXRlbXx8ZC5lbGVtZW50KSl7
dGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9w
dGlvbnMuaG92ZXJDbGFzcyk7dGhpcy5fdHJpZ2dlcigib3V0IixjLHRoaXMudWkoZCkpfX0sX2Ry
b3A6ZnVuY3Rpb24oYyxkKXt2YXIgZT1kfHxhLnVpLmRkbWFuYWdlci5jdXJyZW50O2lmKCFlfHwo
ZS5jdXJyZW50SXRlbXx8ZS5lbGVtZW50KVswXT09dGhpcy5lbGVtZW50WzBdKXJldHVybiBmYWxz
ZTt2YXIgaD1mYWxzZTt0aGlzLmVsZW1lbnQuZmluZCgiOmRhdGEoZHJvcHBhYmxlKSIpLm5vdCgi
LnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgZz0KLWEuZGF0YSh0
aGlzLCJkcm9wcGFibGUiKTtpZihnLm9wdGlvbnMuZ3JlZWR5JiYhZy5vcHRpb25zLmRpc2FibGVk
JiZnLm9wdGlvbnMuc2NvcGU9PWUub3B0aW9ucy5zY29wZSYmZy5hY2NlcHQuY2FsbChnLmVsZW1l
bnRbMF0sZS5jdXJyZW50SXRlbXx8ZS5lbGVtZW50KSYmYS51aS5pbnRlcnNlY3QoZSxhLmV4dGVu
ZChnLHtvZmZzZXQ6Zy5lbGVtZW50Lm9mZnNldCgpfSksZy5vcHRpb25zLnRvbGVyYW5jZSkpe2g9
dHJ1ZTtyZXR1cm4gZmFsc2V9fSk7aWYoaClyZXR1cm4gZmFsc2U7aWYodGhpcy5hY2NlcHQuY2Fs
bCh0aGlzLmVsZW1lbnRbMF0sZS5jdXJyZW50SXRlbXx8ZS5lbGVtZW50KSl7dGhpcy5vcHRpb25z
LmFjdGl2ZUNsYXNzJiZ0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmFjdGl2
ZUNsYXNzKTt0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNz
KHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKTt0aGlzLl90cmlnZ2VyKCJkcm9wIiwKLWMsdGhpcy51
aShlKSk7cmV0dXJuIHRoaXMuZWxlbWVudH1yZXR1cm4gZmFsc2V9LHVpOmZ1bmN0aW9uKGMpe3Jl
dHVybntkcmFnZ2FibGU6Yy5jdXJyZW50SXRlbXx8Yy5lbGVtZW50LGhlbHBlcjpjLmhlbHBlcixw
b3NpdGlvbjpjLnBvc2l0aW9uLG9mZnNldDpjLnBvc2l0aW9uQWJzfX19KTthLmV4dGVuZChhLnVp
LmRyb3BwYWJsZSx7dmVyc2lvbjoiMS44LjE1In0pO2EudWkuaW50ZXJzZWN0PWZ1bmN0aW9uKGMs
ZCxlKXtpZighZC5vZmZzZXQpcmV0dXJuIGZhbHNlO3ZhciBoPShjLnBvc2l0aW9uQWJzfHxjLnBv
c2l0aW9uLmFic29sdXRlKS5sZWZ0LGc9aCtjLmhlbHBlclByb3BvcnRpb25zLndpZHRoLGk9KGMu
cG9zaXRpb25BYnN8fGMucG9zaXRpb24uYWJzb2x1dGUpLnRvcCxiPWkrYy5oZWxwZXJQcm9wb3J0
aW9ucy5oZWlnaHQsZj1kLm9mZnNldC5sZWZ0LGo9ZitkLnByb3BvcnRpb25zLndpZHRoLGw9ZC5v
ZmZzZXQudG9wLG89bCtkLnByb3BvcnRpb25zLmhlaWdodDsKLXN3aXRjaChlKXtjYXNlICJmaXQi
OnJldHVybiBmPD1oJiZnPD1qJiZsPD1pJiZiPD1vO2Nhc2UgImludGVyc2VjdCI6cmV0dXJuIGY8
aCtjLmhlbHBlclByb3BvcnRpb25zLndpZHRoLzImJmctYy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0
aC8yPGomJmw8aStjLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yJiZiLWMuaGVscGVyUHJvcG9y
dGlvbnMuaGVpZ2h0LzI8bztjYXNlICJwb2ludGVyIjpyZXR1cm4gYS51aS5pc092ZXIoKGMucG9z
aXRpb25BYnN8fGMucG9zaXRpb24uYWJzb2x1dGUpLnRvcCsoYy5jbGlja09mZnNldHx8Yy5vZmZz
ZXQuY2xpY2spLnRvcCwoYy5wb3NpdGlvbkFic3x8Yy5wb3NpdGlvbi5hYnNvbHV0ZSkubGVmdCso
Yy5jbGlja09mZnNldHx8Yy5vZmZzZXQuY2xpY2spLmxlZnQsbCxmLGQucHJvcG9ydGlvbnMuaGVp
Z2h0LGQucHJvcG9ydGlvbnMud2lkdGgpO2Nhc2UgInRvdWNoIjpyZXR1cm4oaT49bCYmaTw9b3x8
Yj49bCYmYjw9b3x8aTxsJiZiPm8pJiYoaD49Ci1mJiZoPD1qfHxnPj1mJiZnPD1qfHxoPGYmJmc+
aik7ZGVmYXVsdDpyZXR1cm4gZmFsc2V9fTthLnVpLmRkbWFuYWdlcj17Y3VycmVudDpudWxsLGRy
b3BwYWJsZXM6eyJkZWZhdWx0IjpbXX0scHJlcGFyZU9mZnNldHM6ZnVuY3Rpb24oYyxkKXt2YXIg
ZT1hLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2Mub3B0aW9ucy5zY29wZV18fFtdLGg9ZD9kLnR5
cGU6bnVsbCxnPShjLmN1cnJlbnRJdGVtfHxjLmVsZW1lbnQpLmZpbmQoIjpkYXRhKGRyb3BwYWJs
ZSkiKS5hbmRTZWxmKCksaT0wO2E6Zm9yKDtpPGUubGVuZ3RoO2krKylpZighKGVbaV0ub3B0aW9u
cy5kaXNhYmxlZHx8YyYmIWVbaV0uYWNjZXB0LmNhbGwoZVtpXS5lbGVtZW50WzBdLGMuY3VycmVu
dEl0ZW18fGMuZWxlbWVudCkpKXtmb3IodmFyIGI9MDtiPGcubGVuZ3RoO2IrKylpZihnW2JdPT1l
W2ldLmVsZW1lbnRbMF0pe2VbaV0ucHJvcG9ydGlvbnMuaGVpZ2h0PTA7Y29udGludWUgYX1lW2ld
LnZpc2libGU9ZVtpXS5lbGVtZW50LmNzcygiZGlzcGxheSIpIT0KLSJub25lIjtpZihlW2ldLnZp
c2libGUpe2g9PSJtb3VzZWRvd24iJiZlW2ldLl9hY3RpdmF0ZS5jYWxsKGVbaV0sZCk7ZVtpXS5v
ZmZzZXQ9ZVtpXS5lbGVtZW50Lm9mZnNldCgpO2VbaV0ucHJvcG9ydGlvbnM9e3dpZHRoOmVbaV0u
ZWxlbWVudFswXS5vZmZzZXRXaWR0aCxoZWlnaHQ6ZVtpXS5lbGVtZW50WzBdLm9mZnNldEhlaWdo
dH19fX0sZHJvcDpmdW5jdGlvbihjLGQpe3ZhciBlPWZhbHNlO2EuZWFjaChhLnVpLmRkbWFuYWdl
ci5kcm9wcGFibGVzW2Mub3B0aW9ucy5zY29wZV18fFtdLGZ1bmN0aW9uKCl7aWYodGhpcy5vcHRp
b25zKXtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLnZpc2libGUmJmEudWkuaW50ZXJz
ZWN0KGMsdGhpcyx0aGlzLm9wdGlvbnMudG9sZXJhbmNlKSllPWV8fHRoaXMuX2Ryb3AuY2FsbCh0
aGlzLGQpO2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYmdGhpcy5hY2Nl
cHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sYy5jdXJyZW50SXRlbXx8Ci1jLmVsZW1lbnQpKXt0aGlz
Lmlzb3V0PTE7dGhpcy5pc292ZXI9MDt0aGlzLl9kZWFjdGl2YXRlLmNhbGwodGhpcyxkKX19fSk7
cmV0dXJuIGV9LGRyYWdTdGFydDpmdW5jdGlvbihjLGQpe2MuZWxlbWVudC5wYXJlbnRzVW50aWwo
ImJvZHkiKS5iaW5kKCJzY3JvbGwuZHJvcHBhYmxlIixmdW5jdGlvbigpe2Mub3B0aW9ucy5yZWZy
ZXNoUG9zaXRpb25zfHxhLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhjLGQpfSl9LGRyYWc6
ZnVuY3Rpb24oYyxkKXtjLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9ucyYmYS51aS5kZG1hbmFnZXIu
cHJlcGFyZU9mZnNldHMoYyxkKTthLmVhY2goYS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tjLm9w
dGlvbnMuc2NvcGVdfHxbXSxmdW5jdGlvbigpe2lmKCEodGhpcy5vcHRpb25zLmRpc2FibGVkfHx0
aGlzLmdyZWVkeUNoaWxkfHwhdGhpcy52aXNpYmxlKSl7dmFyIGU9YS51aS5pbnRlcnNlY3QoYyx0
aGlzLHRoaXMub3B0aW9ucy50b2xlcmFuY2UpO2lmKGU9Ci0hZSYmdGhpcy5pc292ZXI9PTE/Imlz
b3V0IjplJiZ0aGlzLmlzb3Zlcj09MD8iaXNvdmVyIjpudWxsKXt2YXIgaDtpZih0aGlzLm9wdGlv
bnMuZ3JlZWR5KXt2YXIgZz10aGlzLmVsZW1lbnQucGFyZW50cygiOmRhdGEoZHJvcHBhYmxlKTpl
cSgwKSIpO2lmKGcubGVuZ3RoKXtoPWEuZGF0YShnWzBdLCJkcm9wcGFibGUiKTtoLmdyZWVkeUNo
aWxkPWU9PSJpc292ZXIiPzE6MH19aWYoaCYmZT09Imlzb3ZlciIpe2guaXNvdmVyPTA7aC5pc291
dD0xO2guX291dC5jYWxsKGgsZCl9dGhpc1tlXT0xO3RoaXNbZT09Imlzb3V0Ij8iaXNvdmVyIjoi
aXNvdXQiXT0wO3RoaXNbZT09Imlzb3ZlciI/Il9vdmVyIjoiX291dCJdLmNhbGwodGhpcyxkKTtp
ZihoJiZlPT0iaXNvdXQiKXtoLmlzb3V0PTA7aC5pc292ZXI9MTtoLl9vdmVyLmNhbGwoaCxkKX19
fX0pfSxkcmFnU3RvcDpmdW5jdGlvbihjLGQpe2MuZWxlbWVudC5wYXJlbnRzVW50aWwoImJvZHki
KS51bmJpbmQoInNjcm9sbC5kcm9wcGFibGUiKTsKLWMub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25z
fHxhLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhjLGQpfX19KShqUXVlcnkpOwotKGZ1bmN0
aW9uKGEpe2Eud2lkZ2V0KCJ1aS5yZXNpemFibGUiLGEudWkubW91c2Use3dpZGdldEV2ZW50UHJl
Zml4OiJyZXNpemUiLG9wdGlvbnM6e2Fsc29SZXNpemU6ZmFsc2UsYW5pbWF0ZTpmYWxzZSxhbmlt
YXRlRHVyYXRpb246InNsb3ciLGFuaW1hdGVFYXNpbmc6InN3aW5nIixhc3BlY3RSYXRpbzpmYWxz
ZSxhdXRvSGlkZTpmYWxzZSxjb250YWlubWVudDpmYWxzZSxnaG9zdDpmYWxzZSxncmlkOmZhbHNl
LGhhbmRsZXM6ImUscyxzZSIsaGVscGVyOmZhbHNlLG1heEhlaWdodDpudWxsLG1heFdpZHRoOm51
bGwsbWluSGVpZ2h0OjEwLG1pbldpZHRoOjEwLHpJbmRleDoxRTN9LF9jcmVhdGU6ZnVuY3Rpb24o
KXt2YXIgZT10aGlzLGg9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcmVz
aXphYmxlIik7YS5leHRlbmQodGhpcyx7X2FzcGVjdFJhdGlvOiEhaC5hc3BlY3RSYXRpbyxhc3Bl
Y3RSYXRpbzpoLmFzcGVjdFJhdGlvLG9yaWdpbmFsRWxlbWVudDp0aGlzLmVsZW1lbnQsCi1fcHJv
cG9ydGlvbmFsbHlSZXNpemVFbGVtZW50czpbXSxfaGVscGVyOmguaGVscGVyfHxoLmdob3N0fHxo
LmFuaW1hdGU/aC5oZWxwZXJ8fCJ1aS1yZXNpemFibGUtaGVscGVyIjpudWxsfSk7aWYodGhpcy5l
bGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC9jYW52YXN8dGV4dGFyZWF8aW5wdXR8c2VsZWN0fGJ1
dHRvbnxpbWcvaSkpey9yZWxhdGl2ZS8udGVzdCh0aGlzLmVsZW1lbnQuY3NzKCJwb3NpdGlvbiIp
KSYmYS5icm93c2VyLm9wZXJhJiZ0aGlzLmVsZW1lbnQuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUi
LHRvcDoiYXV0byIsbGVmdDoiYXV0byJ9KTt0aGlzLmVsZW1lbnQud3JhcChhKCc8ZGl2IGNsYXNz
PSJ1aS13cmFwcGVyIiBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsiPjwvZGl2PicpLmNzcyh7cG9z
aXRpb246dGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSx3aWR0aDp0aGlzLmVsZW1lbnQub3V0
ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKSwKLXRvcDp0aGlzLmVs
ZW1lbnQuY3NzKCJ0b3AiKSxsZWZ0OnRoaXMuZWxlbWVudC5jc3MoImxlZnQiKX0pKTt0aGlzLmVs
ZW1lbnQ9dGhpcy5lbGVtZW50LnBhcmVudCgpLmRhdGEoInJlc2l6YWJsZSIsdGhpcy5lbGVtZW50
LmRhdGEoInJlc2l6YWJsZSIpKTt0aGlzLmVsZW1lbnRJc1dyYXBwZXI9dHJ1ZTt0aGlzLmVsZW1l
bnQuY3NzKHttYXJnaW5MZWZ0OnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luTGVmdCIp
LG1hcmdpblRvcDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblRvcCIpLG1hcmdpblJp
Z2h0OnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luUmlnaHQiKSxtYXJnaW5Cb3R0b206
dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5Cb3R0b20iKX0pO3RoaXMub3JpZ2luYWxF
bGVtZW50LmNzcyh7bWFyZ2luTGVmdDowLG1hcmdpblRvcDowLG1hcmdpblJpZ2h0OjAsbWFyZ2lu
Qm90dG9tOjB9KTt0aGlzLm9yaWdpbmFsUmVzaXplU3R5bGU9Ci10aGlzLm9yaWdpbmFsRWxlbWVu
dC5jc3MoInJlc2l6ZSIpO3RoaXMub3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXplIiwibm9uZSIp
O3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMucHVzaCh0aGlzLm9yaWdpbmFsRWxl
bWVudC5jc3Moe3Bvc2l0aW9uOiJzdGF0aWMiLHpvb206MSxkaXNwbGF5OiJibG9jayJ9KSk7dGhp
cy5vcmlnaW5hbEVsZW1lbnQuY3NzKHttYXJnaW46dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJt
YXJnaW4iKX0pO3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCl9dGhpcy5oYW5kbGVzPWguaGFu
ZGxlc3x8KCFhKCIudWktcmVzaXphYmxlLWhhbmRsZSIsdGhpcy5lbGVtZW50KS5sZW5ndGg/ImUs
cyxzZSI6e246Ii51aS1yZXNpemFibGUtbiIsZToiLnVpLXJlc2l6YWJsZS1lIixzOiIudWktcmVz
aXphYmxlLXMiLHc6Ii51aS1yZXNpemFibGUtdyIsc2U6Ii51aS1yZXNpemFibGUtc2UiLHN3OiIu
dWktcmVzaXphYmxlLXN3IixuZToiLnVpLXJlc2l6YWJsZS1uZSIsCi1udzoiLnVpLXJlc2l6YWJs
ZS1udyJ9KTtpZih0aGlzLmhhbmRsZXMuY29uc3RydWN0b3I9PVN0cmluZyl7aWYodGhpcy5oYW5k
bGVzPT0iYWxsIil0aGlzLmhhbmRsZXM9Im4sZSxzLHcsc2Usc3csbmUsbnciO3ZhciBnPXRoaXMu
aGFuZGxlcy5zcGxpdCgiLCIpO3RoaXMuaGFuZGxlcz17fTtmb3IodmFyIGk9MDtpPGcubGVuZ3Ro
O2krKyl7dmFyIGI9YS50cmltKGdbaV0pLGY9YSgnPGRpdiBjbGFzcz0idWktcmVzaXphYmxlLWhh
bmRsZSAnKygidWktcmVzaXphYmxlLSIrYikrJyI+PC9kaXY+Jyk7L3N3fHNlfG5lfG53Ly50ZXN0
KGIpJiZmLmNzcyh7ekluZGV4OisraC56SW5kZXh9KTsic2UiPT1iJiZmLmFkZENsYXNzKCJ1aS1p
Y29uIHVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNlIik7dGhpcy5oYW5kbGVzW2JdPSIudWkt
cmVzaXphYmxlLSIrYjt0aGlzLmVsZW1lbnQuYXBwZW5kKGYpfX10aGlzLl9yZW5kZXJBeGlzPWZ1
bmN0aW9uKGope2o9anx8dGhpcy5lbGVtZW50O2Zvcih2YXIgbCBpbiB0aGlzLmhhbmRsZXMpe2lm
KHRoaXMuaGFuZGxlc1tsXS5jb25zdHJ1Y3Rvcj09Ci1TdHJpbmcpdGhpcy5oYW5kbGVzW2xdPWEo
dGhpcy5oYW5kbGVzW2xdLHRoaXMuZWxlbWVudCkuc2hvdygpO2lmKHRoaXMuZWxlbWVudElzV3Jh
cHBlciYmdGhpcy5vcmlnaW5hbEVsZW1lbnRbMF0ubm9kZU5hbWUubWF0Y2goL3RleHRhcmVhfGlu
cHV0fHNlbGVjdHxidXR0b24vaSkpe3ZhciBvPWEodGhpcy5oYW5kbGVzW2xdLHRoaXMuZWxlbWVu
dCksbj0wO249L3N3fG5lfG53fHNlfG58cy8udGVzdChsKT9vLm91dGVySGVpZ2h0KCk6by5vdXRl
cldpZHRoKCk7bz1bInBhZGRpbmciLC9uZXxud3xuLy50ZXN0KGwpPyJUb3AiOi9zZXxzd3xzLy50
ZXN0KGwpPyJCb3R0b20iOi9eZSQvLnRlc3QobCk/IlJpZ2h0IjoiTGVmdCJdLmpvaW4oIiIpO2ou
Y3NzKG8sbik7dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKX1hKHRoaXMuaGFuZGxlc1tsXSl9
fTt0aGlzLl9yZW5kZXJBeGlzKHRoaXMuZWxlbWVudCk7dGhpcy5faGFuZGxlcz1hKCIudWktcmVz
aXphYmxlLWhhbmRsZSIsdGhpcy5lbGVtZW50KS5kaXNhYmxlU2VsZWN0aW9uKCk7Ci10aGlzLl9o
YW5kbGVzLm1vdXNlb3ZlcihmdW5jdGlvbigpe2lmKCFlLnJlc2l6aW5nKXtpZih0aGlzLmNsYXNz
TmFtZSl2YXIgaj10aGlzLmNsYXNzTmFtZS5tYXRjaCgvdWktcmVzaXphYmxlLShzZXxzd3xuZXxu
d3xufGV8c3x3KS9pKTtlLmF4aXM9aiYmalsxXT9qWzFdOiJzZSJ9fSk7aWYoaC5hdXRvSGlkZSl7
dGhpcy5faGFuZGxlcy5oaWRlKCk7YSh0aGlzLmVsZW1lbnQpLmFkZENsYXNzKCJ1aS1yZXNpemFi
bGUtYXV0b2hpZGUiKS5ob3ZlcihmdW5jdGlvbigpe2lmKCFoLmRpc2FibGVkKXthKHRoaXMpLnJl
bW92ZUNsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKTtlLl9oYW5kbGVzLnNob3coKX19LGZ1
bmN0aW9uKCl7aWYoIWguZGlzYWJsZWQpaWYoIWUucmVzaXppbmcpe2EodGhpcykuYWRkQ2xhc3Mo
InVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpO2UuX2hhbmRsZXMuaGlkZSgpfX0pfXRoaXMuX21vdXNl
SW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fbW91c2VEZXN0cm95KCk7Ci12YXIgZT1m
dW5jdGlvbihnKXthKGcpLnJlbW92ZUNsYXNzKCJ1aS1yZXNpemFibGUgdWktcmVzaXphYmxlLWRp
c2FibGVkIHVpLXJlc2l6YWJsZS1yZXNpemluZyIpLnJlbW92ZURhdGEoInJlc2l6YWJsZSIpLnVu
YmluZCgiLnJlc2l6YWJsZSIpLmZpbmQoIi51aS1yZXNpemFibGUtaGFuZGxlIikucmVtb3ZlKCl9
O2lmKHRoaXMuZWxlbWVudElzV3JhcHBlcil7ZSh0aGlzLmVsZW1lbnQpO3ZhciBoPXRoaXMuZWxl
bWVudDtoLmFmdGVyKHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7cG9zaXRpb246aC5jc3MoInBv
c2l0aW9uIiksd2lkdGg6aC5vdXRlcldpZHRoKCksaGVpZ2h0Omgub3V0ZXJIZWlnaHQoKSx0b3A6
aC5jc3MoInRvcCIpLGxlZnQ6aC5jc3MoImxlZnQiKX0pKS5yZW1vdmUoKX10aGlzLm9yaWdpbmFs
RWxlbWVudC5jc3MoInJlc2l6ZSIsdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlKTtlKHRoaXMub3Jp
Z2luYWxFbGVtZW50KTtyZXR1cm4gdGhpc30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihlKXt2YXIg
aD0KLWZhbHNlO2Zvcih2YXIgZyBpbiB0aGlzLmhhbmRsZXMpaWYoYSh0aGlzLmhhbmRsZXNbZ10p
WzBdPT1lLnRhcmdldCloPXRydWU7cmV0dXJuIXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmaH0sX21v
dXNlU3RhcnQ6ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5vcHRpb25zLGc9dGhpcy5lbGVtZW50LnBv
c2l0aW9uKCksaT10aGlzLmVsZW1lbnQ7dGhpcy5yZXNpemluZz10cnVlO3RoaXMuZG9jdW1lbnRT
Y3JvbGw9e3RvcDphKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxsZWZ0OmEoZG9jdW1lbnQpLnNjcm9s
bExlZnQoKX07aWYoaS5pcygiLnVpLWRyYWdnYWJsZSIpfHwvYWJzb2x1dGUvLnRlc3QoaS5jc3Mo
InBvc2l0aW9uIikpKWkuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDpnLnRvcCxsZWZ0Omcu
bGVmdH0pO2EuYnJvd3Nlci5vcGVyYSYmL3JlbGF0aXZlLy50ZXN0KGkuY3NzKCJwb3NpdGlvbiIp
KSYmaS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiJhdXRvIixsZWZ0OiJhdXRvIn0pOwot
dGhpcy5fcmVuZGVyUHJveHkoKTtnPWModGhpcy5oZWxwZXIuY3NzKCJsZWZ0IikpO3ZhciBiPWMo
dGhpcy5oZWxwZXIuY3NzKCJ0b3AiKSk7aWYoaC5jb250YWlubWVudCl7Zys9YShoLmNvbnRhaW5t
ZW50KS5zY3JvbGxMZWZ0KCl8fDA7Yis9YShoLmNvbnRhaW5tZW50KS5zY3JvbGxUb3AoKXx8MH10
aGlzLm9mZnNldD10aGlzLmhlbHBlci5vZmZzZXQoKTt0aGlzLnBvc2l0aW9uPXtsZWZ0OmcsdG9w
OmJ9O3RoaXMuc2l6ZT10aGlzLl9oZWxwZXI/e3dpZHRoOmkub3V0ZXJXaWR0aCgpLGhlaWdodDpp
Lm91dGVySGVpZ2h0KCl9Ont3aWR0aDppLndpZHRoKCksaGVpZ2h0OmkuaGVpZ2h0KCl9O3RoaXMu
b3JpZ2luYWxTaXplPXRoaXMuX2hlbHBlcj97d2lkdGg6aS5vdXRlcldpZHRoKCksaGVpZ2h0Omku
b3V0ZXJIZWlnaHQoKX06e3dpZHRoOmkud2lkdGgoKSxoZWlnaHQ6aS5oZWlnaHQoKX07dGhpcy5v
cmlnaW5hbFBvc2l0aW9uPXtsZWZ0OmcsdG9wOmJ9O3RoaXMuc2l6ZURpZmY9Ci17d2lkdGg6aS5v
dXRlcldpZHRoKCktaS53aWR0aCgpLGhlaWdodDppLm91dGVySGVpZ2h0KCktaS5oZWlnaHQoKX07
dGhpcy5vcmlnaW5hbE1vdXNlUG9zaXRpb249e2xlZnQ6ZS5wYWdlWCx0b3A6ZS5wYWdlWX07dGhp
cy5hc3BlY3RSYXRpbz10eXBlb2YgaC5hc3BlY3RSYXRpbz09Im51bWJlciI/aC5hc3BlY3RSYXRp
bzp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aC90aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHR8fDE7aD1h
KCIudWktcmVzaXphYmxlLSIrdGhpcy5heGlzKS5jc3MoImN1cnNvciIpO2EoImJvZHkiKS5jc3Mo
ImN1cnNvciIsaD09ImF1dG8iP3RoaXMuYXhpcysiLXJlc2l6ZSI6aCk7aS5hZGRDbGFzcygidWkt
cmVzaXphYmxlLXJlc2l6aW5nIik7dGhpcy5fcHJvcGFnYXRlKCJzdGFydCIsZSk7cmV0dXJuIHRy
dWV9LF9tb3VzZURyYWc6ZnVuY3Rpb24oZSl7dmFyIGg9dGhpcy5oZWxwZXIsZz10aGlzLm9yaWdp
bmFsTW91c2VQb3NpdGlvbixpPXRoaXMuX2NoYW5nZVt0aGlzLmF4aXNdOwotaWYoIWkpcmV0dXJu
IGZhbHNlO2c9aS5hcHBseSh0aGlzLFtlLGUucGFnZVgtZy5sZWZ0fHwwLGUucGFnZVktZy50b3B8
fDBdKTt0aGlzLl91cGRhdGVWaXJ0dWFsQm91bmRhcmllcyhlLnNoaWZ0S2V5KTtpZih0aGlzLl9h
c3BlY3RSYXRpb3x8ZS5zaGlmdEtleSlnPXRoaXMuX3VwZGF0ZVJhdGlvKGcsZSk7Zz10aGlzLl9y
ZXNwZWN0U2l6ZShnLGUpO3RoaXMuX3Byb3BhZ2F0ZSgicmVzaXplIixlKTtoLmNzcyh7dG9wOnRo
aXMucG9zaXRpb24udG9wKyJweCIsbGVmdDp0aGlzLnBvc2l0aW9uLmxlZnQrInB4Iix3aWR0aDp0
aGlzLnNpemUud2lkdGgrInB4IixoZWlnaHQ6dGhpcy5zaXplLmhlaWdodCsicHgifSk7IXRoaXMu
X2hlbHBlciYmdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGgmJnRoaXMu
X3Byb3BvcnRpb25hbGx5UmVzaXplKCk7dGhpcy5fdXBkYXRlQ2FjaGUoZyk7dGhpcy5fdHJpZ2dl
cigicmVzaXplIixlLHRoaXMudWkoKSk7cmV0dXJuIGZhbHNlfSwKLV9tb3VzZVN0b3A6ZnVuY3Rp
b24oZSl7dGhpcy5yZXNpemluZz1mYWxzZTt2YXIgaD10aGlzLm9wdGlvbnMsZz10aGlzO2lmKHRo
aXMuX2hlbHBlcil7dmFyIGk9dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cyxiPWku
bGVuZ3RoJiYvdGV4dGFyZWEvaS50ZXN0KGlbMF0ubm9kZU5hbWUpO2k9YiYmYS51aS5oYXNTY3Jv
bGwoaVswXSwibGVmdCIpPzA6Zy5zaXplRGlmZi5oZWlnaHQ7Yj1iPzA6Zy5zaXplRGlmZi53aWR0
aDtiPXt3aWR0aDpnLmhlbHBlci53aWR0aCgpLWIsaGVpZ2h0OmcuaGVscGVyLmhlaWdodCgpLWl9
O2k9cGFyc2VJbnQoZy5lbGVtZW50LmNzcygibGVmdCIpLDEwKSsoZy5wb3NpdGlvbi5sZWZ0LWcu
b3JpZ2luYWxQb3NpdGlvbi5sZWZ0KXx8bnVsbDt2YXIgZj1wYXJzZUludChnLmVsZW1lbnQuY3Nz
KCJ0b3AiKSwxMCkrKGcucG9zaXRpb24udG9wLWcub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxudWxs
O2guYW5pbWF0ZXx8dGhpcy5lbGVtZW50LmNzcyhhLmV4dGVuZChiLAote3RvcDpmLGxlZnQ6aX0p
KTtnLmhlbHBlci5oZWlnaHQoZy5zaXplLmhlaWdodCk7Zy5oZWxwZXIud2lkdGgoZy5zaXplLndp
ZHRoKTt0aGlzLl9oZWxwZXImJiFoLmFuaW1hdGUmJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXpl
KCl9YSgiYm9keSIpLmNzcygiY3Vyc29yIiwiYXV0byIpO3RoaXMuZWxlbWVudC5yZW1vdmVDbGFz
cygidWktcmVzaXphYmxlLXJlc2l6aW5nIik7dGhpcy5fcHJvcGFnYXRlKCJzdG9wIixlKTt0aGlz
Ll9oZWxwZXImJnRoaXMuaGVscGVyLnJlbW92ZSgpO3JldHVybiBmYWxzZX0sX3VwZGF0ZVZpcnR1
YWxCb3VuZGFyaWVzOmZ1bmN0aW9uKGUpe3ZhciBoPXRoaXMub3B0aW9ucyxnLGksYjtoPXttaW5X
aWR0aDpkKGgubWluV2lkdGgpP2gubWluV2lkdGg6MCxtYXhXaWR0aDpkKGgubWF4V2lkdGgpP2gu
bWF4V2lkdGg6SW5maW5pdHksbWluSGVpZ2h0OmQoaC5taW5IZWlnaHQpP2gubWluSGVpZ2h0OjAs
bWF4SGVpZ2h0OmQoaC5tYXhIZWlnaHQpP2gubWF4SGVpZ2h0OgotSW5maW5pdHl9O2lmKHRoaXMu
X2FzcGVjdFJhdGlvfHxlKXtlPWgubWluSGVpZ2h0KnRoaXMuYXNwZWN0UmF0aW87aT1oLm1pbldp
ZHRoL3RoaXMuYXNwZWN0UmF0aW87Zz1oLm1heEhlaWdodCp0aGlzLmFzcGVjdFJhdGlvO2I9aC5t
YXhXaWR0aC90aGlzLmFzcGVjdFJhdGlvO2lmKGU+aC5taW5XaWR0aCloLm1pbldpZHRoPWU7aWYo
aT5oLm1pbkhlaWdodCloLm1pbkhlaWdodD1pO2lmKGc8aC5tYXhXaWR0aCloLm1heFdpZHRoPWc7
aWYoYjxoLm1heEhlaWdodCloLm1heEhlaWdodD1ifXRoaXMuX3ZCb3VuZGFyaWVzPWh9LF91cGRh
dGVDYWNoZTpmdW5jdGlvbihlKXt0aGlzLm9mZnNldD10aGlzLmhlbHBlci5vZmZzZXQoKTtpZihk
KGUubGVmdCkpdGhpcy5wb3NpdGlvbi5sZWZ0PWUubGVmdDtpZihkKGUudG9wKSl0aGlzLnBvc2l0
aW9uLnRvcD1lLnRvcDtpZihkKGUuaGVpZ2h0KSl0aGlzLnNpemUuaGVpZ2h0PWUuaGVpZ2h0O2lm
KGQoZS53aWR0aCkpdGhpcy5zaXplLndpZHRoPQotZS53aWR0aH0sX3VwZGF0ZVJhdGlvOmZ1bmN0
aW9uKGUpe3ZhciBoPXRoaXMucG9zaXRpb24sZz10aGlzLnNpemUsaT10aGlzLmF4aXM7aWYoZChl
LmhlaWdodCkpZS53aWR0aD1lLmhlaWdodCp0aGlzLmFzcGVjdFJhdGlvO2Vsc2UgaWYoZChlLndp
ZHRoKSllLmhlaWdodD1lLndpZHRoL3RoaXMuYXNwZWN0UmF0aW87aWYoaT09InN3Iil7ZS5sZWZ0
PWgubGVmdCsoZy53aWR0aC1lLndpZHRoKTtlLnRvcD1udWxsfWlmKGk9PSJudyIpe2UudG9wPWgu
dG9wKyhnLmhlaWdodC1lLmhlaWdodCk7ZS5sZWZ0PWgubGVmdCsoZy53aWR0aC1lLndpZHRoKX1y
ZXR1cm4gZX0sX3Jlc3BlY3RTaXplOmZ1bmN0aW9uKGUpe3ZhciBoPXRoaXMuX3ZCb3VuZGFyaWVz
LGc9dGhpcy5heGlzLGk9ZChlLndpZHRoKSYmaC5tYXhXaWR0aCYmaC5tYXhXaWR0aDxlLndpZHRo
LGI9ZChlLmhlaWdodCkmJmgubWF4SGVpZ2h0JiZoLm1heEhlaWdodDxlLmhlaWdodCxmPWQoZS53
aWR0aCkmJmgubWluV2lkdGgmJgotaC5taW5XaWR0aD5lLndpZHRoLGo9ZChlLmhlaWdodCkmJmgu
bWluSGVpZ2h0JiZoLm1pbkhlaWdodD5lLmhlaWdodDtpZihmKWUud2lkdGg9aC5taW5XaWR0aDtp
ZihqKWUuaGVpZ2h0PWgubWluSGVpZ2h0O2lmKGkpZS53aWR0aD1oLm1heFdpZHRoO2lmKGIpZS5o
ZWlnaHQ9aC5tYXhIZWlnaHQ7dmFyIGw9dGhpcy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQrdGhpcy5v
cmlnaW5hbFNpemUud2lkdGgsbz10aGlzLnBvc2l0aW9uLnRvcCt0aGlzLnNpemUuaGVpZ2h0LG49
L3N3fG53fHcvLnRlc3QoZyk7Zz0vbnd8bmV8bi8udGVzdChnKTtpZihmJiZuKWUubGVmdD1sLWgu
bWluV2lkdGg7aWYoaSYmbillLmxlZnQ9bC1oLm1heFdpZHRoO2lmKGomJmcpZS50b3A9by1oLm1p
bkhlaWdodDtpZihiJiZnKWUudG9wPW8taC5tYXhIZWlnaHQ7aWYoKGg9IWUud2lkdGgmJiFlLmhl
aWdodCkmJiFlLmxlZnQmJmUudG9wKWUudG9wPW51bGw7ZWxzZSBpZihoJiYhZS50b3AmJmUubGVm
dCllLmxlZnQ9Ci1udWxsO3JldHVybiBlfSxfcHJvcG9ydGlvbmFsbHlSZXNpemU6ZnVuY3Rpb24o
KXtpZih0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0aClmb3IodmFyIGU9
dGhpcy5oZWxwZXJ8fHRoaXMuZWxlbWVudCxoPTA7aDx0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6
ZUVsZW1lbnRzLmxlbmd0aDtoKyspe3ZhciBnPXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxl
bWVudHNbaF07aWYoIXRoaXMuYm9yZGVyRGlmKXt2YXIgaT1bZy5jc3MoImJvcmRlclRvcFdpZHRo
IiksZy5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSxnLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSxn
LmNzcygiYm9yZGVyTGVmdFdpZHRoIildLGI9W2cuY3NzKCJwYWRkaW5nVG9wIiksZy5jc3MoInBh
ZGRpbmdSaWdodCIpLGcuY3NzKCJwYWRkaW5nQm90dG9tIiksZy5jc3MoInBhZGRpbmdMZWZ0Iild
O3RoaXMuYm9yZGVyRGlmPWEubWFwKGksZnVuY3Rpb24oZixqKXtmPXBhcnNlSW50KGYsMTApfHwK
LTA7aj1wYXJzZUludChiW2pdLDEwKXx8MDtyZXR1cm4gZitqfSl9YS5icm93c2VyLm1zaWUmJihh
KGUpLmlzKCI6aGlkZGVuIil8fGEoZSkucGFyZW50cygiOmhpZGRlbiIpLmxlbmd0aCl8fGcuY3Nz
KHtoZWlnaHQ6ZS5oZWlnaHQoKS10aGlzLmJvcmRlckRpZlswXS10aGlzLmJvcmRlckRpZlsyXXx8
MCx3aWR0aDplLndpZHRoKCktdGhpcy5ib3JkZXJEaWZbMV0tdGhpcy5ib3JkZXJEaWZbM118fDB9
KX19LF9yZW5kZXJQcm94eTpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3B0aW9uczt0aGlzLmVsZW1l
bnRPZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpO2lmKHRoaXMuX2hlbHBlcil7dGhpcy5oZWxw
ZXI9dGhpcy5oZWxwZXJ8fGEoJzxkaXYgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjsiPjwvZGl2Picp
O3ZhciBoPWEuYnJvd3Nlci5tc2llJiZhLmJyb3dzZXIudmVyc2lvbjw3LGc9aD8xOjA7aD1oPzI6
LTE7dGhpcy5oZWxwZXIuYWRkQ2xhc3ModGhpcy5faGVscGVyKS5jc3Moe3dpZHRoOnRoaXMuZWxl
bWVudC5vdXRlcldpZHRoKCkrCi1oLGhlaWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKSto
LHBvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDp0aGlzLmVsZW1lbnRPZmZzZXQubGVmdC1nKyJweCIs
dG9wOnRoaXMuZWxlbWVudE9mZnNldC50b3AtZysicHgiLHpJbmRleDorK2UuekluZGV4fSk7dGhp
cy5oZWxwZXIuYXBwZW5kVG8oImJvZHkiKS5kaXNhYmxlU2VsZWN0aW9uKCl9ZWxzZSB0aGlzLmhl
bHBlcj10aGlzLmVsZW1lbnR9LF9jaGFuZ2U6e2U6ZnVuY3Rpb24oZSxoKXtyZXR1cm57d2lkdGg6
dGhpcy5vcmlnaW5hbFNpemUud2lkdGgraH19LHc6ZnVuY3Rpb24oZSxoKXtyZXR1cm57bGVmdDp0
aGlzLm9yaWdpbmFsUG9zaXRpb24ubGVmdCtoLHdpZHRoOnRoaXMub3JpZ2luYWxTaXplLndpZHRo
LWh9fSxuOmZ1bmN0aW9uKGUsaCxnKXtyZXR1cm57dG9wOnRoaXMub3JpZ2luYWxQb3NpdGlvbi50
b3ArZyxoZWlnaHQ6dGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0LWd9fSxzOmZ1bmN0aW9uKGUsaCxn
KXtyZXR1cm57aGVpZ2h0OnRoaXMub3JpZ2luYWxTaXplLmhlaWdodCsKLWd9fSxzZTpmdW5jdGlv
bihlLGgsZyl7cmV0dXJuIGEuZXh0ZW5kKHRoaXMuX2NoYW5nZS5zLmFwcGx5KHRoaXMsYXJndW1l
bnRzKSx0aGlzLl9jaGFuZ2UuZS5hcHBseSh0aGlzLFtlLGgsZ10pKX0sc3c6ZnVuY3Rpb24oZSxo
LGcpe3JldHVybiBhLmV4dGVuZCh0aGlzLl9jaGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50cyks
dGhpcy5fY2hhbmdlLncuYXBwbHkodGhpcyxbZSxoLGddKSl9LG5lOmZ1bmN0aW9uKGUsaCxnKXty
ZXR1cm4gYS5leHRlbmQodGhpcy5fY2hhbmdlLm4uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMu
X2NoYW5nZS5lLmFwcGx5KHRoaXMsW2UsaCxnXSkpfSxudzpmdW5jdGlvbihlLGgsZyl7cmV0dXJu
IGEuZXh0ZW5kKHRoaXMuX2NoYW5nZS5uLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFu
Z2Uudy5hcHBseSh0aGlzLFtlLGgsZ10pKX19LF9wcm9wYWdhdGU6ZnVuY3Rpb24oZSxoKXthLnVp
LnBsdWdpbi5jYWxsKHRoaXMsZSxbaCx0aGlzLnVpKCldKTsKLWUhPSJyZXNpemUiJiZ0aGlzLl90
cmlnZ2VyKGUsaCx0aGlzLnVpKCkpfSxwbHVnaW5zOnt9LHVpOmZ1bmN0aW9uKCl7cmV0dXJue29y
aWdpbmFsRWxlbWVudDp0aGlzLm9yaWdpbmFsRWxlbWVudCxlbGVtZW50OnRoaXMuZWxlbWVudCxo
ZWxwZXI6dGhpcy5oZWxwZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixzaXplOnRoaXMuc2l6ZSxv
cmlnaW5hbFNpemU6dGhpcy5vcmlnaW5hbFNpemUsb3JpZ2luYWxQb3NpdGlvbjp0aGlzLm9yaWdp
bmFsUG9zaXRpb259fX0pO2EuZXh0ZW5kKGEudWkucmVzaXphYmxlLHt2ZXJzaW9uOiIxLjguMTUi
fSk7YS51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJhbHNvUmVzaXplIix7c3RhcnQ6ZnVuY3Rp
b24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLm9wdGlvbnMsaD1mdW5jdGlvbihn
KXthKGcpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1hKHRoaXMpO2kuZGF0YSgicmVzaXphYmxlLWFs
c29yZXNpemUiLHt3aWR0aDpwYXJzZUludChpLndpZHRoKCksCi0xMCksaGVpZ2h0OnBhcnNlSW50
KGkuaGVpZ2h0KCksMTApLGxlZnQ6cGFyc2VJbnQoaS5jc3MoImxlZnQiKSwxMCksdG9wOnBhcnNl
SW50KGkuY3NzKCJ0b3AiKSwxMCkscG9zaXRpb246aS5jc3MoInBvc2l0aW9uIil9KX0pfTtpZih0
eXBlb2YgZS5hbHNvUmVzaXplPT0ib2JqZWN0IiYmIWUuYWxzb1Jlc2l6ZS5wYXJlbnROb2RlKWlm
KGUuYWxzb1Jlc2l6ZS5sZW5ndGgpe2UuYWxzb1Jlc2l6ZT1lLmFsc29SZXNpemVbMF07aChlLmFs
c29SZXNpemUpfWVsc2UgYS5lYWNoKGUuYWxzb1Jlc2l6ZSxmdW5jdGlvbihnKXtoKGcpfSk7ZWxz
ZSBoKGUuYWxzb1Jlc2l6ZSl9LHJlc2l6ZTpmdW5jdGlvbihlLGgpe3ZhciBnPWEodGhpcykuZGF0
YSgicmVzaXphYmxlIik7ZT1nLm9wdGlvbnM7dmFyIGk9Zy5vcmlnaW5hbFNpemUsYj1nLm9yaWdp
bmFsUG9zaXRpb24sZj17aGVpZ2h0Omcuc2l6ZS5oZWlnaHQtaS5oZWlnaHR8fDAsd2lkdGg6Zy5z
aXplLndpZHRoLWkud2lkdGh8fDAsdG9wOmcucG9zaXRpb24udG9wLQotYi50b3B8fDAsbGVmdDpn
LnBvc2l0aW9uLmxlZnQtYi5sZWZ0fHwwfSxqPWZ1bmN0aW9uKGwsbyl7YShsKS5lYWNoKGZ1bmN0
aW9uKCl7dmFyIG49YSh0aGlzKSxrPWEodGhpcykuZGF0YSgicmVzaXphYmxlLWFsc29yZXNpemUi
KSxtPXt9LHA9byYmby5sZW5ndGg/bzpuLnBhcmVudHMoaC5vcmlnaW5hbEVsZW1lbnRbMF0pLmxl
bmd0aD9bIndpZHRoIiwiaGVpZ2h0Il06WyJ3aWR0aCIsImhlaWdodCIsInRvcCIsImxlZnQiXTth
LmVhY2gocCxmdW5jdGlvbihxLHMpe2lmKChxPShrW3NdfHwwKSsoZltzXXx8MCkpJiZxPj0wKW1b
c109cXx8bnVsbH0pO2lmKGEuYnJvd3Nlci5vcGVyYSYmL3JlbGF0aXZlLy50ZXN0KG4uY3NzKCJw
b3NpdGlvbiIpKSl7Zy5fcmV2ZXJ0VG9SZWxhdGl2ZVBvc2l0aW9uPXRydWU7bi5jc3Moe3Bvc2l0
aW9uOiJhYnNvbHV0ZSIsdG9wOiJhdXRvIixsZWZ0OiJhdXRvIn0pfW4uY3NzKG0pfSl9O3R5cGVv
ZiBlLmFsc29SZXNpemU9PSJvYmplY3QiJiYhZS5hbHNvUmVzaXplLm5vZGVUeXBlPwotYS5lYWNo
KGUuYWxzb1Jlc2l6ZSxmdW5jdGlvbihsLG8pe2oobCxvKX0pOmooZS5hbHNvUmVzaXplKX0sc3Rv
cDpmdW5jdGlvbigpe3ZhciBlPWEodGhpcykuZGF0YSgicmVzaXphYmxlIiksaD1lLm9wdGlvbnMs
Zz1mdW5jdGlvbihpKXthKGkpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpO2IuY3NzKHtw
b3NpdGlvbjpiLmRhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIikucG9zaXRpb259KX0pfTtpZihl
Ll9yZXZlcnRUb1JlbGF0aXZlUG9zaXRpb24pe2UuX3JldmVydFRvUmVsYXRpdmVQb3NpdGlvbj1m
YWxzZTt0eXBlb2YgaC5hbHNvUmVzaXplPT0ib2JqZWN0IiYmIWguYWxzb1Jlc2l6ZS5ub2RlVHlw
ZT9hLmVhY2goaC5hbHNvUmVzaXplLGZ1bmN0aW9uKGkpe2coaSl9KTpnKGguYWxzb1Jlc2l6ZSl9
YSh0aGlzKS5yZW1vdmVEYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpfX0pO2EudWkucGx1Z2lu
LmFkZCgicmVzaXphYmxlIiwiYW5pbWF0ZSIse3N0b3A6ZnVuY3Rpb24oZSl7dmFyIGg9Ci1hKHRo
aXMpLmRhdGEoInJlc2l6YWJsZSIpLGc9aC5vcHRpb25zLGk9aC5fcHJvcG9ydGlvbmFsbHlSZXNp
emVFbGVtZW50cyxiPWkubGVuZ3RoJiYvdGV4dGFyZWEvaS50ZXN0KGlbMF0ubm9kZU5hbWUpLGY9
YiYmYS51aS5oYXNTY3JvbGwoaVswXSwibGVmdCIpPzA6aC5zaXplRGlmZi5oZWlnaHQ7Yj17d2lk
dGg6aC5zaXplLndpZHRoLShiPzA6aC5zaXplRGlmZi53aWR0aCksaGVpZ2h0Omguc2l6ZS5oZWln
aHQtZn07Zj1wYXJzZUludChoLmVsZW1lbnQuY3NzKCJsZWZ0IiksMTApKyhoLnBvc2l0aW9uLmxl
ZnQtaC5vcmlnaW5hbFBvc2l0aW9uLmxlZnQpfHxudWxsO3ZhciBqPXBhcnNlSW50KGguZWxlbWVu
dC5jc3MoInRvcCIpLDEwKSsoaC5wb3NpdGlvbi50b3AtaC5vcmlnaW5hbFBvc2l0aW9uLnRvcCl8
fG51bGw7aC5lbGVtZW50LmFuaW1hdGUoYS5leHRlbmQoYixqJiZmP3t0b3A6aixsZWZ0OmZ9Ont9
KSx7ZHVyYXRpb246Zy5hbmltYXRlRHVyYXRpb24sZWFzaW5nOmcuYW5pbWF0ZUVhc2luZywKLXN0
ZXA6ZnVuY3Rpb24oKXt2YXIgbD17d2lkdGg6cGFyc2VJbnQoaC5lbGVtZW50LmNzcygid2lkdGgi
KSwxMCksaGVpZ2h0OnBhcnNlSW50KGguZWxlbWVudC5jc3MoImhlaWdodCIpLDEwKSx0b3A6cGFy
c2VJbnQoaC5lbGVtZW50LmNzcygidG9wIiksMTApLGxlZnQ6cGFyc2VJbnQoaC5lbGVtZW50LmNz
cygibGVmdCIpLDEwKX07aSYmaS5sZW5ndGgmJmEoaVswXSkuY3NzKHt3aWR0aDpsLndpZHRoLGhl
aWdodDpsLmhlaWdodH0pO2guX3VwZGF0ZUNhY2hlKGwpO2guX3Byb3BhZ2F0ZSgicmVzaXplIixl
KX19KX19KTthLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImNvbnRhaW5tZW50Iix7c3RhcnQ6
ZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJlc2l6YWJsZSIpLGg9ZS5lbGVtZW50LGc9
ZS5vcHRpb25zLmNvbnRhaW5tZW50O2lmKGg9ZyBpbnN0YW5jZW9mIGE/Zy5nZXQoMCk6L3BhcmVu
dC8udGVzdChnKT9oLnBhcmVudCgpLmdldCgwKTpnKXtlLmNvbnRhaW5lckVsZW1lbnQ9Ci1hKGgp
O2lmKC9kb2N1bWVudC8udGVzdChnKXx8Zz09ZG9jdW1lbnQpe2UuY29udGFpbmVyT2Zmc2V0PXts
ZWZ0OjAsdG9wOjB9O2UuY29udGFpbmVyUG9zaXRpb249e2xlZnQ6MCx0b3A6MH07ZS5wYXJlbnRE
YXRhPXtlbGVtZW50OmEoZG9jdW1lbnQpLGxlZnQ6MCx0b3A6MCx3aWR0aDphKGRvY3VtZW50KS53
aWR0aCgpLGhlaWdodDphKGRvY3VtZW50KS5oZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJlbnRO
b2RlLnNjcm9sbEhlaWdodH19ZWxzZXt2YXIgaT1hKGgpLGI9W107YShbIlRvcCIsIlJpZ2h0Iiwi
TGVmdCIsIkJvdHRvbSJdKS5lYWNoKGZ1bmN0aW9uKGwsbyl7YltsXT1jKGkuY3NzKCJwYWRkaW5n
IitvKSl9KTtlLmNvbnRhaW5lck9mZnNldD1pLm9mZnNldCgpO2UuY29udGFpbmVyUG9zaXRpb249
aS5wb3NpdGlvbigpO2UuY29udGFpbmVyU2l6ZT17aGVpZ2h0OmkuaW5uZXJIZWlnaHQoKS1iWzNd
LHdpZHRoOmkuaW5uZXJXaWR0aCgpLWJbMV19O2c9ZS5jb250YWluZXJPZmZzZXQ7Ci12YXIgZj1l
LmNvbnRhaW5lclNpemUuaGVpZ2h0LGo9ZS5jb250YWluZXJTaXplLndpZHRoO2o9YS51aS5oYXNT
Y3JvbGwoaCwibGVmdCIpP2guc2Nyb2xsV2lkdGg6ajtmPWEudWkuaGFzU2Nyb2xsKGgpP2guc2Ny
b2xsSGVpZ2h0OmY7ZS5wYXJlbnREYXRhPXtlbGVtZW50OmgsbGVmdDpnLmxlZnQsdG9wOmcudG9w
LHdpZHRoOmosaGVpZ2h0OmZ9fX19LHJlc2l6ZTpmdW5jdGlvbihlKXt2YXIgaD1hKHRoaXMpLmRh
dGEoInJlc2l6YWJsZSIpLGc9aC5vcHRpb25zLGk9aC5jb250YWluZXJPZmZzZXQsYj1oLnBvc2l0
aW9uO2U9aC5fYXNwZWN0UmF0aW98fGUuc2hpZnRLZXk7dmFyIGY9e3RvcDowLGxlZnQ6MH0saj1o
LmNvbnRhaW5lckVsZW1lbnQ7aWYoalswXSE9ZG9jdW1lbnQmJi9zdGF0aWMvLnRlc3Qoai5jc3Mo
InBvc2l0aW9uIikpKWY9aTtpZihiLmxlZnQ8KGguX2hlbHBlcj9pLmxlZnQ6MCkpe2guc2l6ZS53
aWR0aCs9aC5faGVscGVyP2gucG9zaXRpb24ubGVmdC1pLmxlZnQ6Ci1oLnBvc2l0aW9uLmxlZnQt
Zi5sZWZ0O2lmKGUpaC5zaXplLmhlaWdodD1oLnNpemUud2lkdGgvZy5hc3BlY3RSYXRpbztoLnBv
c2l0aW9uLmxlZnQ9Zy5oZWxwZXI/aS5sZWZ0OjB9aWYoYi50b3A8KGguX2hlbHBlcj9pLnRvcDow
KSl7aC5zaXplLmhlaWdodCs9aC5faGVscGVyP2gucG9zaXRpb24udG9wLWkudG9wOmgucG9zaXRp
b24udG9wO2lmKGUpaC5zaXplLndpZHRoPWguc2l6ZS5oZWlnaHQqZy5hc3BlY3RSYXRpbztoLnBv
c2l0aW9uLnRvcD1oLl9oZWxwZXI/aS50b3A6MH1oLm9mZnNldC5sZWZ0PWgucGFyZW50RGF0YS5s
ZWZ0K2gucG9zaXRpb24ubGVmdDtoLm9mZnNldC50b3A9aC5wYXJlbnREYXRhLnRvcCtoLnBvc2l0
aW9uLnRvcDtnPU1hdGguYWJzKChoLl9oZWxwZXI/aC5vZmZzZXQubGVmdC1mLmxlZnQ6aC5vZmZz
ZXQubGVmdC1mLmxlZnQpK2guc2l6ZURpZmYud2lkdGgpO2k9TWF0aC5hYnMoKGguX2hlbHBlcj9o
Lm9mZnNldC50b3AtZi50b3A6aC5vZmZzZXQudG9wLQotaS50b3ApK2guc2l6ZURpZmYuaGVpZ2h0
KTtiPWguY29udGFpbmVyRWxlbWVudC5nZXQoMCk9PWguZWxlbWVudC5wYXJlbnQoKS5nZXQoMCk7
Zj0vcmVsYXRpdmV8YWJzb2x1dGUvLnRlc3QoaC5jb250YWluZXJFbGVtZW50LmNzcygicG9zaXRp
b24iKSk7aWYoYiYmZilnLT1oLnBhcmVudERhdGEubGVmdDtpZihnK2guc2l6ZS53aWR0aD49aC5w
YXJlbnREYXRhLndpZHRoKXtoLnNpemUud2lkdGg9aC5wYXJlbnREYXRhLndpZHRoLWc7aWYoZSlo
LnNpemUuaGVpZ2h0PWguc2l6ZS53aWR0aC9oLmFzcGVjdFJhdGlvfWlmKGkraC5zaXplLmhlaWdo
dD49aC5wYXJlbnREYXRhLmhlaWdodCl7aC5zaXplLmhlaWdodD1oLnBhcmVudERhdGEuaGVpZ2h0
LWk7aWYoZSloLnNpemUud2lkdGg9aC5zaXplLmhlaWdodCpoLmFzcGVjdFJhdGlvfX0sc3RvcDpm
dW5jdGlvbigpe3ZhciBlPWEodGhpcykuZGF0YSgicmVzaXphYmxlIiksaD1lLm9wdGlvbnMsZz1l
LmNvbnRhaW5lck9mZnNldCxpPWUuY29udGFpbmVyUG9zaXRpb24sCi1iPWUuY29udGFpbmVyRWxl
bWVudCxmPWEoZS5oZWxwZXIpLGo9Zi5vZmZzZXQoKSxsPWYub3V0ZXJXaWR0aCgpLWUuc2l6ZURp
ZmYud2lkdGg7Zj1mLm91dGVySGVpZ2h0KCktZS5zaXplRGlmZi5oZWlnaHQ7ZS5faGVscGVyJiYh
aC5hbmltYXRlJiYvcmVsYXRpdmUvLnRlc3QoYi5jc3MoInBvc2l0aW9uIikpJiZhKHRoaXMpLmNz
cyh7bGVmdDpqLmxlZnQtaS5sZWZ0LWcubGVmdCx3aWR0aDpsLGhlaWdodDpmfSk7ZS5faGVscGVy
JiYhaC5hbmltYXRlJiYvc3RhdGljLy50ZXN0KGIuY3NzKCJwb3NpdGlvbiIpKSYmYSh0aGlzKS5j
c3Moe2xlZnQ6ai5sZWZ0LWkubGVmdC1nLmxlZnQsd2lkdGg6bCxoZWlnaHQ6Zn0pfX0pO2EudWku
cGx1Z2luLmFkZCgicmVzaXphYmxlIiwiZ2hvc3QiLHtzdGFydDpmdW5jdGlvbigpe3ZhciBlPWEo
dGhpcykuZGF0YSgicmVzaXphYmxlIiksaD1lLm9wdGlvbnMsZz1lLnNpemU7ZS5naG9zdD1lLm9y
aWdpbmFsRWxlbWVudC5jbG9uZSgpO2UuZ2hvc3QuY3NzKHtvcGFjaXR5OjAuMjUsCi1kaXNwbGF5
OiJibG9jayIscG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6Zy5oZWlnaHQsd2lkdGg6Zy53aWR0
aCxtYXJnaW46MCxsZWZ0OjAsdG9wOjB9KS5hZGRDbGFzcygidWktcmVzaXphYmxlLWdob3N0Iiku
YWRkQ2xhc3ModHlwZW9mIGguZ2hvc3Q9PSJzdHJpbmciP2guZ2hvc3Q6IiIpO2UuZ2hvc3QuYXBw
ZW5kVG8oZS5oZWxwZXIpfSxyZXNpemU6ZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLmRhdGEoInJl
c2l6YWJsZSIpO2UuZ2hvc3QmJmUuZ2hvc3QuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGhlaWdo
dDplLnNpemUuaGVpZ2h0LHdpZHRoOmUuc2l6ZS53aWR0aH0pfSxzdG9wOmZ1bmN0aW9uKCl7dmFy
IGU9YSh0aGlzKS5kYXRhKCJyZXNpemFibGUiKTtlLmdob3N0JiZlLmhlbHBlciYmZS5oZWxwZXIu
Z2V0KDApLnJlbW92ZUNoaWxkKGUuZ2hvc3QuZ2V0KDApKX19KTthLnVpLnBsdWdpbi5hZGQoInJl
c2l6YWJsZSIsImdyaWQiLHtyZXNpemU6ZnVuY3Rpb24oKXt2YXIgZT0KLWEodGhpcykuZGF0YSgi
cmVzaXphYmxlIiksaD1lLm9wdGlvbnMsZz1lLnNpemUsaT1lLm9yaWdpbmFsU2l6ZSxiPWUub3Jp
Z2luYWxQb3NpdGlvbixmPWUuYXhpcztoLmdyaWQ9dHlwZW9mIGguZ3JpZD09Im51bWJlciI/W2gu
Z3JpZCxoLmdyaWRdOmguZ3JpZDt2YXIgaj1NYXRoLnJvdW5kKChnLndpZHRoLWkud2lkdGgpLyho
LmdyaWRbMF18fDEpKSooaC5ncmlkWzBdfHwxKTtoPU1hdGgucm91bmQoKGcuaGVpZ2h0LWkuaGVp
Z2h0KS8oaC5ncmlkWzFdfHwxKSkqKGguZ3JpZFsxXXx8MSk7aWYoL14oc2V8c3xlKSQvLnRlc3Qo
Zikpe2Uuc2l6ZS53aWR0aD1pLndpZHRoK2o7ZS5zaXplLmhlaWdodD1pLmhlaWdodCtofWVsc2Ug
aWYoL14obmUpJC8udGVzdChmKSl7ZS5zaXplLndpZHRoPWkud2lkdGgrajtlLnNpemUuaGVpZ2h0
PWkuaGVpZ2h0K2g7ZS5wb3NpdGlvbi50b3A9Yi50b3AtaH1lbHNle2lmKC9eKHN3KSQvLnRlc3Qo
Zikpe2Uuc2l6ZS53aWR0aD1pLndpZHRoK2o7ZS5zaXplLmhlaWdodD0KLWkuaGVpZ2h0K2h9ZWxz
ZXtlLnNpemUud2lkdGg9aS53aWR0aCtqO2Uuc2l6ZS5oZWlnaHQ9aS5oZWlnaHQraDtlLnBvc2l0
aW9uLnRvcD1iLnRvcC1ofWUucG9zaXRpb24ubGVmdD1iLmxlZnQtan19fSk7dmFyIGM9ZnVuY3Rp
b24oZSl7cmV0dXJuIHBhcnNlSW50KGUsMTApfHwwfSxkPWZ1bmN0aW9uKGUpe3JldHVybiFpc05h
TihwYXJzZUludChlLDEwKSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLndpZGdldCgidWku
c2VsZWN0YWJsZSIsYS51aS5tb3VzZSx7b3B0aW9uczp7YXBwZW5kVG86ImJvZHkiLGF1dG9SZWZy
ZXNoOnRydWUsZGlzdGFuY2U6MCxmaWx0ZXI6IioiLHRvbGVyYW5jZToidG91Y2gifSxfY3JlYXRl
OmZ1bmN0aW9uKCl7dmFyIGM9dGhpczt0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGFi
bGUiKTt0aGlzLmRyYWdnZWQ9ZmFsc2U7dmFyIGQ7dGhpcy5yZWZyZXNoPWZ1bmN0aW9uKCl7ZD1h
KGMub3B0aW9ucy5maWx0ZXIsYy5lbGVtZW50WzBdKTtkLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1h
KHRoaXMpLGg9ZS5vZmZzZXQoKTthLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIix7ZWxlbWVu
dDp0aGlzLCRlbGVtZW50OmUsbGVmdDpoLmxlZnQsdG9wOmgudG9wLHJpZ2h0OmgubGVmdCtlLm91
dGVyV2lkdGgoKSxib3R0b206aC50b3ArZS5vdXRlckhlaWdodCgpLHN0YXJ0c2VsZWN0ZWQ6ZmFs
c2Usc2VsZWN0ZWQ6ZS5oYXNDbGFzcygidWktc2VsZWN0ZWQiKSwKLXNlbGVjdGluZzplLmhhc0Ns
YXNzKCJ1aS1zZWxlY3RpbmciKSx1bnNlbGVjdGluZzplLmhhc0NsYXNzKCJ1aS11bnNlbGVjdGlu
ZyIpfSl9KX07dGhpcy5yZWZyZXNoKCk7dGhpcy5zZWxlY3RlZXM9ZC5hZGRDbGFzcygidWktc2Vs
ZWN0ZWUiKTt0aGlzLl9tb3VzZUluaXQoKTt0aGlzLmhlbHBlcj1hKCI8ZGl2IGNsYXNzPSd1aS1z
ZWxlY3RhYmxlLWhlbHBlcic+PC9kaXY+Iil9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnNlbGVj
dGVlcy5yZW1vdmVDbGFzcygidWktc2VsZWN0ZWUiKS5yZW1vdmVEYXRhKCJzZWxlY3RhYmxlLWl0
ZW0iKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGFibGUgdWktc2VsZWN0YWJs
ZS1kaXNhYmxlZCIpLnJlbW92ZURhdGEoInNlbGVjdGFibGUiKS51bmJpbmQoIi5zZWxlY3RhYmxl
Iik7dGhpcy5fbW91c2VEZXN0cm95KCk7cmV0dXJuIHRoaXN9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9u
KGMpe3ZhciBkPXRoaXM7dGhpcy5vcG9zPVtjLnBhZ2VYLAotYy5wYWdlWV07aWYoIXRoaXMub3B0
aW9ucy5kaXNhYmxlZCl7dmFyIGU9dGhpcy5vcHRpb25zO3RoaXMuc2VsZWN0ZWVzPWEoZS5maWx0
ZXIsdGhpcy5lbGVtZW50WzBdKTt0aGlzLl90cmlnZ2VyKCJzdGFydCIsYyk7YShlLmFwcGVuZFRv
KS5hcHBlbmQodGhpcy5oZWxwZXIpO3RoaXMuaGVscGVyLmNzcyh7bGVmdDpjLmNsaWVudFgsdG9w
OmMuY2xpZW50WSx3aWR0aDowLGhlaWdodDowfSk7ZS5hdXRvUmVmcmVzaCYmdGhpcy5yZWZyZXNo
KCk7dGhpcy5zZWxlY3RlZXMuZmlsdGVyKCIudWktc2VsZWN0ZWQiKS5lYWNoKGZ1bmN0aW9uKCl7
dmFyIGg9YS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2guc3RhcnRzZWxlY3RlZD10cnVl
O2lmKCFjLm1ldGFLZXkpe2guJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7aC5z
ZWxlY3RlZD1mYWxzZTtoLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpO2gudW5z
ZWxlY3Rpbmc9dHJ1ZTtkLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsCi1jLHt1bnNlbGVjdGluZzpo
LmVsZW1lbnR9KX19KTthKGMudGFyZ2V0KS5wYXJlbnRzKCkuYW5kU2VsZigpLmVhY2goZnVuY3Rp
b24oKXt2YXIgaD1hLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7aWYoaCl7dmFyIGc9IWMu
bWV0YUtleXx8IWguJGVsZW1lbnQuaGFzQ2xhc3MoInVpLXNlbGVjdGVkIik7aC4kZWxlbWVudC5y
ZW1vdmVDbGFzcyhnPyJ1aS11bnNlbGVjdGluZyI6InVpLXNlbGVjdGVkIikuYWRkQ2xhc3MoZz8i
dWktc2VsZWN0aW5nIjoidWktdW5zZWxlY3RpbmciKTtoLnVuc2VsZWN0aW5nPSFnO2guc2VsZWN0
aW5nPWc7KGguc2VsZWN0ZWQ9Zyk/ZC5fdHJpZ2dlcigic2VsZWN0aW5nIixjLHtzZWxlY3Rpbmc6
aC5lbGVtZW50fSk6ZC5fdHJpZ2dlcigidW5zZWxlY3RpbmciLGMse3Vuc2VsZWN0aW5nOmguZWxl
bWVudH0pO3JldHVybiBmYWxzZX19KX19LF9tb3VzZURyYWc6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhp
czt0aGlzLmRyYWdnZWQ9dHJ1ZTtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkKXt2YXIgZT0KLXRo
aXMub3B0aW9ucyxoPXRoaXMub3Bvc1swXSxnPXRoaXMub3Bvc1sxXSxpPWMucGFnZVgsYj1jLnBh
Z2VZO2lmKGg+aSl7dmFyIGY9aTtpPWg7aD1mfWlmKGc+Yil7Zj1iO2I9ZztnPWZ9dGhpcy5oZWxw
ZXIuY3NzKHtsZWZ0OmgsdG9wOmcsd2lkdGg6aS1oLGhlaWdodDpiLWd9KTt0aGlzLnNlbGVjdGVl
cy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGo9YS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO2lm
KCEoIWp8fGouZWxlbWVudD09ZC5lbGVtZW50WzBdKSl7dmFyIGw9ZmFsc2U7aWYoZS50b2xlcmFu
Y2U9PSJ0b3VjaCIpbD0hKGoubGVmdD5pfHxqLnJpZ2h0PGh8fGoudG9wPmJ8fGouYm90dG9tPGcp
O2Vsc2UgaWYoZS50b2xlcmFuY2U9PSJmaXQiKWw9ai5sZWZ0PmgmJmoucmlnaHQ8aSYmai50b3A+
ZyYmai5ib3R0b208YjtpZihsKXtpZihqLnNlbGVjdGVkKXtqLiRlbGVtZW50LnJlbW92ZUNsYXNz
KCJ1aS1zZWxlY3RlZCIpO2ouc2VsZWN0ZWQ9ZmFsc2V9aWYoai51bnNlbGVjdGluZyl7ai4kZWxl
bWVudC5yZW1vdmVDbGFzcygidWktdW5zZWxlY3RpbmciKTsKLWoudW5zZWxlY3Rpbmc9ZmFsc2V9
aWYoIWouc2VsZWN0aW5nKXtqLiRlbGVtZW50LmFkZENsYXNzKCJ1aS1zZWxlY3RpbmciKTtqLnNl
bGVjdGluZz10cnVlO2QuX3RyaWdnZXIoInNlbGVjdGluZyIsYyx7c2VsZWN0aW5nOmouZWxlbWVu
dH0pfX1lbHNle2lmKGouc2VsZWN0aW5nKWlmKGMubWV0YUtleSYmai5zdGFydHNlbGVjdGVkKXtq
LiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RpbmciKTtqLnNlbGVjdGluZz1mYWxzZTtq
LiRlbGVtZW50LmFkZENsYXNzKCJ1aS1zZWxlY3RlZCIpO2ouc2VsZWN0ZWQ9dHJ1ZX1lbHNle2ou
JGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpO2ouc2VsZWN0aW5nPWZhbHNlO2lm
KGouc3RhcnRzZWxlY3RlZCl7ai4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTtq
LnVuc2VsZWN0aW5nPXRydWV9ZC5fdHJpZ2dlcigidW5zZWxlY3RpbmciLGMse3Vuc2VsZWN0aW5n
OmouZWxlbWVudH0pfWlmKGouc2VsZWN0ZWQpaWYoIWMubWV0YUtleSYmCi0hai5zdGFydHNlbGVj
dGVkKXtqLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpO2ouc2VsZWN0ZWQ9ZmFs
c2U7ai4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTtqLnVuc2VsZWN0aW5nPXRy
dWU7ZC5fdHJpZ2dlcigidW5zZWxlY3RpbmciLGMse3Vuc2VsZWN0aW5nOmouZWxlbWVudH0pfX19
fSk7cmV0dXJuIGZhbHNlfX0sX21vdXNlU3RvcDpmdW5jdGlvbihjKXt2YXIgZD10aGlzO3RoaXMu
ZHJhZ2dlZD1mYWxzZTthKCIudWktdW5zZWxlY3RpbmciLHRoaXMuZWxlbWVudFswXSkuZWFjaChm
dW5jdGlvbigpe3ZhciBlPWEuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtlLiRlbGVtZW50
LnJlbW92ZUNsYXNzKCJ1aS11bnNlbGVjdGluZyIpO2UudW5zZWxlY3Rpbmc9ZmFsc2U7ZS5zdGFy
dHNlbGVjdGVkPWZhbHNlO2QuX3RyaWdnZXIoInVuc2VsZWN0ZWQiLGMse3Vuc2VsZWN0ZWQ6ZS5l
bGVtZW50fSl9KTthKCIudWktc2VsZWN0aW5nIix0aGlzLmVsZW1lbnRbMF0pLmVhY2goZnVuY3Rp
b24oKXt2YXIgZT0KLWEuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtlLiRlbGVtZW50LnJl
bW92ZUNsYXNzKCJ1aS1zZWxlY3RpbmciKS5hZGRDbGFzcygidWktc2VsZWN0ZWQiKTtlLnNlbGVj
dGluZz1mYWxzZTtlLnNlbGVjdGVkPXRydWU7ZS5zdGFydHNlbGVjdGVkPXRydWU7ZC5fdHJpZ2dl
cigic2VsZWN0ZWQiLGMse3NlbGVjdGVkOmUuZWxlbWVudH0pfSk7dGhpcy5fdHJpZ2dlcigic3Rv
cCIsYyk7dGhpcy5oZWxwZXIucmVtb3ZlKCk7cmV0dXJuIGZhbHNlfX0pO2EuZXh0ZW5kKGEudWku
c2VsZWN0YWJsZSx7dmVyc2lvbjoiMS44LjE1In0pfSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXth
LndpZGdldCgidWkuc29ydGFibGUiLGEudWkubW91c2Use3dpZGdldEV2ZW50UHJlZml4OiJzb3J0
IixvcHRpb25zOnthcHBlbmRUbzoicGFyZW50IixheGlzOmZhbHNlLGNvbm5lY3RXaXRoOmZhbHNl
LGNvbnRhaW5tZW50OmZhbHNlLGN1cnNvcjoiYXV0byIsY3Vyc29yQXQ6ZmFsc2UsZHJvcE9uRW1w
dHk6dHJ1ZSxmb3JjZVBsYWNlaG9sZGVyU2l6ZTpmYWxzZSxmb3JjZUhlbHBlclNpemU6ZmFsc2Us
Z3JpZDpmYWxzZSxoYW5kbGU6ZmFsc2UsaGVscGVyOiJvcmlnaW5hbCIsaXRlbXM6Ij4gKiIsb3Bh
Y2l0eTpmYWxzZSxwbGFjZWhvbGRlcjpmYWxzZSxyZXZlcnQ6ZmFsc2Usc2Nyb2xsOnRydWUsc2Ny
b2xsU2Vuc2l0aXZpdHk6MjAsc2Nyb2xsU3BlZWQ6MjAsc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5j
ZToiaW50ZXJzZWN0Iix6SW5kZXg6MUUzfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy5v
cHRpb25zO3RoaXMuY29udGFpbmVyQ2FjaGU9e307dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1z
b3J0YWJsZSIpOwotdGhpcy5yZWZyZXNoKCk7dGhpcy5mbG9hdGluZz10aGlzLml0ZW1zLmxlbmd0
aD9jLmF4aXM9PT0ieCJ8fC9sZWZ0fHJpZ2h0Ly50ZXN0KHRoaXMuaXRlbXNbMF0uaXRlbS5jc3Mo
ImZsb2F0IikpfHwvaW5saW5lfHRhYmxlLWNlbGwvLnRlc3QodGhpcy5pdGVtc1swXS5pdGVtLmNz
cygiZGlzcGxheSIpKTpmYWxzZTt0aGlzLm9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCk7dGhp
cy5fbW91c2VJbml0KCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xh
c3MoInVpLXNvcnRhYmxlIHVpLXNvcnRhYmxlLWRpc2FibGVkIikucmVtb3ZlRGF0YSgic29ydGFi
bGUiKS51bmJpbmQoIi5zb3J0YWJsZSIpO3RoaXMuX21vdXNlRGVzdHJveSgpO2Zvcih2YXIgYz10
aGlzLml0ZW1zLmxlbmd0aC0xO2M+PTA7Yy0tKXRoaXMuaXRlbXNbY10uaXRlbS5yZW1vdmVEYXRh
KCJzb3J0YWJsZS1pdGVtIik7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24oYyxkKXtp
ZihjPT09Ci0iZGlzYWJsZWQiKXt0aGlzLm9wdGlvbnNbY109ZDt0aGlzLndpZGdldCgpW2Q/ImFk
ZENsYXNzIjoicmVtb3ZlQ2xhc3MiXSgidWktc29ydGFibGUtZGlzYWJsZWQiKX1lbHNlIGEuV2lk
Z2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX21vdXNlQ2Fw
dHVyZTpmdW5jdGlvbihjLGQpe2lmKHRoaXMucmV2ZXJ0aW5nKXJldHVybiBmYWxzZTtpZih0aGlz
Lm9wdGlvbnMuZGlzYWJsZWR8fHRoaXMub3B0aW9ucy50eXBlPT0ic3RhdGljIilyZXR1cm4gZmFs
c2U7dGhpcy5fcmVmcmVzaEl0ZW1zKGMpO3ZhciBlPW51bGwsaD10aGlzO2EoYy50YXJnZXQpLnBh
cmVudHMoKS5lYWNoKGZ1bmN0aW9uKCl7aWYoYS5kYXRhKHRoaXMsInNvcnRhYmxlLWl0ZW0iKT09
aCl7ZT1hKHRoaXMpO3JldHVybiBmYWxzZX19KTtpZihhLmRhdGEoYy50YXJnZXQsInNvcnRhYmxl
LWl0ZW0iKT09aCllPWEoYy50YXJnZXQpO2lmKCFlKXJldHVybiBmYWxzZTtpZih0aGlzLm9wdGlv
bnMuaGFuZGxlJiYKLSFkKXt2YXIgZz1mYWxzZTthKHRoaXMub3B0aW9ucy5oYW5kbGUsZSkuZmlu
ZCgiKiIpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcz09Yy50YXJnZXQpZz10cnVl
fSk7aWYoIWcpcmV0dXJuIGZhbHNlfXRoaXMuY3VycmVudEl0ZW09ZTt0aGlzLl9yZW1vdmVDdXJy
ZW50c0Zyb21JdGVtcygpO3JldHVybiB0cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbihjLGQsZSl7
ZD10aGlzLm9wdGlvbnM7dmFyIGg9dGhpczt0aGlzLmN1cnJlbnRDb250YWluZXI9dGhpczt0aGlz
LnJlZnJlc2hQb3NpdGlvbnMoKTt0aGlzLmhlbHBlcj10aGlzLl9jcmVhdGVIZWxwZXIoYyk7dGhp
cy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpO3RoaXMuX2NhY2hlTWFyZ2lucygpO3RoaXMuc2Ny
b2xsUGFyZW50PXRoaXMuaGVscGVyLnNjcm9sbFBhcmVudCgpO3RoaXMub2Zmc2V0PXRoaXMuY3Vy
cmVudEl0ZW0ub2Zmc2V0KCk7dGhpcy5vZmZzZXQ9e3RvcDp0aGlzLm9mZnNldC50b3AtdGhpcy5t
YXJnaW5zLnRvcCwKLWxlZnQ6dGhpcy5vZmZzZXQubGVmdC10aGlzLm1hcmdpbnMubGVmdH07dGhp
cy5oZWxwZXIuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIik7dGhpcy5jc3NQb3NpdGlvbj10aGlz
LmhlbHBlci5jc3MoInBvc2l0aW9uIik7YS5leHRlbmQodGhpcy5vZmZzZXQse2NsaWNrOntsZWZ0
OmMucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6Yy5wYWdlWS10aGlzLm9mZnNldC50b3B9LHBh
cmVudDp0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSxyZWxhdGl2ZTp0aGlzLl9nZXRSZWxhdGl2ZU9m
ZnNldCgpfSk7dGhpcy5vcmlnaW5hbFBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oYyk7
dGhpcy5vcmlnaW5hbFBhZ2VYPWMucGFnZVg7dGhpcy5vcmlnaW5hbFBhZ2VZPWMucGFnZVk7ZC5j
dXJzb3JBdCYmdGhpcy5fYWRqdXN0T2Zmc2V0RnJvbUhlbHBlcihkLmN1cnNvckF0KTt0aGlzLmRv
bVBvc2l0aW9uPXtwcmV2OnRoaXMuY3VycmVudEl0ZW0ucHJldigpWzBdLHBhcmVudDp0aGlzLmN1
cnJlbnRJdGVtLnBhcmVudCgpWzBdfTsKLXRoaXMuaGVscGVyWzBdIT10aGlzLmN1cnJlbnRJdGVt
WzBdJiZ0aGlzLmN1cnJlbnRJdGVtLmhpZGUoKTt0aGlzLl9jcmVhdGVQbGFjZWhvbGRlcigpO2Qu
Y29udGFpbm1lbnQmJnRoaXMuX3NldENvbnRhaW5tZW50KCk7aWYoZC5jdXJzb3Ipe2lmKGEoImJv
ZHkiKS5jc3MoImN1cnNvciIpKXRoaXMuX3N0b3JlZEN1cnNvcj1hKCJib2R5IikuY3NzKCJjdXJz
b3IiKTthKCJib2R5IikuY3NzKCJjdXJzb3IiLGQuY3Vyc29yKX1pZihkLm9wYWNpdHkpe2lmKHRo
aXMuaGVscGVyLmNzcygib3BhY2l0eSIpKXRoaXMuX3N0b3JlZE9wYWNpdHk9dGhpcy5oZWxwZXIu
Y3NzKCJvcGFjaXR5Iik7dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5IixkLm9wYWNpdHkpfWlmKGQu
ekluZGV4KXtpZih0aGlzLmhlbHBlci5jc3MoInpJbmRleCIpKXRoaXMuX3N0b3JlZFpJbmRleD10
aGlzLmhlbHBlci5jc3MoInpJbmRleCIpO3RoaXMuaGVscGVyLmNzcygiekluZGV4IixkLnpJbmRl
eCl9aWYodGhpcy5zY3JvbGxQYXJlbnRbMF0hPQotZG9jdW1lbnQmJnRoaXMuc2Nyb2xsUGFyZW50
WzBdLnRhZ05hbWUhPSJIVE1MIil0aGlzLm92ZXJmbG93T2Zmc2V0PXRoaXMuc2Nyb2xsUGFyZW50
Lm9mZnNldCgpO3RoaXMuX3RyaWdnZXIoInN0YXJ0IixjLHRoaXMuX3VpSGFzaCgpKTt0aGlzLl9w
cmVzZXJ2ZUhlbHBlclByb3BvcnRpb25zfHx0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCk7
aWYoIWUpZm9yKGU9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXRoaXMuY29udGFp
bmVyc1tlXS5fdHJpZ2dlcigiYWN0aXZhdGUiLGMsaC5fdWlIYXNoKHRoaXMpKTtpZihhLnVpLmRk
bWFuYWdlcilhLnVpLmRkbWFuYWdlci5jdXJyZW50PXRoaXM7YS51aS5kZG1hbmFnZXImJiFkLmRy
b3BCZWhhdmlvdXImJmEudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsYyk7dGhpcy5k
cmFnZ2luZz10cnVlO3RoaXMuaGVscGVyLmFkZENsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKTt0
aGlzLl9tb3VzZURyYWcoYyk7Ci1yZXR1cm4gdHJ1ZX0sX21vdXNlRHJhZzpmdW5jdGlvbihjKXt0
aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oYyk7dGhpcy5wb3NpdGlvbkFicz10
aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTtpZighdGhpcy5sYXN0UG9zaXRpb25B
YnMpdGhpcy5sYXN0UG9zaXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicztpZih0aGlzLm9wdGlvbnMu
c2Nyb2xsKXt2YXIgZD10aGlzLm9wdGlvbnMsZT1mYWxzZTtpZih0aGlzLnNjcm9sbFBhcmVudFsw
XSE9ZG9jdW1lbnQmJnRoaXMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWUhPSJIVE1MIil7aWYodGhp
cy5vdmVyZmxvd09mZnNldC50b3ArdGhpcy5zY3JvbGxQYXJlbnRbMF0ub2Zmc2V0SGVpZ2h0LWMu
cGFnZVk8ZC5zY3JvbGxTZW5zaXRpdml0eSl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3A9
ZT10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3ArZC5zY3JvbGxTcGVlZDtlbHNlIGlmKGMu
cGFnZVktdGhpcy5vdmVyZmxvd09mZnNldC50b3A8Ci1kLnNjcm9sbFNlbnNpdGl2aXR5KXRoaXMu
c2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcD1lPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRv
cC1kLnNjcm9sbFNwZWVkO2lmKHRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdCt0aGlzLnNjcm9sbFBh
cmVudFswXS5vZmZzZXRXaWR0aC1jLnBhZ2VYPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpdGhpcy5zY3Jv
bGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1lPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQr
ZC5zY3JvbGxTcGVlZDtlbHNlIGlmKGMucGFnZVgtdGhpcy5vdmVyZmxvd09mZnNldC5sZWZ0PGQu
c2Nyb2xsU2Vuc2l0aXZpdHkpdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1lPXRoaXMu
c2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQtZC5zY3JvbGxTcGVlZH1lbHNle2lmKGMucGFnZVkt
YShkb2N1bWVudCkuc2Nyb2xsVG9wKCk8ZC5zY3JvbGxTZW5zaXRpdml0eSllPWEoZG9jdW1lbnQp
LnNjcm9sbFRvcChhKGRvY3VtZW50KS5zY3JvbGxUb3AoKS0KLWQuc2Nyb2xsU3BlZWQpO2Vsc2Ug
aWYoYSh3aW5kb3cpLmhlaWdodCgpLShjLnBhZ2VZLWEoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKTxk
LnNjcm9sbFNlbnNpdGl2aXR5KWU9YShkb2N1bWVudCkuc2Nyb2xsVG9wKGEoZG9jdW1lbnQpLnNj
cm9sbFRvcCgpK2Quc2Nyb2xsU3BlZWQpO2lmKGMucGFnZVgtYShkb2N1bWVudCkuc2Nyb2xsTGVm
dCgpPGQuc2Nyb2xsU2Vuc2l0aXZpdHkpZT1hKGRvY3VtZW50KS5zY3JvbGxMZWZ0KGEoZG9jdW1l
bnQpLnNjcm9sbExlZnQoKS1kLnNjcm9sbFNwZWVkKTtlbHNlIGlmKGEod2luZG93KS53aWR0aCgp
LShjLnBhZ2VYLWEoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSk8ZC5zY3JvbGxTZW5zaXRpdml0eSll
PWEoZG9jdW1lbnQpLnNjcm9sbExlZnQoYShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpK2Quc2Nyb2xs
U3BlZWQpfWUhPT1mYWxzZSYmYS51aS5kZG1hbmFnZXImJiFkLmRyb3BCZWhhdmlvdXImJmEudWku
ZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsCi1jKX10aGlzLnBvc2l0aW9uQWJzPXRoaXMu
X2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpO2lmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhp
cy5vcHRpb25zLmF4aXMhPSJ5Iil0aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0PXRoaXMucG9zaXRp
b24ubGVmdCsicHgiO2lmKCF0aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5vcHRpb25zLmF4aXMhPSJ4
Iil0aGlzLmhlbHBlclswXS5zdHlsZS50b3A9dGhpcy5wb3NpdGlvbi50b3ArInB4Ijtmb3IoZD10
aGlzLml0ZW1zLmxlbmd0aC0xO2Q+PTA7ZC0tKXtlPXRoaXMuaXRlbXNbZF07dmFyIGg9ZS5pdGVt
WzBdLGc9dGhpcy5faW50ZXJzZWN0c1dpdGhQb2ludGVyKGUpO2lmKGcpaWYoaCE9dGhpcy5jdXJy
ZW50SXRlbVswXSYmdGhpcy5wbGFjZWhvbGRlcltnPT0xPyJuZXh0IjoicHJldiJdKClbMF0hPWgm
JiFhLnVpLmNvbnRhaW5zKHRoaXMucGxhY2Vob2xkZXJbMF0saCkmJih0aGlzLm9wdGlvbnMudHlw
ZT09InNlbWktZHluYW1pYyI/IWEudWkuY29udGFpbnModGhpcy5lbGVtZW50WzBdLAotaCk6dHJ1
ZSkpe3RoaXMuZGlyZWN0aW9uPWc9PTE/ImRvd24iOiJ1cCI7aWYodGhpcy5vcHRpb25zLnRvbGVy
YW5jZT09InBvaW50ZXIifHx0aGlzLl9pbnRlcnNlY3RzV2l0aFNpZGVzKGUpKXRoaXMuX3JlYXJy
YW5nZShjLGUpO2Vsc2UgYnJlYWs7dGhpcy5fdHJpZ2dlcigiY2hhbmdlIixjLHRoaXMuX3VpSGFz
aCgpKTticmVha319dGhpcy5fY29udGFjdENvbnRhaW5lcnMoYyk7YS51aS5kZG1hbmFnZXImJmEu
dWkuZGRtYW5hZ2VyLmRyYWcodGhpcyxjKTt0aGlzLl90cmlnZ2VyKCJzb3J0IixjLHRoaXMuX3Vp
SGFzaCgpKTt0aGlzLmxhc3RQb3NpdGlvbkFicz10aGlzLnBvc2l0aW9uQWJzO3JldHVybiBmYWxz
ZX0sX21vdXNlU3RvcDpmdW5jdGlvbihjLGQpe2lmKGMpe2EudWkuZGRtYW5hZ2VyJiYhdGhpcy5v
cHRpb25zLmRyb3BCZWhhdmlvdXImJmEudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyxjKTtpZih0aGlz
Lm9wdGlvbnMucmV2ZXJ0KXt2YXIgZT10aGlzO2Q9ZS5wbGFjZWhvbGRlci5vZmZzZXQoKTsKLWUu
cmV2ZXJ0aW5nPXRydWU7YSh0aGlzLmhlbHBlcikuYW5pbWF0ZSh7bGVmdDpkLmxlZnQtdGhpcy5v
ZmZzZXQucGFyZW50LmxlZnQtZS5tYXJnaW5zLmxlZnQrKHRoaXMub2Zmc2V0UGFyZW50WzBdPT1k
b2N1bWVudC5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsTGVmdCksdG9wOmQudG9w
LXRoaXMub2Zmc2V0LnBhcmVudC50b3AtZS5tYXJnaW5zLnRvcCsodGhpcy5vZmZzZXRQYXJlbnRb
MF09PWRvY3VtZW50LmJvZHk/MDp0aGlzLm9mZnNldFBhcmVudFswXS5zY3JvbGxUb3ApfSxwYXJz
ZUludCh0aGlzLm9wdGlvbnMucmV2ZXJ0LDEwKXx8NTAwLGZ1bmN0aW9uKCl7ZS5fY2xlYXIoYyl9
KX1lbHNlIHRoaXMuX2NsZWFyKGMsZCk7cmV0dXJuIGZhbHNlfX0sY2FuY2VsOmZ1bmN0aW9uKCl7
dmFyIGM9dGhpcztpZih0aGlzLmRyYWdnaW5nKXt0aGlzLl9tb3VzZVVwKHt0YXJnZXQ6bnVsbH0p
O3RoaXMub3B0aW9ucy5oZWxwZXI9PSJvcmlnaW5hbCI/dGhpcy5jdXJyZW50SXRlbS5jc3ModGhp
cy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIik6Ci10aGlzLmN1
cnJlbnRJdGVtLnNob3coKTtmb3IodmFyIGQ9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2Q+PTA7
ZC0tKXt0aGlzLmNvbnRhaW5lcnNbZF0uX3RyaWdnZXIoImRlYWN0aXZhdGUiLG51bGwsYy5fdWlI
YXNoKHRoaXMpKTtpZih0aGlzLmNvbnRhaW5lcnNbZF0uY29udGFpbmVyQ2FjaGUub3Zlcil7dGhp
cy5jb250YWluZXJzW2RdLl90cmlnZ2VyKCJvdXQiLG51bGwsYy5fdWlIYXNoKHRoaXMpKTt0aGlz
LmNvbnRhaW5lcnNbZF0uY29udGFpbmVyQ2FjaGUub3Zlcj0wfX19aWYodGhpcy5wbGFjZWhvbGRl
cil7dGhpcy5wbGFjZWhvbGRlclswXS5wYXJlbnROb2RlJiZ0aGlzLnBsYWNlaG9sZGVyWzBdLnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5wbGFjZWhvbGRlclswXSk7dGhpcy5vcHRpb25zLmhl
bHBlciE9Im9yaWdpbmFsIiYmdGhpcy5oZWxwZXImJnRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGUm
JnRoaXMuaGVscGVyLnJlbW92ZSgpO2EuZXh0ZW5kKHRoaXMse2hlbHBlcjpudWxsLAotZHJhZ2dp
bmc6ZmFsc2UscmV2ZXJ0aW5nOmZhbHNlLF9ub0ZpbmFsU29ydDpudWxsfSk7dGhpcy5kb21Qb3Np
dGlvbi5wcmV2P2EodGhpcy5kb21Qb3NpdGlvbi5wcmV2KS5hZnRlcih0aGlzLmN1cnJlbnRJdGVt
KTphKHRoaXMuZG9tUG9zaXRpb24ucGFyZW50KS5wcmVwZW5kKHRoaXMuY3VycmVudEl0ZW0pfXJl
dHVybiB0aGlzfSxzZXJpYWxpemU6ZnVuY3Rpb24oYyl7dmFyIGQ9dGhpcy5fZ2V0SXRlbXNBc2pR
dWVyeShjJiZjLmNvbm5lY3RlZCksZT1bXTtjPWN8fHt9O2EoZCkuZWFjaChmdW5jdGlvbigpe3Zh
ciBoPShhKGMuaXRlbXx8dGhpcykuYXR0cihjLmF0dHJpYnV0ZXx8ImlkIil8fCIiKS5tYXRjaChj
LmV4cHJlc3Npb258fC8oLispWy09X10oLispLyk7aWYoaCllLnB1c2goKGMua2V5fHxoWzFdKyJb
XSIpKyI9IisoYy5rZXkmJmMuZXhwcmVzc2lvbj9oWzFdOmhbMl0pKX0pOyFlLmxlbmd0aCYmYy5r
ZXkmJmUucHVzaChjLmtleSsiPSIpO3JldHVybiBlLmpvaW4oIiYiKX0sCi10b0FycmF5OmZ1bmN0
aW9uKGMpe3ZhciBkPXRoaXMuX2dldEl0ZW1zQXNqUXVlcnkoYyYmYy5jb25uZWN0ZWQpLGU9W107
Yz1jfHx7fTtkLmVhY2goZnVuY3Rpb24oKXtlLnB1c2goYShjLml0ZW18fHRoaXMpLmF0dHIoYy5h
dHRyaWJ1dGV8fCJpZCIpfHwiIil9KTtyZXR1cm4gZX0sX2ludGVyc2VjdHNXaXRoOmZ1bmN0aW9u
KGMpe3ZhciBkPXRoaXMucG9zaXRpb25BYnMubGVmdCxlPWQrdGhpcy5oZWxwZXJQcm9wb3J0aW9u
cy53aWR0aCxoPXRoaXMucG9zaXRpb25BYnMudG9wLGc9aCt0aGlzLmhlbHBlclByb3BvcnRpb25z
LmhlaWdodCxpPWMubGVmdCxiPWkrYy53aWR0aCxmPWMudG9wLGo9ZitjLmhlaWdodCxsPXRoaXMu
b2Zmc2V0LmNsaWNrLnRvcCxvPXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7bD1oK2w+ZiYmaCtsPGom
JmQrbz5pJiZkK288YjtyZXR1cm4gdGhpcy5vcHRpb25zLnRvbGVyYW5jZT09InBvaW50ZXIifHx0
aGlzLm9wdGlvbnMuZm9yY2VQb2ludGVyRm9yQ29udGFpbmVyc3x8Ci10aGlzLm9wdGlvbnMudG9s
ZXJhbmNlIT0icG9pbnRlciImJnRoaXMuaGVscGVyUHJvcG9ydGlvbnNbdGhpcy5mbG9hdGluZz8i
d2lkdGgiOiJoZWlnaHQiXT5jW3RoaXMuZmxvYXRpbmc/IndpZHRoIjoiaGVpZ2h0Il0/bDppPGQr
dGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZlLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMu
d2lkdGgvMjxiJiZmPGgrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQvMiYmZy10aGlzLmhl
bHBlclByb3BvcnRpb25zLmhlaWdodC8yPGp9LF9pbnRlcnNlY3RzV2l0aFBvaW50ZXI6ZnVuY3Rp
b24oYyl7dmFyIGQ9YS51aS5pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zm
c2V0LmNsaWNrLnRvcCxjLnRvcCxjLmhlaWdodCk7Yz1hLnVpLmlzT3ZlckF4aXModGhpcy5wb3Np
dGlvbkFicy5sZWZ0K3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQsYy5sZWZ0LGMud2lkdGgpO2Q9ZCYm
YztjPXRoaXMuX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbigpOwotdmFyIGU9dGhpcy5fZ2V0RHJh
Z0hvcml6b250YWxEaXJlY3Rpb24oKTtpZighZClyZXR1cm4gZmFsc2U7cmV0dXJuIHRoaXMuZmxv
YXRpbmc/ZSYmZT09InJpZ2h0Inx8Yz09ImRvd24iPzI6MTpjJiYoYz09ImRvd24iPzI6MSl9LF9p
bnRlcnNlY3RzV2l0aFNpZGVzOmZ1bmN0aW9uKGMpe3ZhciBkPWEudWkuaXNPdmVyQXhpcyh0aGlz
LnBvc2l0aW9uQWJzLnRvcCt0aGlzLm9mZnNldC5jbGljay50b3AsYy50b3ArYy5oZWlnaHQvMixj
LmhlaWdodCk7Yz1hLnVpLmlzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy5sZWZ0K3RoaXMub2Zm
c2V0LmNsaWNrLmxlZnQsYy5sZWZ0K2Mud2lkdGgvMixjLndpZHRoKTt2YXIgZT10aGlzLl9nZXRE
cmFnVmVydGljYWxEaXJlY3Rpb24oKSxoPXRoaXMuX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9u
KCk7cmV0dXJuIHRoaXMuZmxvYXRpbmcmJmg/aD09InJpZ2h0IiYmY3x8aD09ImxlZnQiJiYhYzpl
JiYoZT09ImRvd24iJiZkfHxlPT0idXAiJiYhZCl9LAotX2dldERyYWdWZXJ0aWNhbERpcmVjdGlv
bjpmdW5jdGlvbigpe3ZhciBjPXRoaXMucG9zaXRpb25BYnMudG9wLXRoaXMubGFzdFBvc2l0aW9u
QWJzLnRvcDtyZXR1cm4gYyE9MCYmKGM+MD8iZG93biI6InVwIil9LF9nZXREcmFnSG9yaXpvbnRh
bERpcmVjdGlvbjpmdW5jdGlvbigpe3ZhciBjPXRoaXMucG9zaXRpb25BYnMubGVmdC10aGlzLmxh
c3RQb3NpdGlvbkFicy5sZWZ0O3JldHVybiBjIT0wJiYoYz4wPyJyaWdodCI6ImxlZnQiKX0scmVm
cmVzaDpmdW5jdGlvbihjKXt0aGlzLl9yZWZyZXNoSXRlbXMoYyk7dGhpcy5yZWZyZXNoUG9zaXRp
b25zKCk7cmV0dXJuIHRoaXN9LF9jb25uZWN0V2l0aDpmdW5jdGlvbigpe3ZhciBjPXRoaXMub3B0
aW9ucztyZXR1cm4gYy5jb25uZWN0V2l0aC5jb25zdHJ1Y3Rvcj09U3RyaW5nP1tjLmNvbm5lY3RX
aXRoXTpjLmNvbm5lY3RXaXRofSxfZ2V0SXRlbXNBc2pRdWVyeTpmdW5jdGlvbihjKXt2YXIgZD1b
XSxlPVtdLGg9dGhpcy5fY29ubmVjdFdpdGgoKTsKLWlmKGgmJmMpZm9yKGM9aC5sZW5ndGgtMTtj
Pj0wO2MtLSlmb3IodmFyIGc9YShoW2NdKSxpPWcubGVuZ3RoLTE7aT49MDtpLS0pe3ZhciBiPWEu
ZGF0YShnW2ldLCJzb3J0YWJsZSIpO2lmKGImJmIhPXRoaXMmJiFiLm9wdGlvbnMuZGlzYWJsZWQp
ZS5wdXNoKFthLmlzRnVuY3Rpb24oYi5vcHRpb25zLml0ZW1zKT9iLm9wdGlvbnMuaXRlbXMuY2Fs
bChiLmVsZW1lbnQpOmEoYi5vcHRpb25zLml0ZW1zLGIuZWxlbWVudCkubm90KCIudWktc29ydGFi
bGUtaGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSxiXSl9ZS5wdXNoKFth
LmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLml0ZW1zKT90aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0
aGlzLmVsZW1lbnQsbnVsbCx7b3B0aW9uczp0aGlzLm9wdGlvbnMsaXRlbTp0aGlzLmN1cnJlbnRJ
dGVtfSk6YSh0aGlzLm9wdGlvbnMuaXRlbXMsdGhpcy5lbGVtZW50KS5ub3QoIi51aS1zb3J0YWJs
ZS1oZWxwZXIiKS5ub3QoIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLAotdGhpc10pO2Zvcihj
PWUubGVuZ3RoLTE7Yz49MDtjLS0pZVtjXVswXS5lYWNoKGZ1bmN0aW9uKCl7ZC5wdXNoKHRoaXMp
fSk7cmV0dXJuIGEoZCl9LF9yZW1vdmVDdXJyZW50c0Zyb21JdGVtczpmdW5jdGlvbigpe2Zvcih2
YXIgYz10aGlzLmN1cnJlbnRJdGVtLmZpbmQoIjpkYXRhKHNvcnRhYmxlLWl0ZW0pIiksZD0wO2Q8
dGhpcy5pdGVtcy5sZW5ndGg7ZCsrKWZvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKWNbZV09PXRo
aXMuaXRlbXNbZF0uaXRlbVswXSYmdGhpcy5pdGVtcy5zcGxpY2UoZCwxKX0sX3JlZnJlc2hJdGVt
czpmdW5jdGlvbihjKXt0aGlzLml0ZW1zPVtdO3RoaXMuY29udGFpbmVycz1bdGhpc107dmFyIGQ9
dGhpcy5pdGVtcyxlPVtbYS5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRp
b25zLml0ZW1zLmNhbGwodGhpcy5lbGVtZW50WzBdLGMse2l0ZW06dGhpcy5jdXJyZW50SXRlbX0p
OmEodGhpcy5vcHRpb25zLml0ZW1zLHRoaXMuZWxlbWVudCksCi10aGlzXV0saD10aGlzLl9jb25u
ZWN0V2l0aCgpO2lmKGgpZm9yKHZhciBnPWgubGVuZ3RoLTE7Zz49MDtnLS0pZm9yKHZhciBpPWEo
aFtnXSksYj1pLmxlbmd0aC0xO2I+PTA7Yi0tKXt2YXIgZj1hLmRhdGEoaVtiXSwic29ydGFibGUi
KTtpZihmJiZmIT10aGlzJiYhZi5vcHRpb25zLmRpc2FibGVkKXtlLnB1c2goW2EuaXNGdW5jdGlv
bihmLm9wdGlvbnMuaXRlbXMpP2Yub3B0aW9ucy5pdGVtcy5jYWxsKGYuZWxlbWVudFswXSxjLHtp
dGVtOnRoaXMuY3VycmVudEl0ZW19KTphKGYub3B0aW9ucy5pdGVtcyxmLmVsZW1lbnQpLGZdKTt0
aGlzLmNvbnRhaW5lcnMucHVzaChmKX19Zm9yKGc9ZS5sZW5ndGgtMTtnPj0wO2ctLSl7Yz1lW2dd
WzFdO2g9ZVtnXVswXTtiPTA7Zm9yKGk9aC5sZW5ndGg7YjxpO2IrKyl7Zj1hKGhbYl0pO2YuZGF0
YSgic29ydGFibGUtaXRlbSIsYyk7ZC5wdXNoKHtpdGVtOmYsaW5zdGFuY2U6Yyx3aWR0aDowLGhl
aWdodDowLGxlZnQ6MCx0b3A6MH0pfX19LHJlZnJlc2hQb3NpdGlvbnM6ZnVuY3Rpb24oYyl7aWYo
dGhpcy5vZmZzZXRQYXJlbnQmJgotdGhpcy5oZWxwZXIpdGhpcy5vZmZzZXQucGFyZW50PXRoaXMu
X2dldFBhcmVudE9mZnNldCgpO2Zvcih2YXIgZD10aGlzLml0ZW1zLmxlbmd0aC0xO2Q+PTA7ZC0t
KXt2YXIgZT10aGlzLml0ZW1zW2RdO2lmKCEoZS5pbnN0YW5jZSE9dGhpcy5jdXJyZW50Q29udGFp
bmVyJiZ0aGlzLmN1cnJlbnRDb250YWluZXImJmUuaXRlbVswXSE9dGhpcy5jdXJyZW50SXRlbVsw
XSkpe3ZhciBoPXRoaXMub3B0aW9ucy50b2xlcmFuY2VFbGVtZW50P2EodGhpcy5vcHRpb25zLnRv
bGVyYW5jZUVsZW1lbnQsZS5pdGVtKTplLml0ZW07aWYoIWMpe2Uud2lkdGg9aC5vdXRlcldpZHRo
KCk7ZS5oZWlnaHQ9aC5vdXRlckhlaWdodCgpfWg9aC5vZmZzZXQoKTtlLmxlZnQ9aC5sZWZ0O2Uu
dG9wPWgudG9wfX1pZih0aGlzLm9wdGlvbnMuY3VzdG9tJiZ0aGlzLm9wdGlvbnMuY3VzdG9tLnJl
ZnJlc2hDb250YWluZXJzKXRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMuY2Fs
bCh0aGlzKTtlbHNlIGZvcihkPQotdGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2Q+PTA7ZC0tKXto
PXRoaXMuY29udGFpbmVyc1tkXS5lbGVtZW50Lm9mZnNldCgpO3RoaXMuY29udGFpbmVyc1tkXS5j
b250YWluZXJDYWNoZS5sZWZ0PWgubGVmdDt0aGlzLmNvbnRhaW5lcnNbZF0uY29udGFpbmVyQ2Fj
aGUudG9wPWgudG9wO3RoaXMuY29udGFpbmVyc1tkXS5jb250YWluZXJDYWNoZS53aWR0aD10aGlz
LmNvbnRhaW5lcnNbZF0uZWxlbWVudC5vdXRlcldpZHRoKCk7dGhpcy5jb250YWluZXJzW2RdLmNv
bnRhaW5lckNhY2hlLmhlaWdodD10aGlzLmNvbnRhaW5lcnNbZF0uZWxlbWVudC5vdXRlckhlaWdo
dCgpfXJldHVybiB0aGlzfSxfY3JlYXRlUGxhY2Vob2xkZXI6ZnVuY3Rpb24oYyl7dmFyIGQ9Y3x8
dGhpcyxlPWQub3B0aW9ucztpZighZS5wbGFjZWhvbGRlcnx8ZS5wbGFjZWhvbGRlci5jb25zdHJ1
Y3Rvcj09U3RyaW5nKXt2YXIgaD1lLnBsYWNlaG9sZGVyO2UucGxhY2Vob2xkZXI9e2VsZW1lbnQ6
ZnVuY3Rpb24oKXt2YXIgZz0KLWEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChkLmN1cnJlbnRJdGVt
WzBdLm5vZGVOYW1lKSkuYWRkQ2xhc3MoaHx8ZC5jdXJyZW50SXRlbVswXS5jbGFzc05hbWUrIiB1
aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIi
KVswXTtpZighaClnLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7cmV0dXJuIGd9LHVwZGF0ZTpm
dW5jdGlvbihnLGkpe2lmKCEoaCYmIWUuZm9yY2VQbGFjZWhvbGRlclNpemUpKXtpLmhlaWdodCgp
fHxpLmhlaWdodChkLmN1cnJlbnRJdGVtLmlubmVySGVpZ2h0KCktcGFyc2VJbnQoZC5jdXJyZW50
SXRlbS5jc3MoInBhZGRpbmdUb3AiKXx8MCwxMCktcGFyc2VJbnQoZC5jdXJyZW50SXRlbS5jc3Mo
InBhZGRpbmdCb3R0b20iKXx8MCwxMCkpO2kud2lkdGgoKXx8aS53aWR0aChkLmN1cnJlbnRJdGVt
LmlubmVyV2lkdGgoKS1wYXJzZUludChkLmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ0xlZnQiKXx8
MCwxMCktcGFyc2VJbnQoZC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdSaWdodCIpfHwKLTAsMTAp
KX19fX1kLnBsYWNlaG9sZGVyPWEoZS5wbGFjZWhvbGRlci5lbGVtZW50LmNhbGwoZC5lbGVtZW50
LGQuY3VycmVudEl0ZW0pKTtkLmN1cnJlbnRJdGVtLmFmdGVyKGQucGxhY2Vob2xkZXIpO2UucGxh
Y2Vob2xkZXIudXBkYXRlKGQsZC5wbGFjZWhvbGRlcil9LF9jb250YWN0Q29udGFpbmVyczpmdW5j
dGlvbihjKXtmb3IodmFyIGQ9bnVsbCxlPW51bGwsaD10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7
aD49MDtoLS0paWYoIWEudWkuY29udGFpbnModGhpcy5jdXJyZW50SXRlbVswXSx0aGlzLmNvbnRh
aW5lcnNbaF0uZWxlbWVudFswXSkpaWYodGhpcy5faW50ZXJzZWN0c1dpdGgodGhpcy5jb250YWlu
ZXJzW2hdLmNvbnRhaW5lckNhY2hlKSl7aWYoIShkJiZhLnVpLmNvbnRhaW5zKHRoaXMuY29udGFp
bmVyc1toXS5lbGVtZW50WzBdLGQuZWxlbWVudFswXSkpKXtkPXRoaXMuY29udGFpbmVyc1toXTtl
PWh9fWVsc2UgaWYodGhpcy5jb250YWluZXJzW2hdLmNvbnRhaW5lckNhY2hlLm92ZXIpe3RoaXMu
Y29udGFpbmVyc1toXS5fdHJpZ2dlcigib3V0IiwKLWMsdGhpcy5fdWlIYXNoKHRoaXMpKTt0aGlz
LmNvbnRhaW5lcnNbaF0uY29udGFpbmVyQ2FjaGUub3Zlcj0wfWlmKGQpaWYodGhpcy5jb250YWlu
ZXJzLmxlbmd0aD09PTEpe3RoaXMuY29udGFpbmVyc1tlXS5fdHJpZ2dlcigib3ZlciIsYyx0aGlz
Ll91aUhhc2godGhpcykpO3RoaXMuY29udGFpbmVyc1tlXS5jb250YWluZXJDYWNoZS5vdmVyPTF9
ZWxzZSBpZih0aGlzLmN1cnJlbnRDb250YWluZXIhPXRoaXMuY29udGFpbmVyc1tlXSl7ZD0xRTQ7
aD1udWxsO2Zvcih2YXIgZz10aGlzLnBvc2l0aW9uQWJzW3RoaXMuY29udGFpbmVyc1tlXS5mbG9h
dGluZz8ibGVmdCI6InRvcCJdLGk9dGhpcy5pdGVtcy5sZW5ndGgtMTtpPj0wO2ktLSlpZihhLnVp
LmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1tlXS5lbGVtZW50WzBdLHRoaXMuaXRlbXNbaV0uaXRl
bVswXSkpe3ZhciBiPXRoaXMuaXRlbXNbaV1bdGhpcy5jb250YWluZXJzW2VdLmZsb2F0aW5nPyJs
ZWZ0IjoidG9wIl07aWYoTWF0aC5hYnMoYi0KLWcpPGQpe2Q9TWF0aC5hYnMoYi1nKTtoPXRoaXMu
aXRlbXNbaV19fWlmKGh8fHRoaXMub3B0aW9ucy5kcm9wT25FbXB0eSl7dGhpcy5jdXJyZW50Q29u
dGFpbmVyPXRoaXMuY29udGFpbmVyc1tlXTtoP3RoaXMuX3JlYXJyYW5nZShjLGgsbnVsbCx0cnVl
KTp0aGlzLl9yZWFycmFuZ2UoYyxudWxsLHRoaXMuY29udGFpbmVyc1tlXS5lbGVtZW50LHRydWUp
O3RoaXMuX3RyaWdnZXIoImNoYW5nZSIsYyx0aGlzLl91aUhhc2goKSk7dGhpcy5jb250YWluZXJz
W2VdLl90cmlnZ2VyKCJjaGFuZ2UiLGMsdGhpcy5fdWlIYXNoKHRoaXMpKTt0aGlzLm9wdGlvbnMu
cGxhY2Vob2xkZXIudXBkYXRlKHRoaXMuY3VycmVudENvbnRhaW5lcix0aGlzLnBsYWNlaG9sZGVy
KTt0aGlzLmNvbnRhaW5lcnNbZV0uX3RyaWdnZXIoIm92ZXIiLGMsdGhpcy5fdWlIYXNoKHRoaXMp
KTt0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFpbmVyQ2FjaGUub3Zlcj0xfX19LF9jcmVhdGVIZWxw
ZXI6ZnVuY3Rpb24oYyl7dmFyIGQ9Ci10aGlzLm9wdGlvbnM7Yz1hLmlzRnVuY3Rpb24oZC5oZWxw
ZXIpP2EoZC5oZWxwZXIuYXBwbHkodGhpcy5lbGVtZW50WzBdLFtjLHRoaXMuY3VycmVudEl0ZW1d
KSk6ZC5oZWxwZXI9PSJjbG9uZSI/dGhpcy5jdXJyZW50SXRlbS5jbG9uZSgpOnRoaXMuY3VycmVu
dEl0ZW07Yy5wYXJlbnRzKCJib2R5IikubGVuZ3RofHxhKGQuYXBwZW5kVG8hPSJwYXJlbnQiP2Qu
YXBwZW5kVG86dGhpcy5jdXJyZW50SXRlbVswXS5wYXJlbnROb2RlKVswXS5hcHBlbmRDaGlsZChj
WzBdKTtpZihjWzBdPT10aGlzLmN1cnJlbnRJdGVtWzBdKXRoaXMuX3N0b3JlZENTUz17d2lkdGg6
dGhpcy5jdXJyZW50SXRlbVswXS5zdHlsZS53aWR0aCxoZWlnaHQ6dGhpcy5jdXJyZW50SXRlbVsw
XS5zdHlsZS5oZWlnaHQscG9zaXRpb246dGhpcy5jdXJyZW50SXRlbS5jc3MoInBvc2l0aW9uIiks
dG9wOnRoaXMuY3VycmVudEl0ZW0uY3NzKCJ0b3AiKSxsZWZ0OnRoaXMuY3VycmVudEl0ZW0uY3Nz
KCJsZWZ0Iil9O2lmKGNbMF0uc3R5bGUud2lkdGg9PQotIiJ8fGQuZm9yY2VIZWxwZXJTaXplKWMu
d2lkdGgodGhpcy5jdXJyZW50SXRlbS53aWR0aCgpKTtpZihjWzBdLnN0eWxlLmhlaWdodD09IiJ8
fGQuZm9yY2VIZWxwZXJTaXplKWMuaGVpZ2h0KHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkpO3Jl
dHVybiBjfSxfYWRqdXN0T2Zmc2V0RnJvbUhlbHBlcjpmdW5jdGlvbihjKXtpZih0eXBlb2YgYz09
InN0cmluZyIpYz1jLnNwbGl0KCIgIik7aWYoYS5pc0FycmF5KGMpKWM9e2xlZnQ6K2NbMF0sdG9w
OitjWzFdfHwwfTtpZigibGVmdCJpbiBjKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9Yy5sZWZ0K3Ro
aXMubWFyZ2lucy5sZWZ0O2lmKCJyaWdodCJpbiBjKXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ9dGhp
cy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC1jLnJpZ2h0K3RoaXMubWFyZ2lucy5sZWZ0O2lmKCJ0
b3AiaW4gYyl0aGlzLm9mZnNldC5jbGljay50b3A9Yy50b3ArdGhpcy5tYXJnaW5zLnRvcDtpZigi
Ym90dG9tImluIGMpdGhpcy5vZmZzZXQuY2xpY2sudG9wPQotdGhpcy5oZWxwZXJQcm9wb3J0aW9u
cy5oZWlnaHQtYy5ib3R0b20rdGhpcy5tYXJnaW5zLnRvcH0sX2dldFBhcmVudE9mZnNldDpmdW5j
dGlvbigpe3RoaXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciBj
PXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpO2lmKHRoaXMuY3NzUG9zaXRpb249PSJhYnNvbHV0
ZSImJnRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmYS51aS5jb250YWlucyh0aGlzLnNj
cm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSkpe2MubGVmdCs9dGhpcy5zY3JvbGxQ
YXJlbnQuc2Nyb2xsTGVmdCgpO2MudG9wKz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKX1p
Zih0aGlzLm9mZnNldFBhcmVudFswXT09ZG9jdW1lbnQuYm9keXx8dGhpcy5vZmZzZXRQYXJlbnRb
MF0udGFnTmFtZSYmdGhpcy5vZmZzZXRQYXJlbnRbMF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0i
aHRtbCImJmEuYnJvd3Nlci5tc2llKWM9Ci17dG9wOjAsbGVmdDowfTtyZXR1cm57dG9wOmMudG9w
KyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHww
KSxsZWZ0OmMubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0
V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5j
c3NQb3NpdGlvbj09InJlbGF0aXZlIil7dmFyIGM9dGhpcy5jdXJyZW50SXRlbS5wb3NpdGlvbigp
O3JldHVybnt0b3A6Yy50b3AtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygidG9wIiksMTApfHww
KSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxsZWZ0OmMubGVmdC0ocGFyc2VJbnQodGhp
cy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApfHwwKSt0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0
KCl9fWVsc2UgcmV0dXJue3RvcDowLGxlZnQ6MH19LF9jYWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0
aGlzLm1hcmdpbnM9e2xlZnQ6cGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpbkxl
ZnQiKSwKLTEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpblRv
cCIpLDEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxw
ZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlz
LmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIGM9
dGhpcy5vcHRpb25zO2lmKGMuY29udGFpbm1lbnQ9PSJwYXJlbnQiKWMuY29udGFpbm1lbnQ9dGhp
cy5oZWxwZXJbMF0ucGFyZW50Tm9kZTtpZihjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQifHxjLmNv
bnRhaW5tZW50PT0id2luZG93Iil0aGlzLmNvbnRhaW5tZW50PVswLXRoaXMub2Zmc2V0LnJlbGF0
aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsMC10aGlzLm9mZnNldC5yZWxhdGl2ZS50
b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCxhKGMuY29udGFpbm1lbnQ9PSJkb2N1bWVudCI/Ci1k
b2N1bWVudDp3aW5kb3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlz
Lm1hcmdpbnMubGVmdCwoYShjLmNvbnRhaW5tZW50PT0iZG9jdW1lbnQiP2RvY3VtZW50OndpbmRv
dykuaGVpZ2h0KCl8fGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMu
aGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdO2lmKCEvXihkb2N1bWVu
dHx3aW5kb3d8cGFyZW50KSQvLnRlc3QoYy5jb250YWlubWVudCkpe3ZhciBkPWEoYy5jb250YWlu
bWVudClbMF07Yz1hKGMuY29udGFpbm1lbnQpLm9mZnNldCgpO3ZhciBlPWEoZCkuY3NzKCJvdmVy
ZmxvdyIpIT0iaGlkZGVuIjt0aGlzLmNvbnRhaW5tZW50PVtjLmxlZnQrKHBhcnNlSW50KGEoZCku
Y3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChhKGQpLmNzcygicGFkZGlu
Z0xlZnQiKSwxMCl8fDApLXRoaXMubWFyZ2lucy5sZWZ0LGMudG9wKyhwYXJzZUludChhKGQpLmNz
cygiYm9yZGVyVG9wV2lkdGgiKSwKLTEwKXx8MCkrKHBhcnNlSW50KGEoZCkuY3NzKCJwYWRkaW5n
VG9wIiksMTApfHwwKS10aGlzLm1hcmdpbnMudG9wLGMubGVmdCsoZT9NYXRoLm1heChkLnNjcm9s
bFdpZHRoLGQub2Zmc2V0V2lkdGgpOmQub2Zmc2V0V2lkdGgpLShwYXJzZUludChhKGQpLmNzcygi
Ym9yZGVyTGVmdFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoYShkKS5jc3MoInBhZGRpbmdSaWdo
dCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVm
dCxjLnRvcCsoZT9NYXRoLm1heChkLnNjcm9sbEhlaWdodCxkLm9mZnNldEhlaWdodCk6ZC5vZmZz
ZXRIZWlnaHQpLShwYXJzZUludChhKGQpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShw
YXJzZUludChhKGQpLmNzcygicGFkZGluZ0JvdHRvbSIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9w
b3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF19fSxfY29udmVydFBvc2l0aW9uVG86ZnVu
Y3Rpb24oYyxkKXtpZighZClkPQotdGhpcy5wb3NpdGlvbjtjPWM9PSJhYnNvbHV0ZSI/MTotMTt2
YXIgZT10aGlzLmNzc1Bvc2l0aW9uPT0iYWJzb2x1dGUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBd
IT1kb2N1bWVudCYmYS51aS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNl
dFBhcmVudFswXSkpP3RoaXMub2Zmc2V0UGFyZW50OnRoaXMuc2Nyb2xsUGFyZW50LGg9LyhodG1s
fGJvZHkpL2kudGVzdChlWzBdLnRhZ05hbWUpO3JldHVybnt0b3A6ZC50b3ArdGhpcy5vZmZzZXQu
cmVsYXRpdmUudG9wKmMrdGhpcy5vZmZzZXQucGFyZW50LnRvcCpjLShhLmJyb3dzZXIuc2FmYXJp
JiZ0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/
LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDplLnNjcm9sbFRvcCgpKSpjKSxsZWZ0
OmQubGVmdCt0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0KmMrdGhpcy5vZmZzZXQucGFyZW50Lmxl
ZnQqYy0oYS5icm93c2VyLnNhZmFyaSYmCi10aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPzA6KHRo
aXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTpo
PzA6ZS5zY3JvbGxMZWZ0KCkpKmMpfX0sX2dlbmVyYXRlUG9zaXRpb246ZnVuY3Rpb24oYyl7dmFy
IGQ9dGhpcy5vcHRpb25zLGU9dGhpcy5jc3NQb3NpdGlvbj09ImFic29sdXRlIiYmISh0aGlzLnNj
cm9sbFBhcmVudFswXSE9ZG9jdW1lbnQmJmEudWkuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRb
MF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pKT90aGlzLm9mZnNldFBhcmVudDp0aGlzLnNjcm9sbFBh
cmVudCxoPS8oaHRtbHxib2R5KS9pLnRlc3QoZVswXS50YWdOYW1lKTtpZih0aGlzLmNzc1Bvc2l0
aW9uPT0icmVsYXRpdmUiJiYhKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT1kb2N1bWVudCYmdGhpcy5z
Y3JvbGxQYXJlbnRbMF0hPXRoaXMub2Zmc2V0UGFyZW50WzBdKSl0aGlzLm9mZnNldC5yZWxhdGl2
ZT10aGlzLl9nZXRSZWxhdGl2ZU9mZnNldCgpOwotdmFyIGc9Yy5wYWdlWCxpPWMucGFnZVk7aWYo
dGhpcy5vcmlnaW5hbFBvc2l0aW9uKXtpZih0aGlzLmNvbnRhaW5tZW50KXtpZihjLnBhZ2VYLXRo
aXMub2Zmc2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXSlnPXRoaXMuY29udGFpbm1l
bnRbMF0rdGhpcy5vZmZzZXQuY2xpY2subGVmdDtpZihjLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNr
LnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdKWk9dGhpcy5jb250YWlubWVudFsxXSt0aGlzLm9mZnNl
dC5jbGljay50b3A7aWYoYy5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFp
bm1lbnRbMl0pZz10aGlzLmNvbnRhaW5tZW50WzJdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7aWYo
Yy5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFszXSlpPXRoaXMu
Y29udGFpbm1lbnRbM10rdGhpcy5vZmZzZXQuY2xpY2sudG9wfWlmKGQuZ3JpZCl7aT10aGlzLm9y
aWdpbmFsUGFnZVkrTWF0aC5yb3VuZCgoaS0KLXRoaXMub3JpZ2luYWxQYWdlWSkvZC5ncmlkWzFd
KSpkLmdyaWRbMV07aT10aGlzLmNvbnRhaW5tZW50PyEoaS10aGlzLm9mZnNldC5jbGljay50b3A8
dGhpcy5jb250YWlubWVudFsxXXx8aS10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlu
bWVudFszXSk/aTohKGktdGhpcy5vZmZzZXQuY2xpY2sudG9wPHRoaXMuY29udGFpbm1lbnRbMV0p
P2ktZC5ncmlkWzFdOmkrZC5ncmlkWzFdOmk7Zz10aGlzLm9yaWdpbmFsUGFnZVgrTWF0aC5yb3Vu
ZCgoZy10aGlzLm9yaWdpbmFsUGFnZVgpL2QuZ3JpZFswXSkqZC5ncmlkWzBdO2c9dGhpcy5jb250
YWlubWVudD8hKGctdGhpcy5vZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdfHxn
LXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+dGhpcy5jb250YWlubWVudFsyXSk/ZzohKGctdGhpcy5v
ZmZzZXQuY2xpY2subGVmdDx0aGlzLmNvbnRhaW5tZW50WzBdKT9nLWQuZ3JpZFswXTpnK2QuZ3Jp
ZFswXTpnfX1yZXR1cm57dG9wOmktCi10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQu
cmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKGEuYnJvd3Nlci5zYWZhcmkmJnRo
aXMuY3NzUG9zaXRpb249PSJmaXhlZCI/MDp0aGlzLmNzc1Bvc2l0aW9uPT0iZml4ZWQiPy10aGlz
LnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTpoPzA6ZS5zY3JvbGxUb3AoKSksbGVmdDpnLXRoaXMu
b2Zmc2V0LmNsaWNrLmxlZnQtdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5w
YXJlbnQubGVmdCsoYS5icm93c2VyLnNhZmFyaSYmdGhpcy5jc3NQb3NpdGlvbj09ImZpeGVkIj8w
OnRoaXMuY3NzUG9zaXRpb249PSJmaXhlZCI/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQo
KTpoPzA6ZS5zY3JvbGxMZWZ0KCkpfX0sX3JlYXJyYW5nZTpmdW5jdGlvbihjLGQsZSxoKXtlP2Vb
MF0uYXBwZW5kQ2hpbGQodGhpcy5wbGFjZWhvbGRlclswXSk6ZC5pdGVtWzBdLnBhcmVudE5vZGUu
aW5zZXJ0QmVmb3JlKHRoaXMucGxhY2Vob2xkZXJbMF0sCi10aGlzLmRpcmVjdGlvbj09ImRvd24i
P2QuaXRlbVswXTpkLml0ZW1bMF0ubmV4dFNpYmxpbmcpO3RoaXMuY291bnRlcj10aGlzLmNvdW50
ZXI/Kyt0aGlzLmNvdW50ZXI6MTt2YXIgZz10aGlzLGk9dGhpcy5jb3VudGVyO3dpbmRvdy5zZXRU
aW1lb3V0KGZ1bmN0aW9uKCl7aT09Zy5jb3VudGVyJiZnLnJlZnJlc2hQb3NpdGlvbnMoIWgpfSww
KX0sX2NsZWFyOmZ1bmN0aW9uKGMsZCl7dGhpcy5yZXZlcnRpbmc9ZmFsc2U7dmFyIGU9W107IXRo
aXMuX25vRmluYWxTb3J0JiZ0aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpLmxlbmd0aCYmdGhpcy5w
bGFjZWhvbGRlci5iZWZvcmUodGhpcy5jdXJyZW50SXRlbSk7dGhpcy5fbm9GaW5hbFNvcnQ9bnVs
bDtpZih0aGlzLmhlbHBlclswXT09dGhpcy5jdXJyZW50SXRlbVswXSl7Zm9yKHZhciBoIGluIHRo
aXMuX3N0b3JlZENTUylpZih0aGlzLl9zdG9yZWRDU1NbaF09PSJhdXRvInx8dGhpcy5fc3RvcmVk
Q1NTW2hdPT0ic3RhdGljIil0aGlzLl9zdG9yZWRDU1NbaF09Ci0iIjt0aGlzLmN1cnJlbnRJdGVt
LmNzcyh0aGlzLl9zdG9yZWRDU1MpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKX1l
bHNlIHRoaXMuY3VycmVudEl0ZW0uc2hvdygpO3RoaXMuZnJvbU91dHNpZGUmJiFkJiZlLnB1c2go
ZnVuY3Rpb24oZyl7dGhpcy5fdHJpZ2dlcigicmVjZWl2ZSIsZyx0aGlzLl91aUhhc2godGhpcy5m
cm9tT3V0c2lkZSkpfSk7aWYoKHRoaXMuZnJvbU91dHNpZGV8fHRoaXMuZG9tUG9zaXRpb24ucHJl
diE9dGhpcy5jdXJyZW50SXRlbS5wcmV2KCkubm90KCIudWktc29ydGFibGUtaGVscGVyIilbMF18
fHRoaXMuZG9tUG9zaXRpb24ucGFyZW50IT10aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpWzBdKSYm
IWQpZS5wdXNoKGZ1bmN0aW9uKGcpe3RoaXMuX3RyaWdnZXIoInVwZGF0ZSIsZyx0aGlzLl91aUhh
c2goKSl9KTtpZighYS51aS5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5jdXJyZW50SXRl
bVswXSkpe2R8fGUucHVzaChmdW5jdGlvbihnKXt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLAotZyx0
aGlzLl91aUhhc2goKSl9KTtmb3IoaD10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7aD49MDtoLS0p
aWYoYS51aS5jb250YWlucyh0aGlzLmNvbnRhaW5lcnNbaF0uZWxlbWVudFswXSx0aGlzLmN1cnJl
bnRJdGVtWzBdKSYmIWQpe2UucHVzaChmdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaSl7Zy5f
dHJpZ2dlcigicmVjZWl2ZSIsaSx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMu
Y29udGFpbmVyc1toXSkpO2UucHVzaChmdW5jdGlvbihnKXtyZXR1cm4gZnVuY3Rpb24oaSl7Zy5f
dHJpZ2dlcigidXBkYXRlIixpLHRoaXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5j
b250YWluZXJzW2hdKSl9fWZvcihoPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtoPj0wO2gtLSl7
ZHx8ZS5wdXNoKGZ1bmN0aW9uKGcpe3JldHVybiBmdW5jdGlvbihpKXtnLl90cmlnZ2VyKCJkZWFj
dGl2YXRlIixpLHRoaXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsCi10aGlzLmNvbnRhaW5l
cnNbaF0pKTtpZih0aGlzLmNvbnRhaW5lcnNbaF0uY29udGFpbmVyQ2FjaGUub3Zlcil7ZS5wdXNo
KGZ1bmN0aW9uKGcpe3JldHVybiBmdW5jdGlvbihpKXtnLl90cmlnZ2VyKCJvdXQiLGksdGhpcy5f
dWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmNvbnRhaW5lcnNbaF0pKTt0aGlzLmNvbnRh
aW5lcnNbaF0uY29udGFpbmVyQ2FjaGUub3Zlcj0wfX10aGlzLl9zdG9yZWRDdXJzb3ImJmEoImJv
ZHkiKS5jc3MoImN1cnNvciIsdGhpcy5fc3RvcmVkQ3Vyc29yKTt0aGlzLl9zdG9yZWRPcGFjaXR5
JiZ0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiLHRoaXMuX3N0b3JlZE9wYWNpdHkpO2lmKHRoaXMu
X3N0b3JlZFpJbmRleCl0aGlzLmhlbHBlci5jc3MoInpJbmRleCIsdGhpcy5fc3RvcmVkWkluZGV4
PT0iYXV0byI/IiI6dGhpcy5fc3RvcmVkWkluZGV4KTt0aGlzLmRyYWdnaW5nPWZhbHNlO2lmKHRo
aXMuY2FuY2VsSGVscGVyUmVtb3ZhbCl7aWYoIWQpe3RoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3Ai
LAotYyx0aGlzLl91aUhhc2goKSk7Zm9yKGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLmNhbGwodGhp
cyxjKTt0aGlzLl90cmlnZ2VyKCJzdG9wIixjLHRoaXMuX3VpSGFzaCgpKX1yZXR1cm4gZmFsc2V9
ZHx8dGhpcy5fdHJpZ2dlcigiYmVmb3JlU3RvcCIsYyx0aGlzLl91aUhhc2goKSk7dGhpcy5wbGFj
ZWhvbGRlclswXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pO3Ro
aXMuaGVscGVyWzBdIT10aGlzLmN1cnJlbnRJdGVtWzBdJiZ0aGlzLmhlbHBlci5yZW1vdmUoKTt0
aGlzLmhlbHBlcj1udWxsO2lmKCFkKXtmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uY2FsbCh0
aGlzLGMpO3RoaXMuX3RyaWdnZXIoInN0b3AiLGMsdGhpcy5fdWlIYXNoKCkpfXRoaXMuZnJvbU91
dHNpZGU9ZmFsc2U7cmV0dXJuIHRydWV9LF90cmlnZ2VyOmZ1bmN0aW9uKCl7YS5XaWRnZXQucHJv
dG90eXBlLl90cmlnZ2VyLmFwcGx5KHRoaXMsYXJndW1lbnRzKT09PWZhbHNlJiZ0aGlzLmNhbmNl
bCgpfSwKLV91aUhhc2g6ZnVuY3Rpb24oYyl7dmFyIGQ9Y3x8dGhpcztyZXR1cm57aGVscGVyOmQu
aGVscGVyLHBsYWNlaG9sZGVyOmQucGxhY2Vob2xkZXJ8fGEoW10pLHBvc2l0aW9uOmQucG9zaXRp
b24sb3JpZ2luYWxQb3NpdGlvbjpkLm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OmQucG9zaXRpb25B
YnMsaXRlbTpkLmN1cnJlbnRJdGVtLHNlbmRlcjpjP2MuZWxlbWVudDpudWxsfX19KTthLmV4dGVu
ZChhLnVpLnNvcnRhYmxlLHt2ZXJzaW9uOiIxLjguMTUifSl9KShqUXVlcnkpOwotalF1ZXJ5LmVm
ZmVjdHN8fGZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gZChuKXt2YXIgaztpZihuJiZuLmNvbnN0cnVj
dG9yPT1BcnJheSYmbi5sZW5ndGg9PTMpcmV0dXJuIG47aWYoaz0vcmdiXChccyooWzAtOV17MSwz
fSlccyosXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKlwpLy5leGVjKG4pKXJl
dHVybltwYXJzZUludChrWzFdLDEwKSxwYXJzZUludChrWzJdLDEwKSxwYXJzZUludChrWzNdLDEw
KV07aWYoaz0vcmdiXChccyooWzAtOV0rKD86XC5bMC05XSspPylcJVxzKixccyooWzAtOV0rKD86
XC5bMC05XSspPylcJVxzKixccyooWzAtOV0rKD86XC5bMC05XSspPylcJVxzKlwpLy5leGVjKG4p
KXJldHVybltwYXJzZUZsb2F0KGtbMV0pKjIuNTUscGFyc2VGbG9hdChrWzJdKSoyLjU1LHBhcnNl
RmxvYXQoa1szXSkqMi41NV07aWYoaz0vIyhbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAtOV17Mn0p
KFthLWZBLUYwLTldezJ9KS8uZXhlYyhuKSlyZXR1cm5bcGFyc2VJbnQoa1sxXSwKLTE2KSxwYXJz
ZUludChrWzJdLDE2KSxwYXJzZUludChrWzNdLDE2KV07aWYoaz0vIyhbYS1mQS1GMC05XSkoW2Et
ZkEtRjAtOV0pKFthLWZBLUYwLTldKS8uZXhlYyhuKSlyZXR1cm5bcGFyc2VJbnQoa1sxXStrWzFd
LDE2KSxwYXJzZUludChrWzJdK2tbMl0sMTYpLHBhcnNlSW50KGtbM10ra1szXSwxNildO2lmKC9y
Z2JhXCgwLCAwLCAwLCAwXCkvLmV4ZWMobikpcmV0dXJuIGoudHJhbnNwYXJlbnQ7cmV0dXJuIGpb
YS50cmltKG4pLnRvTG93ZXJDYXNlKCldfWZ1bmN0aW9uIGUobixrKXt2YXIgbTtkb3ttPWEuY3Vy
Q1NTKG4sayk7aWYobSE9IiImJm0hPSJ0cmFuc3BhcmVudCJ8fGEubm9kZU5hbWUobiwiYm9keSIp
KWJyZWFrO2s9ImJhY2tncm91bmRDb2xvciJ9d2hpbGUobj1uLnBhcmVudE5vZGUpO3JldHVybiBk
KG0pfWZ1bmN0aW9uIGgoKXt2YXIgbj1kb2N1bWVudC5kZWZhdWx0Vmlldz9kb2N1bWVudC5kZWZh
dWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHRoaXMsbnVsbCk6dGhpcy5jdXJyZW50U3R5bGUsCi1r
PXt9LG0scDtpZihuJiZuLmxlbmd0aCYmblswXSYmbltuWzBdXSlmb3IodmFyIHE9bi5sZW5ndGg7
cS0tOyl7bT1uW3FdO2lmKHR5cGVvZiBuW21dPT0ic3RyaW5nIil7cD1tLnJlcGxhY2UoL1wtKFx3
KS9nLGZ1bmN0aW9uKHMscil7cmV0dXJuIHIudG9VcHBlckNhc2UoKX0pO2tbcF09blttXX19ZWxz
ZSBmb3IobSBpbiBuKWlmKHR5cGVvZiBuW21dPT09InN0cmluZyIpa1ttXT1uW21dO3JldHVybiBr
fWZ1bmN0aW9uIGcobil7dmFyIGssbTtmb3IoayBpbiBuKXttPW5ba107aWYobT09bnVsbHx8YS5p
c0Z1bmN0aW9uKG0pfHxrIGluIG98fC9zY3JvbGxiYXIvLnRlc3Qoayl8fCEvY29sb3IvaS50ZXN0
KGspJiZpc05hTihwYXJzZUZsb2F0KG0pKSlkZWxldGUgbltrXX1yZXR1cm4gbn1mdW5jdGlvbiBp
KG4sayl7dmFyIG09e186MH0scDtmb3IocCBpbiBrKWlmKG5bcF0hPWtbcF0pbVtwXT1rW3BdO3Jl
dHVybiBtfWZ1bmN0aW9uIGIobixrLG0scCl7aWYodHlwZW9mIG49PSJvYmplY3QiKXtwPQotaztt
PW51bGw7az1uO249ay5lZmZlY3R9aWYoYS5pc0Z1bmN0aW9uKGspKXtwPWs7bT1udWxsO2s9e319
aWYodHlwZW9mIGs9PSJudW1iZXIifHxhLmZ4LnNwZWVkc1trXSl7cD1tO209aztrPXt9fWlmKGEu
aXNGdW5jdGlvbihtKSl7cD1tO209bnVsbH1rPWt8fHt9O209bXx8ay5kdXJhdGlvbjttPWEuZngu
b2ZmPzA6dHlwZW9mIG09PSJudW1iZXIiP206bSBpbiBhLmZ4LnNwZWVkcz9hLmZ4LnNwZWVkc1tt
XTphLmZ4LnNwZWVkcy5fZGVmYXVsdDtwPXB8fGsuY29tcGxldGU7cmV0dXJuW24sayxtLHBdfWZ1
bmN0aW9uIGYobil7aWYoIW58fHR5cGVvZiBuPT09Im51bWJlciJ8fGEuZnguc3BlZWRzW25dKXJl
dHVybiB0cnVlO2lmKHR5cGVvZiBuPT09InN0cmluZyImJiFhLmVmZmVjdHNbbl0pcmV0dXJuIHRy
dWU7cmV0dXJuIGZhbHNlfWEuZWZmZWN0cz17fTthLmVhY2goWyJiYWNrZ3JvdW5kQ29sb3IiLCJi
b3JkZXJCb3R0b21Db2xvciIsImJvcmRlckxlZnRDb2xvciIsImJvcmRlclJpZ2h0Q29sb3IiLAot
ImJvcmRlclRvcENvbG9yIiwiYm9yZGVyQ29sb3IiLCJjb2xvciIsIm91dGxpbmVDb2xvciJdLGZ1
bmN0aW9uKG4sayl7YS5meC5zdGVwW2tdPWZ1bmN0aW9uKG0pe2lmKCFtLmNvbG9ySW5pdCl7bS5z
dGFydD1lKG0uZWxlbSxrKTttLmVuZD1kKG0uZW5kKTttLmNvbG9ySW5pdD10cnVlfW0uZWxlbS5z
dHlsZVtrXT0icmdiKCIrTWF0aC5tYXgoTWF0aC5taW4ocGFyc2VJbnQobS5wb3MqKG0uZW5kWzBd
LW0uc3RhcnRbMF0pK20uc3RhcnRbMF0sMTApLDI1NSksMCkrIiwiK01hdGgubWF4KE1hdGgubWlu
KHBhcnNlSW50KG0ucG9zKihtLmVuZFsxXS1tLnN0YXJ0WzFdKSttLnN0YXJ0WzFdLDEwKSwyNTUp
LDApKyIsIitNYXRoLm1heChNYXRoLm1pbihwYXJzZUludChtLnBvcyoobS5lbmRbMl0tbS5zdGFy
dFsyXSkrbS5zdGFydFsyXSwxMCksMjU1KSwwKSsiKSJ9fSk7dmFyIGo9e2FxdWE6WzAsMjU1LDI1
NV0sYXp1cmU6WzI0MCwyNTUsMjU1XSxiZWlnZTpbMjQ1LDI0NSwyMjBdLGJsYWNrOlswLAotMCww
XSxibHVlOlswLDAsMjU1XSxicm93bjpbMTY1LDQyLDQyXSxjeWFuOlswLDI1NSwyNTVdLGRhcmti
bHVlOlswLDAsMTM5XSxkYXJrY3lhbjpbMCwxMzksMTM5XSxkYXJrZ3JleTpbMTY5LDE2OSwxNjld
LGRhcmtncmVlbjpbMCwxMDAsMF0sZGFya2toYWtpOlsxODksMTgzLDEwN10sZGFya21hZ2VudGE6
WzEzOSwwLDEzOV0sZGFya29saXZlZ3JlZW46Wzg1LDEwNyw0N10sZGFya29yYW5nZTpbMjU1LDE0
MCwwXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0XSxkYXJrcmVkOlsxMzksMCwwXSxkYXJrc2FsbW9u
OlsyMzMsMTUwLDEyMl0sZGFya3Zpb2xldDpbMTQ4LDAsMjExXSxmdWNoc2lhOlsyNTUsMCwyNTVd
LGdvbGQ6WzI1NSwyMTUsMF0sZ3JlZW46WzAsMTI4LDBdLGluZGlnbzpbNzUsMCwxMzBdLGtoYWtp
OlsyNDAsMjMwLDE0MF0sbGlnaHRibHVlOlsxNzMsMjE2LDIzMF0sbGlnaHRjeWFuOlsyMjQsMjU1
LDI1NV0sbGlnaHRncmVlbjpbMTQ0LDIzOCwxNDRdLGxpZ2h0Z3JleTpbMjExLAotMjExLDIxMV0s
bGlnaHRwaW5rOlsyNTUsMTgyLDE5M10sbGlnaHR5ZWxsb3c6WzI1NSwyNTUsMjI0XSxsaW1lOlsw
LDI1NSwwXSxtYWdlbnRhOlsyNTUsMCwyNTVdLG1hcm9vbjpbMTI4LDAsMF0sbmF2eTpbMCwwLDEy
OF0sb2xpdmU6WzEyOCwxMjgsMF0sb3JhbmdlOlsyNTUsMTY1LDBdLHBpbms6WzI1NSwxOTIsMjAz
XSxwdXJwbGU6WzEyOCwwLDEyOF0sdmlvbGV0OlsxMjgsMCwxMjhdLHJlZDpbMjU1LDAsMF0sc2ls
dmVyOlsxOTIsMTkyLDE5Ml0sd2hpdGU6WzI1NSwyNTUsMjU1XSx5ZWxsb3c6WzI1NSwyNTUsMF0s
dHJhbnNwYXJlbnQ6WzI1NSwyNTUsMjU1XX0sbD1bImFkZCIsInJlbW92ZSIsInRvZ2dsZSJdLG89
e2JvcmRlcjoxLGJvcmRlckJvdHRvbToxLGJvcmRlckNvbG9yOjEsYm9yZGVyTGVmdDoxLGJvcmRl
clJpZ2h0OjEsYm9yZGVyVG9wOjEsYm9yZGVyV2lkdGg6MSxtYXJnaW46MSxwYWRkaW5nOjF9O2Eu
ZWZmZWN0cy5hbmltYXRlQ2xhc3M9ZnVuY3Rpb24obixrLG0sCi1wKXtpZihhLmlzRnVuY3Rpb24o
bSkpe3A9bTttPW51bGx9cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgcT1hKHRoaXMp
LHM9cS5hdHRyKCJzdHlsZSIpfHwiICIscj1nKGguY2FsbCh0aGlzKSksdSx2PXEuYXR0cigiY2xh
c3MiKTthLmVhY2gobCxmdW5jdGlvbih3LHgpe25beF0mJnFbeCsiQ2xhc3MiXShuW3hdKX0pO3U9
ZyhoLmNhbGwodGhpcykpO3EuYXR0cigiY2xhc3MiLHYpO3EuYW5pbWF0ZShpKHIsdSkse3F1ZXVl
OmZhbHNlLGR1cmF0aW9uOmssZWFzaW5nOm0sY29tcGxldGU6ZnVuY3Rpb24oKXthLmVhY2gobCxm
dW5jdGlvbih3LHgpe25beF0mJnFbeCsiQ2xhc3MiXShuW3hdKX0pO2lmKHR5cGVvZiBxLmF0dHIo
InN0eWxlIik9PSJvYmplY3QiKXtxLmF0dHIoInN0eWxlIikuY3NzVGV4dD0iIjtxLmF0dHIoInN0
eWxlIikuY3NzVGV4dD1zfWVsc2UgcS5hdHRyKCJzdHlsZSIscyk7cCYmcC5hcHBseSh0aGlzLGFy
Z3VtZW50cyk7YS5kZXF1ZXVlKHRoaXMpfX0pfSl9OwotYS5mbi5leHRlbmQoe19hZGRDbGFzczph
LmZuLmFkZENsYXNzLGFkZENsYXNzOmZ1bmN0aW9uKG4sayxtLHApe3JldHVybiBrP2EuZWZmZWN0
cy5hbmltYXRlQ2xhc3MuYXBwbHkodGhpcyxbe2FkZDpufSxrLG0scF0pOnRoaXMuX2FkZENsYXNz
KG4pfSxfcmVtb3ZlQ2xhc3M6YS5mbi5yZW1vdmVDbGFzcyxyZW1vdmVDbGFzczpmdW5jdGlvbihu
LGssbSxwKXtyZXR1cm4gaz9hLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmFwcGx5KHRoaXMsW3tyZW1v
dmU6bn0sayxtLHBdKTp0aGlzLl9yZW1vdmVDbGFzcyhuKX0sX3RvZ2dsZUNsYXNzOmEuZm4udG9n
Z2xlQ2xhc3MsdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gdHlwZW9mIGs9
PSJib29sZWFuInx8az09PWM/bT9hLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmFwcGx5KHRoaXMsW2s/
e2FkZDpufTp7cmVtb3ZlOm59LG0scCxxXSk6dGhpcy5fdG9nZ2xlQ2xhc3MobixrKTphLmVmZmVj
dHMuYW5pbWF0ZUNsYXNzLmFwcGx5KHRoaXMsCi1be3RvZ2dsZTpufSxrLG0scF0pfSxzd2l0Y2hD
bGFzczpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBhLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmFw
cGx5KHRoaXMsW3thZGQ6ayxyZW1vdmU6bn0sbSxwLHFdKX19KTthLmV4dGVuZChhLmVmZmVjdHMs
e3ZlcnNpb246IjEuOC4xNSIsc2F2ZTpmdW5jdGlvbihuLGspe2Zvcih2YXIgbT0wO208ay5sZW5n
dGg7bSsrKWtbbV0hPT1udWxsJiZuLmRhdGEoImVjLnN0b3JhZ2UuIitrW21dLG5bMF0uc3R5bGVb
a1ttXV0pfSxyZXN0b3JlOmZ1bmN0aW9uKG4sayl7Zm9yKHZhciBtPTA7bTxrLmxlbmd0aDttKysp
a1ttXSE9PW51bGwmJm4uY3NzKGtbbV0sbi5kYXRhKCJlYy5zdG9yYWdlLiIra1ttXSkpfSxzZXRN
b2RlOmZ1bmN0aW9uKG4sayl7aWYoaz09InRvZ2dsZSIpaz1uLmlzKCI6aGlkZGVuIik/InNob3ci
OiJoaWRlIjtyZXR1cm4ga30sZ2V0QmFzZWxpbmU6ZnVuY3Rpb24obixrKXt2YXIgbTtzd2l0Y2go
blswXSl7Y2FzZSAidG9wIjptPQotMDticmVhaztjYXNlICJtaWRkbGUiOm09MC41O2JyZWFrO2Nh
c2UgImJvdHRvbSI6bT0xO2JyZWFrO2RlZmF1bHQ6bT1uWzBdL2suaGVpZ2h0fXN3aXRjaChuWzFd
KXtjYXNlICJsZWZ0IjpuPTA7YnJlYWs7Y2FzZSAiY2VudGVyIjpuPTAuNTticmVhaztjYXNlICJy
aWdodCI6bj0xO2JyZWFrO2RlZmF1bHQ6bj1uWzFdL2sud2lkdGh9cmV0dXJue3g6bix5Om19fSxj
cmVhdGVXcmFwcGVyOmZ1bmN0aW9uKG4pe2lmKG4ucGFyZW50KCkuaXMoIi51aS1lZmZlY3RzLXdy
YXBwZXIiKSlyZXR1cm4gbi5wYXJlbnQoKTt2YXIgaz17d2lkdGg6bi5vdXRlcldpZHRoKHRydWUp
LGhlaWdodDpuLm91dGVySGVpZ2h0KHRydWUpLCJmbG9hdCI6bi5jc3MoImZsb2F0Iil9LG09YSgi
PGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZWZmZWN0cy13cmFwcGVyIikuY3NzKHtmb250U2l6
ZToiMTAwJSIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsbWFyZ2luOjAs
cGFkZGluZzowfSk7Ci1uLndyYXAobSk7bT1uLnBhcmVudCgpO2lmKG4uY3NzKCJwb3NpdGlvbiIp
PT0ic3RhdGljIil7bS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KTtuLmNzcyh7cG9zaXRpb246
InJlbGF0aXZlIn0pfWVsc2V7YS5leHRlbmQoayx7cG9zaXRpb246bi5jc3MoInBvc2l0aW9uIiks
ekluZGV4Om4uY3NzKCJ6LWluZGV4Iil9KTthLmVhY2goWyJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwi
cmlnaHQiXSxmdW5jdGlvbihwLHEpe2tbcV09bi5jc3MocSk7aWYoaXNOYU4ocGFyc2VJbnQoa1tx
XSwxMCkpKWtbcV09ImF1dG8ifSk7bi5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOjAsbGVm
dDowLHJpZ2h0OiJhdXRvIixib3R0b206ImF1dG8ifSl9cmV0dXJuIG0uY3NzKGspLnNob3coKX0s
cmVtb3ZlV3JhcHBlcjpmdW5jdGlvbihuKXtpZihuLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13
cmFwcGVyIikpcmV0dXJuIG4ucGFyZW50KCkucmVwbGFjZVdpdGgobik7cmV0dXJuIG59LHNldFRy
YW5zaXRpb246ZnVuY3Rpb24obiwKLWssbSxwKXtwPXB8fHt9O2EuZWFjaChrLGZ1bmN0aW9uKHEs
cyl7dW5pdD1uLmNzc1VuaXQocyk7aWYodW5pdFswXT4wKXBbc109dW5pdFswXSptK3VuaXRbMV19
KTtyZXR1cm4gcH19KTthLmZuLmV4dGVuZCh7ZWZmZWN0OmZ1bmN0aW9uKG4pe3ZhciBrPWIuYXBw
bHkodGhpcyxhcmd1bWVudHMpLG09e29wdGlvbnM6a1sxXSxkdXJhdGlvbjprWzJdLGNhbGxiYWNr
OmtbM119O2s9bS5vcHRpb25zLm1vZGU7dmFyIHA9YS5lZmZlY3RzW25dO2lmKGEuZngub2ZmfHwh
cClyZXR1cm4gaz90aGlzW2tdKG0uZHVyYXRpb24sbS5jYWxsYmFjayk6dGhpcy5lYWNoKGZ1bmN0
aW9uKCl7bS5jYWxsYmFjayYmbS5jYWxsYmFjay5jYWxsKHRoaXMpfSk7cmV0dXJuIHAuY2FsbCh0
aGlzLG0pfSxfc2hvdzphLmZuLnNob3csc2hvdzpmdW5jdGlvbihuKXtpZihmKG4pKXJldHVybiB0
aGlzLl9zaG93LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNle3ZhciBrPWIuYXBwbHkodGhpcyxh
cmd1bWVudHMpOwota1sxXS5tb2RlPSJzaG93IjtyZXR1cm4gdGhpcy5lZmZlY3QuYXBwbHkodGhp
cyxrKX19LF9oaWRlOmEuZm4uaGlkZSxoaWRlOmZ1bmN0aW9uKG4pe2lmKGYobikpcmV0dXJuIHRo
aXMuX2hpZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2V7dmFyIGs9Yi5hcHBseSh0aGlzLGFy
Z3VtZW50cyk7a1sxXS5tb2RlPSJoaWRlIjtyZXR1cm4gdGhpcy5lZmZlY3QuYXBwbHkodGhpcyxr
KX19LF9fdG9nZ2xlOmEuZm4udG9nZ2xlLHRvZ2dsZTpmdW5jdGlvbihuKXtpZihmKG4pfHx0eXBl
b2Ygbj09PSJib29sZWFuInx8YS5pc0Z1bmN0aW9uKG4pKXJldHVybiB0aGlzLl9fdG9nZ2xlLmFw
cGx5KHRoaXMsYXJndW1lbnRzKTtlbHNle3ZhciBrPWIuYXBwbHkodGhpcyxhcmd1bWVudHMpO2tb
MV0ubW9kZT0idG9nZ2xlIjtyZXR1cm4gdGhpcy5lZmZlY3QuYXBwbHkodGhpcyxrKX19LGNzc1Vu
aXQ6ZnVuY3Rpb24obil7dmFyIGs9dGhpcy5jc3MobiksbT1bXTthLmVhY2goWyJlbSIsInB4Iiwi
JSIsCi0icHQiXSxmdW5jdGlvbihwLHEpe2lmKGsuaW5kZXhPZihxKT4wKW09W3BhcnNlRmxvYXQo
aykscV19KTtyZXR1cm4gbX19KTthLmVhc2luZy5qc3dpbmc9YS5lYXNpbmcuc3dpbmc7YS5leHRl
bmQoYS5lYXNpbmcse2RlZjoiZWFzZU91dFF1YWQiLHN3aW5nOmZ1bmN0aW9uKG4sayxtLHAscSl7
cmV0dXJuIGEuZWFzaW5nW2EuZWFzaW5nLmRlZl0obixrLG0scCxxKX0sZWFzZUluUXVhZDpmdW5j
dGlvbihuLGssbSxwLHEpe3JldHVybiBwKihrLz1xKSprK219LGVhc2VPdXRRdWFkOmZ1bmN0aW9u
KG4sayxtLHAscSl7cmV0dXJuLXAqKGsvPXEpKihrLTIpK219LGVhc2VJbk91dFF1YWQ6ZnVuY3Rp
b24obixrLG0scCxxKXtpZigoay89cS8yKTwxKXJldHVybiBwLzIqayprK207cmV0dXJuLXAvMioo
LS1rKihrLTIpLTEpK219LGVhc2VJbkN1YmljOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAq
KGsvPXEpKmsqayttfSxlYXNlT3V0Q3ViaWM6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gcCoK
LSgoaz1rL3EtMSkqayprKzEpK219LGVhc2VJbk91dEN1YmljOmZ1bmN0aW9uKG4sayxtLHAscSl7
aWYoKGsvPXEvMik8MSlyZXR1cm4gcC8yKmsqayprK207cmV0dXJuIHAvMiooKGstPTIpKmsqaysy
KSttfSxlYXNlSW5RdWFydDpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBwKihrLz1xKSprKmsq
ayttfSxlYXNlT3V0UXVhcnQ6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4tcCooKGs9ay9xLTEp
KmsqayprLTEpK219LGVhc2VJbk91dFF1YXJ0OmZ1bmN0aW9uKG4sayxtLHAscSl7aWYoKGsvPXEv
Mik8MSlyZXR1cm4gcC8yKmsqayprKmsrbTtyZXR1cm4tcC8yKigoay09MikqayprKmstMikrbX0s
ZWFzZUluUXVpbnQ6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gcCooay89cSkqayprKmsqaytt
fSxlYXNlT3V0UXVpbnQ6ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gcCooKGs9ay9xLTEpKmsq
ayprKmsrMSkrbX0sZWFzZUluT3V0UXVpbnQ6ZnVuY3Rpb24obixrLG0scCxxKXtpZigoay89Ci1x
LzIpPDEpcmV0dXJuIHAvMiprKmsqayprKmsrbTtyZXR1cm4gcC8yKigoay09MikqayprKmsqaysy
KSttfSxlYXNlSW5TaW5lOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuLXAqTWF0aC5jb3Moay9x
KihNYXRoLlBJLzIpKStwK219LGVhc2VPdXRTaW5lOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJu
IHAqTWF0aC5zaW4oay9xKihNYXRoLlBJLzIpKSttfSxlYXNlSW5PdXRTaW5lOmZ1bmN0aW9uKG4s
ayxtLHAscSl7cmV0dXJuLXAvMiooTWF0aC5jb3MoTWF0aC5QSSprL3EpLTEpK219LGVhc2VJbkV4
cG86ZnVuY3Rpb24obixrLG0scCxxKXtyZXR1cm4gaz09MD9tOnAqTWF0aC5wb3coMiwxMCooay9x
LTEpKSttfSxlYXNlT3V0RXhwbzpmdW5jdGlvbihuLGssbSxwLHEpe3JldHVybiBrPT1xP20rcDpw
KigtTWF0aC5wb3coMiwtMTAqay9xKSsxKSttfSxlYXNlSW5PdXRFeHBvOmZ1bmN0aW9uKG4sayxt
LHAscSl7aWYoaz09MClyZXR1cm4gbTtpZihrPT1xKXJldHVybiBtK3A7aWYoKGsvPQotcS8yKTwx
KXJldHVybiBwLzIqTWF0aC5wb3coMiwxMCooay0xKSkrbTtyZXR1cm4gcC8yKigtTWF0aC5wb3co
MiwtMTAqLS1rKSsyKSttfSxlYXNlSW5DaXJjOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuLXAq
KE1hdGguc3FydCgxLShrLz1xKSprKS0xKSttfSxlYXNlT3V0Q2lyYzpmdW5jdGlvbihuLGssbSxw
LHEpe3JldHVybiBwKk1hdGguc3FydCgxLShrPWsvcS0xKSprKSttfSxlYXNlSW5PdXRDaXJjOmZ1
bmN0aW9uKG4sayxtLHAscSl7aWYoKGsvPXEvMik8MSlyZXR1cm4tcC8yKihNYXRoLnNxcnQoMS1r
KmspLTEpK207cmV0dXJuIHAvMiooTWF0aC5zcXJ0KDEtKGstPTIpKmspKzEpK219LGVhc2VJbkVs
YXN0aWM6ZnVuY3Rpb24obixrLG0scCxxKXtuPTEuNzAxNTg7dmFyIHM9MCxyPXA7aWYoaz09MCly
ZXR1cm4gbTtpZigoay89cSk9PTEpcmV0dXJuIG0rcDtzfHwocz1xKjAuMyk7aWYocjxNYXRoLmFi
cyhwKSl7cj1wO249cy80fWVsc2Ugbj1zLygyKk1hdGguUEkpKk1hdGguYXNpbihwLwotcik7cmV0
dXJuLShyKk1hdGgucG93KDIsMTAqKGstPTEpKSpNYXRoLnNpbigoaypxLW4pKjIqTWF0aC5QSS9z
KSkrbX0sZWFzZU91dEVsYXN0aWM6ZnVuY3Rpb24obixrLG0scCxxKXtuPTEuNzAxNTg7dmFyIHM9
MCxyPXA7aWYoaz09MClyZXR1cm4gbTtpZigoay89cSk9PTEpcmV0dXJuIG0rcDtzfHwocz1xKjAu
Myk7aWYocjxNYXRoLmFicyhwKSl7cj1wO249cy80fWVsc2Ugbj1zLygyKk1hdGguUEkpKk1hdGgu
YXNpbihwL3IpO3JldHVybiByKk1hdGgucG93KDIsLTEwKmspKk1hdGguc2luKChrKnEtbikqMipN
YXRoLlBJL3MpK3ArbX0sZWFzZUluT3V0RWxhc3RpYzpmdW5jdGlvbihuLGssbSxwLHEpe249MS43
MDE1ODt2YXIgcz0wLHI9cDtpZihrPT0wKXJldHVybiBtO2lmKChrLz1xLzIpPT0yKXJldHVybiBt
K3A7c3x8KHM9cSowLjMqMS41KTtpZihyPE1hdGguYWJzKHApKXtyPXA7bj1zLzR9ZWxzZSBuPXMv
KDIqTWF0aC5QSSkqTWF0aC5hc2luKHAvcik7aWYoazwxKXJldHVybi0wLjUqCi1yKk1hdGgucG93
KDIsMTAqKGstPTEpKSpNYXRoLnNpbigoaypxLW4pKjIqTWF0aC5QSS9zKSttO3JldHVybiByKk1h
dGgucG93KDIsLTEwKihrLT0xKSkqTWF0aC5zaW4oKGsqcS1uKSoyKk1hdGguUEkvcykqMC41K3Ar
bX0sZWFzZUluQmFjazpmdW5jdGlvbihuLGssbSxwLHEscyl7aWYocz09YylzPTEuNzAxNTg7cmV0
dXJuIHAqKGsvPXEpKmsqKChzKzEpKmstcykrbX0sZWFzZU91dEJhY2s6ZnVuY3Rpb24obixrLG0s
cCxxLHMpe2lmKHM9PWMpcz0xLjcwMTU4O3JldHVybiBwKigoaz1rL3EtMSkqayooKHMrMSkqaytz
KSsxKSttfSxlYXNlSW5PdXRCYWNrOmZ1bmN0aW9uKG4sayxtLHAscSxzKXtpZihzPT1jKXM9MS43
MDE1ODtpZigoay89cS8yKTwxKXJldHVybiBwLzIqayprKigoKHMqPTEuNTI1KSsxKSprLXMpK207
cmV0dXJuIHAvMiooKGstPTIpKmsqKCgocyo9MS41MjUpKzEpKmsrcykrMikrbX0sZWFzZUluQm91
bmNlOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJuIHAtYS5lYXNpbmcuZWFzZU91dEJvdW5jZShu
LAotcS1rLDAscCxxKSttfSxlYXNlT3V0Qm91bmNlOmZ1bmN0aW9uKG4sayxtLHAscSl7cmV0dXJu
KGsvPXEpPDEvMi43NT9wKjcuNTYyNSprKmsrbTprPDIvMi43NT9wKig3LjU2MjUqKGstPTEuNS8y
Ljc1KSprKzAuNzUpK206azwyLjUvMi43NT9wKig3LjU2MjUqKGstPTIuMjUvMi43NSkqayswLjkz
NzUpK206cCooNy41NjI1KihrLT0yLjYyNS8yLjc1KSprKzAuOTg0Mzc1KSttfSxlYXNlSW5PdXRC
b3VuY2U6ZnVuY3Rpb24obixrLG0scCxxKXtpZihrPHEvMilyZXR1cm4gYS5lYXNpbmcuZWFzZUlu
Qm91bmNlKG4sayoyLDAscCxxKSowLjUrbTtyZXR1cm4gYS5lYXNpbmcuZWFzZU91dEJvdW5jZShu
LGsqMi1xLDAscCxxKSowLjUrcCowLjUrbX19KX0oalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLmVm
ZmVjdHMuYmxpbmQ9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIg
ZD1hKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdLGg9
YS5lZmZlY3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImhpZGUiKSxnPWMub3B0aW9ucy5k
aXJlY3Rpb258fCJ2ZXJ0aWNhbCI7YS5lZmZlY3RzLnNhdmUoZCxlKTtkLnNob3coKTt2YXIgaT1h
LmVmZmVjdHMuY3JlYXRlV3JhcHBlcihkKS5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSksYj1nPT0i
dmVydGljYWwiPyJoZWlnaHQiOiJ3aWR0aCI7Zz1nPT0idmVydGljYWwiP2kuaGVpZ2h0KCk6aS53
aWR0aCgpO2g9PSJzaG93IiYmaS5jc3MoYiwwKTt2YXIgZj17fTtmW2JdPWg9PSJzaG93Ij9nOjA7
aS5hbmltYXRlKGYsYy5kdXJhdGlvbixjLm9wdGlvbnMuZWFzaW5nLGZ1bmN0aW9uKCl7aD09Imhp
ZGUiJiZkLmhpZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLAotZSk7YS5lZmZlY3RzLnJlbW92ZVdy
YXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseShkWzBdLGFyZ3VtZW50cyk7ZC5k
ZXF1ZXVlKCl9KX0pfX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS5lZmZlY3RzLmJvdW5jZT1m
dW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1b
InBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il0saD1hLmVmZmVjdHMuc2V0
TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiZWZmZWN0IiksZz1jLm9wdGlvbnMuZGlyZWN0aW9ufHwi
dXAiLGk9Yy5vcHRpb25zLmRpc3RhbmNlfHwyMCxiPWMub3B0aW9ucy50aW1lc3x8NSxmPWMuZHVy
YXRpb258fDI1MDsvc2hvd3xoaWRlLy50ZXN0KGgpJiZlLnB1c2goIm9wYWNpdHkiKTthLmVmZmVj
dHMuc2F2ZShkLGUpO2Quc2hvdygpO2EuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGQpO3ZhciBqPWc9
PSJ1cCJ8fGc9PSJkb3duIj8idG9wIjoibGVmdCI7Zz1nPT0idXAifHxnPT0ibGVmdCI/InBvcyI6
Im5lZyI7aT1jLm9wdGlvbnMuZGlzdGFuY2V8fChqPT0idG9wIj9kLm91dGVySGVpZ2h0KHttYXJn
aW46dHJ1ZX0pLzM6ZC5vdXRlcldpZHRoKHttYXJnaW46dHJ1ZX0pLwotMyk7aWYoaD09InNob3ci
KWQuY3NzKCJvcGFjaXR5IiwwKS5jc3MoaixnPT0icG9zIj8taTppKTtpZihoPT0iaGlkZSIpaS89
YioyO2ghPSJoaWRlIiYmYi0tO2lmKGg9PSJzaG93Iil7dmFyIGw9e29wYWNpdHk6MX07bFtqXT0o
Zz09InBvcyI/Iis9IjoiLT0iKStpO2QuYW5pbWF0ZShsLGYvMixjLm9wdGlvbnMuZWFzaW5nKTtp
Lz0yO2ItLX1mb3IobD0wO2w8YjtsKyspe3ZhciBvPXt9LG49e307b1tqXT0oZz09InBvcyI/Ii09
IjoiKz0iKStpO25bal09KGc9PSJwb3MiPyIrPSI6Ii09IikraTtkLmFuaW1hdGUobyxmLzIsYy5v
cHRpb25zLmVhc2luZykuYW5pbWF0ZShuLGYvMixjLm9wdGlvbnMuZWFzaW5nKTtpPWg9PSJoaWRl
Ij9pKjI6aS8yfWlmKGg9PSJoaWRlIil7bD17b3BhY2l0eTowfTtsW2pdPShnPT0icG9zIj8iLT0i
OiIrPSIpK2k7ZC5hbmltYXRlKGwsZi8yLGMub3B0aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXtkLmhp
ZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGQpOwot
Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1lbHNle289e307
bj17fTtvW2pdPShnPT0icG9zIj8iLT0iOiIrPSIpK2k7bltqXT0oZz09InBvcyI/Iis9IjoiLT0i
KStpO2QuYW5pbWF0ZShvLGYvMixjLm9wdGlvbnMuZWFzaW5nKS5hbmltYXRlKG4sZi8yLGMub3B0
aW9ucy5lYXNpbmcsZnVuY3Rpb24oKXthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0cy5y
ZW1vdmVXcmFwcGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkodGhpcyxhcmd1bWVu
dHMpfSl9ZC5xdWV1ZSgiZngiLGZ1bmN0aW9uKCl7ZC5kZXF1ZXVlKCl9KTtkLmRlcXVldWUoKX0p
fX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS5lZmZlY3RzLmNsaXA9ZnVuY3Rpb24oYyl7cmV0
dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRv
cCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsIndpZHRoIl0saD1hLmVmZmVjdHMu
c2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpLGc9Yy5vcHRpb25zLmRpcmVjdGlvbnx8
InZlcnRpY2FsIjthLmVmZmVjdHMuc2F2ZShkLGUpO2Quc2hvdygpO3ZhciBpPWEuZWZmZWN0cy5j
cmVhdGVXcmFwcGVyKGQpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KTtpPWRbMF0udGFnTmFtZT09
IklNRyI/aTpkO3ZhciBiPXtzaXplOmc9PSJ2ZXJ0aWNhbCI/ImhlaWdodCI6IndpZHRoIixwb3Np
dGlvbjpnPT0idmVydGljYWwiPyJ0b3AiOiJsZWZ0In07Zz1nPT0idmVydGljYWwiP2kuaGVpZ2h0
KCk6aS53aWR0aCgpO2lmKGg9PSJzaG93Iil7aS5jc3MoYi5zaXplLDApO2kuY3NzKGIucG9zaXRp
b24sCi1nLzIpfXZhciBmPXt9O2ZbYi5zaXplXT1oPT0ic2hvdyI/ZzowO2ZbYi5wb3NpdGlvbl09
aD09InNob3ciPzA6Zy8yO2kuYW5pbWF0ZShmLHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpjLmR1cmF0
aW9uLGVhc2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aD09ImhpZGUi
JiZkLmhpZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2EuZWZmZWN0cy5yZW1vdmVXcmFwcGVy
KGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBwbHkoZFswXSxhcmd1bWVudHMpO2QuZGVxdWV1
ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLmVmZmVjdHMuZHJvcD1mdW5jdGlv
bihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0
aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Iiwib3BhY2l0eSJdLGg9YS5lZmZlY3Rz
LnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8ImhpZGUiKSxnPWMub3B0aW9ucy5kaXJlY3Rpb258
fCJsZWZ0IjthLmVmZmVjdHMuc2F2ZShkLGUpO2Quc2hvdygpO2EuZWZmZWN0cy5jcmVhdGVXcmFw
cGVyKGQpO3ZhciBpPWc9PSJ1cCJ8fGc9PSJkb3duIj8idG9wIjoibGVmdCI7Zz1nPT0idXAifHxn
PT0ibGVmdCI/InBvcyI6Im5lZyI7dmFyIGI9Yy5vcHRpb25zLmRpc3RhbmNlfHwoaT09InRvcCI/
ZC5vdXRlckhlaWdodCh7bWFyZ2luOnRydWV9KS8yOmQub3V0ZXJXaWR0aCh7bWFyZ2luOnRydWV9
KS8yKTtpZihoPT0ic2hvdyIpZC5jc3MoIm9wYWNpdHkiLDApLmNzcyhpLGc9PSJwb3MiPy1iOmIp
O3ZhciBmPXtvcGFjaXR5Omg9PQotInNob3ciPzE6MH07ZltpXT0oaD09InNob3ciP2c9PSJwb3Mi
PyIrPSI6Ii09IjpnPT0icG9zIj8iLT0iOiIrPSIpK2I7ZC5hbmltYXRlKGYse3F1ZXVlOmZhbHNl
LGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVu
Y3Rpb24oKXtoPT0iaGlkZSImJmQuaGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZl
Y3RzLnJlbW92ZVdyYXBwZXIoZCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFy
Z3VtZW50cyk7ZC5kZXF1ZXVlKCl9fSl9KX19KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2EuZWZm
ZWN0cy5leHBsb2RlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFy
IGQ9Yy5vcHRpb25zLnBpZWNlcz9NYXRoLnJvdW5kKE1hdGguc3FydChjLm9wdGlvbnMucGllY2Vz
KSk6MyxlPWMub3B0aW9ucy5waWVjZXM/TWF0aC5yb3VuZChNYXRoLnNxcnQoYy5vcHRpb25zLnBp
ZWNlcykpOjM7Yy5vcHRpb25zLm1vZGU9Yy5vcHRpb25zLm1vZGU9PSJ0b2dnbGUiP2EodGhpcyku
aXMoIjp2aXNpYmxlIik/ImhpZGUiOiJzaG93IjpjLm9wdGlvbnMubW9kZTt2YXIgaD1hKHRoaXMp
LnNob3coKS5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxnPWgub2Zmc2V0KCk7Zy50b3AtPXBh
cnNlSW50KGguY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDA7Zy5sZWZ0LT1wYXJzZUludChoLmNzcygi
bWFyZ2luTGVmdCIpLDEwKXx8MDtmb3IodmFyIGk9aC5vdXRlcldpZHRoKHRydWUpLGI9aC5vdXRl
ckhlaWdodCh0cnVlKSxmPTA7ZjxkO2YrKylmb3IodmFyIGo9Ci0wO2o8ZTtqKyspaC5jbG9uZSgp
LmFwcGVuZFRvKCJib2R5Iikud3JhcCgiPGRpdj48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNv
bHV0ZSIsdmlzaWJpbGl0eToidmlzaWJsZSIsbGVmdDotaiooaS9lKSx0b3A6LWYqKGIvZCl9KS5w
YXJlbnQoKS5hZGRDbGFzcygidWktZWZmZWN0cy1leHBsb2RlIikuY3NzKHtwb3NpdGlvbjoiYWJz
b2x1dGUiLG92ZXJmbG93OiJoaWRkZW4iLHdpZHRoOmkvZSxoZWlnaHQ6Yi9kLGxlZnQ6Zy5sZWZ0
K2oqKGkvZSkrKGMub3B0aW9ucy5tb2RlPT0ic2hvdyI/KGotTWF0aC5mbG9vcihlLzIpKSooaS9l
KTowKSx0b3A6Zy50b3ArZiooYi9kKSsoYy5vcHRpb25zLm1vZGU9PSJzaG93Ij8oZi1NYXRoLmZs
b29yKGQvMikpKihiL2QpOjApLG9wYWNpdHk6Yy5vcHRpb25zLm1vZGU9PSJzaG93Ij8wOjF9KS5h
bmltYXRlKHtsZWZ0OmcubGVmdCtqKihpL2UpKyhjLm9wdGlvbnMubW9kZT09InNob3ciPzA6KGot
TWF0aC5mbG9vcihlLzIpKSooaS9lKSksdG9wOmcudG9wKwotZiooYi9kKSsoYy5vcHRpb25zLm1v
ZGU9PSJzaG93Ij8wOihmLU1hdGguZmxvb3IoZC8yKSkqKGIvZCkpLG9wYWNpdHk6Yy5vcHRpb25z
Lm1vZGU9PSJzaG93Ij8xOjB9LGMuZHVyYXRpb258fDUwMCk7c2V0VGltZW91dChmdW5jdGlvbigp
e2Mub3B0aW9ucy5tb2RlPT0ic2hvdyI/aC5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSk6aC5j
c3Moe3Zpc2liaWxpdHk6InZpc2libGUifSkuaGlkZSgpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2su
YXBwbHkoaFswXSk7aC5kZXF1ZXVlKCk7YSgiZGl2LnVpLWVmZmVjdHMtZXhwbG9kZSIpLnJlbW92
ZSgpfSxjLmR1cmF0aW9ufHw1MDApfSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLmVmZmVj
dHMuZmFkZT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEo
dGhpcyksZT1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIpO2QuYW5p
bWF0ZSh7b3BhY2l0eTplfSx7cXVldWU6ZmFsc2UsZHVyYXRpb246Yy5kdXJhdGlvbixlYXNpbmc6
Yy5vcHRpb25zLmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpe2MuY2FsbGJhY2smJmMuY2FsbGJh
Y2suYXBwbHkodGhpcyxhcmd1bWVudHMpO2QuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKLShm
dW5jdGlvbihhKXthLmVmZmVjdHMuZm9sZD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5xdWV1ZShm
dW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVm
dCIsInJpZ2h0Il0saD1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwiaGlkZSIp
LGc9Yy5vcHRpb25zLnNpemV8fDE1LGk9ISFjLm9wdGlvbnMuaG9yaXpGaXJzdCxiPWMuZHVyYXRp
b24/Yy5kdXJhdGlvbi8yOmEuZnguc3BlZWRzLl9kZWZhdWx0LzI7YS5lZmZlY3RzLnNhdmUoZCxl
KTtkLnNob3coKTt2YXIgZj1hLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihkKS5jc3Moe292ZXJmbG93
OiJoaWRkZW4ifSksaj1oPT0ic2hvdyIhPWksbD1qP1sid2lkdGgiLCJoZWlnaHQiXTpbImhlaWdo
dCIsIndpZHRoIl07aj1qP1tmLndpZHRoKCksZi5oZWlnaHQoKV06W2YuaGVpZ2h0KCksZi53aWR0
aCgpXTt2YXIgbz0vKFswLTldKyklLy5leGVjKGcpO2lmKG8pZz1wYXJzZUludChvWzFdLAotMTAp
LzEwMCpqW2g9PSJoaWRlIj8wOjFdO2lmKGg9PSJzaG93IilmLmNzcyhpP3toZWlnaHQ6MCx3aWR0
aDpnfTp7aGVpZ2h0Omcsd2lkdGg6MH0pO2k9e307bz17fTtpW2xbMF1dPWg9PSJzaG93Ij9qWzBd
Omc7b1tsWzFdXT1oPT0ic2hvdyI/alsxXTowO2YuYW5pbWF0ZShpLGIsYy5vcHRpb25zLmVhc2lu
ZykuYW5pbWF0ZShvLGIsYy5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2g9PSJoaWRlIiYmZC5o
aWRlKCk7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihkKTtj
LmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KGRbMF0sYXJndW1lbnRzKTtkLmRlcXVldWUoKX0p
fSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLmVmZmVjdHMuaGlnaGxpZ2h0PWZ1bmN0aW9u
KGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPVsiYmFja2dy
b3VuZEltYWdlIiwiYmFja2dyb3VuZENvbG9yIiwib3BhY2l0eSJdLGg9YS5lZmZlY3RzLnNldE1v
ZGUoZCxjLm9wdGlvbnMubW9kZXx8InNob3ciKSxnPXtiYWNrZ3JvdW5kQ29sb3I6ZC5jc3MoImJh
Y2tncm91bmRDb2xvciIpfTtpZihoPT0iaGlkZSIpZy5vcGFjaXR5PTA7YS5lZmZlY3RzLnNhdmUo
ZCxlKTtkLnNob3coKS5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsYmFja2dyb3VuZENvbG9y
OmMub3B0aW9ucy5jb2xvcnx8IiNmZmZmOTkifSkuYW5pbWF0ZShnLHtxdWV1ZTpmYWxzZSxkdXJh
dGlvbjpjLmR1cmF0aW9uLGVhc2luZzpjLm9wdGlvbnMuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9u
KCl7aD09ImhpZGUiJiZkLmhpZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLGUpO2g9PSJzaG93IiYm
IWEuc3VwcG9ydC5vcGFjaXR5JiYKLXRoaXMuc3R5bGUucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIi
KTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkLmRlcXVldWUo
KX19KX0pfX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS5lZmZlY3RzLnB1bHNhdGU9ZnVuY3Rp
b24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9YS5lZmZl
Y3RzLnNldE1vZGUoZCxjLm9wdGlvbnMubW9kZXx8InNob3ciKTt0aW1lcz0oYy5vcHRpb25zLnRp
bWVzfHw1KSoyLTE7ZHVyYXRpb249Yy5kdXJhdGlvbj9jLmR1cmF0aW9uLzI6YS5meC5zcGVlZHMu
X2RlZmF1bHQvMjtpc1Zpc2libGU9ZC5pcygiOnZpc2libGUiKTthbmltYXRlVG89MDtpZighaXNW
aXNpYmxlKXtkLmNzcygib3BhY2l0eSIsMCkuc2hvdygpO2FuaW1hdGVUbz0xfWlmKGU9PSJoaWRl
IiYmaXNWaXNpYmxlfHxlPT0ic2hvdyImJiFpc1Zpc2libGUpdGltZXMtLTtmb3IoZT0wO2U8dGlt
ZXM7ZSsrKXtkLmFuaW1hdGUoe29wYWNpdHk6YW5pbWF0ZVRvfSxkdXJhdGlvbixjLm9wdGlvbnMu
ZWFzaW5nKTthbmltYXRlVG89KGFuaW1hdGVUbysxKSUyfWQuYW5pbWF0ZSh7b3BhY2l0eTphbmlt
YXRlVG99LGR1cmF0aW9uLAotYy5vcHRpb25zLmVhc2luZyxmdW5jdGlvbigpe2FuaW1hdGVUbz09
MCYmZC5oaWRlKCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyl9
KTtkLnF1ZXVlKCJmeCIsZnVuY3Rpb24oKXtkLmRlcXVldWUoKX0pLmRlcXVldWUoKX0pfX0pKGpR
dWVyeSk7Ci0oZnVuY3Rpb24oYSl7YS5lZmZlY3RzLnB1ZmY9ZnVuY3Rpb24oYyl7cmV0dXJuIHRo
aXMucXVldWUoZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9YS5lZmZlY3RzLnNldE1vZGUoZCxj
Lm9wdGlvbnMubW9kZXx8ImhpZGUiKSxoPXBhcnNlSW50KGMub3B0aW9ucy5wZXJjZW50LDEwKXx8
MTUwLGc9aC8xMDAsaT17aGVpZ2h0OmQuaGVpZ2h0KCksd2lkdGg6ZC53aWR0aCgpfTthLmV4dGVu
ZChjLm9wdGlvbnMse2ZhZGU6dHJ1ZSxtb2RlOmUscGVyY2VudDplPT0iaGlkZSI/aDoxMDAsZnJv
bTplPT0iaGlkZSI/aTp7aGVpZ2h0OmkuaGVpZ2h0Kmcsd2lkdGg6aS53aWR0aCpnfX0pO2QuZWZm
ZWN0KCJzY2FsZSIsYy5vcHRpb25zLGMuZHVyYXRpb24sYy5jYWxsYmFjayk7ZC5kZXF1ZXVlKCl9
KX07YS5lZmZlY3RzLnNjYWxlPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9u
KCl7dmFyIGQ9YSh0aGlzKSxlPWEuZXh0ZW5kKHRydWUse30sYy5vcHRpb25zKSxoPWEuZWZmZWN0
cy5zZXRNb2RlKGQsCi1jLm9wdGlvbnMubW9kZXx8ImVmZmVjdCIpLGc9cGFyc2VJbnQoYy5vcHRp
b25zLnBlcmNlbnQsMTApfHwocGFyc2VJbnQoYy5vcHRpb25zLnBlcmNlbnQsMTApPT0wPzA6aD09
ImhpZGUiPzA6MTAwKSxpPWMub3B0aW9ucy5kaXJlY3Rpb258fCJib3RoIixiPWMub3B0aW9ucy5v
cmlnaW47aWYoaCE9ImVmZmVjdCIpe2Uub3JpZ2luPWJ8fFsibWlkZGxlIiwiY2VudGVyIl07ZS5y
ZXN0b3JlPXRydWV9Yj17aGVpZ2h0OmQuaGVpZ2h0KCksd2lkdGg6ZC53aWR0aCgpfTtkLmZyb209
Yy5vcHRpb25zLmZyb218fChoPT0ic2hvdyI/e2hlaWdodDowLHdpZHRoOjB9OmIpO2c9e3k6aSE9
Imhvcml6b250YWwiP2cvMTAwOjEseDppIT0idmVydGljYWwiP2cvMTAwOjF9O2QudG89e2hlaWdo
dDpiLmhlaWdodCpnLnksd2lkdGg6Yi53aWR0aCpnLnh9O2lmKGMub3B0aW9ucy5mYWRlKXtpZiho
PT0ic2hvdyIpe2QuZnJvbS5vcGFjaXR5PTA7ZC50by5vcGFjaXR5PTF9aWYoaD09ImhpZGUiKXtk
LmZyb20ub3BhY2l0eT0KLTE7ZC50by5vcGFjaXR5PTB9fWUuZnJvbT1kLmZyb207ZS50bz1kLnRv
O2UubW9kZT1oO2QuZWZmZWN0KCJzaXplIixlLGMuZHVyYXRpb24sYy5jYWxsYmFjayk7ZC5kZXF1
ZXVlKCl9KX07YS5lZmZlY3RzLnNpemU9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVu
Y3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQi
LCJyaWdodCIsIndpZHRoIiwiaGVpZ2h0Iiwib3ZlcmZsb3ciLCJvcGFjaXR5Il0saD1bInBvc2l0
aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Iiwib3ZlcmZsb3ciLCJvcGFjaXR5Il0s
Zz1bIndpZHRoIiwiaGVpZ2h0Iiwib3ZlcmZsb3ciXSxpPVsiZm9udFNpemUiXSxiPVsiYm9yZGVy
VG9wV2lkdGgiLCJib3JkZXJCb3R0b21XaWR0aCIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9t
Il0sZj1bImJvcmRlckxlZnRXaWR0aCIsImJvcmRlclJpZ2h0V2lkdGgiLCJwYWRkaW5nTGVmdCIs
InBhZGRpbmdSaWdodCJdLAotaj1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9ucy5tb2RlfHwi
ZWZmZWN0IiksbD1jLm9wdGlvbnMucmVzdG9yZXx8ZmFsc2Usbz1jLm9wdGlvbnMuc2NhbGV8fCJi
b3RoIixuPWMub3B0aW9ucy5vcmlnaW4saz17aGVpZ2h0OmQuaGVpZ2h0KCksd2lkdGg6ZC53aWR0
aCgpfTtkLmZyb209Yy5vcHRpb25zLmZyb218fGs7ZC50bz1jLm9wdGlvbnMudG98fGs7aWYobil7
bj1hLmVmZmVjdHMuZ2V0QmFzZWxpbmUobixrKTtkLmZyb20udG9wPShrLmhlaWdodC1kLmZyb20u
aGVpZ2h0KSpuLnk7ZC5mcm9tLmxlZnQ9KGsud2lkdGgtZC5mcm9tLndpZHRoKSpuLng7ZC50by50
b3A9KGsuaGVpZ2h0LWQudG8uaGVpZ2h0KSpuLnk7ZC50by5sZWZ0PShrLndpZHRoLWQudG8ud2lk
dGgpKm4ueH12YXIgbT17ZnJvbTp7eTpkLmZyb20uaGVpZ2h0L2suaGVpZ2h0LHg6ZC5mcm9tLndp
ZHRoL2sud2lkdGh9LHRvOnt5OmQudG8uaGVpZ2h0L2suaGVpZ2h0LHg6ZC50by53aWR0aC9rLndp
ZHRofX07Ci1pZihvPT0iYm94Inx8bz09ImJvdGgiKXtpZihtLmZyb20ueSE9bS50by55KXtlPWUu
Y29uY2F0KGIpO2QuZnJvbT1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihkLGIsbS5mcm9tLnksZC5m
cm9tKTtkLnRvPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGQsYixtLnRvLnksZC50byl9aWYobS5m
cm9tLnghPW0udG8ueCl7ZT1lLmNvbmNhdChmKTtkLmZyb209YS5lZmZlY3RzLnNldFRyYW5zaXRp
b24oZCxmLG0uZnJvbS54LGQuZnJvbSk7ZC50bz1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihkLGYs
bS50by54LGQudG8pfX1pZihvPT0iY29udGVudCJ8fG89PSJib3RoIilpZihtLmZyb20ueSE9bS50
by55KXtlPWUuY29uY2F0KGkpO2QuZnJvbT1hLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihkLGksbS5m
cm9tLnksZC5mcm9tKTtkLnRvPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGQsaSxtLnRvLnksZC50
byl9YS5lZmZlY3RzLnNhdmUoZCxsP2U6aCk7ZC5zaG93KCk7YS5lZmZlY3RzLmNyZWF0ZVdyYXBw
ZXIoZCk7Ci1kLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKS5jc3MoZC5mcm9tKTtpZihvPT0iY29u
dGVudCJ8fG89PSJib3RoIil7Yj1iLmNvbmNhdChbIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSJd
KS5jb25jYXQoaSk7Zj1mLmNvbmNhdChbIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCJdKTtnPWUu
Y29uY2F0KGIpLmNvbmNhdChmKTtkLmZpbmQoIipbd2lkdGhdIikuZWFjaChmdW5jdGlvbigpe2No
aWxkPWEodGhpcyk7bCYmYS5lZmZlY3RzLnNhdmUoY2hpbGQsZyk7dmFyIHA9e2hlaWdodDpjaGls
ZC5oZWlnaHQoKSx3aWR0aDpjaGlsZC53aWR0aCgpfTtjaGlsZC5mcm9tPXtoZWlnaHQ6cC5oZWln
aHQqbS5mcm9tLnksd2lkdGg6cC53aWR0aCptLmZyb20ueH07Y2hpbGQudG89e2hlaWdodDpwLmhl
aWdodCptLnRvLnksd2lkdGg6cC53aWR0aCptLnRvLnh9O2lmKG0uZnJvbS55IT1tLnRvLnkpe2No
aWxkLmZyb209YS5lZmZlY3RzLnNldFRyYW5zaXRpb24oY2hpbGQsYixtLmZyb20ueSxjaGlsZC5m
cm9tKTsKLWNoaWxkLnRvPWEuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGNoaWxkLGIsbS50by55LGNo
aWxkLnRvKX1pZihtLmZyb20ueCE9bS50by54KXtjaGlsZC5mcm9tPWEuZWZmZWN0cy5zZXRUcmFu
c2l0aW9uKGNoaWxkLGYsbS5mcm9tLngsY2hpbGQuZnJvbSk7Y2hpbGQudG89YS5lZmZlY3RzLnNl
dFRyYW5zaXRpb24oY2hpbGQsZixtLnRvLngsY2hpbGQudG8pfWNoaWxkLmNzcyhjaGlsZC5mcm9t
KTtjaGlsZC5hbmltYXRlKGNoaWxkLnRvLGMuZHVyYXRpb24sYy5vcHRpb25zLmVhc2luZyxmdW5j
dGlvbigpe2wmJmEuZWZmZWN0cy5yZXN0b3JlKGNoaWxkLGcpfSl9KX1kLmFuaW1hdGUoZC50byx7
cXVldWU6ZmFsc2UsZHVyYXRpb246Yy5kdXJhdGlvbixlYXNpbmc6Yy5vcHRpb25zLmVhc2luZyxj
b21wbGV0ZTpmdW5jdGlvbigpe2QudG8ub3BhY2l0eT09PTAmJmQuY3NzKCJvcGFjaXR5IixkLmZy
b20ub3BhY2l0eSk7aj09ImhpZGUiJiZkLmhpZGUoKTthLmVmZmVjdHMucmVzdG9yZShkLAotbD9l
OmgpO2EuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGQpO2MuY2FsbGJhY2smJmMuY2FsbGJhY2suYXBw
bHkodGhpcyxhcmd1bWVudHMpO2QuZGVxdWV1ZSgpfX0pfSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlv
bihhKXthLmVmZmVjdHMuc2hha2U9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMucXVldWUoZnVuY3Rp
b24oKXt2YXIgZD1hKHRoaXMpLGU9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJy
aWdodCJdO2EuZWZmZWN0cy5zZXRNb2RlKGQsYy5vcHRpb25zLm1vZGV8fCJlZmZlY3QiKTt2YXIg
aD1jLm9wdGlvbnMuZGlyZWN0aW9ufHwibGVmdCIsZz1jLm9wdGlvbnMuZGlzdGFuY2V8fDIwLGk9
Yy5vcHRpb25zLnRpbWVzfHwzLGI9Yy5kdXJhdGlvbnx8Yy5vcHRpb25zLmR1cmF0aW9ufHwxNDA7
YS5lZmZlY3RzLnNhdmUoZCxlKTtkLnNob3coKTthLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihkKTt2
YXIgZj1oPT0idXAifHxoPT0iZG93biI/InRvcCI6ImxlZnQiLGo9aD09InVwInx8aD09ImxlZnQi
PyJwb3MiOiJuZWciO2g9e307dmFyIGw9e30sbz17fTtoW2ZdPShqPT0icG9zIj8iLT0iOiIrPSIp
K2c7bFtmXT0oaj09InBvcyI/Iis9IjoiLT0iKStnKjI7b1tmXT0KLShqPT0icG9zIj8iLT0iOiIr
PSIpK2cqMjtkLmFuaW1hdGUoaCxiLGMub3B0aW9ucy5lYXNpbmcpO2ZvcihnPTE7ZzxpO2crKylk
LmFuaW1hdGUobCxiLGMub3B0aW9ucy5lYXNpbmcpLmFuaW1hdGUobyxiLGMub3B0aW9ucy5lYXNp
bmcpO2QuYW5pbWF0ZShsLGIsYy5vcHRpb25zLmVhc2luZykuYW5pbWF0ZShoLGIvMixjLm9wdGlv
bnMuZWFzaW5nLGZ1bmN0aW9uKCl7YS5lZmZlY3RzLnJlc3RvcmUoZCxlKTthLmVmZmVjdHMucmVt
b3ZlV3JhcHBlcihkKTtjLmNhbGxiYWNrJiZjLmNhbGxiYWNrLmFwcGx5KHRoaXMsYXJndW1lbnRz
KX0pO2QucXVldWUoImZ4IixmdW5jdGlvbigpe2QuZGVxdWV1ZSgpfSk7ZC5kZXF1ZXVlKCl9KX19
KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy5zbGlkZT1mdW5jdGlvbihjKXtyZXR1
cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1bInBvc2l0aW9uIiwidG9w
IiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il0saD1hLmVmZmVjdHMuc2V0TW9kZShkLGMub3B0aW9u
cy5tb2RlfHwic2hvdyIpLGc9Yy5vcHRpb25zLmRpcmVjdGlvbnx8ImxlZnQiO2EuZWZmZWN0cy5z
YXZlKGQsZSk7ZC5zaG93KCk7YS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoZCkuY3NzKHtvdmVyZmxv
dzoiaGlkZGVuIn0pO3ZhciBpPWc9PSJ1cCJ8fGc9PSJkb3duIj8idG9wIjoibGVmdCI7Zz1nPT0i
dXAifHxnPT0ibGVmdCI/InBvcyI6Im5lZyI7dmFyIGI9Yy5vcHRpb25zLmRpc3RhbmNlfHwoaT09
InRvcCI/ZC5vdXRlckhlaWdodCh7bWFyZ2luOnRydWV9KTpkLm91dGVyV2lkdGgoe21hcmdpbjp0
cnVlfSkpO2lmKGg9PSJzaG93IilkLmNzcyhpLGc9PSJwb3MiP2lzTmFOKGIpPyItIitiOi1iOmIp
OwotdmFyIGY9e307ZltpXT0oaD09InNob3ciP2c9PSJwb3MiPyIrPSI6Ii09IjpnPT0icG9zIj8i
LT0iOiIrPSIpK2I7ZC5hbmltYXRlKGYse3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmMuZHVyYXRpb24s
ZWFzaW5nOmMub3B0aW9ucy5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtoPT0iaGlkZSImJmQu
aGlkZSgpO2EuZWZmZWN0cy5yZXN0b3JlKGQsZSk7YS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoZCk7
Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZC5kZXF1ZXVlKCl9
fSl9KX19KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2EuZWZmZWN0cy50cmFuc2Zlcj1mdW5jdGlv
bihjKXtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1hKGMub3B0
aW9ucy50byksaD1lLm9mZnNldCgpO2U9e3RvcDpoLnRvcCxsZWZ0OmgubGVmdCxoZWlnaHQ6ZS5p
bm5lckhlaWdodCgpLHdpZHRoOmUuaW5uZXJXaWR0aCgpfTtoPWQub2Zmc2V0KCk7dmFyIGc9YSgn
PGRpdiBjbGFzcz0idWktZWZmZWN0cy10cmFuc2ZlciI+PC9kaXY+JykuYXBwZW5kVG8oZG9jdW1l
bnQuYm9keSkuYWRkQ2xhc3MoYy5vcHRpb25zLmNsYXNzTmFtZSkuY3NzKHt0b3A6aC50b3AsbGVm
dDpoLmxlZnQsaGVpZ2h0OmQuaW5uZXJIZWlnaHQoKSx3aWR0aDpkLmlubmVyV2lkdGgoKSxwb3Np
dGlvbjoiYWJzb2x1dGUifSkuYW5pbWF0ZShlLGMuZHVyYXRpb24sYy5vcHRpb25zLmVhc2luZyxm
dW5jdGlvbigpe2cucmVtb3ZlKCk7Yy5jYWxsYmFjayYmYy5jYWxsYmFjay5hcHBseShkWzBdLGFy
Z3VtZW50cyk7Ci1kLmRlcXVldWUoKX0pfSl9fSkoalF1ZXJ5KTsKLShmdW5jdGlvbihhKXthLndp
ZGdldCgidWkuYWNjb3JkaW9uIix7b3B0aW9uczp7YWN0aXZlOjAsYW5pbWF0ZWQ6InNsaWRlIixh
dXRvSGVpZ2h0OnRydWUsY2xlYXJTdHlsZTpmYWxzZSxjb2xsYXBzaWJsZTpmYWxzZSxldmVudDoi
Y2xpY2siLGZpbGxTcGFjZTpmYWxzZSxoZWFkZXI6Ij4gbGkgPiA6Zmlyc3QtY2hpbGQsPiA6bm90
KGxpKTpldmVuIixpY29uczp7aGVhZGVyOiJ1aS1pY29uLXRyaWFuZ2xlLTEtZSIsaGVhZGVyU2Vs
ZWN0ZWQ6InVpLWljb24tdHJpYW5nbGUtMS1zIn0sbmF2aWdhdGlvbjpmYWxzZSxuYXZpZ2F0aW9u
RmlsdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaHJlZi50b0xvd2VyQ2FzZSgpPT09bG9jYXRp
b24uaHJlZi50b0xvd2VyQ2FzZSgpfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBjPXRoaXMsZD1j
Lm9wdGlvbnM7Yy5ydW5uaW5nPTA7Yy5lbGVtZW50LmFkZENsYXNzKCJ1aS1hY2NvcmRpb24gdWkt
d2lkZ2V0IHVpLWhlbHBlci1yZXNldCIpLmNoaWxkcmVuKCJsaSIpLmFkZENsYXNzKCJ1aS1hY2Nv
cmRpb24tbGktZml4Iik7Yy5oZWFkZXJzPQotYy5lbGVtZW50LmZpbmQoZC5oZWFkZXIpLmFkZENs
YXNzKCJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLWhlbHBlci1yZXNldCB1aS1zdGF0ZS1kZWZhdWx0
IHVpLWNvcm5lci1hbGwiKS5iaW5kKCJtb3VzZWVudGVyLmFjY29yZGlvbiIsZnVuY3Rpb24oKXtk
LmRpc2FibGVkfHxhKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSkuYmluZCgibW91
c2VsZWF2ZS5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7ZC5kaXNhYmxlZHx8YSh0aGlzKS5yZW1vdmVD
bGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmJpbmQoImZvY3VzLmFjY29yZGlvbiIsZnVuY3Rpb24o
KXtkLmRpc2FibGVkfHxhKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSkuYmluZCgi
Ymx1ci5hY2NvcmRpb24iLGZ1bmN0aW9uKCl7ZC5kaXNhYmxlZHx8YSh0aGlzKS5yZW1vdmVDbGFz
cygidWktc3RhdGUtZm9jdXMiKX0pO2MuaGVhZGVycy5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29y
ZGlvbi1jb250ZW50IHVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXIt
Ym90dG9tIik7Ci1pZihkLm5hdmlnYXRpb24pe3ZhciBlPWMuZWxlbWVudC5maW5kKCJhIikuZmls
dGVyKGQubmF2aWdhdGlvbkZpbHRlcikuZXEoMCk7aWYoZS5sZW5ndGgpe3ZhciBoPWUuY2xvc2Vz
dCgiLnVpLWFjY29yZGlvbi1oZWFkZXIiKTtjLmFjdGl2ZT1oLmxlbmd0aD9oOmUuY2xvc2VzdCgi
LnVpLWFjY29yZGlvbi1jb250ZW50IikucHJldigpfX1jLmFjdGl2ZT1jLl9maW5kQWN0aXZlKGMu
YWN0aXZlfHxkLmFjdGl2ZSkuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktc3RhdGUtYWN0
aXZlIikudG9nZ2xlQ2xhc3MoInVpLWNvcm5lci1hbGwiKS50b2dnbGVDbGFzcygidWktY29ybmVy
LXRvcCIpO2MuYWN0aXZlLm5leHQoKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0
aXZlIik7Yy5fY3JlYXRlSWNvbnMoKTtjLnJlc2l6ZSgpO2MuZWxlbWVudC5hdHRyKCJyb2xlIiwi
dGFibGlzdCIpO2MuaGVhZGVycy5hdHRyKCJyb2xlIiwidGFiIikuYmluZCgia2V5ZG93bi5hY2Nv
cmRpb24iLAotZnVuY3Rpb24oZyl7cmV0dXJuIGMuX2tleWRvd24oZyl9KS5uZXh0KCkuYXR0cigi
cm9sZSIsInRhYnBhbmVsIik7Yy5oZWFkZXJzLm5vdChjLmFjdGl2ZXx8IiIpLmF0dHIoeyJhcmlh
LWV4cGFuZGVkIjoiZmFsc2UiLCJhcmlhLXNlbGVjdGVkIjoiZmFsc2UiLHRhYkluZGV4Oi0xfSku
bmV4dCgpLmhpZGUoKTtjLmFjdGl2ZS5sZW5ndGg/Yy5hY3RpdmUuYXR0cih7ImFyaWEtZXhwYW5k
ZWQiOiJ0cnVlIiwiYXJpYS1zZWxlY3RlZCI6InRydWUiLHRhYkluZGV4OjB9KTpjLmhlYWRlcnMu
ZXEoMCkuYXR0cigidGFiSW5kZXgiLDApO2EuYnJvd3Nlci5zYWZhcml8fGMuaGVhZGVycy5maW5k
KCJhIikuYXR0cigidGFiSW5kZXgiLC0xKTtkLmV2ZW50JiZjLmhlYWRlcnMuYmluZChkLmV2ZW50
LnNwbGl0KCIgIikuam9pbigiLmFjY29yZGlvbiAiKSsiLmFjY29yZGlvbiIsZnVuY3Rpb24oZyl7
Yy5fY2xpY2tIYW5kbGVyLmNhbGwoYyxnLHRoaXMpO2cucHJldmVudERlZmF1bHQoKX0pfSxfY3Jl
YXRlSWNvbnM6ZnVuY3Rpb24oKXt2YXIgYz0KLXRoaXMub3B0aW9ucztpZihjLmljb25zKXthKCI8
c3Bhbj48L3NwYW4+IikuYWRkQ2xhc3MoInVpLWljb24gIitjLmljb25zLmhlYWRlcikucHJlcGVu
ZFRvKHRoaXMuaGVhZGVycyk7dGhpcy5hY3RpdmUuY2hpbGRyZW4oIi51aS1pY29uIikudG9nZ2xl
Q2xhc3MoYy5pY29ucy5oZWFkZXIpLnRvZ2dsZUNsYXNzKGMuaWNvbnMuaGVhZGVyU2VsZWN0ZWQp
O3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYWNjb3JkaW9uLWljb25zIil9fSxfZGVzdHJveUlj
b25zOmZ1bmN0aW9uKCl7dGhpcy5oZWFkZXJzLmNoaWxkcmVuKCIudWktaWNvbiIpLnJlbW92ZSgp
O3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktYWNjb3JkaW9uLWljb25zIil9LGRlc3Ryb3k6
ZnVuY3Rpb24oKXt2YXIgYz10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1
aS1hY2NvcmRpb24gdWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIpLnJlbW92ZUF0dHIoInJvbGUi
KTt0aGlzLmhlYWRlcnMudW5iaW5kKCIuYWNjb3JkaW9uIikucmVtb3ZlQ2xhc3MoInVpLWFjY29y
ZGlvbi1oZWFkZXIgdWktYWNjb3JkaW9uLWRpc2FibGVkIHVpLWhlbHBlci1yZXNldCB1aS1zdGF0
ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWRpc2FibGVk
IHVpLWNvcm5lci10b3AiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS1leHBh
bmRlZCIpLnJlbW92ZUF0dHIoImFyaWEtc2VsZWN0ZWQiKS5yZW1vdmVBdHRyKCJ0YWJJbmRleCIp
OwotdGhpcy5oZWFkZXJzLmZpbmQoImEiKS5yZW1vdmVBdHRyKCJ0YWJJbmRleCIpO3RoaXMuX2Rl
c3Ryb3lJY29ucygpO3ZhciBkPXRoaXMuaGVhZGVycy5uZXh0KCkuY3NzKCJkaXNwbGF5IiwiIiku
cmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUNsYXNzKCJ1aS1oZWxwZXItcmVzZXQgdWktd2lkZ2V0
LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSB1aS1hY2NvcmRpb24tY29udGVudCB1aS1hY2NvcmRp
b24tY29udGVudC1hY3RpdmUgdWktYWNjb3JkaW9uLWRpc2FibGVkIHVpLXN0YXRlLWRpc2FibGVk
Iik7aWYoYy5hdXRvSGVpZ2h0fHxjLmZpbGxIZWlnaHQpZC5jc3MoImhlaWdodCIsIiIpO3JldHVy
biBhLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpfSxfc2V0T3B0aW9uOmZ1bmN0
aW9uKGMsZCl7YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcyxhcmd1bWVu
dHMpO2M9PSJhY3RpdmUiJiZ0aGlzLmFjdGl2YXRlKGQpO2lmKGM9PSJpY29ucyIpe3RoaXMuX2Rl
c3Ryb3lJY29ucygpOwotZCYmdGhpcy5fY3JlYXRlSWNvbnMoKX1pZihjPT0iZGlzYWJsZWQiKXRo
aXMuaGVhZGVycy5hZGQodGhpcy5oZWFkZXJzLm5leHQoKSlbZD8iYWRkQ2xhc3MiOiJyZW1vdmVD
bGFzcyJdKCJ1aS1hY2NvcmRpb24tZGlzYWJsZWQgdWktc3RhdGUtZGlzYWJsZWQiKX0sX2tleWRv
d246ZnVuY3Rpb24oYyl7aWYoISh0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fGMuYWx0S2V5fHxjLmN0
cmxLZXkpKXt2YXIgZD1hLnVpLmtleUNvZGUsZT10aGlzLmhlYWRlcnMubGVuZ3RoLGg9dGhpcy5o
ZWFkZXJzLmluZGV4KGMudGFyZ2V0KSxnPWZhbHNlO3N3aXRjaChjLmtleUNvZGUpe2Nhc2UgZC5S
SUdIVDpjYXNlIGQuRE9XTjpnPXRoaXMuaGVhZGVyc1soaCsxKSVlXTticmVhaztjYXNlIGQuTEVG
VDpjYXNlIGQuVVA6Zz10aGlzLmhlYWRlcnNbKGgtMStlKSVlXTticmVhaztjYXNlIGQuU1BBQ0U6
Y2FzZSBkLkVOVEVSOnRoaXMuX2NsaWNrSGFuZGxlcih7dGFyZ2V0OmMudGFyZ2V0fSxjLnRhcmdl
dCk7Ci1jLnByZXZlbnREZWZhdWx0KCl9aWYoZyl7YShjLnRhcmdldCkuYXR0cigidGFiSW5kZXgi
LC0xKTthKGcpLmF0dHIoInRhYkluZGV4IiwwKTtnLmZvY3VzKCk7cmV0dXJuIGZhbHNlfXJldHVy
biB0cnVlfX0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy5vcHRpb25zLGQ7aWYoYy5maWxs
U3BhY2Upe2lmKGEuYnJvd3Nlci5tc2llKXt2YXIgZT10aGlzLmVsZW1lbnQucGFyZW50KCkuY3Nz
KCJvdmVyZmxvdyIpO3RoaXMuZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93IiwiaGlkZGVu
Iil9ZD10aGlzLmVsZW1lbnQucGFyZW50KCkuaGVpZ2h0KCk7YS5icm93c2VyLm1zaWUmJnRoaXMu
ZWxlbWVudC5wYXJlbnQoKS5jc3MoIm92ZXJmbG93IixlKTt0aGlzLmhlYWRlcnMuZWFjaChmdW5j
dGlvbigpe2QtPWEodGhpcykub3V0ZXJIZWlnaHQodHJ1ZSl9KTt0aGlzLmhlYWRlcnMubmV4dCgp
LmVhY2goZnVuY3Rpb24oKXthKHRoaXMpLmhlaWdodChNYXRoLm1heCgwLGQtYSh0aGlzKS5pbm5l
ckhlaWdodCgpKwotYSh0aGlzKS5oZWlnaHQoKSkpfSkuY3NzKCJvdmVyZmxvdyIsImF1dG8iKX1l
bHNlIGlmKGMuYXV0b0hlaWdodCl7ZD0wO3RoaXMuaGVhZGVycy5uZXh0KCkuZWFjaChmdW5jdGlv
bigpe2Q9TWF0aC5tYXgoZCxhKHRoaXMpLmhlaWdodCgiIikuaGVpZ2h0KCkpfSkuaGVpZ2h0KGQp
fXJldHVybiB0aGlzfSxhY3RpdmF0ZTpmdW5jdGlvbihjKXt0aGlzLm9wdGlvbnMuYWN0aXZlPWM7
Yz10aGlzLl9maW5kQWN0aXZlKGMpWzBdO3RoaXMuX2NsaWNrSGFuZGxlcih7dGFyZ2V0OmN9LGMp
O3JldHVybiB0aGlzfSxfZmluZEFjdGl2ZTpmdW5jdGlvbihjKXtyZXR1cm4gYz90eXBlb2YgYz09
PSJudW1iZXIiP3RoaXMuaGVhZGVycy5maWx0ZXIoIjplcSgiK2MrIikiKTp0aGlzLmhlYWRlcnMu
bm90KHRoaXMuaGVhZGVycy5ub3QoYykpOmM9PT1mYWxzZT9hKFtdKTp0aGlzLmhlYWRlcnMuZmls
dGVyKCI6ZXEoMCkiKX0sX2NsaWNrSGFuZGxlcjpmdW5jdGlvbihjLGQpe3ZhciBlPXRoaXMub3B0
aW9uczsKLWlmKCFlLmRpc2FibGVkKWlmKGMudGFyZ2V0KXtjPWEoYy5jdXJyZW50VGFyZ2V0fHxk
KTtkPWNbMF09PT10aGlzLmFjdGl2ZVswXTtlLmFjdGl2ZT1lLmNvbGxhcHNpYmxlJiZkP2ZhbHNl
OnRoaXMuaGVhZGVycy5pbmRleChjKTtpZighKHRoaXMucnVubmluZ3x8IWUuY29sbGFwc2libGUm
JmQpKXt2YXIgaD10aGlzLmFjdGl2ZTtmPWMubmV4dCgpO2k9dGhpcy5hY3RpdmUubmV4dCgpO2I9
e29wdGlvbnM6ZSxuZXdIZWFkZXI6ZCYmZS5jb2xsYXBzaWJsZT9hKFtdKTpjLG9sZEhlYWRlcjp0
aGlzLmFjdGl2ZSxuZXdDb250ZW50OmQmJmUuY29sbGFwc2libGU/YShbXSk6ZixvbGRDb250ZW50
Oml9O3ZhciBnPXRoaXMuaGVhZGVycy5pbmRleCh0aGlzLmFjdGl2ZVswXSk+dGhpcy5oZWFkZXJz
LmluZGV4KGNbMF0pO3RoaXMuYWN0aXZlPWQ/YShbXSk6Yzt0aGlzLl90b2dnbGUoZixpLGIsZCxn
KTtoLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIpLmFkZENsYXNz
KCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKS5jaGlsZHJlbigiLnVpLWljb24iKS5y
ZW1vdmVDbGFzcyhlLmljb25zLmhlYWRlclNlbGVjdGVkKS5hZGRDbGFzcyhlLmljb25zLmhlYWRl
cik7Ci1pZighZCl7Yy5yZW1vdmVDbGFzcygidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxs
IikuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIikuY2hpbGRyZW4oIi51
aS1pY29uIikucmVtb3ZlQ2xhc3MoZS5pY29ucy5oZWFkZXIpLmFkZENsYXNzKGUuaWNvbnMuaGVh
ZGVyU2VsZWN0ZWQpO2MubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3Rp
dmUiKX19fWVsc2UgaWYoZS5jb2xsYXBzaWJsZSl7dGhpcy5hY3RpdmUucmVtb3ZlQ2xhc3MoInVp
LXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIikuYWRkQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQg
dWktY29ybmVyLWFsbCIpLmNoaWxkcmVuKCIudWktaWNvbiIpLnJlbW92ZUNsYXNzKGUuaWNvbnMu
aGVhZGVyU2VsZWN0ZWQpLmFkZENsYXNzKGUuaWNvbnMuaGVhZGVyKTt0aGlzLmFjdGl2ZS5uZXh0
KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpO3ZhciBpPXRoaXMuYWN0
aXZlLm5leHQoKSwKLWI9e29wdGlvbnM6ZSxuZXdIZWFkZXI6YShbXSksb2xkSGVhZGVyOmUuYWN0
aXZlLG5ld0NvbnRlbnQ6YShbXSksb2xkQ29udGVudDppfSxmPXRoaXMuYWN0aXZlPWEoW10pO3Ro
aXMuX3RvZ2dsZShmLGksYil9fSxfdG9nZ2xlOmZ1bmN0aW9uKGMsZCxlLGgsZyl7dmFyIGk9dGhp
cyxiPWkub3B0aW9ucztpLnRvU2hvdz1jO2kudG9IaWRlPWQ7aS5kYXRhPWU7dmFyIGY9ZnVuY3Rp
b24oKXtpZihpKXJldHVybiBpLl9jb21wbGV0ZWQuYXBwbHkoaSxhcmd1bWVudHMpfTtpLl90cmln
Z2VyKCJjaGFuZ2VzdGFydCIsbnVsbCxpLmRhdGEpO2kucnVubmluZz1kLnNpemUoKT09PTA/Yy5z
aXplKCk6ZC5zaXplKCk7aWYoYi5hbmltYXRlZCl7ZT17fTtlPWIuY29sbGFwc2libGUmJmg/e3Rv
U2hvdzphKFtdKSx0b0hpZGU6ZCxjb21wbGV0ZTpmLGRvd246ZyxhdXRvSGVpZ2h0OmIuYXV0b0hl
aWdodHx8Yi5maWxsU3BhY2V9Ont0b1Nob3c6Yyx0b0hpZGU6ZCxjb21wbGV0ZTpmLGRvd246Zyxh
dXRvSGVpZ2h0OmIuYXV0b0hlaWdodHx8Ci1iLmZpbGxTcGFjZX07aWYoIWIucHJveGllZCliLnBy
b3hpZWQ9Yi5hbmltYXRlZDtpZighYi5wcm94aWVkRHVyYXRpb24pYi5wcm94aWVkRHVyYXRpb249
Yi5kdXJhdGlvbjtiLmFuaW1hdGVkPWEuaXNGdW5jdGlvbihiLnByb3hpZWQpP2IucHJveGllZChl
KTpiLnByb3hpZWQ7Yi5kdXJhdGlvbj1hLmlzRnVuY3Rpb24oYi5wcm94aWVkRHVyYXRpb24pP2Iu
cHJveGllZER1cmF0aW9uKGUpOmIucHJveGllZER1cmF0aW9uO2g9YS51aS5hY2NvcmRpb24uYW5p
bWF0aW9uczt2YXIgaj1iLmR1cmF0aW9uLGw9Yi5hbmltYXRlZDtpZihsJiYhaFtsXSYmIWEuZWFz
aW5nW2xdKWw9InNsaWRlIjtoW2xdfHwoaFtsXT1mdW5jdGlvbihvKXt0aGlzLnNsaWRlKG8se2Vh
c2luZzpsLGR1cmF0aW9uOmp8fDcwMH0pfSk7aFtsXShlKX1lbHNle2lmKGIuY29sbGFwc2libGUm
JmgpYy50b2dnbGUoKTtlbHNle2QuaGlkZSgpO2Muc2hvdygpfWYodHJ1ZSl9ZC5wcmV2KCkuYXR0
cih7ImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsCi0iYXJpYS1zZWxlY3RlZCI6ImZhbHNlIix0YWJJ
bmRleDotMX0pLmJsdXIoKTtjLnByZXYoKS5hdHRyKHsiYXJpYS1leHBhbmRlZCI6InRydWUiLCJh
cmlhLXNlbGVjdGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pLmZvY3VzKCl9LF9jb21wbGV0ZWQ6ZnVu
Y3Rpb24oYyl7dGhpcy5ydW5uaW5nPWM/MDotLXRoaXMucnVubmluZztpZighdGhpcy5ydW5uaW5n
KXt0aGlzLm9wdGlvbnMuY2xlYXJTdHlsZSYmdGhpcy50b1Nob3cuYWRkKHRoaXMudG9IaWRlKS5j
c3Moe2hlaWdodDoiIixvdmVyZmxvdzoiIn0pO3RoaXMudG9IaWRlLnJlbW92ZUNsYXNzKCJ1aS1h
Y2NvcmRpb24tY29udGVudC1hY3RpdmUiKTtpZih0aGlzLnRvSGlkZS5sZW5ndGgpdGhpcy50b0hp
ZGUucGFyZW50KClbMF0uY2xhc3NOYW1lPXRoaXMudG9IaWRlLnBhcmVudCgpWzBdLmNsYXNzTmFt
ZTt0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLG51bGwsdGhpcy5kYXRhKX19fSk7YS5leHRlbmQoYS51
aS5hY2NvcmRpb24se3ZlcnNpb246IjEuOC4xNSIsCi1hbmltYXRpb25zOntzbGlkZTpmdW5jdGlv
bihjLGQpe2M9YS5leHRlbmQoe2Vhc2luZzoic3dpbmciLGR1cmF0aW9uOjMwMH0sYyxkKTtpZihj
LnRvSGlkZS5zaXplKCkpaWYoYy50b1Nob3cuc2l6ZSgpKXt2YXIgZT1jLnRvU2hvdy5jc3MoIm92
ZXJmbG93IiksaD0wLGc9e30saT17fSxiO2Q9Yy50b1Nob3c7Yj1kWzBdLnN0eWxlLndpZHRoO2Qu
d2lkdGgocGFyc2VJbnQoZC5wYXJlbnQoKS53aWR0aCgpLDEwKS1wYXJzZUludChkLmNzcygicGFk
ZGluZ0xlZnQiKSwxMCktcGFyc2VJbnQoZC5jc3MoInBhZGRpbmdSaWdodCIpLDEwKS0ocGFyc2VJ
bnQoZC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGQuY3NzKCJib3Jk
ZXJSaWdodFdpZHRoIiksMTApfHwwKSk7YS5lYWNoKFsiaGVpZ2h0IiwicGFkZGluZ1RvcCIsInBh
ZGRpbmdCb3R0b20iXSxmdW5jdGlvbihmLGope2lbal09ImhpZGUiO2Y9KCIiK2EuY3NzKGMudG9T
aG93WzBdLGopKS5tYXRjaCgvXihbXGQrLS5dKykoLiopJC8pOwotZ1tqXT17dmFsdWU6ZlsxXSx1
bml0OmZbMl18fCJweCJ9fSk7Yy50b1Nob3cuY3NzKHtoZWlnaHQ6MCxvdmVyZmxvdzoiaGlkZGVu
In0pLnNob3coKTtjLnRvSGlkZS5maWx0ZXIoIjpoaWRkZW4iKS5lYWNoKGMuY29tcGxldGUpLmVu
ZCgpLmZpbHRlcigiOnZpc2libGUiKS5hbmltYXRlKGkse3N0ZXA6ZnVuY3Rpb24oZixqKXtpZihq
LnByb3A9PSJoZWlnaHQiKWg9ai5lbmQtai5zdGFydD09PTA/MDooai5ub3ctai5zdGFydCkvKGou
ZW5kLWouc3RhcnQpO2MudG9TaG93WzBdLnN0eWxlW2oucHJvcF09aCpnW2oucHJvcF0udmFsdWUr
Z1tqLnByb3BdLnVuaXR9LGR1cmF0aW9uOmMuZHVyYXRpb24sZWFzaW5nOmMuZWFzaW5nLGNvbXBs
ZXRlOmZ1bmN0aW9uKCl7Yy5hdXRvSGVpZ2h0fHxjLnRvU2hvdy5jc3MoImhlaWdodCIsIiIpO2Mu
dG9TaG93LmNzcyh7d2lkdGg6YixvdmVyZmxvdzplfSk7Yy5jb21wbGV0ZSgpfX0pfWVsc2UgYy50
b0hpZGUuYW5pbWF0ZSh7aGVpZ2h0OiJoaWRlIiwKLXBhZGRpbmdUb3A6ImhpZGUiLHBhZGRpbmdC
b3R0b206ImhpZGUifSxjKTtlbHNlIGMudG9TaG93LmFuaW1hdGUoe2hlaWdodDoic2hvdyIscGFk
ZGluZ1RvcDoic2hvdyIscGFkZGluZ0JvdHRvbToic2hvdyJ9LGMpfSxib3VuY2VzbGlkZTpmdW5j
dGlvbihjKXt0aGlzLnNsaWRlKGMse2Vhc2luZzpjLmRvd24/ImVhc2VPdXRCb3VuY2UiOiJzd2lu
ZyIsZHVyYXRpb246Yy5kb3duPzFFMzoyMDB9KX19fSl9KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEp
e3ZhciBjPTA7YS53aWRnZXQoInVpLmF1dG9jb21wbGV0ZSIse29wdGlvbnM6e2FwcGVuZFRvOiJi
b2R5IixhdXRvRm9jdXM6ZmFsc2UsZGVsYXk6MzAwLG1pbkxlbmd0aDoxLHBvc2l0aW9uOntteToi
bGVmdCB0b3AiLGF0OiJsZWZ0IGJvdHRvbSIsY29sbGlzaW9uOiJub25lIn0sc291cmNlOm51bGx9
LHBlbmRpbmc6MCxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcyxlPXRoaXMuZWxlbWVudFsw
XS5vd25lckRvY3VtZW50LGg7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1hdXRvY29tcGxldGUt
aW5wdXQiKS5hdHRyKCJhdXRvY29tcGxldGUiLCJvZmYiKS5hdHRyKHtyb2xlOiJ0ZXh0Ym94Iiwi
YXJpYS1hdXRvY29tcGxldGUiOiJsaXN0IiwiYXJpYS1oYXNwb3B1cCI6InRydWUifSkuYmluZCgi
a2V5ZG93bi5hdXRvY29tcGxldGUiLGZ1bmN0aW9uKGcpe2lmKCEoZC5vcHRpb25zLmRpc2FibGVk
fHxkLmVsZW1lbnQucHJvcEF0dHIoInJlYWRPbmx5IikpKXtoPQotZmFsc2U7dmFyIGk9YS51aS5r
ZXlDb2RlO3N3aXRjaChnLmtleUNvZGUpe2Nhc2UgaS5QQUdFX1VQOmQuX21vdmUoInByZXZpb3Vz
UGFnZSIsZyk7YnJlYWs7Y2FzZSBpLlBBR0VfRE9XTjpkLl9tb3ZlKCJuZXh0UGFnZSIsZyk7YnJl
YWs7Y2FzZSBpLlVQOmQuX21vdmUoInByZXZpb3VzIixnKTtnLnByZXZlbnREZWZhdWx0KCk7YnJl
YWs7Y2FzZSBpLkRPV046ZC5fbW92ZSgibmV4dCIsZyk7Zy5wcmV2ZW50RGVmYXVsdCgpO2JyZWFr
O2Nhc2UgaS5FTlRFUjpjYXNlIGkuTlVNUEFEX0VOVEVSOmlmKGQubWVudS5hY3RpdmUpe2g9dHJ1
ZTtnLnByZXZlbnREZWZhdWx0KCl9Y2FzZSBpLlRBQjppZighZC5tZW51LmFjdGl2ZSlyZXR1cm47
ZC5tZW51LnNlbGVjdChnKTticmVhaztjYXNlIGkuRVNDQVBFOmQuZWxlbWVudC52YWwoZC50ZXJt
KTtkLmNsb3NlKGcpO2JyZWFrO2RlZmF1bHQ6Y2xlYXJUaW1lb3V0KGQuc2VhcmNoaW5nKTtkLnNl
YXJjaGluZz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYoZC50ZXJtIT0KLWQuZWxlbWVudC52YWwo
KSl7ZC5zZWxlY3RlZEl0ZW09bnVsbDtkLnNlYXJjaChudWxsLGcpfX0sZC5vcHRpb25zLmRlbGF5
KTticmVha319fSkuYmluZCgia2V5cHJlc3MuYXV0b2NvbXBsZXRlIixmdW5jdGlvbihnKXtpZiho
KXtoPWZhbHNlO2cucHJldmVudERlZmF1bHQoKX19KS5iaW5kKCJmb2N1cy5hdXRvY29tcGxldGUi
LGZ1bmN0aW9uKCl7aWYoIWQub3B0aW9ucy5kaXNhYmxlZCl7ZC5zZWxlY3RlZEl0ZW09bnVsbDtk
LnByZXZpb3VzPWQuZWxlbWVudC52YWwoKX19KS5iaW5kKCJibHVyLmF1dG9jb21wbGV0ZSIsZnVu
Y3Rpb24oZyl7aWYoIWQub3B0aW9ucy5kaXNhYmxlZCl7Y2xlYXJUaW1lb3V0KGQuc2VhcmNoaW5n
KTtkLmNsb3Npbmc9c2V0VGltZW91dChmdW5jdGlvbigpe2QuY2xvc2UoZyk7ZC5fY2hhbmdlKGcp
fSwxNTApfX0pO3RoaXMuX2luaXRTb3VyY2UoKTt0aGlzLnJlc3BvbnNlPWZ1bmN0aW9uKCl7cmV0
dXJuIGQuX3Jlc3BvbnNlLmFwcGx5KGQsYXJndW1lbnRzKX07Ci10aGlzLm1lbnU9YSgiPHVsPjwv
dWw+IikuYWRkQ2xhc3MoInVpLWF1dG9jb21wbGV0ZSIpLmFwcGVuZFRvKGEodGhpcy5vcHRpb25z
LmFwcGVuZFRvfHwiYm9keSIsZSlbMF0pLm1vdXNlZG93bihmdW5jdGlvbihnKXt2YXIgaT1kLm1l
bnUuZWxlbWVudFswXTthKGcudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudS1pdGVtIikubGVuZ3Ro
fHxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YShkb2N1bWVudCkub25lKCJtb3VzZWRvd24iLGZ1bmN0
aW9uKGIpe2IudGFyZ2V0IT09ZC5lbGVtZW50WzBdJiZiLnRhcmdldCE9PWkmJiFhLnVpLmNvbnRh
aW5zKGksYi50YXJnZXQpJiZkLmNsb3NlKCl9KX0sMSk7c2V0VGltZW91dChmdW5jdGlvbigpe2Ns
ZWFyVGltZW91dChkLmNsb3NpbmcpfSwxMyl9KS5tZW51KHtmb2N1czpmdW5jdGlvbihnLGkpe2k9
aS5pdGVtLmRhdGEoIml0ZW0uYXV0b2NvbXBsZXRlIik7ZmFsc2UhPT1kLl90cmlnZ2VyKCJmb2N1
cyIsZyx7aXRlbTppfSkmJi9ea2V5Ly50ZXN0KGcub3JpZ2luYWxFdmVudC50eXBlKSYmCi1kLmVs
ZW1lbnQudmFsKGkudmFsdWUpfSxzZWxlY3RlZDpmdW5jdGlvbihnLGkpe3ZhciBiPWkuaXRlbS5k
YXRhKCJpdGVtLmF1dG9jb21wbGV0ZSIpLGY9ZC5wcmV2aW91cztpZihkLmVsZW1lbnRbMF0hPT1l
LmFjdGl2ZUVsZW1lbnQpe2QuZWxlbWVudC5mb2N1cygpO2QucHJldmlvdXM9ZjtzZXRUaW1lb3V0
KGZ1bmN0aW9uKCl7ZC5wcmV2aW91cz1mO2Quc2VsZWN0ZWRJdGVtPWJ9LDEpfWZhbHNlIT09ZC5f
dHJpZ2dlcigic2VsZWN0IixnLHtpdGVtOmJ9KSYmZC5lbGVtZW50LnZhbChiLnZhbHVlKTtkLnRl
cm09ZC5lbGVtZW50LnZhbCgpO2QuY2xvc2UoZyk7ZC5zZWxlY3RlZEl0ZW09Yn0sYmx1cjpmdW5j
dGlvbigpe2QubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpJiZkLmVsZW1lbnQudmFsKCkhPT1k
LnRlcm0mJmQuZWxlbWVudC52YWwoZC50ZXJtKX19KS56SW5kZXgodGhpcy5lbGVtZW50LnpJbmRl
eCgpKzEpLmNzcyh7dG9wOjAsbGVmdDowfSkuaGlkZSgpLmRhdGEoIm1lbnUiKTsKLWEuZm4uYmdp
ZnJhbWUmJnRoaXMubWVudS5lbGVtZW50LmJnaWZyYW1lKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0
aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1pbnB1dCIpLnJlbW92ZUF0
dHIoImF1dG9jb21wbGV0ZSIpLnJlbW92ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLWF1
dG9jb21wbGV0ZSIpLnJlbW92ZUF0dHIoImFyaWEtaGFzcG9wdXAiKTt0aGlzLm1lbnUuZWxlbWVu
dC5yZW1vdmUoKTthLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpfSxfc2V0T3B0
aW9uOmZ1bmN0aW9uKGQsZSl7YS5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhp
cyxhcmd1bWVudHMpO2Q9PT0ic291cmNlIiYmdGhpcy5faW5pdFNvdXJjZSgpO2lmKGQ9PT0iYXBw
ZW5kVG8iKXRoaXMubWVudS5lbGVtZW50LmFwcGVuZFRvKGEoZXx8ImJvZHkiLHRoaXMuZWxlbWVu
dFswXS5vd25lckRvY3VtZW50KVswXSk7ZD09PSJkaXNhYmxlZCImJgotZSYmdGhpcy54aHImJnRo
aXMueGhyLmFib3J0KCl9LF9pbml0U291cmNlOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcyxlLGg7aWYo
YS5pc0FycmF5KHRoaXMub3B0aW9ucy5zb3VyY2UpKXtlPXRoaXMub3B0aW9ucy5zb3VyY2U7dGhp
cy5zb3VyY2U9ZnVuY3Rpb24oZyxpKXtpKGEudWkuYXV0b2NvbXBsZXRlLmZpbHRlcihlLGcudGVy
bSkpfX1lbHNlIGlmKHR5cGVvZiB0aGlzLm9wdGlvbnMuc291cmNlPT09InN0cmluZyIpe2g9dGhp
cy5vcHRpb25zLnNvdXJjZTt0aGlzLnNvdXJjZT1mdW5jdGlvbihnLGkpe2QueGhyJiZkLnhoci5h
Ym9ydCgpO2QueGhyPWEuYWpheCh7dXJsOmgsZGF0YTpnLGRhdGFUeXBlOiJqc29uIixhdXRvY29t
cGxldGVSZXF1ZXN0OisrYyxzdWNjZXNzOmZ1bmN0aW9uKGIpe3RoaXMuYXV0b2NvbXBsZXRlUmVx
dWVzdD09PWMmJmkoYil9LGVycm9yOmZ1bmN0aW9uKCl7dGhpcy5hdXRvY29tcGxldGVSZXF1ZXN0
PT09YyYmaShbXSl9fSl9fWVsc2UgdGhpcy5zb3VyY2U9Ci10aGlzLm9wdGlvbnMuc291cmNlfSxz
ZWFyY2g6ZnVuY3Rpb24oZCxlKXtkPWQhPW51bGw/ZDp0aGlzLmVsZW1lbnQudmFsKCk7dGhpcy50
ZXJtPXRoaXMuZWxlbWVudC52YWwoKTtpZihkLmxlbmd0aDx0aGlzLm9wdGlvbnMubWluTGVuZ3Ro
KXJldHVybiB0aGlzLmNsb3NlKGUpO2NsZWFyVGltZW91dCh0aGlzLmNsb3NpbmcpO2lmKHRoaXMu
X3RyaWdnZXIoInNlYXJjaCIsZSkhPT1mYWxzZSlyZXR1cm4gdGhpcy5fc2VhcmNoKGQpfSxfc2Vh
cmNoOmZ1bmN0aW9uKGQpe3RoaXMucGVuZGluZysrO3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWkt
YXV0b2NvbXBsZXRlLWxvYWRpbmciKTt0aGlzLnNvdXJjZSh7dGVybTpkfSx0aGlzLnJlc3BvbnNl
KX0sX3Jlc3BvbnNlOmZ1bmN0aW9uKGQpe2lmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJmQmJmQu
bGVuZ3RoKXtkPXRoaXMuX25vcm1hbGl6ZShkKTt0aGlzLl9zdWdnZXN0KGQpO3RoaXMuX3RyaWdn
ZXIoIm9wZW4iKX1lbHNlIHRoaXMuY2xvc2UoKTsKLXRoaXMucGVuZGluZy0tO3RoaXMucGVuZGlu
Z3x8dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hdXRvY29tcGxldGUtbG9hZGluZyIpfSxj
bG9zZTpmdW5jdGlvbihkKXtjbGVhclRpbWVvdXQodGhpcy5jbG9zaW5nKTtpZih0aGlzLm1lbnUu
ZWxlbWVudC5pcygiOnZpc2libGUiKSl7dGhpcy5tZW51LmVsZW1lbnQuaGlkZSgpO3RoaXMubWVu
dS5kZWFjdGl2YXRlKCk7dGhpcy5fdHJpZ2dlcigiY2xvc2UiLGQpfX0sX2NoYW5nZTpmdW5jdGlv
bihkKXt0aGlzLnByZXZpb3VzIT09dGhpcy5lbGVtZW50LnZhbCgpJiZ0aGlzLl90cmlnZ2VyKCJj
aGFuZ2UiLGQse2l0ZW06dGhpcy5zZWxlY3RlZEl0ZW19KX0sX25vcm1hbGl6ZTpmdW5jdGlvbihk
KXtpZihkLmxlbmd0aCYmZFswXS5sYWJlbCYmZFswXS52YWx1ZSlyZXR1cm4gZDtyZXR1cm4gYS5t
YXAoZCxmdW5jdGlvbihlKXtpZih0eXBlb2YgZT09PSJzdHJpbmciKXJldHVybntsYWJlbDplLHZh
bHVlOmV9O3JldHVybiBhLmV4dGVuZCh7bGFiZWw6ZS5sYWJlbHx8Ci1lLnZhbHVlLHZhbHVlOmUu
dmFsdWV8fGUubGFiZWx9LGUpfSl9LF9zdWdnZXN0OmZ1bmN0aW9uKGQpe3ZhciBlPXRoaXMubWVu
dS5lbGVtZW50LmVtcHR5KCkuekluZGV4KHRoaXMuZWxlbWVudC56SW5kZXgoKSsxKTt0aGlzLl9y
ZW5kZXJNZW51KGUsZCk7dGhpcy5tZW51LmRlYWN0aXZhdGUoKTt0aGlzLm1lbnUucmVmcmVzaCgp
O2Uuc2hvdygpO3RoaXMuX3Jlc2l6ZU1lbnUoKTtlLnBvc2l0aW9uKGEuZXh0ZW5kKHtvZjp0aGlz
LmVsZW1lbnR9LHRoaXMub3B0aW9ucy5wb3NpdGlvbikpO3RoaXMub3B0aW9ucy5hdXRvRm9jdXMm
JnRoaXMubWVudS5uZXh0KG5ldyBhLkV2ZW50KCJtb3VzZW92ZXIiKSl9LF9yZXNpemVNZW51OmZ1
bmN0aW9uKCl7dmFyIGQ9dGhpcy5tZW51LmVsZW1lbnQ7ZC5vdXRlcldpZHRoKE1hdGgubWF4KGQu
d2lkdGgoIiIpLm91dGVyV2lkdGgoKSx0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpKSl9LF9yZW5k
ZXJNZW51OmZ1bmN0aW9uKGQsZSl7dmFyIGg9dGhpczsKLWEuZWFjaChlLGZ1bmN0aW9uKGcsaSl7
aC5fcmVuZGVySXRlbShkLGkpfSl9LF9yZW5kZXJJdGVtOmZ1bmN0aW9uKGQsZSl7cmV0dXJuIGEo
IjxsaT48L2xpPiIpLmRhdGEoIml0ZW0uYXV0b2NvbXBsZXRlIixlKS5hcHBlbmQoYSgiPGE+PC9h
PiIpLnRleHQoZS5sYWJlbCkpLmFwcGVuZFRvKGQpfSxfbW92ZTpmdW5jdGlvbihkLGUpe2lmKHRo
aXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKWlmKHRoaXMubWVudS5maXJzdCgpJiYvXnBy
ZXZpb3VzLy50ZXN0KGQpfHx0aGlzLm1lbnUubGFzdCgpJiYvXm5leHQvLnRlc3QoZCkpe3RoaXMu
ZWxlbWVudC52YWwodGhpcy50ZXJtKTt0aGlzLm1lbnUuZGVhY3RpdmF0ZSgpfWVsc2UgdGhpcy5t
ZW51W2RdKGUpO2Vsc2UgdGhpcy5zZWFyY2gobnVsbCxlKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0
dXJuIHRoaXMubWVudS5lbGVtZW50fX0pO2EuZXh0ZW5kKGEudWkuYXV0b2NvbXBsZXRlLHtlc2Nh
cGVSZWdleDpmdW5jdGlvbihkKXtyZXR1cm4gZC5yZXBsYWNlKC9bLVtcXXt9KCkqKz8uLFxcXiR8
I1xzXS9nLAotIlxcJCYiKX0sZmlsdGVyOmZ1bmN0aW9uKGQsZSl7dmFyIGg9bmV3IFJlZ0V4cChh
LnVpLmF1dG9jb21wbGV0ZS5lc2NhcGVSZWdleChlKSwiaSIpO3JldHVybiBhLmdyZXAoZCxmdW5j
dGlvbihnKXtyZXR1cm4gaC50ZXN0KGcubGFiZWx8fGcudmFsdWV8fGcpfSl9fSl9KShqUXVlcnkp
OwotKGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5tZW51Iix7X2NyZWF0ZTpmdW5jdGlvbigpe3Zh
ciBjPXRoaXM7dGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1tZW51IHVpLXdpZGdldCB1aS13aWRn
ZXQtY29udGVudCB1aS1jb3JuZXItYWxsIikuYXR0cih7cm9sZToibGlzdGJveCIsImFyaWEtYWN0
aXZlZGVzY2VuZGFudCI6InVpLWFjdGl2ZS1tZW51aXRlbSJ9KS5jbGljayhmdW5jdGlvbihkKXtp
ZihhKGQudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudS1pdGVtIGEiKS5sZW5ndGgpe2QucHJldmVu
dERlZmF1bHQoKTtjLnNlbGVjdChkKX19KTt0aGlzLnJlZnJlc2goKX0scmVmcmVzaDpmdW5jdGlv
bigpe3ZhciBjPXRoaXM7dGhpcy5lbGVtZW50LmNoaWxkcmVuKCJsaTpub3QoLnVpLW1lbnUtaXRl
bSk6aGFzKGEpIikuYWRkQ2xhc3MoInVpLW1lbnUtaXRlbSIpLmF0dHIoInJvbGUiLCJtZW51aXRl
bSIpLmNoaWxkcmVuKCJhIikuYWRkQ2xhc3MoInVpLWNvcm5lci1hbGwiKS5hdHRyKCJ0YWJpbmRl
eCIsCi0tMSkubW91c2VlbnRlcihmdW5jdGlvbihkKXtjLmFjdGl2YXRlKGQsYSh0aGlzKS5wYXJl
bnQoKSl9KS5tb3VzZWxlYXZlKGZ1bmN0aW9uKCl7Yy5kZWFjdGl2YXRlKCl9KX0sYWN0aXZhdGU6
ZnVuY3Rpb24oYyxkKXt0aGlzLmRlYWN0aXZhdGUoKTtpZih0aGlzLmhhc1Njcm9sbCgpKXt2YXIg
ZT1kLm9mZnNldCgpLnRvcC10aGlzLmVsZW1lbnQub2Zmc2V0KCkudG9wLGg9dGhpcy5lbGVtZW50
LnNjcm9sbFRvcCgpLGc9dGhpcy5lbGVtZW50LmhlaWdodCgpO2lmKGU8MCl0aGlzLmVsZW1lbnQu
c2Nyb2xsVG9wKGgrZSk7ZWxzZSBlPj1nJiZ0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wKGgrZS1nK2Qu
aGVpZ2h0KCkpfXRoaXMuYWN0aXZlPWQuZXEoMCkuY2hpbGRyZW4oImEiKS5hZGRDbGFzcygidWkt
c3RhdGUtaG92ZXIiKS5hdHRyKCJpZCIsInVpLWFjdGl2ZS1tZW51aXRlbSIpLmVuZCgpO3RoaXMu
X3RyaWdnZXIoImZvY3VzIixjLHtpdGVtOmR9KX0sZGVhY3RpdmF0ZTpmdW5jdGlvbigpe2lmKHRo
aXMuYWN0aXZlKXt0aGlzLmFjdGl2ZS5jaGlsZHJlbigiYSIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0
ZS1ob3ZlciIpLnJlbW92ZUF0dHIoImlkIik7Ci10aGlzLl90cmlnZ2VyKCJibHVyIik7dGhpcy5h
Y3RpdmU9bnVsbH19LG5leHQ6ZnVuY3Rpb24oYyl7dGhpcy5tb3ZlKCJuZXh0IiwiLnVpLW1lbnUt
aXRlbTpmaXJzdCIsYyl9LHByZXZpb3VzOmZ1bmN0aW9uKGMpe3RoaXMubW92ZSgicHJldiIsIi51
aS1tZW51LWl0ZW06bGFzdCIsYyl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZl
JiYhdGhpcy5hY3RpdmUucHJldkFsbCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0sbGFzdDpmdW5j
dGlvbigpe3JldHVybiB0aGlzLmFjdGl2ZSYmIXRoaXMuYWN0aXZlLm5leHRBbGwoIi51aS1tZW51
LWl0ZW0iKS5sZW5ndGh9LG1vdmU6ZnVuY3Rpb24oYyxkLGUpe2lmKHRoaXMuYWN0aXZlKXtjPXRo
aXMuYWN0aXZlW2MrIkFsbCJdKCIudWktbWVudS1pdGVtIikuZXEoMCk7Yy5sZW5ndGg/dGhpcy5h
Y3RpdmF0ZShlLGMpOnRoaXMuYWN0aXZhdGUoZSx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oZCkpfWVs
c2UgdGhpcy5hY3RpdmF0ZShlLAotdGhpcy5lbGVtZW50LmNoaWxkcmVuKGQpKX0sbmV4dFBhZ2U6
ZnVuY3Rpb24oYyl7aWYodGhpcy5oYXNTY3JvbGwoKSlpZighdGhpcy5hY3RpdmV8fHRoaXMubGFz
dCgpKXRoaXMuYWN0aXZhdGUoYyx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW06
Zmlyc3QiKSk7ZWxzZXt2YXIgZD10aGlzLmFjdGl2ZS5vZmZzZXQoKS50b3AsZT10aGlzLmVsZW1l
bnQuaGVpZ2h0KCksaD10aGlzLmVsZW1lbnQuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW0iKS5maWx0
ZXIoZnVuY3Rpb24oKXt2YXIgZz1hKHRoaXMpLm9mZnNldCgpLnRvcC1kLWUrYSh0aGlzKS5oZWln
aHQoKTtyZXR1cm4gZzwxMCYmZz4tMTB9KTtoLmxlbmd0aHx8KGg9dGhpcy5lbGVtZW50LmNoaWxk
cmVuKCIudWktbWVudS1pdGVtOmxhc3QiKSk7dGhpcy5hY3RpdmF0ZShjLGgpfWVsc2UgdGhpcy5h
Y3RpdmF0ZShjLHRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbSIpLmZpbHRlcigh
dGhpcy5hY3RpdmV8fAotdGhpcy5sYXN0KCk/IjpmaXJzdCI6IjpsYXN0IikpfSxwcmV2aW91c1Bh
Z2U6ZnVuY3Rpb24oYyl7aWYodGhpcy5oYXNTY3JvbGwoKSlpZighdGhpcy5hY3RpdmV8fHRoaXMu
Zmlyc3QoKSl0aGlzLmFjdGl2YXRlKGMsdGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1p
dGVtOmxhc3QiKSk7ZWxzZXt2YXIgZD10aGlzLmFjdGl2ZS5vZmZzZXQoKS50b3AsZT10aGlzLmVs
ZW1lbnQuaGVpZ2h0KCk7cmVzdWx0PXRoaXMuZWxlbWVudC5jaGlsZHJlbigiLnVpLW1lbnUtaXRl
bSIpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBoPWEodGhpcykub2Zmc2V0KCkudG9wLWQrZS1hKHRo
aXMpLmhlaWdodCgpO3JldHVybiBoPDEwJiZoPi0xMH0pO3Jlc3VsdC5sZW5ndGh8fChyZXN1bHQ9
dGhpcy5lbGVtZW50LmNoaWxkcmVuKCIudWktbWVudS1pdGVtOmZpcnN0IikpO3RoaXMuYWN0aXZh
dGUoYyxyZXN1bHQpfWVsc2UgdGhpcy5hY3RpdmF0ZShjLHRoaXMuZWxlbWVudC5jaGlsZHJlbigi
LnVpLW1lbnUtaXRlbSIpLmZpbHRlcighdGhpcy5hY3RpdmV8fAotdGhpcy5maXJzdCgpPyI6bGFz
dCI6IjpmaXJzdCIpKX0saGFzU2Nyb2xsOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5o
ZWlnaHQoKTx0aGlzLmVsZW1lbnRbYS5mbi5wcm9wPyJwcm9wIjoiYXR0ciJdKCJzY3JvbGxIZWln
aHQiKX0sc2VsZWN0OmZ1bmN0aW9uKGMpe3RoaXMuX3RyaWdnZXIoInNlbGVjdGVkIixjLHtpdGVt
OnRoaXMuYWN0aXZlfSl9fSl9KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxoLGc9
ZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLmZpbmQoIjp1aS1idXR0b24iKTtzZXRUaW1lb3V0KGZ1
bmN0aW9uKCl7Yi5idXR0b24oInJlZnJlc2giKX0sMSl9LGk9ZnVuY3Rpb24oYil7dmFyIGY9Yi5u
YW1lLGo9Yi5mb3JtLGw9YShbXSk7aWYoZilsPWo/YShqKS5maW5kKCJbbmFtZT0nIitmKyInXSIp
OmEoIltuYW1lPSciK2YrIiddIixiLm93bmVyRG9jdW1lbnQpLmZpbHRlcihmdW5jdGlvbigpe3Jl
dHVybiF0aGlzLmZvcm19KTtyZXR1cm4gbH07YS53aWRnZXQoInVpLmJ1dHRvbiIse29wdGlvbnM6
e2Rpc2FibGVkOm51bGwsdGV4dDp0cnVlLGxhYmVsOm51bGwsaWNvbnM6e3ByaW1hcnk6bnVsbCxz
ZWNvbmRhcnk6bnVsbH19LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuY2xvc2VzdCgi
Zm9ybSIpLnVuYmluZCgicmVzZXQuYnV0dG9uIikuYmluZCgicmVzZXQuYnV0dG9uIixnKTtpZih0
eXBlb2YgdGhpcy5vcHRpb25zLmRpc2FibGVkIT09Ci0iYm9vbGVhbiIpdGhpcy5vcHRpb25zLmRp
c2FibGVkPXRoaXMuZWxlbWVudC5wcm9wQXR0cigiZGlzYWJsZWQiKTt0aGlzLl9kZXRlcm1pbmVC
dXR0b25UeXBlKCk7dGhpcy5oYXNUaXRsZT0hIXRoaXMuYnV0dG9uRWxlbWVudC5hdHRyKCJ0aXRs
ZSIpO3ZhciBiPXRoaXMsZj10aGlzLm9wdGlvbnMsaj10aGlzLnR5cGU9PT0iY2hlY2tib3gifHx0
aGlzLnR5cGU9PT0icmFkaW8iLGw9InVpLXN0YXRlLWhvdmVyIisoIWo/IiB1aS1zdGF0ZS1hY3Rp
dmUiOiIiKTtpZihmLmxhYmVsPT09bnVsbClmLmxhYmVsPXRoaXMuYnV0dG9uRWxlbWVudC5odG1s
KCk7aWYodGhpcy5lbGVtZW50LmlzKCI6ZGlzYWJsZWQiKSlmLmRpc2FibGVkPXRydWU7dGhpcy5i
dXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1
bHQgdWktY29ybmVyLWFsbCIpLmF0dHIoInJvbGUiLCJidXR0b24iKS5iaW5kKCJtb3VzZWVudGVy
LmJ1dHRvbiIsZnVuY3Rpb24oKXtpZighZi5kaXNhYmxlZCl7YSh0aGlzKS5hZGRDbGFzcygidWkt
c3RhdGUtaG92ZXIiKTsKLXRoaXM9PT1jJiZhKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3Rp
dmUiKX19KS5iaW5kKCJtb3VzZWxlYXZlLmJ1dHRvbiIsZnVuY3Rpb24oKXtmLmRpc2FibGVkfHxh
KHRoaXMpLnJlbW92ZUNsYXNzKGwpfSkuYmluZCgiY2xpY2suYnV0dG9uIixmdW5jdGlvbihvKXtp
ZihmLmRpc2FibGVkKXtvLnByZXZlbnREZWZhdWx0KCk7by5zdG9wSW1tZWRpYXRlUHJvcGFnYXRp
b24oKX19KTt0aGlzLmVsZW1lbnQuYmluZCgiZm9jdXMuYnV0dG9uIixmdW5jdGlvbigpe2IuYnV0
dG9uRWxlbWVudC5hZGRDbGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmJpbmQoImJsdXIuYnV0dG9u
IixmdW5jdGlvbigpe2IuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMi
KX0pO2lmKGope3RoaXMuZWxlbWVudC5iaW5kKCJjaGFuZ2UuYnV0dG9uIixmdW5jdGlvbigpe2h8
fGIucmVmcmVzaCgpfSk7dGhpcy5idXR0b25FbGVtZW50LmJpbmQoIm1vdXNlZG93bi5idXR0b24i
LGZ1bmN0aW9uKG8pe2lmKCFmLmRpc2FibGVkKXtoPQotZmFsc2U7ZD1vLnBhZ2VYO2U9by5wYWdl
WX19KS5iaW5kKCJtb3VzZXVwLmJ1dHRvbiIsZnVuY3Rpb24obyl7aWYoIWYuZGlzYWJsZWQpaWYo
ZCE9PW8ucGFnZVh8fGUhPT1vLnBhZ2VZKWg9dHJ1ZX0pfWlmKHRoaXMudHlwZT09PSJjaGVja2Jv
eCIpdGhpcy5idXR0b25FbGVtZW50LmJpbmQoImNsaWNrLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihm
LmRpc2FibGVkfHxoKXJldHVybiBmYWxzZTthKHRoaXMpLnRvZ2dsZUNsYXNzKCJ1aS1zdGF0ZS1h
Y3RpdmUiKTtiLmJ1dHRvbkVsZW1lbnQuYXR0cigiYXJpYS1wcmVzc2VkIixiLmVsZW1lbnRbMF0u
Y2hlY2tlZCl9KTtlbHNlIGlmKHRoaXMudHlwZT09PSJyYWRpbyIpdGhpcy5idXR0b25FbGVtZW50
LmJpbmQoImNsaWNrLmJ1dHRvbiIsZnVuY3Rpb24oKXtpZihmLmRpc2FibGVkfHxoKXJldHVybiBm
YWxzZTthKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTtiLmJ1dHRvbkVsZW1lbnQu
YXR0cigiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpOwotdmFyIG89Yi5lbGVtZW50WzBdO2kobykubm90
KG8pLm1hcChmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5y
ZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwiZmFsc2Ui
KX0pO2Vsc2V7dGhpcy5idXR0b25FbGVtZW50LmJpbmQoIm1vdXNlZG93bi5idXR0b24iLGZ1bmN0
aW9uKCl7aWYoZi5kaXNhYmxlZClyZXR1cm4gZmFsc2U7YSh0aGlzKS5hZGRDbGFzcygidWktc3Rh
dGUtYWN0aXZlIik7Yz10aGlzO2EoZG9jdW1lbnQpLm9uZSgibW91c2V1cCIsZnVuY3Rpb24oKXtj
PW51bGx9KX0pLmJpbmQoIm1vdXNldXAuYnV0dG9uIixmdW5jdGlvbigpe2lmKGYuZGlzYWJsZWQp
cmV0dXJuIGZhbHNlO2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSkuYmlu
ZCgia2V5ZG93bi5idXR0b24iLGZ1bmN0aW9uKG8pe2lmKGYuZGlzYWJsZWQpcmV0dXJuIGZhbHNl
O2lmKG8ua2V5Q29kZT09YS51aS5rZXlDb2RlLlNQQUNFfHwKLW8ua2V5Q29kZT09YS51aS5rZXlD
b2RlLkVOVEVSKWEodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSkuYmluZCgia2V5
dXAuYnV0dG9uIixmdW5jdGlvbigpe2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2
ZSIpfSk7dGhpcy5idXR0b25FbGVtZW50LmlzKCJhIikmJnRoaXMuYnV0dG9uRWxlbWVudC5rZXl1
cChmdW5jdGlvbihvKXtvLmtleUNvZGU9PT1hLnVpLmtleUNvZGUuU1BBQ0UmJmEodGhpcykuY2xp
Y2soKX0pfXRoaXMuX3NldE9wdGlvbigiZGlzYWJsZWQiLGYuZGlzYWJsZWQpO3RoaXMuX3Jlc2V0
QnV0dG9uKCl9LF9kZXRlcm1pbmVCdXR0b25UeXBlOmZ1bmN0aW9uKCl7dGhpcy50eXBlPXRoaXMu
ZWxlbWVudC5pcygiOmNoZWNrYm94Iik/ImNoZWNrYm94Ijp0aGlzLmVsZW1lbnQuaXMoIjpyYWRp
byIpPyJyYWRpbyI6dGhpcy5lbGVtZW50LmlzKCJpbnB1dCIpPyJpbnB1dCI6ImJ1dHRvbiI7aWYo
dGhpcy50eXBlPT09ImNoZWNrYm94Inx8dGhpcy50eXBlPT09Ci0icmFkaW8iKXt2YXIgYj10aGlz
LmVsZW1lbnQucGFyZW50cygpLmZpbHRlcigiOmxhc3QiKSxmPSJsYWJlbFtmb3I9Iit0aGlzLmVs
ZW1lbnQuYXR0cigiaWQiKSsiXSI7dGhpcy5idXR0b25FbGVtZW50PWIuZmluZChmKTtpZighdGhp
cy5idXR0b25FbGVtZW50Lmxlbmd0aCl7Yj1iLmxlbmd0aD9iLnNpYmxpbmdzKCk6dGhpcy5lbGVt
ZW50LnNpYmxpbmdzKCk7dGhpcy5idXR0b25FbGVtZW50PWIuZmlsdGVyKGYpO2lmKCF0aGlzLmJ1
dHRvbkVsZW1lbnQubGVuZ3RoKXRoaXMuYnV0dG9uRWxlbWVudD1iLmZpbmQoZil9dGhpcy5lbGVt
ZW50LmFkZENsYXNzKCJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiKTsoYj10aGlzLmVsZW1l
bnQuaXMoIjpjaGVja2VkIikpJiZ0aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRl
LWFjdGl2ZSIpO3RoaXMuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLGIpfWVsc2Ug
dGhpcy5idXR0b25FbGVtZW50PXRoaXMuZWxlbWVudH0sCi13aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1
cm4gdGhpcy5idXR0b25FbGVtZW50fSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJl
bW92ZUNsYXNzKCJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiKTt0aGlzLmJ1dHRvbkVsZW1l
bnQucmVtb3ZlQ2xhc3MoInVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1j
b3JuZXItYWxsIHVpLXN0YXRlLWhvdmVyIHVpLXN0YXRlLWFjdGl2ZSAgdWktYnV0dG9uLWljb25z
LW9ubHkgdWktYnV0dG9uLWljb24tb25seSB1aS1idXR0b24tdGV4dC1pY29ucyB1aS1idXR0b24t
dGV4dC1pY29uLXByaW1hcnkgdWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgdWktYnV0dG9u
LXRleHQtb25seSIpLnJlbW92ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLXByZXNzZWQi
KS5odG1sKHRoaXMuYnV0dG9uRWxlbWVudC5maW5kKCIudWktYnV0dG9uLXRleHQiKS5odG1sKCkp
O3RoaXMuaGFzVGl0bGV8fHRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVBdHRyKCJ0aXRsZSIpOwot
YS5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0sX3NldE9wdGlvbjpmdW5jdGlv
bihiLGYpe2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRz
KTtpZihiPT09ImRpc2FibGVkIilmP3RoaXMuZWxlbWVudC5wcm9wQXR0cigiZGlzYWJsZWQiLHRy
dWUpOnRoaXMuZWxlbWVudC5wcm9wQXR0cigiZGlzYWJsZWQiLGZhbHNlKTtlbHNlIHRoaXMuX3Jl
c2V0QnV0dG9uKCl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmVsZW1lbnQuaXMoIjpk
aXNhYmxlZCIpO2IhPT10aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuX3NldE9wdGlvbigiZGlz
YWJsZWQiLGIpO2lmKHRoaXMudHlwZT09PSJyYWRpbyIpaSh0aGlzLmVsZW1lbnRbMF0pLmVhY2go
ZnVuY3Rpb24oKXthKHRoaXMpLmlzKCI6Y2hlY2tlZCIpP2EodGhpcykuYnV0dG9uKCJ3aWRnZXQi
KS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwKLSJ0cnVl
Iik6YSh0aGlzKS5idXR0b24oIndpZGdldCIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUi
KS5hdHRyKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpfSk7ZWxzZSBpZih0aGlzLnR5cGU9PT0iY2hl
Y2tib3giKXRoaXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKT90aGlzLmJ1dHRvbkVsZW1lbnQuYWRk
Q2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsInRydWUiKTp0aGlz
LmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEt
cHJlc3NlZCIsImZhbHNlIil9LF9yZXNldEJ1dHRvbjpmdW5jdGlvbigpe2lmKHRoaXMudHlwZT09
PSJpbnB1dCIpdGhpcy5vcHRpb25zLmxhYmVsJiZ0aGlzLmVsZW1lbnQudmFsKHRoaXMub3B0aW9u
cy5sYWJlbCk7ZWxzZXt2YXIgYj10aGlzLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWJ1
dHRvbi1pY29ucy1vbmx5IHVpLWJ1dHRvbi1pY29uLW9ubHkgdWktYnV0dG9uLXRleHQtaWNvbnMg
dWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IHVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5
IHVpLWJ1dHRvbi10ZXh0LW9ubHkiKSwKLWY9YSgiPHNwYW4+PC9zcGFuPiIpLmFkZENsYXNzKCJ1
aS1idXR0b24tdGV4dCIpLmh0bWwodGhpcy5vcHRpb25zLmxhYmVsKS5hcHBlbmRUbyhiLmVtcHR5
KCkpLnRleHQoKSxqPXRoaXMub3B0aW9ucy5pY29ucyxsPWoucHJpbWFyeSYmai5zZWNvbmRhcnks
bz1bXTtpZihqLnByaW1hcnl8fGouc2Vjb25kYXJ5KXtpZih0aGlzLm9wdGlvbnMudGV4dClvLnB1
c2goInVpLWJ1dHRvbi10ZXh0LWljb24iKyhsPyJzIjpqLnByaW1hcnk/Ii1wcmltYXJ5IjoiLXNl
Y29uZGFyeSIpKTtqLnByaW1hcnkmJmIucHJlcGVuZCgiPHNwYW4gY2xhc3M9J3VpLWJ1dHRvbi1p
Y29uLXByaW1hcnkgdWktaWNvbiAiK2oucHJpbWFyeSsiJz48L3NwYW4+Iik7ai5zZWNvbmRhcnkm
JmIuYXBwZW5kKCI8c3BhbiBjbGFzcz0ndWktYnV0dG9uLWljb24tc2Vjb25kYXJ5IHVpLWljb24g
IitqLnNlY29uZGFyeSsiJz48L3NwYW4+Iik7aWYoIXRoaXMub3B0aW9ucy50ZXh0KXtvLnB1c2go
bD8idWktYnV0dG9uLWljb25zLW9ubHkiOgotInVpLWJ1dHRvbi1pY29uLW9ubHkiKTt0aGlzLmhh
c1RpdGxlfHxiLmF0dHIoInRpdGxlIixmKX19ZWxzZSBvLnB1c2goInVpLWJ1dHRvbi10ZXh0LW9u
bHkiKTtiLmFkZENsYXNzKG8uam9pbigiICIpKX19fSk7YS53aWRnZXQoInVpLmJ1dHRvbnNldCIs
e29wdGlvbnM6e2l0ZW1zOiI6YnV0dG9uLCA6c3VibWl0LCA6cmVzZXQsIDpjaGVja2JveCwgOnJh
ZGlvLCBhLCA6ZGF0YShidXR0b24pIn0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5h
ZGRDbGFzcygidWktYnV0dG9uc2V0Iil9LF9pbml0OmZ1bmN0aW9uKCl7dGhpcy5yZWZyZXNoKCl9
LF9zZXRPcHRpb246ZnVuY3Rpb24oYixmKXtiPT09ImRpc2FibGVkIiYmdGhpcy5idXR0b25zLmJ1
dHRvbigib3B0aW9uIixiLGYpO2EuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRo
aXMsYXJndW1lbnRzKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuZWxlbWVudC5jc3Mo
ImRpcmVjdGlvbiIpPT09Ci0ibHRyIjt0aGlzLmJ1dHRvbnM9dGhpcy5lbGVtZW50LmZpbmQodGhp
cy5vcHRpb25zLml0ZW1zKS5maWx0ZXIoIjp1aS1idXR0b24iKS5idXR0b24oInJlZnJlc2giKS5l
bmQoKS5ub3QoIjp1aS1idXR0b24iKS5idXR0b24oKS5lbmQoKS5tYXAoZnVuY3Rpb24oKXtyZXR1
cm4gYSh0aGlzKS5idXR0b24oIndpZGdldCIpWzBdfSkucmVtb3ZlQ2xhc3MoInVpLWNvcm5lci1h
bGwgdWktY29ybmVyLWxlZnQgdWktY29ybmVyLXJpZ2h0IikuZmlsdGVyKCI6Zmlyc3QiKS5hZGRD
bGFzcyhiPyJ1aS1jb3JuZXItbGVmdCI6InVpLWNvcm5lci1yaWdodCIpLmVuZCgpLmZpbHRlcigi
Omxhc3QiKS5hZGRDbGFzcyhiPyJ1aS1jb3JuZXItcmlnaHQiOiJ1aS1jb3JuZXItbGVmdCIpLmVu
ZCgpLmVuZCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1
aS1idXR0b25zZXQiKTt0aGlzLmJ1dHRvbnMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcyku
YnV0dG9uKCJ3aWRnZXQiKVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItbGVmdCB1aS1jb3Ju
ZXItcmlnaHQiKS5lbmQoKS5idXR0b24oImRlc3Ryb3kiKTsKLWEuV2lkZ2V0LnByb3RvdHlwZS5k
ZXN0cm95LmNhbGwodGhpcyl9fSl9KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24g
ZCgpe3RoaXMuZGVidWc9ZmFsc2U7dGhpcy5fY3VySW5zdD1udWxsO3RoaXMuX2tleUV2ZW50PWZh
bHNlO3RoaXMuX2Rpc2FibGVkSW5wdXRzPVtdO3RoaXMuX2luRGlhbG9nPXRoaXMuX2RhdGVwaWNr
ZXJTaG93aW5nPWZhbHNlO3RoaXMuX21haW5EaXZJZD0idWktZGF0ZXBpY2tlci1kaXYiO3RoaXMu
X2lubGluZUNsYXNzPSJ1aS1kYXRlcGlja2VyLWlubGluZSI7dGhpcy5fYXBwZW5kQ2xhc3M9InVp
LWRhdGVwaWNrZXItYXBwZW5kIjt0aGlzLl90cmlnZ2VyQ2xhc3M9InVpLWRhdGVwaWNrZXItdHJp
Z2dlciI7dGhpcy5fZGlhbG9nQ2xhc3M9InVpLWRhdGVwaWNrZXItZGlhbG9nIjt0aGlzLl9kaXNh
YmxlQ2xhc3M9InVpLWRhdGVwaWNrZXItZGlzYWJsZWQiO3RoaXMuX3Vuc2VsZWN0YWJsZUNsYXNz
PSJ1aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSI7dGhpcy5fY3VycmVudENsYXNzPSJ1aS1kYXRl
cGlja2VyLWN1cnJlbnQtZGF5Ijt0aGlzLl9kYXlPdmVyQ2xhc3M9Ci0idWktZGF0ZXBpY2tlci1k
YXlzLWNlbGwtb3ZlciI7dGhpcy5yZWdpb25hbD1bXTt0aGlzLnJlZ2lvbmFsWyIiXT17Y2xvc2VU
ZXh0OiJEb25lIixwcmV2VGV4dDoiUHJldiIsbmV4dFRleHQ6Ik5leHQiLGN1cnJlbnRUZXh0OiJU
b2RheSIsbW9udGhOYW1lczpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJN
YXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJl
ciIsIkRlY2VtYmVyIl0sbW9udGhOYW1lc1Nob3J0OlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwi
TWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sZGF5TmFtZXM6
WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlk
YXkiLCJTYXR1cmRheSJdLGRheU5hbWVzU2hvcnQ6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJU
aHUiLCJGcmkiLCJTYXQiXSxkYXlOYW1lc01pbjpbIlN1IiwKLSJNbyIsIlR1IiwiV2UiLCJUaCIs
IkZyIiwiU2EiXSx3ZWVrSGVhZGVyOiJXayIsZGF0ZUZvcm1hdDoibW0vZGQveXkiLGZpcnN0RGF5
OjAsaXNSVEw6ZmFsc2Usc2hvd01vbnRoQWZ0ZXJZZWFyOmZhbHNlLHllYXJTdWZmaXg6IiJ9O3Ro
aXMuX2RlZmF1bHRzPXtzaG93T246ImZvY3VzIixzaG93QW5pbToiZmFkZUluIixzaG93T3B0aW9u
czp7fSxkZWZhdWx0RGF0ZTpudWxsLGFwcGVuZFRleHQ6IiIsYnV0dG9uVGV4dDoiLi4uIixidXR0
b25JbWFnZToiIixidXR0b25JbWFnZU9ubHk6ZmFsc2UsaGlkZUlmTm9QcmV2TmV4dDpmYWxzZSxu
YXZpZ2F0aW9uQXNEYXRlRm9ybWF0OmZhbHNlLGdvdG9DdXJyZW50OmZhbHNlLGNoYW5nZU1vbnRo
OmZhbHNlLGNoYW5nZVllYXI6ZmFsc2UseWVhclJhbmdlOiJjLTEwOmMrMTAiLHNob3dPdGhlck1v
bnRoczpmYWxzZSxzZWxlY3RPdGhlck1vbnRoczpmYWxzZSxzaG93V2VlazpmYWxzZSxjYWxjdWxh
dGVXZWVrOnRoaXMuaXNvODYwMVdlZWssc2hvcnRZZWFyQ3V0b2ZmOiIrMTAiLAotbWluRGF0ZTpu
dWxsLG1heERhdGU6bnVsbCxkdXJhdGlvbjoiZmFzdCIsYmVmb3JlU2hvd0RheTpudWxsLGJlZm9y
ZVNob3c6bnVsbCxvblNlbGVjdDpudWxsLG9uQ2hhbmdlTW9udGhZZWFyOm51bGwsb25DbG9zZTpu
dWxsLG51bWJlck9mTW9udGhzOjEsc2hvd0N1cnJlbnRBdFBvczowLHN0ZXBNb250aHM6MSxzdGVw
QmlnTW9udGhzOjEyLGFsdEZpZWxkOiIiLGFsdEZvcm1hdDoiIixjb25zdHJhaW5JbnB1dDp0cnVl
LHNob3dCdXR0b25QYW5lbDpmYWxzZSxhdXRvU2l6ZTpmYWxzZSxkaXNhYmxlZDpmYWxzZX07YS5l
eHRlbmQodGhpcy5fZGVmYXVsdHMsdGhpcy5yZWdpb25hbFsiIl0pO3RoaXMuZHBEaXY9ZShhKCc8
ZGl2IGlkPSInK3RoaXMuX21haW5EaXZJZCsnIiBjbGFzcz0idWktZGF0ZXBpY2tlciB1aS13aWRn
ZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci1hbGwiPjwv
ZGl2PicpKX1mdW5jdGlvbiBlKGIpe3JldHVybiBiLmJpbmQoIm1vdXNlb3V0IiwKLWZ1bmN0aW9u
KGYpe2Y9YShmLnRhcmdldCkuY2xvc2VzdCgiYnV0dG9uLCAudWktZGF0ZXBpY2tlci1wcmV2LCAu
dWktZGF0ZXBpY2tlci1uZXh0LCAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhIik7Zi5sZW5n
dGgmJmYucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIHVpLWRhdGVwaWNrZXItcHJldi1ob3Zl
ciB1aS1kYXRlcGlja2VyLW5leHQtaG92ZXIiKX0pLmJpbmQoIm1vdXNlb3ZlciIsZnVuY3Rpb24o
Zil7Zj1hKGYudGFyZ2V0KS5jbG9zZXN0KCJidXR0b24sIC51aS1kYXRlcGlja2VyLXByZXYsIC51
aS1kYXRlcGlja2VyLW5leHQsIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIGEiKTtpZighKGEu
ZGF0ZXBpY2tlci5faXNEaXNhYmxlZERhdGVwaWNrZXIoaS5pbmxpbmU/Yi5wYXJlbnQoKVswXTpp
LmlucHV0WzBdKXx8IWYubGVuZ3RoKSl7Zi5wYXJlbnRzKCIudWktZGF0ZXBpY2tlci1jYWxlbmRh
ciIpLmZpbmQoImEiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKTsKLWYuYWRkQ2xhc3Mo
InVpLXN0YXRlLWhvdmVyIik7Zi5oYXNDbGFzcygidWktZGF0ZXBpY2tlci1wcmV2IikmJmYuYWRk
Q2xhc3MoInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIpO2YuaGFzQ2xhc3MoInVpLWRhdGVwaWNr
ZXItbmV4dCIpJiZmLmFkZENsYXNzKCJ1aS1kYXRlcGlja2VyLW5leHQtaG92ZXIiKX19KX1mdW5j
dGlvbiBoKGIsZil7YS5leHRlbmQoYixmKTtmb3IodmFyIGogaW4gZilpZihmW2pdPT1udWxsfHxm
W2pdPT1jKWJbal09ZltqXTtyZXR1cm4gYn1hLmV4dGVuZChhLnVpLHtkYXRlcGlja2VyOnt2ZXJz
aW9uOiIxLjguMTUifX0pO3ZhciBnPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGk7YS5leHRlbmQoZC5w
cm90b3R5cGUse21hcmtlckNsYXNzTmFtZToiaGFzRGF0ZXBpY2tlciIsbWF4Um93czo0LGxvZzpm
dW5jdGlvbigpe3RoaXMuZGVidWcmJmNvbnNvbGUubG9nLmFwcGx5KCIiLGFyZ3VtZW50cyl9LF93
aWRnZXREYXRlcGlja2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZHBEaXZ9LAotc2V0RGVmYXVs
dHM6ZnVuY3Rpb24oYil7aCh0aGlzLl9kZWZhdWx0cyxifHx7fSk7cmV0dXJuIHRoaXN9LF9hdHRh
Y2hEYXRlcGlja2VyOmZ1bmN0aW9uKGIsZil7dmFyIGo9bnVsbDtmb3IodmFyIGwgaW4gdGhpcy5f
ZGVmYXVsdHMpe3ZhciBvPWIuZ2V0QXR0cmlidXRlKCJkYXRlOiIrbCk7aWYobyl7aj1qfHx7fTt0
cnl7altsXT1ldmFsKG8pfWNhdGNoKG4pe2pbbF09b319fWw9Yi5ub2RlTmFtZS50b0xvd2VyQ2Fz
ZSgpO289bD09ImRpdiJ8fGw9PSJzcGFuIjtpZighYi5pZCl7dGhpcy51dWlkKz0xO2IuaWQ9ImRw
Iit0aGlzLnV1aWR9dmFyIGs9dGhpcy5fbmV3SW5zdChhKGIpLG8pO2suc2V0dGluZ3M9YS5leHRl
bmQoe30sZnx8e30sanx8e30pO2lmKGw9PSJpbnB1dCIpdGhpcy5fY29ubmVjdERhdGVwaWNrZXIo
YixrKTtlbHNlIG8mJnRoaXMuX2lubGluZURhdGVwaWNrZXIoYixrKX0sX25ld0luc3Q6ZnVuY3Rp
b24oYixmKXtyZXR1cm57aWQ6YlswXS5pZC5yZXBsYWNlKC8oW15BLVphLXowLTlfLV0pL2csCi0i
XFxcXCQxIiksaW5wdXQ6YixzZWxlY3RlZERheTowLHNlbGVjdGVkTW9udGg6MCxzZWxlY3RlZFll
YXI6MCxkcmF3TW9udGg6MCxkcmF3WWVhcjowLGlubGluZTpmLGRwRGl2OiFmP3RoaXMuZHBEaXY6
ZShhKCc8ZGl2IGNsYXNzPSInK3RoaXMuX2lubGluZUNsYXNzKycgdWktZGF0ZXBpY2tlciB1aS13
aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci1hbGwi
PjwvZGl2PicpKX19LF9jb25uZWN0RGF0ZXBpY2tlcjpmdW5jdGlvbihiLGYpe3ZhciBqPWEoYik7
Zi5hcHBlbmQ9YShbXSk7Zi50cmlnZ2VyPWEoW10pO2lmKCFqLmhhc0NsYXNzKHRoaXMubWFya2Vy
Q2xhc3NOYW1lKSl7dGhpcy5fYXR0YWNobWVudHMoaixmKTtqLmFkZENsYXNzKHRoaXMubWFya2Vy
Q2xhc3NOYW1lKS5rZXlkb3duKHRoaXMuX2RvS2V5RG93bikua2V5cHJlc3ModGhpcy5fZG9LZXlQ
cmVzcykua2V5dXAodGhpcy5fZG9LZXlVcCkuYmluZCgic2V0RGF0YS5kYXRlcGlja2VyIiwKLWZ1
bmN0aW9uKGwsbyxuKXtmLnNldHRpbmdzW29dPW59KS5iaW5kKCJnZXREYXRhLmRhdGVwaWNrZXIi
LGZ1bmN0aW9uKGwsbyl7cmV0dXJuIHRoaXMuX2dldChmLG8pfSk7dGhpcy5fYXV0b1NpemUoZik7
YS5kYXRhKGIsImRhdGVwaWNrZXIiLGYpO2Yuc2V0dGluZ3MuZGlzYWJsZWQmJnRoaXMuX2Rpc2Fi
bGVEYXRlcGlja2VyKGIpfX0sX2F0dGFjaG1lbnRzOmZ1bmN0aW9uKGIsZil7dmFyIGo9dGhpcy5f
Z2V0KGYsImFwcGVuZFRleHQiKSxsPXRoaXMuX2dldChmLCJpc1JUTCIpO2YuYXBwZW5kJiZmLmFw
cGVuZC5yZW1vdmUoKTtpZihqKXtmLmFwcGVuZD1hKCc8c3BhbiBjbGFzcz0iJyt0aGlzLl9hcHBl
bmRDbGFzcysnIj4nK2orIjwvc3Bhbj4iKTtiW2w/ImJlZm9yZSI6ImFmdGVyIl0oZi5hcHBlbmQp
fWIudW5iaW5kKCJmb2N1cyIsdGhpcy5fc2hvd0RhdGVwaWNrZXIpO2YudHJpZ2dlciYmZi50cmln
Z2VyLnJlbW92ZSgpO2o9dGhpcy5fZ2V0KGYsInNob3dPbiIpO2lmKGo9PQotImZvY3VzInx8aj09
ImJvdGgiKWIuZm9jdXModGhpcy5fc2hvd0RhdGVwaWNrZXIpO2lmKGo9PSJidXR0b24ifHxqPT0i
Ym90aCIpe2o9dGhpcy5fZ2V0KGYsImJ1dHRvblRleHQiKTt2YXIgbz10aGlzLl9nZXQoZiwiYnV0
dG9uSW1hZ2UiKTtmLnRyaWdnZXI9YSh0aGlzLl9nZXQoZiwiYnV0dG9uSW1hZ2VPbmx5Iik/YSgi
PGltZy8+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5hdHRyKHtzcmM6byxhbHQ6aix0
aXRsZTpqfSk6YSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPicpLmFkZENsYXNzKHRo
aXMuX3RyaWdnZXJDbGFzcykuaHRtbChvPT0iIj9qOmEoIjxpbWcvPiIpLmF0dHIoe3NyYzpvLGFs
dDpqLHRpdGxlOmp9KSkpO2JbbD8iYmVmb3JlIjoiYWZ0ZXIiXShmLnRyaWdnZXIpO2YudHJpZ2dl
ci5jbGljayhmdW5jdGlvbigpe2EuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmEuZGF0
ZXBpY2tlci5fbGFzdElucHV0PT1iWzBdP2EuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKToK
LWEuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIoYlswXSk7cmV0dXJuIGZhbHNlfSl9fSxfYXV0
b1NpemU6ZnVuY3Rpb24oYil7aWYodGhpcy5fZ2V0KGIsImF1dG9TaXplIikmJiFiLmlubGluZSl7
dmFyIGY9bmV3IERhdGUoMjAwOSwxMSwyMCksaj10aGlzLl9nZXQoYiwiZGF0ZUZvcm1hdCIpO2lm
KGoubWF0Y2goL1tETV0vKSl7dmFyIGw9ZnVuY3Rpb24obyl7Zm9yKHZhciBuPTAsaz0wLG09MDtt
PG8ubGVuZ3RoO20rKylpZihvW21dLmxlbmd0aD5uKXtuPW9bbV0ubGVuZ3RoO2s9bX1yZXR1cm4g
a307Zi5zZXRNb250aChsKHRoaXMuX2dldChiLGoubWF0Y2goL01NLyk/Im1vbnRoTmFtZXMiOiJt
b250aE5hbWVzU2hvcnQiKSkpO2Yuc2V0RGF0ZShsKHRoaXMuX2dldChiLGoubWF0Y2goL0RELyk/
ImRheU5hbWVzIjoiZGF5TmFtZXNTaG9ydCIpKSsyMC1mLmdldERheSgpKX1iLmlucHV0LmF0dHIo
InNpemUiLHRoaXMuX2Zvcm1hdERhdGUoYixmKS5sZW5ndGgpfX0sX2lubGluZURhdGVwaWNrZXI6
ZnVuY3Rpb24oYiwKLWYpe3ZhciBqPWEoYik7aWYoIWouaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFz
c05hbWUpKXtqLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5hcHBlbmQoZi5kcERpdiku
YmluZCgic2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlvbihsLG8sbil7Zi5zZXR0aW5nc1tvXT1u
fSkuYmluZCgiZ2V0RGF0YS5kYXRlcGlja2VyIixmdW5jdGlvbihsLG8pe3JldHVybiB0aGlzLl9n
ZXQoZixvKX0pO2EuZGF0YShiLCJkYXRlcGlja2VyIixmKTt0aGlzLl9zZXREYXRlKGYsdGhpcy5f
Z2V0RGVmYXVsdERhdGUoZiksdHJ1ZSk7dGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihmKTt0aGlzLl91
cGRhdGVBbHRlcm5hdGUoZik7Zi5zZXR0aW5ncy5kaXNhYmxlZCYmdGhpcy5fZGlzYWJsZURhdGVw
aWNrZXIoYik7Zi5kcERpdi5jc3MoImRpc3BsYXkiLCJibG9jayIpfX0sX2RpYWxvZ0RhdGVwaWNr
ZXI6ZnVuY3Rpb24oYixmLGosbCxvKXtiPXRoaXMuX2RpYWxvZ0luc3Q7aWYoIWIpe3RoaXMudXVp
ZCs9Ci0xO3RoaXMuX2RpYWxvZ0lucHV0PWEoJzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iJysoImRw
Iit0aGlzLnV1aWQpKyciIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTEwMHB4OyB3
aWR0aDogMHB4OyB6LWluZGV4OiAtMTA7Ii8+Jyk7dGhpcy5fZGlhbG9nSW5wdXQua2V5ZG93bih0
aGlzLl9kb0tleURvd24pO2EoImJvZHkiKS5hcHBlbmQodGhpcy5fZGlhbG9nSW5wdXQpO2I9dGhp
cy5fZGlhbG9nSW5zdD10aGlzLl9uZXdJbnN0KHRoaXMuX2RpYWxvZ0lucHV0LGZhbHNlKTtiLnNl
dHRpbmdzPXt9O2EuZGF0YSh0aGlzLl9kaWFsb2dJbnB1dFswXSwiZGF0ZXBpY2tlciIsYil9aChi
LnNldHRpbmdzLGx8fHt9KTtmPWYmJmYuY29uc3RydWN0b3I9PURhdGU/dGhpcy5fZm9ybWF0RGF0
ZShiLGYpOmY7dGhpcy5fZGlhbG9nSW5wdXQudmFsKGYpO3RoaXMuX3Bvcz1vP28ubGVuZ3RoP286
W28ucGFnZVgsby5wYWdlWV06bnVsbDtpZighdGhpcy5fcG9zKXRoaXMuX3Bvcz1bZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLwotMi0xMDArKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5zY3JvbGxMZWZ0fHxkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpLGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5jbGllbnRIZWlnaHQvMi0xNTArKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKV07dGhpcy5fZGlhbG9nSW5wdXQuY3Nz
KCJsZWZ0Iix0aGlzLl9wb3NbMF0rMjArInB4IikuY3NzKCJ0b3AiLHRoaXMuX3Bvc1sxXSsicHgi
KTtiLnNldHRpbmdzLm9uU2VsZWN0PWo7dGhpcy5faW5EaWFsb2c9dHJ1ZTt0aGlzLmRwRGl2LmFk
ZENsYXNzKHRoaXMuX2RpYWxvZ0NsYXNzKTt0aGlzLl9zaG93RGF0ZXBpY2tlcih0aGlzLl9kaWFs
b2dJbnB1dFswXSk7YS5ibG9ja1VJJiZhLmJsb2NrVUkodGhpcy5kcERpdik7YS5kYXRhKHRoaXMu
X2RpYWxvZ0lucHV0WzBdLCJkYXRlcGlja2VyIixiKTtyZXR1cm4gdGhpc30sX2Rlc3Ryb3lEYXRl
cGlja2VyOmZ1bmN0aW9uKGIpe3ZhciBmPQotYShiKSxqPWEuZGF0YShiLCJkYXRlcGlja2VyIik7
aWYoZi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3ZhciBsPWIubm9kZU5hbWUudG9M
b3dlckNhc2UoKTthLnJlbW92ZURhdGEoYiwiZGF0ZXBpY2tlciIpO2lmKGw9PSJpbnB1dCIpe2ou
YXBwZW5kLnJlbW92ZSgpO2oudHJpZ2dlci5yZW1vdmUoKTtmLnJlbW92ZUNsYXNzKHRoaXMubWFy
a2VyQ2xhc3NOYW1lKS51bmJpbmQoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tlcikudW5iaW5k
KCJrZXlkb3duIix0aGlzLl9kb0tleURvd24pLnVuYmluZCgia2V5cHJlc3MiLHRoaXMuX2RvS2V5
UHJlc3MpLnVuYmluZCgia2V5dXAiLHRoaXMuX2RvS2V5VXApfWVsc2UgaWYobD09ImRpdiJ8fGw9
PSJzcGFuIilmLnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5lbXB0eSgpfX0sX2Vu
YWJsZURhdGVwaWNrZXI6ZnVuY3Rpb24oYil7dmFyIGY9YShiKSxqPWEuZGF0YShiLCJkYXRlcGlj
a2VyIik7aWYoZi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpe3ZhciBsPQotYi5ub2Rl
TmFtZS50b0xvd2VyQ2FzZSgpO2lmKGw9PSJpbnB1dCIpe2IuZGlzYWJsZWQ9ZmFsc2U7ai50cmln
Z2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWQ9ZmFsc2V9
KS5lbmQoKS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToiMS4wIixjdXJzb3I6IiJ9KX1lbHNl
IGlmKGw9PSJkaXYifHxsPT0ic3BhbiIpe2Y9Zi5jaGlsZHJlbigiLiIrdGhpcy5faW5saW5lQ2xh
c3MpO2YuY2hpbGRyZW4oKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKTtmLmZpbmQo
InNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIiku
cmVtb3ZlQXR0cigiZGlzYWJsZWQiKX10aGlzLl9kaXNhYmxlZElucHV0cz1hLm1hcCh0aGlzLl9k
aXNhYmxlZElucHV0cyxmdW5jdGlvbihvKXtyZXR1cm4gbz09Yj9udWxsOm99KX19LF9kaXNhYmxl
RGF0ZXBpY2tlcjpmdW5jdGlvbihiKXt2YXIgZj1hKGIpLGo9YS5kYXRhKGIsCi0iZGF0ZXBpY2tl
ciIpO2lmKGYuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKXt2YXIgbD1iLm5vZGVOYW1l
LnRvTG93ZXJDYXNlKCk7aWYobD09ImlucHV0Iil7Yi5kaXNhYmxlZD10cnVlO2oudHJpZ2dlci5m
aWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPXRydWV9KS5lbmQo
KS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToiMC41IixjdXJzb3I6ImRlZmF1bHQifSl9ZWxz
ZSBpZihsPT0iZGl2Inx8bD09InNwYW4iKXtmPWYuY2hpbGRyZW4oIi4iK3RoaXMuX2lubGluZUNs
YXNzKTtmLmNoaWxkcmVuKCkuYWRkQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7Zi5maW5kKCJz
ZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciIpLmF0
dHIoImRpc2FibGVkIiwiZGlzYWJsZWQiKX10aGlzLl9kaXNhYmxlZElucHV0cz1hLm1hcCh0aGlz
Ll9kaXNhYmxlZElucHV0cyxmdW5jdGlvbihvKXtyZXR1cm4gbz09Ci1iP251bGw6b30pO3RoaXMu
X2Rpc2FibGVkSW5wdXRzW3RoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aF09Yn19LF9pc0Rpc2Fi
bGVkRGF0ZXBpY2tlcjpmdW5jdGlvbihiKXtpZighYilyZXR1cm4gZmFsc2U7Zm9yKHZhciBmPTA7
Zjx0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGg7ZisrKWlmKHRoaXMuX2Rpc2FibGVkSW5wdXRz
W2ZdPT1iKXJldHVybiB0cnVlO3JldHVybiBmYWxzZX0sX2dldEluc3Q6ZnVuY3Rpb24oYil7dHJ5
e3JldHVybiBhLmRhdGEoYiwiZGF0ZXBpY2tlciIpfWNhdGNoKGYpe3Rocm93Ik1pc3NpbmcgaW5z
dGFuY2UgZGF0YSBmb3IgdGhpcyBkYXRlcGlja2VyIjt9fSxfb3B0aW9uRGF0ZXBpY2tlcjpmdW5j
dGlvbihiLGYsail7dmFyIGw9dGhpcy5fZ2V0SW5zdChiKTtpZihhcmd1bWVudHMubGVuZ3RoPT0y
JiZ0eXBlb2YgZj09InN0cmluZyIpcmV0dXJuIGY9PSJkZWZhdWx0cyI/YS5leHRlbmQoe30sYS5k
YXRlcGlja2VyLl9kZWZhdWx0cyk6bD9mPT0iYWxsIj8KLWEuZXh0ZW5kKHt9LGwuc2V0dGluZ3Mp
OnRoaXMuX2dldChsLGYpOm51bGw7dmFyIG89Znx8e307aWYodHlwZW9mIGY9PSJzdHJpbmciKXtv
PXt9O29bZl09an1pZihsKXt0aGlzLl9jdXJJbnN0PT1sJiZ0aGlzLl9oaWRlRGF0ZXBpY2tlcigp
O3ZhciBuPXRoaXMuX2dldERhdGVEYXRlcGlja2VyKGIsdHJ1ZSksaz10aGlzLl9nZXRNaW5NYXhE
YXRlKGwsIm1pbiIpLG09dGhpcy5fZ2V0TWluTWF4RGF0ZShsLCJtYXgiKTtoKGwuc2V0dGluZ3Ms
byk7aWYoayE9PW51bGwmJm8uZGF0ZUZvcm1hdCE9PWMmJm8ubWluRGF0ZT09PWMpbC5zZXR0aW5n
cy5taW5EYXRlPXRoaXMuX2Zvcm1hdERhdGUobCxrKTtpZihtIT09bnVsbCYmby5kYXRlRm9ybWF0
IT09YyYmby5tYXhEYXRlPT09YylsLnNldHRpbmdzLm1heERhdGU9dGhpcy5fZm9ybWF0RGF0ZShs
LG0pO3RoaXMuX2F0dGFjaG1lbnRzKGEoYiksbCk7dGhpcy5fYXV0b1NpemUobCk7dGhpcy5fc2V0
RGF0ZShsLG4pO3RoaXMuX3VwZGF0ZUFsdGVybmF0ZShsKTsKLXRoaXMuX3VwZGF0ZURhdGVwaWNr
ZXIobCl9fSxfY2hhbmdlRGF0ZXBpY2tlcjpmdW5jdGlvbihiLGYsail7dGhpcy5fb3B0aW9uRGF0
ZXBpY2tlcihiLGYsail9LF9yZWZyZXNoRGF0ZXBpY2tlcjpmdW5jdGlvbihiKXsoYj10aGlzLl9n
ZXRJbnN0KGIpKSYmdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihiKX0sX3NldERhdGVEYXRlcGlja2Vy
OmZ1bmN0aW9uKGIsZil7aWYoYj10aGlzLl9nZXRJbnN0KGIpKXt0aGlzLl9zZXREYXRlKGIsZik7
dGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihiKTt0aGlzLl91cGRhdGVBbHRlcm5hdGUoYil9fSxfZ2V0
RGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oYixmKXsoYj10aGlzLl9nZXRJbnN0KGIpKSYmIWIuaW5s
aW5lJiZ0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGIsZik7cmV0dXJuIGI/dGhpcy5fZ2V0RGF0ZShi
KTpudWxsfSxfZG9LZXlEb3duOmZ1bmN0aW9uKGIpe3ZhciBmPWEuZGF0ZXBpY2tlci5fZ2V0SW5z
dChiLnRhcmdldCksaj10cnVlLGw9Zi5kcERpdi5pcygiLnVpLWRhdGVwaWNrZXItcnRsIik7Ci1m
Ll9rZXlFdmVudD10cnVlO2lmKGEuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcpc3dpdGNo
KGIua2V5Q29kZSl7Y2FzZSA5OmEuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTtqPWZhbHNl
O2JyZWFrO2Nhc2UgMTM6aj1hKCJ0ZC4iK2EuZGF0ZXBpY2tlci5fZGF5T3ZlckNsYXNzKyI6bm90
KC4iK2EuZGF0ZXBpY2tlci5fY3VycmVudENsYXNzKyIpIixmLmRwRGl2KTtqWzBdJiZhLmRhdGVw
aWNrZXIuX3NlbGVjdERheShiLnRhcmdldCxmLnNlbGVjdGVkTW9udGgsZi5zZWxlY3RlZFllYXIs
alswXSk7aWYoYj1hLmRhdGVwaWNrZXIuX2dldChmLCJvblNlbGVjdCIpKXtqPWEuZGF0ZXBpY2tl
ci5fZm9ybWF0RGF0ZShmKTtiLmFwcGx5KGYuaW5wdXQ/Zi5pbnB1dFswXTpudWxsLFtqLGZdKX1l
bHNlIGEuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTtyZXR1cm4gZmFsc2U7Y2FzZSAyNzph
LmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7YnJlYWs7Y2FzZSAzMzphLmRhdGVwaWNrZXIu
X2FkanVzdERhdGUoYi50YXJnZXQsCi1iLmN0cmxLZXk/LWEuZGF0ZXBpY2tlci5fZ2V0KGYsInN0
ZXBCaWdNb250aHMiKTotYS5kYXRlcGlja2VyLl9nZXQoZiwic3RlcE1vbnRocyIpLCJNIik7YnJl
YWs7Y2FzZSAzNDphLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYi50YXJnZXQsYi5jdHJsS2V5Pyth
LmRhdGVwaWNrZXIuX2dldChmLCJzdGVwQmlnTW9udGhzIik6K2EuZGF0ZXBpY2tlci5fZ2V0KGYs
InN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgMzU6aWYoYi5jdHJsS2V5fHxiLm1ldGFLZXkp
YS5kYXRlcGlja2VyLl9jbGVhckRhdGUoYi50YXJnZXQpO2o9Yi5jdHJsS2V5fHxiLm1ldGFLZXk7
YnJlYWs7Y2FzZSAzNjppZihiLmN0cmxLZXl8fGIubWV0YUtleSlhLmRhdGVwaWNrZXIuX2dvdG9U
b2RheShiLnRhcmdldCk7aj1iLmN0cmxLZXl8fGIubWV0YUtleTticmVhaztjYXNlIDM3OmlmKGIu
Y3RybEtleXx8Yi5tZXRhS2V5KWEuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCxsPysx
Oi0xLCJEIik7aj0KLWIuY3RybEtleXx8Yi5tZXRhS2V5O2lmKGIub3JpZ2luYWxFdmVudC5hbHRL
ZXkpYS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGIudGFyZ2V0LGIuY3RybEtleT8tYS5kYXRlcGlj
a2VyLl9nZXQoZiwic3RlcEJpZ01vbnRocyIpOi1hLmRhdGVwaWNrZXIuX2dldChmLCJzdGVwTW9u
dGhzIiksIk0iKTticmVhaztjYXNlIDM4OmlmKGIuY3RybEtleXx8Yi5tZXRhS2V5KWEuZGF0ZXBp
Y2tlci5fYWRqdXN0RGF0ZShiLnRhcmdldCwtNywiRCIpO2o9Yi5jdHJsS2V5fHxiLm1ldGFLZXk7
YnJlYWs7Y2FzZSAzOTppZihiLmN0cmxLZXl8fGIubWV0YUtleSlhLmRhdGVwaWNrZXIuX2FkanVz
dERhdGUoYi50YXJnZXQsbD8tMTorMSwiRCIpO2o9Yi5jdHJsS2V5fHxiLm1ldGFLZXk7aWYoYi5v
cmlnaW5hbEV2ZW50LmFsdEtleSlhLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYi50YXJnZXQsYi5j
dHJsS2V5PythLmRhdGVwaWNrZXIuX2dldChmLCJzdGVwQmlnTW9udGhzIik6K2EuZGF0ZXBpY2tl
ci5fZ2V0KGYsCi0ic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSA0MDppZihiLmN0cmxLZXl8
fGIubWV0YUtleSlhLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoYi50YXJnZXQsKzcsIkQiKTtqPWIu
Y3RybEtleXx8Yi5tZXRhS2V5O2JyZWFrO2RlZmF1bHQ6aj1mYWxzZX1lbHNlIGlmKGIua2V5Q29k
ZT09MzYmJmIuY3RybEtleSlhLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKHRoaXMpO2Vsc2Ug
aj1mYWxzZTtpZihqKXtiLnByZXZlbnREZWZhdWx0KCk7Yi5zdG9wUHJvcGFnYXRpb24oKX19LF9k
b0tleVByZXNzOmZ1bmN0aW9uKGIpe3ZhciBmPWEuZGF0ZXBpY2tlci5fZ2V0SW5zdChiLnRhcmdl
dCk7aWYoYS5kYXRlcGlja2VyLl9nZXQoZiwiY29uc3RyYWluSW5wdXQiKSl7Zj1hLmRhdGVwaWNr
ZXIuX3Bvc3NpYmxlQ2hhcnMoYS5kYXRlcGlja2VyLl9nZXQoZiwiZGF0ZUZvcm1hdCIpKTt2YXIg
aj1TdHJpbmcuZnJvbUNoYXJDb2RlKGIuY2hhckNvZGU9PWM/Yi5rZXlDb2RlOmIuY2hhckNvZGUp
OwotcmV0dXJuIGIuY3RybEtleXx8Yi5tZXRhS2V5fHxqPCIgInx8IWZ8fGYuaW5kZXhPZihqKT4t
MX19LF9kb0tleVVwOmZ1bmN0aW9uKGIpe2I9YS5kYXRlcGlja2VyLl9nZXRJbnN0KGIudGFyZ2V0
KTtpZihiLmlucHV0LnZhbCgpIT1iLmxhc3RWYWwpdHJ5e2lmKGEuZGF0ZXBpY2tlci5wYXJzZURh
dGUoYS5kYXRlcGlja2VyLl9nZXQoYiwiZGF0ZUZvcm1hdCIpLGIuaW5wdXQ/Yi5pbnB1dC52YWwo
KTpudWxsLGEuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKGIpKSl7YS5kYXRlcGlja2VyLl9z
ZXREYXRlRnJvbUZpZWxkKGIpO2EuZGF0ZXBpY2tlci5fdXBkYXRlQWx0ZXJuYXRlKGIpO2EuZGF0
ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihiKX19Y2F0Y2goZil7YS5kYXRlcGlja2VyLmxvZyhm
KX1yZXR1cm4gdHJ1ZX0sX3Nob3dEYXRlcGlja2VyOmZ1bmN0aW9uKGIpe2I9Yi50YXJnZXR8fGI7
aWYoYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT0iaW5wdXQiKWI9YSgiaW5wdXQiLAotYi5wYXJl
bnROb2RlKVswXTtpZighKGEuZGF0ZXBpY2tlci5faXNEaXNhYmxlZERhdGVwaWNrZXIoYil8fGEu
ZGF0ZXBpY2tlci5fbGFzdElucHV0PT1iKSl7dmFyIGY9YS5kYXRlcGlja2VyLl9nZXRJbnN0KGIp
O2lmKGEuZGF0ZXBpY2tlci5fY3VySW5zdCYmYS5kYXRlcGlja2VyLl9jdXJJbnN0IT1mKXthLmRh
dGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZhLmRhdGVwaWNrZXIuX3RyaWdnZXJPbkNsb3Nl
KGEuZGF0ZXBpY2tlci5fY3VySW5zdCk7YS5kYXRlcGlja2VyLl9jdXJJbnN0LmRwRGl2LnN0b3Ao
dHJ1ZSx0cnVlKX12YXIgaj1hLmRhdGVwaWNrZXIuX2dldChmLCJiZWZvcmVTaG93Iik7aChmLnNl
dHRpbmdzLGo/ai5hcHBseShiLFtiLGZdKTp7fSk7Zi5sYXN0VmFsPW51bGw7YS5kYXRlcGlja2Vy
Ll9sYXN0SW5wdXQ9YjthLmRhdGVwaWNrZXIuX3NldERhdGVGcm9tRmllbGQoZik7aWYoYS5kYXRl
cGlja2VyLl9pbkRpYWxvZyliLnZhbHVlPSIiO2lmKCFhLmRhdGVwaWNrZXIuX3Bvcyl7YS5kYXRl
cGlja2VyLl9wb3M9Ci1hLmRhdGVwaWNrZXIuX2ZpbmRQb3MoYik7YS5kYXRlcGlja2VyLl9wb3Nb
MV0rPWIub2Zmc2V0SGVpZ2h0fXZhciBsPWZhbHNlO2EoYikucGFyZW50cygpLmVhY2goZnVuY3Rp
b24oKXtsfD1hKHRoaXMpLmNzcygicG9zaXRpb24iKT09ImZpeGVkIjtyZXR1cm4hbH0pO2lmKGwm
JmEuYnJvd3Nlci5vcGVyYSl7YS5kYXRlcGlja2VyLl9wb3NbMF0tPWRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5zY3JvbGxMZWZ0O2EuZGF0ZXBpY2tlci5fcG9zWzFdLT1kb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuc2Nyb2xsVG9wfWo9e2xlZnQ6YS5kYXRlcGlja2VyLl9wb3NbMF0sdG9wOmEuZGF0
ZXBpY2tlci5fcG9zWzFdfTthLmRhdGVwaWNrZXIuX3Bvcz1udWxsO2YuZHBEaXYuZW1wdHkoKTtm
LmRwRGl2LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixkaXNwbGF5OiJibG9jayIsdG9wOiItMTAw
MHB4In0pO2EuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihmKTtqPWEuZGF0ZXBpY2tlci5f
Y2hlY2tPZmZzZXQoZiwKLWosbCk7Zi5kcERpdi5jc3Moe3Bvc2l0aW9uOmEuZGF0ZXBpY2tlci5f
aW5EaWFsb2cmJmEuYmxvY2tVST8ic3RhdGljIjpsPyJmaXhlZCI6ImFic29sdXRlIixkaXNwbGF5
OiJub25lIixsZWZ0OmoubGVmdCsicHgiLHRvcDpqLnRvcCsicHgifSk7aWYoIWYuaW5saW5lKXtq
PWEuZGF0ZXBpY2tlci5fZ2V0KGYsInNob3dBbmltIik7dmFyIG89YS5kYXRlcGlja2VyLl9nZXQo
ZiwiZHVyYXRpb24iKSxuPWZ1bmN0aW9uKCl7dmFyIGs9Zi5kcERpdi5maW5kKCJpZnJhbWUudWkt
ZGF0ZXBpY2tlci1jb3ZlciIpO2lmKGsubGVuZ3RoKXt2YXIgbT1hLmRhdGVwaWNrZXIuX2dldEJv
cmRlcnMoZi5kcERpdik7ay5jc3Moe2xlZnQ6LW1bMF0sdG9wOi1tWzFdLHdpZHRoOmYuZHBEaXYu
b3V0ZXJXaWR0aCgpLGhlaWdodDpmLmRwRGl2Lm91dGVySGVpZ2h0KCl9KX19O2YuZHBEaXYueklu
ZGV4KGEoYikuekluZGV4KCkrMSk7YS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZz10cnVl
O2EuZWZmZWN0cyYmCi1hLmVmZmVjdHNbal0/Zi5kcERpdi5zaG93KGosYS5kYXRlcGlja2VyLl9n
ZXQoZiwic2hvd09wdGlvbnMiKSxvLG4pOmYuZHBEaXZbanx8InNob3ciXShqP286bnVsbCxuKTtp
Zighanx8IW8pbigpO2YuaW5wdXQuaXMoIjp2aXNpYmxlIikmJiFmLmlucHV0LmlzKCI6ZGlzYWJs
ZWQiKSYmZi5pbnB1dC5mb2N1cygpO2EuZGF0ZXBpY2tlci5fY3VySW5zdD1mfX19LF91cGRhdGVE
YXRlcGlja2VyOmZ1bmN0aW9uKGIpe3RoaXMubWF4Um93cz00O3ZhciBmPWEuZGF0ZXBpY2tlci5f
Z2V0Qm9yZGVycyhiLmRwRGl2KTtpPWI7Yi5kcERpdi5lbXB0eSgpLmFwcGVuZCh0aGlzLl9nZW5l
cmF0ZUhUTUwoYikpO3ZhciBqPWIuZHBEaXYuZmluZCgiaWZyYW1lLnVpLWRhdGVwaWNrZXItY292
ZXIiKTtqLmxlbmd0aCYmai5jc3Moe2xlZnQ6LWZbMF0sdG9wOi1mWzFdLHdpZHRoOmIuZHBEaXYu
b3V0ZXJXaWR0aCgpLGhlaWdodDpiLmRwRGl2Lm91dGVySGVpZ2h0KCl9KTtiLmRwRGl2LmZpbmQo
Ii4iKwotdGhpcy5fZGF5T3ZlckNsYXNzKyIgYSIpLm1vdXNlb3ZlcigpO2Y9dGhpcy5fZ2V0TnVt
YmVyT2ZNb250aHMoYik7aj1mWzFdO2IuZHBEaXYucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXIt
bXVsdGktMiB1aS1kYXRlcGlja2VyLW11bHRpLTMgdWktZGF0ZXBpY2tlci1tdWx0aS00Iikud2lk
dGgoIiIpO2o+MSYmYi5kcERpdi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1tdWx0aS0iK2opLmNz
cygid2lkdGgiLDE3KmorImVtIik7Yi5kcERpdlsoZlswXSE9MXx8ZlsxXSE9MT8iYWRkIjoicmVt
b3ZlIikrIkNsYXNzIl0oInVpLWRhdGVwaWNrZXItbXVsdGkiKTtiLmRwRGl2Wyh0aGlzLl9nZXQo
YiwiaXNSVEwiKT8iYWRkIjoicmVtb3ZlIikrIkNsYXNzIl0oInVpLWRhdGVwaWNrZXItcnRsIik7
Yj09YS5kYXRlcGlja2VyLl9jdXJJbnN0JiZhLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5n
JiZiLmlucHV0JiZiLmlucHV0LmlzKCI6dmlzaWJsZSIpJiYhYi5pbnB1dC5pcygiOmRpc2FibGVk
IikmJgotYi5pbnB1dFswXSE9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmYi5pbnB1dC5mb2N1cygp
O2lmKGIueWVhcnNodG1sKXt2YXIgbD1iLnllYXJzaHRtbDtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7
bD09PWIueWVhcnNodG1sJiZiLnllYXJzaHRtbCYmYi5kcERpdi5maW5kKCJzZWxlY3QudWktZGF0
ZXBpY2tlci15ZWFyOmZpcnN0IikucmVwbGFjZVdpdGgoYi55ZWFyc2h0bWwpO2w9Yi55ZWFyc2h0
bWw9bnVsbH0sMCl9fSxfZ2V0Qm9yZGVyczpmdW5jdGlvbihiKXt2YXIgZj1mdW5jdGlvbihqKXty
ZXR1cm57dGhpbjoxLG1lZGl1bToyLHRoaWNrOjN9W2pdfHxqfTtyZXR1cm5bcGFyc2VGbG9hdChm
KGIuY3NzKCJib3JkZXItbGVmdC13aWR0aCIpKSkscGFyc2VGbG9hdChmKGIuY3NzKCJib3JkZXIt
dG9wLXdpZHRoIikpKV19LF9jaGVja09mZnNldDpmdW5jdGlvbihiLGYsail7dmFyIGw9Yi5kcERp
di5vdXRlcldpZHRoKCksbz1iLmRwRGl2Lm91dGVySGVpZ2h0KCksbj1iLmlucHV0P2IuaW5wdXQu
b3V0ZXJXaWR0aCgpOgotMCxrPWIuaW5wdXQ/Yi5pbnB1dC5vdXRlckhlaWdodCgpOjAsbT1kb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgrYShkb2N1bWVudCkuc2Nyb2xsTGVmdCgp
LHA9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCthKGRvY3VtZW50KS5zY3Jv
bGxUb3AoKTtmLmxlZnQtPXRoaXMuX2dldChiLCJpc1JUTCIpP2wtbjowO2YubGVmdC09aiYmZi5s
ZWZ0PT1iLmlucHV0Lm9mZnNldCgpLmxlZnQ/YShkb2N1bWVudCkuc2Nyb2xsTGVmdCgpOjA7Zi50
b3AtPWomJmYudG9wPT1iLmlucHV0Lm9mZnNldCgpLnRvcCtrP2EoZG9jdW1lbnQpLnNjcm9sbFRv
cCgpOjA7Zi5sZWZ0LT1NYXRoLm1pbihmLmxlZnQsZi5sZWZ0K2w+bSYmbT5sP01hdGguYWJzKGYu
bGVmdCtsLW0pOjApO2YudG9wLT1NYXRoLm1pbihmLnRvcCxmLnRvcCtvPnAmJnA+bz9NYXRoLmFi
cyhvK2spOjApO3JldHVybiBmfSxfZmluZFBvczpmdW5jdGlvbihiKXtmb3IodmFyIGY9dGhpcy5f
Z2V0KHRoaXMuX2dldEluc3QoYiksCi0iaXNSVEwiKTtiJiYoYi50eXBlPT0iaGlkZGVuInx8Yi5u
b2RlVHlwZSE9MXx8YS5leHByLmZpbHRlcnMuaGlkZGVuKGIpKTspYj1iW2Y/InByZXZpb3VzU2li
bGluZyI6Im5leHRTaWJsaW5nIl07Yj1hKGIpLm9mZnNldCgpO3JldHVybltiLmxlZnQsYi50b3Bd
fSxfdHJpZ2dlck9uQ2xvc2U6ZnVuY3Rpb24oYil7dmFyIGY9dGhpcy5fZ2V0KGIsIm9uQ2xvc2Ui
KTtpZihmKWYuYXBwbHkoYi5pbnB1dD9iLmlucHV0WzBdOm51bGwsW2IuaW5wdXQ/Yi5pbnB1dC52
YWwoKToiIixiXSl9LF9oaWRlRGF0ZXBpY2tlcjpmdW5jdGlvbihiKXt2YXIgZj10aGlzLl9jdXJJ
bnN0O2lmKCEoIWZ8fGImJmYhPWEuZGF0YShiLCJkYXRlcGlja2VyIikpKWlmKHRoaXMuX2RhdGVw
aWNrZXJTaG93aW5nKXtiPXRoaXMuX2dldChmLCJzaG93QW5pbSIpO3ZhciBqPXRoaXMuX2dldChm
LCJkdXJhdGlvbiIpLGw9ZnVuY3Rpb24oKXthLmRhdGVwaWNrZXIuX3RpZHlEaWFsb2coZik7dGhp
cy5fY3VySW5zdD0KLW51bGx9O2EuZWZmZWN0cyYmYS5lZmZlY3RzW2JdP2YuZHBEaXYuaGlkZShi
LGEuZGF0ZXBpY2tlci5fZ2V0KGYsInNob3dPcHRpb25zIiksaixsKTpmLmRwRGl2W2I9PSJzbGlk
ZURvd24iPyJzbGlkZVVwIjpiPT0iZmFkZUluIj8iZmFkZU91dCI6ImhpZGUiXShiP2o6bnVsbCxs
KTtifHxsKCk7YS5kYXRlcGlja2VyLl90cmlnZ2VyT25DbG9zZShmKTt0aGlzLl9kYXRlcGlja2Vy
U2hvd2luZz1mYWxzZTt0aGlzLl9sYXN0SW5wdXQ9bnVsbDtpZih0aGlzLl9pbkRpYWxvZyl7dGhp
cy5fZGlhbG9nSW5wdXQuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6IjAiLHRvcDoiLTEw
MHB4In0pO2lmKGEuYmxvY2tVSSl7YS51bmJsb2NrVUkoKTthKCJib2R5IikuYXBwZW5kKHRoaXMu
ZHBEaXYpfX10aGlzLl9pbkRpYWxvZz1mYWxzZX19LF90aWR5RGlhbG9nOmZ1bmN0aW9uKGIpe2Iu
ZHBEaXYucmVtb3ZlQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpLnVuYmluZCgiLnVpLWRhdGVwaWNr
ZXItY2FsZW5kYXIiKX0sCi1fY2hlY2tFeHRlcm5hbENsaWNrOmZ1bmN0aW9uKGIpe2lmKGEuZGF0
ZXBpY2tlci5fY3VySW5zdCl7Yj1hKGIudGFyZ2V0KTtiWzBdLmlkIT1hLmRhdGVwaWNrZXIuX21h
aW5EaXZJZCYmYi5wYXJlbnRzKCIjIithLmRhdGVwaWNrZXIuX21haW5EaXZJZCkubGVuZ3RoPT0w
JiYhYi5oYXNDbGFzcyhhLmRhdGVwaWNrZXIubWFya2VyQ2xhc3NOYW1lKSYmIWIuaGFzQ2xhc3Mo
YS5kYXRlcGlja2VyLl90cmlnZ2VyQ2xhc3MpJiZhLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93
aW5nJiYhKGEuZGF0ZXBpY2tlci5faW5EaWFsb2cmJmEuYmxvY2tVSSkmJmEuZGF0ZXBpY2tlci5f
aGlkZURhdGVwaWNrZXIoKX19LF9hZGp1c3REYXRlOmZ1bmN0aW9uKGIsZixqKXtiPWEoYik7dmFy
IGw9dGhpcy5fZ2V0SW5zdChiWzBdKTtpZighdGhpcy5faXNEaXNhYmxlZERhdGVwaWNrZXIoYlsw
XSkpe3RoaXMuX2FkanVzdEluc3REYXRlKGwsZisoaj09Ik0iP3RoaXMuX2dldChsLCJzaG93Q3Vy
cmVudEF0UG9zIik6Ci0wKSxqKTt0aGlzLl91cGRhdGVEYXRlcGlja2VyKGwpfX0sX2dvdG9Ub2Rh
eTpmdW5jdGlvbihiKXtiPWEoYik7dmFyIGY9dGhpcy5fZ2V0SW5zdChiWzBdKTtpZih0aGlzLl9n
ZXQoZiwiZ290b0N1cnJlbnQiKSYmZi5jdXJyZW50RGF5KXtmLnNlbGVjdGVkRGF5PWYuY3VycmVu
dERheTtmLmRyYXdNb250aD1mLnNlbGVjdGVkTW9udGg9Zi5jdXJyZW50TW9udGg7Zi5kcmF3WWVh
cj1mLnNlbGVjdGVkWWVhcj1mLmN1cnJlbnRZZWFyfWVsc2V7dmFyIGo9bmV3IERhdGU7Zi5zZWxl
Y3RlZERheT1qLmdldERhdGUoKTtmLmRyYXdNb250aD1mLnNlbGVjdGVkTW9udGg9ai5nZXRNb250
aCgpO2YuZHJhd1llYXI9Zi5zZWxlY3RlZFllYXI9ai5nZXRGdWxsWWVhcigpfXRoaXMuX25vdGlm
eUNoYW5nZShmKTt0aGlzLl9hZGp1c3REYXRlKGIpfSxfc2VsZWN0TW9udGhZZWFyOmZ1bmN0aW9u
KGIsZixqKXtiPWEoYik7dmFyIGw9dGhpcy5fZ2V0SW5zdChiWzBdKTtsWyJzZWxlY3RlZCIrKGo9
PSJNIj8KLSJNb250aCI6IlllYXIiKV09bFsiZHJhdyIrKGo9PSJNIj8iTW9udGgiOiJZZWFyIild
PXBhcnNlSW50KGYub3B0aW9uc1tmLnNlbGVjdGVkSW5kZXhdLnZhbHVlLDEwKTt0aGlzLl9ub3Rp
ZnlDaGFuZ2UobCk7dGhpcy5fYWRqdXN0RGF0ZShiKX0sX3NlbGVjdERheTpmdW5jdGlvbihiLGYs
aixsKXt2YXIgbz1hKGIpO2lmKCEoYShsKS5oYXNDbGFzcyh0aGlzLl91bnNlbGVjdGFibGVDbGFz
cyl8fHRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKG9bMF0pKSl7bz10aGlzLl9nZXRJbnN0KG9b
MF0pO28uc2VsZWN0ZWREYXk9by5jdXJyZW50RGF5PWEoImEiLGwpLmh0bWwoKTtvLnNlbGVjdGVk
TW9udGg9by5jdXJyZW50TW9udGg9ZjtvLnNlbGVjdGVkWWVhcj1vLmN1cnJlbnRZZWFyPWo7dGhp
cy5fc2VsZWN0RGF0ZShiLHRoaXMuX2Zvcm1hdERhdGUobyxvLmN1cnJlbnREYXksby5jdXJyZW50
TW9udGgsby5jdXJyZW50WWVhcikpfX0sX2NsZWFyRGF0ZTpmdW5jdGlvbihiKXtiPWEoYik7Ci10
aGlzLl9nZXRJbnN0KGJbMF0pO3RoaXMuX3NlbGVjdERhdGUoYiwiIil9LF9zZWxlY3REYXRlOmZ1
bmN0aW9uKGIsZil7Yj10aGlzLl9nZXRJbnN0KGEoYilbMF0pO2Y9ZiE9bnVsbD9mOnRoaXMuX2Zv
cm1hdERhdGUoYik7Yi5pbnB1dCYmYi5pbnB1dC52YWwoZik7dGhpcy5fdXBkYXRlQWx0ZXJuYXRl
KGIpO3ZhciBqPXRoaXMuX2dldChiLCJvblNlbGVjdCIpO2lmKGopai5hcHBseShiLmlucHV0P2Iu
aW5wdXRbMF06bnVsbCxbZixiXSk7ZWxzZSBiLmlucHV0JiZiLmlucHV0LnRyaWdnZXIoImNoYW5n
ZSIpO2lmKGIuaW5saW5lKXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoYik7ZWxzZXt0aGlzLl9oaWRl
RGF0ZXBpY2tlcigpO3RoaXMuX2xhc3RJbnB1dD1iLmlucHV0WzBdO2IuaW5wdXQuZm9jdXMoKTt0
aGlzLl9sYXN0SW5wdXQ9bnVsbH19LF91cGRhdGVBbHRlcm5hdGU6ZnVuY3Rpb24oYil7dmFyIGY9
dGhpcy5fZ2V0KGIsImFsdEZpZWxkIik7aWYoZil7dmFyIGo9dGhpcy5fZ2V0KGIsCi0iYWx0Rm9y
bWF0Iil8fHRoaXMuX2dldChiLCJkYXRlRm9ybWF0IiksbD10aGlzLl9nZXREYXRlKGIpLG89dGhp
cy5mb3JtYXREYXRlKGosbCx0aGlzLl9nZXRGb3JtYXRDb25maWcoYikpO2EoZikuZWFjaChmdW5j
dGlvbigpe2EodGhpcykudmFsKG8pfSl9fSxub1dlZWtlbmRzOmZ1bmN0aW9uKGIpe2I9Yi5nZXRE
YXkoKTtyZXR1cm5bYj4wJiZiPDYsIiJdfSxpc284NjAxV2VlazpmdW5jdGlvbihiKXtiPW5ldyBE
YXRlKGIuZ2V0VGltZSgpKTtiLnNldERhdGUoYi5nZXREYXRlKCkrNC0oYi5nZXREYXkoKXx8Nykp
O3ZhciBmPWIuZ2V0VGltZSgpO2Iuc2V0TW9udGgoMCk7Yi5zZXREYXRlKDEpO3JldHVybiBNYXRo
LmZsb29yKE1hdGgucm91bmQoKGYtYikvODY0RTUpLzcpKzF9LHBhcnNlRGF0ZTpmdW5jdGlvbihi
LGYsail7aWYoYj09bnVsbHx8Zj09bnVsbCl0aHJvdyJJbnZhbGlkIGFyZ3VtZW50cyI7Zj10eXBl
b2YgZj09Im9iamVjdCI/Zi50b1N0cmluZygpOmYrIiI7aWYoZj09Ci0iIilyZXR1cm4gbnVsbDt2
YXIgbD0oaj9qLnNob3J0WWVhckN1dG9mZjpudWxsKXx8dGhpcy5fZGVmYXVsdHMuc2hvcnRZZWFy
Q3V0b2ZmO2w9dHlwZW9mIGwhPSJzdHJpbmciP2w6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEw
MCtwYXJzZUludChsLDEwKTtmb3IodmFyIG89KGo/ai5kYXlOYW1lc1Nob3J0Om51bGwpfHx0aGlz
Ll9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LG49KGo/ai5kYXlOYW1lczpudWxsKXx8dGhpcy5fZGVm
YXVsdHMuZGF5TmFtZXMsaz0oaj9qLm1vbnRoTmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVs
dHMubW9udGhOYW1lc1Nob3J0LG09KGo/ai5tb250aE5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0
cy5tb250aE5hbWVzLHA9aj0tMSxxPS0xLHM9LTEscj1mYWxzZSx1PWZ1bmN0aW9uKHopeyh6PUgr
MTxiLmxlbmd0aCYmYi5jaGFyQXQoSCsxKT09eikmJkgrKztyZXR1cm4gen0sdj1mdW5jdGlvbih6
KXt2YXIgST11KHopO3o9bmV3IFJlZ0V4cCgiXlxcZHsxLCIrCi0oej09IkAiPzE0Ono9PSIhIj8y
MDp6PT0ieSImJkk/NDp6PT0ibyI/MzoyKSsifSIpO3o9Zi5zdWJzdHJpbmcoeSkubWF0Y2goeik7
aWYoIXopdGhyb3ciTWlzc2luZyBudW1iZXIgYXQgcG9zaXRpb24gIit5O3krPXpbMF0ubGVuZ3Ro
O3JldHVybiBwYXJzZUludCh6WzBdLDEwKX0sdz1mdW5jdGlvbih6LEksTil7ej1hLm1hcCh1KHop
P046SSxmdW5jdGlvbihELEUpe3JldHVybltbRSxEXV19KS5zb3J0KGZ1bmN0aW9uKEQsRSl7cmV0
dXJuLShEWzFdLmxlbmd0aC1FWzFdLmxlbmd0aCl9KTt2YXIgSj0tMTthLmVhY2goeixmdW5jdGlv
bihELEUpe0Q9RVsxXTtpZihmLnN1YnN0cih5LEQubGVuZ3RoKS50b0xvd2VyQ2FzZSgpPT1ELnRv
TG93ZXJDYXNlKCkpe0o9RVswXTt5Kz1ELmxlbmd0aDtyZXR1cm4gZmFsc2V9fSk7aWYoSiE9LTEp
cmV0dXJuIEorMTtlbHNlIHRocm93IlVua25vd24gbmFtZSBhdCBwb3NpdGlvbiAiK3k7fSx4PWZ1
bmN0aW9uKCl7aWYoZi5jaGFyQXQoeSkhPWIuY2hhckF0KEgpKXRocm93IlVuZXhwZWN0ZWQgbGl0
ZXJhbCBhdCBwb3NpdGlvbiAiKwoteTt5Kyt9LHk9MCxIPTA7SDxiLmxlbmd0aDtIKyspaWYocilp
ZihiLmNoYXJBdChIKT09IiciJiYhdSgiJyIpKXI9ZmFsc2U7ZWxzZSB4KCk7ZWxzZSBzd2l0Y2go
Yi5jaGFyQXQoSCkpe2Nhc2UgImQiOnE9digiZCIpO2JyZWFrO2Nhc2UgIkQiOncoIkQiLG8sbik7
YnJlYWs7Y2FzZSAibyI6cz12KCJvIik7YnJlYWs7Y2FzZSAibSI6cD12KCJtIik7YnJlYWs7Y2Fz
ZSAiTSI6cD13KCJNIixrLG0pO2JyZWFrO2Nhc2UgInkiOmo9digieSIpO2JyZWFrO2Nhc2UgIkAi
OnZhciBDPW5ldyBEYXRlKHYoIkAiKSk7aj1DLmdldEZ1bGxZZWFyKCk7cD1DLmdldE1vbnRoKCkr
MTtxPUMuZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UgIiEiOkM9bmV3IERhdGUoKHYoIiEiKS10aGlzLl90
aWNrc1RvMTk3MCkvMUU0KTtqPUMuZ2V0RnVsbFllYXIoKTtwPUMuZ2V0TW9udGgoKSsxO3E9Qy5n
ZXREYXRlKCk7YnJlYWs7Y2FzZSAiJyI6aWYodSgiJyIpKXgoKTtlbHNlIHI9dHJ1ZTticmVhaztk
ZWZhdWx0OngoKX1pZih5PAotZi5sZW5ndGgpdGhyb3ciRXh0cmEvdW5wYXJzZWQgY2hhcmFjdGVy
cyBmb3VuZCBpbiBkYXRlOiAiK2Yuc3Vic3RyaW5nKHkpO2lmKGo9PS0xKWo9KG5ldyBEYXRlKS5n
ZXRGdWxsWWVhcigpO2Vsc2UgaWYoajwxMDApais9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLShu
ZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArKGo8PWw/MDotMTAwKTtpZihzPi0xKXtwPTE7cT1z
O2Rve2w9dGhpcy5fZ2V0RGF5c0luTW9udGgoaixwLTEpO2lmKHE8PWwpYnJlYWs7cCsrO3EtPWx9
d2hpbGUoMSl9Qz10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShqLHAtMSxxKSk7
aWYoQy5nZXRGdWxsWWVhcigpIT1qfHxDLmdldE1vbnRoKCkrMSE9cHx8Qy5nZXREYXRlKCkhPXEp
dGhyb3ciSW52YWxpZCBkYXRlIjtyZXR1cm4gQ30sQVRPTToieXktbW0tZGQiLENPT0tJRToiRCwg
ZGQgTSB5eSIsSVNPXzg2MDE6Inl5LW1tLWRkIixSRkNfODIyOiJELCBkIE0geSIsUkZDXzg1MDoi
REQsIGRkLU0teSIsCi1SRkNfMTAzNjoiRCwgZCBNIHkiLFJGQ18xMTIzOiJELCBkIE0geXkiLFJG
Q18yODIyOiJELCBkIE0geXkiLFJTUzoiRCwgZCBNIHkiLFRJQ0tTOiIhIixUSU1FU1RBTVA6IkAi
LFczQzoieXktbW0tZGQiLF90aWNrc1RvMTk3MDooNzE4Njg1K01hdGguZmxvb3IoNDkyLjUpLU1h
dGguZmxvb3IoMTkuNykrTWF0aC5mbG9vcig0LjkyNSkpKjI0KjYwKjYwKjFFNyxmb3JtYXREYXRl
OmZ1bmN0aW9uKGIsZixqKXtpZighZilyZXR1cm4iIjt2YXIgbD0oaj9qLmRheU5hbWVzU2hvcnQ6
bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzU2hvcnQsbz0oaj9qLmRheU5hbWVzOm51bGwp
fHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lcyxuPShqP2oubW9udGhOYW1lc1Nob3J0Om51bGwpfHx0
aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzU2hvcnQ7aj0oaj9qLm1vbnRoTmFtZXM6bnVsbCl8fHRo
aXMuX2RlZmF1bHRzLm1vbnRoTmFtZXM7dmFyIGs9ZnVuY3Rpb24odSl7KHU9cisxPGIubGVuZ3Ro
JiYKLWIuY2hhckF0KHIrMSk9PXUpJiZyKys7cmV0dXJuIHV9LG09ZnVuY3Rpb24odSx2LHcpe3Y9
IiIrdjtpZihrKHUpKWZvcig7di5sZW5ndGg8dzspdj0iMCIrdjtyZXR1cm4gdn0scD1mdW5jdGlv
bih1LHYsdyx4KXtyZXR1cm4gayh1KT94W3ZdOndbdl19LHE9IiIscz1mYWxzZTtpZihmKWZvcih2
YXIgcj0wO3I8Yi5sZW5ndGg7cisrKWlmKHMpaWYoYi5jaGFyQXQocik9PSInIiYmIWsoIiciKSlz
PWZhbHNlO2Vsc2UgcSs9Yi5jaGFyQXQocik7ZWxzZSBzd2l0Y2goYi5jaGFyQXQocikpe2Nhc2Ug
ImQiOnErPW0oImQiLGYuZ2V0RGF0ZSgpLDIpO2JyZWFrO2Nhc2UgIkQiOnErPXAoIkQiLGYuZ2V0
RGF5KCksbCxvKTticmVhaztjYXNlICJvIjpxKz1tKCJvIixNYXRoLnJvdW5kKCgobmV3IERhdGUo
Zi5nZXRGdWxsWWVhcigpLGYuZ2V0TW9udGgoKSxmLmdldERhdGUoKSkpLmdldFRpbWUoKS0obmV3
IERhdGUoZi5nZXRGdWxsWWVhcigpLDAsMCkpLmdldFRpbWUoKSkvODY0RTUpLDMpOwotYnJlYWs7
Y2FzZSAibSI6cSs9bSgibSIsZi5nZXRNb250aCgpKzEsMik7YnJlYWs7Y2FzZSAiTSI6cSs9cCgi
TSIsZi5nZXRNb250aCgpLG4saik7YnJlYWs7Y2FzZSAieSI6cSs9aygieSIpP2YuZ2V0RnVsbFll
YXIoKTooZi5nZXRZZWFyKCklMTAwPDEwPyIwIjoiIikrZi5nZXRZZWFyKCklMTAwO2JyZWFrO2Nh
c2UgIkAiOnErPWYuZ2V0VGltZSgpO2JyZWFrO2Nhc2UgIiEiOnErPWYuZ2V0VGltZSgpKjFFNCt0
aGlzLl90aWNrc1RvMTk3MDticmVhaztjYXNlICInIjppZihrKCInIikpcSs9IiciO2Vsc2Ugcz10
cnVlO2JyZWFrO2RlZmF1bHQ6cSs9Yi5jaGFyQXQocil9cmV0dXJuIHF9LF9wb3NzaWJsZUNoYXJz
OmZ1bmN0aW9uKGIpe2Zvcih2YXIgZj0iIixqPWZhbHNlLGw9ZnVuY3Rpb24obil7KG49bysxPGIu
bGVuZ3RoJiZiLmNoYXJBdChvKzEpPT1uKSYmbysrO3JldHVybiBufSxvPTA7bzxiLmxlbmd0aDtv
KyspaWYoailpZihiLmNoYXJBdChvKT09IiciJiYhbCgiJyIpKWo9Ci1mYWxzZTtlbHNlIGYrPWIu
Y2hhckF0KG8pO2Vsc2Ugc3dpdGNoKGIuY2hhckF0KG8pKXtjYXNlICJkIjpjYXNlICJtIjpjYXNl
ICJ5IjpjYXNlICJAIjpmKz0iMDEyMzQ1Njc4OSI7YnJlYWs7Y2FzZSAiRCI6Y2FzZSAiTSI6cmV0
dXJuIG51bGw7Y2FzZSAiJyI6aWYobCgiJyIpKWYrPSInIjtlbHNlIGo9dHJ1ZTticmVhaztkZWZh
dWx0OmYrPWIuY2hhckF0KG8pfXJldHVybiBmfSxfZ2V0OmZ1bmN0aW9uKGIsZil7cmV0dXJuIGIu
c2V0dGluZ3NbZl0hPT1jP2Iuc2V0dGluZ3NbZl06dGhpcy5fZGVmYXVsdHNbZl19LF9zZXREYXRl
RnJvbUZpZWxkOmZ1bmN0aW9uKGIsZil7aWYoYi5pbnB1dC52YWwoKSE9Yi5sYXN0VmFsKXt2YXIg
aj10aGlzLl9nZXQoYiwiZGF0ZUZvcm1hdCIpLGw9Yi5sYXN0VmFsPWIuaW5wdXQ/Yi5pbnB1dC52
YWwoKTpudWxsLG8sbjtvPW49dGhpcy5fZ2V0RGVmYXVsdERhdGUoYik7dmFyIGs9dGhpcy5fZ2V0
Rm9ybWF0Q29uZmlnKGIpO3RyeXtvPXRoaXMucGFyc2VEYXRlKGosCi1sLGspfHxufWNhdGNoKG0p
e3RoaXMubG9nKG0pO2w9Zj8iIjpsfWIuc2VsZWN0ZWREYXk9by5nZXREYXRlKCk7Yi5kcmF3TW9u
dGg9Yi5zZWxlY3RlZE1vbnRoPW8uZ2V0TW9udGgoKTtiLmRyYXdZZWFyPWIuc2VsZWN0ZWRZZWFy
PW8uZ2V0RnVsbFllYXIoKTtiLmN1cnJlbnREYXk9bD9vLmdldERhdGUoKTowO2IuY3VycmVudE1v
bnRoPWw/by5nZXRNb250aCgpOjA7Yi5jdXJyZW50WWVhcj1sP28uZ2V0RnVsbFllYXIoKTowO3Ro
aXMuX2FkanVzdEluc3REYXRlKGIpfX0sX2dldERlZmF1bHREYXRlOmZ1bmN0aW9uKGIpe3JldHVy
biB0aGlzLl9yZXN0cmljdE1pbk1heChiLHRoaXMuX2RldGVybWluZURhdGUoYix0aGlzLl9nZXQo
YiwiZGVmYXVsdERhdGUiKSxuZXcgRGF0ZSkpfSxfZGV0ZXJtaW5lRGF0ZTpmdW5jdGlvbihiLGYs
ail7dmFyIGw9ZnVuY3Rpb24obil7dmFyIGs9bmV3IERhdGU7ay5zZXREYXRlKGsuZ2V0RGF0ZSgp
K24pO3JldHVybiBrfSxvPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gYS5kYXRlcGlja2VyLnBhcnNl
RGF0ZShhLmRhdGVwaWNrZXIuX2dldChiLAotImRhdGVGb3JtYXQiKSxuLGEuZGF0ZXBpY2tlci5f
Z2V0Rm9ybWF0Q29uZmlnKGIpKX1jYXRjaChrKXt9dmFyIG09KG4udG9Mb3dlckNhc2UoKS5tYXRj
aCgvXmMvKT9hLmRhdGVwaWNrZXIuX2dldERhdGUoYik6bnVsbCl8fG5ldyBEYXRlLHA9bS5nZXRG
dWxsWWVhcigpLHE9bS5nZXRNb250aCgpO209bS5nZXREYXRlKCk7Zm9yKHZhciBzPS8oWystXT9b
MC05XSspXHMqKGR8RHx3fFd8bXxNfHl8WSk/L2cscj1zLmV4ZWMobik7cjspe3N3aXRjaChyWzJd
fHwiZCIpe2Nhc2UgImQiOmNhc2UgIkQiOm0rPXBhcnNlSW50KHJbMV0sMTApO2JyZWFrO2Nhc2Ug
InciOmNhc2UgIlciOm0rPXBhcnNlSW50KHJbMV0sMTApKjc7YnJlYWs7Y2FzZSAibSI6Y2FzZSAi
TSI6cSs9cGFyc2VJbnQoclsxXSwxMCk7bT1NYXRoLm1pbihtLGEuZGF0ZXBpY2tlci5fZ2V0RGF5
c0luTW9udGgocCxxKSk7YnJlYWs7Y2FzZSAieSI6Y2FzZSAiWSI6cCs9cGFyc2VJbnQoclsxXSwx
MCk7bT1NYXRoLm1pbihtLAotYS5kYXRlcGlja2VyLl9nZXREYXlzSW5Nb250aChwLHEpKTticmVh
a31yPXMuZXhlYyhuKX1yZXR1cm4gbmV3IERhdGUocCxxLG0pfTtpZihmPShmPWY9PW51bGx8fGY9
PT0iIj9qOnR5cGVvZiBmPT0ic3RyaW5nIj9vKGYpOnR5cGVvZiBmPT0ibnVtYmVyIj9pc05hTihm
KT9qOmwoZik6bmV3IERhdGUoZi5nZXRUaW1lKCkpKSYmZi50b1N0cmluZygpPT0iSW52YWxpZCBE
YXRlIj9qOmYpe2Yuc2V0SG91cnMoMCk7Zi5zZXRNaW51dGVzKDApO2Yuc2V0U2Vjb25kcygwKTtm
LnNldE1pbGxpc2Vjb25kcygwKX1yZXR1cm4gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoZil9
LF9kYXlsaWdodFNhdmluZ0FkanVzdDpmdW5jdGlvbihiKXtpZighYilyZXR1cm4gbnVsbDtiLnNl
dEhvdXJzKGIuZ2V0SG91cnMoKT4xMj9iLmdldEhvdXJzKCkrMjowKTtyZXR1cm4gYn0sX3NldERh
dGU6ZnVuY3Rpb24oYixmLGope3ZhciBsPSFmLG89Yi5zZWxlY3RlZE1vbnRoLG49Yi5zZWxlY3Rl
ZFllYXI7Ci1mPXRoaXMuX3Jlc3RyaWN0TWluTWF4KGIsdGhpcy5fZGV0ZXJtaW5lRGF0ZShiLGYs
bmV3IERhdGUpKTtiLnNlbGVjdGVkRGF5PWIuY3VycmVudERheT1mLmdldERhdGUoKTtiLmRyYXdN
b250aD1iLnNlbGVjdGVkTW9udGg9Yi5jdXJyZW50TW9udGg9Zi5nZXRNb250aCgpO2IuZHJhd1ll
YXI9Yi5zZWxlY3RlZFllYXI9Yi5jdXJyZW50WWVhcj1mLmdldEZ1bGxZZWFyKCk7aWYoKG8hPWIu
c2VsZWN0ZWRNb250aHx8biE9Yi5zZWxlY3RlZFllYXIpJiYhail0aGlzLl9ub3RpZnlDaGFuZ2Uo
Yik7dGhpcy5fYWRqdXN0SW5zdERhdGUoYik7aWYoYi5pbnB1dCliLmlucHV0LnZhbChsPyIiOnRo
aXMuX2Zvcm1hdERhdGUoYikpO2lmKGo9dGhpcy5fZ2V0KGIsIm9uU2VsZWN0Iikpe2w9dGhpcy5f
Zm9ybWF0RGF0ZShiKTtqLmFwcGx5KGIuaW5wdXQ/Yi5pbnB1dFswXTpudWxsLFtsLGJdKX19LF9n
ZXREYXRlOmZ1bmN0aW9uKGIpe3JldHVybiFiLmN1cnJlbnRZZWFyfHxiLmlucHV0JiZiLmlucHV0
LnZhbCgpPT0KLSIiP251bGw6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoYi5j
dXJyZW50WWVhcixiLmN1cnJlbnRNb250aCxiLmN1cnJlbnREYXkpKX0sX2dlbmVyYXRlSFRNTDpm
dW5jdGlvbihiKXt2YXIgZj1uZXcgRGF0ZTtmPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5l
dyBEYXRlKGYuZ2V0RnVsbFllYXIoKSxmLmdldE1vbnRoKCksZi5nZXREYXRlKCkpKTt2YXIgaj10
aGlzLl9nZXQoYiwiaXNSVEwiKSxsPXRoaXMuX2dldChiLCJzaG93QnV0dG9uUGFuZWwiKSxvPXRo
aXMuX2dldChiLCJoaWRlSWZOb1ByZXZOZXh0Iiksbj10aGlzLl9nZXQoYiwibmF2aWdhdGlvbkFz
RGF0ZUZvcm1hdCIpLGs9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoYiksbT10aGlzLl9nZXQoYiwi
c2hvd0N1cnJlbnRBdFBvcyIpLHA9dGhpcy5fZ2V0KGIsInN0ZXBNb250aHMiKSxxPWtbMF0hPTF8
fGtbMV0hPTEscz10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCghYi5jdXJyZW50RGF5P25ldyBE
YXRlKDk5OTksCi05LDkpOm5ldyBEYXRlKGIuY3VycmVudFllYXIsYi5jdXJyZW50TW9udGgsYi5j
dXJyZW50RGF5KSkscj10aGlzLl9nZXRNaW5NYXhEYXRlKGIsIm1pbiIpLHU9dGhpcy5fZ2V0TWlu
TWF4RGF0ZShiLCJtYXgiKTttPWIuZHJhd01vbnRoLW07dmFyIHY9Yi5kcmF3WWVhcjtpZihtPDAp
e20rPTEyO3YtLX1pZih1KXt2YXIgdz10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0
ZSh1LmdldEZ1bGxZZWFyKCksdS5nZXRNb250aCgpLWtbMF0qa1sxXSsxLHUuZ2V0RGF0ZSgpKSk7
Zm9yKHc9ciYmdzxyP3I6dzt0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZSh2LG0s
MSkpPnc7KXttLS07aWYobTwwKXttPTExO3YtLX19fWIuZHJhd01vbnRoPW07Yi5kcmF3WWVhcj12
O3c9dGhpcy5fZ2V0KGIsInByZXZUZXh0Iik7dz0hbj93OnRoaXMuZm9ybWF0RGF0ZSh3LHRoaXMu
X2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHYsbS1wLDEpKSx0aGlzLl9nZXRGb3JtYXRD
b25maWcoYikpOwotdz10aGlzLl9jYW5BZGp1c3RNb250aChiLC0xLHYsbSk/JzxhIGNsYXNzPSJ1
aS1kYXRlcGlja2VyLXByZXYgdWktY29ybmVyLWFsbCIgb25jbGljaz0iRFBfalF1ZXJ5XycrZysi
LmRhdGVwaWNrZXIuX2FkanVzdERhdGUoJyMiK2IuaWQrIicsIC0iK3ArIiwgJ00nKTtcIiB0aXRs
ZT1cIiIrdysnIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0n
KyhqPyJlIjoidyIpKyciPicrdysiPC9zcGFuPjwvYT4iOm8/IiI6JzxhIGNsYXNzPSJ1aS1kYXRl
cGlja2VyLXByZXYgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kaXNhYmxlZCIgdGl0bGU9Iicrdysn
Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0nKyhqPyJlIjoi
dyIpKyciPicrdysiPC9zcGFuPjwvYT4iO3ZhciB4PXRoaXMuX2dldChiLCJuZXh0VGV4dCIpO3g9
IW4/eDp0aGlzLmZvcm1hdERhdGUoeCx0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0
ZSh2LAotbStwLDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWcoYikpO289dGhpcy5fY2FuQWRqdXN0
TW9udGgoYiwrMSx2LG0pPyc8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1h
bGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK2crIi5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCcjIiti
LmlkKyInLCArIitwKyIsICdNJyk7XCIgdGl0bGU9XCIiK3grJyI+PHNwYW4gY2xhc3M9InVpLWlj
b24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtJysoaj8idyI6ImUiKSsnIj4nK3grIjwvc3Bhbj48
L2E+IjpvPyIiOic8YSBjbGFzcz0idWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwgdWkt
c3RhdGUtZGlzYWJsZWQiIHRpdGxlPSInK3grJyI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNv
bi1jaXJjbGUtdHJpYW5nbGUtJysoaj8idyI6ImUiKSsnIj4nK3grIjwvc3Bhbj48L2E+IjtwPXRo
aXMuX2dldChiLCJjdXJyZW50VGV4dCIpO3g9dGhpcy5fZ2V0KGIsImdvdG9DdXJyZW50IikmJgot
Yi5jdXJyZW50RGF5P3M6ZjtwPSFuP3A6dGhpcy5mb3JtYXREYXRlKHAseCx0aGlzLl9nZXRGb3Jt
YXRDb25maWcoYikpO249IWIuaW5saW5lPyc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InVp
LWRhdGVwaWNrZXItY2xvc2UgdWktc3RhdGUtZGVmYXVsdCB1aS1wcmlvcml0eS1wcmltYXJ5IHVp
LWNvcm5lci1hbGwiIG9uY2xpY2s9IkRQX2pRdWVyeV8nK2crJy5kYXRlcGlja2VyLl9oaWRlRGF0
ZXBpY2tlcigpOyI+Jyt0aGlzLl9nZXQoYiwiY2xvc2VUZXh0IikrIjwvYnV0dG9uPiI6IiI7bD1s
Pyc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQi
PicrKGo/bjoiIikrKHRoaXMuX2lzSW5SYW5nZShiLHgpPyc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIg
Y2xhc3M9InVpLWRhdGVwaWNrZXItY3VycmVudCB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5
LXNlY29uZGFyeSB1aS1jb3JuZXItYWxsIiBvbmNsaWNrPSJEUF9qUXVlcnlfJysKLWcrIi5kYXRl
cGlja2VyLl9nb3RvVG9kYXkoJyMiK2IuaWQrIicpO1wiPiIrcCsiPC9idXR0b24+IjoiIikrKGo/
IiI6bikrIjwvZGl2PiI6IiI7bj1wYXJzZUludCh0aGlzLl9nZXQoYiwiZmlyc3REYXkiKSwxMCk7
bj1pc05hTihuKT8wOm47cD10aGlzLl9nZXQoYiwic2hvd1dlZWsiKTt4PXRoaXMuX2dldChiLCJk
YXlOYW1lcyIpO3RoaXMuX2dldChiLCJkYXlOYW1lc1Nob3J0Iik7dmFyIHk9dGhpcy5fZ2V0KGIs
ImRheU5hbWVzTWluIiksSD10aGlzLl9nZXQoYiwibW9udGhOYW1lcyIpLEM9dGhpcy5fZ2V0KGIs
Im1vbnRoTmFtZXNTaG9ydCIpLHo9dGhpcy5fZ2V0KGIsImJlZm9yZVNob3dEYXkiKSxJPXRoaXMu
X2dldChiLCJzaG93T3RoZXJNb250aHMiKSxOPXRoaXMuX2dldChiLCJzZWxlY3RPdGhlck1vbnRo
cyIpO3RoaXMuX2dldChiLCJjYWxjdWxhdGVXZWVrIik7Zm9yKHZhciBKPXRoaXMuX2dldERlZmF1
bHREYXRlKGIpLEQ9IiIsRT0wO0U8a1swXTtFKyspe3ZhciBQPQotIiI7dGhpcy5tYXhSb3dzPTQ7
Zm9yKHZhciBMPTA7TDxrWzFdO0wrKyl7dmFyIFE9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3Qo
bmV3IERhdGUodixtLGIuc2VsZWN0ZWREYXkpKSxCPSIgdWktY29ybmVyLWFsbCIsRj0iIjtpZihx
KXtGKz0nPGRpdiBjbGFzcz0idWktZGF0ZXBpY2tlci1ncm91cCc7aWYoa1sxXT4xKXN3aXRjaChM
KXtjYXNlIDA6Ris9IiB1aS1kYXRlcGlja2VyLWdyb3VwLWZpcnN0IjtCPSIgdWktY29ybmVyLSIr
KGo/InJpZ2h0IjoibGVmdCIpO2JyZWFrO2Nhc2Uga1sxXS0xOkYrPSIgdWktZGF0ZXBpY2tlci1n
cm91cC1sYXN0IjtCPSIgdWktY29ybmVyLSIrKGo/ImxlZnQiOiJyaWdodCIpO2JyZWFrO2RlZmF1
bHQ6Ris9IiB1aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSI7Qj0iIjticmVha31GKz0nIj4nfUYr
PSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLWhlYWRlciB1aS13aWRnZXQtaGVhZGVyIHVpLWhl
bHBlci1jbGVhcmZpeCcrQisnIj4nKygvYWxsfGxlZnQvLnRlc3QoQikmJgotRT09MD9qP286dzoi
IikrKC9hbGx8cmlnaHQvLnRlc3QoQikmJkU9PTA/aj93Om86IiIpK3RoaXMuX2dlbmVyYXRlTW9u
dGhZZWFySGVhZGVyKGIsbSx2LHIsdSxFPjB8fEw+MCxILEMpKyc8L2Rpdj48dGFibGUgY2xhc3M9
InVpLWRhdGVwaWNrZXItY2FsZW5kYXIiPjx0aGVhZD48dHI+Jzt2YXIgRz1wPyc8dGggY2xhc3M9
InVpLWRhdGVwaWNrZXItd2Vlay1jb2wiPicrdGhpcy5fZ2V0KGIsIndlZWtIZWFkZXIiKSsiPC90
aD4iOiIiO2ZvcihCPTA7Qjw3O0IrKyl7dmFyIEE9KEIrbiklNztHKz0iPHRoIisoKEIrbis2KSU3
Pj01PycgY2xhc3M9InVpLWRhdGVwaWNrZXItd2Vlay1lbmQiJzoiIikrJz48c3BhbiB0aXRsZT0i
Jyt4W0FdKyciPicreVtBXSsiPC9zcGFuPjwvdGg+In1GKz1HKyI8L3RyPjwvdGhlYWQ+PHRib2R5
PiI7Rz10aGlzLl9nZXREYXlzSW5Nb250aCh2LG0pO2lmKHY9PWIuc2VsZWN0ZWRZZWFyJiZtPT1i
LnNlbGVjdGVkTW9udGgpYi5zZWxlY3RlZERheT1NYXRoLm1pbihiLnNlbGVjdGVkRGF5LAotRyk7
Qj0odGhpcy5fZ2V0Rmlyc3REYXlPZk1vbnRoKHYsbSktbis3KSU3O0c9TWF0aC5jZWlsKChCK0cp
LzcpO3RoaXMubWF4Um93cz1HPXE/dGhpcy5tYXhSb3dzPkc/dGhpcy5tYXhSb3dzOkc6RztBPXRo
aXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHYsbSwxLUIpKTtmb3IodmFyIFI9MDtS
PEc7UisrKXtGKz0iPHRyPiI7dmFyIFM9IXA/IiI6Jzx0ZCBjbGFzcz0idWktZGF0ZXBpY2tlci13
ZWVrLWNvbCI+Jyt0aGlzLl9nZXQoYiwiY2FsY3VsYXRlV2VlayIpKEEpKyI8L3RkPiI7Zm9yKEI9
MDtCPDc7QisrKXt2YXIgTT16P3ouYXBwbHkoYi5pbnB1dD9iLmlucHV0WzBdOm51bGwsW0FdKTpb
dHJ1ZSwiIl0sSz1BLmdldE1vbnRoKCkhPW0sTz1LJiYhTnx8IU1bMF18fHImJkE8cnx8dSYmQT51
O1MrPSc8dGQgY2xhc3M9IicrKChCK24rNiklNz49NT8iIHVpLWRhdGVwaWNrZXItd2Vlay1lbmQi
OiIiKSsoSz8iIHVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgiOiIiKSsoQS5nZXRUaW1lKCk9PQot
US5nZXRUaW1lKCkmJm09PWIuc2VsZWN0ZWRNb250aCYmYi5fa2V5RXZlbnR8fEouZ2V0VGltZSgp
PT1BLmdldFRpbWUoKSYmSi5nZXRUaW1lKCk9PVEuZ2V0VGltZSgpPyIgIit0aGlzLl9kYXlPdmVy
Q2xhc3M6IiIpKyhPPyIgIit0aGlzLl91bnNlbGVjdGFibGVDbGFzcysiIHVpLXN0YXRlLWRpc2Fi
bGVkIjoiIikrKEsmJiFJPyIiOiIgIitNWzFdKyhBLmdldFRpbWUoKT09cy5nZXRUaW1lKCk/IiAi
K3RoaXMuX2N1cnJlbnRDbGFzczoiIikrKEEuZ2V0VGltZSgpPT1mLmdldFRpbWUoKT8iIHVpLWRh
dGVwaWNrZXItdG9kYXkiOiIiKSkrJyInKygoIUt8fEkpJiZNWzJdPycgdGl0bGU9IicrTVsyXSsn
Iic6IiIpKyhPPyIiOicgb25jbGljaz0iRFBfalF1ZXJ5XycrZysiLmRhdGVwaWNrZXIuX3NlbGVj
dERheSgnIyIrYi5pZCsiJywiK0EuZ2V0TW9udGgoKSsiLCIrQS5nZXRGdWxsWWVhcigpKycsIHRo
aXMpO3JldHVybiBmYWxzZTsiJykrIj4iKyhLJiYhST8iJiN4YTA7IjpPPyc8c3BhbiBjbGFzcz0i
dWktc3RhdGUtZGVmYXVsdCI+JysKLUEuZ2V0RGF0ZSgpKyI8L3NwYW4+IjonPGEgY2xhc3M9InVp
LXN0YXRlLWRlZmF1bHQnKyhBLmdldFRpbWUoKT09Zi5nZXRUaW1lKCk/IiB1aS1zdGF0ZS1oaWdo
bGlnaHQiOiIiKSsoQS5nZXRUaW1lKCk9PXMuZ2V0VGltZSgpPyIgdWktc3RhdGUtYWN0aXZlIjoi
IikrKEs/IiB1aS1wcmlvcml0eS1zZWNvbmRhcnkiOiIiKSsnIiBocmVmPSIjIj4nK0EuZ2V0RGF0
ZSgpKyI8L2E+IikrIjwvdGQ+IjtBLnNldERhdGUoQS5nZXREYXRlKCkrMSk7QT10aGlzLl9kYXls
aWdodFNhdmluZ0FkanVzdChBKX1GKz1TKyI8L3RyPiJ9bSsrO2lmKG0+MTEpe209MDt2Kyt9Ris9
IjwvdGJvZHk+PC90YWJsZT4iKyhxPyI8L2Rpdj4iKyhrWzBdPjAmJkw9PWtbMV0tMT8nPGRpdiBj
bGFzcz0idWktZGF0ZXBpY2tlci1yb3ctYnJlYWsiPjwvZGl2Pic6IiIpOiIiKTtQKz1GfUQrPVB9
RCs9bCsoYS5icm93c2VyLm1zaWUmJnBhcnNlSW50KGEuYnJvd3Nlci52ZXJzaW9uLDEwKTw3JiYh
Yi5pbmxpbmU/JzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OmZhbHNlOyIgY2xhc3M9InVpLWRhdGVw
aWNrZXItY292ZXIiIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFtZT4nOgotIiIpO2IuX2tleUV2ZW50
PWZhbHNlO3JldHVybiBEfSxfZ2VuZXJhdGVNb250aFllYXJIZWFkZXI6ZnVuY3Rpb24oYixmLGos
bCxvLG4sayxtKXt2YXIgcD10aGlzLl9nZXQoYiwiY2hhbmdlTW9udGgiKSxxPXRoaXMuX2dldChi
LCJjaGFuZ2VZZWFyIikscz10aGlzLl9nZXQoYiwic2hvd01vbnRoQWZ0ZXJZZWFyIikscj0nPGRp
diBjbGFzcz0idWktZGF0ZXBpY2tlci10aXRsZSI+Jyx1PSIiO2lmKG58fCFwKXUrPSc8c3BhbiBj
bGFzcz0idWktZGF0ZXBpY2tlci1tb250aCI+JytrW2ZdKyI8L3NwYW4+IjtlbHNle2s9bCYmbC5n
ZXRGdWxsWWVhcigpPT1qO3ZhciB2PW8mJm8uZ2V0RnVsbFllYXIoKT09ajt1Kz0nPHNlbGVjdCBj
bGFzcz0idWktZGF0ZXBpY2tlci1tb250aCIgb25jaGFuZ2U9IkRQX2pRdWVyeV8nK2crIi5kYXRl
cGlja2VyLl9zZWxlY3RNb250aFllYXIoJyMiK2IuaWQrIicsIHRoaXMsICdNJyk7XCIgPiI7Zm9y
KHZhciB3PTA7dzwxMjt3KyspaWYoKCFrfHx3Pj1sLmdldE1vbnRoKCkpJiYKLSghdnx8dzw9by5n
ZXRNb250aCgpKSl1Kz0nPG9wdGlvbiB2YWx1ZT0iJyt3KyciJysodz09Zj8nIHNlbGVjdGVkPSJz
ZWxlY3RlZCInOiIiKSsiPiIrbVt3XSsiPC9vcHRpb24+Ijt1Kz0iPC9zZWxlY3Q+In1zfHwocis9
dSsobnx8IShwJiZxKT8iJiN4YTA7IjoiIikpO2lmKCFiLnllYXJzaHRtbCl7Yi55ZWFyc2h0bWw9
IiI7aWYobnx8IXEpcis9JzxzcGFuIGNsYXNzPSJ1aS1kYXRlcGlja2VyLXllYXIiPicraisiPC9z
cGFuPiI7ZWxzZXttPXRoaXMuX2dldChiLCJ5ZWFyUmFuZ2UiKS5zcGxpdCgiOiIpO3ZhciB4PShu
ZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKTtrPWZ1bmN0aW9uKHkpe3k9eS5tYXRjaCgvY1srLV0uKi8p
P2orcGFyc2VJbnQoeS5zdWJzdHJpbmcoMSksMTApOnkubWF0Y2goL1srLV0uKi8pP3grcGFyc2VJ
bnQoeSwxMCk6cGFyc2VJbnQoeSwxMCk7cmV0dXJuIGlzTmFOKHkpP3g6eX07Zj1rKG1bMF0pO209
TWF0aC5tYXgoZixrKG1bMV18fCIiKSk7Zj1sP01hdGgubWF4KGYsCi1sLmdldEZ1bGxZZWFyKCkp
OmY7bT1vP01hdGgubWluKG0sby5nZXRGdWxsWWVhcigpKTptO2ZvcihiLnllYXJzaHRtbCs9Jzxz
ZWxlY3QgY2xhc3M9InVpLWRhdGVwaWNrZXIteWVhciIgb25jaGFuZ2U9IkRQX2pRdWVyeV8nK2cr
Ii5kYXRlcGlja2VyLl9zZWxlY3RNb250aFllYXIoJyMiK2IuaWQrIicsIHRoaXMsICdZJyk7XCIg
PiI7Zjw9bTtmKyspYi55ZWFyc2h0bWwrPSc8b3B0aW9uIHZhbHVlPSInK2YrJyInKyhmPT1qPycg
c2VsZWN0ZWQ9InNlbGVjdGVkIic6IiIpKyI+IitmKyI8L29wdGlvbj4iO2IueWVhcnNodG1sKz0i
PC9zZWxlY3Q+IjtyKz1iLnllYXJzaHRtbDtiLnllYXJzaHRtbD1udWxsfX1yKz10aGlzLl9nZXQo
YiwieWVhclN1ZmZpeCIpO2lmKHMpcis9KG58fCEocCYmcSk/IiYjeGEwOyI6IiIpK3U7cis9Ijwv
ZGl2PiI7cmV0dXJuIHJ9LF9hZGp1c3RJbnN0RGF0ZTpmdW5jdGlvbihiLGYsail7dmFyIGw9Yi5k
cmF3WWVhcisoaj09IlkiP2Y6MCksbz1iLmRyYXdNb250aCsKLShqPT0iTSI/ZjowKTtmPU1hdGgu
bWluKGIuc2VsZWN0ZWREYXksdGhpcy5fZ2V0RGF5c0luTW9udGgobCxvKSkrKGo9PSJEIj9mOjAp
O2w9dGhpcy5fcmVzdHJpY3RNaW5NYXgoYix0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcg
RGF0ZShsLG8sZikpKTtiLnNlbGVjdGVkRGF5PWwuZ2V0RGF0ZSgpO2IuZHJhd01vbnRoPWIuc2Vs
ZWN0ZWRNb250aD1sLmdldE1vbnRoKCk7Yi5kcmF3WWVhcj1iLnNlbGVjdGVkWWVhcj1sLmdldEZ1
bGxZZWFyKCk7aWYoaj09Ik0ifHxqPT0iWSIpdGhpcy5fbm90aWZ5Q2hhbmdlKGIpfSxfcmVzdHJp
Y3RNaW5NYXg6ZnVuY3Rpb24oYixmKXt2YXIgaj10aGlzLl9nZXRNaW5NYXhEYXRlKGIsIm1pbiIp
O2I9dGhpcy5fZ2V0TWluTWF4RGF0ZShiLCJtYXgiKTtmPWomJmY8aj9qOmY7cmV0dXJuIGY9YiYm
Zj5iP2I6Zn0sX25vdGlmeUNoYW5nZTpmdW5jdGlvbihiKXt2YXIgZj10aGlzLl9nZXQoYiwib25D
aGFuZ2VNb250aFllYXIiKTtpZihmKWYuYXBwbHkoYi5pbnB1dD8KLWIuaW5wdXRbMF06bnVsbCxb
Yi5zZWxlY3RlZFllYXIsYi5zZWxlY3RlZE1vbnRoKzEsYl0pfSxfZ2V0TnVtYmVyT2ZNb250aHM6
ZnVuY3Rpb24oYil7Yj10aGlzLl9nZXQoYiwibnVtYmVyT2ZNb250aHMiKTtyZXR1cm4gYj09bnVs
bD9bMSwxXTp0eXBlb2YgYj09Im51bWJlciI/WzEsYl06Yn0sX2dldE1pbk1heERhdGU6ZnVuY3Rp
b24oYixmKXtyZXR1cm4gdGhpcy5fZGV0ZXJtaW5lRGF0ZShiLHRoaXMuX2dldChiLGYrIkRhdGUi
KSxudWxsKX0sX2dldERheXNJbk1vbnRoOmZ1bmN0aW9uKGIsZil7cmV0dXJuIDMyLXRoaXMuX2Rh
eWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGIsZiwzMikpLmdldERhdGUoKX0sX2dldEZpcnN0
RGF5T2ZNb250aDpmdW5jdGlvbihiLGYpe3JldHVybihuZXcgRGF0ZShiLGYsMSkpLmdldERheSgp
fSxfY2FuQWRqdXN0TW9udGg6ZnVuY3Rpb24oYixmLGosbCl7dmFyIG89dGhpcy5fZ2V0TnVtYmVy
T2ZNb250aHMoYik7aj10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShqLAotbCso
ZjwwP2Y6b1swXSpvWzFdKSwxKSk7ZjwwJiZqLnNldERhdGUodGhpcy5fZ2V0RGF5c0luTW9udGgo
ai5nZXRGdWxsWWVhcigpLGouZ2V0TW9udGgoKSkpO3JldHVybiB0aGlzLl9pc0luUmFuZ2UoYixq
KX0sX2lzSW5SYW5nZTpmdW5jdGlvbihiLGYpe3ZhciBqPXRoaXMuX2dldE1pbk1heERhdGUoYiwi
bWluIik7Yj10aGlzLl9nZXRNaW5NYXhEYXRlKGIsIm1heCIpO3JldHVybighanx8Zi5nZXRUaW1l
KCk+PWouZ2V0VGltZSgpKSYmKCFifHxmLmdldFRpbWUoKTw9Yi5nZXRUaW1lKCkpfSxfZ2V0Rm9y
bWF0Q29uZmlnOmZ1bmN0aW9uKGIpe3ZhciBmPXRoaXMuX2dldChiLCJzaG9ydFllYXJDdXRvZmYi
KTtmPXR5cGVvZiBmIT0ic3RyaW5nIj9mOihuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArcGFy
c2VJbnQoZiwxMCk7cmV0dXJue3Nob3J0WWVhckN1dG9mZjpmLGRheU5hbWVzU2hvcnQ6dGhpcy5f
Z2V0KGIsImRheU5hbWVzU2hvcnQiKSxkYXlOYW1lczp0aGlzLl9nZXQoYiwKLSJkYXlOYW1lcyIp
LG1vbnRoTmFtZXNTaG9ydDp0aGlzLl9nZXQoYiwibW9udGhOYW1lc1Nob3J0IiksbW9udGhOYW1l
czp0aGlzLl9nZXQoYiwibW9udGhOYW1lcyIpfX0sX2Zvcm1hdERhdGU6ZnVuY3Rpb24oYixmLGos
bCl7aWYoIWYpe2IuY3VycmVudERheT1iLnNlbGVjdGVkRGF5O2IuY3VycmVudE1vbnRoPWIuc2Vs
ZWN0ZWRNb250aDtiLmN1cnJlbnRZZWFyPWIuc2VsZWN0ZWRZZWFyfWY9Zj90eXBlb2YgZj09Im9i
amVjdCI/Zjp0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShsLGosZikpOnRoaXMu
X2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGIuY3VycmVudFllYXIsYi5jdXJyZW50TW9u
dGgsYi5jdXJyZW50RGF5KSk7cmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh0aGlzLl9nZXQoYiwiZGF0
ZUZvcm1hdCIpLGYsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGIpKX19KTthLmZuLmRhdGVwaWNrZXI9
ZnVuY3Rpb24oYil7aWYoIXRoaXMubGVuZ3RoKXJldHVybiB0aGlzOwotaWYoIWEuZGF0ZXBpY2tl
ci5pbml0aWFsaXplZCl7YShkb2N1bWVudCkubW91c2Vkb3duKGEuZGF0ZXBpY2tlci5fY2hlY2tF
eHRlcm5hbENsaWNrKS5maW5kKCJib2R5IikuYXBwZW5kKGEuZGF0ZXBpY2tlci5kcERpdik7YS5k
YXRlcGlja2VyLmluaXRpYWxpemVkPXRydWV9dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNh
bGwoYXJndW1lbnRzLDEpO2lmKHR5cGVvZiBiPT0ic3RyaW5nIiYmKGI9PSJpc0Rpc2FibGVkInx8
Yj09ImdldERhdGUifHxiPT0id2lkZ2V0IikpcmV0dXJuIGEuZGF0ZXBpY2tlclsiXyIrYisiRGF0
ZXBpY2tlciJdLmFwcGx5KGEuZGF0ZXBpY2tlcixbdGhpc1swXV0uY29uY2F0KGYpKTtpZihiPT0i
b3B0aW9uIiYmYXJndW1lbnRzLmxlbmd0aD09MiYmdHlwZW9mIGFyZ3VtZW50c1sxXT09InN0cmlu
ZyIpcmV0dXJuIGEuZGF0ZXBpY2tlclsiXyIrYisiRGF0ZXBpY2tlciJdLmFwcGx5KGEuZGF0ZXBp
Y2tlcixbdGhpc1swXV0uY29uY2F0KGYpKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHlw
ZW9mIGI9PQotInN0cmluZyI/YS5kYXRlcGlja2VyWyJfIitiKyJEYXRlcGlja2VyIl0uYXBwbHko
YS5kYXRlcGlja2VyLFt0aGlzXS5jb25jYXQoZikpOmEuZGF0ZXBpY2tlci5fYXR0YWNoRGF0ZXBp
Y2tlcih0aGlzLGIpfSl9O2EuZGF0ZXBpY2tlcj1uZXcgZDthLmRhdGVwaWNrZXIuaW5pdGlhbGl6
ZWQ9ZmFsc2U7YS5kYXRlcGlja2VyLnV1aWQ9KG5ldyBEYXRlKS5nZXRUaW1lKCk7YS5kYXRlcGlj
a2VyLnZlcnNpb249IjEuOC4xNSI7d2luZG93WyJEUF9qUXVlcnlfIitnXT1hfSkoalF1ZXJ5KTsK
LShmdW5jdGlvbihhLGMpe3ZhciBkPXtidXR0b25zOnRydWUsaGVpZ2h0OnRydWUsbWF4SGVpZ2h0
OnRydWUsbWF4V2lkdGg6dHJ1ZSxtaW5IZWlnaHQ6dHJ1ZSxtaW5XaWR0aDp0cnVlLHdpZHRoOnRy
dWV9LGU9e21heEhlaWdodDp0cnVlLG1heFdpZHRoOnRydWUsbWluSGVpZ2h0OnRydWUsbWluV2lk
dGg6dHJ1ZX0saD1hLmF0dHJGbnx8e3ZhbDp0cnVlLGNzczp0cnVlLGh0bWw6dHJ1ZSx0ZXh0OnRy
dWUsZGF0YTp0cnVlLHdpZHRoOnRydWUsaGVpZ2h0OnRydWUsb2Zmc2V0OnRydWUsY2xpY2s6dHJ1
ZX07YS53aWRnZXQoInVpLmRpYWxvZyIse29wdGlvbnM6e2F1dG9PcGVuOnRydWUsYnV0dG9uczp7
fSxjbG9zZU9uRXNjYXBlOnRydWUsY2xvc2VUZXh0OiJjbG9zZSIsZGlhbG9nQ2xhc3M6IiIsZHJh
Z2dhYmxlOnRydWUsaGlkZTpudWxsLGhlaWdodDoiYXV0byIsbWF4SGVpZ2h0OmZhbHNlLG1heFdp
ZHRoOmZhbHNlLG1pbkhlaWdodDoxNTAsbWluV2lkdGg6MTUwLG1vZGFsOmZhbHNlLAotcG9zaXRp
b246e215OiJjZW50ZXIiLGF0OiJjZW50ZXIiLGNvbGxpc2lvbjoiZml0Iix1c2luZzpmdW5jdGlv
bihnKXt2YXIgaT1hKHRoaXMpLmNzcyhnKS5vZmZzZXQoKS50b3A7aTwwJiZhKHRoaXMpLmNzcygi
dG9wIixnLnRvcC1pKX19LHJlc2l6YWJsZTp0cnVlLHNob3c6bnVsbCxzdGFjazp0cnVlLHRpdGxl
OiIiLHdpZHRoOjMwMCx6SW5kZXg6MUUzfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5vcmlnaW5h
bFRpdGxlPXRoaXMuZWxlbWVudC5hdHRyKCJ0aXRsZSIpO2lmKHR5cGVvZiB0aGlzLm9yaWdpbmFs
VGl0bGUhPT0ic3RyaW5nIil0aGlzLm9yaWdpbmFsVGl0bGU9IiI7dGhpcy5vcHRpb25zLnRpdGxl
PXRoaXMub3B0aW9ucy50aXRsZXx8dGhpcy5vcmlnaW5hbFRpdGxlO3ZhciBnPXRoaXMsaT1nLm9w
dGlvbnMsYj1pLnRpdGxlfHwiJiMxNjA7IixmPWEudWkuZGlhbG9nLmdldFRpdGxlSWQoZy5lbGVt
ZW50KSxqPShnLnVpRGlhbG9nPWEoIjxkaXY+PC9kaXY+IikpLmFwcGVuZFRvKGRvY3VtZW50LmJv
ZHkpLmhpZGUoKS5hZGRDbGFzcygidWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVu
dCB1aS1jb3JuZXItYWxsICIrCi1pLmRpYWxvZ0NsYXNzKS5jc3Moe3pJbmRleDppLnpJbmRleH0p
LmF0dHIoInRhYkluZGV4IiwtMSkuY3NzKCJvdXRsaW5lIiwwKS5rZXlkb3duKGZ1bmN0aW9uKG4p
e2lmKGkuY2xvc2VPbkVzY2FwZSYmbi5rZXlDb2RlJiZuLmtleUNvZGU9PT1hLnVpLmtleUNvZGUu
RVNDQVBFKXtnLmNsb3NlKG4pO24ucHJldmVudERlZmF1bHQoKX19KS5hdHRyKHtyb2xlOiJkaWFs
b2ciLCJhcmlhLWxhYmVsbGVkYnkiOmZ9KS5tb3VzZWRvd24oZnVuY3Rpb24obil7Zy5tb3ZlVG9U
b3AoZmFsc2Usbil9KTtnLmVsZW1lbnQuc2hvdygpLnJlbW92ZUF0dHIoInRpdGxlIikuYWRkQ2xh
c3MoInVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50IikuYXBwZW5kVG8oaik7dmFy
IGw9KGcudWlEaWFsb2dUaXRsZWJhcj1hKCI8ZGl2PjwvZGl2PiIpKS5hZGRDbGFzcygidWktZGlh
bG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCB1aS1oZWxwZXItY2xl
YXJmaXgiKS5wcmVwZW5kVG8oaiksCi1vPWEoJzxhIGhyZWY9IiMiPjwvYT4nKS5hZGRDbGFzcygi
dWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiKS5hdHRyKCJyb2xlIiwiYnV0
dG9uIikuaG92ZXIoZnVuY3Rpb24oKXtvLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSxmdW5j
dGlvbigpe28ucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil9KS5mb2N1cyhmdW5jdGlvbigp
e28uYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9KS5ibHVyKGZ1bmN0aW9uKCl7by5yZW1vdmVD
bGFzcygidWktc3RhdGUtZm9jdXMiKX0pLmNsaWNrKGZ1bmN0aW9uKG4pe2cuY2xvc2Uobik7cmV0
dXJuIGZhbHNlfSkuYXBwZW5kVG8obCk7KGcudWlEaWFsb2dUaXRsZWJhckNsb3NlVGV4dD1hKCI8
c3Bhbj48L3NwYW4+IikpLmFkZENsYXNzKCJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayIpLnRl
eHQoaS5jbG9zZVRleHQpLmFwcGVuZFRvKG8pO2EoIjxzcGFuPjwvc3Bhbj4iKS5hZGRDbGFzcygi
dWktZGlhbG9nLXRpdGxlIikuYXR0cigiaWQiLAotZikuaHRtbChiKS5wcmVwZW5kVG8obCk7aWYo
YS5pc0Z1bmN0aW9uKGkuYmVmb3JlY2xvc2UpJiYhYS5pc0Z1bmN0aW9uKGkuYmVmb3JlQ2xvc2Up
KWkuYmVmb3JlQ2xvc2U9aS5iZWZvcmVjbG9zZTtsLmZpbmQoIioiKS5hZGQobCkuZGlzYWJsZVNl
bGVjdGlvbigpO2kuZHJhZ2dhYmxlJiZhLmZuLmRyYWdnYWJsZSYmZy5fbWFrZURyYWdnYWJsZSgp
O2kucmVzaXphYmxlJiZhLmZuLnJlc2l6YWJsZSYmZy5fbWFrZVJlc2l6YWJsZSgpO2cuX2NyZWF0
ZUJ1dHRvbnMoaS5idXR0b25zKTtnLl9pc09wZW49ZmFsc2U7YS5mbi5iZ2lmcmFtZSYmai5iZ2lm
cmFtZSgpfSxfaW5pdDpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5hdXRvT3BlbiYmdGhpcy5vcGVu
KCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZz10aGlzO2cub3ZlcmxheSYmZy5vdmVybGF5LmRl
c3Ryb3koKTtnLnVpRGlhbG9nLmhpZGUoKTtnLmVsZW1lbnQudW5iaW5kKCIuZGlhbG9nIikucmVt
b3ZlRGF0YSgiZGlhbG9nIikucmVtb3ZlQ2xhc3MoInVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdl
dC1jb250ZW50IikuaGlkZSgpLmFwcGVuZFRvKCJib2R5Iik7Ci1nLnVpRGlhbG9nLnJlbW92ZSgp
O2cub3JpZ2luYWxUaXRsZSYmZy5lbGVtZW50LmF0dHIoInRpdGxlIixnLm9yaWdpbmFsVGl0bGUp
O3JldHVybiBnfSx3aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51aURpYWxvZ30sY2xvc2U6
ZnVuY3Rpb24oZyl7dmFyIGk9dGhpcyxiLGY7aWYoZmFsc2UhPT1pLl90cmlnZ2VyKCJiZWZvcmVD
bG9zZSIsZykpe2kub3ZlcmxheSYmaS5vdmVybGF5LmRlc3Ryb3koKTtpLnVpRGlhbG9nLnVuYmlu
ZCgia2V5cHJlc3MudWktZGlhbG9nIik7aS5faXNPcGVuPWZhbHNlO2lmKGkub3B0aW9ucy5oaWRl
KWkudWlEaWFsb2cuaGlkZShpLm9wdGlvbnMuaGlkZSxmdW5jdGlvbigpe2kuX3RyaWdnZXIoImNs
b3NlIixnKX0pO2Vsc2V7aS51aURpYWxvZy5oaWRlKCk7aS5fdHJpZ2dlcigiY2xvc2UiLGcpfWEu
dWkuZGlhbG9nLm92ZXJsYXkucmVzaXplKCk7aWYoaS5vcHRpb25zLm1vZGFsKXtiPTA7YSgiLnVp
LWRpYWxvZyIpLmVhY2goZnVuY3Rpb24oKXtpZih0aGlzIT09Ci1pLnVpRGlhbG9nWzBdKXtmPWEo
dGhpcykuY3NzKCJ6LWluZGV4Iik7aXNOYU4oZil8fChiPU1hdGgubWF4KGIsZikpfX0pO2EudWku
ZGlhbG9nLm1heFo9Yn1yZXR1cm4gaX19LGlzT3BlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9p
c09wZW59LG1vdmVUb1RvcDpmdW5jdGlvbihnLGkpe3ZhciBiPXRoaXMsZj1iLm9wdGlvbnM7aWYo
Zi5tb2RhbCYmIWd8fCFmLnN0YWNrJiYhZi5tb2RhbClyZXR1cm4gYi5fdHJpZ2dlcigiZm9jdXMi
LGkpO2lmKGYuekluZGV4PmEudWkuZGlhbG9nLm1heFopYS51aS5kaWFsb2cubWF4Wj1mLnpJbmRl
eDtpZihiLm92ZXJsYXkpe2EudWkuZGlhbG9nLm1heForPTE7Yi5vdmVybGF5LiRlbC5jc3MoInot
aW5kZXgiLGEudWkuZGlhbG9nLm92ZXJsYXkubWF4Wj1hLnVpLmRpYWxvZy5tYXhaKX1nPXtzY3Jv
bGxUb3A6Yi5lbGVtZW50LnNjcm9sbFRvcCgpLHNjcm9sbExlZnQ6Yi5lbGVtZW50LnNjcm9sbExl
ZnQoKX07YS51aS5kaWFsb2cubWF4Wis9MTsKLWIudWlEaWFsb2cuY3NzKCJ6LWluZGV4IixhLnVp
LmRpYWxvZy5tYXhaKTtiLmVsZW1lbnQuYXR0cihnKTtiLl90cmlnZ2VyKCJmb2N1cyIsaSk7cmV0
dXJuIGJ9LG9wZW46ZnVuY3Rpb24oKXtpZighdGhpcy5faXNPcGVuKXt2YXIgZz10aGlzLGk9Zy5v
cHRpb25zLGI9Zy51aURpYWxvZztnLm92ZXJsYXk9aS5tb2RhbD9uZXcgYS51aS5kaWFsb2cub3Zl
cmxheShnKTpudWxsO2cuX3NpemUoKTtnLl9wb3NpdGlvbihpLnBvc2l0aW9uKTtiLnNob3coaS5z
aG93KTtnLm1vdmVUb1RvcCh0cnVlKTtpLm1vZGFsJiZiLmJpbmQoImtleXByZXNzLnVpLWRpYWxv
ZyIsZnVuY3Rpb24oZil7aWYoZi5rZXlDb2RlPT09YS51aS5rZXlDb2RlLlRBQil7dmFyIGo9YSgi
OnRhYmJhYmxlIix0aGlzKSxsPWouZmlsdGVyKCI6Zmlyc3QiKTtqPWouZmlsdGVyKCI6bGFzdCIp
O2lmKGYudGFyZ2V0PT09alswXSYmIWYuc2hpZnRLZXkpe2wuZm9jdXMoMSk7cmV0dXJuIGZhbHNl
fWVsc2UgaWYoZi50YXJnZXQ9PT0KLWxbMF0mJmYuc2hpZnRLZXkpe2ouZm9jdXMoMSk7cmV0dXJu
IGZhbHNlfX19KTthKGcuZWxlbWVudC5maW5kKCI6dGFiYmFibGUiKS5nZXQoKS5jb25jYXQoYi5m
aW5kKCIudWktZGlhbG9nLWJ1dHRvbnBhbmUgOnRhYmJhYmxlIikuZ2V0KCkuY29uY2F0KGIuZ2V0
KCkpKSkuZXEoMCkuZm9jdXMoKTtnLl9pc09wZW49dHJ1ZTtnLl90cmlnZ2VyKCJvcGVuIik7cmV0
dXJuIGd9fSxfY3JlYXRlQnV0dG9uczpmdW5jdGlvbihnKXt2YXIgaT10aGlzLGI9ZmFsc2UsZj1h
KCI8ZGl2PjwvZGl2PiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctYnV0dG9ucGFuZSB1aS13aWRnZXQt
Y29udGVudCB1aS1oZWxwZXItY2xlYXJmaXgiKSxqPWEoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3Mo
InVpLWRpYWxvZy1idXR0b25zZXQiKS5hcHBlbmRUbyhmKTtpLnVpRGlhbG9nLmZpbmQoIi51aS1k
aWFsb2ctYnV0dG9ucGFuZSIpLnJlbW92ZSgpO3R5cGVvZiBnPT09Im9iamVjdCImJmchPT1udWxs
JiZhLmVhY2goZywKLWZ1bmN0aW9uKCl7cmV0dXJuIShiPXRydWUpfSk7aWYoYil7YS5lYWNoKGcs
ZnVuY3Rpb24obCxvKXtvPWEuaXNGdW5jdGlvbihvKT97Y2xpY2s6byx0ZXh0Omx9Om87dmFyIG49
YSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPicpLmNsaWNrKGZ1bmN0aW9uKCl7by5j
bGljay5hcHBseShpLmVsZW1lbnRbMF0sYXJndW1lbnRzKX0pLmFwcGVuZFRvKGopO2EuZWFjaChv
LGZ1bmN0aW9uKGssbSl7aWYoayE9PSJjbGljayIpayBpbiBoP25ba10obSk6bi5hdHRyKGssbSl9
KTthLmZuLmJ1dHRvbiYmbi5idXR0b24oKX0pO2YuYXBwZW5kVG8oaS51aURpYWxvZyl9fSxfbWFr
ZURyYWdnYWJsZTpmdW5jdGlvbigpe2Z1bmN0aW9uIGcobCl7cmV0dXJue3Bvc2l0aW9uOmwucG9z
aXRpb24sb2Zmc2V0Omwub2Zmc2V0fX12YXIgaT10aGlzLGI9aS5vcHRpb25zLGY9YShkb2N1bWVu
dCksajtpLnVpRGlhbG9nLmRyYWdnYWJsZSh7Y2FuY2VsOiIudWktZGlhbG9nLWNvbnRlbnQsIC51
aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiLAotaGFuZGxlOiIudWktZGlhbG9nLXRpdGxlYmFyIixj
b250YWlubWVudDoiZG9jdW1lbnQiLHN0YXJ0OmZ1bmN0aW9uKGwsbyl7aj1iLmhlaWdodD09PSJh
dXRvIj8iYXV0byI6YSh0aGlzKS5oZWlnaHQoKTthKHRoaXMpLmhlaWdodChhKHRoaXMpLmhlaWdo
dCgpKS5hZGRDbGFzcygidWktZGlhbG9nLWRyYWdnaW5nIik7aS5fdHJpZ2dlcigiZHJhZ1N0YXJ0
IixsLGcobykpfSxkcmFnOmZ1bmN0aW9uKGwsbyl7aS5fdHJpZ2dlcigiZHJhZyIsbCxnKG8pKX0s
c3RvcDpmdW5jdGlvbihsLG8pe2IucG9zaXRpb249W28ucG9zaXRpb24ubGVmdC1mLnNjcm9sbExl
ZnQoKSxvLnBvc2l0aW9uLnRvcC1mLnNjcm9sbFRvcCgpXTthKHRoaXMpLnJlbW92ZUNsYXNzKCJ1
aS1kaWFsb2ctZHJhZ2dpbmciKS5oZWlnaHQoaik7aS5fdHJpZ2dlcigiZHJhZ1N0b3AiLGwsZyhv
KSk7YS51aS5kaWFsb2cub3ZlcmxheS5yZXNpemUoKX19KX0sX21ha2VSZXNpemFibGU6ZnVuY3Rp
b24oZyl7ZnVuY3Rpb24gaShsKXtyZXR1cm57b3JpZ2luYWxQb3NpdGlvbjpsLm9yaWdpbmFsUG9z
aXRpb24sCi1vcmlnaW5hbFNpemU6bC5vcmlnaW5hbFNpemUscG9zaXRpb246bC5wb3NpdGlvbixz
aXplOmwuc2l6ZX19Zz1nPT09Yz90aGlzLm9wdGlvbnMucmVzaXphYmxlOmc7dmFyIGI9dGhpcyxm
PWIub3B0aW9ucyxqPWIudWlEaWFsb2cuY3NzKCJwb3NpdGlvbiIpO2c9dHlwZW9mIGc9PT0ic3Ry
aW5nIj9nOiJuLGUscyx3LHNlLHN3LG5lLG53IjtiLnVpRGlhbG9nLnJlc2l6YWJsZSh7Y2FuY2Vs
OiIudWktZGlhbG9nLWNvbnRlbnQiLGNvbnRhaW5tZW50OiJkb2N1bWVudCIsYWxzb1Jlc2l6ZTpi
LmVsZW1lbnQsbWF4V2lkdGg6Zi5tYXhXaWR0aCxtYXhIZWlnaHQ6Zi5tYXhIZWlnaHQsbWluV2lk
dGg6Zi5taW5XaWR0aCxtaW5IZWlnaHQ6Yi5fbWluSGVpZ2h0KCksaGFuZGxlczpnLHN0YXJ0OmZ1
bmN0aW9uKGwsbyl7YSh0aGlzKS5hZGRDbGFzcygidWktZGlhbG9nLXJlc2l6aW5nIik7Yi5fdHJp
Z2dlcigicmVzaXplU3RhcnQiLGwsaShvKSl9LHJlc2l6ZTpmdW5jdGlvbihsLG8pe2IuX3RyaWdn
ZXIoInJlc2l6ZSIsCi1sLGkobykpfSxzdG9wOmZ1bmN0aW9uKGwsbyl7YSh0aGlzKS5yZW1vdmVD
bGFzcygidWktZGlhbG9nLXJlc2l6aW5nIik7Zi5oZWlnaHQ9YSh0aGlzKS5oZWlnaHQoKTtmLndp
ZHRoPWEodGhpcykud2lkdGgoKTtiLl90cmlnZ2VyKCJyZXNpemVTdG9wIixsLGkobykpO2EudWku
ZGlhbG9nLm92ZXJsYXkucmVzaXplKCl9fSkuY3NzKCJwb3NpdGlvbiIsaikuZmluZCgiLnVpLXJl
c2l6YWJsZS1zZSIpLmFkZENsYXNzKCJ1aS1pY29uIHVpLWljb24tZ3JpcC1kaWFnb25hbC1zZSIp
fSxfbWluSGVpZ2h0OmZ1bmN0aW9uKCl7dmFyIGc9dGhpcy5vcHRpb25zO3JldHVybiBnLmhlaWdo
dD09PSJhdXRvIj9nLm1pbkhlaWdodDpNYXRoLm1pbihnLm1pbkhlaWdodCxnLmhlaWdodCl9LF9w
b3NpdGlvbjpmdW5jdGlvbihnKXt2YXIgaT1bXSxiPVswLDBdLGY7aWYoZyl7aWYodHlwZW9mIGc9
PT0ic3RyaW5nInx8dHlwZW9mIGc9PT0ib2JqZWN0IiYmIjAiaW4gZyl7aT1nLnNwbGl0P2cuc3Bs
aXQoIiAiKToKLVtnWzBdLGdbMV1dO2lmKGkubGVuZ3RoPT09MSlpWzFdPWlbMF07YS5lYWNoKFsi
bGVmdCIsInRvcCJdLGZ1bmN0aW9uKGosbCl7aWYoK2lbal09PT1pW2pdKXtiW2pdPWlbal07aVtq
XT1sfX0pO2c9e215Omkuam9pbigiICIpLGF0Omkuam9pbigiICIpLG9mZnNldDpiLmpvaW4oIiAi
KX19Zz1hLmV4dGVuZCh7fSxhLnVpLmRpYWxvZy5wcm90b3R5cGUub3B0aW9ucy5wb3NpdGlvbixn
KX1lbHNlIGc9YS51aS5kaWFsb2cucHJvdG90eXBlLm9wdGlvbnMucG9zaXRpb247KGY9dGhpcy51
aURpYWxvZy5pcygiOnZpc2libGUiKSl8fHRoaXMudWlEaWFsb2cuc2hvdygpO3RoaXMudWlEaWFs
b2cuY3NzKHt0b3A6MCxsZWZ0OjB9KS5wb3NpdGlvbihhLmV4dGVuZCh7b2Y6d2luZG93fSxnKSk7
Znx8dGhpcy51aURpYWxvZy5oaWRlKCl9LF9zZXRPcHRpb25zOmZ1bmN0aW9uKGcpe3ZhciBpPXRo
aXMsYj17fSxmPWZhbHNlO2EuZWFjaChnLGZ1bmN0aW9uKGosbCl7aS5fc2V0T3B0aW9uKGosbCk7
Ci1pZihqIGluIGQpZj10cnVlO2lmKGogaW4gZSliW2pdPWx9KTtmJiZ0aGlzLl9zaXplKCk7dGhp
cy51aURpYWxvZy5pcygiOmRhdGEocmVzaXphYmxlKSIpJiZ0aGlzLnVpRGlhbG9nLnJlc2l6YWJs
ZSgib3B0aW9uIixiKX0sX3NldE9wdGlvbjpmdW5jdGlvbihnLGkpe3ZhciBiPXRoaXMsZj1iLnVp
RGlhbG9nO3N3aXRjaChnKXtjYXNlICJiZWZvcmVjbG9zZSI6Zz0iYmVmb3JlQ2xvc2UiO2JyZWFr
O2Nhc2UgImJ1dHRvbnMiOmIuX2NyZWF0ZUJ1dHRvbnMoaSk7YnJlYWs7Y2FzZSAiY2xvc2VUZXh0
IjpiLnVpRGlhbG9nVGl0bGViYXJDbG9zZVRleHQudGV4dCgiIitpKTticmVhaztjYXNlICJkaWFs
b2dDbGFzcyI6Zi5yZW1vdmVDbGFzcyhiLm9wdGlvbnMuZGlhbG9nQ2xhc3MpLmFkZENsYXNzKCJ1
aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgIitpKTti
cmVhaztjYXNlICJkaXNhYmxlZCI6aT9mLmFkZENsYXNzKCJ1aS1kaWFsb2ctZGlzYWJsZWQiKToK
LWYucmVtb3ZlQ2xhc3MoInVpLWRpYWxvZy1kaXNhYmxlZCIpO2JyZWFrO2Nhc2UgImRyYWdnYWJs
ZSI6dmFyIGo9Zi5pcygiOmRhdGEoZHJhZ2dhYmxlKSIpO2omJiFpJiZmLmRyYWdnYWJsZSgiZGVz
dHJveSIpOyFqJiZpJiZiLl9tYWtlRHJhZ2dhYmxlKCk7YnJlYWs7Y2FzZSAicG9zaXRpb24iOmIu
X3Bvc2l0aW9uKGkpO2JyZWFrO2Nhc2UgInJlc2l6YWJsZSI6KGo9Zi5pcygiOmRhdGEocmVzaXph
YmxlKSIpKSYmIWkmJmYucmVzaXphYmxlKCJkZXN0cm95Iik7aiYmdHlwZW9mIGk9PT0ic3RyaW5n
IiYmZi5yZXNpemFibGUoIm9wdGlvbiIsImhhbmRsZXMiLGkpOyFqJiZpIT09ZmFsc2UmJmIuX21h
a2VSZXNpemFibGUoaSk7YnJlYWs7Y2FzZSAidGl0bGUiOmEoIi51aS1kaWFsb2ctdGl0bGUiLGIu
dWlEaWFsb2dUaXRsZWJhcikuaHRtbCgiIisoaXx8IiYjMTYwOyIpKTticmVha31hLldpZGdldC5w
cm90b3R5cGUuX3NldE9wdGlvbi5hcHBseShiLGFyZ3VtZW50cyl9LF9zaXplOmZ1bmN0aW9uKCl7
dmFyIGc9Ci10aGlzLm9wdGlvbnMsaSxiLGY9dGhpcy51aURpYWxvZy5pcygiOnZpc2libGUiKTt0
aGlzLmVsZW1lbnQuc2hvdygpLmNzcyh7d2lkdGg6ImF1dG8iLG1pbkhlaWdodDowLGhlaWdodDow
fSk7aWYoZy5taW5XaWR0aD5nLndpZHRoKWcud2lkdGg9Zy5taW5XaWR0aDtpPXRoaXMudWlEaWFs
b2cuY3NzKHtoZWlnaHQ6ImF1dG8iLHdpZHRoOmcud2lkdGh9KS5oZWlnaHQoKTtiPU1hdGgubWF4
KDAsZy5taW5IZWlnaHQtaSk7aWYoZy5oZWlnaHQ9PT0iYXV0byIpaWYoYS5zdXBwb3J0Lm1pbkhl
aWdodCl0aGlzLmVsZW1lbnQuY3NzKHttaW5IZWlnaHQ6YixoZWlnaHQ6ImF1dG8ifSk7ZWxzZXt0
aGlzLnVpRGlhbG9nLnNob3coKTtnPXRoaXMuZWxlbWVudC5jc3MoImhlaWdodCIsImF1dG8iKS5o
ZWlnaHQoKTtmfHx0aGlzLnVpRGlhbG9nLmhpZGUoKTt0aGlzLmVsZW1lbnQuaGVpZ2h0KE1hdGgu
bWF4KGcsYikpfWVsc2UgdGhpcy5lbGVtZW50LmhlaWdodChNYXRoLm1heChnLmhlaWdodC0KLWks
MCkpO3RoaXMudWlEaWFsb2cuaXMoIjpkYXRhKHJlc2l6YWJsZSkiKSYmdGhpcy51aURpYWxvZy5y
ZXNpemFibGUoIm9wdGlvbiIsIm1pbkhlaWdodCIsdGhpcy5fbWluSGVpZ2h0KCkpfX0pO2EuZXh0
ZW5kKGEudWkuZGlhbG9nLHt2ZXJzaW9uOiIxLjguMTUiLHV1aWQ6MCxtYXhaOjAsZ2V0VGl0bGVJ
ZDpmdW5jdGlvbihnKXtnPWcuYXR0cigiaWQiKTtpZighZyl7dGhpcy51dWlkKz0xO2c9dGhpcy51
dWlkfXJldHVybiJ1aS1kaWFsb2ctdGl0bGUtIitnfSxvdmVybGF5OmZ1bmN0aW9uKGcpe3RoaXMu
JGVsPWEudWkuZGlhbG9nLm92ZXJsYXkuY3JlYXRlKGcpfX0pO2EuZXh0ZW5kKGEudWkuZGlhbG9n
Lm92ZXJsYXkse2luc3RhbmNlczpbXSxvbGRJbnN0YW5jZXM6W10sbWF4WjowLGV2ZW50czphLm1h
cCgiZm9jdXMsbW91c2Vkb3duLG1vdXNldXAsa2V5ZG93bixrZXlwcmVzcyxjbGljayIuc3BsaXQo
IiwiKSxmdW5jdGlvbihnKXtyZXR1cm4gZysiLmRpYWxvZy1vdmVybGF5In0pLmpvaW4oIiAiKSwK
LWNyZWF0ZTpmdW5jdGlvbihnKXtpZih0aGlzLmluc3RhbmNlcy5sZW5ndGg9PT0wKXtzZXRUaW1l
b3V0KGZ1bmN0aW9uKCl7YS51aS5kaWFsb2cub3ZlcmxheS5pbnN0YW5jZXMubGVuZ3RoJiZhKGRv
Y3VtZW50KS5iaW5kKGEudWkuZGlhbG9nLm92ZXJsYXkuZXZlbnRzLGZ1bmN0aW9uKGIpe2lmKGEo
Yi50YXJnZXQpLnpJbmRleCgpPGEudWkuZGlhbG9nLm92ZXJsYXkubWF4WilyZXR1cm4gZmFsc2V9
KX0sMSk7YShkb2N1bWVudCkuYmluZCgia2V5ZG93bi5kaWFsb2ctb3ZlcmxheSIsZnVuY3Rpb24o
Yil7aWYoZy5vcHRpb25zLmNsb3NlT25Fc2NhcGUmJmIua2V5Q29kZSYmYi5rZXlDb2RlPT09YS51
aS5rZXlDb2RlLkVTQ0FQRSl7Zy5jbG9zZShiKTtiLnByZXZlbnREZWZhdWx0KCl9fSk7YSh3aW5k
b3cpLmJpbmQoInJlc2l6ZS5kaWFsb2ctb3ZlcmxheSIsYS51aS5kaWFsb2cub3ZlcmxheS5yZXNp
emUpfXZhciBpPSh0aGlzLm9sZEluc3RhbmNlcy5wb3AoKXx8YSgiPGRpdj48L2Rpdj4iKS5hZGRD
bGFzcygidWktd2lkZ2V0LW92ZXJsYXkiKSkuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSkuY3NzKHt3
aWR0aDp0aGlzLndpZHRoKCksCi1oZWlnaHQ6dGhpcy5oZWlnaHQoKX0pO2EuZm4uYmdpZnJhbWUm
JmkuYmdpZnJhbWUoKTt0aGlzLmluc3RhbmNlcy5wdXNoKGkpO3JldHVybiBpfSxkZXN0cm95OmZ1
bmN0aW9uKGcpe3ZhciBpPWEuaW5BcnJheShnLHRoaXMuaW5zdGFuY2VzKTtpIT0tMSYmdGhpcy5v
bGRJbnN0YW5jZXMucHVzaCh0aGlzLmluc3RhbmNlcy5zcGxpY2UoaSwxKVswXSk7dGhpcy5pbnN0
YW5jZXMubGVuZ3RoPT09MCYmYShbZG9jdW1lbnQsd2luZG93XSkudW5iaW5kKCIuZGlhbG9nLW92
ZXJsYXkiKTtnLnJlbW92ZSgpO3ZhciBiPTA7YS5lYWNoKHRoaXMuaW5zdGFuY2VzLGZ1bmN0aW9u
KCl7Yj1NYXRoLm1heChiLHRoaXMuY3NzKCJ6LWluZGV4IikpfSk7dGhpcy5tYXhaPWJ9LGhlaWdo
dDpmdW5jdGlvbigpe3ZhciBnLGk7aWYoYS5icm93c2VyLm1zaWUmJmEuYnJvd3Nlci52ZXJzaW9u
PDcpe2c9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCxkb2N1
bWVudC5ib2R5LnNjcm9sbEhlaWdodCk7Ci1pPU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5vZmZzZXRIZWlnaHQsZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQpO3JldHVybiBnPGk/
YSh3aW5kb3cpLmhlaWdodCgpKyJweCI6ZysicHgifWVsc2UgcmV0dXJuIGEoZG9jdW1lbnQpLmhl
aWdodCgpKyJweCJ9LHdpZHRoOmZ1bmN0aW9uKCl7dmFyIGcsaTtpZihhLmJyb3dzZXIubXNpZSl7
Zz1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsV2lkdGgsZG9jdW1lbnQu
Ym9keS5zY3JvbGxXaWR0aCk7aT1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zm
c2V0V2lkdGgsZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCk7cmV0dXJuIGc8aT9hKHdpbmRvdyku
d2lkdGgoKSsicHgiOmcrInB4In1lbHNlIHJldHVybiBhKGRvY3VtZW50KS53aWR0aCgpKyJweCJ9
LHJlc2l6ZTpmdW5jdGlvbigpe3ZhciBnPWEoW10pO2EuZWFjaChhLnVpLmRpYWxvZy5vdmVybGF5
Lmluc3RhbmNlcyxmdW5jdGlvbigpe2c9Ci1nLmFkZCh0aGlzKX0pO2cuY3NzKHt3aWR0aDowLGhl
aWdodDowfSkuY3NzKHt3aWR0aDphLnVpLmRpYWxvZy5vdmVybGF5LndpZHRoKCksaGVpZ2h0OmEu
dWkuZGlhbG9nLm92ZXJsYXkuaGVpZ2h0KCl9KX19KTthLmV4dGVuZChhLnVpLmRpYWxvZy5vdmVy
bGF5LnByb3RvdHlwZSx7ZGVzdHJveTpmdW5jdGlvbigpe2EudWkuZGlhbG9nLm92ZXJsYXkuZGVz
dHJveSh0aGlzLiRlbCl9fSl9KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2EudWk9YS51aXx8e307
dmFyIGM9L2xlZnR8Y2VudGVyfHJpZ2h0LyxkPS90b3B8Y2VudGVyfGJvdHRvbS8sZT1hLmZuLnBv
c2l0aW9uLGg9YS5mbi5vZmZzZXQ7YS5mbi5wb3NpdGlvbj1mdW5jdGlvbihnKXtpZighZ3x8IWcu
b2YpcmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO2c9YS5leHRlbmQoe30sZyk7dmFyIGk9
YShnLm9mKSxiPWlbMF0sZj0oZy5jb2xsaXNpb258fCJmbGlwIikuc3BsaXQoIiAiKSxqPWcub2Zm
c2V0P2cub2Zmc2V0LnNwbGl0KCIgIik6WzAsMF0sbCxvLG47aWYoYi5ub2RlVHlwZT09PTkpe2w9
aS53aWR0aCgpO289aS5oZWlnaHQoKTtuPXt0b3A6MCxsZWZ0OjB9fWVsc2UgaWYoYi5zZXRUaW1l
b3V0KXtsPWkud2lkdGgoKTtvPWkuaGVpZ2h0KCk7bj17dG9wOmkuc2Nyb2xsVG9wKCksbGVmdDpp
LnNjcm9sbExlZnQoKX19ZWxzZSBpZihiLnByZXZlbnREZWZhdWx0KXtnLmF0PSJsZWZ0IHRvcCI7
bD1vPTA7bj17dG9wOmcub2YucGFnZVksCi1sZWZ0Omcub2YucGFnZVh9fWVsc2V7bD1pLm91dGVy
V2lkdGgoKTtvPWkub3V0ZXJIZWlnaHQoKTtuPWkub2Zmc2V0KCl9YS5lYWNoKFsibXkiLCJhdCJd
LGZ1bmN0aW9uKCl7dmFyIGs9KGdbdGhpc118fCIiKS5zcGxpdCgiICIpO2lmKGsubGVuZ3RoPT09
MSlrPWMudGVzdChrWzBdKT9rLmNvbmNhdChbImNlbnRlciJdKTpkLnRlc3Qoa1swXSk/WyJjZW50
ZXIiXS5jb25jYXQoayk6WyJjZW50ZXIiLCJjZW50ZXIiXTtrWzBdPWMudGVzdChrWzBdKT9rWzBd
OiJjZW50ZXIiO2tbMV09ZC50ZXN0KGtbMV0pP2tbMV06ImNlbnRlciI7Z1t0aGlzXT1rfSk7aWYo
Zi5sZW5ndGg9PT0xKWZbMV09ZlswXTtqWzBdPXBhcnNlSW50KGpbMF0sMTApfHwwO2lmKGoubGVu
Z3RoPT09MSlqWzFdPWpbMF07alsxXT1wYXJzZUludChqWzFdLDEwKXx8MDtpZihnLmF0WzBdPT09
InJpZ2h0IiluLmxlZnQrPWw7ZWxzZSBpZihnLmF0WzBdPT09ImNlbnRlciIpbi5sZWZ0Kz1sLzI7
aWYoZy5hdFsxXT09PSJib3R0b20iKW4udG9wKz0KLW87ZWxzZSBpZihnLmF0WzFdPT09ImNlbnRl
ciIpbi50b3ArPW8vMjtuLmxlZnQrPWpbMF07bi50b3ArPWpbMV07cmV0dXJuIHRoaXMuZWFjaChm
dW5jdGlvbigpe3ZhciBrPWEodGhpcyksbT1rLm91dGVyV2lkdGgoKSxwPWsub3V0ZXJIZWlnaHQo
KSxxPXBhcnNlSW50KGEuY3VyQ1NTKHRoaXMsIm1hcmdpbkxlZnQiLHRydWUpKXx8MCxzPXBhcnNl
SW50KGEuY3VyQ1NTKHRoaXMsIm1hcmdpblRvcCIsdHJ1ZSkpfHwwLHI9bStxKyhwYXJzZUludChh
LmN1ckNTUyh0aGlzLCJtYXJnaW5SaWdodCIsdHJ1ZSkpfHwwKSx1PXArcysocGFyc2VJbnQoYS5j
dXJDU1ModGhpcywibWFyZ2luQm90dG9tIix0cnVlKSl8fDApLHY9YS5leHRlbmQoe30sbiksdztp
ZihnLm15WzBdPT09InJpZ2h0Iil2LmxlZnQtPW07ZWxzZSBpZihnLm15WzBdPT09ImNlbnRlciIp
di5sZWZ0LT1tLzI7aWYoZy5teVsxXT09PSJib3R0b20iKXYudG9wLT1wO2Vsc2UgaWYoZy5teVsx
XT09PSJjZW50ZXIiKXYudG9wLT0KLXAvMjt2LmxlZnQ9TWF0aC5yb3VuZCh2LmxlZnQpO3YudG9w
PU1hdGgucm91bmQodi50b3ApO3c9e2xlZnQ6di5sZWZ0LXEsdG9wOnYudG9wLXN9O2EuZWFjaChb
ImxlZnQiLCJ0b3AiXSxmdW5jdGlvbih4LHkpe2EudWkucG9zaXRpb25bZlt4XV0mJmEudWkucG9z
aXRpb25bZlt4XV1beV0odix7dGFyZ2V0V2lkdGg6bCx0YXJnZXRIZWlnaHQ6byxlbGVtV2lkdGg6
bSxlbGVtSGVpZ2h0OnAsY29sbGlzaW9uUG9zaXRpb246dyxjb2xsaXNpb25XaWR0aDpyLGNvbGxp
c2lvbkhlaWdodDp1LG9mZnNldDpqLG15OmcubXksYXQ6Zy5hdH0pfSk7YS5mbi5iZ2lmcmFtZSYm
ay5iZ2lmcmFtZSgpO2sub2Zmc2V0KGEuZXh0ZW5kKHYse3VzaW5nOmcudXNpbmd9KSl9KX07YS51
aS5wb3NpdGlvbj17Zml0OntsZWZ0OmZ1bmN0aW9uKGcsaSl7dmFyIGI9YSh3aW5kb3cpO2I9aS5j
b2xsaXNpb25Qb3NpdGlvbi5sZWZ0K2kuY29sbGlzaW9uV2lkdGgtYi53aWR0aCgpLWIuc2Nyb2xs
TGVmdCgpO2cubGVmdD0KLWI+MD9nLmxlZnQtYjpNYXRoLm1heChnLmxlZnQtaS5jb2xsaXNpb25Q
b3NpdGlvbi5sZWZ0LGcubGVmdCl9LHRvcDpmdW5jdGlvbihnLGkpe3ZhciBiPWEod2luZG93KTti
PWkuY29sbGlzaW9uUG9zaXRpb24udG9wK2kuY29sbGlzaW9uSGVpZ2h0LWIuaGVpZ2h0KCktYi5z
Y3JvbGxUb3AoKTtnLnRvcD1iPjA/Zy50b3AtYjpNYXRoLm1heChnLnRvcC1pLmNvbGxpc2lvblBv
c2l0aW9uLnRvcCxnLnRvcCl9fSxmbGlwOntsZWZ0OmZ1bmN0aW9uKGcsaSl7aWYoaS5hdFswXSE9
PSJjZW50ZXIiKXt2YXIgYj1hKHdpbmRvdyk7Yj1pLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQraS5j
b2xsaXNpb25XaWR0aC1iLndpZHRoKCktYi5zY3JvbGxMZWZ0KCk7dmFyIGY9aS5teVswXT09PSJs
ZWZ0Ij8taS5lbGVtV2lkdGg6aS5teVswXT09PSJyaWdodCI/aS5lbGVtV2lkdGg6MCxqPWkuYXRb
MF09PT0ibGVmdCI/aS50YXJnZXRXaWR0aDotaS50YXJnZXRXaWR0aCxsPS0yKmkub2Zmc2V0WzBd
O2cubGVmdCs9Ci1pLmNvbGxpc2lvblBvc2l0aW9uLmxlZnQ8MD9mK2orbDpiPjA/ZitqK2w6MH19
LHRvcDpmdW5jdGlvbihnLGkpe2lmKGkuYXRbMV0hPT0iY2VudGVyIil7dmFyIGI9YSh3aW5kb3cp
O2I9aS5jb2xsaXNpb25Qb3NpdGlvbi50b3AraS5jb2xsaXNpb25IZWlnaHQtYi5oZWlnaHQoKS1i
LnNjcm9sbFRvcCgpO3ZhciBmPWkubXlbMV09PT0idG9wIj8taS5lbGVtSGVpZ2h0OmkubXlbMV09
PT0iYm90dG9tIj9pLmVsZW1IZWlnaHQ6MCxqPWkuYXRbMV09PT0idG9wIj9pLnRhcmdldEhlaWdo
dDotaS50YXJnZXRIZWlnaHQsbD0tMippLm9mZnNldFsxXTtnLnRvcCs9aS5jb2xsaXNpb25Qb3Np
dGlvbi50b3A8MD9mK2orbDpiPjA/ZitqK2w6MH19fX07aWYoIWEub2Zmc2V0LnNldE9mZnNldCl7
YS5vZmZzZXQuc2V0T2Zmc2V0PWZ1bmN0aW9uKGcsaSl7aWYoL3N0YXRpYy8udGVzdChhLmN1ckNT
UyhnLCJwb3NpdGlvbiIpKSlnLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7dmFyIGI9YShnKSwK
LWY9Yi5vZmZzZXQoKSxqPXBhcnNlSW50KGEuY3VyQ1NTKGcsInRvcCIsdHJ1ZSksMTApfHwwLGw9
cGFyc2VJbnQoYS5jdXJDU1MoZywibGVmdCIsdHJ1ZSksMTApfHwwO2Y9e3RvcDppLnRvcC1mLnRv
cCtqLGxlZnQ6aS5sZWZ0LWYubGVmdCtsfTsidXNpbmciaW4gaT9pLnVzaW5nLmNhbGwoZyxmKTpi
LmNzcyhmKX07YS5mbi5vZmZzZXQ9ZnVuY3Rpb24oZyl7dmFyIGk9dGhpc1swXTtpZighaXx8IWku
b3duZXJEb2N1bWVudClyZXR1cm4gbnVsbDtpZihnKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24o
KXthLm9mZnNldC5zZXRPZmZzZXQodGhpcyxnKX0pO3JldHVybiBoLmNhbGwodGhpcyl9fX0pKGpR
dWVyeSk7Ci0oZnVuY3Rpb24oYSxjKXthLndpZGdldCgidWkucHJvZ3Jlc3NiYXIiLHtvcHRpb25z
Ont2YWx1ZTowLG1heDoxMDB9LG1pbjowLF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQu
YWRkQ2xhc3MoInVpLXByb2dyZXNzYmFyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1j
b3JuZXItYWxsIikuYXR0cih7cm9sZToicHJvZ3Jlc3NiYXIiLCJhcmlhLXZhbHVlbWluIjp0aGlz
Lm1pbiwiYXJpYS12YWx1ZW1heCI6dGhpcy5vcHRpb25zLm1heCwiYXJpYS12YWx1ZW5vdyI6dGhp
cy5fdmFsdWUoKX0pO3RoaXMudmFsdWVEaXY9YSgiPGRpdiBjbGFzcz0ndWktcHJvZ3Jlc3NiYXIt
dmFsdWUgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItbGVmdCc+PC9kaXY+IikuYXBwZW5kVG8o
dGhpcy5lbGVtZW50KTt0aGlzLm9sZFZhbHVlPXRoaXMuX3ZhbHVlKCk7dGhpcy5fcmVmcmVzaFZh
bHVlKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXBy
b2dyZXNzYmFyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIikucmVt
b3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtaW4iKS5yZW1vdmVBdHRyKCJh
cmlhLXZhbHVlbWF4IikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW5vdyIpOwotdGhpcy52YWx1ZURp
di5yZW1vdmUoKTthLldpZGdldC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzLGFyZ3VtZW50
cyl9LHZhbHVlOmZ1bmN0aW9uKGQpe2lmKGQ9PT1jKXJldHVybiB0aGlzLl92YWx1ZSgpO3RoaXMu
X3NldE9wdGlvbigidmFsdWUiLGQpO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGQs
ZSl7aWYoZD09PSJ2YWx1ZSIpe3RoaXMub3B0aW9ucy52YWx1ZT1lO3RoaXMuX3JlZnJlc2hWYWx1
ZSgpO3RoaXMuX3ZhbHVlKCk9PT10aGlzLm9wdGlvbnMubWF4JiZ0aGlzLl90cmlnZ2VyKCJjb21w
bGV0ZSIpfWEuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRz
KX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5vcHRpb25zLnZhbHVlO2lmKHR5cGVvZiBk
IT09Im51bWJlciIpZD0wO3JldHVybiBNYXRoLm1pbih0aGlzLm9wdGlvbnMubWF4LE1hdGgubWF4
KHRoaXMubWluLGQpKX0sX3BlcmNlbnRhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gMTAwKgotdGhpcy5f
dmFsdWUoKS90aGlzLm9wdGlvbnMubWF4fSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGQ9
dGhpcy52YWx1ZSgpLGU9dGhpcy5fcGVyY2VudGFnZSgpO2lmKHRoaXMub2xkVmFsdWUhPT1kKXt0
aGlzLm9sZFZhbHVlPWQ7dGhpcy5fdHJpZ2dlcigiY2hhbmdlIil9dGhpcy52YWx1ZURpdi50b2dn
bGUoZD50aGlzLm1pbikudG9nZ2xlQ2xhc3MoInVpLWNvcm5lci1yaWdodCIsZD09PXRoaXMub3B0
aW9ucy5tYXgpLndpZHRoKGUudG9GaXhlZCgwKSsiJSIpO3RoaXMuZWxlbWVudC5hdHRyKCJhcmlh
LXZhbHVlbm93IixkKX19KTthLmV4dGVuZChhLnVpLnByb2dyZXNzYmFyLHt2ZXJzaW9uOiIxLjgu
MTUifSl9KShqUXVlcnkpOwotKGZ1bmN0aW9uKGEpe2Eud2lkZ2V0KCJ1aS5zbGlkZXIiLGEudWku
bW91c2Use3dpZGdldEV2ZW50UHJlZml4OiJzbGlkZSIsb3B0aW9uczp7YW5pbWF0ZTpmYWxzZSxk
aXN0YW5jZTowLG1heDoxMDAsbWluOjAsb3JpZW50YXRpb246Imhvcml6b250YWwiLHJhbmdlOmZh
bHNlLHN0ZXA6MSx2YWx1ZTowLHZhbHVlczpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGM9
dGhpcyxkPXRoaXMub3B0aW9ucyxlPXRoaXMuZWxlbWVudC5maW5kKCIudWktc2xpZGVyLWhhbmRs
ZSIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKSxoPWQudmFsdWVz
JiZkLnZhbHVlcy5sZW5ndGh8fDEsZz1bXTt0aGlzLl9tb3VzZVNsaWRpbmc9dGhpcy5fa2V5U2xp
ZGluZz1mYWxzZTt0aGlzLl9hbmltYXRlT2ZmPXRydWU7dGhpcy5faGFuZGxlSW5kZXg9bnVsbDt0
aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpO3RoaXMuX21vdXNlSW5pdCgpO3RoaXMuZWxlbWVudC5h
ZGRDbGFzcygidWktc2xpZGVyIHVpLXNsaWRlci0iKwotdGhpcy5vcmllbnRhdGlvbisiIHVpLXdp
ZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIisoZC5kaXNhYmxlZD8iIHVpLXNs
aWRlci1kaXNhYmxlZCB1aS1kaXNhYmxlZCI6IiIpKTt0aGlzLnJhbmdlPWEoW10pO2lmKGQucmFu
Z2Upe2lmKGQucmFuZ2U9PT10cnVlKXtpZighZC52YWx1ZXMpZC52YWx1ZXM9W3RoaXMuX3ZhbHVl
TWluKCksdGhpcy5fdmFsdWVNaW4oKV07aWYoZC52YWx1ZXMubGVuZ3RoJiZkLnZhbHVlcy5sZW5n
dGghPT0yKWQudmFsdWVzPVtkLnZhbHVlc1swXSxkLnZhbHVlc1swXV19dGhpcy5yYW5nZT1hKCI8
ZGl2PjwvZGl2PiIpLmFwcGVuZFRvKHRoaXMuZWxlbWVudCkuYWRkQ2xhc3MoInVpLXNsaWRlci1y
YW5nZSB1aS13aWRnZXQtaGVhZGVyIisoZC5yYW5nZT09PSJtaW4ifHxkLnJhbmdlPT09Im1heCI/
IiB1aS1zbGlkZXItcmFuZ2UtIitkLnJhbmdlOiIiKSl9Zm9yKHZhciBpPWUubGVuZ3RoO2k8aDtp
Kz0xKWcucHVzaCgiPGEgY2xhc3M9J3VpLXNsaWRlci1oYW5kbGUgdWktc3RhdGUtZGVmYXVsdCB1
aS1jb3JuZXItYWxsJyBocmVmPScjJz48L2E+Iik7Ci10aGlzLmhhbmRsZXM9ZS5hZGQoYShnLmpv
aW4oIiIpKS5hcHBlbmRUbyhjLmVsZW1lbnQpKTt0aGlzLmhhbmRsZT10aGlzLmhhbmRsZXMuZXEo
MCk7dGhpcy5oYW5kbGVzLmFkZCh0aGlzLnJhbmdlKS5maWx0ZXIoImEiKS5jbGljayhmdW5jdGlv
bihiKXtiLnByZXZlbnREZWZhdWx0KCl9KS5ob3ZlcihmdW5jdGlvbigpe2QuZGlzYWJsZWR8fGEo
dGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil9LGZ1bmN0aW9uKCl7YSh0aGlzKS5yZW1v
dmVDbGFzcygidWktc3RhdGUtaG92ZXIiKX0pLmZvY3VzKGZ1bmN0aW9uKCl7aWYoZC5kaXNhYmxl
ZClhKHRoaXMpLmJsdXIoKTtlbHNle2EoIi51aS1zbGlkZXIgLnVpLXN0YXRlLWZvY3VzIikucmVt
b3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIik7YSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtZm9j
dXMiKX19KS5ibHVyKGZ1bmN0aW9uKCl7YSh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9j
dXMiKX0pO3RoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKGIpe2EodGhpcykuZGF0YSgiaW5kZXgu
dWktc2xpZGVyLWhhbmRsZSIsCi1iKX0pO3RoaXMuaGFuZGxlcy5rZXlkb3duKGZ1bmN0aW9uKGIp
e3ZhciBmPXRydWUsaj1hKHRoaXMpLmRhdGEoImluZGV4LnVpLXNsaWRlci1oYW5kbGUiKSxsLG8s
bjtpZighYy5vcHRpb25zLmRpc2FibGVkKXtzd2l0Y2goYi5rZXlDb2RlKXtjYXNlIGEudWkua2V5
Q29kZS5IT01FOmNhc2UgYS51aS5rZXlDb2RlLkVORDpjYXNlIGEudWkua2V5Q29kZS5QQUdFX1VQ
OmNhc2UgYS51aS5rZXlDb2RlLlBBR0VfRE9XTjpjYXNlIGEudWkua2V5Q29kZS5VUDpjYXNlIGEu
dWkua2V5Q29kZS5SSUdIVDpjYXNlIGEudWkua2V5Q29kZS5ET1dOOmNhc2UgYS51aS5rZXlDb2Rl
LkxFRlQ6Zj1mYWxzZTtpZighYy5fa2V5U2xpZGluZyl7Yy5fa2V5U2xpZGluZz10cnVlO2EodGhp
cykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpO2w9Yy5fc3RhcnQoYixqKTtpZihsPT09ZmFs
c2UpcmV0dXJufWJyZWFrfW49Yy5vcHRpb25zLnN0ZXA7bD1jLm9wdGlvbnMudmFsdWVzJiZjLm9w
dGlvbnMudmFsdWVzLmxlbmd0aD8KLShvPWMudmFsdWVzKGopKToobz1jLnZhbHVlKCkpO3N3aXRj
aChiLmtleUNvZGUpe2Nhc2UgYS51aS5rZXlDb2RlLkhPTUU6bz1jLl92YWx1ZU1pbigpO2JyZWFr
O2Nhc2UgYS51aS5rZXlDb2RlLkVORDpvPWMuX3ZhbHVlTWF4KCk7YnJlYWs7Y2FzZSBhLnVpLmtl
eUNvZGUuUEFHRV9VUDpvPWMuX3RyaW1BbGlnblZhbHVlKGwrKGMuX3ZhbHVlTWF4KCktYy5fdmFs
dWVNaW4oKSkvNSk7YnJlYWs7Y2FzZSBhLnVpLmtleUNvZGUuUEFHRV9ET1dOOm89Yy5fdHJpbUFs
aWduVmFsdWUobC0oYy5fdmFsdWVNYXgoKS1jLl92YWx1ZU1pbigpKS81KTticmVhaztjYXNlIGEu
dWkua2V5Q29kZS5VUDpjYXNlIGEudWkua2V5Q29kZS5SSUdIVDppZihsPT09Yy5fdmFsdWVNYXgo
KSlyZXR1cm47bz1jLl90cmltQWxpZ25WYWx1ZShsK24pO2JyZWFrO2Nhc2UgYS51aS5rZXlDb2Rl
LkRPV046Y2FzZSBhLnVpLmtleUNvZGUuTEVGVDppZihsPT09Yy5fdmFsdWVNaW4oKSlyZXR1cm47
bz1jLl90cmltQWxpZ25WYWx1ZShsLQotbik7YnJlYWt9Yy5fc2xpZGUoYixqLG8pO3JldHVybiBm
fX0pLmtleXVwKGZ1bmN0aW9uKGIpe3ZhciBmPWEodGhpcykuZGF0YSgiaW5kZXgudWktc2xpZGVy
LWhhbmRsZSIpO2lmKGMuX2tleVNsaWRpbmcpe2MuX2tleVNsaWRpbmc9ZmFsc2U7Yy5fc3RvcChi
LGYpO2MuX2NoYW5nZShiLGYpO2EodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIp
fX0pO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX2FuaW1hdGVPZmY9ZmFsc2V9LGRlc3Ryb3k6
ZnVuY3Rpb24oKXt0aGlzLmhhbmRsZXMucmVtb3ZlKCk7dGhpcy5yYW5nZS5yZW1vdmUoKTt0aGlz
LmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNsaWRlciB1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1z
bGlkZXItdmVydGljYWwgdWktc2xpZGVyLWRpc2FibGVkIHVpLXdpZGdldCB1aS13aWRnZXQtY29u
dGVudCB1aS1jb3JuZXItYWxsIikucmVtb3ZlRGF0YSgic2xpZGVyIikudW5iaW5kKCIuc2xpZGVy
Iik7dGhpcy5fbW91c2VEZXN0cm95KCk7Ci1yZXR1cm4gdGhpc30sX21vdXNlQ2FwdHVyZTpmdW5j
dGlvbihjKXt2YXIgZD10aGlzLm9wdGlvbnMsZSxoLGcsaSxiO2lmKGQuZGlzYWJsZWQpcmV0dXJu
IGZhbHNlO3RoaXMuZWxlbWVudFNpemU9e3dpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCks
aGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpfTt0aGlzLmVsZW1lbnRPZmZzZXQ9dGhp
cy5lbGVtZW50Lm9mZnNldCgpO2U9dGhpcy5fbm9ybVZhbHVlRnJvbU1vdXNlKHt4OmMucGFnZVgs
eTpjLnBhZ2VZfSk7aD10aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCkrMTtpPXRoaXM7
dGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oZil7dmFyIGo9TWF0aC5hYnMoZS1pLnZhbHVlcyhm
KSk7aWYoaD5qKXtoPWo7Zz1hKHRoaXMpO2I9Zn19KTtpZihkLnJhbmdlPT09dHJ1ZSYmdGhpcy52
YWx1ZXMoMSk9PT1kLm1pbil7Yis9MTtnPWEodGhpcy5oYW5kbGVzW2JdKX1pZih0aGlzLl9zdGFy
dChjLGIpPT09ZmFsc2UpcmV0dXJuIGZhbHNlOwotdGhpcy5fbW91c2VTbGlkaW5nPXRydWU7aS5f
aGFuZGxlSW5kZXg9YjtnLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5mb2N1cygpO2Q9Zy5v
ZmZzZXQoKTt0aGlzLl9jbGlja09mZnNldD0hYShjLnRhcmdldCkucGFyZW50cygpLmFuZFNlbGYo
KS5pcygiLnVpLXNsaWRlci1oYW5kbGUiKT97bGVmdDowLHRvcDowfTp7bGVmdDpjLnBhZ2VYLWQu
bGVmdC1nLndpZHRoKCkvMix0b3A6Yy5wYWdlWS1kLnRvcC1nLmhlaWdodCgpLzItKHBhcnNlSW50
KGcuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGcuY3NzKCJib3JkZXJC
b3R0b21XaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGcuY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDAp
fTt0aGlzLmhhbmRsZXMuaGFzQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil8fHRoaXMuX3NsaWRlKGMs
YixlKTtyZXR1cm4gdGhpcy5fYW5pbWF0ZU9mZj10cnVlfSxfbW91c2VTdGFydDpmdW5jdGlvbigp
e3JldHVybiB0cnVlfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGMpe3ZhciBkPQotdGhpcy5fbm9ybVZh
bHVlRnJvbU1vdXNlKHt4OmMucGFnZVgseTpjLnBhZ2VZfSk7dGhpcy5fc2xpZGUoYyx0aGlzLl9o
YW5kbGVJbmRleCxkKTtyZXR1cm4gZmFsc2V9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oYyl7dGhpcy5o
YW5kbGVzLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKTt0aGlzLl9tb3VzZVNsaWRpbmc9
ZmFsc2U7dGhpcy5fc3RvcChjLHRoaXMuX2hhbmRsZUluZGV4KTt0aGlzLl9jaGFuZ2UoYyx0aGlz
Ll9oYW5kbGVJbmRleCk7dGhpcy5fY2xpY2tPZmZzZXQ9dGhpcy5faGFuZGxlSW5kZXg9bnVsbDty
ZXR1cm4gdGhpcy5fYW5pbWF0ZU9mZj1mYWxzZX0sX2RldGVjdE9yaWVudGF0aW9uOmZ1bmN0aW9u
KCl7dGhpcy5vcmllbnRhdGlvbj10aGlzLm9wdGlvbnMub3JpZW50YXRpb249PT0idmVydGljYWwi
PyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwifSxfbm9ybVZhbHVlRnJvbU1vdXNlOmZ1bmN0aW9uKGMp
e3ZhciBkO2lmKHRoaXMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIpe2Q9Ci10aGlzLmVsZW1l
bnRTaXplLndpZHRoO2M9Yy54LXRoaXMuZWxlbWVudE9mZnNldC5sZWZ0LSh0aGlzLl9jbGlja09m
ZnNldD90aGlzLl9jbGlja09mZnNldC5sZWZ0OjApfWVsc2V7ZD10aGlzLmVsZW1lbnRTaXplLmhl
aWdodDtjPWMueS10aGlzLmVsZW1lbnRPZmZzZXQudG9wLSh0aGlzLl9jbGlja09mZnNldD90aGlz
Ll9jbGlja09mZnNldC50b3A6MCl9ZD1jL2Q7aWYoZD4xKWQ9MTtpZihkPDApZD0wO2lmKHRoaXMu
b3JpZW50YXRpb249PT0idmVydGljYWwiKWQ9MS1kO2M9dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92
YWx1ZU1pbigpO3JldHVybiB0aGlzLl90cmltQWxpZ25WYWx1ZSh0aGlzLl92YWx1ZU1pbigpK2Qq
Yyl9LF9zdGFydDpmdW5jdGlvbihjLGQpe3ZhciBlPXtoYW5kbGU6dGhpcy5oYW5kbGVzW2RdLHZh
bHVlOnRoaXMudmFsdWUoKX07aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZh
bHVlcy5sZW5ndGgpe2UudmFsdWU9dGhpcy52YWx1ZXMoZCk7Ci1lLnZhbHVlcz10aGlzLnZhbHVl
cygpfXJldHVybiB0aGlzLl90cmlnZ2VyKCJzdGFydCIsYyxlKX0sX3NsaWRlOmZ1bmN0aW9uKGMs
ZCxlKXt2YXIgaDtpZih0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxl
bmd0aCl7aD10aGlzLnZhbHVlcyhkPzA6MSk7aWYodGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg9
PT0yJiZ0aGlzLm9wdGlvbnMucmFuZ2U9PT10cnVlJiYoZD09PTAmJmU+aHx8ZD09PTEmJmU8aCkp
ZT1oO2lmKGUhPT10aGlzLnZhbHVlcyhkKSl7aD10aGlzLnZhbHVlcygpO2hbZF09ZTtjPXRoaXMu
X3RyaWdnZXIoInNsaWRlIixjLHtoYW5kbGU6dGhpcy5oYW5kbGVzW2RdLHZhbHVlOmUsdmFsdWVz
Omh9KTt0aGlzLnZhbHVlcyhkPzA6MSk7YyE9PWZhbHNlJiZ0aGlzLnZhbHVlcyhkLGUsdHJ1ZSl9
fWVsc2UgaWYoZSE9PXRoaXMudmFsdWUoKSl7Yz10aGlzLl90cmlnZ2VyKCJzbGlkZSIsYyx7aGFu
ZGxlOnRoaXMuaGFuZGxlc1tkXSx2YWx1ZTplfSk7Ci1jIT09ZmFsc2UmJnRoaXMudmFsdWUoZSl9
fSxfc3RvcDpmdW5jdGlvbihjLGQpe3ZhciBlPXtoYW5kbGU6dGhpcy5oYW5kbGVzW2RdLHZhbHVl
OnRoaXMudmFsdWUoKX07aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVl
cy5sZW5ndGgpe2UudmFsdWU9dGhpcy52YWx1ZXMoZCk7ZS52YWx1ZXM9dGhpcy52YWx1ZXMoKX10
aGlzLl90cmlnZ2VyKCJzdG9wIixjLGUpfSxfY2hhbmdlOmZ1bmN0aW9uKGMsZCl7aWYoIXRoaXMu
X2tleVNsaWRpbmcmJiF0aGlzLl9tb3VzZVNsaWRpbmcpe3ZhciBlPXtoYW5kbGU6dGhpcy5oYW5k
bGVzW2RdLHZhbHVlOnRoaXMudmFsdWUoKX07aWYodGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5v
cHRpb25zLnZhbHVlcy5sZW5ndGgpe2UudmFsdWU9dGhpcy52YWx1ZXMoZCk7ZS52YWx1ZXM9dGhp
cy52YWx1ZXMoKX10aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGMsZSl9fSx2YWx1ZTpmdW5jdGlvbihj
KXtpZihhcmd1bWVudHMubGVuZ3RoKXt0aGlzLm9wdGlvbnMudmFsdWU9Ci10aGlzLl90cmltQWxp
Z25WYWx1ZShjKTt0aGlzLl9yZWZyZXNoVmFsdWUoKTt0aGlzLl9jaGFuZ2UobnVsbCwwKX1lbHNl
IHJldHVybiB0aGlzLl92YWx1ZSgpfSx2YWx1ZXM6ZnVuY3Rpb24oYyxkKXt2YXIgZSxoLGc7aWYo
YXJndW1lbnRzLmxlbmd0aD4xKXt0aGlzLm9wdGlvbnMudmFsdWVzW2NdPXRoaXMuX3RyaW1BbGln
blZhbHVlKGQpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpO3RoaXMuX2NoYW5nZShudWxsLGMpfWVsc2Ug
aWYoYXJndW1lbnRzLmxlbmd0aClpZihhLmlzQXJyYXkoYXJndW1lbnRzWzBdKSl7ZT10aGlzLm9w
dGlvbnMudmFsdWVzO2g9YXJndW1lbnRzWzBdO2ZvcihnPTA7ZzxlLmxlbmd0aDtnKz0xKXtlW2dd
PXRoaXMuX3RyaW1BbGlnblZhbHVlKGhbZ10pO3RoaXMuX2NoYW5nZShudWxsLGcpfXRoaXMuX3Jl
ZnJlc2hWYWx1ZSgpfWVsc2UgcmV0dXJuIHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9u
cy52YWx1ZXMubGVuZ3RoP3RoaXMuX3ZhbHVlcyhjKToKLXRoaXMudmFsdWUoKTtlbHNlIHJldHVy
biB0aGlzLl92YWx1ZXMoKX0sX3NldE9wdGlvbjpmdW5jdGlvbihjLGQpe3ZhciBlLGg9MDtpZihh
LmlzQXJyYXkodGhpcy5vcHRpb25zLnZhbHVlcykpaD10aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0
aDthLldpZGdldC5wcm90b3R5cGUuX3NldE9wdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7c3dp
dGNoKGMpe2Nhc2UgImRpc2FibGVkIjppZihkKXt0aGlzLmhhbmRsZXMuZmlsdGVyKCIudWktc3Rh
dGUtZm9jdXMiKS5ibHVyKCk7dGhpcy5oYW5kbGVzLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3Zl
ciIpO3RoaXMuaGFuZGxlcy5wcm9wQXR0cigiZGlzYWJsZWQiLHRydWUpO3RoaXMuZWxlbWVudC5h
ZGRDbGFzcygidWktZGlzYWJsZWQiKX1lbHNle3RoaXMuaGFuZGxlcy5wcm9wQXR0cigiZGlzYWJs
ZWQiLGZhbHNlKTt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRpc2FibGVkIil9YnJlYWs7
Y2FzZSAib3JpZW50YXRpb24iOnRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCk7Ci10aGlzLmVsZW1l
bnQucmVtb3ZlQ2xhc3MoInVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCIp
LmFkZENsYXNzKCJ1aS1zbGlkZXItIit0aGlzLm9yaWVudGF0aW9uKTt0aGlzLl9yZWZyZXNoVmFs
dWUoKTticmVhaztjYXNlICJ2YWx1ZSI6dGhpcy5fYW5pbWF0ZU9mZj10cnVlO3RoaXMuX3JlZnJl
c2hWYWx1ZSgpO3RoaXMuX2NoYW5nZShudWxsLDApO3RoaXMuX2FuaW1hdGVPZmY9ZmFsc2U7YnJl
YWs7Y2FzZSAidmFsdWVzIjp0aGlzLl9hbmltYXRlT2ZmPXRydWU7dGhpcy5fcmVmcmVzaFZhbHVl
KCk7Zm9yKGU9MDtlPGg7ZSs9MSl0aGlzLl9jaGFuZ2UobnVsbCxlKTt0aGlzLl9hbmltYXRlT2Zm
PWZhbHNlO2JyZWFrfX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIGM9dGhpcy5vcHRpb25zLnZhbHVl
O3JldHVybiBjPXRoaXMuX3RyaW1BbGlnblZhbHVlKGMpfSxfdmFsdWVzOmZ1bmN0aW9uKGMpe3Zh
ciBkLGU7aWYoYXJndW1lbnRzLmxlbmd0aCl7ZD10aGlzLm9wdGlvbnMudmFsdWVzW2NdOwotcmV0
dXJuIGQ9dGhpcy5fdHJpbUFsaWduVmFsdWUoZCl9ZWxzZXtkPXRoaXMub3B0aW9ucy52YWx1ZXMu
c2xpY2UoKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSs9MSlkW2VdPXRoaXMuX3RyaW1BbGlnblZhbHVl
KGRbZV0pO3JldHVybiBkfX0sX3RyaW1BbGlnblZhbHVlOmZ1bmN0aW9uKGMpe2lmKGM8PXRoaXMu
X3ZhbHVlTWluKCkpcmV0dXJuIHRoaXMuX3ZhbHVlTWluKCk7aWYoYz49dGhpcy5fdmFsdWVNYXgo
KSlyZXR1cm4gdGhpcy5fdmFsdWVNYXgoKTt2YXIgZD10aGlzLm9wdGlvbnMuc3RlcD4wP3RoaXMu
b3B0aW9ucy5zdGVwOjEsZT0oYy10aGlzLl92YWx1ZU1pbigpKSVkO2M9Yy1lO2lmKE1hdGguYWJz
KGUpKjI+PWQpYys9ZT4wP2Q6LWQ7cmV0dXJuIHBhcnNlRmxvYXQoYy50b0ZpeGVkKDUpKX0sX3Zh
bHVlTWluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5taW59LF92YWx1ZU1heDpmdW5j
dGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMubWF4fSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7
dmFyIGM9Ci10aGlzLm9wdGlvbnMucmFuZ2UsZD10aGlzLm9wdGlvbnMsZT10aGlzLGg9IXRoaXMu
X2FuaW1hdGVPZmY/ZC5hbmltYXRlOmZhbHNlLGcsaT17fSxiLGYsaixsO2lmKHRoaXMub3B0aW9u
cy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXRoaXMuaGFuZGxlcy5lYWNoKGZ1
bmN0aW9uKG8pe2c9KGUudmFsdWVzKG8pLWUuX3ZhbHVlTWluKCkpLyhlLl92YWx1ZU1heCgpLWUu
X3ZhbHVlTWluKCkpKjEwMDtpW2Uub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCI/ImxlZnQiOiJi
b3R0b20iXT1nKyIlIjthKHRoaXMpLnN0b3AoMSwxKVtoPyJhbmltYXRlIjoiY3NzIl0oaSxkLmFu
aW1hdGUpO2lmKGUub3B0aW9ucy5yYW5nZT09PXRydWUpaWYoZS5vcmllbnRhdGlvbj09PSJob3Jp
em9udGFsIil7aWYobz09PTApZS5yYW5nZS5zdG9wKDEsMSlbaD8iYW5pbWF0ZSI6ImNzcyJdKHts
ZWZ0OmcrIiUifSxkLmFuaW1hdGUpO2lmKG89PT0xKWUucmFuZ2VbaD8iYW5pbWF0ZSI6ImNzcyJd
KHt3aWR0aDpnLQotYisiJSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpkLmFuaW1hdGV9KX1lbHNl
e2lmKG89PT0wKWUucmFuZ2Uuc3RvcCgxLDEpW2g/ImFuaW1hdGUiOiJjc3MiXSh7Ym90dG9tOmcr
IiUifSxkLmFuaW1hdGUpO2lmKG89PT0xKWUucmFuZ2VbaD8iYW5pbWF0ZSI6ImNzcyJdKHtoZWln
aHQ6Zy1iKyIlIn0se3F1ZXVlOmZhbHNlLGR1cmF0aW9uOmQuYW5pbWF0ZX0pfWI9Z30pO2Vsc2V7
Zj10aGlzLnZhbHVlKCk7aj10aGlzLl92YWx1ZU1pbigpO2w9dGhpcy5fdmFsdWVNYXgoKTtnPWwh
PT1qPyhmLWopLyhsLWopKjEwMDowO2lbZS5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIj8ibGVm
dCI6ImJvdHRvbSJdPWcrIiUiO3RoaXMuaGFuZGxlLnN0b3AoMSwxKVtoPyJhbmltYXRlIjoiY3Nz
Il0oaSxkLmFuaW1hdGUpO2lmKGM9PT0ibWluIiYmdGhpcy5vcmllbnRhdGlvbj09PSJob3Jpem9u
dGFsIil0aGlzLnJhbmdlLnN0b3AoMSwxKVtoPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmcrIiUi
fSwKLWQuYW5pbWF0ZSk7aWYoYz09PSJtYXgiJiZ0aGlzLm9yaWVudGF0aW9uPT09Imhvcml6b250
YWwiKXRoaXMucmFuZ2VbaD8iYW5pbWF0ZSI6ImNzcyJdKHt3aWR0aDoxMDAtZysiJSJ9LHtxdWV1
ZTpmYWxzZSxkdXJhdGlvbjpkLmFuaW1hdGV9KTtpZihjPT09Im1pbiImJnRoaXMub3JpZW50YXRp
b249PT0idmVydGljYWwiKXRoaXMucmFuZ2Uuc3RvcCgxLDEpW2g/ImFuaW1hdGUiOiJjc3MiXSh7
aGVpZ2h0OmcrIiUifSxkLmFuaW1hdGUpO2lmKGM9PT0ibWF4IiYmdGhpcy5vcmllbnRhdGlvbj09
PSJ2ZXJ0aWNhbCIpdGhpcy5yYW5nZVtoPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDoxMDAtZysi
JSJ9LHtxdWV1ZTpmYWxzZSxkdXJhdGlvbjpkLmFuaW1hdGV9KX19fSk7YS5leHRlbmQoYS51aS5z
bGlkZXIse3ZlcnNpb246IjEuOC4xNSJ9KX0pKGpRdWVyeSk7Ci0oZnVuY3Rpb24oYSxjKXtmdW5j
dGlvbiBkKCl7cmV0dXJuKytofWZ1bmN0aW9uIGUoKXtyZXR1cm4rK2d9dmFyIGg9MCxnPTA7YS53
aWRnZXQoInVpLnRhYnMiLHtvcHRpb25zOnthZGQ6bnVsbCxhamF4T3B0aW9uczpudWxsLGNhY2hl
OmZhbHNlLGNvb2tpZTpudWxsLGNvbGxhcHNpYmxlOmZhbHNlLGRpc2FibGU6bnVsbCxkaXNhYmxl
ZDpbXSxlbmFibGU6bnVsbCxldmVudDoiY2xpY2siLGZ4Om51bGwsaWRQcmVmaXg6InVpLXRhYnMt
Iixsb2FkOm51bGwscGFuZWxUZW1wbGF0ZToiPGRpdj48L2Rpdj4iLHJlbW92ZTpudWxsLHNlbGVj
dDpudWxsLHNob3c6bnVsbCxzcGlubmVyOiI8ZW0+TG9hZGluZyYjODIzMDs8L2VtPiIsdGFiVGVt
cGxhdGU6IjxsaT48YSBocmVmPScje2hyZWZ9Jz48c3Bhbj4je2xhYmVsfTwvc3Bhbj48L2E+PC9s
aT4ifSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5fdGFiaWZ5KHRydWUpfSxfc2V0T3B0aW9uOmZ1
bmN0aW9uKGksYil7aWYoaT09InNlbGVjdGVkIil0aGlzLm9wdGlvbnMuY29sbGFwc2libGUmJgot
Yj09dGhpcy5vcHRpb25zLnNlbGVjdGVkfHx0aGlzLnNlbGVjdChiKTtlbHNle3RoaXMub3B0aW9u
c1tpXT1iO3RoaXMuX3RhYmlmeSgpfX0sX3RhYklkOmZ1bmN0aW9uKGkpe3JldHVybiBpLnRpdGxl
JiZpLnRpdGxlLnJlcGxhY2UoL1xzL2csIl8iKS5yZXBsYWNlKC9bXlx3XHUwMGMwLVx1RkZGRi1d
L2csIiIpfHx0aGlzLm9wdGlvbnMuaWRQcmVmaXgrZCgpfSxfc2FuaXRpemVTZWxlY3RvcjpmdW5j
dGlvbihpKXtyZXR1cm4gaS5yZXBsYWNlKC86L2csIlxcOiIpfSxfY29va2llOmZ1bmN0aW9uKCl7
dmFyIGk9dGhpcy5jb29raWV8fCh0aGlzLmNvb2tpZT10aGlzLm9wdGlvbnMuY29va2llLm5hbWV8
fCJ1aS10YWJzLSIrZSgpKTtyZXR1cm4gYS5jb29raWUuYXBwbHkobnVsbCxbaV0uY29uY2F0KGEu
bWFrZUFycmF5KGFyZ3VtZW50cykpKX0sX3VpOmZ1bmN0aW9uKGksYil7cmV0dXJue3RhYjppLHBh
bmVsOmIsaW5kZXg6dGhpcy5hbmNob3JzLmluZGV4KGkpfX0sX2NsZWFudXA6ZnVuY3Rpb24oKXt0
aGlzLmxpcy5maWx0ZXIoIi51aS1zdGF0ZS1wcm9jZXNzaW5nIikucmVtb3ZlQ2xhc3MoInVpLXN0
YXRlLXByb2Nlc3NpbmciKS5maW5kKCJzcGFuOmRhdGEobGFiZWwudGFicykiKS5lYWNoKGZ1bmN0
aW9uKCl7dmFyIGk9Ci1hKHRoaXMpO2kuaHRtbChpLmRhdGEoImxhYmVsLnRhYnMiKSkucmVtb3Zl
RGF0YSgibGFiZWwudGFicyIpfSl9LF90YWJpZnk6ZnVuY3Rpb24oaSl7ZnVuY3Rpb24gYihyLHUp
e3IuY3NzKCJkaXNwbGF5IiwiIik7IWEuc3VwcG9ydC5vcGFjaXR5JiZ1Lm9wYWNpdHkmJnJbMF0u
c3R5bGUucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKX12YXIgZj10aGlzLGo9dGhpcy5vcHRpb25z
LGw9L14jLisvO3RoaXMubGlzdD10aGlzLmVsZW1lbnQuZmluZCgib2wsdWwiKS5lcSgwKTt0aGlz
Lmxpcz1hKCIgPiBsaTpoYXMoYVtocmVmXSkiLHRoaXMubGlzdCk7dGhpcy5hbmNob3JzPXRoaXMu
bGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBhKCJhIix0aGlzKVswXX0pO3RoaXMucGFuZWxzPWEo
W10pO3RoaXMuYW5jaG9ycy5lYWNoKGZ1bmN0aW9uKHIsdSl7dmFyIHY9YSh1KS5hdHRyKCJocmVm
Iiksdz12LnNwbGl0KCIjIilbMF0seDtpZih3JiYodz09PWxvY2F0aW9uLnRvU3RyaW5nKCkuc3Bs
aXQoIiMiKVswXXx8Ci0oeD1hKCJiYXNlIilbMF0pJiZ3PT09eC5ocmVmKSl7dj11Lmhhc2g7dS5o
cmVmPXZ9aWYobC50ZXN0KHYpKWYucGFuZWxzPWYucGFuZWxzLmFkZChmLmVsZW1lbnQuZmluZChm
Ll9zYW5pdGl6ZVNlbGVjdG9yKHYpKSk7ZWxzZSBpZih2JiZ2IT09IiMiKXthLmRhdGEodSwiaHJl
Zi50YWJzIix2KTthLmRhdGEodSwibG9hZC50YWJzIix2LnJlcGxhY2UoLyMuKiQvLCIiKSk7dj1m
Ll90YWJJZCh1KTt1LmhyZWY9IiMiK3Y7dT1mLmVsZW1lbnQuZmluZCgiIyIrdik7aWYoIXUubGVu
Z3RoKXt1PWEoai5wYW5lbFRlbXBsYXRlKS5hdHRyKCJpZCIsdikuYWRkQ2xhc3MoInVpLXRhYnMt
cGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSIpLmluc2VydEFmdGVyKGYu
cGFuZWxzW3ItMV18fGYubGlzdCk7dS5kYXRhKCJkZXN0cm95LnRhYnMiLHRydWUpfWYucGFuZWxz
PWYucGFuZWxzLmFkZCh1KX1lbHNlIGouZGlzYWJsZWQucHVzaChyKX0pO2lmKGkpe3RoaXMuZWxl
bWVudC5hZGRDbGFzcygidWktdGFicyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29y
bmVyLWFsbCIpOwotdGhpcy5saXN0LmFkZENsYXNzKCJ1aS10YWJzLW5hdiB1aS1oZWxwZXItcmVz
ZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCIpO3Ro
aXMubGlzLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiKTt0aGlzLnBh
bmVscy5hZGRDbGFzcygidWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXIt
Ym90dG9tIik7aWYoai5zZWxlY3RlZD09PWMpe2xvY2F0aW9uLmhhc2gmJnRoaXMuYW5jaG9ycy5l
YWNoKGZ1bmN0aW9uKHIsdSl7aWYodS5oYXNoPT1sb2NhdGlvbi5oYXNoKXtqLnNlbGVjdGVkPXI7
cmV0dXJuIGZhbHNlfX0pO2lmKHR5cGVvZiBqLnNlbGVjdGVkIT09Im51bWJlciImJmouY29va2ll
KWouc2VsZWN0ZWQ9cGFyc2VJbnQoZi5fY29va2llKCksMTApO2lmKHR5cGVvZiBqLnNlbGVjdGVk
IT09Im51bWJlciImJnRoaXMubGlzLmZpbHRlcigiLnVpLXRhYnMtc2VsZWN0ZWQiKS5sZW5ndGgp
ai5zZWxlY3RlZD0KLXRoaXMubGlzLmluZGV4KHRoaXMubGlzLmZpbHRlcigiLnVpLXRhYnMtc2Vs
ZWN0ZWQiKSk7ai5zZWxlY3RlZD1qLnNlbGVjdGVkfHwodGhpcy5saXMubGVuZ3RoPzA6LTEpfWVs
c2UgaWYoai5zZWxlY3RlZD09PW51bGwpai5zZWxlY3RlZD0tMTtqLnNlbGVjdGVkPWouc2VsZWN0
ZWQ+PTAmJnRoaXMuYW5jaG9yc1tqLnNlbGVjdGVkXXx8ai5zZWxlY3RlZDwwP2ouc2VsZWN0ZWQ6
MDtqLmRpc2FibGVkPWEudW5pcXVlKGouZGlzYWJsZWQuY29uY2F0KGEubWFwKHRoaXMubGlzLmZp
bHRlcigiLnVpLXN0YXRlLWRpc2FibGVkIiksZnVuY3Rpb24ocil7cmV0dXJuIGYubGlzLmluZGV4
KHIpfSkpKS5zb3J0KCk7YS5pbkFycmF5KGouc2VsZWN0ZWQsai5kaXNhYmxlZCkhPS0xJiZqLmRp
c2FibGVkLnNwbGljZShhLmluQXJyYXkoai5zZWxlY3RlZCxqLmRpc2FibGVkKSwxKTt0aGlzLnBh
bmVscy5hZGRDbGFzcygidWktdGFicy1oaWRlIik7dGhpcy5saXMucmVtb3ZlQ2xhc3MoInVpLXRh
YnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7Ci1pZihqLnNlbGVjdGVkPj0wJiZ0aGlzLmFu
Y2hvcnMubGVuZ3RoKXtmLmVsZW1lbnQuZmluZChmLl9zYW5pdGl6ZVNlbGVjdG9yKGYuYW5jaG9y
c1tqLnNlbGVjdGVkXS5oYXNoKSkucmVtb3ZlQ2xhc3MoInVpLXRhYnMtaGlkZSIpO3RoaXMubGlz
LmVxKGouc2VsZWN0ZWQpLmFkZENsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2
ZSIpO2YuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtmLl90cmlnZ2VyKCJzaG93Iixu
dWxsLGYuX3VpKGYuYW5jaG9yc1tqLnNlbGVjdGVkXSxmLmVsZW1lbnQuZmluZChmLl9zYW5pdGl6
ZVNlbGVjdG9yKGYuYW5jaG9yc1tqLnNlbGVjdGVkXS5oYXNoKSlbMF0pKX0pO3RoaXMubG9hZChq
LnNlbGVjdGVkKX1hKHdpbmRvdykuYmluZCgidW5sb2FkIixmdW5jdGlvbigpe2YubGlzLmFkZChm
LmFuY2hvcnMpLnVuYmluZCgiLnRhYnMiKTtmLmxpcz1mLmFuY2hvcnM9Zi5wYW5lbHM9bnVsbH0p
fWVsc2Ugai5zZWxlY3RlZD10aGlzLmxpcy5pbmRleCh0aGlzLmxpcy5maWx0ZXIoIi51aS10YWJz
LXNlbGVjdGVkIikpOwotdGhpcy5lbGVtZW50W2ouY29sbGFwc2libGU/ImFkZENsYXNzIjoicmVt
b3ZlQ2xhc3MiXSgidWktdGFicy1jb2xsYXBzaWJsZSIpO2ouY29va2llJiZ0aGlzLl9jb29raWUo
ai5zZWxlY3RlZCxqLmNvb2tpZSk7aT0wO2Zvcih2YXIgbztvPXRoaXMubGlzW2ldO2krKylhKG8p
W2EuaW5BcnJheShpLGouZGlzYWJsZWQpIT0tMSYmIWEobykuaGFzQ2xhc3MoInVpLXRhYnMtc2Vs
ZWN0ZWQiKT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpO2ou
Y2FjaGU9PT1mYWxzZSYmdGhpcy5hbmNob3JzLnJlbW92ZURhdGEoImNhY2hlLnRhYnMiKTt0aGlz
Lmxpcy5hZGQodGhpcy5hbmNob3JzKS51bmJpbmQoIi50YWJzIik7aWYoai5ldmVudCE9PSJtb3Vz
ZW92ZXIiKXt2YXIgbj1mdW5jdGlvbihyLHUpe3UuaXMoIjpub3QoLnVpLXN0YXRlLWRpc2FibGVk
KSIpJiZ1LmFkZENsYXNzKCJ1aS1zdGF0ZS0iK3IpfSxrPWZ1bmN0aW9uKHIsdSl7dS5yZW1vdmVD
bGFzcygidWktc3RhdGUtIisKLXIpfTt0aGlzLmxpcy5iaW5kKCJtb3VzZW92ZXIudGFicyIsZnVu
Y3Rpb24oKXtuKCJob3ZlciIsYSh0aGlzKSl9KTt0aGlzLmxpcy5iaW5kKCJtb3VzZW91dC50YWJz
IixmdW5jdGlvbigpe2soImhvdmVyIixhKHRoaXMpKX0pO3RoaXMuYW5jaG9ycy5iaW5kKCJmb2N1
cy50YWJzIixmdW5jdGlvbigpe24oImZvY3VzIixhKHRoaXMpLmNsb3Nlc3QoImxpIikpfSk7dGhp
cy5hbmNob3JzLmJpbmQoImJsdXIudGFicyIsZnVuY3Rpb24oKXtrKCJmb2N1cyIsYSh0aGlzKS5j
bG9zZXN0KCJsaSIpKX0pfXZhciBtLHA7aWYoai5meClpZihhLmlzQXJyYXkoai5meCkpe209ai5m
eFswXTtwPWouZnhbMV19ZWxzZSBtPXA9ai5meDt2YXIgcT1wP2Z1bmN0aW9uKHIsdSl7YShyKS5j
bG9zZXN0KCJsaSIpLmFkZENsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIp
O3UuaGlkZSgpLnJlbW92ZUNsYXNzKCJ1aS10YWJzLWhpZGUiKS5hbmltYXRlKHAscC5kdXJhdGlv
bnx8Im5vcm1hbCIsCi1mdW5jdGlvbigpe2IodSxwKTtmLl90cmlnZ2VyKCJzaG93IixudWxsLGYu
X3VpKHIsdVswXSkpfSl9OmZ1bmN0aW9uKHIsdSl7YShyKS5jbG9zZXN0KCJsaSIpLmFkZENsYXNz
KCJ1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSIpO3UucmVtb3ZlQ2xhc3MoInVpLXRh
YnMtaGlkZSIpO2YuX3RyaWdnZXIoInNob3ciLG51bGwsZi5fdWkocix1WzBdKSl9LHM9bT9mdW5j
dGlvbihyLHUpe3UuYW5pbWF0ZShtLG0uZHVyYXRpb258fCJub3JtYWwiLGZ1bmN0aW9uKCl7Zi5s
aXMucmVtb3ZlQ2xhc3MoInVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIik7dS5hZGRD
bGFzcygidWktdGFicy1oaWRlIik7Yih1LG0pO2YuZWxlbWVudC5kZXF1ZXVlKCJ0YWJzIil9KX06
ZnVuY3Rpb24ocix1KXtmLmxpcy5yZW1vdmVDbGFzcygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0
ZS1hY3RpdmUiKTt1LmFkZENsYXNzKCJ1aS10YWJzLWhpZGUiKTtmLmVsZW1lbnQuZGVxdWV1ZSgi
dGFicyIpfTsKLXRoaXMuYW5jaG9ycy5iaW5kKGouZXZlbnQrIi50YWJzIixmdW5jdGlvbigpe3Zh
ciByPXRoaXMsdT1hKHIpLmNsb3Nlc3QoImxpIiksdj1mLnBhbmVscy5maWx0ZXIoIjpub3QoLnVp
LXRhYnMtaGlkZSkiKSx3PWYuZWxlbWVudC5maW5kKGYuX3Nhbml0aXplU2VsZWN0b3Ioci5oYXNo
KSk7aWYodS5oYXNDbGFzcygidWktdGFicy1zZWxlY3RlZCIpJiYhai5jb2xsYXBzaWJsZXx8dS5o
YXNDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKXx8dS5oYXNDbGFzcygidWktc3RhdGUtcHJvY2Vz
c2luZyIpfHxmLnBhbmVscy5maWx0ZXIoIjphbmltYXRlZCIpLmxlbmd0aHx8Zi5fdHJpZ2dlcigi
c2VsZWN0IixudWxsLGYuX3VpKHRoaXMsd1swXSkpPT09ZmFsc2Upe3RoaXMuYmx1cigpO3JldHVy
biBmYWxzZX1qLnNlbGVjdGVkPWYuYW5jaG9ycy5pbmRleCh0aGlzKTtmLmFib3J0KCk7aWYoai5j
b2xsYXBzaWJsZSlpZih1Lmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVjdGVkIikpe2ouc2VsZWN0ZWQ9
Ci0tMTtqLmNvb2tpZSYmZi5fY29va2llKGouc2VsZWN0ZWQsai5jb29raWUpO2YuZWxlbWVudC5x
dWV1ZSgidGFicyIsZnVuY3Rpb24oKXtzKHIsdil9KS5kZXF1ZXVlKCJ0YWJzIik7dGhpcy5ibHVy
KCk7cmV0dXJuIGZhbHNlfWVsc2UgaWYoIXYubGVuZ3RoKXtqLmNvb2tpZSYmZi5fY29va2llKGou
c2VsZWN0ZWQsai5jb29raWUpO2YuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtxKHIs
dyl9KTtmLmxvYWQoZi5hbmNob3JzLmluZGV4KHRoaXMpKTt0aGlzLmJsdXIoKTtyZXR1cm4gZmFs
c2V9ai5jb29raWUmJmYuX2Nvb2tpZShqLnNlbGVjdGVkLGouY29va2llKTtpZih3Lmxlbmd0aCl7
di5sZW5ndGgmJmYuZWxlbWVudC5xdWV1ZSgidGFicyIsZnVuY3Rpb24oKXtzKHIsdil9KTtmLmVs
ZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7cShyLHcpfSk7Zi5sb2FkKGYuYW5jaG9ycy5p
bmRleCh0aGlzKSl9ZWxzZSB0aHJvdyJqUXVlcnkgVUkgVGFiczogTWlzbWF0Y2hpbmcgZnJhZ21l
bnQgaWRlbnRpZmllci4iOwotYS5icm93c2VyLm1zaWUmJnRoaXMuYmx1cigpfSk7dGhpcy5hbmNo
b3JzLmJpbmQoImNsaWNrLnRhYnMiLGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfSl9LF9nZXRJbmRl
eDpmdW5jdGlvbihpKXtpZih0eXBlb2YgaT09InN0cmluZyIpaT10aGlzLmFuY2hvcnMuaW5kZXgo
dGhpcy5hbmNob3JzLmZpbHRlcigiW2hyZWYkPSIraSsiXSIpKTtyZXR1cm4gaX0sZGVzdHJveTpm
dW5jdGlvbigpe3ZhciBpPXRoaXMub3B0aW9uczt0aGlzLmFib3J0KCk7dGhpcy5lbGVtZW50LnVu
YmluZCgiLnRhYnMiKS5yZW1vdmVDbGFzcygidWktdGFicyB1aS13aWRnZXQgdWktd2lkZ2V0LWNv
bnRlbnQgdWktY29ybmVyLWFsbCB1aS10YWJzLWNvbGxhcHNpYmxlIikucmVtb3ZlRGF0YSgidGFi
cyIpO3RoaXMubGlzdC5yZW1vdmVDbGFzcygidWktdGFicy1uYXYgdWktaGVscGVyLXJlc2V0IHVp
LWhlbHBlci1jbGVhcmZpeCB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwiKTt0aGlzLmFu
Y2hvcnMuZWFjaChmdW5jdGlvbigpe3ZhciBiPQotYS5kYXRhKHRoaXMsImhyZWYudGFicyIpO2lm
KGIpdGhpcy5ocmVmPWI7dmFyIGY9YSh0aGlzKS51bmJpbmQoIi50YWJzIik7YS5lYWNoKFsiaHJl
ZiIsImxvYWQiLCJjYWNoZSJdLGZ1bmN0aW9uKGosbCl7Zi5yZW1vdmVEYXRhKGwrIi50YWJzIil9
KX0pO3RoaXMubGlzLnVuYmluZCgiLnRhYnMiKS5hZGQodGhpcy5wYW5lbHMpLmVhY2goZnVuY3Rp
b24oKXthLmRhdGEodGhpcywiZGVzdHJveS50YWJzIik/YSh0aGlzKS5yZW1vdmUoKTphKHRoaXMp
LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AgdWktdGFicy1zZWxl
Y3RlZCB1aS1zdGF0ZS1hY3RpdmUgdWktc3RhdGUtaG92ZXIgdWktc3RhdGUtZm9jdXMgdWktc3Rh
dGUtZGlzYWJsZWQgdWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90
dG9tIHVpLXRhYnMtaGlkZSIpfSk7aS5jb29raWUmJnRoaXMuX2Nvb2tpZShudWxsLGkuY29va2ll
KTtyZXR1cm4gdGhpc30sYWRkOmZ1bmN0aW9uKGksCi1iLGYpe2lmKGY9PT1jKWY9dGhpcy5hbmNo
b3JzLmxlbmd0aDt2YXIgaj10aGlzLGw9dGhpcy5vcHRpb25zO2I9YShsLnRhYlRlbXBsYXRlLnJl
cGxhY2UoLyNce2hyZWZcfS9nLGkpLnJlcGxhY2UoLyNce2xhYmVsXH0vZyxiKSk7aT0haS5pbmRl
eE9mKCIjIik/aS5yZXBsYWNlKCIjIiwiIik6dGhpcy5fdGFiSWQoYSgiYSIsYilbMF0pO2IuYWRk
Q2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIpLmRhdGEoImRlc3Ryb3kudGFi
cyIsdHJ1ZSk7dmFyIG89ai5lbGVtZW50LmZpbmQoIiMiK2kpO28ubGVuZ3RofHwobz1hKGwucGFu
ZWxUZW1wbGF0ZSkuYXR0cigiaWQiLGkpLmRhdGEoImRlc3Ryb3kudGFicyIsdHJ1ZSkpO28uYWRk
Q2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSB1
aS10YWJzLWhpZGUiKTtpZihmPj10aGlzLmxpcy5sZW5ndGgpe2IuYXBwZW5kVG8odGhpcy5saXN0
KTtvLmFwcGVuZFRvKHRoaXMubGlzdFswXS5wYXJlbnROb2RlKX1lbHNle2IuaW5zZXJ0QmVmb3Jl
KHRoaXMubGlzW2ZdKTsKLW8uaW5zZXJ0QmVmb3JlKHRoaXMucGFuZWxzW2ZdKX1sLmRpc2FibGVk
PWEubWFwKGwuZGlzYWJsZWQsZnVuY3Rpb24obil7cmV0dXJuIG4+PWY/KytuOm59KTt0aGlzLl90
YWJpZnkoKTtpZih0aGlzLmFuY2hvcnMubGVuZ3RoPT0xKXtsLnNlbGVjdGVkPTA7Yi5hZGRDbGFz
cygidWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUiKTtvLnJlbW92ZUNsYXNzKCJ1aS10
YWJzLWhpZGUiKTt0aGlzLmVsZW1lbnQucXVldWUoInRhYnMiLGZ1bmN0aW9uKCl7ai5fdHJpZ2dl
cigic2hvdyIsbnVsbCxqLl91aShqLmFuY2hvcnNbMF0sai5wYW5lbHNbMF0pKX0pO3RoaXMubG9h
ZCgwKX10aGlzLl90cmlnZ2VyKCJhZGQiLG51bGwsdGhpcy5fdWkodGhpcy5hbmNob3JzW2ZdLHRo
aXMucGFuZWxzW2ZdKSk7cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbihpKXtpPXRoaXMuX2dl
dEluZGV4KGkpO3ZhciBiPXRoaXMub3B0aW9ucyxmPXRoaXMubGlzLmVxKGkpLnJlbW92ZSgpLGo9
dGhpcy5wYW5lbHMuZXEoaSkucmVtb3ZlKCk7Ci1pZihmLmhhc0NsYXNzKCJ1aS10YWJzLXNlbGVj
dGVkIikmJnRoaXMuYW5jaG9ycy5sZW5ndGg+MSl0aGlzLnNlbGVjdChpKyhpKzE8dGhpcy5hbmNo
b3JzLmxlbmd0aD8xOi0xKSk7Yi5kaXNhYmxlZD1hLm1hcChhLmdyZXAoYi5kaXNhYmxlZCxmdW5j
dGlvbihsKXtyZXR1cm4gbCE9aX0pLGZ1bmN0aW9uKGwpe3JldHVybiBsPj1pPy0tbDpsfSk7dGhp
cy5fdGFiaWZ5KCk7dGhpcy5fdHJpZ2dlcigicmVtb3ZlIixudWxsLHRoaXMuX3VpKGYuZmluZCgi
YSIpWzBdLGpbMF0pKTtyZXR1cm4gdGhpc30sZW5hYmxlOmZ1bmN0aW9uKGkpe2k9dGhpcy5fZ2V0
SW5kZXgoaSk7dmFyIGI9dGhpcy5vcHRpb25zO2lmKGEuaW5BcnJheShpLGIuZGlzYWJsZWQpIT0t
MSl7dGhpcy5saXMuZXEoaSkucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7Yi5kaXNh
YmxlZD1hLmdyZXAoYi5kaXNhYmxlZCxmdW5jdGlvbihmKXtyZXR1cm4gZiE9aX0pO3RoaXMuX3Ry
aWdnZXIoImVuYWJsZSIsbnVsbCwKLXRoaXMuX3VpKHRoaXMuYW5jaG9yc1tpXSx0aGlzLnBhbmVs
c1tpXSkpO3JldHVybiB0aGlzfX0sZGlzYWJsZTpmdW5jdGlvbihpKXtpPXRoaXMuX2dldEluZGV4
KGkpO3ZhciBiPXRoaXMub3B0aW9ucztpZihpIT1iLnNlbGVjdGVkKXt0aGlzLmxpcy5lcShpKS5h
ZGRDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKTtiLmRpc2FibGVkLnB1c2goaSk7Yi5kaXNhYmxl
ZC5zb3J0KCk7dGhpcy5fdHJpZ2dlcigiZGlzYWJsZSIsbnVsbCx0aGlzLl91aSh0aGlzLmFuY2hv
cnNbaV0sdGhpcy5wYW5lbHNbaV0pKX1yZXR1cm4gdGhpc30sc2VsZWN0OmZ1bmN0aW9uKGkpe2k9
dGhpcy5fZ2V0SW5kZXgoaSk7aWYoaT09LTEpaWYodGhpcy5vcHRpb25zLmNvbGxhcHNpYmxlJiZ0
aGlzLm9wdGlvbnMuc2VsZWN0ZWQhPS0xKWk9dGhpcy5vcHRpb25zLnNlbGVjdGVkO2Vsc2UgcmV0
dXJuIHRoaXM7dGhpcy5hbmNob3JzLmVxKGkpLnRyaWdnZXIodGhpcy5vcHRpb25zLmV2ZW50KyIu
dGFicyIpO3JldHVybiB0aGlzfSwKLWxvYWQ6ZnVuY3Rpb24oaSl7aT10aGlzLl9nZXRJbmRleChp
KTt2YXIgYj10aGlzLGY9dGhpcy5vcHRpb25zLGo9dGhpcy5hbmNob3JzLmVxKGkpWzBdLGw9YS5k
YXRhKGosImxvYWQudGFicyIpO3RoaXMuYWJvcnQoKTtpZighbHx8dGhpcy5lbGVtZW50LnF1ZXVl
KCJ0YWJzIikubGVuZ3RoIT09MCYmYS5kYXRhKGosImNhY2hlLnRhYnMiKSl0aGlzLmVsZW1lbnQu
ZGVxdWV1ZSgidGFicyIpO2Vsc2V7dGhpcy5saXMuZXEoaSkuYWRkQ2xhc3MoInVpLXN0YXRlLXBy
b2Nlc3NpbmciKTtpZihmLnNwaW5uZXIpe3ZhciBvPWEoInNwYW4iLGopO28uZGF0YSgibGFiZWwu
dGFicyIsby5odG1sKCkpLmh0bWwoZi5zcGlubmVyKX10aGlzLnhocj1hLmFqYXgoYS5leHRlbmQo
e30sZi5hamF4T3B0aW9ucyx7dXJsOmwsc3VjY2VzczpmdW5jdGlvbihuLGspe2IuZWxlbWVudC5m
aW5kKGIuX3Nhbml0aXplU2VsZWN0b3Ioai5oYXNoKSkuaHRtbChuKTtiLl9jbGVhbnVwKCk7Zi5j
YWNoZSYmYS5kYXRhKGosCi0iY2FjaGUudGFicyIsdHJ1ZSk7Yi5fdHJpZ2dlcigibG9hZCIsbnVs
bCxiLl91aShiLmFuY2hvcnNbaV0sYi5wYW5lbHNbaV0pKTt0cnl7Zi5hamF4T3B0aW9ucy5zdWNj
ZXNzKG4sayl9Y2F0Y2gobSl7fX0sZXJyb3I6ZnVuY3Rpb24obixrKXtiLl9jbGVhbnVwKCk7Yi5f
dHJpZ2dlcigibG9hZCIsbnVsbCxiLl91aShiLmFuY2hvcnNbaV0sYi5wYW5lbHNbaV0pKTt0cnl7
Zi5hamF4T3B0aW9ucy5lcnJvcihuLGssaSxqKX1jYXRjaChtKXt9fX0pKTtiLmVsZW1lbnQuZGVx
dWV1ZSgidGFicyIpO3JldHVybiB0aGlzfX0sYWJvcnQ6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQu
cXVldWUoW10pO3RoaXMucGFuZWxzLnN0b3AoZmFsc2UsdHJ1ZSk7dGhpcy5lbGVtZW50LnF1ZXVl
KCJ0YWJzIix0aGlzLmVsZW1lbnQucXVldWUoInRhYnMiKS5zcGxpY2UoLTIsMikpO2lmKHRoaXMu
eGhyKXt0aGlzLnhoci5hYm9ydCgpO2RlbGV0ZSB0aGlzLnhocn10aGlzLl9jbGVhbnVwKCk7cmV0
dXJuIHRoaXN9LAotdXJsOmZ1bmN0aW9uKGksYil7dGhpcy5hbmNob3JzLmVxKGkpLnJlbW92ZURh
dGEoImNhY2hlLnRhYnMiKS5kYXRhKCJsb2FkLnRhYnMiLGIpO3JldHVybiB0aGlzfSxsZW5ndGg6
ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hbmNob3JzLmxlbmd0aH19KTthLmV4dGVuZChhLnVpLnRh
YnMse3ZlcnNpb246IjEuOC4xNSJ9KTthLmV4dGVuZChhLnVpLnRhYnMucHJvdG90eXBlLHtyb3Rh
dGlvbjpudWxsLHJvdGF0ZTpmdW5jdGlvbihpLGIpe3ZhciBmPXRoaXMsaj10aGlzLm9wdGlvbnMs
bD1mLl9yb3RhdGV8fChmLl9yb3RhdGU9ZnVuY3Rpb24obyl7Y2xlYXJUaW1lb3V0KGYucm90YXRp
b24pO2Yucm90YXRpb249c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBuPWouc2VsZWN0ZWQ7Zi5z
ZWxlY3QoKytuPGYuYW5jaG9ycy5sZW5ndGg/bjowKX0saSk7byYmby5zdG9wUHJvcGFnYXRpb24o
KX0pO2I9Zi5fdW5yb3RhdGV8fChmLl91bnJvdGF0ZT0hYj9mdW5jdGlvbihvKXtvLmNsaWVudFgm
JgotZi5yb3RhdGUobnVsbCl9OmZ1bmN0aW9uKCl7dD1qLnNlbGVjdGVkO2woKX0pO2lmKGkpe3Ro
aXMuZWxlbWVudC5iaW5kKCJ0YWJzc2hvdyIsbCk7dGhpcy5hbmNob3JzLmJpbmQoai5ldmVudCsi
LnRhYnMiLGIpO2woKX1lbHNle2NsZWFyVGltZW91dChmLnJvdGF0aW9uKTt0aGlzLmVsZW1lbnQu
dW5iaW5kKCJ0YWJzc2hvdyIsbCk7dGhpcy5hbmNob3JzLnVuYmluZChqLmV2ZW50KyIudGFicyIs
Yik7ZGVsZXRlIHRoaXMuX3JvdGF0ZTtkZWxldGUgdGhpcy5fdW5yb3RhdGV9cmV0dXJuIHRoaXN9
fSl9KShqUXVlcnkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>