xiaomianao666

邀您一起看:奇妙工具箱

Apr 24th, 2024
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥奇妙工具箱@@eyJkYXRhIjoie1wibGFzdF9jaGFwdGVyX3J1bGVcIjpcIlwiLFwidGl0bGVcIjpcIuWlh+WmmeW3peWFt+eusVwiLFwiYXV0aG9yXCI6XCLlsI/mo4noooTwn4yeXCIsXCJ1cmxcIjpcImhpa2VyOi8vZW1wdHkjI1wiLFwidmVyc2lvblwiOjgsXCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwiY2xhc3NfbmFtZVwiOlwiXCIsXCJ0eXBlXCI6XCJ0b29sXCIsXCJjbGFzc191cmxcIjpcIlwiLFwiYXJlYV9uYW1lXCI6XCJcIixcImFyZWFfdXJsXCI6XCJcIixcInNvcnRfbmFtZVwiOlwiXCIsXCJ5ZWFyX25hbWVcIjpcIlwiLFwic29ydF91cmxcIjpcIlwiLFwieWVhcl91cmxcIjpcIlwiLFwiZmluZF9ydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbmxldCB2aXAgPSBnZXRJdGVtKFxcXCJ2aXBcXFwiLCBcXFwiMFxcXCIpID09IFxcXCIxXFxcIjtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogdmlwID8gXFxcIuasoui/juaCqO+8jOWwiui0teeahOS8muWRmO+8gVxcXCIgOiBcXFwi5oKo6L+Y5LiN5piv5Lya5ZGYXFxcIixcXG4gICAgdXJsOiAkKFxcXCIjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIGNvbmZpcm0oe1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi6K+05piOXFxcIixcXG4gICAgICAgICAgICBjb250ZW50OiBcXFwi5pys5bel5YW3566x5omA5pyJ5Yqf6IO95YWN6LS55peg5bm/5ZGK5L2/55So77yM5Li65r+A5Yqx5L2c6ICF5LiN5pat5pu05paw5ZKM5paw5aKe5LyY56eA5Yqf6IO977yM5Zug5q2k5pCe5LqG5LiA5Liq5Lya5ZGY5Yi277yM5pys5Lya5ZGY5Yi25Li65YiG5Lqr5Yi277yM5Y+q6ZyA6KaB5YiG5Lqr6L2v5Lu25oiW6ICF5a6Y5pa55YWs5LyX5Y+357uZ5oKo55qE5pyL5Y+L77yM54S25ZCO54K55Ye756Gu5a6a5oyJ6ZKu5Y2z5Y+v77yM5Lya5ZGY6aKG5Y+W5pa55qGI5Li65peg5Lq65ZSu56Wo5Yi25bqm77yM54K55Ye756Gu5a6a5oyJ6ZKu5Y2z5Y+vXFxcIixcXG4gICAgICAgICAgICBjb25maXJtOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgY29uZmlybSh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXFxcIumihuWPluS8muWRmFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcXFwi56Gu5a6a6aKG5Y+W5Lya5ZGY5ZCX77yf56Gu6K6k5oKo5bey5YiG5Lqr6L2v5Lu25oiW6ICF5a6Y5pa55YWs5LyX5Y+357uZ5oKo55qE5pyL5Y+L77yM56Gu6K6k6K+354K55Ye75LiL5pa555qE56Gu5a6a5oyJ6ZKuXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm06ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZW0oXFxcInZpcFxcXCIsIFxcXCIxXFxcIik7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5oGt5Zac77yM5oKo5bey5oiQ5Li65Lya5ZGY77yBXFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSk7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCIsXFxuICAgIGRlc2M6IFxcXCJcXFwiLFxcbiAgICBwaWNfdXJsOiB2aXAgPyBcXFwiaHR0cDovL2doLmhhaWt1b3NoaWppZS5jbi9odHRwczovL2dpdGh1Yi5jb20vcWl1c3Vuc2hpbmUvaGlrZXItcnVsZXMvYmxvYi9tYXN0ZXIvcGx1Z2lucy8lRTUlODYlQTAlRTUlODYlOUIzLnBuZ1xcXCIgOiBcXFwiaGlrZXI6Ly9pbWFnZXMvYWNjb3VudFxcXCJcXG59KTtcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIuejgeWKm+S6keaSrVxcXCIsXFxuICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICBkZXNjOiBcXFwi4oCc4oCc4oCd4oCdPHNtYWxsPuWfuuS6jui/hembt1NES++8jOaUr+aMgeejgeWKm+OAgeeUtemptOOAgeenjeWtkOOAgUZUUOOAgUhUVFDjgIFSVE1Q562J5aSa56eN5qC85byPPC9zbWFsbD5cXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxuICAgIH1cXG59KTtcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIuaSreaUvlxcXCIsXFxuICAgIHVybDogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICByZXR1cm4gaW5wdXQ7XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgZGVzYzogXFxcIuivt+i+k+WFpemTvuaOpVxcXCIsXFxuICAgIHBpY191cmw6IFxcXCJcXFwiXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLop4bpopHmj5Dlj5ZcXFwiLFxcbiAgICBkZXNjOiBcXFwi55u05o6l6L6T5YWl572R6aG15Zyw5Z2A5Y2z5Y+v5o+Q5Y+W5pKt5pS+44CB5LiL6L296KeG6aKRXFxcIixcXG4gICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgfVxcbn0pO1xcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi5o+Q5Y+WXFxcIixcXG4gICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJldHVybiBcXFwidmlkZW86Ly9cXFwiICsgaW5wdXQ7XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgZGVzYzogXFxcIuivt+i+k+WFpee9kemhtemTvuaOpVxcXCIsXFxuICAgIHBpY191cmw6IFxcXCJcXFwiXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLnlLXlrZDkuabpmIXor7vlmagodHh0KVxcXCIsXFxuICAgIHVybDogJChcXFwiI25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICBsZXQgciA9IGZldGNoKFxcXCJoaWtlcjovL2hvbWVA5pys5Zyw6LWE5rqQ566h55CGXFxcIik7XFxuICAgICAgICBpZiAociAmJiByLmxlbmd0aCA+IDUpIHtcXG4gICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vaG9tZUDmnKzlnLDotYTmupDnrqHnkIZcXFwiO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBjb25maXJtKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLmuKnppqjmj5DnpLpcXFwiLFxcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcXFwi5b2T5YmN5pyq5a+85YWl5omp5bGV5o+S5Lu277yM54K55Ye75LiL5pa556Gu5a6a5oyJ6ZKu5a+85YWlXFxcIixcXG4gICAgICAgICAgICAgICAgY29uZmlybTogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcIua1t+mYlOinhueVjOmmlumhtemikemBk+inhOWImeOAkOacrOWcsOi1hOa6kOeuoeeQhuOAke+/pWhvbWVfcnVsZV91cmzvv6VodHRwOi8vaGlrZXIubm9raWEucHJlc3MvaGlrZXJ1bGUvcnVsZWxpc3QuanNvbj9pZD0zNTU5XFxcIlxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgIH1cXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwiY2FyZF9waWNfMlxcXCIsXFxuICAgIHBpY191cmw6IFxcXCJoaWtlcjovL2ltYWdlcy9ob21lX3BpYzRcXFwiLFxcbn0pO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwiZXB1YumYheivu+WZqFxcXCIsXFxuICAgIHVybDogXFxcImZpbGVTZWxlY3Q6Ly9cXFwiICsgJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICBjb25zdCBGaWxlID0gamF2YS5pby5GaWxlO1xcbiAgICAgICAgbGV0IGphdmFJbXBvcnQgPSBuZXcgSmF2YUltcG9ydGVyKCk7XFxuICAgICAgICBqYXZhSW1wb3J0LmltcG9ydFBhY2thZ2UoXFxuICAgICAgICAgICAgUGFja2FnZXMuY29tLmV4YW1wbGUuaGlrZXJ2aWV3LnV0aWxzXFxuICAgICAgICApO1xcbiAgICAgICAgd2l0aChqYXZhSW1wb3J0KSB7XFxuICAgICAgICAgICAgbGV0IGZpbGUgPSBuZXcgRmlsZShpbnB1dCk7XFxuICAgICAgICAgICAgbGV0IG4gPSBmaWxlLmdldE5hbWUoKS5yZXBsYWNlKFxcXCJfZmlsZVNlbGVjdF9cXFwiLCBcXFwiXFxcIik7XFxuICAgICAgICAgICAgbGV0IHAgPSBnZXRQYXRoKFxcXCJoaWtlcjovL2ZpbGVzL2Rvd25sb2FkL1xcXCIgKyBuKTtcXG4gICAgICAgICAgICBwID0gcC5yZXBsYWNlKFxcXCJmaWxlOi8vXFxcIiwgXFxcIlxcXCIpOyAgICAgICAgICAgIFxcbiAgICAgICAgICAgIEZpbGVVdGlsLmNvcHlGaWxlKGZpbGUsIG5ldyBGaWxlKHApKTtcXG4gICAgICAgICAgICBwID0gYmFzZTY0RW5jb2RlKHApOyAgICAgICAgICAgIFxcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9wYWdlL2VwdWIjYXV0b0NhY2hlIz9wPVxcXCIgKyBwICsgXFxcIiZwYWdlVGl0bGU9XFxcIiArIG47XFxuICAgICAgICB9XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcImNhcmRfcGljXzJfMlxcXCIsXFxuICAgIHBpY191cmw6IFxcXCJoaWtlcjovL2ltYWdlcy9ob21lX3BpYzNcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgaW5oZXJpdFRpdGxlOiBmYWxzZVxcbiAgICB9XFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCJXZWJEYXZcXFwiLFxcbiAgICB1cmw6ICQoXFxcIiNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgbGV0IHIgPSBmZXRjaChcXFwiaGlrZXI6Ly9ob21lQFdlYmRhdlxcXCIpO1xcbiAgICAgICAgbG9nKHIpO1xcbiAgICAgICAgaWYgKHIgJiYgci5sZW5ndGggPiA1KSB7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2hvbWVAV2ViZGF2XFxcIjtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgY29uZmlybSh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi5rip6aao5o+Q56S6XFxcIixcXG4gICAgICAgICAgICAgICAgY29udGVudDogXFxcIuW9k+WJjeacquWvvOWFpeaJqeWxleaPkuS7tu+8jOeCueWHu+S4i+aWueehruWumuaMiemSruWvvOWFpVxcXCIsXFxuICAgICAgICAgICAgICAgIGNvbmZpcm06ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCLmtbfpmJTop4bnlYzpppbpobXpopHpgZPop4TliJnjgJBXZWJkYXbjgJHvv6Vob21lX3J1bGVfdXJs77+laHR0cDovL2hpa2VyLm5va2lhLnByZXNzL2hpa2VydWxlL3J1bGVsaXN0Lmpzb24/aWQ9NTIxMFxcXCJcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICB9XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcImNhcmRfcGljXzJfMlxcXCIsXFxuICAgIHBpY191cmw6IFxcXCJoaWtlcjovL2ltYWdlcy9ob21lX3BpYzJcXFwiXFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLlm77niYfmj5Dlj5blmahcXFwiLFxcbiAgICB1cmw6IFxcXCJoaWtlcjovL3BhZ2UvcGljXFxcIixcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIixcXG4gICAgZGVzYzogXFxcIlxcXCIsXFxuICAgIHBpY191cmw6IFxcXCJcXFwiXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLigJzigJzigJ3igJ08c3BhbiBzdHlsZT1cXFxcXFxcImNvbG9yOiAjYWFhYWFhXFxcXFxcXCI+PHNtYWxsPuaJqeWxleaPkuS7tuadpeiHquWwj+ajieiihOOAgUxveURnSWvjgIFKb2XnrYk8L3NtYWxsPjwvc3Bhbj5cXFwiLFxcbiAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5XFxcIixcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICB9XFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6IFxcXCJsaW5lX2JsYW5rXFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGlkOiBcXFwicW1nanhcXFwiXFxuICAgIH1cXG59KTtcXG5cXG5zZXRSZXN1bHQoZCk7XFxudHJ5IHtcXG4gICAgTVlfVVJMID0gXFxcImh0dHBzOi8vaGFpa3Vvc2hpamllLmNuL1xcXCI7XFxuICAgIGxldCBodG1sID0gcmVxdWVzdChNWV9VUkwpO1xcbiAgICBsZXQgYXJyID0gcGRmYShodG1sLCBcXFwiLnBvc3QtbGlzdCYmbGlcXFwiKTtcXG4gICAgYWRkSXRlbUFmdGVyKFxcXCJxbWdqeFxcXCIsIGFyci5tYXAoaXQgPT4ge1xcbiAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgICB0aXRsZTogcGRmaChpdCwgXFxcImgzLS10aW1lJiZUZXh0XFxcIiksXFxuICAgICAgICAgICAgdXJsOiBcXFwieDU6Ly9cXFwiICsgcGQoaXQsIFxcXCJhJiZocmVmXFxcIiksXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzFcXFwiLFxcbiAgICAgICAgICAgIGRlc2M6IHBkZmgoaXQsIFxcXCIuaW5kZXgtdGltZSYmVGV4dFxcXCIpICsgXFxcIiAgIFxcXCIgKyBwZGZoKGl0LCBcXFwiLnBvc3QtbWV0YSYmc3BhbiYmVGV4dFxcXCIpXFxuICAgICAgICB9XFxuICAgIH0pKVxcbn0gY2F0Y2ggKGUpIHt9XCIsXCJzZWFyY2hfdXJsXCI6XCJcIixcImdyb3VwXCI6XCLikaDmjqjojZBcIixcInNlYXJjaEZpbmRcIjpcIlwiLFwiZGV0YWlsX2NvbF90eXBlXCI6XCJtb3ZpZV8xXCIsXCJkZXRhaWxfZmluZF9ydWxlXCI6XCJcIixcInNkZXRhaWxfY29sX3R5cGVcIjpcIm1vdmllXzFcIixcInNkZXRhaWxfZmluZF9ydWxlXCI6XCJcIixcInVhXCI6XCJtb2JpbGVcIixcInByZVJ1bGVcIjpcIlwiLFwicGFnZXNcIjpcIlt7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCJwaWNcXFwiLFxcXCJwYXRoXFxcIjpcXFwicGljXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxudmFyIGQgPSBbXTtcXFxcbmxldCB4ID0gZ2V0SXRlbShcXFxcXFxcInhcXFxcXFxcIiwgXFxcXFxcXCLlkKZcXFxcXFxcIik7XFxcXG5sZXQgZGVzYyA9IHggPT0gXFxcXFxcXCLmmK9cXFxcXFxcIiA/IFxcXFxcXFwiZmxvYXQmJjMwMFxcXFxcXFwiIDogXFxcXFxcXCJmbG9hdCYmMVxcXFxcXFwiO1xcXFxuZC5wdXNoKHtcXFxcbiAgICBjb2xfdHlwZTogXFxcXFxcXCJ4NV93ZWJ2aWV3X3NpbmdsZVxcXFxcXFwiLFxcXFxuICAgIHVybDogXFxcXFxcXCJcXFxcXFxcIixcXFxcbiAgICBkZXNjOiBkZXNjLFxcXFxuICAgIHRpdGxlOiBcXFxcXFxcIlxcXFxcXFwiLFxcXFxuICAgIGV4dHJhOiB7XFxcXG4gICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXFxcbiAgICAgICAgICAgIGZ1bmN0aW9uIGdldGltZ3MoKSB7XFxcXG4gICAgICAgICAgICAgICAgdmFyIHZpZGVvRWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcXFxcXFxcImltZ1xcXFxcXFwiKTtcXFxcbiAgICAgICAgICAgICAgICBpZiAodmlkZW9FbGVtZW50cyA9PSBudWxsKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcXFxcbiAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgbGV0IHVybHMgPSBbXTtcXFxcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZpZGVvRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZGVvRWxlbWVudHNbaV0ud2lkdGggPiA3MCAmJiB2aWRlb0VsZW1lbnRzW2ldLmhlaWdodCA+IDcwKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzcmMgPSB2aWRlb0VsZW1lbnRzW2ldLnNyYztcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcmMgPT0gbnVsbCB8fCBzcmMubGVuZ3RoIDwgNSB8fCB1cmxzLmluY2x1ZGVzKHNyYykgfHwgc3JjLmluZGV4T2YoXFxcXFxcXCJkYXRhOlxcXFxcXFwiKSA9PSAwKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyhzcmMpO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJscy5wdXNoKG5ldyBVUkwoc3JjKS50b1N0cmluZygpKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICByZXR1cm4gdXJscztcXFxcbiAgICAgICAgICAgIH1cXFxcblxcXFxuICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2soKSB7XFxcXG4gICAgICAgICAgICAgICAgdHJ5IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHVybHMgPSBnZXRpbWdzKCk7XFxcXG4gICAgICAgICAgICAgICAgICAgIC8vZmJhLmxvZyhcXFxcXFxcImdldGltZ3PvvJpcXFxcXFxcIiArIHVybHMubGVuZ3RoKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5jaGVja2VkVXJscyA9PSBudWxsKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuY2hlY2tlZFVybHMgPSBbXTtcXFxcbiAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICBsZXQgY2hlY2tlZFVybHMgPSB3aW5kb3cuY2hlY2tlZFVybHM7XFxcXG4gICAgICAgICAgICAgICAgICAgIHVybHMgPSB1cmxzLmZpbHRlcihpdCA9PiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWNoZWNrZWRVcmxzLmluY2x1ZGVzKGl0KVxcXFxuICAgICAgICAgICAgICAgICAgICB9KTtcXFxcblxcXFxuICAgICAgICAgICAgICAgICAgICBpZiAodXJscy5sZW5ndGggPiAwKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGljcyA9IHVybHMuZmlsdGVyKGl0ID0+IGl0ICE9IG51bGwgJiYgaXQgIT0gXFxcXFxcXCJcXFxcXFxcIilcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGl0ID0+IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHUgPSBmYmEuZ2V0SGVhZGVyVXJsKGl0KTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHV1ID0gdS5zcGxpdChcXFxcXFxcIjtcXFxcXFxcIik7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwaWMgPSB1O1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodXUubGVuZ3RoID4gMSkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHUxID0gdXVbMF07XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdTIgPSB1dVsxXS5zbGljZSgxLCAtMSkuc3BsaXQoXFxcXFxcXCImJlxcXFxcXFwiKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZWZlcmVyID0gbnVsbDtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1YSA9IG51bGw7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29va2llMCA9IG51bGw7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpaSBvZiB1Mikge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdDIgPSBpaS5zcGxpdChcXFxcXFxcIkBcXFxcXFxcIik7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0MlswXSA9PSBcXFxcXFxcIlJlZmVyZXJcXFxcXFxcIikge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVyID0gaXQyWzFdLnJlcGxhY2UoL++8m++8my9nLCBcXFxcXFxcIjtcXFxcXFxcIik7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdDJbMF0gPT0gXFxcXFxcXCJVc2VyLUFnZW50XFxcXFxcXCIpIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWEgPSBpdDJbMV0ucmVwbGFjZSgv77yb77ybL2csIFxcXFxcXFwiO1xcXFxcXFwiKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0MlswXSA9PSBcXFxcXFxcIkNvb2tpZVxcXFxcXFwiKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZTAgPSBpdDJbMV0ucmVwbGFjZSgv77yb77ybL2csIFxcXFxcXFwiO1xcXFxcXFwiKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWMgPSB1MTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWZlcmVyKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGljID0gcGljICsgXFxcXFxcXCJAUmVmZXJlcj1cXFxcXFxcIiArIHJlZmVyZXI7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodWEpIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWMgPSBwaWMgKyBcXFxcXFxcIkBVc2VyLUFnZW50PVxcXFxcXFwiICsgdWE7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29va2llMCkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpYyA9IHBpYyArIFxcXFxcXFwiQENvb2tpZT1cXFxcXFxcIiArIGNvb2tpZTBcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXFxcblxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGljID0gaXQ7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpYzogcGljLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZiYS5sb2cocGljcy5sZW5ndGggKyBcXFxcXFxcIlxcXFxcXFwiKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZiYS5wYXJzZUxhenlSdWxlQXN5bmMoJCQkKCkubGF6eVJ1bGUoKHVybHMpID0+IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xvZyh1cmxzKTtcXFxcblxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhcnIgPSB1cmxzLm1hcChpdCA9PiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXFxcXFxcXCJcXFxcXFxcIixcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogaXQucGljLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGljX3VybDogaXQucGljLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXFxcXFwiY2FyZF9waWNfM1xcXFxcXFwiLFxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHM6IFxcXFxcXFwicGljc1xcXFxcXFwiXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRJdGVtQmVmb3JlKFxcXFxcXFwicGljX2xpbmVcXFxcXFxcIiwgYXJyKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHBpY3MpLCBmdW5jdGlvbigpIHtcXFxcblxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpdCBvZiB1cmxzKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmNoZWNrZWRVcmxzLnB1c2goaXQpO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICB9XFxcXG5cXFxcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgIGZiYS5sb2coZS50b1N0cmluZygpKTtcXFxcbiAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChjaGVjaywgMzAwKTtcXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgIGNoZWNrKCk7XFxcXG4gICAgICAgIH0pXFxcXG4gICAgfVxcXFxufSk7XFxcXG5cXFxcblxcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogXFxcXFxcXCLmj5Dlj5ZcXFxcXFxcIixcXFxcbiAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xcXFxuICAgICAgICBwdXRNeVZhcihcXFxcXFxcImlcXFxcXFxcIiwgaW5wdXQpO1xcXFxuICAgICAgICBkZWxldGVJdGVtQnlDbHMoXFxcXFxcXCJwaWNzXFxcXFxcXCIpO1xcXFxuICAgICAgICByZWZyZXNoWDVXZWJWaWV3KGlucHV0KTtcXFxcbiAgICB9KSxcXFxcbiAgICBjb2xfdHlwZTogXFxcXFxcXCJpbnB1dFxcXFxcXFwiLFxcXFxuICAgIGRlc2M6IFxcXFxcXFwi6K+36L6T5YWl572R6aG15Zyw5Z2AXFxcXFxcXCIsXFxcXG4gICAgcGljX3VybDogXFxcXFxcXCJcXFxcXFxcIixcXFxcbiAgICBleHRyYToge1xcXFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGdldE15VmFyKFxcXFxcXFwiaVxcXFxcXFwiLCBcXFxcXFxcIlxcXFxcXFwiKVxcXFxuICAgIH1cXFxcbn0pO1xcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogXFxcXFxcXCLmmL7npLrnvZHpobXnu4Tku7bvvJpcXFxcXFxcIiArIHgsXFxcXG4gICAgdXJsOiAkKFxcXFxcXFwiI25vTG9hZGluZyNcXFxcXFxcIikubGF6eVJ1bGUoKCkgPT4ge1xcXFxuICAgICAgICBsZXQgeCA9IGdldEl0ZW0oXFxcXFxcXCJ4XFxcXFxcXCIsIFxcXFxcXFwi5ZCmXFxcXFxcXCIpO1xcXFxuICAgICAgICBsZXQgbmV4dCA9IHggPT0gXFxcXFxcXCLlkKZcXFxcXFxcIiA/IFxcXFxcXFwi5pivXFxcXFxcXCIgOiBcXFxcXFxcIuWQplxcXFxcXFwiO1xcXFxuICAgICAgICBzZXRJdGVtKFxcXFxcXFwieFxcXFxcXFwiLCBuZXh0KTtcXFxcbiAgICAgICAgbGV0IGRlc2MgPSB4ID09IFxcXFxcXFwi5ZCmXFxcXFxcXCIgPyBcXFxcXFxcImZsb2F0JiYzMDBcXFxcXFxcIiA6IFxcXFxcXFwiZmxvYXQmJjFcXFxcXFxcIjtcXFxcbiAgICAgICAgdXBkYXRlSXRlbShcXFxcXFxcInBpY190aXBcXFxcXFxcIiwge1xcXFxuICAgICAgICAgICAgdGl0bGU6IFxcXFxcXFwi5pi+56S6572R6aG157uE5Lu277yaXFxcXFxcXCIgKyBuZXh0XFxcXG4gICAgICAgIH0pO1xcXFxuICAgICAgICByZWZyZXNoWDVEZXNjKGRlc2MpO1xcXFxuICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICB9KSxcXFxcbiAgICBjb2xfdHlwZTogXFxcXFxcXCJ0ZXh0XzFcXFxcXFxcIixcXFxcbiAgICBkZXNjOiBcXFxcXFxcIlxcXFxcXFwiLFxcXFxuICAgIHBpY191cmw6IFxcXFxcXFwiXFxcXFxcXCIsXFxcXG4gICAgZXh0cmE6IHtcXFxcbiAgICAgICAgaWQ6IFxcXFxcXFwicGljX3RpcFxcXFxcXFwiXFxcXG4gICAgfVxcXFxufSk7XFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwibGluZV9ibGFua1xcXFxcXFwiLFxcXFxuICAgIGV4dHJhOiB7XFxcXG4gICAgICAgIGlkOiBcXFxcXFxcInBpY19saW5lXFxcXFxcXCJcXFxcbiAgICB9XFxcXG59KTtcXFxcblxcXFxuc2V0UmVzdWx0KGQpO1xcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJ0ZXh0XzFcXFwiLFxcXCJuYW1lXFxcIjpcXFwiZXB1YlxcXCIsXFxcInBhdGhcXFwiOlxcXCJlcHViXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxudmFyIGQgPSBbXTtcXFxcbmxldCBwYXRoID0gYmFzZTY0RGVjb2RlKGdldFBhcmFtKFxcXFxcXFwicFxcXFxcXFwiKSk7XFxcXG5sb2cocGF0aCk7XFxcXG5sZXQgbWV0YSA9IGdldEVwdWJNZXRhZGF0YShwYXRoKTtcXFxcbi8vc2V0UGFnZVRpdGxlKG1ldGEuZmlyc3RUaXRsZSk7XFxcXG5sZXQgY2hhcHRlcnMgPSBnZXRFcHViQ2hhcHRlcnMocGF0aCk7XFxcXG4vL2xvZyhjaGFwdGVycyk7XFxcXG5mb3IgKGxldCBpdCBvZiBjaGFwdGVycykge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBpdC50aXRsZSxcXFxcbiAgICAgICAgdXJsOiBcXFxcXFxcImhpa2VyOi8vcGFnZS9jb250ZW50I3JlYWRUaGVtZSMjYXV0b1BhZ2UjXFxcXFxcXCIsXFxcXG4gICAgICAgIGV4dHJhOiB7XFxcXG4gICAgICAgICAgICBocmVmOiBpdC51cmwsXFxcXG4gICAgICAgICAgICBwYXRoOiBwYXRoXFxcXG4gICAgICAgIH1cXFxcbiAgICB9KTtcXFxcbn1cXFxcbnNldFJlc3VsdChkKTtcXFxcblxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJyaWNoX3RleHRcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5q2j5paHXFxcIixcXFwicGF0aFxcXCI6XFxcImNvbnRlbnRcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG52YXIgZCA9IFtdO1xcXFxubGV0IHBhdGggPSBNWV9QQVJBTVMucGF0aDtcXFxcbmxldCB1cmwgPSBNWV9QQVJBTVMuaHJlZjtcXFxcbmxldCBjID0gZ2V0RXB1YkNvbnRlbnQocGF0aCwgdXJsKTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6IGMsXFxcXG4gICAgdXJsOiBcXFxcXFxcIlxcXFxcXFwiLFxcXFxufSk7XFxcXG5zZXRSZXN1bHQoZCk7XFxcIn1dXCIsXCJpY29uXCI6XCJcIixcInByb3h5XCI6XCJcIn0iLCJ0aXRsZSI6IuWlh+WmmeW3peWFt+eusSJ9
Add Comment
Please, Sign In to add comment