Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥奇妙工具箱@@eyJkYXRhIjoie1xuICBcImxhc3RfY2hhcHRlcl9ydWxlXCI6IFwiXCIsXG4gIFwidGl0bGVcIjogXCLlpYflppnlt6XlhbfnrrFcIixcbiAgXCJhdXRob3JcIjogXCLlsI/mo4noooTwn4yeXCIsXG4gIFwidXJsXCI6IFwiaGlrZXI6Ly9lbXB0eSMjXCIsXG4gIFwidmVyc2lvblwiOiAxMixcbiAgXCJjb2xfdHlwZVwiOiBcIm1vdmllXzNcIixcbiAgXCJjbGFzc19uYW1lXCI6IFwiXCIsXG4gIFwidHlwZVwiOiBcInRvb2xcIixcbiAgXCJjbGFzc191cmxcIjogXCJcIixcbiAgXCJhcmVhX25hbWVcIjogXCJcIixcbiAgXCJhcmVhX3VybFwiOiBcIlwiLFxuICBcInNvcnRfbmFtZVwiOiBcIlwiLFxuICBcInllYXJfbmFtZVwiOiBcIlwiLFxuICBcInNvcnRfdXJsXCI6IFwiXCIsXG4gIFwieWVhcl91cmxcIjogXCJcIixcbiAgXCJmaW5kX3J1bGVcIjogXCJqczpcXG52YXIgZCA9IFtdO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi56OB5Yqb5LqR5pKtXFxcIixcXG4gICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgIGRlc2M6IFxcXCLigJzigJzigJ3igJ08c21hbGw+5Z+65LqO6L+F6Zu3U0RL77yM5pSv5oyB56OB5Yqb44CB55S16am044CB56eN5a2Q44CBRlRQ44CBSFRUUOOAgVJUTVDnrYnlpJrnp43moLzlvI88L3NtYWxsPlxcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgfVxcbn0pO1xcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi5pKt5pS+XFxcIixcXG4gICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJldHVybiBpbnB1dDtcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwiaW5wdXRcXFwiLFxcbiAgICBkZXNjOiBcXFwi6K+36L6T5YWl6ZO+5o6lXFxcIixcXG4gICAgcGljX3VybDogXFxcIlxcXCJcXG59KTtcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIuinhumikeaPkOWPllxcXCIsXFxuICAgIGRlc2M6IFxcXCLnm7TmjqXovpPlhaXnvZHpobXlnLDlnYDljbPlj6/mj5Dlj5bmkq3mlL7jgIHkuIvovb3op4bpopFcXFwiLFxcbiAgICB1cmw6IFxcXCJoaWtlcjovL2VtcHR5XFxcIixcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICB9XFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLmj5Dlj5ZcXFwiLFxcbiAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgcmV0dXJuIFxcXCJ2aWRlbzovL1xcXCIgKyBpbnB1dDtcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwiaW5wdXRcXFwiLFxcbiAgICBkZXNjOiBcXFwi6K+36L6T5YWl572R6aG16ZO+5o6lXFxcIixcXG4gICAgcGljX3VybDogXFxcIlxcXCJcXG59KTtcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIueUteWtkOS5pumYheivu+WZqCh0eHQpXFxcIixcXG4gICAgdXJsOiAkKFxcXCIjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIGxldCByID0gZmV0Y2goXFxcImhpa2VyOi8vaG9tZUDmnKzlnLDotYTmupDnrqHnkIZcXFwiKTtcXG4gICAgICAgIGlmIChyICYmIHIubGVuZ3RoID4gNSkge1xcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9ob21lQOacrOWcsOi1hOa6kOeuoeeQhlxcXCI7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGNvbmZpcm0oe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogXFxcIua4qemmqOaPkOekulxcXCIsXFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFxcXCLlvZPliY3mnKrlr7zlhaXmianlsZXmj5Lku7bvvIzngrnlh7vkuIvmlrnnoa7lrprmjInpkq7lr7zlhaVcXFwiLFxcbiAgICAgICAgICAgICAgICBjb25maXJtOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmZXRjaCgnaGlrZXI6Ly9hc3NldHMvbG9jYWxtYW5hZ2VyLnR4dCcpXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfVxcbiAgICB9KSxcXG4gICAgY29sX3R5cGU6IFxcXCJjYXJkX3BpY18yXFxcIixcXG4gICAgcGljX3VybDogXFxcImhpa2VyOi8vaW1hZ2VzL2hvbWVfcGljNFxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBsb25nQ2xpY2s6IFtcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi5qOA5rWL5pu05pawXFxcIixcXG4gICAgICAgICAgICAgICAganM6IFxcXCIn5rW36ZiU6KeG55WM77+laG9tZV9ydWxlX3VybO+/pWh0dHA6Ly9oaWtlci5ub2tpYS5wcmVzcy9oaWtlcnVsZS9ydWxlbGlzdC5qc29uP2lkPTM1NTknXFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIF1cXG4gICAgfVxcbn0pO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwiZXB1YumYheivu+WZqFxcXCIsXFxuICAgIHVybDogXFxcImZpbGVTZWxlY3Q6Ly9cXFwiICsgJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICBjb25zdCBGaWxlID0gamF2YS5pby5GaWxlO1xcbiAgICAgICAgbGV0IGphdmFJbXBvcnQgPSBuZXcgSmF2YUltcG9ydGVyKCk7XFxuICAgICAgICBqYXZhSW1wb3J0LmltcG9ydFBhY2thZ2UoXFxuICAgICAgICAgICAgUGFja2FnZXMuY29tLmV4YW1wbGUuaGlrZXJ2aWV3LnV0aWxzXFxuICAgICAgICApO1xcbiAgICAgICAgd2l0aChqYXZhSW1wb3J0KSB7XFxuICAgICAgICAgICAgbGV0IGZpbGUgPSBuZXcgRmlsZShpbnB1dCk7XFxuICAgICAgICAgICAgbGV0IG4gPSBmaWxlLmdldE5hbWUoKS5yZXBsYWNlKFxcXCJfZmlsZVNlbGVjdF9cXFwiLCBcXFwiXFxcIik7XFxuICAgICAgICAgICAgbGV0IHAgPSBnZXRQYXRoKFxcXCJoaWtlcjovL2ZpbGVzL2Rvd25sb2FkL1xcXCIgKyBuKTtcXG4gICAgICAgICAgICBwID0gcC5yZXBsYWNlKFxcXCJmaWxlOi8vXFxcIiwgXFxcIlxcXCIpOyAgICAgICAgICAgIFxcbiAgICAgICAgICAgIEZpbGVVdGlsLmNvcHlGaWxlKGZpbGUsIG5ldyBGaWxlKHApKTtcXG4gICAgICAgICAgICBwID0gYmFzZTY0RW5jb2RlKHApOyAgICAgICAgICAgIFxcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9wYWdlL2VwdWIjYXV0b0NhY2hlIz9wPVxcXCIgKyBwICsgXFxcIiZwYWdlVGl0bGU9XFxcIiArIG47XFxuICAgICAgICB9XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcImNhcmRfcGljXzJfMlxcXCIsXFxuICAgIHBpY191cmw6IFxcXCJoaWtlcjovL2ltYWdlcy9ob21lX3BpYzNcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgaW5oZXJpdFRpdGxlOiBmYWxzZVxcbiAgICB9XFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLmnKzlnLDpn7Pop4bpopFcXFwiLFxcbiAgICB1cmw6IFxcXCJoaWtlcjovL2xvY2FsTWVkaWFcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcImNhcmRfcGljXzJfMlxcXCIsXFxuICAgIHBpY191cmw6IFxcXCJoaWtlcjovL2ltYWdlcy9ob21lX3BpYzJcXFwiXFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCJXZWJEYXZcXFwiLFxcbiAgICB1cmw6ICQoXFxcIiNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgbGV0IHIgPSBmZXRjaChcXFwiaGlrZXI6Ly9ob21lQFdlYmRhdlxcXCIpO1xcbiAgICAgICAgbG9nKHIpO1xcbiAgICAgICAgaWYgKHIgJiYgci5sZW5ndGggPiA1KSB7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2hvbWVAV2ViZGF2XFxcIjtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgY29uZmlybSh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi5rip6aao5o+Q56S6XFxcIixcXG4gICAgICAgICAgICAgICAgY29udGVudDogXFxcIuW9k+WJjeacquWvvOWFpeaJqeWxleaPkuS7tu+8jOeCueWHu+S4i+aWueehruWumuaMiemSruWvvOWFpVxcXCIsXFxuICAgICAgICAgICAgICAgIGNvbmZpcm06ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCLmtbfpmJTop4bnlYzlsI/nqIvluo/op4TliJnjgJBXZWJkYXbjgJHvv6Vob21lX3J1bGVfdXJs77+laHR0cDovL2hpa2VyLm5va2lhLnByZXNzL2hpa2VydWxlL3J1bGVsaXN0Lmpzb24/aWQ9NTIxMFxcXCJcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICB9XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfMlxcXCJcXG59KTtcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIuWbvueJh+aPkOWPluWZqFxcXCIsXFxuICAgIHVybDogXFxcImhpa2VyOi8vcGFnZS9waWNcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfMlxcXCIsXFxuICAgIGRlc2M6IFxcXCJcXFwiLFxcbiAgICBwaWNfdXJsOiBcXFwiXFxcIlxcbn0pO1xcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi4oCc4oCc4oCd4oCdPHNwYW4gc3R5bGU9XFxcXFxcXCJjb2xvcjogI2FhYWFhYVxcXFxcXFwiPjxzbWFsbD7mianlsZXmj5Lku7bmnaXoh6rlsI/mo4noooTjgIFMb3lEZ0lr44CBSm9l562JPC9zbWFsbD48L3NwYW4+XFxcIixcXG4gICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgfVxcbn0pO1xcblxcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiBcXFwibGluZV9ibGFua1xcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBpZDogXFxcInFtZ2p4XFxcIlxcbiAgICB9XFxufSk7XFxuXFxuc2V0UmVzdWx0KGQpO1xcbnRyeSB7XFxuICAgIE1ZX1VSTCA9IFxcXCJodHRwczovL2hhaWt1b3NoaWppZS5jbi9cXFwiO1xcbiAgICBsZXQgaHRtbCA9IHJlcXVlc3QoTVlfVVJMKTtcXG4gICAgbGV0IGFyciA9IHBkZmEoaHRtbCwgXFxcIi5wb3N0LWxpc3QmJmxpXFxcIik7XFxuICAgIGFkZEl0ZW1BZnRlcihcXFwicW1nanhcXFwiLCBhcnIubWFwKGl0ID0+IHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgICAgdGl0bGU6IHBkZmgoaXQsIFxcXCJoMy0tdGltZSYmVGV4dFxcXCIpLFxcbiAgICAgICAgICAgIHVybDogXFxcIng1Oi8vXFxcIiArIHBkKGl0LCBcXFwiYSYmaHJlZlxcXCIpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF8xXFxcIixcXG4gICAgICAgICAgICBkZXNjOiBwZGZoKGl0LCBcXFwiLmluZGV4LXRpbWUmJlRleHRcXFwiKSArIFxcXCIgICBcXFwiICsgcGRmaChpdCwgXFxcIi5wb3N0LW1ldGEmJnNwYW4mJlRleHRcXFwiKVxcbiAgICAgICAgfVxcbiAgICB9KSlcXG59IGNhdGNoIChlKSB7fVwiLFxuICBcInNlYXJjaF91cmxcIjogXCJcIixcbiAgXCJncm91cFwiOiBcIuKRoOaOqOiNkFwiLFxuICBcInNlYXJjaEZpbmRcIjogXCJcIixcbiAgXCJkZXRhaWxfY29sX3R5cGVcIjogXCJtb3ZpZV8xXCIsXG4gIFwiZGV0YWlsX2ZpbmRfcnVsZVwiOiBcIlwiLFxuICBcInNkZXRhaWxfY29sX3R5cGVcIjogXCJtb3ZpZV8xXCIsXG4gIFwic2RldGFpbF9maW5kX3J1bGVcIjogXCJcIixcbiAgXCJ1YVwiOiBcIm1vYmlsZVwiLFxuICBcInByZVJ1bGVcIjogXCJcIixcbiAgXCJwYWdlc1wiOiBcIlt7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCJwaWNcXFwiLFxcXCJwYXRoXFxcIjpcXFwicGljXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxudmFyIGQgPSBbXTtcXFxcbmxldCB4ID0gZ2V0TXlWYXIoXFxcXFxcXCJ4XFxcXFxcXCIsIFxcXFxcXFwi5ZCmXFxcXFxcXCIpO1xcXFxubGV0IGRlc2MgPSB4ID09IFxcXFxcXFwi5pivXFxcXFxcXCIgPyBcXFxcXFxcImZsb2F0JiYzMDBcXFxcXFxcIiA6IFxcXFxcXFwiZmxvYXQmJjFcXFxcXFxcIjtcXFxcbmQucHVzaCh7XFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwieDVfd2Vidmlld19zaW5nbGVcXFxcXFxcIixcXFxcbiAgICB1cmw6IFxcXFxcXFwiXFxcXFxcXCIsXFxcXG4gICAgZGVzYzogZGVzYyxcXFxcbiAgICB0aXRsZTogXFxcXFxcXCJcXFxcXFxcIixcXFxcbiAgICBleHRyYToge1xcXFxuICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxcXG4gICAgICAgICAgICBmdW5jdGlvbiBnZXRpbWdzKCkge1xcXFxuICAgICAgICAgICAgICAgIHZhciB2aWRlb0VsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXFxcXFxcXCJpbWdcXFxcXFxcIik7XFxcXG4gICAgICAgICAgICAgICAgaWYgKHZpZGVvRWxlbWVudHMgPT0gbnVsbCkge1xcXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XFxcXG4gICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgIGxldCB1cmxzID0gW107XFxcXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2aWRlb0VsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgIGlmICh2aWRlb0VsZW1lbnRzW2ldLndpZHRoID4gNzAgJiYgdmlkZW9FbGVtZW50c1tpXS5oZWlnaHQgPiA3MCkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3JjID0gdmlkZW9FbGVtZW50c1tpXS5zcmM7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3JjID09IG51bGwgfHwgc3JjLmxlbmd0aCA8IDUgfHwgdXJscy5pbmNsdWRlcyhzcmMpIHx8IHNyYy5pbmRleE9mKFxcXFxcXFwiZGF0YTpcXFxcXFxcIikgPT0gMCkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2coc3JjKTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybHMucHVzaChuZXcgVVJMKHNyYykudG9TdHJpbmcoKSk7XFxcXG4gICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVybHM7XFxcXG4gICAgICAgICAgICB9XFxcXG5cXFxcbiAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrKCkge1xcXFxuICAgICAgICAgICAgICAgIHRyeSB7XFxcXG4gICAgICAgICAgICAgICAgICAgIGxldCB1cmxzID0gZ2V0aW1ncygpO1xcXFxuICAgICAgICAgICAgICAgICAgICAvL2ZiYS5sb2coXFxcXFxcXCJnZXRpbWdz77yaXFxcXFxcXCIgKyB1cmxzLmxlbmd0aCk7XFxcXG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuY2hlY2tlZFVybHMgPT0gbnVsbCkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmNoZWNrZWRVcmxzID0gW107XFxcXG4gICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNoZWNrZWRVcmxzID0gd2luZG93LmNoZWNrZWRVcmxzO1xcXFxuICAgICAgICAgICAgICAgICAgICB1cmxzID0gdXJscy5maWx0ZXIoaXQgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFjaGVja2VkVXJscy5pbmNsdWRlcyhpdClcXFxcbiAgICAgICAgICAgICAgICAgICAgfSk7XFxcXG5cXFxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVybHMubGVuZ3RoID4gMCkge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBpY3MgPSB1cmxzLmZpbHRlcihpdCA9PiBpdCAhPSBudWxsICYmIGl0ICE9IFxcXFxcXFwiXFxcXFxcXCIpXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChpdCA9PiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1ID0gZmJhLmdldEhlYWRlclVybChpdCk7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1dSA9IHUuc3BsaXQoXFxcXFxcXCI7XFxcXFxcXCIpO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGljID0gdTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHV1Lmxlbmd0aCA+IDEpIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1MSA9IHV1WzBdO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHUyID0gdXVbMV0uc2xpY2UoMSwgLTEpLnNwbGl0KFxcXFxcXFwiJiZcXFxcXFxcIik7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVmZXJlciA9IG51bGw7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdWEgPSBudWxsO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNvb2tpZTAgPSBudWxsO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaWkgb2YgdTIpIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXQyID0gaWkuc3BsaXQoXFxcXFxcXCJAXFxcXFxcXCIpO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdDJbMF0gPT0gXFxcXFxcXCJSZWZlcmVyXFxcXFxcXCIpIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlciA9IGl0MlsxXS5yZXBsYWNlKC/vvJvvvJsvZywgXFxcXFxcXCI7XFxcXFxcXCIpO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXQyWzBdID09IFxcXFxcXFwiVXNlci1BZ2VudFxcXFxcXFwiKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVhID0gaXQyWzFdLnJlcGxhY2UoL++8m++8my9nLCBcXFxcXFxcIjtcXFxcXFxcIik7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdDJbMF0gPT0gXFxcXFxcXCJDb29raWVcXFxcXFxcIikge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29raWUwID0gaXQyWzFdLnJlcGxhY2UoL++8m++8my9nLCBcXFxcXFxcIjtcXFxcXFxcIik7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGljID0gdTE7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVmZXJlcikge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpYyA9IHBpYyArIFxcXFxcXFwiQFJlZmVyZXI9XFxcXFxcXCIgKyByZWZlcmVyO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVhKSB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGljID0gcGljICsgXFxcXFxcXCJAVXNlci1BZ2VudD1cXFxcXFxcIiArIHVhO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvb2tpZTApIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWMgPSBwaWMgKyBcXFxcXFxcIkBDb29raWU9XFxcXFxcXCIgKyBjb29raWUwXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG5cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpYyA9IGl0O1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWM6IHBpYyxcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBmYmEubG9nKHBpY3MubGVuZ3RoICsgXFxcXFxcXCJcXFxcXFxcIik7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICBmYmEucGFyc2VMYXp5UnVsZUFzeW5jKCQkJCgpLmxhenlSdWxlKCh1cmxzKSA9PiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2codXJscyk7XFxcXG5cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXJyID0gdXJscy5tYXAoaXQgPT4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFxcXFxcXFwiXFxcXFxcXCIsXFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGl0LnBpYyxcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpY191cmw6IGl0LnBpYyxcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFxcXFxcImNhcmRfcGljXzNcXFxcXFxcIixcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzOiBcXFxcXFxcInBpY3NcXFxcXFxcIlxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkSXRlbUJlZm9yZShcXFxcXFxcInBpY19saW5lXFxcXFxcXCIsIGFycik7XFxcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBwaWNzKSwgZnVuY3Rpb24oKSB7XFxcXG5cXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaXQgb2YgdXJscykge1xcXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5jaGVja2VkVXJscy5wdXNoKGl0KTtcXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXFxcbiAgICAgICAgICAgICAgICAgICAgfVxcXFxuXFxcXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcXFxuICAgICAgICAgICAgICAgICAgICBmYmEubG9nKGUudG9TdHJpbmcoKSk7XFxcXG4gICAgICAgICAgICAgICAgfVxcXFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2ssIDMwMCk7XFxcXG4gICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICBjaGVjaygpO1xcXFxuICAgICAgICB9KVxcXFxuICAgIH1cXFxcbn0pO1xcXFxuXFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6IFxcXFxcXFwi5o+Q5Y+WXFxcXFxcXCIsXFxcXG4gICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcXFxcbiAgICAgICAgcHV0TXlWYXIoXFxcXFxcXCJpXFxcXFxcXCIsIGlucHV0KTtcXFxcbiAgICAgICAgZGVsZXRlSXRlbUJ5Q2xzKFxcXFxcXFwicGljc1xcXFxcXFwiKTtcXFxcbiAgICAgICAgcmVmcmVzaFg1V2ViVmlldyhpbnB1dCk7XFxcXG4gICAgfSksXFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwiaW5wdXRcXFxcXFxcIixcXFxcbiAgICBkZXNjOiBcXFxcXFxcIuivt+i+k+WFpee9kemhteWcsOWdgFxcXFxcXFwiLFxcXFxuICAgIHBpY191cmw6IFxcXFxcXFwiXFxcXFxcXCIsXFxcXG4gICAgZXh0cmE6IHtcXFxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRNeVZhcihcXFxcXFxcImlcXFxcXFxcIiwgXFxcXFxcXCJcXFxcXFxcIilcXFxcbiAgICB9XFxcXG59KTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6IFxcXFxcXFwi5pi+56S6572R6aG157uE5Lu277yaXFxcXFxcXCIgKyB4LFxcXFxuICAgIHVybDogJChcXFxcXFxcIiNub0xvYWRpbmcjXFxcXFxcXCIpLmxhenlSdWxlKCgpID0+IHtcXFxcbiAgICAgICAgbGV0IHggPSBnZXRNeVZhcihcXFxcXFxcInhcXFxcXFxcIiwgXFxcXFxcXCLlkKZcXFxcXFxcIik7XFxcXG4gICAgICAgIGxldCBuZXh0ID0geCA9PSBcXFxcXFxcIuWQplxcXFxcXFwiID8gXFxcXFxcXCLmmK9cXFxcXFxcIiA6IFxcXFxcXFwi5ZCmXFxcXFxcXCI7XFxcXG4gICAgICAgIHB1dE15VmFyKFxcXFxcXFwieFxcXFxcXFwiLCBuZXh0KTtcXFxcbiAgICAgICAgbGV0IGRlc2MgPSB4ID09IFxcXFxcXFwi5ZCmXFxcXFxcXCIgPyBcXFxcXFxcImZsb2F0JiYzMDBcXFxcXFxcIiA6IFxcXFxcXFwiZmxvYXQmJjFcXFxcXFxcIjtcXFxcbiAgICAgICAgdXBkYXRlSXRlbShcXFxcXFxcInBpY190aXBcXFxcXFxcIiwge1xcXFxuICAgICAgICAgICAgdGl0bGU6IFxcXFxcXFwi5pi+56S6572R6aG157uE5Lu277yaXFxcXFxcXCIgKyBuZXh0XFxcXG4gICAgICAgIH0pO1xcXFxuICAgICAgICByZWZyZXNoWDVEZXNjKGRlc2MpO1xcXFxuICAgICAgICByZXR1cm4gXFxcXFxcXCJoaWtlcjovL2VtcHR5XFxcXFxcXCJcXFxcbiAgICB9KSxcXFxcbiAgICBjb2xfdHlwZTogXFxcXFxcXCJ0ZXh0XzFcXFxcXFxcIixcXFxcbiAgICBkZXNjOiBcXFxcXFxcIlxcXFxcXFwiLFxcXFxuICAgIHBpY191cmw6IFxcXFxcXFwiXFxcXFxcXCIsXFxcXG4gICAgZXh0cmE6IHtcXFxcbiAgICAgICAgaWQ6IFxcXFxcXFwicGljX3RpcFxcXFxcXFwiXFxcXG4gICAgfVxcXFxufSk7XFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwibGluZV9ibGFua1xcXFxcXFwiLFxcXFxuICAgIGV4dHJhOiB7XFxcXG4gICAgICAgIGlkOiBcXFxcXFxcInBpY19saW5lXFxcXFxcXCJcXFxcbiAgICB9XFxcXG59KTtcXFxcblxcXFxuc2V0UmVzdWx0KGQpO1xcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJ0ZXh0XzFcXFwiLFxcXCJuYW1lXFxcIjpcXFwiZXB1YlxcXCIsXFxcInBhdGhcXFwiOlxcXCJlcHViXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxudmFyIGQgPSBbXTtcXFxcbmxldCBwYXRoID0gYmFzZTY0RGVjb2RlKGdldFBhcmFtKFxcXFxcXFwicFxcXFxcXFwiKSk7XFxcXG5sb2cocGF0aCk7XFxcXG5sZXQgbWV0YSA9IGdldEVwdWJNZXRhZGF0YShwYXRoKTtcXFxcbi8vc2V0UGFnZVRpdGxlKG1ldGEuZmlyc3RUaXRsZSk7XFxcXG5sZXQgY2hhcHRlcnMgPSBnZXRFcHViQ2hhcHRlcnMocGF0aCk7XFxcXG4vL2xvZyhjaGFwdGVycyk7XFxcXG5mb3IgKGxldCBpdCBvZiBjaGFwdGVycykge1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBpdC50aXRsZSxcXFxcbiAgICAgICAgdXJsOiBcXFxcXFxcImhpa2VyOi8vcGFnZS9jb250ZW50I3JlYWRUaGVtZSMjYXV0b1BhZ2UjXFxcXFxcXCIsXFxcXG4gICAgICAgIGV4dHJhOiB7XFxcXG4gICAgICAgICAgICBocmVmOiBpdC51cmwsXFxcXG4gICAgICAgICAgICBwYXRoOiBwYXRoXFxcXG4gICAgICAgIH1cXFxcbiAgICB9KTtcXFxcbn1cXFxcbnNldFJlc3VsdChkKTtcXFxcblxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJyaWNoX3RleHRcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5q2j5paHXFxcIixcXFwicGF0aFxcXCI6XFxcImNvbnRlbnRcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG52YXIgZCA9IFtdO1xcXFxubGV0IHBhdGggPSBNWV9QQVJBTVMucGF0aDtcXFxcbmxldCB1cmwgPSBNWV9QQVJBTVMuaHJlZjtcXFxcbmxldCBjID0gZ2V0RXB1YkNvbnRlbnQocGF0aCwgdXJsKTtcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6IGMsXFxcXG4gICAgdXJsOiBcXFxcXFxcIlxcXFxcXFwiLFxcXFxufSk7XFxcXG5zZXRSZXN1bHQoZCk7XFxcIn1dXCIsXG4gIFwiaWNvblwiOiBcIlwiLFxuICBcInByb3h5XCI6IFwiXCJcbn0iLCJ0aXRsZSI6IuWlh+WmmeW3peWFt+eusSJ9
Add Comment
Please, Sign In to add comment