Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@91制片厂@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiOTHliLbniYfljoIiLCJhdXRob3IiOiLmtYHoi48iLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyN7XCJfaGFzaFwiOlwiMTcyOTk0ODEyMlwiLFwiYnVuZGxlSWRcIjpcImNvbS5wd2EuenBjcGpcIixcInNvcnRcIjpcImZ5YXJlYVwiLFwibGltaXRcIjpcIjE2XCIsXCJvYXV0aF90eXBlXCI6XCJ3ZWJcIixcIm9hdXRoX2lkXCI6XCI2ZDNjYmJlNjY2NWMwOGVmNGU3ZmU1NGJlYTI3OGJjMVwiLFwibGFuZ3VhZ2VcIjpcInpoXCIsXCJpZFwiOlwiZnljbGFzc1wiLFwicGFnZVwiOlwiZnlwYWdlXCIsXCJ2ZXJzaW9uXCI6XCIxLjcuMFwiLFwidmlhXCI6XCJwd2FcIixcInRva2VuXCI6XCJcIn0iLCJ2ZXJzaW9uIjozLCJjb2xfdHlwZSI6Im1vdmllXzIiLCJjbGFzc19uYW1lIjoi54Ot6Zeo5o6o6I2QJuWNjuivreWOn+WImyblrrbluq3kubEg5LymJuWbveS6p+eyvumAiSbnvZHpu4TlpbPnpZ4m5pel6Z+p5qyn576OJuWKqOa8q+WkqeWggibliLbmnI3mnIDniLEiLCJ0eXBlIjoidmlkZW8iLCJjbGFzc191cmwiOiIxJjE1NSY2OSYxNTYmMTY4JjE1NyYxNTgmNzUiLCJhcmVhX25hbWUiOiLmnIDng60m5pyA5pawIiwiYXJlYV91cmwiOiJob3QmbmV3Iiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOiBcbnZhciBkID0gW107XG5cbmlmIChNWV9QQUdFID09IDEpIHtcbiAgICBkLnB1c2goe8KgwqDCoFxuICAgICAgICB0aXRsZTogXCLmkJzntKJcIixcbiAgICAgICAgwqDCoMKgdXJsOiBcIidoaWtlcjovL3NlYXJjaD9zPScraW5wdXQrJyZydWxlPScrIE1ZX1JVTEUudGl0bGVcIixcbiAgICAgICAgwqDCoMKgZGVzYzogXCLor7fovpPlhaXmkJzntKLlhbPplK7or40o5Yu/6aKR57mB5pCc57SiKVwiLFxuICAgICAgICDCoMKgwqBjb2xfdHlwZTogXCJpbnB1dFwiLFxuICAgIH0pXG59O1xuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XG5cbi8v55Sf5oiQ5pe26Ze05oizXG5mdW5jdGlvbiBnZXRDdXJyZW50VGltZXN0YW1wKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbn1cbi8vbWQ15Yqg5a+GXG5mdW5jdGlvbiBtZDUoc3RyKSB7XG4gICAgcmV0dXJuIENyeXB0b0pTLk1ENShzdHIpLnRvU3RyaW5nKCk7XG59XG4vL3NoYTI1NuWKoOWvhlxuZnVuY3Rpb24gc2hhMjU2KHN0cikge1xuICAgIHJldHVybiBDcnlwdG9KUy5TSEEyNTYoc3RyKS50b1N0cmluZygpO1xufVxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcbi8vdmFyIHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMDsgLy9sb2codGltZXN0YW1wKVxuLy92YXIgdCA9IHRpbWVzdGFtcC50b1N0cmluZygpLnNwbGl0KCcuJylbMF07IC8vbG9nKHQpXG4vL3ZhciBkYXRhMSA9IE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovL2VtcHR5IyMnLCAnJyk7IC8vbG9nKGRhdGExKVxudmFyIGRhdGEgPSBFbmNyeXB0KE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovL2VtcHR5IyMnLCAnJykpOyBcbi8vbG9nKGRhdGEpXG52YXIgc2lnbiA9IG1kNShzaGEyNTYoJ2NsaWVudD1wd2EmZGF0YT0nK2RhdGErJyZ0aW1lc3RhbXA9Jyt0Kyc1NTg5ZDQxZjkyYTU5N2QwMTZiMDM3YWMzN2RiMjQzZCcpKTsgLy9sb2coc2lnbilcbnZhciBib2R5ID0gJ2RhdGE9JytkYXRhKycmc2lnbj0nK3NpZ24rJyZjbGllbnQ9cHdhJnRpbWVzdGFtcD0nK3Q7IFxuLy9sb2coYm9keSlcbnZhciB1cmwgPSAnaHR0cHM6Ly9hcGkyLnBpaWZ2bHkuY29tL2FwaS5waHAvYXBpL212L2xpc3RfY29uc3RydWN0JztcbnZhciBodG1sID0gZmV0Y2godXJsLCB7XG4gICAgaGVhZGVyczoge1xuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xuICAgIH0sXG4gICAgYm9keTogYm9keSxcbiAgICBtZXRob2Q6ICdQT1NUJ1xufSk7IFxuLy9sb2coaHRtbClcblxubGV0IGh0bWwxID0gSlNPTi5wYXJzZShodG1sKS5kYXRhOyBcbi8vbG9nKGh0bWwxKVxubGV0IGh0bWwyID0gRGVjcnlwdChodG1sMSk7IFxuLy9sb2coaHRtbDIpXG5cbnZhciBMYWJlbGIgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLm5hdjtcbi8vbG9nKExhYmVsYilcblxuaWYoTGFiZWxiIT1udWxsKXtcblxubGV0IGFyZWE9IE1ZX0FSRUFfVVJMXG5MYWJlbGIuZm9yRWFjaCgoZGF0YSkgPT4ge1xuICBpZihkYXRhLmNsaWNrZWQ9PW51bGwpe1xyXG4gICAgICAgICAgICBkLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubmFtZSxcclxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcImljb25fMl9yb3VuZFwiLFxuICAgICAgICAgICAgICAgIHVybCA6ICAnaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyMnK2RhdGEubGlua191cmwrJ0BydWxlPWpzOiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9lcmppXCIpJyxcbn0pXG59XG59KVxuXG59O1xudmFyIGxpc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmxpc3Q7XG4vL2xvZyhsaXN0KTtcblxuaWYobGlzdCE9bnVsbCl7XG5saXN0LmZvckVhY2goZGF0YSA9PiB7XG4gIGlmKGRhdGEuY2xpY2tlZD09bnVsbCl7XG4gICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcbiAgICAgICAgICAgIGRlc2M6ICBkYXRhLmNyZWF0ZWRfYXQrJ1xcdFxcdFxcdFxcdCcrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbi82MCkrJzonK3BhcnNlSW50KGRhdGEuZHVyYXRpb24lNjApLFxuICAgICAgICAgICBpbWc6IGRhdGEuY292ZXJfaG9yaXpvbnRhbCArIGxhenksXG4gICAgICAgICAgICB1cmw6IGRhdGEuaWQgKyBsYXp5MVxuICAgICAgICB9KVxufVxuICAgIH0pXG59XG5zZXRSZXN1bHQoZCkiLCJzZWFyY2hfdXJsIjoiaGlrZXI6Ly9lbXB0eSMje1wiX2hhc2hcIjpcIjE3Mjk5NDkzMTRcIixcImJ1bmRsZUlkXCI6XCJjb20ucHdhLnpwY3BqXCIsXCJsaW1pdFwiOlwiMThcIixcIm9hdXRoX3R5cGVcIjpcIndlYlwiLFwib2F1dGhfaWRcIjpcImMyMDE0YmRhOTdjZmY0NWRlNTRiMWFiNDllMjI3ZjEzXCIsXCJsYW5ndWFnZVwiOlwiemhcIixcInBhZ2VcIjpcIjFcIixcInR5cGVcIjpcIjFcIixcInZlcnNpb25cIjpcIjEuNy4wXCIsXCJ3b3JkXCI6XCJjb3NcIixcInZpYVwiOlwicHdhXCIsXCJ0b2tlblwiOlwiXCJ9IiwiZ3JvdXAiOiIjI+W4uOeUqCIsInNlYXJjaEZpbmQiOiJqczogXG52YXIgZCA9IFtdO1xuXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcblxuLy/nlJ/miJDpmo/mnLp1dWlkXG5mdW5jdGlvbiBnZW5lcmF0ZVVVSUQoKSB7XG4gICAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24oYykge1xuICAgICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxNiB8IDA7XG4gICAgICAgIHZhciB2ID0gYyA9PT0gJ3gnID8gciA6IChyICYgMHgzIHwgMHg4KTtcbiAgICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xuICAgIH0pO1xufVxuLy/nlJ/miJDml7bpl7TmiLNcbmZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lc3RhbXAoKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xufVxuLy9tZDXliqDlr4ZcbmZ1bmN0aW9uIG1kNShzdHIpIHtcbiAgICByZXR1cm4gQ3J5cHRvSlMuTUQ1KHN0cikudG9TdHJpbmcoKTtcbn1cbi8vc2hhMjU25Yqg5a+GXG5mdW5jdGlvbiBzaGEyNTYoc3RyKSB7XG4gICAgcmV0dXJuIENyeXB0b0pTLlNIQTI1NihzdHIpLnRvU3RyaW5nKCk7XG59XG52YXIgdCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOyAvL2xvZyh0KVxuLy92YXIgdGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwOyAvL2xvZyh0aW1lc3RhbXApXG4vL3ZhciB0ID0gdGltZXN0YW1wLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVswXTsgLy9sb2codClcbi8vdmFyIGRhdGExID0gTVlfVVJMLnJlcGxhY2UoJ2hpa2VyOi8vZW1wdHkjIycsICcnKTsgLy9sb2coZGF0YTEpXG52YXIgZGF0YSA9IEVuY3J5cHQoTVlfVVJMLnJlcGxhY2UoJ2hpa2VyOi8vZW1wdHkjIycsICcnKSk7IFxuLy9sb2coZGF0YSlcbnZhciBzaWduID0gbWQ1KHNoYTI1NignY2xpZW50PXB3YSZkYXRhPScrZGF0YSsnJnRpbWVzdGFtcD0nK3QrJzU1ODlkNDFmOTJhNTk3ZDAxNmIwMzdhYzM3ZGIyNDNkJykpOyAvL2xvZyhzaWduKVxudmFyIGJvZHkgPSAnZGF0YT0nK2RhdGErJyZzaWduPScrc2lnbisnJmNsaWVudD1wd2EmdGltZXN0YW1wPScrdDsgXG4vL2xvZyhib2R5KVxudmFyIHVybCA9ICdodHRwczovL2FwaTIucGlpZnZseS5jb20vYXBpLnBocC9hcGkvbXYvc2VhcmNoJztcbnZhciBodG1sID0gZmV0Y2godXJsLCB7XG4gICAgaGVhZGVyczoge1xuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xuICAgIH0sXG4gICAgYm9keTogYm9keSxcbiAgICBtZXRob2Q6ICdQT1NUJ1xufSk7IFxuLy9sb2coaHRtbClcblxubGV0IGh0bWwxID0gSlNPTi5wYXJzZShodG1sKS5kYXRhOyBcbi8vbG9nKGh0bWwxKVxubGV0IGh0bWwyID0gRGVjcnlwdChodG1sMSk7IFxubG9nKGh0bWwyKVxuXG52YXIgbGlzdCA9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGE7XG4vL2xvZyhsaXN0KTtcbmlmKGxpc3QhPW51bGwpe1xubGlzdC5mb3JFYWNoKGRhdGEgPT4ge1xuICBpZihkYXRhLmNsaWNrZWQ9PW51bGwpe1xuICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXG4gICAgICAgICAgICBkZXNjOiAgZGF0YS5jcmVhdGVkX2F0KydcXHRcXHRcXHRcXHQnK3BhcnNlSW50KGRhdGEuZHVyYXRpb24vNjApKyc6JytwYXJzZUludChkYXRhLmR1cmF0aW9uJTYwKSxcbiAgICAgICAgICAgaW1nOiBkYXRhLmNvdmVyX2hvcml6b250YWwgKyBsYXp5LFxuICAgICAgICAgICAgdXJsOiBkYXRhLmlkICsgbGF6eTFcbiAgICAgICAgfSlcbn1lbHNle1xucmV0dXJuICd0b2FzdDovL+S4pOasoeaQnOe0oumXtOmalOS4jeiDveWwj+S6jjXnp5InXG59XG4gICAgfSlcbn1cbnNldFJlc3VsdChkKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzIiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IioiLCJ1YSI6Im1vYmlsZSIsInByZVJ1bGUiOiIiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiYWVzXCIsXCJwYXRoXCI6XCJhZXNcIixcInJ1bGVcIjpcIi8v5Yqg6L29Q3J5cHRvSlPlupNcXG5ldmFsKGdldENyeXB0b0pTKCkpXFxuXFxuLy8g6Kej5a+G5Ye95pWwXFxuZnVuY3Rpb24gRGVjcnlwdCh3b3JkKSB7XFxuICAgIGNvbnN0IGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXCIyYWNmN2U5MWU5ODY0NjczXFxcIik7XFxuICAgIGNvbnN0IGl2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoXFxcIjFjMjk4ODJkM2RkZmNmZDZcXFwiKTtcXG4gICAgbGV0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2Uod29yZCk7XFxuICAgIGxldCBkZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoe1xcbiAgICAgICAgY2lwaGVydGV4dDogZW5jcnlwdGVkSGV4U3RyXFxuICAgIH0sIGtleSwge1xcbiAgICAgICAgaXY6IGl2LFxcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczcgLy8g5rOo5oSP6L+Z6YeM5bqU6K+l5pivQ3J5cHRvSlMucGFkLk5vUGFkZGluZ1xcbiAgICB9KTtcXG4gICAgaWYgKGRlY3J5cHQpIHtcXG4gICAgICAgIGxldCBkZWNyeXB0ZWRTdHIgPSBkZWNyeXB0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KTtcXG4gICAgICAgIHJldHVybiBkZWNyeXB0ZWRTdHI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyDop6Plr4blpLHotKXvvIzov5Tlm55udWxs5oiW6ZSZ6K+v5L+h5oGvXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcbn1cXG5cXG4vLyDliqDlr4blh73mlbBcXG5mdW5jdGlvbiBFbmNyeXB0KHBsYWludGV4dCkge1xcbiAgICBjb25zdCBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFwiMmFjZjdlOTFlOTg2NDY3M1xcXCIpO1xcbiAgICBjb25zdCBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXCIxYzI5ODgyZDNkZGZjZmQ2XFxcIik7XFxuICAgIHZhciBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChwbGFpbnRleHQsIGtleSwge1xcbiAgICAgICAgaXY6IGl2LFxcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczcgLy8g5rOo5oSP6L+Z6YeM5bqU6K+l5pivQ3J5cHRvSlMucGFkLk5vUGFkZGluZ1xcbiAgICB9KTtcXG4gICAgdmFyIGNpcGhlcnRleHQgPSBlbmNyeXB0ZWQuY2lwaGVydGV4dC50b1N0cmluZyhDcnlwdG9KUy5lbmMuQmFzZTY0KTtcXG4gICAgcmV0dXJuIGNpcGhlcnRleHQ7XFxufVxcblxcblxcblxcbnZhciBsYXp5ID0gJCgnJykuaW1hZ2UoKCkgPT4ge1xcbmNvbnN0IENyeXB0b1V0aWwgPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vYXNzZXRzL2NyeXB0by1qYXZhLmpzXFxcIik7XFxuXFx0bGV0IGtleSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZVVURjgoXFxcImY1ZDk2NWRmNzUzMzYyNzBcXFwiKTtcXG5cXHRsZXQgaXYgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VVVEY4KFxcXCI5N2I2MDM5NGFiYzJmYmUxXFxcIik7XFxuXFx0bGV0IHRleHREYXRhID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlSW5wdXRTdHJlYW0oaW5wdXQpO1xcblxcdGxldCBlbmNyeXB0ZWQgPSBDcnlwdG9VdGlsLkFFUy5kZWNyeXB0KHRleHREYXRhLCBrZXksIHtcXG4gIFxcdG1vZGU6IFxcXCJBRVMvQ0JDL1BLQ1M3UGFkZGluZ1xcXCIsXFxuXFx0XFx0aXY6IGl2XFxuXFx0fSk7XFxuXFx0cmV0dXJuIGVuY3J5cHRlZC50b0lucHV0U3RyZWFtKCk7XFxufSlcXG5cXG52YXIgbGF6eTEgPSAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XFxuLy9tZDXliqDlr4ZcXG5mdW5jdGlvbiBtZDUoc3RyKSB7XFxuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xcbn1cXG4vL3NoYTI1NuWKoOWvhlxcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcXG4gICAgcmV0dXJuIENyeXB0b0pTLlNIQTI1NihzdHIpLnRvU3RyaW5nKCk7XFxufVxcbmxldCB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpKS50b1N0cmluZygpO1xcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcbmxldCBkYXRhMD0ne1xcXCJfaGFzaFxcXCI6XFxcIjE3Mjk5NDkwMjVcXFwiLFxcXCJidW5kbGVJZFxcXCI6XFxcImNvbS5wd2EuenBjcGpcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwid2ViXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCIxMDU5ODZlYmEwZmNhNGE0ZjQzNmZiZTE3OTgxNWEwZFxcXCIsXFxcImxhbmd1YWdlXFxcIjpcXFwiemhcXFwiLFxcXCJpZFxcXCI6XFxcIicraW5wdXQrJ1xcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIxLjcuMFxcXCIsXFxcInZpYVxcXCI6XFxcInB3YVxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIn0nXFxudmFyIGRhdGEgPSBFbmNyeXB0KGRhdGEwKTsgXFxuLy9sb2coZGF0YSlcXG52YXIgc2lnbiA9IG1kNShzaGEyNTYoJ2NsaWVudD1wd2EmZGF0YT0nK2RhdGErJyZ0aW1lc3RhbXA9Jyt0Kyc1NTg5ZDQxZjkyYTU5N2QwMTZiMDM3YWMzN2RiMjQzZCcpKTsgLy9sb2coc2lnbilcXG52YXIgYm9keSA9ICdkYXRhPScrZGF0YSsnJnNpZ249JytzaWduKycmY2xpZW50PXB3YSZ0aW1lc3RhbXA9Jyt0OyBcXG4vL2xvZyhib2R5KVxcbnZhciB1cmwxID0gJ2h0dHBzOi8vYXBpMi5waWlmdmx5LmNvbS9hcGkucGhwL2FwaS9tdi9nZXREZXRhaWwnO1xcbnZhciB1cmwyID0gZmV0Y2godXJsMSwge1xcbiAgICBoZWFkZXJzOiB7XFxuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xcbiAgICB9LFxcbiAgICBib2R5OiBib2R5LFxcbiAgICBtZXRob2Q6ICdQT1NUJ1xcbn0pOyBcXG5cXG5sZXQgdXJsMyA9IEpTT04ucGFyc2UodXJsMikuZGF0YTsgXFxubGV0IHVybDQgPSBEZWNyeXB0KHVybDMpOyBcXG5sZXQgdXJsNT1KU09OLnBhcnNlKHVybDQpLmRhdGEuZGV0YWlsLnByZXZpZXdfdXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKTtcXG5yZXR1cm4gdXJsNVxcbn0pXFxuZnVuY3Rpb24gc3Ryb25nKGQsIGMpIHtcXG4gICAgcmV0dXJuICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPSMnICsgKGMgfHwgJzAwMDAwMCcpICsgJz4nICsgZCArICc8L2ZvbnQ+PC9zdHJvbmc+JztcXG59XFxuZnVuY3Rpb24gQ2F0ZWdvcnkobGlzdCwgbW9kZSwgZCkge1xcbiAgICBmb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgICAgIHZhciBMaXN0ID0gbGlzdFtpXTtcXG4gICAgICAgIHZhciB0aXRsZSA9IExpc3QudGl0bGU7XFxuICAgICAgICB2YXIgVGl0bGUgPSAoZ2V0TXlWYXIoJ2NvbG9yJywgJy0xJykgPT0gaSkgPyBzdHJvbmcodGl0bGUsICdGRjY2OTknKSA6IHRpdGxlO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogVGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKExpc3QudHlwZSkubGF6eVJ1bGUoKGksIG1vZGUsIExpc3QpID0+IHtcXG4gICAgICAgICAgICAgICAgaWYgKG1vZGUgPT0gMCkge1xcbiAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3R5cGUnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobW9kZSA9PSAxKSB7XFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcigndHlwZVMnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobW9kZSA9PSAyKSB7XFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcigndHlwZVNTJywgaW5wdXQpO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKCdjb2xvcicsIGkpO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICAgICAgICAgIH0sIGksIG1vZGUsIExpc3QpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgICB9KTtcXG4gICAgfVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxuICAgIH0pO1xcbiAgICByZXR1cm4gZDtcXG59XFxuJC5leHBvcnRzLkNhdGVnb3J5ID0gQ2F0ZWdvcnk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLml7bpl7TmiLPovazmjaJcIixcInBhdGhcIjpcIuaXtumXtOaIs+i9rOaNolwiLFwicnVsZVwiOlwiZnVuY3Rpb24gdGltZXN0YW1wVG9UaW1lKHRtLCB0cykge1xcblxcdFxcdHVuZGVmaW5lZFxcblxcdFxcdHZhciBkYXRlID0gbmV3IERhdGUodG0gKiAxMDAwKTsgLy/ml7bpl7TmiLPkuLoxMOS9jemcgCoxMDAw77yM5pe26Ze05oiz5Li6MTPkvY3nmoTor53kuI3pnIDkuZgxMDAwXFxuXFx0XFx0dmFyIFkgPSBkYXRlLmdldEZ1bGxZZWFyKCkgKyAnLSc7XFxuXFx0XFx0dmFyIE0gPSAoZGF0ZS5nZXRNb250aCgpICsgMSA8IDEwID8gJzAnICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpIDogZGF0ZS5nZXRNb250aCgpICsgMSkgKyAnLSc7XFxuXFx0XFx0dmFyIEQgPSBkYXRlLmdldERhdGUoKTtcXG5cXHRcXHR2YXIgaCA9ICcgfCAnICsgZGF0ZS5nZXRIb3VycygpICsgJzonO1xcblxcdFxcdHZhciBtID0gZGF0ZS5nZXRNaW51dGVzKCk7XFxuXFx0XFx0aWYobTwxMCkgbSA9ICcwJyttO1xcblxcdFxcdG0gPSBtICsgJzonXFxuXFx0XFx0dmFyIHMgPSBkYXRlLmdldFNlY29uZHMoKTtcXG5cXHRcXHRpZihzPDEwKSBzID0gJzAnK3M7XFxuXFx0XFx0aWYgKHRzID09IDApIHJldHVybiBZICsgTSArIEQ7XFxuXFx0XFx0aWYgKHRzID09IDEpIHJldHVybiBZICsgTSArIEQgKyBoICsgbSArIHM7XFxuXFx0fVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5LqM57qnXCIsXCJwYXRoXCI6XCJlcmppXCIsXCJydWxlXCI6XCJqczogXFxudmFyIGQgPSBbXTtcXG5cXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG5cXG4vL+eUn+aIkOaXtumXtOaIs1xcbmZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lc3RhbXAoKSB7XFxuICAgIHJldHVybiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcXG59XFxuLy9tZDXliqDlr4ZcXG5mdW5jdGlvbiBtZDUoc3RyKSB7XFxuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xcbn1cXG4vL3NoYTI1NuWKoOWvhlxcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcXG4gICAgcmV0dXJuIENyeXB0b0pTLlNIQTI1NihzdHIpLnRvU3RyaW5nKCk7XFxufVxcblxcbnZhciB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7IC8vbG9nKHQpXFxubGV0IGlkPU1ZX1VSTC5zcGxpdCgnIyMnKVsyXTtcXG5sZXQgcD1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxuXFxudmFyIHR5cGVsaXN0ID0gW3tcXG4gICAgdGl0bGU6ICfmnIDmlrAnLFxcbiAgICB0eXBlOiAnbmV3J1xcbn0sIHtcXG4gICAgdGl0bGU6ICfmnIDng60nLFxcbiAgICB0eXBlOiAnaG90J1xcbn1dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJhZXNcXFwiKS5DYXRlZ29yeSh0eXBlbGlzdCwwLGQpO1xcbn1cXG5cXG5sZXQgZGF0YTA9J3tcXFwiaWRcXFwiOlxcXCInK2lkKydcXFwiLFxcXCJsaW1pdFxcXCI6XFxcIjMwXFxcIixcXFwicGFnZVxcXCI6XFxcIicrcCsnXFxcIixcXFwic29ydFxcXCI6XFxcIicrZ2V0TXlWYXIoJ3R5cGUnLCAnbmV3JykrJ1xcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzIwMTRiZGE5N2NmZjQ1ZGU1NGIxYWI0OWUyMjdmMTNcXFwiLFxcXCJidW5kbGVJZFxcXCI6XFxcImNvbS5wd2EuenBjcGpcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiMy45LjBcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwid2ViXFxcIixcXFwibGFuZ3VhZ2VcXFwiOlxcXCJ6aFxcXCIsXFxcInZpYVxcXCI6XFxcInB3YVxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIn0nXFxuLy9sb2coZGF0YTApXFxudmFyIGRhdGEgPSBFbmNyeXB0KGRhdGEwKTsgXFxuLy9sb2coZGF0YSlcXG52YXIgc2lnbiA9IG1kNShzaGEyNTYoJ2NsaWVudD1wd2EmZGF0YT0nK2RhdGErJyZ0aW1lc3RhbXA9Jyt0Kyc1NTg5ZDQxZjkyYTU5N2QwMTZiMDM3YWMzN2RiMjQzZCcpKTsgLy9sb2coc2lnbilcXG52YXIgYm9keSA9ICdkYXRhPScrZGF0YSsnJnNpZ249JytzaWduKycmY2xpZW50PXB3YSZ0aW1lc3RhbXA9Jyt0OyBcXG4vL2xvZyhib2R5KVxcbnZhciB1cmwgPSAnaHR0cHM6Ly9hcGkyLnBpaWZ2bHkuY29tL2FwaS5waHAvYXBpL212L2xpc3RfY29uc3RydWN0JztcXG52YXIgaHRtbCA9IGZldGNoKHVybCwge1xcbiAgICBoZWFkZXJzOiB7XFxuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xcbiAgICB9LFxcbiAgICBib2R5OiBib2R5LFxcbiAgICBtZXRob2Q6ICdQT1NUJ1xcbn0pOyBcXG4vL2xvZyhodG1sKVxcblxcbmxldCBodG1sMSA9IEpTT04ucGFyc2UoaHRtbCkuZGF0YTsgXFxuLy9sb2coaHRtbDEpXFxubGV0IGh0bWwyID0gRGVjcnlwdChodG1sMSk7IFxcbi8vbG9nKGh0bWwyKVxcblxcbnZhciBsaXN0ID0gSlNPTi5wYXJzZShodG1sMikuZGF0YS5saXN0O1xcbi8vbG9nKGxpc3QpO1xcbmlmKGxpc3QhPW51bGwpe1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgIGlmKGRhdGEuY2xpY2tlZD09bnVsbCl7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6ICBkYXRhLmNyZWF0ZWRfYXQrJ1xcXFx0XFxcXHRcXFxcdFxcXFx0JytwYXJzZUludChkYXRhLmR1cmF0aW9uLzYwKSsnOicrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbiU2MCksXFxuICAgICAgICAgICBpbWc6IGRhdGEuY292ZXJfaG9yaXpvbnRhbCArIGxhenksXFxuICAgICAgICAgICAvLyBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgKyAnQGpzPScgKyBpbWdEZWMoa2V5LCBpdiwgJ0FFUycpLFxcbiAgICAgICAgICAgIHVybDogZGF0YS5pZCArIGxhenkxXFxuICAgICAgICB9KVxcbn1cXG4gICAgfSlcXG59XFxuc2V0UmVzdWx0KGQpXCJ9XSIsImljb24iOiIiLCJwcm94eSI6IiJ9
Add Comment
Please, Sign In to add comment