ERhdGUoYi5jcmVhdGVkX2F0KSkpOyBzZXRMb2FkaW5nKGZh
bHNlKTsgfSk7CiAgICB9IGVsc2UgewogICAgICBhcGkub3JkZXJzKGZpbHRlciE9PSdhbGwnP2A/
c3RhdHVzPSR7ZmlsdGVyfWA6JycpLnRoZW4oZD0+e3NldE9yZGVycyhkKTtzZXRMb2FkaW5nKGZh
bHNlKTt9KTsKICAgIH0KICB9LFtmaWx0ZXIscmVmcmVzaEtleV0pOwoKICB1c2VFZmZlY3QoKCk9
Pntsb2FkKCk7Y29uc3QgdD1zZXRJbnRlcnZhbChsb2FkLDEyMDAwKTtyZXR1cm4oKT0+Y2xlYXJJ
bnRlcnZhbCh0KTt9LFtsb2FkXSk7CgogIGNvbnN0IHN0YXR1c0NoYW5nZT1hc3luYyhpZCxzdGF0
dXMpPT57CiAgICB0cnl7YXdhaXQgYXBpLnBhdGNoT3JkKGlkLHtzdGF0dXN9KTtub3RpZnkoc3Rh
dHVzPT09J3JlYWR5Jz8n4pyTIE9yZGVyIG1hcmtlZCByZWFkeSEnOidTdGF0dXMgdXBkYXRlZCcp
O2xvYWQoKTt9CiAgICBjYXRjaChlKXtub3RpZnkoJ0Vycm9yOiAnK2UubWVzc2FnZSwnZXJyJyk7
fQogIH07CgogIGNvbnN0IGZpbHRlcmVkPW9yZGVycy5maWx0ZXIobz0+IXNlYXJjaHx8by5vcmRl
cl9yZWYuaW5jbHVkZXMoc2VhcmNoKXx8U3RyaW5nKG8udGFibGVfbnVtYmVyKS5pbmNsdWRlcyhz
ZWFyY2gpKTsKCiAgcmV0dXJuKAogICAgPGRpdiBzdHlsZT17e3BhZGRpbmc6MTQsb3ZlcmZsb3dZ
OidhdXRvJyxoZWlnaHQ6J2NhbGMoMTAwdmggLSA2MHB4KSd9fT4KICAgICAgPGRpdiBzdHlsZT17
e2Rpc3BsYXk6J2ZsZXgnLGdhcDo2LG1hcmdpbkJvdHRvbToxNCxmbGV4V3JhcDond3JhcCcsYWxp
Z25JdGVtczonY2VudGVyJ319PgogICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj0iU2VhcmNoIG9y
ZGVyICMgb3IgdGFibGXigKYiIHZhbHVlPXtzZWFyY2h9IG9uQ2hhbmdlPXtlPT5zZXRTZWFyY2go
ZS50YXJnZXQudmFsdWUpfSBzdHlsZT17e3dpZHRoOjIwMCxmb250U2l6ZToxM319Lz4KICAgICAg
ICB7WydhY3RpdmUnLCdwZW5kaW5nJywncHJlcGFyaW5nJywncmVhZHknLCdwYWlkJywnYWxsJ10u
bWFwKHM9PigKICAgICAgICAgIDxidXR0b24ga2V5PXtzfSBjbGFzc05hbWU9ImJ0biIgb25DbGlj
az17KCk9PnNldEZpbHRlcihzKX0KICAgICAgICAgICAgc3R5bGU9e3twYWRkaW5nOic3cHggMTJw
eCcsZm9udFNpemU6MTIsZm9udFdlaWdodDo2MDAsdGV4dFRyYW5zZm9ybTonY2FwaXRhbGl6ZScs
CiAgICAgICAgICAgICAgYmFja2dyb3VuZDpmaWx0ZXI9PT1zP1QuYWNjOlQuY2FyZCxjb2xvcjpm
aWx0ZXI9PT1zPycjZmZmJzpULm11dCwKICAgICAgICAgICAgICBib3JkZXI6YDFweCBzb2xpZCAk
e2ZpbHRlcj09PXM/VC5hY2M6VC5ib3JkfWB9fT4KICAgICAgICAgICAge3N9e2ZpbHRlciE9PXMm
Jm9yZGVycy5maWx0ZXIobz0+cz09PSdhY3RpdmUnP1sncGVuZGluZycsJ3ByZXBhcmluZycsJ3Jl
YWR5J10uaW5jbHVkZXMoby5zdGF0dXMpOm8uc3RhdHVzPT09cykubGVuZ3RoPjA/CiAgICAgICAg
ICAgICAgYCAoJHtzPT09J2FsbCc/b3JkZXJzLmxlbmd0aDpvcmRlcnMuZmlsdGVyKG89PnM9PT0n
YWN0aXZlJz9bJ3BlbmRpbmcnLCdwcmVwYXJpbmcnLCdyZWFkeSddLmluY2x1ZGVzKG8uc3RhdHVz
KTpvLnN0YXR1cz09PXMpLmxlbmd0aH0pYDonJ30KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAg
ICkpfQogICAgICAgIDxidXR0b24gY2xhc3NOYW1lPSJidG4gYmciIHN0eWxlPXt7bWFyZ2luTGVm
dDonYXV0bycsZm9udFNpemU6MTIscGFkZGluZzonN3B4IDEycHgnfX0gb25DbGljaz17bG9hZH0+
4oa7PC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAge2xvYWRpbmc/PFNwaW4vPjooCiAgICAg
ICAgPGRpdiBzdHlsZT17e2Rpc3BsYXk6J2ZsZXgnLGZsZXhEaXJlY3Rpb246J2NvbHVtbicsZ2Fw
Ojh9fT4KICAgICAgICAgIHtmaWx0ZXJlZC5tYXAobz0+ewogICAgICAgICAgICBjb25zdCB7dG90
YWx9PWNhbGNCaWxsKG8uaXRlbXN8fFtdKTsKICAgICAgICAgICAgY29uc3Qgc2M9U1RBVFVTX0NP
TE9SW28uc3RhdHVzXXx8J2cnOwogICAgICAgICAgICBjb25zdCBlbGFwc2VkPU1hdGguZmxvb3Io
KERhdGUubm93KCktbmV3IERhdGUoby5jcmVhdGVkX2F0KS5nZXRUaW1lKCkpLzYwMDAwKTsKICAg
ICAgICAgICAgcmV0dXJuKAogICAgICAgICAgICAgIDxkaXYga2V5PXtvLmlkfSBzdHlsZT17e2Jh
Y2tncm91bmQ6VC5jYXJkLGJvcmRlcjpgMXB4IHNvbGlkICR7VC5ib3JkfWAsYm9yZGVyUmFkaXVz
OjEyLAogICAgICAgICAgICAgICAgcGFkZGluZzonMTJweCAxNHB4JyxkaXNwbGF5OidmbGV4Jyxh
bGlnbkl0ZW1zOidjZW50ZXInLGdhcDoxMn19IGNsYXNzTmFtZT0ic3UiPgogICAgICAgICAgICAg
ICAgPGRpdiBzdHlsZT17e2ZsZXg6MSxtaW5XaWR0aDowfX0+CiAgICAgICAgICAgICAgICAgIDxk
aXYgc3R5bGU9e3tkaXNwbGF5OidmbGV4JyxnYXA6OCxhbGlnbkl0ZW1zOidjZW50ZXInLG1hcmdp
bkJvdHRvbTo1LGZsZXhXcmFwOid3cmFwJ319PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0
eWxlPXt7Zm9udEZhbWlseTonSmV0QnJhaW5zIE1vbm8nLGZvbnRXZWlnaHQ6NzAwLGNvbG9yOlQu
YWNjLGZvbnRTaXplOjEzfX0+e28ub3JkZXJfcmVmfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAg
ICA8c3BhbiBzdHlsZT17e2ZvbnRXZWlnaHQ6NzAwfX0+VGFibGUge28udGFibGVfbnVtYmVyfTwv
c3Bhbj4KICAgICAgICAgICAgICAgICAgICA8QmFkZ2UgYz17c2N9PntvLnN0YXR1c308L0JhZGdl
PgogICAgICAgICAgICAgICAgICAgIHtvLnNvdXJjZT09PSdxcicmJjxCYWRnZSBjPSdiJz7wn5Ox
IFFSPC9CYWRnZT59CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3tmb250U2l6ZTox
MSxjb2xvcjpULmRpbX19PntlbGFwc2VkfW0gYWdvPC9zcGFuPgogICAgICAgICAgICAgICAgICA8
L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e2ZvbnRTaXplOjEyLGNvbG9yOlQu
bXV0LG92ZXJmbG93OidoaWRkZW4nLHRleHRPdmVyZmxvdzonZWxsaXBzaXMnLHdoaXRlU3BhY2U6
J25vd3JhcCd9fT4KICAgICAgICAgICAgICAgICAgICB7KG8uaXRlbXN8fFtdKS5zbGljZSgwLDQp
Lm1hcChpPT5gJHtpLm5hbWV9w5cke2kucXR5fWApLmpvaW4oJywgJyl9eyhvLml0ZW1zfHxbXSku
bGVuZ3RoPjQ/J+KApic6Jyd9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAg
ICAgICB7by5ub3RlJiY8ZGl2IHN0eWxlPXt7Zm9udFNpemU6MTEsY29sb3I6VC5hbWIsbWFyZ2lu
VG9wOjN9fT7wn5OdIHtvLm5vdGV9PC9kaXY+fQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg
ICAgICAgICAgICA8ZGl2IHN0eWxlPXt7dGV4dEFsaWduOidyaWdodCcsZmxleFNocmluazowfX0+
CiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tmb250RmFtaWx5OidKZXRCcmFpbnMgTW9u
bycsZm9udFdlaWdodDo3MDAsZm9udFNpemU6MTYsbWFyZ2luQm90dG9tOjZ9fT57Zm10KG8udG90
YWx8fHRvdGFsKX08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e2Rpc3BsYXk6
J2ZsZXgnLGdhcDo1LGp1c3RpZnlDb250ZW50OidmbGV4LWVuZCd9fT4KICAgICAgICAgICAgICAg
ICAgICB7by5zdGF0dXM9PT0ncGVuZGluZycmJjxidXR0b24gY2xhc3NOYW1lPSJidG4gYmIiIHN0
eWxlPXt7Zm9udFNpemU6MTEscGFkZGluZzonNXB4IDEwcHgnfX0gb25DbGljaz17KCk9PnN0YXR1
c0NoYW5nZShvLmlkLCdwcmVwYXJpbmcnKX0+8J+RqOKAjfCfjbMgUHJlcDwvYnV0dG9uPn0KICAg
ICAgICAgICAgICAgICAgICB7by5zdGF0dXM9PT0ncHJlcGFyaW5nJyYmPGJ1dHRvbiBjbGFzc05h
bWU9ImJ0biBiZ3IiIHN0eWxlPXt7Zm9udFNpemU6MTEscGFkZGluZzonNXB4IDEwcHgnfX0gb25D
bGljaz17KCk9PnN0YXR1c0NoYW5nZShvLmlkLCdyZWFkeScpfT7inJMgUmVhZHk8L2J1dHRvbj59
CiAgICAgICAgICAgICAgICAgICAge28uc3RhdHVzPT09J3JlYWR5JyYmPGJ1dHRvbiBjbGFzc05h
bWU9ImJ0biBiYSIgc3R5bGU9e3tmb250U2l6ZToxMSxwYWRkaW5nOic1cHggMTBweCd9fSBvbkNs
aWNrPXsoKT0+b25CaWxsT3BlbihvKX0+8J+SsyBCaWxsPC9idXR0b24+fQogICAgICAgICAgICAg
ICAgICAgIHtvLnN0YXR1cz09PSdwYWlkJyYmPHNwYW4gc3R5bGU9e3tmb250U2l6ZToxMSxjb2xv
cjpULmdybixmb250V2VpZ2h0OjYwMH19PuKckyBQYWlkPC9zcGFuPn0KICAgICAgICAgICAgICAg
ICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAg
ICAgICAgICAgKTsKICAgICAgICAgIH0pfQogICAgICAgICAge2ZpbHRlcmVkLmxlbmd0aD09PTAm
JjxkaXYgc3R5bGU9e3t0ZXh0QWxpZ246J2NlbnRlcicsY29sb3I6VC5kaW0scGFkZGluZzo0OCxm
b250U2l6ZToxNH19Pk5vIG9yZGVycyBmb3VuZDwvZGl2Pn0KICAgICAgICA8L2Rpdj4KICAgICAg
KX0KICAgIDwvZGl2PgogICk7Cn0KCi8vIOKUgOKUgCBBbmFseXRpY3Mg4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSACmZ1bmN0aW9uIEFuYWx5dGljcygpewogIGNvbnN0IFtzdGF0cyxzZXRTdGF0c109
dXNlU3RhdGUobnVsbCk7CiAgY29uc3QgW3JhbmdlLHNldFJhbmdlXT11c2VTdGF0ZSgndG9kYXkn
KTsKICBjb25zdCBbbG9hZGluZyxzZXRMb2FkaW5nXT11c2VTdGF0ZSh0cnVlKTsKICB1c2VFZmZl
Y3QoKCk9PntzZXRMb2FkaW5nKHRydWUpO2FwaS5zdGF0cyhyYW5nZSkudGhlbihkPT57c2V0U3Rh
dHMoZCk7c2V0TG9hZGluZyhmYWxzZSk7fSkuY2F0Y2goKCk9PnNldExvYWRpbmcoZmFsc2UpKTt9
LFtyYW5nZV0pOwoKICByZXR1cm4oCiAgICA8ZGl2IHN0eWxlPXt7cGFkZGluZzoxNixvdmVyZmxv
d1k6J2F1dG8nLGhlaWdodDonY2FsYygxMDB2aCAtIDYwcHgpJ319PgogICAgICA8ZGl2IHN0eWxl
PXt7ZGlzcGxheTonZmxleCcsZ2FwOjgsbWFyZ2luQm90dG9tOjIwfX0+CiAgICAgICAge1sndG9k
YXknLCd3ZWVrJywnbW9udGgnXS5tYXAocj0+KAogICAgICAgICAgPGJ1dHRvbiBrZXk9e3J9IGNs
YXNzTmFtZT0iYnRuIiBvbkNsaWNrPXsoKT0+c2V0UmFuZ2Uocil9CiAgICAgICAgICAgIHN0eWxl
PXt7cGFkZGluZzonOHB4IDE4cHgnLGZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NzAwLHRleHRUcmFu
c2Zvcm06J2NhcGl0YWxpemUnLAogICAgICAgICAgICAgIGJhY2tncm91bmQ6cmFuZ2U9PT1yP1Qu
YWNjOlQuY2FyZCxjb2xvcjpyYW5nZT09PXI/JyNmZmYnOlQubXV0LAogICAgICAgICAgICAgIGJv
cmRlcjpgMXB4IHNvbGlkICR7cmFuZ2U9PT1yP1QuYWNjOlQuYm9yZH1gfX0+e3I9PT0ndG9kYXkn
PydUb2RheSc6cj09PSd3ZWVrJz8nNyBEYXlzJzonMzAgRGF5cyd9PC9idXR0b24+CiAgICAgICAg
KSl9CiAgICAgIDwvZGl2PgogICAgICB7bG9hZGluZz88U3Bpbi8+OnN0YXRzJiYoCiAgICAgICAg
PD4KICAgICAgICAgIDxkaXYgc3R5bGU9e3tkaXNwbGF5OidncmlkJyxncmlkVGVtcGxhdGVDb2x1
bW5zOidyZXBlYXQoYXV0by1maWxsLG1pbm1heCgxNzBweCwxZnIpKScsZ2FwOjEyLG1hcmdpbkJv
dHRvbToyMH19PgogICAgICAgICAgICB7WwogICAgICAgICAgICAgIFsn8J+SsCBSZXZlbnVlJyxm
bXQoc3RhdHMucmV2ZW51ZT8udG90YWx8fDApLCdmcm9tIHBhaWQgb3JkZXJzJ10sCiAgICAgICAg
ICAgICAgWyfwn6e+IE9yZGVycycsc3RhdHMucmV2ZW51ZT8uY291bnR8fDAsJ2NvbXBsZXRlZCdd
LAogICAgICAgICAgICAgIFsn4o+zIEFjdGl2ZScsc3RhdHMuYWN0aXZlPy5jb3VudHx8MCwnaW4g
cXVldWUnXSwKICAgICAgICAgICAgICBbJ/Cfjb3vuI8gVGFibGVzJyxzdGF0cy50YWJsZXM/LmZp
bmQodD0+dC5zdGF0dXM9PT0nb2NjdXBpZWQnKT8uY291bnR8fDAsJ29jY3VwaWVkIG5vdyddLAog
ICAgICAgICAgICBdLm1hcCgoW2wsdixzXSk9PigKICAgICAgICAgICAgICA8ZGl2IGtleT17bH0g
c3R5bGU9e3tiYWNrZ3JvdW5kOlQuc3VyZixib3JkZXI6YDFweCBzb2xpZCAke1QuYm9yZH1gLGJv
cmRlclJhZGl1czoxMixwYWRkaW5nOjE0fX0+CiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7
Zm9udFNpemU6MTIsY29sb3I6VC5tdXQsbWFyZ2luQm90dG9tOjZ9fT57bH08L2Rpdj4KICAgICAg
ICAgICAgICAgIDxkaXYgc3R5bGU9e3tmb250U2l6ZToyNixmb250V2VpZ2h0OjgwMCxmb250RmFt
aWx5OidKZXRCcmFpbnMgTW9ubycsbGluZUhlaWdodDoxfX0+e3Z9PC9kaXY+CiAgICAgICAgICAg
ICAgICA8ZGl2IHN0eWxlPXt7Zm9udFNpemU6MTEsY29sb3I6VC5kaW0sbWFyZ2luVG9wOjR9fT57
c308L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgKSl9CiAgICAgICAgICA8
L2Rpdj4KCiAgICAgICAgICA8ZGl2IHN0eWxlPXt7ZGlzcGxheTonZ3JpZCcsZ3JpZFRlbXBsYXRl
Q29sdW1uczonMWZyIDFmcicsZ2FwOjE2LG1hcmdpbkJvdHRvbToxNn19PgogICAgICAgICAgICA8
ZGl2IGNsYXNzTmFtZT0iY2FyZCI+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e2ZvbnRTaXpl
OjEzLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOlQubXV0LG1hcmdpbkJvdHRvbToxMn19PvCfj4YgVG9w
IERpc2hlczwvZGl2PgogICAgICAgICAgICAgIHsoc3RhdHMudG9wX2Rpc2hlc3x8W10pLmxlbmd0
aD09PTAmJjxkaXYgc3R5bGU9e3tjb2xvcjpULmRpbSxmb250U2l6ZToxMyx0ZXh0QWxpZ246J2Nl
bnRlcicscGFkZGluZzoxNn19Pk5vIGRhdGEgeWV0PC9kaXY+fQogICAgICAgICAgICAgIHsoc3Rh
dHMudG9wX2Rpc2hlc3x8W10pLm1hcCgoZCxpKT0+KAogICAgICAgICAgICAgICAgPGRpdiBrZXk9
e2l9IHN0eWxlPXt7ZGlzcGxheTonZmxleCcsYWxpZ25JdGVtczonY2VudGVyJyxnYXA6MTAscGFk
ZGluZzonN3B4IDAnLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7VC5ib3JkfWB9fT4KICAgICAg
ICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3tmb250U2l6ZToxNixtaW5XaWR0aDoyNCx0ZXh0QWxp
Z246J2NlbnRlcid9fT57Wyfwn6WHJywn8J+liCcsJ/CfpYknLCc077iP4oOjJywnNe+4j+KDoydd
W2ldfHwnwrcnfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3tmbGV4OjEs
Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTN9fT57ZC5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAg
ICAgICAgPHNwYW4gc3R5bGU9e3tmb250RmFtaWx5OidKZXRCcmFpbnMgTW9ubycsZm9udFNpemU6
MTIsY29sb3I6VC5tdXR9fT57ZC5xdHl9IHNvbGQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxz
cGFuIHN0eWxlPXt7Zm9udEZhbWlseTonSmV0QnJhaW5zIE1vbm8nLGZvbnRXZWlnaHQ6NzAwLGZv
bnRTaXplOjEzfX0+e2ZtdChkLnJldmVudWUpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2
PgogICAgICAgICAgICAgICkpfQogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYg
Y2xhc3NOYW1lPSJjYXJkIj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7Zm9udFNpemU6MTMs
Zm9udFdlaWdodDo2MDAsY29sb3I6VC5tdXQsbWFyZ2luQm90dG9tOjEyfX0+8J+qkSBUYWJsZSBT
dGF0dXM8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ZGlzcGxheTonZmxleCcsZmxl
eERpcmVjdGlvbjonY29sdW1uJyxnYXA6OH19PgogICAgICAgICAgICAgICAgeyhzdGF0cy50YWJs
ZXN8fFtdKS5tYXAodD0+KAogICAgICAgICAgICAgICAgICA8ZGl2IGtleT17dC5zdGF0dXN9IHN0
eWxlPXt7ZGlzcGxheTonZmxleCcsYWxpZ25JdGVtczonY2VudGVyJyxnYXA6MTB9fT4KICAgICAg
ICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7d2lkdGg6MTAsaGVpZ2h0OjEwLGJvcmRlclJhZGl1
czonNTAlJyxmbGV4U2hyaW5rOjAsCiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOntm
cmVlOlQuZ3JuLG9jY3VwaWVkOlQuYW1iLHJlc2VydmVkOlQuYmx1LGRpcnR5OlQubXV0fVt0LnN0
YXR1c118fFQuZGltfX0vPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7ZmxleDox
LGZvbnRTaXplOjEzLHRleHRUcmFuc2Zvcm06J2NhcGl0YWxpemUnfX0+e3Quc3RhdHVzfTwvc3Bh
bj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17e2ZvbnRGYW1pbHk6J0pldEJyYWlu
cyBNb25vJyxmb250V2VpZ2h0OjcwMCxmb250U2l6ZToxOH19Pnt0LmNvdW50fTwvc3Bhbj4KICAg
ICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICApKX0KICAgICAgICAgICAgICA8
L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICB7KHN0
YXRzLmJ5X2hvdXJ8fFtdKS5sZW5ndGg+MCYmKAogICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0i
Y2FyZCI+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e2ZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6
NjAwLGNvbG9yOlQubXV0LG1hcmdpbkJvdHRvbToxMn19PvCfk4ggUmV2ZW51ZSBieSBIb3VyIChU
b2RheSk8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ZGlzcGxheTonZmxleCcsYWxp
Z25JdGVtczonZmxleC1lbmQnLGdhcDo0LGhlaWdodDo4MH19PgogICAgICAgICAgICAgICAge3N0
YXRzLmJ5X2hvdXIubWFwKGg9PnsKICAgICAgICAgICAgICAgICAgY29uc3QgbWF4PU1hdGgubWF4
KC4uLnN0YXRzLmJ5X2hvdXIubWFwKHg9Pit4LnJldmVudWUpKTsKICAgICAgICAgICAgICAgICAg
Y29uc3QgcGN0PW1heD4wPygraC5yZXZlbnVlL21heCkqMTAwOjA7CiAgICAgICAgICAgICAgICAg
IHJldHVybigKICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17aC5ob3VyfSBzdHlsZT17e2Zs
ZXg6MSxkaXNwbGF5OidmbGV4JyxmbGV4RGlyZWN0aW9uOidjb2x1bW4nLGFsaWduSXRlbXM6J2Nl
bnRlcicsZ2FwOjN9fT4KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tmb250U2l6
ZTo5LGNvbG9yOlQubXV0LGZvbnRGYW1pbHk6J0pldEJyYWlucyBNb25vJ319PntmbXRTaG9ydCho
LnJldmVudWUpfTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e3dpZHRo
OicxMDAlJyxiYWNrZ3JvdW5kOlQuYWNjLGJvcmRlclJhZGl1czonM3B4IDNweCAwIDAnLGhlaWdo
dDpgJHtwY3R9JWAsbWluSGVpZ2h0OjQsdHJhbnNpdGlvbjonaGVpZ2h0IC4zcyd9fS8+CiAgICAg
ICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7Zm9udFNpemU6OSxjb2xvcjpULmRpbX19Pnto
LmhvdXJ9aDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAg
ICApOwogICAgICAgICAgICAgICAgfSl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAg
IDwvZGl2PgogICAgICAgICAgKX0KICAgICAgICA8Lz4KICAgICAgKX0KICAgIDwvZGl2PgogICk7
Cn0KCi8vIOKUgOKUgCBNZW51IE1hbmFnZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACmZ1bmN0aW9uIE1lbnVN
YW5hZ2VyKHtub3RpZnl9KXsKICBjb25zdCBbbWVudSxzZXRNZW51XT11c2VTdGF0ZShbXSk7CiAg
Y29uc3QgW2xvYWRpbmcsc2V0TG9hZGluZ109dXNlU3RhdGUodHJ1ZSk7CiAgY29uc3QgW2FkZGlu
ZyxzZXRBZGRpbmddPXVzZVN0YXRlKGZhbHNlKTsKICBjb25zdCBbZWRpdGluZyxzZXRFZGl0aW5n
XT11c2VTdGF0ZShudWxsKTsKICBjb25zdCBbZm9ybSxzZXRGb3JtXT11c2VTdGF0ZSh7Y2F0ZWdv
cnlfaWQ6JzEnLG5hbWU6JycscHJpY2U6JycscHJlcF90aW1lOicxMCcsZGVzY3JpcHRpb246Jycs
YWN0aXZlOjF9KTsKICBjb25zdCBbY2F0cyxzZXRDYXRzXT11c2VTdGF0ZShbXSk7CgogIGNvbnN0
IGxvYWQ9KCk9PmFwaS5tZW51KCkudGhlbihkPT57c2V0TWVudShkKTtzZXRDYXRzKGQubWFwKG09
Pih7bmFtZTptLmNhdGVnb3J5LGl0ZW1zOm0uaXRlbXN9KSkpO3NldExvYWRpbmcoZmFsc2UpO30p
OwogIHVzZUVmZmVjdCgoKT0+e2xvYWQoKTt9LFtdKTsKCiAgY29uc3Qgc2F2ZT1hc3luYygpPT57
CiAgICB0cnl7CiAgICAgIGlmKGVkaXRpbmcpIGF3YWl0IGFwaS5lZGl0SXRlbShlZGl0aW5nLmlk
LHtuYW1lOmZvcm0ubmFtZSxwcmljZTpmb3JtLnByaWNlLHByZXBfdGltZTpmb3JtLnByZXBfdGlt
ZSxkZXNjcmlwdGlvbjpmb3JtLmRlc2NyaXB0aW9uLGFjdGl2ZTpmb3JtLmFjdGl2ZX0pOwogICAg
ICBlbHNlIGF3YWl0IGFwaS5hZGRJdGVtKGZvcm0pOwogICAgICBub3RpZnkoZWRpdGluZz8n4pyT
IEl0ZW0gdXBkYXRlZCc6J+KckyBJdGVtIGFkZGVkJyk7CiAgICAgIHNldEFkZGluZyhmYWxzZSk7
c2V0RWRpdGluZyhudWxsKTtsb2FkKCk7CiAgICB9Y2F0Y2goZSl7bm90aWZ5KCdFcnJvcjogJytl
Lm1lc3NhZ2UsJ2VycicpO30KICB9OwogIGNvbnN0IGRlbD1hc3luYyhpZCk9PntpZighY29uZmly
bSgnUmVtb3ZlIGl0ZW0/JykpIHJldHVybjt0cnl7YXdhaXQgYXBpLmRlbEl0ZW0oaWQpO25vdGlm
eSgnSXRlbSByZW1vdmVkJyk7bG9hZCgpO31jYXRjaChlKXt9fTsKICBjb25zdCB0b2dnbGU9YXN5
bmMoaXRlbSk9Pnt0cnl7YXdhaXQgYXBpLmVkaXRJdGVtKGl0ZW0uaWQse2FjdGl2ZTppdGVtLmFj
dGl2ZT09JzEnPzA6MX0pO2xvYWQoKTt9Y2F0Y2goZSl7fX07CgogIGNvbnN0IG9wZW5FZGl0PWl0
ZW09PntzZXRGb3JtKHsuLi5pdGVtLGNhdGVnb3J5X2lkOml0ZW0uY2F0ZWdvcnlfaWR9KTtzZXRF
ZGl0aW5nKGl0ZW0pO3NldEFkZGluZyh0cnVlKTt9OwoKICByZXR1cm4oCiAgICA8ZGl2IHN0eWxl
PXt7cGFkZGluZzoxNixvdmVyZmxvd1k6J2F1dG8nLGhlaWdodDonY2FsYygxMDB2aCAtIDYwcHgp
J319PgogICAgICA8ZGl2IHN0eWxlPXt7ZGlzcGxheTonZmxleCcsanVzdGlmeUNvbnRlbnQ6J3Nw
YWNlLWJldHdlZW4nLGFsaWduSXRlbXM6J2NlbnRlcicsbWFyZ2luQm90dG9tOjE2fX0+CiAgICAg
ICAgPGRpdiBzdHlsZT17e2ZvbnRTaXplOjE1LGZvbnRXZWlnaHQ6NzAwfX0+TWVudSBNYW5hZ2Vt
ZW50PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9ImJ0biBiYSIgc3R5bGU9e3twYWRk
aW5nOic4cHggMTZweCcsZm9udFNpemU6MTN9fSBvbkNsaWNrPXsoKT0+e3NldEVkaXRpbmcobnVs
bCk7c2V0Rm9ybSh7Y2F0ZWdvcnlfaWQ6JzEnLG5hbWU6JycscHJpY2U6JycscHJlcF90aW1lOicx
MCcsZGVzY3JpcHRpb246JycsYWN0aXZlOjF9KTtzZXRBZGRpbmcodHJ1ZSk7fX0+CiAgICAgICAg
ICArIEFkZCBJdGVtCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICB7bG9hZGlu
Zz88U3Bpbi8+Om1lbnUubWFwKGNhdD0+KAogICAgICAgIDxkaXYga2V5PXtjYXQuY2F0ZWdvcnl9
IHN0eWxlPXt7bWFyZ2luQm90dG9tOjIwfX0+CiAgICAgICAgICA8ZGl2IHN0eWxlPXt7Zm9udFNp
emU6MTIsZm9udFdlaWdodDo3MDAsY29sb3I6VC5tdXQsbGV0dGVyU3BhY2luZzonLjA4ZW0nLHRl
eHRUcmFuc2Zvcm06J3VwcGVyY2FzZScsbWFyZ2luQm90dG9tOjgsCiAgICAgICAgICAgIGJvcmRl
ckJvdHRvbTpgMXB4IHNvbGlkICR7VC5ib3JkfWAscGFkZGluZ0JvdHRvbTo2fX0+e2NhdC5jYXRl
Z29yeX0gKHtjYXQuaXRlbXMubGVuZ3RofSk8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9e3tk
aXNwbGF5OidmbGV4JyxmbGV4RGlyZWN0aW9uOidjb2x1bW4nLGdhcDo2fX0+CiAgICAgICAgICAg
IHtjYXQuaXRlbXMubWFwKGl0ZW09PigKICAgICAgICAgICAgICA8ZGl2IGtleT17aXRlbS5pZH0g
c3R5bGU9e3tiYWNrZ3JvdW5kOlQuY2FyZCxib3JkZXI6YDFweCBzb2xpZCAke1QuYm9yZH1gLGJv
cmRlclJhZGl1czoxMCwKICAgICAgICAgICAgICAgIHBhZGRpbmc6JzEwcHggMTRweCcsZGlzcGxh
eTonZmxleCcsYWxpZ25JdGVtczonY2VudGVyJyxnYXA6MTIsCiAgICAgICAgICAgICAgICBvcGFj
aXR5Oml0ZW0uYWN0aXZlPT0nMSc/MTouNX19PgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17
e2ZsZXg6MX19PgogICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17e2ZvbnRXZWlnaHQ6NjAw
LGZvbnRTaXplOjE0fX0+e2l0ZW0ubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgIHtpdGVt
LmRlc2NyaXB0aW9uJiY8c3BhbiBzdHlsZT17e2ZvbnRTaXplOjEyLGNvbG9yOlQubXV0LG1hcmdp
bkxlZnQ6OH19PntpdGVtLmRlc2NyaXB0aW9ufTwvc3Bhbj59CiAgICAgICAgICAgICAgICA8L2Rp
dj4KICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7Zm9udEZhbWlseTonSmV0QnJhaW5zIE1v
bm8nLGZvbnRXZWlnaHQ6NzAwLGNvbG9yOlQuYWNjfX0+e2ZtdChpdGVtLnByaWNlKX08L3NwYW4+
CiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17e2ZvbnRTaXplOjExLGNvbG9yOlQuZGltfX0+
fntpdGVtLnByZXBfdGltZX1tPC9zcGFuPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05h
bWU9ImJ0biBiZyIgc3R5bGU9e3tmb250U2l6ZToxMSxwYWRkaW5nOic0cHggMTBweCd9fSBvbkNs
aWNrPXsoKT0+dG9nZ2xlKGl0ZW0pfT4KICAgICAgICAgICAgICAgICAge2l0ZW0uYWN0aXZlPT0n
MSc/J1BhdXNlJzonRW5hYmxlJ30KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAg
ICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9ImJ0biBiZyIgc3R5bGU9e3tmb250U2l6ZToxMSxwYWRk
aW5nOic0cHggMTBweCd9fSBvbkNsaWNrPXsoKT0+b3BlbkVkaXQoaXRlbSl9PkVkaXQ8L2J1dHRv
bj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPSJidG4gYmQiIHN0eWxlPXt7Zm9u
dFNpemU6MTEscGFkZGluZzonNHB4IDEwcHgnfX0gb25DbGljaz17KCk9PmRlbChpdGVtLmlkKX0+
w5c8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgKSl9CiAgICAgICAg
ICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgKSl9CiAgICAgIHthZGRpbmcmJigKICAgICAg
ICA8TW9kYWwgdGl0bGU9e2VkaXRpbmc/J0VkaXQgSXRlbSc6J0FkZCBNZW51IEl0ZW0nfSBvbkNs
b3NlPXsoKT0+e3NldEFkZGluZyhmYWxzZSk7c2V0RWRpdGluZyhudWxsKTt9fT4KICAgICAgICAg
IDxkaXYgc3R5bGU9e3tkaXNwbGF5OidmbGV4JyxmbGV4RGlyZWN0aW9uOidjb2x1bW4nLGdhcDox
Mn19PgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgIDxsYWJlbCBzdHlsZT17e2ZvbnRT
aXplOjEyLGNvbG9yOlQubXV0LGRpc3BsYXk6J2Jsb2NrJyxtYXJnaW5Cb3R0b206NH19PkNhdGVn
b3J5PC9sYWJlbD4KICAgICAgICAgICAgICA8c2VsZWN0IHZhbHVlPXtmb3JtLmNhdGVnb3J5X2lk
fSBvbkNoYW5nZT17ZT0+c2V0Rm9ybShmPT4oey4uLmYsY2F0ZWdvcnlfaWQ6ZS50YXJnZXQudmFs
dWV9KSl9PgogICAgICAgICAgICAgICAge21lbnUubWFwKChtLGkpPT48b3B0aW9uIGtleT17aX0g
dmFsdWU9e2krMX0+e20uY2F0ZWdvcnl9PC9vcHRpb24+KX0KICAgICAgICAgICAgICA8L3NlbGVj
dD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPGxh
YmVsIHN0eWxlPXt7Zm9udFNpemU6MTIsY29sb3I6VC5tdXQsZGlzcGxheTonYmxvY2snLG1hcmdp
bkJvdHRvbTo0fX0+TmFtZSAqPC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQgdmFsdWU9e2Zv
cm0ubmFtZX0gb25DaGFuZ2U9e2U9PnNldEZvcm0oZj0+KHsuLi5mLG5hbWU6ZS50YXJnZXQudmFs
dWV9KSl9IHBsYWNlaG9sZGVyPSJJdGVtIG5hbWUiLz4KICAgICAgICAgICAgPC9kaXY+CiAgICAg
ICAgICAgIDxkaXYgc3R5bGU9e3tkaXNwbGF5OidncmlkJyxncmlkVGVtcGxhdGVDb2x1bW5zOicx
ZnIgMWZyJyxnYXA6MTB9fT4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGxh
YmVsIHN0eWxlPXt7Zm9udFNpemU6MTIsY29sb3I6VC5tdXQsZGlzcGxheTonYmxvY2snLG1hcmdp
bkJvdHRvbTo0fX0+UHJpY2UgKOKCuSkgKjwvbGFiZWw+CiAgICAgICAgICAgICAgICA8aW5wdXQg
dHlwZT0ibnVtYmVyIiB2YWx1ZT17Zm9ybS5wcmljZX0gb25DaGFuZ2U9e2U9PnNldEZvcm0oZj0+
KHsuLi5mLHByaWNlOmUudGFyZ2V0LnZhbHVlfSkpfSBwbGFjZWhvbGRlcj0iMC4wMCIvPgogICAg
ICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8bGFi
ZWwgc3R5bGU9e3tmb250U2l6ZToxMixjb2xvcjpULm11dCxkaXNwbGF5OidibG9jaycsbWFyZ2lu
Qm90dG9tOjR9fT5QcmVwIFRpbWUgKG1pbik8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0
IHR5cGU9Im51bWJlciIgdmFsdWU9e2Zvcm0ucHJlcF90aW1lfSBvbkNoYW5nZT17ZT0+c2V0Rm9y
bShmPT4oey4uLmYscHJlcF90aW1lOmUudGFyZ2V0LnZhbHVlfSkpfS8+CiAgICAgICAgICAgICAg
PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAg
IDxsYWJlbCBzdHlsZT17e2ZvbnRTaXplOjEyLGNvbG9yOlQubXV0LGRpc3BsYXk6J2Jsb2NrJyxt
YXJnaW5Cb3R0b206NH19PkRlc2NyaXB0aW9uPC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQg
dmFsdWU9e2Zvcm0uZGVzY3JpcHRpb258fCcnfSBvbkNoYW5nZT17ZT0+c2V0Rm9ybShmPT4oey4u
LmYsZGVzY3JpcHRpb246ZS50YXJnZXQudmFsdWV9KSl9IHBsYWNlaG9sZGVyPSJPcHRpb25hbCBk
ZXNjcmlwdGlvbiIvPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFz
c05hbWU9ImJ0biBiYSIgc3R5bGU9e3twYWRkaW5nOicxMnB4IDAnLGZvbnRTaXplOjE0fX0gb25D
bGljaz17c2F2ZX0+CiAgICAgICAgICAgICAge2VkaXRpbmc/J1NhdmUgQ2hhbmdlcyc6J0FkZCB0
byBNZW51J30KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8
L01vZGFsPgogICAgICApfQogICAgPC9kaXY+CiAgKTsKfQoKLy8g4pSA4pSAIFNldHRpbmdzIOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgApmdW5jdGlvbiBTZXR0aW5ncyh7bm90aWZ5LG9uU2F2
ZWR9KXsKICBjb25zdCBbcyxzZXRTXT11c2VTdGF0ZShudWxsKTsKICBjb25zdCBbbG9hZGluZyxz
ZXRMb2FkaW5nXT11c2VTdGF0ZSh0cnVlKTsKICB1c2VFZmZlY3QoKCk9PnthcGkuc2V0dGluZ3Mo
KS50aGVuKGQ9PntzZXRTKGQpO3NldExvYWRpbmcoZmFsc2UpO30pO30sW10pOwogIGNvbnN0IHNh
dmU9YXN5bmMoKT0+e3RyeXthd2FpdCBhcGkuc2F2ZVNldChzKTtub3RpZnkoJ+KckyBTZXR0aW5n
cyBzYXZlZCcpO29uU2F2ZWQocyk7fWNhdGNoKGUpe25vdGlmeSgnRXJyb3I6ICcrZS5tZXNzYWdl
LCdlcnInKTt9fTsKCiAgaWYobG9hZGluZykgcmV0dXJuIDxTcGluLz47CiAgcmV0dXJuKAogICAg
PGRpdiBzdHlsZT17e3BhZGRpbmc6MjAsb3ZlcmZsb3dZOidhdXRvJyxoZWlnaHQ6J2NhbGMoMTAw
dmggLSA2MHB4KScsbWF4V2lkdGg6NjAwfX0+CiAgICAgIDxkaXYgc3R5bGU9e3tmb250U2l6ZTox
NSxmb250V2VpZ2h0OjcwMCxtYXJnaW5Cb3R0b206MTZ9fT5SZXN0YXVyYW50IFNldHRpbmdzPC9k
aXY+CiAgICAgIDxkaXYgc3R5bGU9e3tkaXNwbGF5OidmbGV4JyxmbGV4RGlyZWN0aW9uOidjb2x1
bW4nLGdhcDoxNH19PgogICAgICAgIHtbCiAgICAgICAgICBbJ3Jlc3RhdXJhbnRfbmFtZScsJ1Jl
c3RhdXJhbnQgTmFtZScsJ0ZvcmtIUSddLAogICAgICAgICAgWydhZGRyZXNzJywnQWRkcmVzcycs
JzEyMyBNYWluIFN0J10sCiAgICAgICAgICBbJ3Bob25lJywnUGhvbmUgTnVtYmVyJywnKzkxIDk4
NzY1IDQzMjEwJ10sCiAgICAgICAgICBbJ2N1cnJlbmN5X3N5bWJvbCcsJ0N1cnJlbmN5IFN5bWJv
bCcsJ+KCuSddLAogICAgICAgIF0ubWFwKChbayxsYWJlbCxwaF0pPT4oCiAgICAgICAgICA8ZGl2
IGtleT17a30+CiAgICAgICAgICAgIDxsYWJlbCBzdHlsZT17e2ZvbnRTaXplOjEyLGNvbG9yOlQu
bXV0LGRpc3BsYXk6J2Jsb2NrJyxtYXJnaW5Cb3R0b206NH19PntsYWJlbH08L2xhYmVsPgogICAg
ICAgICAgICA8aW5wdXQgdmFsdWU9e3Nba118fCcnfSBvbkNoYW5nZT17ZT0+c2V0Uyh4PT4oey4u
LngsW2tdOmUudGFyZ2V0LnZhbHVlfSkpfSBwbGFjZWhvbGRlcj17cGh9Lz4KICAgICAgICAgIDwv
ZGl2PgogICAgICAgICkpfQogICAgICAgIDxkaXYgc3R5bGU9e3tkaXNwbGF5OidncmlkJyxncmlk
VGVtcGxhdGVDb2x1bW5zOicxZnIgMWZyJyxnYXA6MTJ9fT4KICAgICAgICAgIDxkaXY+CiAgICAg
ICAgICAgIDxsYWJlbCBzdHlsZT17e2ZvbnRTaXplOjEyLGNvbG9yOlQubXV0LGRpc3BsYXk6J2Js
b2NrJyxtYXJnaW5Cb3R0b206NH19PlRheCBSYXRlICglKTwvbGFiZWw+CiAgICAgICAgICAgIDxp
bnB1dCB0eXBlPSJudW1iZXIiIHZhbHVlPXtwYXJzZUZsb2F0KHMudGF4X3JhdGV8fDAuMDgpKjEw
MH0gb25DaGFuZ2U9e2U9PnNldFMoeD0+KHsuLi54LHRheF9yYXRlOmUudGFyZ2V0LnZhbHVlLzEw
MH0pKX0vPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8bGFi
ZWwgc3R5bGU9e3tmb250U2l6ZToxMixjb2xvcjpULm11dCxkaXNwbGF5OidibG9jaycsbWFyZ2lu
Qm90dG9tOjR9fT5TZXJ2aWNlIENoYXJnZSAoJSk8L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQg
dHlwZT0ibnVtYmVyIiB2YWx1ZT17cGFyc2VGbG9hdChzLnNlcnZpY2VfY2hhcmdlX3JhdGV8fDAu
MTApKjEwMH0gb25DaGFuZ2U9e2U9PnNldFMoeD0+KHsuLi54LHNlcnZpY2VfY2hhcmdlX3JhdGU6
ZS50YXJnZXQudmFsdWUvMTAwfSkpfS8+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4K
ICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT0iYnRuIGJhIiBzdHlsZT17e3BhZGRpbmc6JzEzcHgg
MCcsZm9udFNpemU6MTQsbWFyZ2luVG9wOjR9fSBvbkNsaWNrPXtzYXZlfT5TYXZlIFNldHRpbmdz
PC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgKTsKfQoKLy8g4pSA4pSAIFJvb3Qg
QXBwIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgApleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBB
cHAoKXsKICBjb25zdCBbc2NyZWVuLHNldFNjcmVlbl09dXNlU3RhdGUoJ3BvcycpOwogIGNvbnN0
IFtxclRhYmxlLHNldFFyVGFibGVdPXVzZVN0YXRlKDEpOwogIGNvbnN0IFtiaWxsT3JkZXIsc2V0
QmlsbE9yZGVyXT11c2VTdGF0ZShudWxsKTsKICBjb25zdCBbdG9hc3Qsc2V0VG9hc3RdPXVzZVN0
YXRlKG51bGwpOwogIGNvbnN0IFtyZWZyZXNoLHNldFJlZnJlc2hdPXVzZVN0YXRlKDApOwogIGNv
bnN0I