1 line
11 KiB
JavaScript
1 line
11 KiB
JavaScript
ZnVuY3Rpb24gZ2V0dXJsKGEpIHsKICAgIGxldCB5anN0cj1yZXEoYSkuY29udGVudDsKICAgIGxldCB5anVybDE9anNwLnBkZmgoeWpzdHIsJ2JvZHkmJmEmJmhyZWYnKTsKICAgIHlqdXJsMT15anVybDEubWF0Y2goLy4qdGFyZ2V0PSguKilcLy8pWzFdOwogICAgbGV0IHlqc3RyMj1mZXRjaCh5anVybDEpOwogICAgbGV0IHlqbGlzdD1qc3AucGRmYSh5anN0cjIsJ2JvZHkmJmEueHYnKTsKICAgIGxldCB5anVybHM9W107CiAgICB5amxpc3QuZm9yRWFjaChpdD0+eWp1cmxzLnB1c2goanNwLnBkZmgoaXQsJ2EmJmhyZWYnKSkpOwoKCiAgICBsZXQgdXJsPXlqdXJsc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqeWp1cmxzLmxlbmd0aCldOwogICAgcmV0dXJuIHVybAogICAgCn0KCmdsb2JhbFRoaXMuZ2V0dXJsID0gZ2V0dXJsOwpnbG9iYWxUaGlzLm1jID0nJzsKZ2xvYmFsVGhpcy50ayA9JycKdmFyIHJ1bGUgPSB7CiAgICB0aXRsZToneHZpZGVvc+a2qea2qVvlr4ZdJywKICAgIGhvc3Q6J2h0dHBzOi8v5Y+R5biD5Zyw5Z2ALmNvbS8nLAogICAgaG9zdEpzOiRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgSE9TVD1nZXR1cmwoSE9TVCk7CgogICAgfSksCiAgICAvL3VybOS7jmh0dHA6Ly9oc2NrLm5ldOS4reemgeatoumHjeWumuWQkeWPlgogICAgLy9sZXQgaHRtbD1yZXEodXJsLHtyZWRpcmVjdDowfSkuaGVhZGVycy5sb2NhdGlvbjsg5Y+m5aSW5LiA56eN5YaZ5rOVIAogICAgaG9tZVVybDonL2NoYW5uZWxzLWluZGV4LycsCiAgICAvL2RldGFpbFVybDonL2FwaS9mcm9udC9tb2RlbHMvdXNlcm5hbWUvZnlpZC9jYW0/dHJpZ2dlclJlcXVlc3Q9bG9hZENhbScsCiAgICBzZWFyY2hVcmw6JycsCiAgICB1cmw6Jy9meWNsYXNzL+WIhumalGZ5cGFnZScsICAgIAogICAgLy9oZWFkZXJzOnsiVXNlci1BZ2VudCI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTIyLjAuMC4wIFNhZmFyaS81MzcuMzYgRWRnLzEyMi4wLjAuMCJ9LAogICAgdGltZW91dDo1MDAwLAogICAgLy9jbGFzc19wYXJzZTogJ2pzb246LnBpbmd0YWk7LnRpdGxlOy5hZGRyZXNzOyguKiknLC8v5LuOaG9tZVVybOWPlua6kOeggQogICAgY2xhc3NfbmFtZTon6aKR6YGTJuaYjuaYnycsCiAgICBjbGFzc191cmw6J2NoYW5uZWxzLWluZGV45YiGLemalCZwb3Juc3RhcnMtaW5kZXjliIYt6ZqUJywKICAgIGxpbWl0OjUsCiAgICBtdWx0aToxLAogICAgc2VhcmNoYWJsZToxLAogICAgcGxheV9wYXJzZTp0cnVlLAogICAgbGF6eTokanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIAogICAgfSksCiAgICDmjqjojZA6JGpzLnRvU3RyaW5nKCgpID0+IHsKCiAgICAgICAgbGV0IGh0bWw9ZmV0Y2goSE9TVCsnL3Byb2ZpbGVzL2NoaWNrZW4xODA2L2ZlZWQvc3RyYWlnaHQnLCB7aGVhZGVyczp7J2NvbnRlbnQtdHlwZSc6J2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCcsJ0Nvb2tpZSc6InVybHNzPWh0dHBzJTNBJTJGJTJGd3d3Lnh2aWRlb3MuY29tOyBIc3RDZmE0Nzk3ODI1PTE3MzAwNTkzNTQyNjc7IEhzdENtdTQ3OTc4MjU9MTczMDA1OTM1NDI2NzsgX19kdHN1PTRDMzAxNzMwMDU5MzU0RTg1QzM1ODUzODlCOTE4Q0NEOyBIc3RDbnY0Nzk3ODI1PTI7IGNpdD1jNWUzMjUzNDE0MjFmYmYzLW1UTDd3Q3NDM2llOU1FSmlGOEJCdyUzRCUzRDsgaHRtbDVfbmV0d29ya3NwZWVkPTE2NTkwOyBIc3RDbnM0Nzk3ODI1PTM7IEhzdENsYTQ3OTc4MjU9MTczMDA3NDgwMDA2MzsgSHN0UG40Nzk3ODI1PTY7IEhzdFB0NDc5NzgyNT05O3Nlc3Npb25fdG9rZW49YTNiOTA3ZTIzNTg3NGVkOGc1S2JsbE1uN1lEaEFjN3NJTHJVUWhYUTNZQm5nMGwyUW5DVnBfU0Nvcll0NmtyZDhDRzk3RHlXRWtRVmNaTWZDb196eFJyNExid1BCZzk0Mmt3azBqTGhzdmI0TEFFdTZwb0N5YnA5NEZZYzAtMXEzNjJPUWdwNGh2S2NuRVVkcV9ua05FNDVjNU1ad21ZM0VqZ05oRnM4bGVCT1htNGxILV9hVUc4SHBzdTBaekhOMmltMjYwU3IxQ240WndIR3Q3ODBZSjRrUlhiZXk0VDVqU0E0WTM3SFh3REhNenl6a3FfOVhkNG5kaEElM0QifSxib2R5OidmZWVkU2V0dGluZ3MlNUJjb250ZW50VHlwZSU1RD03JmZlZWRTZXR0aW5ncyU1QnNob3dGcmVlUHJlbWl1bSU1RD0xJm1haW5DYXRzJTVCJTVEPXN0cmFpZ2h0JyxtZXRob2Q6J1BPU1QnfSk7CiAgICAgICAgbGV0IGpzb249SlNPTi5wYXJzZShodG1sKTsKICAgICAgICBsZXQgbGlzdD1qc29uLmRhdGEuY29udGVudDsKCiAgICAgICAgbGV0IGQgPSBbXTsKICAgICAgICBsaXN0LmZvckVhY2goaXQgPT4gewogICAgICAgICAgICBkLnB1c2goewogICAgICAgICAgICAgICAgdXJsOkhPU1QraXQudlswXS51LAogICAgICAgICAgICAgICAgdGl0bGU6IGl0LnZbMF0udCwKICAgICAgICAgICAgICAgIGltZzppdC52WzBdLmlmCiAgICAgICAgICAgICAgIAogICAgICAgICAgICB9KQogICAgICAgIAogICAgICAgfSk7CiAgICAgICAgc2V0UmVzdWx0KGQpOwogICAgfSksCiAgICDkuIDnuqc6JGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICAKICAgICAgICBsZXQgdXJsPWlucHV0Lm1hdGNoKC8oaHR0cC4qP1wvXC8uKj8pXC8vKVsxXTsKICAgICAgICBsZXQgdHVybCxzdHI7CiAgICAgICAgIG1jPU1ZX0NBVEUucmVwbGFjZSgn5YiGLemalCcsJycpOwogICAgICAgIGxldCB3dz1NWV9DQVRFOwogICAgICAgIGxldCBwZz1NWV9QQUdFLTE7CiAgICAgICAgbGV0IGQgPSBbXTsKCiAgICAgICAgaWYod3cuaW5kZXhPZign5YiGLemalCcpPi0xKXsKICAgICAgICAgICAgaWYoTVlfUEFHRT09PTEpewogICAgICAgICAgICAgICAgdHVybD11cmwrYC8ke21jfWAKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICB0dXJsPXVybCtgLyR7bWN9LyR7cGd9YAogICAgICAgICAgICB9CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIHR1cmw9dXJsK2AvcHJvZmlsZXMvJHttY30vZmVlZC9zdHJhaWdodGAKICAgICAgICB9CiAgICAgICAgaWYodHVybC5pbmRleE9mKCdmZWVkL3N0cmFpZ2h0Jyk9PT0tMSl7CiAgICAgICAgICAgIHN0cj1mZXRjaCh0dXJsLHtoZWFkZXJzOnsnQ29va2llJzoidXJsc3M9aHR0cHMlM0ElMkYlMkZ3d3cueHZpZGVvcy5jb207IEhzdENmYTQ3OTc4MjU9MTczMDA1OTM1NDI2NzsgSHN0Q211NDc5NzgyNT0xNzMwMDU5MzU0MjY3OyBfX2R0c3U9NEMzMDE3MzAwNTkzNTRFODVDMzU4NTM4OUI5MThDQ0Q7IEhzdENudjQ3OTc4MjU9MjsgY2l0PWM1ZTMyNTM0MTQyMWZiZjMtbVRMN3dDc0MzaWU5TUVKaUY4QkJ3JTNEJTNEOyBodG1sNV9uZXR3b3Jrc3BlZWQ9MTY1OTA7IEhzdENuczQ3OTc4MjU9MzsgSHN0Q2xhNDc5NzgyNT0xNzMwMDc0ODAwMDYzOyBIc3RQbjQ3OTc4MjU9NjsgSHN0UHQ0Nzk3ODI1PTk7c2Vzc2lvbl90b2tlbj1hM2I5MDdlMjM1ODc0ZWQ4ZzVLYmxsTW43WURoQWM3c0lMclVRaFhRM1lCbmcwbDJRbkNWcF9TQ29yWXQ2a3JkOENHOTdEeVdFa1FWY1pNZkNvX3p4UnI0TGJ3UEJnOTQya3drMGpMaHN2YjRMQUV1NnBvQ3licDk0RlljMC0xcTM2Mk9RZ3A0aHZLY25FVWRxX25rTkU0NWM1TVp3bVkzRWpnTmhGczhsZUJPWG00bEgtX2FVRzhIcHN1MFp6SE4yaW0yNjBTcjFDbjRad0hHdDc4MFlKNGtSWGJleTRUNWpTQTRZMzdIWHdESE16eXprcV85WGQ0bmRoQSUzRCIsJ1VzZXItQWdlbnQnOidNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTMwLjAuMC4wIFNhZmFyaS81MzcuMzYgRWRnLzEzMC4wLjAuMCd9fSk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGlmKE1ZX1BBR0U9PT0xKXsKICAgICAgICAgICAgICAgIHN0cj1mZXRjaCh0dXJsLCB7aGVhZGVyczp7J2NvbnRlbnQtdHlwZSc6J2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCcsJ0Nvb2tpZSc6InVybHNzPWh0dHBzJTNBJTJGJTJGd3d3Lnh2aWRlb3MuY29tOyBIc3RDZmE0Nzk3ODI1PTE3MzAwNTkzNTQyNjc7IEhzdENtdTQ3OTc4MjU9MTczMDA1OTM1NDI2NzsgX19kdHN1PTRDMzAxNzMwMDU5MzU0RTg1QzM1ODUzODlCOTE4Q0NEOyBIc3RDbnY0Nzk3ODI1PTI7IGNpdD1jNWUzMjUzNDE0MjFmYmYzLW1UTDd3Q3NDM2llOU1FSmlGOEJCdyUzRCUzRDsgaHRtbDVfbmV0d29ya3NwZWVkPTE2NTkwOyBIc3RDbnM0Nzk3ODI1PTM7IEhzdENsYTQ3OTc4MjU9MTczMDA3NDgwMDA2MzsgSHN0UG40Nzk3ODI1PTY7IEhzdFB0NDc5NzgyNT05O3Nlc3Npb25fdG9rZW49YTNiOTA3ZTIzNTg3NGVkOGc1S2JsbE1uN1lEaEFjN3NJTHJVUWhYUTNZQm5nMGwyUW5DVnBfU0Nvcll0NmtyZDhDRzk3RHlXRWtRVmNaTWZDb196eFJyNExid1BCZzk0Mmt3azBqTGhzdmI0TEFFdTZwb0N5YnA5NEZZYzAtMXEzNjJPUWdwNGh2S2NuRVVkcV9ua05FNDVjNU1ad21ZM0VqZ05oRnM4bGVCT1htNGxILV9hVUc4SHBzdTBaekhOMmltMjYwU3IxQ240WndIR3Q3ODBZSjRrUlhiZXk0VDVqU0E0WTM3SFh3REhNenl6a3FfOVhkNG5kaEElM0QiLCdSZWZlcmVyJzp0dXJsfSxib2R5OidmZWVkU2V0dGluZ3MlNUJjb250ZW50VHlwZSU1RD03JmZlZWRTZXR0aW5ncyU1QnNob3dGcmVlUHJlbWl1bSU1RD0xJm1haW5DYXRzJTVCJTVEPXN0cmFpZ2h0JyxtZXRob2Q6J1BPU1QnfSk7CiAgICAgICAgICAgICAgICBsZXQganNvbj1KU09OLnBhcnNlKHN0cik7CiAgICAgICAgICAgICAgICB0az1qc29uLm1ldGFkYXRhLmxhc3RFdmVudFRpbWU7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgc3RyPWZldGNoKHR1cmwrJy8nK3RrLCB7aGVhZGVyczp7J2NvbnRlbnQtdHlwZSc6J2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCcsJ0Nvb2tpZSc6InVybHNzPWh0dHBzJTNBJTJGJTJGd3d3Lnh2aWRlb3MuY29tOyBIc3RDZmE0Nzk3ODI1PTE3MzAwNTkzNTQyNjc7IEhzdENtdTQ3OTc4MjU9MTczMDA1OTM1NDI2NzsgX19kdHN1PTRDMzAxNzMwMDU5MzU0RTg1QzM1ODUzODlCOTE4Q0NEOyBIc3RDbnY0Nzk3ODI1PTI7IGNpdD1jNWUzMjUzNDE0MjFmYmYzLW1UTDd3Q3NDM2llOU1FSmlGOEJCdyUzRCUzRDsgaHRtbDVfbmV0d29ya3NwZWVkPTE2NTkwOyBIc3RDbnM0Nzk3ODI1PTM7IEhzdENsYTQ3OTc4MjU9MTczMDA3NDgwMDA2MzsgSHN0UG40Nzk3ODI1PTY7IEhzdFB0NDc5NzgyNT05O3Nlc3Npb25fdG9rZW49YTNiOTA3ZTIzNTg3NGVkOGc1S2JsbE1uN1lEaEFjN3NJTHJVUWhYUTNZQm5nMGwyUW5DVnBfU0Nvcll0NmtyZDhDRzk3RHlXRWtRVmNaTWZDb196eFJyNExid1BCZzk0Mmt3azBqTGhzdmI0TEFFdTZwb0N5YnA5NEZZYzAtMXEzNjJPUWdwNGh2S2NuRVVkcV9ua05FNDVjNU1ad21ZM0VqZ05oRnM4bGVCT1htNGxILV9hVUc4SHBzdTBaekhOMmltMjYwU3IxQ240WndIR3Q3ODBZSjRrUlhiZXk0VDVqU0E0WTM3SFh3REhNenl6a3FfOVhkNG5kaEElM0QiLCdSZWZlcmVyJzp0dXJsfSxib2R5OidmZWVkU2V0dGluZ3MlNUJjb250ZW50VHlwZSU1RD03JmZlZWRTZXR0aW5ncyU1QnNob3dGcmVlUHJlbWl1bSU1RD0xJm1haW5DYXRzJTVCJTVEPXN0cmFpZ2h0JyxtZXRob2Q6J1BPU1QnfSk7CiAgICAgICAgICAgICAgICBsZXQganNvbj1KU09OLnBhcnNlKHN0cik7CiAgICAgICAgICAgICAgICB0az1qc29uLm1ldGFkYXRhLmxhc3RFdmVudFRpbWU7CiAgICAgICAgICAgfQoKICAgICAgICB9CiAgICAgICAgaWYoc3RyLmluZGV4T2YoJzx0aXRsZT4nKT4tMSl7CiAgICAgICAgICAgIGxldCBsaXN0PWpzcC5wZGZhKHN0ciwnYm9keSYmLm1vemFpcXVlJiYudGh1bWItYmxvY2snKTsgICAgICAgIAogICAgICAgICAgICBsaXN0LmZvckVhY2goaXQgPT4gewogICAgICAgICAgICBkLnB1c2goewogICAgICAgICAgICAgICAgLy92b2RfaWQ6dXJsKycvcHJvZmlsZXMvJytpdC5tYXRjaCgvcHJvZmlsZV8oLio/KSIvKVsxXSsnL2ZlZWQvc3RyYWlnaHQnLAogICAgICAgICAgICAgICAgdm9kX2lkOml0Lm1hdGNoKC9wcm9maWxlXyguKj8pIi8pWzFdLAogICAgICAgICAgICAgICAgdm9kX25hbWU6IHBkZmgoaXQsJy5wcm9maWxlLW5hbWUmJlRleHQnKSwKICAgICAgICAgICAgICAgIHZvZF9waWM6aXQubWF0Y2goL2ltZyBzcmM9IiguKj8pIi8pWzFdLAogICAgICAgICAgICAgICAgdm9kX3RhZzogJ2ZvbGRlcicKICAgICAgICAgICAgICAgIC8vLm1hdGNoKC8oaHR0cC4qPyknLylbMV0KICAgICAgICAgICAgfSkKICAgICAgICAKICAgICAgIH0pOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBsZXQganNvbj1KU09OLnBhcnNlKHN0cik7CiAgICAgICAgICAgCiAgICAgICAgICAgIGxldCBsaXN0PWpzb24uZGF0YS5jb250ZW50OyAgIAogICAgICAgICAgICBsZXQgdXJscz1bXTsKICAgICAgICAgICAgbGlzdC5mb3JFYWNoKGl0PT57CiAgICAgICAgICAgCiAgICAgICAgICAgIGQucHVzaCh7CiAgICAgICAgICAgICAgICB2b2RfaWQ6dXJsK2l0LnZbMF0udSwKICAgICAgICAgICAgICAgIHZvZF9uYW1lOiBpdC52WzBdLnQsCiAgICAgICAgICAgICAgICB2b2RfcGljOml0LnZbMF0uaWYsCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfSkKCiAgICAgICAgfSkKICAgICAgICB9CiAgICAgICAgCiAgICAgICBWT0RTID1kOwogICAgfSksCiAgICDkuoznuqc6JGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICAgICAgbGV0IGh0bWw9ZmV0Y2goaW5wdXQse2hlYWRlcnM6eydDb29raWUnOiJ1cmxzcz1odHRwcyUzQSUyRiUyRnd3dy54dmlkZW9zLmNvbTsgSHN0Q2ZhNDc5NzgyNT0xNzMwMDU5MzU0MjY3OyBIc3RDbXU0Nzk3ODI1PTE3MzAwNTkzNTQyNjc7IF9fZHRzdT00QzMwMTczMDA1OTM1NEU4NUMzNTg1Mzg5QjkxOENDRDsgSHN0Q252NDc5NzgyNT0yOyBjaXQ9YzVlMzI1MzQxNDIxZmJmMy1tVEw3d0NzQzNpZTlNRUppRjhCQnclM0QlM0Q7IGh0bWw1X25ldHdvcmtzcGVlZD0xNjU5MDsgSHN0Q25zNDc5NzgyNT0zOyBIc3RDbGE0Nzk3ODI1PTE3MzAwNzQ4MDAwNjM7IEhzdFBuNDc5NzgyNT02OyBIc3RQdDQ3OTc4MjU9OTtzZXNzaW9uX3Rva2VuPWEzYjkwN2UyMzU4NzRlZDhnNUtibGxNbjdZRGhBYzdzSUxyVVFoWFEzWUJuZzBsMlFuQ1ZwX1NDb3JZdDZrcmQ4Q0c5N0R5V0VrUVZjWk1mQ29fenhScjRMYndQQmc5NDJrd2swakxoc3ZiNExBRXU2cG9DeWJwOTRGWWMwLTFxMzYyT1FncDRodktjbkVVZHFfbmtORTQ1YzVNWndtWTNFamdOaEZzOGxlQk9YbTRsSC1fYVVHOEhwc3UwWnpITjJpbTI2MFNyMUNuNFp3SEd0NzgwWUo0a1JYYmV5NFQ1alNBNFkzN0hYd0RITXp5emtxXzlYZDRuZGhBJTNEIn19KTsKICAgICAgICAgICAgbGV0IGxpc3Q9aHRtbC5tYXRjaCgvaHRtbDVwbGF5ZXJcLnNldFZpZGVvLio/Oy9pZykuc2xpY2UoMSw0KTsKICAgICAgICAgICAgbGV0IHVybHM9W107CiAgICAgICAgICAgIGxldCBmdXJsPWh0bWwubWF0Y2goL3NldFZpZGVvSExTXCgnKC4qPyknLylbMV07CiAgICAgICAgICAgIGxpc3QubWFwKGE9PnVybHMucHVzaChhLm1hdGNoKC9zZXRWaWRlbyguKj8pXCgvKVsxXSsnJCcrYS5tYXRjaCgvKGh0dHAuKj8pJy8pWzFdKSk7CiAgICAgICAgICAgIGxldCBwdWw9W107CgogICAgICAgICAgICBsZXQgc3RyPWZldGNoKGZ1cmwpOwogICAgICAgICAgICBsZXQgZmxpc3Q9W107CiAgICAgICAgICAgIGlmKHN0ciE9JycpewogICAgICAgICAgICBmbGlzdD1zdHIubWF0Y2goL0VYVC1YLVNUUkVBTS1JTkYuKj9cbi4qL2cpOwogICAgICAgICAgICBmbGlzdC5mb3JFYWNoKGl0PT57CiAgICAgICAgICAgICAgICBwdWwucHVzaChpdC5tYXRjaCgvTkFNRT0iKC4qPykiLylbMV0rJyQnK2Z1cmwucmVwbGFjZSgiaGxzLm0zdTgiLCIiKStpdC5tYXRjaCgvKGhscy4qKS8pWzFdICkKICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKCiAgICAgICAgICAgIGxldCB2b2Q9ewogICAgICAgICAgICB2b2RfaWQ6JycsCiAgICAgICAgICAgIHZvZF9uYW1lOmh0bWwubWF0Y2goL3NldFZpZGVvVGl0bGVcKCcoLio/KScvKVsxXSwKICAgICAgICAgICAgdm9kX3BpYzpodG1sLm1hdGNoKC9zZXRUaHVtYlNsaWRlQmlnXCgnKC4qPyknLylbMV0sCiAgICAgICAgICAgIHR5cGVfbmFtZTon5p2l6Ieq5rW36ZiUJywKICAgICAgICAgICAgdm9kX2NvbnRlbnQ6IuaaguaXoCIKICAgICAgICB9OwogICAgICAgIHZvZC52b2RfcGxheV9mcm9tID0n5LiN5YiG57q/6LevJzsKICAgICAgICB2b2Qudm9kX3BsYXlfdXJsID1wdWwuam9pbignIycpKycjJyt1cmxzLmpvaW4oJyMnKTs7CiAgICAgICAgVk9EPXZvZAogICAgfSksCiAgICDmkJzntKI6JycsCn0= |