Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥⚙ 设置 ⚙@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJcIixcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuato+aWh1wiLFwicGF0aFwiOlwiY29udGVudC5odG1sXCIsXCJydWxlXCI6XCJqczpcXG5saW5rID0gTVlfVVJMLm1hdGNoKC9oaWtlcjouKj9cXFxcPyguKj8pIyMvKVsxXTtcXG5hID0gJzxoMz48YSBocmVmPVxcXCInICsgYmFzZTY0RGVjb2RlKGxpbmspICsgJ1xcXCI+JyArIE1ZX1BBUkFNUy50aXRsZSArICc8L2E+PC9oMz4nXFxudGV4dCA9IGJhc2U2NERlY29kZShNWV9VUkwucmVwbGFjZSgvaGlrZXI6Lio/IyN8I2F1dG9QYWdlIy9nLCAnJykpXFxuICAgIC5yZXBsYWNlKC8mbHQ7L2csICc8JylcXG4gICAgLnJlcGxhY2UoLyZndDsvZywgJz4nKVxcbiAgICAucmVwbGFjZSgvPCFcXFxcW0NEQVRBXFxcXFt8XFxcXF1cXFxcXT4vZywgJycpXFxuICAgIC5yZXBsYWNlKC88Lio/dmlkZW8gc3JjPVsnXFxcIl0oLio/KVsnXFxcIl0uKj8+PFxcXFwvdmlkZW8+L2csICc8YSBocmVmPVxcXCIkMVxcXCI+6KeG6aKR6ZO+5o6lPC9hPicpXFxuZCA9IFt7XFxuICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnLFxcbiAgICBkZXNjOiAnMCYmZmxvYXQnXFxufSwge1xcbiAgICB0aXRsZTogYSArIHRleHQsXFxuICAgIGNvbF90eXBlOiBcXFwicmljaF90ZXh0XFxcIlxcbn1dXFxuXFxuZC51bnNoaWZ0KHtcXG4gICAgdGl0bGU6IFxcXCLmnJfor7tcXFwiLFxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgodGV4dCkgPT4ge1xcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKFxcXCJoaWtlcjovL3BhZ2UvdXRpbGl0eT9ydWxlPeivremfs+WQiOaIkFxcXCIpKS5ydWxlKVxcbiAgICAgICAgbGV0IHBhdGggPSB2b2ljZSh0ZXh0LnJlcGxhY2UoLzxbXj5dKz4vZywgJycpLCBnZXRJdGVtKFxcXCJlZ2lpaVxcXCIsIFxcXCIxXFxcIikgPT0gXFxcIjFcXFwiID8gMSA6IDApXFxuICAgICAgICByZWZyZXNoWDVXZWJWaWV3KGdldFBhdGgocGF0aCArICc/dD0nICsgbmV3IERhdGUoKSkpXFxuICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5pKt5pS+XFxcIlxcbiAgICB9LCBhICsgdGV4dCksXFxuICAgIGltZzogXFxcImh0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9tZXNzeS8zMy5zdmdcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcImljb25fMl9yb3VuZFxcXCJcXG59KVxcbnNldFJlc3VsdChkKVwifSx7XCJjb2xfdHlwZVwiOlwiaWNvbl8yX3JvdW5kXCIsXCJuYW1lXCI6XCLorr7nva5cIixcInBhdGhcIjpcImNvbmZpZy5odG1sXCIsXCJydWxlXCI6XCJqczpcXG5jb250ZW50ID0gZ2V0TXlWYXIoJ2FkZFJzcycpXFxuciA9IHJlYWRGaWxlKFxcXCJhZGRSc3MudHh0XFxcIik7XFxuSnNvbiA9IHIgPyBKU09OLnBhcnNlKHIpIDogW11cXG5jb250ZW50TGlzdCA9IGNvbnRlbnQuc3BsaXQoXFxcIlxcXFxuXFxcIilbMF0gPyBjb250ZW50LnNwbGl0KFxcXCJcXFxcblxcXCIpIDogW2NvbnRlbnRdO1xcbkpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKVxcbmNvbnRlbnRMaXN0LmZvckVhY2goKHgpID0+IHtcXG4gICAgaWYgKCF4LnNwbGl0KFxcXCJAXFxcIilbMV0pIHtcXG4gICAgICAgIHJldHVybiBmYWxzZVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgYyA9IHtcXG4gICAgICAgICAgICBpbWc6ICdodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzMwMCcsXFxuICAgICAgICAgICAgdGl0bGU6IHguc3BsaXQoXFxcIkBcXFwiKVsxXSxcXG4gICAgICAgICAgICB1cmw6IHguc3BsaXQoXFxcIkBcXFwiKVswXSxcXG4gICAgICAgICAgICBkZWxldGU6IGZhbHNlLFxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWVcXG4gICAgICAgIH1cXG4gICAgICAgIEpzb24ucHVzaChjKVxcbiAgICB9XFxufSlcXG5jbGVhck15VmFyKCdhZGRSc3MnKVxcbnNhdmVGaWxlKFxcXCJhZGRSc3MudHh0XFxcIiwgSlNPTi5zdHJpbmdpZnkoSnNvbikpXFxuaHRtbCA9IHJlYWRGaWxlKFxcXCJhZGRSc3MudHh0XFxcIilcXG5zZXRQYWdlVGl0bGUoJ+KamSDorr7nva4g4pqZJylcXG5hZGRMaXN0ZW5lcignb25DbG9zZScsICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICByZWZyZXNoUGFnZSgpXFxufSkpXFxuZWwgPSBbXTtcXG5lbC5wdXNoKHtcXG4gICAgdXJsOiBcXFwicmVmcmVzaFBhZ2UoKVxcXCIsXFxuICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcbiAgICB0aXRsZTogJ+a3u+WKoCcsXFxuICAgIGRlc2M6IFxcXCLmoLzlvI/vvJpyc3PlnLDlnYBA5ZCN56ewIOaJuemHj+WvvOWFpeeUqOaNouihjOesplxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCdhZGRSc3MnLCBpbnB1dClcXFwiXFxuICAgIH1cXG59KVxcbmVsLnB1c2goe1xcbiAgICB0aXRsZTogZ2V0SXRlbShcXFwiZWdpaWlcXFwiLCBcXFwiMVxcXCIpID09IFxcXCIxXFxcIiA/IFxcXCLlvq7ova9cXFwiIDogXFxcIueZvuW6plxcXCIsXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oXFxcImVnaWlpXFxcIiwgZ2V0SXRlbShcXFwiZWdpaWlcXFwiLCBcXFwiMVxcXCIpID09IFxcXCIxXFxcIiA/IFxcXCIwXFxcIiA6IFxcXCIxXFxcIilcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/liIfmjaLmiJDlip9cXFwiXFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfMlxcXCJcXG59KVxcbmVsLnB1c2goe1xcbiAgICB0aXRsZTogZ2V0SXRlbShcXFwibW9kZVxcXCIsIFxcXCLpmIXor7tcXFwiKSA9PSBcXFwi6ZiF6K+7XFxcIiA/IFxcXCLpmIXor7tcXFwiIDogXFxcIuivremfs1xcXCIsXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oXFxcIm1vZGVcXFwiLCBnZXRJdGVtKFxcXCJtb2RlXFxcIiwgXFxcIumYheivu1xcXCIpID09IFxcXCLpmIXor7tcXFwiID8gXFxcIuivremfs1xcXCIgOiBcXFwi6ZiF6K+7XFxcIilcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/liIfmjaLmiJDlip9cXFwiXFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfMlxcXCJcXG59KVxcbmVsLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIuWvvOWFpeWIhuS6q1xcXCIsXFxuICAgIHVybDogJChcXFwiXFxcIiwgXFxcIumTvuaOpVxcXCIpLmlucHV0KCgpID0+IHtcXG4gICAgICAgIGlmIChpbnB1dC5zdGFydHNXaXRoKFxcXCJodHRwXFxcIikpIHtcXG4gICAgICAgICAgICBwdXRNeVZhcignYWRkUnNzJywgcGFyc2VQYXN0ZShpbnB1dCkpXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+aQgei/meWNoWJ1Z+WRolxcXCJcXG4gICAgICAgIH1cXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIlxcbn0pXFxuZWwucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi4oia5o6o6I2Q6K6i6ZiFXFxcIixcXG4gICAgdXJsOiBcXFwiaGlrZXI6Ly9wYWdlL3JlY29tbWVuZFxcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIlxcbn0pXFxuXFxuZWRpdE1vZGUgPSBnZXRNeVZhcignZWRpdE1vZGUnLCAn5ZCv55SoL+emgeeUqCcpXFxubGV0IGNvbmZpZyA9IFsn5pi+56S6L+makOiXjycsICfph43mlrDmjpLluo8nLCAn5Yig6Zmk6K6i6ZiFJywgJ+abtOaUueWQjeensCcsICfmm7TmlLnnvZHlnYAnLCAn5aSN5Yi26K6i6ZiFJywgJ+abtOaUueWbvuaghyddXFxuXFxuY29uZmlnLmZvckVhY2goKHYpID0+IHtcXG4gICAgZWwucHVzaCh7XFxuICAgICAgICB0aXRsZTogdiA9PSBlZGl0TW9kZSA/ICfigJzigJzigJ3igJ0nICsgdi5ib2xkKCkuZm9udGNvbG9yKCcjMTJiNjY4JykgOiB2LFxcbiAgICAgICAgdXJsOiB2ID09IGVkaXRNb2RlID8gJ2hpa2VyOi8vZW1wdHknIDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgodikgPT4ge1xcbiAgICAgICAgICAgIHB1dE15VmFyKCdlZGl0TW9kZScsIHYpXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgfSwgdiksXFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICB9KVxcbn0pXFxuXFxuSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKTtcXG5mbGFnTGVuID0gSnNvbi5sZW5ndGhcXG5pZiAoIWZsYWdMZW4pIHtcXG4gICAgZWwucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIuaaguaXoOiuoumYhe+8jOW/q+WOu+a3u+WKoOWQp1xcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICAgICAgdXJsOiBcXFwidG9hc3Q6Ly/lv6vljrvmt7vliqDlkKdcXFwiXFxuICAgIH0pXFxufVxcbnN3aXRjaCAoZWRpdE1vZGUpIHtcXG4gICAgY2FzZSBcXFwi5Yig6Zmk6K6i6ZiFXFxcIjpcXG4gICAgICAgIGZsYWdMZW4gP1xcbiAgICAgICAgICAgIGVsLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogXFxcIuKAnOKAnOKAneKAneehruiupOWIoOmZpFxcXCIuYm9sZCgpLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKEpzb24pID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBydWxlcyA9IFtdO1xcbiAgICAgICAgICAgICAgICAgICAgSnNvbi5mb3JFYWNoKCh4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgIXguZGVsZXRlID8gcnVsZXMucHVzaCh4KSA6IG51bGxcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICBzYXZlRmlsZSgnYWRkUnNzLnR4dCcsIEpTT04uc3RyaW5naWZ5KHJ1bGVzKSlcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WIoOmZpOaIkOWKnydcXG4gICAgICAgICAgICAgICAgfSwgSnNvbilcXG4gICAgICAgICAgICB9KSA6IFxcXCJcXFwiXFxuXFxuICAgICAgICBicmVha1xcblxcbiAgICBjYXNlIFxcXCLlpI3liLborqLpmIVcXFwiOlxcbiAgICAgICAgZmxhZ0xlbiA/IGVsLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi4oCc4oCc4oCd4oCd5aSN5Yi25YWo6YOoXFxcIi5ib2xkKCksXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIixcXG4gICAgICAgICAgICB1cmw6ICQoXFxcImhpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKChKc29uKSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCB1cmwgPSBzaGFyZVBhc3RlKEpzb24ubWFwKHggPT4geC51cmwgKyBcXFwiQFxcXCIgKyB4LnRpdGxlKS5qb2luKFxcXCJcXFxcblxcXCIpKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcImNvcHk6Ly9cXFwiICsgdXJsXFxuICAgICAgICAgICAgfSwgSnNvbilcXG4gICAgICAgIH0pIDogXFxcIlxcXCJcXG4gICAgICAgIGJyZWFrXFxufVxcblxcblxcbkpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKS5mb3JFYWNoKCh2LCBpKSA9PiB7XFxuICAgIGxldCBkID0ge1xcbiAgICAgICAgdGl0bGU6IHYudGl0bGUsXFxuICAgICAgICBpbWc6IHYuaW1nXFxuICAgIH1cXG4gICAgc3dpdGNoIChlZGl0TW9kZSkge1xcbiAgICAgICAgY2FzZSAn5aSN5Yi26K6i6ZiFJzpcXG4gICAgICAgICAgICBkLnVybCA9IFxcXCJjb3B5Oi8vXFxcIiArIHYudXJsICsgXFxcIkBcXFwiICsgdi50aXRsZVxcbiAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICBjYXNlICfmmL7npLov6ZqQ6JePJzpcXG4gICAgICAgICAgICBkLnRpdGxlID0gKHYudmlzaWJsZSA/ICfwn5+iICAnIDogJ/CflLQgICcpICsgZC50aXRsZVxcbiAgICAgICAgICAgIGQudXJsID0gJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgcnVsZXMgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdhZGRSc3MudHh0JykgfHwgJ1tdJylcXG4gICAgICAgICAgICAgICAgcnVsZXNbaV0udmlzaWJsZSA9ICFydWxlc1tpXS52aXNpYmxlXFxuICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIGkpXFxuICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgIGNhc2UgJ+WIoOmZpOiuoumYhSc6XFxuICAgICAgICAgICAgZC50aXRsZSA9ICh2LmRlbGV0ZSA/ICfinYwgICcgOiAnJykgKyBkLnRpdGxlXFxuICAgICAgICAgICAgZC51cmwgPSAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCBydWxlcyA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKVxcbiAgICAgICAgICAgICAgICBydWxlc1tpXS5kZWxldGUgPSAhcnVsZXNbaV0uZGVsZXRlXFxuICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIGkpXFxuICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgIGNhc2UgJ+mHjeaWsOaOkuW6jyc6XFxuICAgICAgICAgICAgbGV0IHNvcnRGbGFnID0gcGFyc2VJbnQoZ2V0TXlWYXIoJ3NvcnRGbGFnJywgJy0xJykpXFxuICAgICAgICAgICAgZC50aXRsZSA9IChzb3J0RmxhZyA9PSBpID8gJ/CflIMgICcgOiAnJykgKyBkLnRpdGxlXFxuICAgICAgICAgICAgaWYgKHNvcnRGbGFnID09IC0xKVxcbiAgICAgICAgICAgICAgICBkLnVybCA9ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzb3J0RmxhZycsIGkudG9TdHJpbmcoKSlcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+mAieaLqeimgeenu+WKqOWIsOeahOS9jee9ridcXG4gICAgICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICBlbHNlXFxuICAgICAgICAgICAgICAgIGQudXJsID0gJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgob2xkSW5kZXgsIG5ld0luZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBsZXQgcnVsZXMgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdhZGRSc3MudHh0JykgfHwgJ1tdJylcXG4gICAgICAgICAgICAgICAgICAgIHJ1bGVzLnNwbGljZShuZXdJbmRleCwgMCwgcnVsZXMuc3BsaWNlKG9sZEluZGV4LCAxKVswXSlcXG4gICAgICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcbiAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NvcnRGbGFnJywgJy0xJylcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgICAgICB9LCBzb3J0RmxhZywgaSlcXG4gICAgICAgICAgICBicmVha1xcbiAgICAgICAgY2FzZSAn5pu05pS55ZCN56ewJzpcXG4gICAgICAgICAgICBkLnVybCA9ICQodi50aXRsZSB8fCAnJywgJ+i+k+WFpeaWsOWQjeensO+8micpLmlucHV0KChpKSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCBydWxlcyA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKVxcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICBydWxlc1tpXS50aXRsZSA9IGlucHV0XFxuICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIGkpXFxuICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgIGNhc2UgJ+abtOaUueWbvuaghyc6XFxuICAgICAgICAgICAgZC51cmwgPSAkKHYuaW1nIHx8ICcnLCAn6L6T5YWl5paw5Zu+5qCH5Zyw5Z2A5oiW6aKc6Imy5Luj56CB77yaJykuaW5wdXQoKGkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHJ1bGVzID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpXFxuICAgICAgICAgICAgICAgIGlmIChpbnB1dClcXG4gICAgICAgICAgICAgICAgICAgIHJ1bGVzW2ldLmltZyA9IGlucHV0XFxuICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIGkpXFxuICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgIGNhc2UgJ+abtOaUuee9keWdgCc6XFxuICAgICAgICAgICAgZC51cmwgPSAkKHYudXJsIHx8ICcnLCAn6L6T5YWl5paw572R5Z2A77yaJykuaW5wdXQoKGkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHJ1bGVzID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpXFxuICAgICAgICAgICAgICAgIGlmIChpbnB1dClcXG4gICAgICAgICAgICAgICAgICAgIHJ1bGVzW2ldLnVybCA9IGlucHV0XFxuICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgIH0sIGkpXFxuICAgICAgICAgICAgYnJlYWtcXG4gICAgfVxcbiAgICBlbC5wdXNoKGQpXFxufSlcXG5cXG5zZXRSZXN1bHQoZWwpXCJ9LHtcImNvbF90eXBlXCI6XCJ0ZXh0XzFcIixcIm5hbWVcIjpcIuaOqOiNkFwiLFwicGF0aFwiOlwicmVjb21tZW5kXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbnZhciBsaXN0ID0gW1xcXCJodHRwczovL2ZlZWR4Lm5ldC9yc3Mvc2hhbmdoYWlzaHVwaW5nLnhtbEDkuIrmtbfmm7joqZUo5qKv5a2QKVxcXCIsIFxcXCJodHRwOi8vd3d3LjRzYm9va3MuY29tL2ZlZWRA5Zub5a2j5Lmm6K+EKOair+WtkClcXFwiLCBcXFwiaHR0cDovL3d3dy5nY29yZXMuY29tL3Jzc0DmnLrmoLhcXFwiLCBcXFwiaHR0cHM6Ly9mZWVkeC5uZXQvcnNzL3RoZXBhcGVyLnhtbEDmvo7muYPmlrDpl7vvvIjmoq/lrZDvvIlcXFwiLCBcXFwiaHR0cHM6Ly9mZWVkeC5uZXQvcnNzL2luZnptLnhtbEDljZfmlrnlkajmnKvvvIjmoq/lrZDvvIlcXFwiLCBcXFwiaHR0cHM6Ly9yc3NodWIuYXBwL3poaWh1L2hvdGxpc3RA55+l5LmO54Ot5qacXFxcIiwgXFxcImh0dHBzOi8vcnNzaHViLmFwcC9yc3NodWIvcnNzQOmakOiXj+WKn+iDvVxcXCJdXFxuZm9yIChpdGVtIG9mIGxpc3QpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBpdGVtLnNwbGl0KFxcXCJAXFxcIilbMV0sXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoaXRlbSkgPT4ge1xcbiAgICAgICAgICAgIHB1dE15VmFyKCdhZGRSc3MnLCBpdGVtKVxcbiAgICAgICAgICAgIGJhY2soKVxcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgIH0sIGl0ZW0pXFxuICAgIH0pXFxuXFxufVxcbnNldFJlc3VsdChkKTtcIn1dLFwicGFyYW1zXCI6XCJ7XFxcImxpbmVWaXNpYmxlXFxcIjpmYWxzZX1cIixcInNhdmVkXCI6ZmFsc2UsXCJ0aXRsZVwiOlwi6a2UUlNTXCIsXCJ2ZXJzaW9uXCI6MCxcInVybFwiOlwiaGlrZXI6Ly9wYWdlL2NvbmZpZy5odG1sXCIsXCJjb2xfdHlwZVwiOlwiaWNvbl8yX3JvdW5kXCIsXCJmaW5kX3J1bGVcIjpcImpzOlxcbmNvbnRlbnQgPSBnZXRNeVZhcignYWRkUnNzJylcXG5yID0gcmVhZEZpbGUoXFxcImFkZFJzcy50eHRcXFwiKTtcXG5Kc29uID0gciA/IEpTT04ucGFyc2UocikgOiBbXVxcbmNvbnRlbnRMaXN0ID0gY29udGVudC5zcGxpdChcXFwiXFxcXG5cXFwiKVswXSA/IGNvbnRlbnQuc3BsaXQoXFxcIlxcXFxuXFxcIikgOiBbY29udGVudF07XFxuSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpXFxuY29udGVudExpc3QuZm9yRWFjaCgoeCkgPT4ge1xcbiAgICBpZiAoIXguc3BsaXQoXFxcIkBcXFwiKVsxXSkge1xcbiAgICAgICAgcmV0dXJuIGZhbHNlXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBjID0ge1xcbiAgICAgICAgICAgIGltZzogJ2h0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMzAwJyxcXG4gICAgICAgICAgICB0aXRsZTogeC5zcGxpdChcXFwiQFxcXCIpWzFdLFxcbiAgICAgICAgICAgIHVybDogeC5zcGxpdChcXFwiQFxcXCIpWzBdLFxcbiAgICAgICAgICAgIGRlbGV0ZTogZmFsc2UsXFxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZVxcbiAgICAgICAgfVxcbiAgICAgICAgSnNvbi5wdXNoKGMpXFxuICAgIH1cXG59KVxcbmNsZWFyTXlWYXIoJ2FkZFJzcycpXFxuc2F2ZUZpbGUoXFxcImFkZFJzcy50eHRcXFwiLCBKU09OLnN0cmluZ2lmeShKc29uKSlcXG5odG1sID0gcmVhZEZpbGUoXFxcImFkZFJzcy50eHRcXFwiKVxcbnNldFBhZ2VUaXRsZSgn4pqZIOiuvue9riDimpknKVxcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKSA9PiB7XFxuICAgIHJlZnJlc2hQYWdlKClcXG59KSlcXG5lbCA9IFtdO1xcbmVsLnB1c2goe1xcbiAgICB1cmw6IFxcXCJyZWZyZXNoUGFnZSgpXFxcIixcXG4gICAgY29sX3R5cGU6ICdpbnB1dCcsXFxuICAgIHRpdGxlOiAn5re75YqgJyxcXG4gICAgZGVzYzogXFxcIuagvOW8j++8mnJzc+WcsOWdgEDlkI3np7Ag5om56YeP5a+85YWl55So5o2i6KGM56ymXFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ2FkZFJzcycsIGlucHV0KVxcXCJcXG4gICAgfVxcbn0pXFxuZWwucHVzaCh7XFxuICAgIHRpdGxlOiBnZXRJdGVtKFxcXCJlZ2lpaVxcXCIsIFxcXCIxXFxcIikgPT0gXFxcIjFcXFwiID8gXFxcIuW+rui9r1xcXCIgOiBcXFwi55m+5bqmXFxcIixcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgc2V0SXRlbShcXFwiZWdpaWlcXFwiLCBnZXRJdGVtKFxcXCJlZ2lpaVxcXCIsIFxcXCIxXFxcIikgPT0gXFxcIjFcXFwiID8gXFxcIjBcXFwiIDogXFxcIjFcXFwiKVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+WIh+aNouaIkOWKn1xcXCJcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIlxcbn0pXFxuZWwucHVzaCh7XFxuICAgIHRpdGxlOiBnZXRJdGVtKFxcXCJtb2RlXFxcIiwgXFxcIumYheivu1xcXCIpID09IFxcXCLpmIXor7tcXFwiID8gXFxcIumYheivu1xcXCIgOiBcXFwi6K+t6Z+zXFxcIixcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgc2V0SXRlbShcXFwibW9kZVxcXCIsIGdldEl0ZW0oXFxcIm1vZGVcXFwiLCBcXFwi6ZiF6K+7XFxcIikgPT0gXFxcIumYheivu1xcXCIgPyBcXFwi6K+t6Z+zXFxcIiA6IFxcXCLpmIXor7tcXFwiKVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+WIh+aNouaIkOWKn1xcXCJcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIlxcbn0pXFxuZWwucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi5a+85YWl5YiG5LqrXFxcIixcXG4gICAgdXJsOiAkKFxcXCJcXFwiLCBcXFwi6ZO+5o6lXFxcIikuaW5wdXQoKCkgPT4ge1xcbiAgICAgICAgaWYgKGlucHV0LnN0YXJ0c1dpdGgoXFxcImh0dHBcXFwiKSkge1xcbiAgICAgICAgICAgIHB1dE15VmFyKCdhZGRSc3MnLCBwYXJzZVBhc3RlKGlucHV0KSlcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5pCB6L+Z5Y2hYnVn5ZGiXFxcIlxcbiAgICAgICAgfVxcbiAgICB9KSxcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzJcXFwiXFxufSlcXG5lbC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLiiJrmjqjojZDorqLpmIVcXFwiLFxcbiAgICB1cmw6IFxcXCJoaWtlcjovL3BhZ2UvcmVjb21tZW5kXFxcIixcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzJcXFwiXFxufSlcXG5cXG5lZGl0TW9kZSA9IGdldE15VmFyKCdlZGl0TW9kZScsICflkK/nlKgv56aB55SoJylcXG5sZXQgY29uZmlnID0gWyfmmL7npLov6ZqQ6JePJywgJ+mHjeaWsOaOkuW6jycsICfliKDpmaTorqLpmIUnLCAn5pu05pS55ZCN56ewJywgJ+abtOaUuee9keWdgCcsICflpI3liLborqLpmIUnLCAn5pu05pS55Zu+5qCHJ11cXG5cXG5jb25maWcuZm9yRWFjaCgodikgPT4ge1xcbiAgICBlbC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiB2ID09IGVkaXRNb2RlID8gJ+KAnOKAnOKAneKAnScgKyB2LmJvbGQoKS5mb250Y29sb3IoJyMxMmI2NjgnKSA6IHYsXFxuICAgICAgICB1cmw6IHYgPT0gZWRpdE1vZGUgPyAnaGlrZXI6Ly9lbXB0eScgOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCh2KSA9PiB7XFxuICAgICAgICAgICAgcHV0TXlWYXIoJ2VkaXRNb2RlJywgdilcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICB9LCB2KSxcXG4gICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgIH0pXFxufSlcXG5cXG5Kc29uID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpO1xcbmZsYWdMZW4gPSBKc29uLmxlbmd0aFxcbmlmICghZmxhZ0xlbikge1xcbiAgICBlbC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi5pqC5peg6K6i6ZiF77yM5b+r5Y675re75Yqg5ZCnXFxcIixcXG4gICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxuICAgICAgICB1cmw6IFxcXCJ0b2FzdDovL+W/q+WOu+a3u+WKoOWQp1xcXCJcXG4gICAgfSlcXG59XFxuc3dpdGNoIChlZGl0TW9kZSkge1xcbiAgICBjYXNlIFxcXCLliKDpmaTorqLpmIVcXFwiOlxcbiAgICAgICAgZmxhZ0xlbiA/XFxuICAgICAgICAgICAgZWwucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi4oCc4oCc4oCd4oCd56Gu6K6k5Yig6ZmkXFxcIi5ib2xkKCksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoSnNvbikgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJ1bGVzID0gW107XFxuICAgICAgICAgICAgICAgICAgICBKc29uLmZvckVhY2goKHgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAheC5kZWxldGUgPyBydWxlcy5wdXNoKHgpIDogbnVsbFxcbiAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Yig6Zmk5oiQ5YqfJ1xcbiAgICAgICAgICAgICAgICB9LCBKc29uKVxcbiAgICAgICAgICAgIH0pIDogXFxcIlxcXCJcXG5cXG4gICAgICAgIGJyZWFrXFxuXFxuICAgIGNhc2UgXFxcIuWkjeWItuiuoumYhVxcXCI6XFxuICAgICAgICBmbGFnTGVuID8gZWwucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLigJzigJzigJ3igJ3lpI3liLblhajpg6hcXFwiLmJvbGQoKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICAgICAgICAgIHVybDogJChcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKEpzb24pID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHVybCA9IHNoYXJlUGFzdGUoSnNvbi5tYXAoeCA9PiB4LnVybCArIFxcXCJAXFxcIiArIHgudGl0bGUpLmpvaW4oXFxcIlxcXFxuXFxcIikpXFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwiY29weTovL1xcXCIgKyB1cmxcXG4gICAgICAgICAgICB9LCBKc29uKVxcbiAgICAgICAgfSkgOiBcXFwiXFxcIlxcbiAgICAgICAgYnJlYWtcXG59XFxuXFxuXFxuSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpLmZvckVhY2goKHYsIGkpID0+IHtcXG4gICAgbGV0IGQgPSB7XFxuICAgICAgICB0aXRsZTogdi50aXRsZSxcXG4gICAgICAgIGltZzogdi5pbWdcXG4gICAgfVxcbiAgICBzd2l0Y2ggKGVkaXRNb2RlKSB7XFxuICAgICAgICBjYXNlICflpI3liLborqLpmIUnOlxcbiAgICAgICAgICAgIGQudXJsID0gXFxcImNvcHk6Ly9cXFwiICsgdi51cmwgKyBcXFwiQFxcXCIgKyB2LnRpdGxlXFxuICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgIGNhc2UgJ+aYvuekui/pmpDol48nOlxcbiAgICAgICAgICAgIGQudGl0bGUgPSAodi52aXNpYmxlID8gJ/Cfn6IgICcgOiAn8J+UtCAgJykgKyBkLnRpdGxlXFxuICAgICAgICAgICAgZC51cmwgPSAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCBydWxlcyA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKVxcbiAgICAgICAgICAgICAgICBydWxlc1tpXS52aXNpYmxlID0gIXJ1bGVzW2ldLnZpc2libGVcXG4gICAgICAgICAgICAgICAgc2F2ZUZpbGUoJ2FkZFJzcy50eHQnLCBKU09OLnN0cmluZ2lmeShydWxlcykpXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICBicmVha1xcbiAgICAgICAgY2FzZSAn5Yig6Zmk6K6i6ZiFJzpcXG4gICAgICAgICAgICBkLnRpdGxlID0gKHYuZGVsZXRlID8gJ+KdjCAgJyA6ICcnKSArIGQudGl0bGVcXG4gICAgICAgICAgICBkLnVybCA9ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHJ1bGVzID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpXFxuICAgICAgICAgICAgICAgIHJ1bGVzW2ldLmRlbGV0ZSA9ICFydWxlc1tpXS5kZWxldGVcXG4gICAgICAgICAgICAgICAgc2F2ZUZpbGUoJ2FkZFJzcy50eHQnLCBKU09OLnN0cmluZ2lmeShydWxlcykpXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICBicmVha1xcbiAgICAgICAgY2FzZSAn6YeN5paw5o6S5bqPJzpcXG4gICAgICAgICAgICBsZXQgc29ydEZsYWcgPSBwYXJzZUludChnZXRNeVZhcignc29ydEZsYWcnLCAnLTEnKSlcXG4gICAgICAgICAgICBkLnRpdGxlID0gKHNvcnRGbGFnID09IGkgPyAn8J+UgyAgJyA6ICcnKSArIGQudGl0bGVcXG4gICAgICAgICAgICBpZiAoc29ydEZsYWcgPT0gLTEpXFxuICAgICAgICAgICAgICAgIGQudXJsID0gJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NvcnRGbGFnJywgaS50b1N0cmluZygpKVxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6YCJ5oup6KaB56e75Yqo5Yiw55qE5L2N572uJ1xcbiAgICAgICAgICAgICAgICB9LCBpKVxcbiAgICAgICAgICAgIGVsc2VcXG4gICAgICAgICAgICAgICAgZC51cmwgPSAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChvbGRJbmRleCwgbmV3SW5kZXgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBydWxlcyA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKVxcbiAgICAgICAgICAgICAgICAgICAgcnVsZXMuc3BsaWNlKG5ld0luZGV4LCAwLCBydWxlcy5zcGxpY2Uob2xkSW5kZXgsIDEpWzBdKVxcbiAgICAgICAgICAgICAgICAgICAgc2F2ZUZpbGUoJ2FkZFJzcy50eHQnLCBKU09OLnN0cmluZ2lmeShydWxlcykpXFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignc29ydEZsYWcnLCAnLTEnKVxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgICAgIH0sIHNvcnRGbGFnLCBpKVxcbiAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICBjYXNlICfmm7TmlLnlkI3np7AnOlxcbiAgICAgICAgICAgIGQudXJsID0gJCh2LnRpdGxlIHx8ICcnLCAn6L6T5YWl5paw5ZCN56ew77yaJykuaW5wdXQoKGkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHJ1bGVzID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpXFxuICAgICAgICAgICAgICAgIGlmIChpbnB1dClcXG4gICAgICAgICAgICAgICAgICAgIHJ1bGVzW2ldLnRpdGxlID0gaW5wdXRcXG4gICAgICAgICAgICAgICAgc2F2ZUZpbGUoJ2FkZFJzcy50eHQnLCBKU09OLnN0cmluZ2lmeShydWxlcykpXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICBicmVha1xcbiAgICAgICAgY2FzZSAn5pu05pS55Zu+5qCHJzpcXG4gICAgICAgICAgICBkLnVybCA9ICQodi5pbWcgfHwgJycsICfovpPlhaXmlrDlm77moIflnLDlnYDmiJbpopzoibLku6PnoIHvvJonKS5pbnB1dCgoaSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgcnVsZXMgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdhZGRSc3MudHh0JykgfHwgJ1tdJylcXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0KVxcbiAgICAgICAgICAgICAgICAgICAgcnVsZXNbaV0uaW1nID0gaW5wdXRcXG4gICAgICAgICAgICAgICAgc2F2ZUZpbGUoJ2FkZFJzcy50eHQnLCBKU09OLnN0cmluZ2lmeShydWxlcykpXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICBicmVha1xcbiAgICAgICAgY2FzZSAn5pu05pS5572R5Z2AJzpcXG4gICAgICAgICAgICBkLnVybCA9ICQodi51cmwgfHwgJycsICfovpPlhaXmlrDnvZHlnYDvvJonKS5pbnB1dCgoaSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgcnVsZXMgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdhZGRSc3MudHh0JykgfHwgJ1tdJylcXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0KVxcbiAgICAgICAgICAgICAgICAgICAgcnVsZXNbaV0udXJsID0gaW5wdXRcXG4gICAgICAgICAgICAgICAgc2F2ZUZpbGUoJ2FkZFJzcy50eHQnLCBKU09OLnN0cmluZ2lmeShydWxlcykpXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgfSwgaSlcXG4gICAgICAgICAgICBicmVha1xcbiAgICB9XFxuICAgIGVsLnB1c2goZClcXG59KVxcblxcbnNldFJlc3VsdChlbClcIixcImdyb3VwXCI6XCLlhbblroNcIixcInVhXCI6XCJtb2JpbGVcIixcInByZVJ1bGVcIjpcImZpbGVFeGlzdCgnYWRkUnNzLnR4dCcpP2ZpbGVFeGlzdCgnYWRkUnNzLnR4dCcpOnNhdmVGaWxlKFxcXCJhZGRSc3MudHh0XFxcIixcXFwiXFxcIilcIixcInBhZ2VzXCI6XCJbe1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5q2j5paHXFxcIixcXFwicGF0aFxcXCI6XFxcImNvbnRlbnQuaHRtbFxcXCIsXFxcInJ1bGVcXFwiOlxcXCJqczpcXFxcbmxpbmsgPSBNWV9VUkwubWF0Y2goL2hpa2VyOi4qP1xcXFxcXFxcPyguKj8pIyMvKVsxXTtcXFxcbmEgPSAnPGgzPjxhIGhyZWY9XFxcXFxcXCInICsgYmFzZTY0RGVjb2RlKGxpbmspICsgJ1xcXFxcXFwiPicgKyBNWV9QQVJBTVMudGl0bGUgKyAnPC9hPjwvaDM+J1xcXFxudGV4dCA9IGJhc2U2NERlY29kZShNWV9VUkwucmVwbGFjZSgvaGlrZXI6Lio/IyN8I2F1dG9QYWdlIy9nLCAnJykpXFxcXG4gICAgLnJlcGxhY2UoLyZsdDsvZywgJzwnKVxcXFxuICAgIC5yZXBsYWNlKC8mZ3Q7L2csICc+JylcXFxcbiAgICAucmVwbGFjZSgvPCFcXFxcXFxcXFtDREFUQVxcXFxcXFxcW3xcXFxcXFxcXF1cXFxcXFxcXF0+L2csICcnKVxcXFxuICAgIC5yZXBsYWNlKC88Lio/dmlkZW8gc3JjPVsnXFxcXFxcXCJdKC4qPylbJ1xcXFxcXFwiXS4qPz48XFxcXFxcXFwvdmlkZW8+L2csICc8YSBocmVmPVxcXFxcXFwiJDFcXFxcXFxcIj7op4bpopHpk77mjqU8L2E+JylcXFxcbmQgPSBbe1xcXFxuICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnLFxcXFxuICAgIGRlc2M6ICcwJiZmbG9hdCdcXFxcbn0sIHtcXFxcbiAgICB0aXRsZTogYSArIHRleHQsXFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwicmljaF90ZXh0XFxcXFxcXCJcXFxcbn1dXFxcXG5cXFxcbmQudW5zaGlmdCh7XFxcXG4gICAgdGl0bGU6IFxcXFxcXFwi5pyX6K+7XFxcXFxcXCIsXFxcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKHRleHQpID0+IHtcXFxcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKFxcXFxcXFwiaGlrZXI6Ly9wYWdlL3V0aWxpdHk/cnVsZT3or63pn7PlkIjmiJBcXFxcXFxcIikpLnJ1bGUpXFxcXG4gICAgICAgIGxldCBwYXRoID0gdm9pY2UodGV4dC5yZXBsYWNlKC88W14+XSs+L2csICcnKSwgZ2V0SXRlbShcXFxcXFxcImVnaWlpXFxcXFxcXCIsIFxcXFxcXFwiMVxcXFxcXFwiKSA9PSBcXFxcXFxcIjFcXFxcXFxcIiA/IDEgOiAwKVxcXFxuICAgICAgICByZWZyZXNoWDVXZWJWaWV3KGdldFBhdGgocGF0aCArICc/dD0nICsgbmV3IERhdGUoKSkpXFxcXG4gICAgICAgIHJldHVybiBcXFxcXFxcInRvYXN0Oi8v5pKt5pS+XFxcXFxcXCJcXFxcbiAgICB9LCBhICsgdGV4dCksXFxcXG4gICAgaW1nOiBcXFxcXFxcImh0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9tZXNzeS8zMy5zdmdcXFxcXFxcIixcXFxcbiAgICBjb2xfdHlwZTogXFxcXFxcXCJpY29uXzJfcm91bmRcXFxcXFxcIlxcXFxufSlcXFxcbnNldFJlc3VsdChkKVxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJpY29uXzJfcm91bmRcXFwiLFxcXCJuYW1lXFxcIjpcXFwi6K6+572uXFxcIixcXFwicGF0aFxcXCI6XFxcImNvbmZpZy5odG1sXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxuY29udGVudCA9IGdldE15VmFyKCdhZGRSc3MnKVxcXFxuciA9IHJlYWRGaWxlKFxcXFxcXFwiYWRkUnNzLnR4dFxcXFxcXFwiKTtcXFxcbkpzb24gPSByID8gSlNPTi5wYXJzZShyKSA6IFtdXFxcXG5jb250ZW50TGlzdCA9IGNvbnRlbnQuc3BsaXQoXFxcXFxcXCJcXFxcXFxcXG5cXFxcXFxcIilbMF0gPyBjb250ZW50LnNwbGl0KFxcXFxcXFwiXFxcXFxcXFxuXFxcXFxcXCIpIDogW2NvbnRlbnRdO1xcXFxuSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpXFxcXG5jb250ZW50TGlzdC5mb3JFYWNoKCh4KSA9PiB7XFxcXG4gICAgaWYgKCF4LnNwbGl0KFxcXFxcXFwiQFxcXFxcXFwiKVsxXSkge1xcXFxuICAgICAgICByZXR1cm4gZmFsc2VcXFxcbiAgICB9IGVsc2Uge1xcXFxuICAgICAgICBjID0ge1xcXFxuICAgICAgICAgICAgaW1nOiAnaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8zMDAnLFxcXFxuICAgICAgICAgICAgdGl0bGU6IHguc3BsaXQoXFxcXFxcXCJAXFxcXFxcXCIpWzFdLFxcXFxuICAgICAgICAgICAgdXJsOiB4LnNwbGl0KFxcXFxcXFwiQFxcXFxcXFwiKVswXSxcXFxcbiAgICAgICAgICAgIGRlbGV0ZTogZmFsc2UsXFxcXG4gICAgICAgICAgICB2aXNpYmxlOiB0cnVlXFxcXG4gICAgICAgIH1cXFxcbiAgICAgICAgSnNvbi5wdXNoKGMpXFxcXG4gICAgfVxcXFxufSlcXFxcbmNsZWFyTXlWYXIoJ2FkZFJzcycpXFxcXG5zYXZlRmlsZShcXFxcXFxcImFkZFJzcy50eHRcXFxcXFxcIiwgSlNPTi5zdHJpbmdpZnkoSnNvbikpXFxcXG5odG1sID0gcmVhZEZpbGUoXFxcXFxcXCJhZGRSc3MudHh0XFxcXFxcXCIpXFxcXG5zZXRQYWdlVGl0bGUoJ+KamSDorr7nva4g4pqZJylcXFxcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKSA9PiB7XFxcXG4gICAgcmVmcmVzaFBhZ2UoKVxcXFxufSkpXFxcXG5lbCA9IFtdO1xcXFxuZWwucHVzaCh7XFxcXG4gICAgdXJsOiBcXFxcXFxcInJlZnJlc2hQYWdlKClcXFxcXFxcIixcXFxcbiAgICBjb2xfdHlwZTogJ2lucHV0JyxcXFxcbiAgICB0aXRsZTogJ+a3u+WKoCcsXFxcXG4gICAgZGVzYzogXFxcXFxcXCLmoLzlvI/vvJpyc3PlnLDlnYBA5ZCN56ewIOaJuemHj+WvvOWFpeeUqOaNouihjOesplxcXFxcXFwiLFxcXFxuICAgIGV4dHJhOiB7XFxcXG4gICAgICAgIG9uQ2hhbmdlOiBcXFxcXFxcInB1dE15VmFyKCdhZGRSc3MnLCBpbnB1dClcXFxcXFxcIlxcXFxuICAgIH1cXFxcbn0pXFxcXG5lbC5wdXNoKHtcXFxcbiAgICB0aXRsZTogZ2V0SXRlbShcXFxcXFxcImVnaWlpXFxcXFxcXCIsIFxcXFxcXFwiMVxcXFxcXFwiKSA9PSBcXFxcXFxcIjFcXFxcXFxcIiA/IFxcXFxcXFwi5b6u6L2vXFxcXFxcXCIgOiBcXFxcXFxcIueZvuW6plxcXFxcXFwiLFxcXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXFxcbiAgICAgICAgc2V0SXRlbShcXFxcXFxcImVnaWlpXFxcXFxcXCIsIGdldEl0ZW0oXFxcXFxcXCJlZ2lpaVxcXFxcXFwiLCBcXFxcXFxcIjFcXFxcXFxcIikgPT0gXFxcXFxcXCIxXFxcXFxcXCIgPyBcXFxcXFxcIjBcXFxcXFxcIiA6IFxcXFxcXFwiMVxcXFxcXFwiKVxcXFxuICAgICAgICByZWZyZXNoUGFnZSgpXFxcXG4gICAgICAgIHJldHVybiBcXFxcXFxcInRvYXN0Oi8v5YiH5o2i5oiQ5YqfXFxcXFxcXCJcXFxcbiAgICB9KSxcXFxcbiAgICBjb2xfdHlwZTogXFxcXFxcXCJ0ZXh0XzJcXFxcXFxcIlxcXFxufSlcXFxcbmVsLnB1c2goe1xcXFxuICAgIHRpdGxlOiBnZXRJdGVtKFxcXFxcXFwibW9kZVxcXFxcXFwiLCBcXFxcXFxcIumYheivu1xcXFxcXFwiKSA9PSBcXFxcXFxcIumYheivu1xcXFxcXFwiID8gXFxcXFxcXCLpmIXor7tcXFxcXFxcIiA6IFxcXFxcXFwi6K+t6Z+zXFxcXFxcXCIsXFxcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcXFxuICAgICAgICBzZXRJdGVtKFxcXFxcXFwibW9kZVxcXFxcXFwiLCBnZXRJdGVtKFxcXFxcXFwibW9kZVxcXFxcXFwiLCBcXFxcXFxcIumYheivu1xcXFxcXFwiKSA9PSBcXFxcXFxcIumYheivu1xcXFxcXFwiID8gXFxcXFxcXCLor63pn7NcXFxcXFxcIiA6IFxcXFxcXFwi6ZiF6K+7XFxcXFxcXCIpXFxcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXFxcbiAgICAgICAgcmV0dXJuIFxcXFxcXFwidG9hc3Q6Ly/liIfmjaLmiJDlip9cXFxcXFxcIlxcXFxuICAgIH0pLFxcXFxuICAgIGNvbF90eXBlOiBcXFxcXFxcInRleHRfMlxcXFxcXFwiXFxcXG59KVxcXFxuZWwucHVzaCh7XFxcXG4gICAgdGl0bGU6IFxcXFxcXFwi5a+85YWl5YiG5LqrXFxcXFxcXCIsXFxcXG4gICAgdXJsOiAkKFxcXFxcXFwiXFxcXFxcXCIsIFxcXFxcXFwi6ZO+5o6lXFxcXFxcXCIpLmlucHV0KCgpID0+IHtcXFxcbiAgICAgICAgaWYgKGlucHV0LnN0YXJ0c1dpdGgoXFxcXFxcXCJodHRwXFxcXFxcXCIpKSB7XFxcXG4gICAgICAgICAgICBwdXRNeVZhcignYWRkUnNzJywgcGFyc2VQYXN0ZShpbnB1dCkpXFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxcXG4gICAgICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICAgICAgfSBlbHNlIHtcXFxcbiAgICAgICAgICAgIHJldHVybiBcXFxcXFxcInRvYXN0Oi8v5pCB6L+Z5Y2hYnVn5ZGiXFxcXFxcXCJcXFxcbiAgICAgICAgfVxcXFxuICAgIH0pLFxcXFxuICAgIGNvbF90eXBlOiBcXFxcXFxcInRleHRfMlxcXFxcXFwiXFxcXG59KVxcXFxuZWwucHVzaCh7XFxcXG4gICAgdGl0bGU6IFxcXFxcXFwi4oia5o6o6I2Q6K6i6ZiFXFxcXFxcXCIsXFxcXG4gICAgdXJsOiBcXFxcXFxcImhpa2VyOi8vcGFnZS9yZWNvbW1lbmRcXFxcXFxcIixcXFxcbiAgICBjb2xfdHlwZTogXFxcXFxcXCJ0ZXh0XzJcXFxcXFxcIlxcXFxufSlcXFxcblxcXFxuZWRpdE1vZGUgPSBnZXRNeVZhcignZWRpdE1vZGUnLCAn5ZCv55SoL+emgeeUqCcpXFxcXG5sZXQgY29uZmlnID0gWyfmmL7npLov6ZqQ6JePJywgJ+mHjeaWsOaOkuW6jycsICfliKDpmaTorqLpmIUnLCAn5pu05pS55ZCN56ewJywgJ+abtOaUuee9keWdgCcsICflpI3liLborqLpmIUnLCAn5pu05pS55Zu+5qCHJ11cXFxcblxcXFxuY29uZmlnLmZvckVhY2goKHYpID0+IHtcXFxcbiAgICBlbC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6IHYgPT0gZWRpdE1vZGUgPyAn4oCc4oCc4oCd4oCdJyArIHYuYm9sZCgpLmZvbnRjb2xvcignIzEyYjY2OCcpIDogdixcXFxcbiAgICAgICAgdXJsOiB2ID09IGVkaXRNb2RlID8gJ2hpa2VyOi8vZW1wdHknIDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgodikgPT4ge1xcXFxuICAgICAgICAgICAgcHV0TXlWYXIoJ2VkaXRNb2RlJywgdilcXFxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcXFxuICAgICAgICB9LCB2KSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXFxcbiAgICB9KVxcXFxufSlcXFxcblxcXFxuSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKTtcXFxcbmZsYWdMZW4gPSBKc29uLmxlbmd0aFxcXFxuaWYgKCFmbGFnTGVuKSB7XFxcXG4gICAgZWwucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBcXFxcXFxcIuaaguaXoOiuoumYhe+8jOW/q+WOu+a3u+WKoOWQp1xcXFxcXFwiLFxcXFxuICAgICAgICBjb2xfdHlwZTogXFxcXFxcXCJ0ZXh0X2NlbnRlcl8xXFxcXFxcXCIsXFxcXG4gICAgICAgIHVybDogXFxcXFxcXCJ0b2FzdDovL+W/q+WOu+a3u+WKoOWQp1xcXFxcXFwiXFxcXG4gICAgfSlcXFxcbn1cXFxcbnN3aXRjaCAoZWRpdE1vZGUpIHtcXFxcbiAgICBjYXNlIFxcXFxcXFwi5Yig6Zmk6K6i6ZiFXFxcXFxcXCI6XFxcXG4gICAgICAgIGZsYWdMZW4gP1xcXFxuICAgICAgICAgICAgZWwucHVzaCh7XFxcXG4gICAgICAgICAgICAgICAgdGl0bGU6IFxcXFxcXFwi4oCc4oCc4oCd4oCd56Gu6K6k5Yig6ZmkXFxcXFxcXCIuYm9sZCgpLFxcXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFxcXFxcInRleHRfY2VudGVyXzFcXFxcXFxcIixcXFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKEpzb24pID0+IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJ1bGVzID0gW107XFxcXG4gICAgICAgICAgICAgICAgICAgIEpzb24uZm9yRWFjaCgoeCkgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgIXguZGVsZXRlID8gcnVsZXMucHVzaCh4KSA6IG51bGxcXFxcbiAgICAgICAgICAgICAgICAgICAgfSlcXFxcbiAgICAgICAgICAgICAgICAgICAgc2F2ZUZpbGUoJ2FkZFJzcy50eHQnLCBKU09OLnN0cmluZ2lmeShydWxlcykpXFxcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Yig6Zmk5oiQ5YqfJ1xcXFxuICAgICAgICAgICAgICAgIH0sIEpzb24pXFxcXG4gICAgICAgICAgICB9KSA6IFxcXFxcXFwiXFxcXFxcXCJcXFxcblxcXFxuICAgICAgICBicmVha1xcXFxuXFxcXG4gICAgY2FzZSBcXFxcXFxcIuWkjeWItuiuoumYhVxcXFxcXFwiOlxcXFxuICAgICAgICBmbGFnTGVuID8gZWwucHVzaCh7XFxcXG4gICAgICAgICAgICB0aXRsZTogXFxcXFxcXCLigJzigJzigJ3igJ3lpI3liLblhajpg6hcXFxcXFxcIi5ib2xkKCksXFxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcXFxcXCJ0ZXh0X2NlbnRlcl8xXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICB1cmw6ICQoXFxcXFxcXCJoaWtlcjovL2VtcHR5I25vTG9hZGluZyNcXFxcXFxcIikubGF6eVJ1bGUoKEpzb24pID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgdXJsID0gc2hhcmVQYXN0ZShKc29uLm1hcCh4ID0+IHgudXJsICsgXFxcXFxcXCJAXFxcXFxcXCIgKyB4LnRpdGxlKS5qb2luKFxcXFxcXFwiXFxcXFxcXFxuXFxcXFxcXCIpKVxcXFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFxcXFxcImNvcHk6Ly9cXFxcXFxcIiArIHVybFxcXFxuICAgICAgICAgICAgfSwgSnNvbilcXFxcbiAgICAgICAgfSkgOiBcXFxcXFxcIlxcXFxcXFwiXFxcXG4gICAgICAgIGJyZWFrXFxcXG59XFxcXG5cXFxcblxcXFxuSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpLmZvckVhY2goKHYsIGkpID0+IHtcXFxcbiAgICBsZXQgZCA9IHtcXFxcbiAgICAgICAgdGl0bGU6IHYudGl0bGUsXFxcXG4gICAgICAgIGltZzogdi5pbWdcXFxcbiAgICB9XFxcXG4gICAgc3dpdGNoIChlZGl0TW9kZSkge1xcXFxuICAgICAgICBjYXNlICflpI3liLborqLpmIUnOlxcXFxuICAgICAgICAgICAgZC51cmwgPSBcXFxcXFxcImNvcHk6Ly9cXFxcXFxcIiArIHYudXJsICsgXFxcXFxcXCJAXFxcXFxcXCIgKyB2LnRpdGxlXFxcXG4gICAgICAgICAgICBicmVha1xcXFxuICAgICAgICBjYXNlICfmmL7npLov6ZqQ6JePJzpcXFxcbiAgICAgICAgICAgIGQudGl0bGUgPSAodi52aXNpYmxlID8gJ/Cfn6IgICcgOiAn8J+UtCAgJykgKyBkLnRpdGxlXFxcXG4gICAgICAgICAgICBkLnVybCA9ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgcnVsZXMgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdhZGRSc3MudHh0JykgfHwgJ1tdJylcXFxcbiAgICAgICAgICAgICAgICBydWxlc1tpXS52aXNpYmxlID0gIXJ1bGVzW2ldLnZpc2libGVcXFxcbiAgICAgICAgICAgICAgICBzYXZlRmlsZSgnYWRkUnNzLnR4dCcsIEpTT04uc3RyaW5naWZ5KHJ1bGVzKSlcXFxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXFxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxcXG4gICAgICAgICAgICB9LCBpKVxcXFxuICAgICAgICAgICAgYnJlYWtcXFxcbiAgICAgICAgY2FzZSAn5Yig6Zmk6K6i6ZiFJzpcXFxcbiAgICAgICAgICAgIGQudGl0bGUgPSAodi5kZWxldGUgPyAn4p2MICAnIDogJycpICsgZC50aXRsZVxcXFxuICAgICAgICAgICAgZC51cmwgPSAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxcXG4gICAgICAgICAgICAgICAgbGV0IHJ1bGVzID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpXFxcXG4gICAgICAgICAgICAgICAgcnVsZXNbaV0uZGVsZXRlID0gIXJ1bGVzW2ldLmRlbGV0ZVxcXFxuICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXFxcbiAgICAgICAgICAgIH0sIGkpXFxcXG4gICAgICAgICAgICBicmVha1xcXFxuICAgICAgICBjYXNlICfph43mlrDmjpLluo8nOlxcXFxuICAgICAgICAgICAgbGV0IHNvcnRGbGFnID0gcGFyc2VJbnQoZ2V0TXlWYXIoJ3NvcnRGbGFnJywgJy0xJykpXFxcXG4gICAgICAgICAgICBkLnRpdGxlID0gKHNvcnRGbGFnID09IGkgPyAn8J+UgyAgJyA6ICcnKSArIGQudGl0bGVcXFxcbiAgICAgICAgICAgIGlmIChzb3J0RmxhZyA9PSAtMSlcXFxcbiAgICAgICAgICAgICAgICBkLnVybCA9ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NvcnRGbGFnJywgaS50b1N0cmluZygpKVxcXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+mAieaLqeimgeenu+WKqOWIsOeahOS9jee9ridcXFxcbiAgICAgICAgICAgICAgICB9LCBpKVxcXFxuICAgICAgICAgICAgZWxzZVxcXFxuICAgICAgICAgICAgICAgIGQudXJsID0gJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgob2xkSW5kZXgsIG5ld0luZGV4KSA9PiB7XFxcXG4gICAgICAgICAgICAgICAgICAgIGxldCBydWxlcyA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2FkZFJzcy50eHQnKSB8fCAnW10nKVxcXFxuICAgICAgICAgICAgICAgICAgICBydWxlcy5zcGxpY2UobmV3SW5kZXgsIDAsIHJ1bGVzLnNwbGljZShvbGRJbmRleCwgMSlbMF0pXFxcXG4gICAgICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcXFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignc29ydEZsYWcnLCAnLTEnKVxcXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXFxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcXFxuICAgICAgICAgICAgICAgIH0sIHNvcnRGbGFnLCBpKVxcXFxuICAgICAgICAgICAgYnJlYWtcXFxcbiAgICAgICAgY2FzZSAn5pu05pS55ZCN56ewJzpcXFxcbiAgICAgICAgICAgIGQudXJsID0gJCh2LnRpdGxlIHx8ICcnLCAn6L6T5YWl5paw5ZCN56ew77yaJykuaW5wdXQoKGkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgcnVsZXMgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdhZGRSc3MudHh0JykgfHwgJ1tdJylcXFxcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQpXFxcXG4gICAgICAgICAgICAgICAgICAgIHJ1bGVzW2ldLnRpdGxlID0gaW5wdXRcXFxcbiAgICAgICAgICAgICAgICBzYXZlRmlsZSgnYWRkUnNzLnR4dCcsIEpTT04uc3RyaW5naWZ5KHJ1bGVzKSlcXFxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSlcXFxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxcXG4gICAgICAgICAgICB9LCBpKVxcXFxuICAgICAgICAgICAgYnJlYWtcXFxcbiAgICAgICAgY2FzZSAn5pu05pS55Zu+5qCHJzpcXFxcbiAgICAgICAgICAgIGQudXJsID0gJCh2LmltZyB8fCAnJywgJ+i+k+WFpeaWsOWbvuagh+WcsOWdgOaIluminOiJsuS7o+egge+8micpLmlucHV0KChpKSA9PiB7XFxcXG4gICAgICAgICAgICAgICAgbGV0IHJ1bGVzID0gSlNPTi5wYXJzZShyZWFkRmlsZSgnYWRkUnNzLnR4dCcpIHx8ICdbXScpXFxcXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0KVxcXFxuICAgICAgICAgICAgICAgICAgICBydWxlc1tpXS5pbWcgPSBpbnB1dFxcXFxuICAgICAgICAgICAgICAgIHNhdmVGaWxlKCdhZGRSc3MudHh0JywgSlNPTi5zdHJpbmdpZnkocnVsZXMpKVxcXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXFxcbiAgICAgICAgICAgIH0sIGkpXFxcXG4gICAgICAgICAgICBicmVha1xcXFxuICAgICAgICBjYXNlICfmm7TmlLnnvZHlnYAnOlxcXFxuICAgICAgICAgICAgZC51cmwgPSAkKHYudXJsIHx8ICcnLCAn6L6T5YWl5paw572R5Z2A77yaJykuaW5wdXQoKGkpID0+IHtcXFxcbiAgICAgICAgICAgICAgICBsZXQgcnVsZXMgPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdhZGRSc3MudHh0JykgfHwgJ1tdJylcXFxcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQpXFxcXG4gICAgICAgICAgICAgICAgICAgIHJ1bGVzW2ldLnVybCA9IGlucHV0XFxcXG4gICAgICAgICAgICAgICAgc2F2ZUZpbGUoJ2FkZFJzcy50eHQnLCBKU09OLnN0cmluZ2lmeShydWxlcykpXFxcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpXFxcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcXFxuICAgICAgICAgICAgfSwgaSlcXFxcbiAgICAgICAgICAgIGJyZWFrXFxcXG4gICAgfVxcXFxuICAgIGVsLnB1c2goZClcXFxcbn0pXFxcXG5cXFxcbnNldFJlc3VsdChlbClcXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwidGV4dF8xXFxcIixcXFwibmFtZVxcXCI6XFxcIuaOqOiNkFxcXCIsXFxcInBhdGhcXFwiOlxcXCJyZWNvbW1lbmRcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG52YXIgZCA9IFtdO1xcXFxudmFyIGxpc3QgPSBbXFxcXFxcXCJodHRwczovL2ZlZWR4Lm5ldC9yc3Mvc2hhbmdoYWlzaHVwaW5nLnhtbEDkuIrmtbfmm7joqZUo5qKv5a2QKVxcXFxcXFwiLCBcXFxcXFxcImh0dHA6Ly93d3cuNHNib29rcy5jb20vZmVlZEDlm5vlraPkuabor4Qo5qKv5a2QKVxcXFxcXFwiLCBcXFxcXFxcImh0dHA6Ly93d3cuZ2NvcmVzLmNvbS9yc3NA5py65qC4XFxcXFxcXCIsIFxcXFxcXFwiaHR0cHM6Ly9mZWVkeC5uZXQvcnNzL3RoZXBhcGVyLnhtbEDmvo7muYPmlrDpl7vvvIjmoq/lrZDvvIlcXFxcXFxcIiwgXFxcXFxcXCJodHRwczovL2ZlZWR4Lm5ldC9yc3MvaW5mem0ueG1sQOWNl+aWueWRqOacq++8iOair+WtkO+8iVxcXFxcXFwiLCBcXFxcXFxcImh0dHBzOi8vcnNzaHViLmFwcC96aGlodS9ob3RsaXN0QOefpeS5jueDreamnFxcXFxcXFwiLCBcXFxcXFxcImh0dHBzOi8vcnNzaHViLmFwcC9yc3NodWIvcnNzQOmakOiXj+WKn+iDvVxcXFxcXFwiXVxcXFxuZm9yIChpdGVtIG9mIGxpc3QpIHtcXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogaXRlbS5zcGxpdChcXFxcXFxcIkBcXFxcXFxcIilbMV0sXFxcXG4gICAgICAgIHVybDogJCgpLmxhenlSdWxlKChpdGVtKSA9PiB7XFxcXG4gICAgICAgICAgICBwdXRNeVZhcignYWRkUnNzJywgaXRlbSlcXFxcbiAgICAgICAgICAgIGJhY2soKVxcXFxuICAgICAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgICAgIH0sIGl0ZW0pXFxcXG4gICAgfSlcXFxcblxcXFxufVxcXFxuc2V0UmVzdWx0KGQpO1xcXCJ9XVwiLFwicHJveHlcIjpcIlwifSIsInRpdGxlIjoi4pqZIOiuvue9riDimpkifQ==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement