Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥编辑解析代码@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJqczpcXG5ldmFsKGZldGNoKGdldFZhcihcXFwicWRiX2ZpbGVcXFwiKSkpO1xcbmxldCB0eXBlID0gZ2V0UGFyYW0oJ3R5cGUnLCAnJyksXFxuICAgIGlkID0gZ2V0UGFyYW0oJ2lkJywgJycpLFxcbiAgICB0aXRsZSA9IGdldFBhcmFtKCd0aXRsZScsICcnKTtcXG5sZXQgcmVzID0gZ2V0RG91YmFuUmVzKFxcXCJodHRwczovL2Zyb2RvLmRvdWJhbi5jb20vYXBpL3YyL1xcXCIgKyB0eXBlICsgXFxcIi9cXFwiICsgaWQpO1xcbmxldCB1cGRhdGUgPSBcXFwiXFxcIjtcXG5pZiAodGl0bGUgPT0gJycpIHtcXG4gICAgbGV0IGxlbmd0aCA9IHJlcy52ZW5kb3JzLmxlbmd0aDtcXG4gICAgdXBkYXRlICs9IGxlbmd0aCA+IDAgPyAn5YWxJyArIGxlbmd0aCArICfkuKrniYfmupAnIDogJ+aaguaXoOeJh+a6kCc7XFxuICAgIGlmIChsZW5ndGggPiAwKSB7XFxuICAgICAgICBsZXQgZSA9IHJlcy52ZW5kb3JzWzBdO1xcbiAgICAgICAgdXBkYXRlICs9IGUuZXBpc29kZXNfaW5mbyA/IFxcXCJ8XFxcIiArIGUuZXBpc29kZXNfaW5mbyA6IFxcXCJcXFwiO1xcbiAgICB9XFxufSBlbHNlIHtcXG4gICAgZm9yIChsZXQgZSBvZiByZXMudmVuZG9ycykge1xcbiAgICAgICAgaWYgKGUudGl0bGUgPT0gdGl0bGUpIHtcXG4gICAgICAgICAgICB1cGRhdGUgKz0gZS5lcGlzb2Rlc19pbmZvID8gZS5lcGlzb2Rlc19pbmZvIDogXFxcIlxcXCI7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuc2V0UmVzdWx0KHVwZGF0ZSk7XCIsXCJsaXN0VG9DbGVhckFzc29jaWF0ZWRGS1wiOltdLFwibGlzdFRvQ2xlYXJTZWxmRktcIjpbXSxcInBhZ2VMaXN0XCI6W3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLphY3nva7nvJbovpHnlYzpnaJcIixcInBhdGhcIjpcInNldHRpbmctZWRpdG9yXCIsXCJydWxlXCI6XCJqczpcXG5ldmFsKHJlcXVlc3QoZ2V0VmFyKCdxZGJfZmlsZScpKSk7XFxubGV0IGQgPSBbXTtcXG5sZXQgY29uZmlnVHlwZSA9IGdldFZhcignaW5wdXRfY29uZmlnX3R5cGUnKTtcXG5pZiAoY29uZmlnVHlwZSA9PT0gJ+ino+aekOaPkuS7tumFjee9ricpIHtcXG4gIHNldFBhZ2VUaXRsZSgn57yW6L6R6Kej5p6Q5Luj56CBJyk7XFxuICBhbmFseXNpc01vZGVFZGl0UGFnZShkKTtcXG59IGVsc2UgaWYgKGNvbmZpZ1R5cGUgPT09ICflvbHniYfor6bmg4XpobXpnaLphY3nva4nKSB7XFxuICBzZXRQYWdlVGl0bGUoJ+e8lui+keW9seeJh+ivpuaDhemhtemdouS7o+eggScpO1xcbiAgZGV0YWlsVmlld01vZGVFZGl0UGFnZShkKTtcXG59IGVsc2UgaWYgKGNvbmZpZ1R5cGUgPT09ICfpppbpobXphY3nva4nKSB7XFxuICBzZXRQYWdlVGl0bGUoJ+e8lui+kemmlumhteS7o+eggScpO1xcbiAgaG9tZVBhZ2VNb2RlRWRpdFBhZ2UoZCk7XFxufSBlbHNlIHtcXG4gIHNldEVycm9yKCfplJnor6/nmoTphY3nva4nKTtcXG59XFxuc2V0UmVzdWx0KGQpO1xcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6Kej6Zmk6KKr5bCBaXBcIixcInBhdGhcIjpcInJlbGVhc2VJUFwiLFwicnVsZVwiOlwianM6XFxubGV0IGlkID0gZ2V0UGFyYW0oJ2lkJyk7XFxubGV0IGQgPSBbXTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+aCqOW3suiiq+WwgeemgUlQ5Zyw5Z2A5oiW6Kem5Y+R5LqG5Lq65py66aqM6K+B77yM6K+35oyJ54Wn5Lul5LiL5q2l6aqk5aSE55CGKOWmguS4jeWkhOeQhuaCqOWwhuWcqOS4gOauteaXtumXtOWGheaXoOazleato+W4uOiOt+WPluWJp+mbhuWIl+ihqCknLFxcbiAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICcxLueCueWHu+atpOWkhOWvvOWFpeiHquWKqOiOt+WPlkNvb2tpZeaPkuS7ticsXFxuICAgIHVybDogJCgpXFxuICAgICAgICAubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgIGxldCBnZXREb3ViYW5Db29raWUgPSBcXFwiKGZ1bmN0aW9uKCl7aWYod2luZG93Wydsb2NhdGlvbiddWydob3N0J109PSd3d3cuZG91YmFuLmNvbScpe2Z5X2JyaWRnZV9hcHBbJ3dyaXRlRmlsZSddKCdoaWtlcjovL2ZpbGVzL2NhY2hlL2RvdWJhbmNvb2tpZS50eHQnLGZ5X2JyaWRnZV9hcHBbJ2dldENvb2tpZSddKCdodHRwczovL3d3dy5kb3ViYW4uY29tLycpKTt9aWYod2luZG93Wydsb2NhdGlvbiddWydob3N0J109PSdtLmRvdWJhbi5jb20nKXtmeV9icmlkZ2VfYXBwWyd3cml0ZUZpbGUnXSgnaGlrZXI6Ly9maWxlcy9jYWNoZS9kb3ViYW5jb29raWUudHh0JyxmeV9icmlkZ2VfYXBwWydnZXRDb29raWUnXSgnaHR0cHM6Ly9tLmRvdWJhbi5jb20vJykpO319KCkpO1xcXCJcXG4gICAgICAgICAgICBpZiAoIWZpbGVFeGlzdCgnaGlrZXI6Ly9maWxlcy9jYWNoZS9nbG9iYWxfZ2V0RG91YmFuQ29va2llLmpzJykpIHtcXG4gICAgICAgICAgICAgICAgd3JpdGVGaWxlKCdoaWtlcjovL2ZpbGVzL2NhY2hlL2dsb2JhbF9nZXREb3ViYW5Db29raWUuanMnLCBnZXREb3ViYW5Db29raWUpO1xcbiAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgcmV0dXJuICdydWxlOi8vJyArIGJhc2U2NEVuY29kZSgn5rW36ZiU6KeG55WM77yM572R6aG15o+S5Lu277+lanNfdXJs77+lZ2xvYmFsX2dldERvdWJhbkNvb2tpZUBoaWtlcjovL2ZpbGVzL2NhY2hlL2dsb2JhbF9nZXREb3ViYW5Db29raWUuanMnKTtcXG4gICAgICAgIH0pLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG59KTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJzIu54K55Ye75q2k5aSE6L+b5YWl572R6aG16L+b6KGM55m75b2V5oiW5Lq65py66aqM6K+B77yM5a6M5oiQ5ZCO6L+U5Zue5q2k6aG16Z2iJyxcXG4gICAgdXJsOiAnaHR0cHM6Ly9tb3ZpZS5kb3ViYW4uY29tL3N1YmplY3QvJyArIGlkICsgJy8nLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG59KTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJzMu5a6M5oiQ55m75b2V5oiW5Lq65py66aqM6K+B5ZCO6L+U5Zue5b2x54mH6K+m5oOF6aG16Z2i6YeN5paw6L+b5YWlJyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbn0pO1xcbnNldFJlc3VsdChkKVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5oqi5pWR6aG16Z2iXCIsXCJwYXRoXCI6XCJ1cmdlbmN5TW9kZVwiLFwicnVsZVwiOlwianM6XFxubGV0IGQgPSBbXTtcXG5kLnB1c2goe1xcbiAgdGl0bGU6ICflvojmmI7mmL4s5Ye65LqG5LiA5Lqb5bCP6Zeu6aKYLOW7uuiurumHjeeUnycsXFxuICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxufSk7XFxuZC5wdXNoKHtcXG4gIHRpdGxlOiAn54K55oiR5pu05paw5L6d6LWWJyxcXG4gIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gIHVybDogJCgnaGlrZXI6Ly9lbXB0eScpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgbGV0IGZpbGUgPSAnaGlrZXI6Ly9maWxlcy9ydWxlcy9qb2tlci9xZGIuanMnO1xcbiAgICBsZXQgZ2l0ZmlsZSA9ICdodHRwczovL2dpdGNvZGUubmV0L3FxXzQxODQ2NzU2L2hpa2VyLy0vcmF3L21hc3Rlci9xZGIuanMnO1xcbiAgICBsZXQgdGV4dCA9IHJlcXVlc3QoZ2l0ZmlsZSk7XFxuICAgIHdyaXRlRmlsZShmaWxlLCB0ZXh0KTtcXG4gICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgcmV0dXJuICd0b2FzdDovL+S+nei1luaWh+S7tuabtOaWsOaIkOWKnyc7XFxuICB9KSxcXG59KTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+eCueaIkeaBouWkjem7mOiupOiuvue9ricsXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gICAgdXJsOiAkKFsn6YeN572u5pif5pif6aKc6ImyJywgJ+mHjee9rumAieS4reagh+etvuminOiJsicsICfph43nva7lv6vpgJ/mkJzntKInLCAn6YeN572u6aaW6aG1JywgJ+mHjee9ruivpuaDhemhtScgLCAn6YeN572u5YWo6YOo6K6+572u6aG5J10sIDEpLnNlbGVjdCgoKSA9PiB7XFxuICAgICAgICByZXR1cm4gJChcXFwi56Gu5a6a6KaBXFxcIiArIGlucHV0ICsgXFxcIu+8n1xcXCIpLmNvbmZpcm0oKHNlbCkgPT4ge1xcbiAgICAgICAgICAgIGRlZmF1bHRDb25maWdzID0ge1xcbiAgICAgIHN0YXJDb2xvcjogJyNmZmFjMmQnLFxcbiAgICAgIGNob29zZUNvbG9yOiAnI0ZBNzI5OCcsXFxuICAgICAgcXVpY2tTZWFyY2hDb25maWdzOiB7XFxuICAgICAgICBtb2RlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICBvcmRlcjogWyfmtbfpmJTmkJzntKInXSxcXG4gICAgICAgIOa1t+mYlOaQnOe0ojoge1xcbiAgICAgICAgICBuYW1lOiAnJyxcXG4gICAgICAgICAgcGljOiAnJyxcXG4gICAgICAgIH0sXFxuICAgICAgfSxcXG4gICAgICBkZXRhaWxzVmlld0NvbmZpZ3M6IHtcXG4gICAgICAgIHVzZTogJ+m7mOiupCcsXFxuICAgICAgICDpu5jorqQ6IHtcXG4gICAgICAgICAgY29uZmlnOiBcXFwiZXZhbChmZXRjaChnZXRWYXIoJ3FkYl9maWxlJykpKTtkZXRhaWxzVmlldyh0eXBlLCBpZCk7XFxcIixcXG4gICAgICAgIH0sXFxuICAgICAgfSxcXG4gICAgICBob21lUGFnZUNvbmZpZ3M6IHtcXG4gICAgICAgIHVzZTogJ+m7mOiupCcsXFxuICAgICAgICDpu5jorqQ6IHtcXG4gICAgICAgICAgY29uZmlnOiBgbGV0IGQgPSBbXTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJycsXFxuICAgIGltZzogJ2h0dHBzOi8vZ2l0Y29kZS5uZXQvcXFfNDE4NDY3NTYvaGlrZXIvLS9yYXcvbWFzdGVyL2ltZy/osYbnk6MucG5nJyxcXG4gICAgZGVzYzogJzAnLFxcbiAgICBjb2xfdHlwZTogJ2NhcmRfcGljXzEnLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjbm9IaXN0b3J5IycpLnJ1bGUoKCkgPT4ge1xcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBzZXRQYWdlVGl0bGUoJ+iuvue9ricpO1xcbiAgICAgICAgICAgIGV2YWwoZmV0Y2goZ2V0VmFyKCdxZGJfZmlsZScpKSk7XFxuICAgICAgICAgICAgLy8gYWRkTGlzdGVuZXIoXFxcIm9uQ2xvc2VcXFwiLCAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICAvLyAgICAgY2xlYXJWYXIoJ3FkYl9kZWJ1ZycpO1xcbiAgICAgICAgICAgIC8vICAgICBjbGVhclZhcignZ2l0dmVyc2lvbicpO1xcbiAgICAgICAgICAgIC8vIH0pKVxcbiAgICAgICAgICAgIHNldHRpbmdQYWdlKCk7XFxuICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgbGV0IHJ1bGUgPSBKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS91cmdlbmN5TW9kZVxcXCIpKS5ydWxlO1xcbiAgICAgICAgICAgIGV2YWwocnVsZSk7XFxuICAgICAgICB9XFxuICAgIH0pXFxufSlcXG5cXG5sZXQgcyA9IFtcXFwi5o6o6I2QXFxcIiwgXFxcIueDremXqFxcXCIsIFxcXCLliIbnsbtcXFwiLCBcXFwi54mH5Y2VXFxcIiwgXFxcIuamnOWNlVxcXCIsIFxcXCLlsIbkuIrmmKBcXFwiXTtcXG5sZXQgaW1nID0gXFxcImh0dHBzOi8vZ2l0Y29kZS5uZXQvcXFfNDE4NDY3NTYvaGlrZXIvLS9yYXcvbWFzdGVyL2ltZy9cXFwiO1xcbmZvciAobGV0IGkgaW4gcykge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHNbaV0sXFxuICAgICAgICBpbWc6IGltZyArIHNbaV0gKyAnLmpwZycsXFxuICAgICAgICBjb2xfdHlwZTogJ2ljb25fMicsXFxuICAgICAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5XFxcIiArICckcGFnZXtmeXBhZ2V9LyMvJyArIHNbaV0gKyBcXFwiI25vSGlzdG9yeSNcXFwiXFxuICAgIH0pXFxufVxcbnJldHVybiBkO2AsXFxuICAgICAgICB9LFxcbiAgICAgIH0sXFxuICAgICAgYW5hbHlzaXNDb25maWdzOiB7XFxuICAgICAgICB1c2U6ICfkuI3op6PmnpAnLFxcbiAgICAgICAg5LiN6Kej5p6QOiB7XFxuICAgICAgICAgIGNvbmZpZzogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgcmV0dXJuIGlucHV0O1xcbiAgICAgICAgICB9KSxcXG4gICAgICAgICAgc2V0dGluZzogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ivpeaPkuS7tuaXoOiuvue9rumhtemdoic7XFxuICAgICAgICAgIH0pLFxcbiAgICAgICAgfSxcXG4gICAgICAgIOaWreaPkjoge1xcbiAgICAgICAgICBjb25maWc6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgIGxldCBmaWxlID0gJ2hpa2VyOi8vZmlsZXMvcnVsZXMvRHVhbk5pYW4vTXlQYXJzZS5qc29uJztcXG4gICAgICAgICAgICBsZXQgb2xkZmlsZSA9ICdoaWtlcjovL2ZpbGVzL2NhY2hlL015UGFyc2VTZXQuanNvbic7XFxuICAgICAgICAgICAgaWYgKGZpbGVFeGlzdChmaWxlKSkge1xcbiAgICAgICAgICAgICAgZXZhbCgnanNvbj0nICsgZmV0Y2goZmlsZSkpO1xcbiAgICAgICAgICAgICAgbGV0IGpzVXJsID0ganNvbi5zZXR0aW5ncy5jajtcXG4gICAgICAgICAgICAgIGV2YWwoZmV0Y2goanNVcmwpKTtcXG4gICAgICAgICAgICAgIHJldHVybiBheXRtUGFyc2UoaW5wdXQpO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsZUV4aXN0KG9sZGZpbGUpKSB7XFxuICAgICAgICAgICAgICBsZXQganNVcmwgPSBKU09OLnBhcnNlKGZldGNoKG9sZGZpbGUpKS5jajtcXG4gICAgICAgICAgICAgIGV2YWwoZmV0Y2goanNVcmwpKTtcXG4gICAgICAgICAgICAgIHJldHVybiBheXRtUGFyc2UoaW5wdXQpO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5rKh5om+5Yiw5pat5o+S6YWN572u5paH5Lu2JztcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH0pLFxcbiAgICAgICAgICBzZXR0aW5nOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICBsZXQgZmlsZSA9ICdoaWtlcjovL2ZpbGVzL3J1bGVzL0R1YW5OaWFuL015UGFyc2UuanNvbic7XFxuICAgICAgICAgICAgbGV0IG9sZGZpbGUgPSAnaGlrZXI6Ly9maWxlcy9jYWNoZS9NeVBhcnNlU2V0Lmpzb24nO1xcbiAgICAgICAgICAgIGlmIChmaWxlRXhpc3QoZmlsZSkpIHtcXG4gICAgICAgICAgICAgIGV2YWwoJ2pzb249JyArIGZldGNoKGZpbGUpKTtcXG4gICAgICAgICAgICAgIGxldCBqc1VybCA9IGpzb24uc2V0dGluZ3MuY2o7XFxuICAgICAgICAgICAgICBldmFsKGZldGNoKGpzVXJsKSk7XFxuICAgICAgICAgICAgICByZXR1cm4gc2V0VXJsO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsZUV4aXN0KG9sZGZpbGUpKSB7XFxuICAgICAgICAgICAgICBsZXQganNVcmwgPSBKU09OLnBhcnNlKGZldGNoKG9sZGZpbGUpKS5jajtcXG4gICAgICAgICAgICAgIGV2YWwoZmV0Y2goanNVcmwpKTtcXG4gICAgICAgICAgICAgIHJldHVybiBzZXRVcmw7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL1JvdXRlP3J1bGU9TXlGaWVsZOG0sOKBvyZ0eXBlPeiuvue9ric7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9KSxcXG4gICAgICAgIH0sXFxuICAgICAgfSxcXG4gICAgfTtcXG4gICAgICAgICAgICBsZXQgaXRlbSA9ICcnO1xcbiAgICAgICAgICAgIHN3aXRjaCAoc2VsKSB7XFxuICAgICAgICAgICAgICAgIGNhc2UgJ+mHjee9ruaYn+aYn+minOiJsic6XFxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gJ3N0YXJDb2xvcic7XFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgY2FzZSAn6YeN572u6YCJ5Lit5qCH562+6aKc6ImyJzpcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0gPSAnY2hvb3NlQ29sb3InO1xcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgICAgIGNhc2UgJ+mHjee9ruW/q+mAn+aQnOe0oic6XFxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gJ3F1aWNrU2VhcmNoQ29uZmlncyc7XFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgY2FzZSAn6YeN572u6aaW6aG1JzpcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0gPSAnaG9tZVBhZ2VDb25maWdzJztcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgICAgICBjYXNlICfph43nva7or6bmg4XpobUnOlxcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9ICdkZXRhaWxWaWV3Q29uZmlncyc7XFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgY2FzZSAn6YeN572u5YWo6YOo6K6+572u6aG5JzpcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0gPSAnYWxsJztcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAvLyBldmFsKGZldGNoKGdldFZhcigncWRiX2ZpbGUnKSkpO1xcbiAgICAgICAgICAgIGlmIChpdGVtID09ICdhbGwnKSB7XFxuICAgICAgICAgICAgICAgIHdyaXRlRmlsZShnZXRWYXIoJ3FkYl9jb25maWcnKSwgSlNPTi5zdHJpbmdpZnkoZGVmYXVsdENvbmZpZ3MpKTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+W3slxcXCIgKyBzZWw7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgbGV0IGNvbmZpZyA9IEpTT04ucGFyc2UoZmV0Y2goZ2V0VmFyKCdxZGJfY29uZmlnJykpKTtcXG4gICAgICAgICAgICAgICAgY29uZmlnW2l0ZW1dID0gZGVmYXVsdENvbmZpZ3NbaXRlbV07XFxuICAgICAgICAgICAgICAgIHdyaXRlRmlsZShnZXRWYXIoJ3FkYl9jb25maWcnKSwgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/lt7JcXFwiICsgc2VsO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0sIGlucHV0KVxcbiAgICB9KVxcbn0pXFxuZC5wdXNoKHtcXG4gIHRpdGxlOiAn6Iul6YeN55Sf5LiN6LW35L2c55SoLOeCueaIkeWkjeWItumUmeivr+S/oeaBr+aPkOS6pOe7meW8gOWPkeiAhScsXFxuICBjb2xfdHlwZTogJ3RleHRfMScsXFxuICB1cmw6ICdjb3B5Oi8vJyArIGUubWVzc2FnZSxcXG59KTtcXG5zZXRSZXN1bHQoZCk7XFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLpobrkvazkuJPnlKjor6bmg4XpobVcIixcInBhdGhcIjpcIlNkZXRhaWxcIixcInJ1bGVcIjpcImpzOlxcbnB1dFZhcigncWRiX2ZpbGUnLCAnaGlrZXI6Ly9maWxlcy9ydWxlcy9qb2tlci9xZGIuanMnKTtcXG5ldmFsKGZldGNoKGdldFZhcihcXFwicWRiX2ZpbGVcXFwiKSkpO1xcbnByZSgpO1xcbmxldCB0eXBlID0gZ2V0UGFyYW0oJ3R5cGUnLCAnJyksXFxuICAgIGlkID0gZ2V0UGFyYW0oJ2lkJywgJycpO1xcbmRldGFpbHNWaWV3KHR5cGUsIGlkKTtcIn1dLFwic2F2ZWRcIjpmYWxzZSxcInRpdGxlXCI6XCLpnZLosYZcIixcInZlcnNpb25cIjowLFwidXJsXCI6XCJoaWtlcjovL3BhZ2Uvc2V0dGluZy1lZGl0b3I/cnVsZT3pnZLosYZcIixcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJmaW5kX3J1bGVcIjpcImpzOlxcbmV2YWwocmVxdWVzdChnZXRWYXIoJ3FkYl9maWxlJykpKTtcXG5sZXQgZCA9IFtdO1xcbmxldCBjb25maWdUeXBlID0gZ2V0VmFyKCdpbnB1dF9jb25maWdfdHlwZScpO1xcbmlmIChjb25maWdUeXBlID09PSAn6Kej5p6Q5o+S5Lu26YWN572uJykge1xcbiAgc2V0UGFnZVRpdGxlKCfnvJbovpHop6PmnpDku6PnoIEnKTtcXG4gIGFuYWx5c2lzTW9kZUVkaXRQYWdlKGQpO1xcbn0gZWxzZSBpZiAoY29uZmlnVHlwZSA9PT0gJ+W9seeJh+ivpuaDhemhtemdoumFjee9ricpIHtcXG4gIHNldFBhZ2VUaXRsZSgn57yW6L6R5b2x54mH6K+m5oOF6aG16Z2i5Luj56CBJyk7XFxuICBkZXRhaWxWaWV3TW9kZUVkaXRQYWdlKGQpO1xcbn0gZWxzZSBpZiAoY29uZmlnVHlwZSA9PT0gJ+mmlumhtemFjee9ricpIHtcXG4gIHNldFBhZ2VUaXRsZSgn57yW6L6R6aaW6aG15Luj56CBJyk7XFxuICBob21lUGFnZU1vZGVFZGl0UGFnZShkKTtcXG59IGVsc2Uge1xcbiAgc2V0RXJyb3IoJ+mUmeivr+eahOmFjee9ricpO1xcbn1cXG5zZXRSZXN1bHQoZCk7XFxuXCIsXCJncm91cFwiOlwi4pGg5rWL6K+VXCIsXCJ1YVwiOlwibW9iaWxlXCIsXCJwcmVSdWxlXCI6XCJsZXQgZmlsZSA9IFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2pva2VyL3FkYi5qc1xcXCI7XFxubGV0IGdpdGZpbGUgPSAnaHR0cHM6Ly9naXRjb2RlLm5ldC9xcV80MTg0Njc1Ni9oaWtlci8tL3Jhdy9tYXN0ZXIvcWRiLmpzJztcXG5sZXQgdmVyID0gZ2V0SXRlbSgnbmV3dmVyJywnJyk7XFxuaWYgKCFmZXRjaChmaWxlKSB8fCB2ZXIgPCBNWV9SVUxFLnZlcnNpb24pIHtcXG4gICAgd3JpdGVGaWxlKGZpbGUsIHJlcXVlc3QoZ2l0ZmlsZSkpO1xcbiAgICBzZXRJdGVtKCduZXd2ZXInLFN0cmluZyhNWV9SVUxFLnZlcnNpb24pKTtcXG59XFxucHV0VmFyKHtcXG4gICAga2V5OiBcXFwicWRiX2ZpbGVcXFwiLFxcbiAgICB2YWx1ZTogZmlsZVxcbn0pO1xcbnRyeSB7XFxuICAgIGV2YWwoZmV0Y2goZmlsZSkpO1xcbiAgICBwcmUoKTtcXG59IGNhdGNoIChlKSB7XFxuICAgIGxldCBydWxlID0gSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL3BhZ2UvdXJnZW5jeU1vZGVcXFwiKSkucnVsZTtcXG4gICAgZXZhbChydWxlKVxcbn1cIixcInBhZ2VzXCI6XCJbe1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi6YWN572u57yW6L6R55WM6Z2iXFxcIixcXFwicGF0aFxcXCI6XFxcInNldHRpbmctZWRpdG9yXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxuZXZhbChyZXF1ZXN0KGdldFZhcigncWRiX2ZpbGUnKSkpO1xcXFxubGV0IGQgPSBbXTtcXFxcbmxldCBjb25maWdUeXBlID0gZ2V0VmFyKCdpbnB1dF9jb25maWdfdHlwZScpO1xcXFxuaWYgKGNvbmZpZ1R5cGUgPT09ICfop6PmnpDmj5Lku7bphY3nva4nKSB7XFxcXG4gIHNldFBhZ2VUaXRsZSgn57yW6L6R6Kej5p6Q5Luj56CBJyk7XFxcXG4gIGFuYWx5c2lzTW9kZUVkaXRQYWdlKGQpO1xcXFxufSBlbHNlIGlmIChjb25maWdUeXBlID09PSAn5b2x54mH6K+m5oOF6aG16Z2i6YWN572uJykge1xcXFxuICBzZXRQYWdlVGl0bGUoJ+e8lui+keW9seeJh+ivpuaDhemhtemdouS7o+eggScpO1xcXFxuICBkZXRhaWxWaWV3TW9kZUVkaXRQYWdlKGQpO1xcXFxufSBlbHNlIGlmIChjb25maWdUeXBlID09PSAn6aaW6aG16YWN572uJykge1xcXFxuICBzZXRQYWdlVGl0bGUoJ+e8lui+kemmlumhteS7o+eggScpO1xcXFxuICBob21lUGFnZU1vZGVFZGl0UGFnZShkKTtcXFxcbn0gZWxzZSB7XFxcXG4gIHNldEVycm9yKCfplJnor6/nmoTphY3nva4nKTtcXFxcbn1cXFxcbnNldFJlc3VsdChkKTtcXFxcblxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJtb3ZpZV8zXFxcIixcXFwibmFtZVxcXCI6XFxcIuino+mZpOiiq+WwgWlwXFxcIixcXFwicGF0aFxcXCI6XFxcInJlbGVhc2VJUFxcXCIsXFxcInJ1bGVcXFwiOlxcXCJqczpcXFxcbmxldCBpZCA9IGdldFBhcmFtKCdpZCcpO1xcXFxubGV0IGQgPSBbXTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfmgqjlt7LooqvlsIHnpoFJUOWcsOWdgOaIluinpuWPkeS6huS6uuacuumqjOivge+8jOivt+aMieeFp+S7peS4i+atpemqpOWkhOeQhijlpoLkuI3lpITnkIbmgqjlsIblnKjkuIDmrrXml7bpl7TlhoXml6Dms5XmraPluLjojrflj5bliafpm4bliJfooagpJyxcXFxcbiAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMSdcXFxcbn0pO1xcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJzEu54K55Ye75q2k5aSE5a+85YWl6Ieq5Yqo6I635Y+WQ29va2ll5o+S5Lu2JyxcXFxcbiAgICB1cmw6ICQoKVxcXFxuICAgICAgICAubGF6eVJ1bGUoKCkgPT4ge1xcXFxuICAgICAgICAgICAgbGV0IGdldERvdWJhbkNvb2tpZSA9IFxcXFxcXFwiKGZ1bmN0aW9uKCl7aWYod2luZG93Wydsb2NhdGlvbiddWydob3N0J109PSd3d3cuZG91YmFuLmNvbScpe2Z5X2JyaWRnZV9hcHBbJ3dyaXRlRmlsZSddKCdoaWtlcjovL2ZpbGVzL2NhY2hlL2RvdWJhbmNvb2tpZS50eHQnLGZ5X2JyaWRnZV9hcHBbJ2dldENvb2tpZSddKCdodHRwczovL3d3dy5kb3ViYW4uY29tLycpKTt9aWYod2luZG93Wydsb2NhdGlvbiddWydob3N0J109PSdtLmRvdWJhbi5jb20nKXtmeV9icmlkZ2VfYXBwWyd3cml0ZUZpbGUnXSgnaGlrZXI6Ly9maWxlcy9jYWNoZS9kb3ViYW5jb29raWUudHh0JyxmeV9icmlkZ2VfYXBwWydnZXRDb29raWUnXSgnaHR0cHM6Ly9tLmRvdWJhbi5jb20vJykpO319KCkpO1xcXFxcXFwiXFxcXG4gICAgICAgICAgICBpZiAoIWZpbGVFeGlzdCgnaGlrZXI6Ly9maWxlcy9jYWNoZS9nbG9iYWxfZ2V0RG91YmFuQ29va2llLmpzJykpIHtcXFxcbiAgICAgICAgICAgICAgICB3cml0ZUZpbGUoJ2hpa2VyOi8vZmlsZXMvY2FjaGUvZ2xvYmFsX2dldERvdWJhbkNvb2tpZS5qcycsIGdldERvdWJhbkNvb2tpZSk7XFxcXG4gICAgICAgICAgICB9O1xcXFxuICAgICAgICAgICAgcmV0dXJuICdydWxlOi8vJyArIGJhc2U2NEVuY29kZSgn5rW36ZiU6KeG55WM77yM572R6aG15o+S5Lu277+lanNfdXJs77+lZ2xvYmFsX2dldERvdWJhbkNvb2tpZUBoaWtlcjovL2ZpbGVzL2NhY2hlL2dsb2JhbF9nZXREb3ViYW5Db29raWUuanMnKTtcXFxcbiAgICAgICAgfSksXFxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxcXG59KTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICcyLueCueWHu+atpOWkhOi/m+WFpee9kemhtei/m+ihjOeZu+W9leaIluS6uuacuumqjOivge+8jOWujOaIkOWQjui/lOWbnuatpOmhtemdoicsXFxcXG4gICAgdXJsOiAnaHR0cHM6Ly9tb3ZpZS5kb3ViYW4uY29tL3N1YmplY3QvJyArIGlkICsgJy8nLFxcXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcXFxufSk7XFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAnMy7lrozmiJDnmbvlvZXmiJbkurrmnLrpqozor4HlkI7ov5Tlm57lvbHniYfor6bmg4XpobXpnaLph43mlrDov5vlhaUnLFxcXFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxcXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcXFxufSk7XFxcXG5zZXRSZXN1bHQoZClcXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLmiqLmlZHpobXpnaJcXFwiLFxcXCJwYXRoXFxcIjpcXFwidXJnZW5jeU1vZGVcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG5sZXQgZCA9IFtdO1xcXFxuZC5wdXNoKHtcXFxcbiAgdGl0bGU6ICflvojmmI7mmL4s5Ye65LqG5LiA5Lqb5bCP6Zeu6aKYLOW7uuiurumHjeeUnycsXFxcXG4gIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxcXG4gIHVybDogJ2hpa2VyOi8vZW1wdHknLFxcXFxufSk7XFxcXG5kLnB1c2goe1xcXFxuICB0aXRsZTogJ+eCueaIkeabtOaWsOS+nei1licsXFxcXG4gIGNvbF90eXBlOiAndGV4dF8xJyxcXFxcbiAgdXJsOiAkKCdoaWtlcjovL2VtcHR5JykubGF6eVJ1bGUoKCkgPT4ge1xcXFxuICAgIGxldCBmaWxlID0gJ2hpa2VyOi8vZmlsZXMvcnVsZXMvam9rZXIvcWRiLmpzJztcXFxcbiAgICBsZXQgZ2l0ZmlsZSA9ICdodHRwczovL2dpdGNvZGUubmV0L3FxXzQxODQ2NzU2L2hpa2VyLy0vcmF3L21hc3Rlci9xZGIuanMnO1xcXFxuICAgIGxldCB0ZXh0ID0gcmVxdWVzdChnaXRmaWxlKTtcXFxcbiAgICB3cml0ZUZpbGUoZmlsZSwgdGV4dCk7XFxcXG4gICAgcmVmcmVzaFBhZ2UoKTtcXFxcbiAgICByZXR1cm4gJ3RvYXN0Oi8v5L6d6LWW5paH5Lu25pu05paw5oiQ5YqfJztcXFxcbiAgfSksXFxcXG59KTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfngrnmiJHmgaLlpI3pu5jorqTorr7nva4nLFxcXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXFxcbiAgICB1cmw6ICQoWyfph43nva7mmJ/mmJ/popzoibInLCAn6YeN572u6YCJ5Lit5qCH562+6aKc6ImyJywgJ+mHjee9ruW/q+mAn+aQnOe0oicsICfph43nva7pppbpobUnLCAn6YeN572u6K+m5oOF6aG1JyAsICfph43nva7lhajpg6jorr7nva7pobknXSwgMSkuc2VsZWN0KCgpID0+IHtcXFxcbiAgICAgICAgcmV0dXJuICQoXFxcXFxcXCLnoa7lrpropoFcXFxcXFxcIiArIGlucHV0ICsgXFxcXFxcXCLvvJ9cXFxcXFxcIikuY29uZmlybSgoc2VsKSA9PiB7XFxcXG4gICAgICAgICAgICBkZWZhdWx0Q29uZmlncyA9IHtcXFxcbiAgICAgIHN0YXJDb2xvcjogJyNmZmFjMmQnLFxcXFxuICAgICAgY2hvb3NlQ29sb3I6ICcjRkE3Mjk4JyxcXFxcbiAgICAgIHF1aWNrU2VhcmNoQ29uZmlnczoge1xcXFxuICAgICAgICBtb2RlOiAnc2Nyb2xsX2J1dHRvbicsXFxcXG4gICAgICAgIG9yZGVyOiBbJ+a1t+mYlOaQnOe0oiddLFxcXFxuICAgICAgICDmtbfpmJTmkJzntKI6IHtcXFxcbiAgICAgICAgICBuYW1lOiAnJyxcXFxcbiAgICAgICAgICBwaWM6ICcnLFxcXFxuICAgICAgICB9LFxcXFxuICAgICAgfSxcXFxcbiAgICAgIGRldGFpbHNWaWV3Q29uZmlnczoge1xcXFxuICAgICAgICB1c2U6ICfpu5jorqQnLFxcXFxuICAgICAgICDpu5jorqQ6IHtcXFxcbiAgICAgICAgICBjb25maWc6IFxcXFxcXFwiZXZhbChmZXRjaChnZXRWYXIoJ3FkYl9maWxlJykpKTtkZXRhaWxzVmlldyh0eXBlLCBpZCk7XFxcXFxcXCIsXFxcXG4gICAgICAgIH0sXFxcXG4gICAgICB9LFxcXFxuICAgICAgaG9tZVBhZ2VDb25maWdzOiB7XFxcXG4gICAgICAgIHVzZTogJ+m7mOiupCcsXFxcXG4gICAgICAgIOm7mOiupDoge1xcXFxuICAgICAgICAgIGNvbmZpZzogYGxldCBkID0gW107XFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAnJyxcXFxcbiAgICBpbWc6ICdodHRwczovL2dpdGNvZGUubmV0L3FxXzQxODQ2NzU2L2hpa2VyLy0vcmF3L21hc3Rlci9pbWcv6LGG55OjLnBuZycsXFxcXG4gICAgZGVzYzogJzAnLFxcXFxuICAgIGNvbF90eXBlOiAnY2FyZF9waWNfMScsXFxcXG4gICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vSGlzdG9yeSMnKS5ydWxlKCgpID0+IHtcXFxcbiAgICAgICAgdHJ5IHtcXFxcbiAgICAgICAgICAgIHNldFBhZ2VUaXRsZSgn6K6+572uJyk7XFxcXG4gICAgICAgICAgICBldmFsKGZldGNoKGdldFZhcigncWRiX2ZpbGUnKSkpO1xcXFxuICAgICAgICAgICAgLy8gYWRkTGlzdGVuZXIoXFxcXFxcXCJvbkNsb3NlXFxcXFxcXCIsICQudG9TdHJpbmcoKCkgPT4ge1xcXFxuICAgICAgICAgICAgLy8gICAgIGNsZWFyVmFyKCdxZGJfZGVidWcnKTtcXFxcbiAgICAgICAgICAgIC8vICAgICBjbGVhclZhcignZ2l0dmVyc2lvbicpO1xcXFxuICAgICAgICAgICAgLy8gfSkpXFxcXG4gICAgICAgICAgICBzZXR0aW5nUGFnZSgpO1xcXFxuICAgICAgICB9IGNhdGNoIChlKSB7XFxcXG4gICAgICAgICAgICBsZXQgcnVsZSA9IEpTT04ucGFyc2UocmVxdWVzdChcXFxcXFxcImhpa2VyOi8vcGFnZS91cmdlbmN5TW9kZVxcXFxcXFwiKSkucnVsZTtcXFxcbiAgICAgICAgICAgIGV2YWwocnVsZSk7XFxcXG4gICAgICAgIH1cXFxcbiAgICB9KVxcXFxufSlcXFxcblxcXFxubGV0IHMgPSBbXFxcXFxcXCLmjqjojZBcXFxcXFxcIiwgXFxcXFxcXCLng63pl6hcXFxcXFxcIiwgXFxcXFxcXCLliIbnsbtcXFxcXFxcIiwgXFxcXFxcXCLniYfljZVcXFxcXFxcIiwgXFxcXFxcXCLmppzljZVcXFxcXFxcIiwgXFxcXFxcXCLlsIbkuIrmmKBcXFxcXFxcIl07XFxcXG5sZXQgaW1nID0gXFxcXFxcXCJodHRwczovL2dpdGNvZGUubmV0L3FxXzQxODQ2NzU2L2hpa2VyLy0vcmF3L21hc3Rlci9pbWcvXFxcXFxcXCI7XFxcXG5mb3IgKGxldCBpIGluIHMpIHtcXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogc1tpXSxcXFxcbiAgICAgICAgaW1nOiBpbWcgKyBzW2ldICsgJy5qcGcnLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ2ljb25fMicsXFxcXG4gICAgICAgIHVybDogXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCIgKyAnJHBhZ2V7ZnlwYWdlfS8jLycgKyBzW2ldICsgXFxcXFxcXCIjbm9IaXN0b3J5I1xcXFxcXFwiXFxcXG4gICAgfSlcXFxcbn1cXFxcbnJldHVybiBkO2AsXFxcXG4gICAgICAgIH0sXFxcXG4gICAgICB9LFxcXFxuICAgICAgYW5hbHlzaXNDb25maWdzOiB7XFxcXG4gICAgICAgIHVzZTogJ+S4jeino+aekCcsXFxcXG4gICAgICAgIOS4jeino+aekDoge1xcXFxuICAgICAgICAgIGNvbmZpZzogJC50b1N0cmluZygoKSA9PiB7XFxcXG4gICAgICAgICAgICByZXR1cm4gaW5wdXQ7XFxcXG4gICAgICAgICAgfSksXFxcXG4gICAgICAgICAgc2V0dGluZzogJC50b1N0cmluZygoKSA9PiB7XFxcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6K+l5o+S5Lu25peg6K6+572u6aG16Z2iJztcXFxcbiAgICAgICAgICB9KSxcXFxcbiAgICAgICAgfSxcXFxcbiAgICAgICAg5pat5o+SOiB7XFxcXG4gICAgICAgICAgY29uZmlnOiAkLnRvU3RyaW5nKCgpID0+IHtcXFxcbiAgICAgICAgICAgIGxldCBmaWxlID0gJ2hpa2VyOi8vZmlsZXMvcnVsZXMvRHVhbk5pYW4vTXlQYXJzZS5qc29uJztcXFxcbiAgICAgICAgICAgIGxldCBvbGRmaWxlID0gJ2hpa2VyOi8vZmlsZXMvY2FjaGUvTXlQYXJzZVNldC5qc29uJztcXFxcbiAgICAgICAgICAgIGlmIChmaWxlRXhpc3QoZmlsZSkpIHtcXFxcbiAgICAgICAgICAgICAgZXZhbCgnanNvbj0nICsgZmV0Y2goZmlsZSkpO1xcXFxuICAgICAgICAgICAgICBsZXQganNVcmwgPSBqc29uLnNldHRpbmdzLmNqO1xcXFxuICAgICAgICAgICAgICBldmFsKGZldGNoKGpzVXJsKSk7XFxcXG4gICAgICAgICAgICAgIHJldHVybiBheXRtUGFyc2UoaW5wdXQpO1xcXFxuICAgICAgICAgICAgfSBlbHNlIGlmIChmaWxlRXhpc3Qob2xkZmlsZSkpIHtcXFxcbiAgICAgICAgICAgICAgbGV0IGpzVXJsID0gSlNPTi5wYXJzZShmZXRjaChvbGRmaWxlKSkuY2o7XFxcXG4gICAgICAgICAgICAgIGV2YWwoZmV0Y2goanNVcmwpKTtcXFxcbiAgICAgICAgICAgICAgcmV0dXJuIGF5dG1QYXJzZShpbnB1dCk7XFxcXG4gICAgICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5rKh5om+5Yiw5pat5o+S6YWN572u5paH5Lu2JztcXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICB9KSxcXFxcbiAgICAgICAgICBzZXR0aW5nOiAkLnRvU3RyaW5nKCgpID0+IHtcXFxcbiAgICAgICAgICAgIGxldCBmaWxlID0gJ2hpa2VyOi8vZmlsZXMvcnVsZXMvRHVhbk5pYW4vTXlQYXJzZS5qc29uJztcXFxcbiAgICAgICAgICAgIGxldCBvbGRmaWxlID0gJ2hpa2VyOi8vZmlsZXMvY2FjaGUvTXlQYXJzZVNldC5qc29uJztcXFxcbiAgICAgICAgICAgIGlmIChmaWxlRXhpc3QoZmlsZSkpIHtcXFxcbiAgICAgICAgICAgICAgZXZhbCgnanNvbj0nICsgZmV0Y2goZmlsZSkpO1xcXFxuICAgICAgICAgICAgICBsZXQganNVcmwgPSBqc29uLnNldHRpbmdzLmNqO1xcXFxuICAgICAgICAgICAgICBldmFsKGZldGNoKGpzVXJsKSk7XFxcXG4gICAgICAgICAgICAgIHJldHVybiBzZXRVcmw7XFxcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpbGVFeGlzdChvbGRmaWxlKSkge1xcXFxuICAgICAgICAgICAgICBsZXQganNVcmwgPSBKU09OLnBhcnNlKGZldGNoKG9sZGZpbGUpKS5jajtcXFxcbiAgICAgICAgICAgICAgZXZhbChmZXRjaChqc1VybCkpO1xcXFxuICAgICAgICAgICAgICByZXR1cm4gc2V0VXJsO1xcXFxuICAgICAgICAgICAgfSBlbHNlIHtcXFxcbiAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL3BhZ2UvUm91dGU/cnVsZT1NeUZpZWxk4bSw4oG/JnR5cGU96K6+572uJztcXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICB9KSxcXFxcbiAgICAgICAgfSxcXFxcbiAgICAgIH0sXFxcXG4gICAgfTtcXFxcbiAgICAgICAgICAgIGxldCBpdGVtID0gJyc7XFxcXG4gICAgICAgICAgICBzd2l0Y2ggKHNlbCkge1xcXFxuICAgICAgICAgICAgICAgIGNhc2UgJ+mHjee9ruaYn+aYn+minOiJsic6XFxcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0gPSAnc3RhckNvbG9yJztcXFxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxcXG4gICAgICAgICAgICAgICAgY2FzZSAn6YeN572u6YCJ5Lit5qCH562+6aKc6ImyJzpcXFxcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9ICdjaG9vc2VDb2xvcic7XFxcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcXFxuICAgICAgICAgICAgICAgIGNhc2UgJ+mHjee9ruW/q+mAn+aQnOe0oic6XFxcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0gPSAncXVpY2tTZWFyY2hDb25maWdzJztcXFxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxcXG4gICAgICAgICAgICAgICAgY2FzZSAn6YeN572u6aaW6aG1JzpcXFxcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9ICdob21lUGFnZUNvbmZpZ3MnO1xcXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXFxcbiAgICAgICAgICAgICAgICBjYXNlICfph43nva7or6bmg4XpobUnOlxcXFxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gJ2RldGFpbFZpZXdDb25maWdzJztcXFxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxcXG4gICAgICAgICAgICAgICAgY2FzZSAn6YeN572u5YWo6YOo6K6+572u6aG5JzpcXFxcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9ICdhbGwnO1xcXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgIC8vIGV2YWwoZmV0Y2goZ2V0VmFyKCdxZGJfZmlsZScpKSk7XFxcXG4gICAgICAgICAgICBpZiAoaXRlbSA9PSAnYWxsJykge1xcXFxuICAgICAgICAgICAgICAgIHdyaXRlRmlsZShnZXRWYXIoJ3FkYl9jb25maWcnKSwgSlNPTi5zdHJpbmdpZnkoZGVmYXVsdENvbmZpZ3MpKTtcXFxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcXFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFxcXFxcInRvYXN0Oi8v5beyXFxcXFxcXCIgKyBzZWw7XFxcXG4gICAgICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgICAgIGxldCBjb25maWcgPSBKU09OLnBhcnNlKGZldGNoKGdldFZhcigncWRiX2NvbmZpZycpKSk7XFxcXG4gICAgICAgICAgICAgICAgY29uZmlnW2l0ZW1dID0gZGVmYXVsdENvbmZpZ3NbaXRlbV07XFxcXG4gICAgICAgICAgICAgICAgd3JpdGVGaWxlKGdldFZhcigncWRiX2NvbmZpZycpLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcXFxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcXFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFxcXFxcInRvYXN0Oi8v5beyXFxcXFxcXCIgKyBzZWw7XFxcXG4gICAgICAgICAgICB9XFxcXG4gICAgICAgIH0sIGlucHV0KVxcXFxuICAgIH0pXFxcXG59KVxcXFxuZC5wdXNoKHtcXFxcbiAgdGl0bGU6ICfoi6Xph43nlJ/kuI3otbfkvZznlKgs54K55oiR5aSN5Yi26ZSZ6K+v5L+h5oGv5o+Q5Lqk57uZ5byA5Y+R6ICFJyxcXFxcbiAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcXFxuICB1cmw6ICdjb3B5Oi8vJyArIGUubWVzc2FnZSxcXFxcbn0pO1xcXFxuc2V0UmVzdWx0KGQpO1xcXFxuXFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi6aG65L2s5LiT55So6K+m5oOF6aG1XFxcIixcXFwicGF0aFxcXCI6XFxcIlNkZXRhaWxcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG5wdXRWYXIoJ3FkYl9maWxlJywgJ2hpa2VyOi8vZmlsZXMvcnVsZXMvam9rZXIvcWRiLmpzJyk7XFxcXG5ldmFsKGZldGNoKGdldFZhcihcXFxcXFxcInFkYl9maWxlXFxcXFxcXCIpKSk7XFxcXG5wcmUoKTtcXFxcbmxldCB0eXBlID0gZ2V0UGFyYW0oJ3R5cGUnLCAnJyksXFxcXG4gICAgaWQgPSBnZXRQYXJhbSgnaWQnLCAnJyk7XFxcXG5kZXRhaWxzVmlldyh0eXBlLCBpZCk7XFxcIn1dXCIsXCJwcm94eVwiOlwiXCJ9IiwidGl0bGUiOiLnvJbovpHop6PmnpDku6PnoIEifQ==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement