xiaomianao666

小程序:芒果.cy

Oct 29th, 2023
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@芒果.cy@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi6IqS5p6cLmN5IiwiYXV0aG9yIjoi5L6g5ZCNIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSMjIiwidmVyc2lvbiI6MCwiY29sX3R5cGUiOiJtb3ZpZV8zIiwiY2xhc3NfbmFtZSI6IiIsInR5cGUiOiJ2aWRlbyIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxyXG52YXIgZCA9IFtdO1xyXG5kLnB1c2goe1xyXG4gICAgY29sX3R5cGU6IFwieDVfd2Vidmlld19zaW5nbGVcIixcclxuICAgIHVybDogXCJodHRwczovL20ubWd0di5jb20vY2hhbm5lbC9ob21lL1wiLFxyXG4gICAgZGVzYzogXCJmbG9hdCYmMTAwJVwiLFxyXG4gICAgZXh0cmE6IHtcclxuICAgICAgICBjYW5CYWNrOiB0cnVlLFxyXG4gICAgICAgIHVybEludGVyY2VwdG9yOiAkLnRvU3RyaW5nKChNWV9SVUxFKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIOaLpuaIqu+8jOi/m+WFpeWOn+eUn+S6jOe6p1xyXG4gICAgICAgICAgICBpZiAoaW5wdXQubWF0Y2goL1xcL2JcXC8vKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICQudG9TdHJpbmcoKHVybCwgTVlfUlVMRSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZiYS5vcGVuKEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcnVsZTogTVlfUlVMRS50aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflvbHniYfor6bmg4UnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cDogTVlfUlVMRS5ncm91cCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlUnVsZTogTVlfUlVMRS5wcmVSdWxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlczogTVlfUlVMRS5wYWdlcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmwgKyAnI2ltbWVyc2l2ZVRoZW1lIycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbmRSdWxlOiBNWV9SVUxFLmRldGFpbF9maW5kX3J1bGVcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9LCBpbnB1dCwgTVlfUlVMRSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyDmi6bmiKphcHDkuIvovb3pobXpnaLigJTigJTpnZ7nvZHpobXku6PnoIFcclxuICAgICAgICAgICAgaWYgKGlucHV0LmluY2x1ZGVzKCdkb3dubG9hZCcpKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9LCBNWV9SVUxFKSxcclxuICAgICAgICBibG9ja1J1bGVzOiBbJyddLFxyXG4gICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcclxuICAgICAgICAgICAgdmFyIHRva2VuX3RpbWVyID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIHRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIOmakOiXj+WNj+iurlxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwic2VjcmV0LXdyYXBcIilbMF0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInNlY3JldC13cmFwXCIpWzBdLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyDmqKHmi5/oipLmnpzlrpjnvZFKU1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyDmqKHmi5/ngrnlh7vljY/orq5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInN1cmVcIilbMF0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInN1cmVcIilbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ0bi5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xpY2snKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIOaooeaLn+eCueWHu+e7p+e7rea1j+iniOeyvuW9qeWGheWuueKAlOKAlOWmguaenOaciSfnu6fnu63kvb/nlKjmtY/op4jlmagn55qE6K+dKOS4jeefpemBk+acieayoeacieaViClcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudC5tYXRjaCgv57un57ut5L2/55So5rWP6KeI5ZmoLykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIk9wZW5BcHBEaWFsb2dfY29udGFpbmVyX19Jblp3OFwiKVswXS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIOmakOiXj+apmem7hEFQUOW8ueeql1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiT3BlbkFwcFBlbmRhbnRfY29udGFpbmVyX19yNWZiYlwiKVswXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiT3BlbkFwcFBlbmRhbnRfY29udGFpbmVyX19yNWZiYlwiKVswXS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIOmakOiXj+eZu+W9leOAgeWOhuWPsuKAlOKAlOWBtuacieaLpuaIquWkseaViFxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwibGlzdGljb25cIilbMF0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImxpc3RpY29uXCIpWzBdLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g6ZqQ6JeP5bm/5ZGK5qCPXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJkaXZbZ3JhcGhpY3hjeT0nJ11cIikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImRpdltncmFwaGljeGN5PScnXVwiKS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSwgMTAwKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0b2tlbl90aW1lcigpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGpzTG9hZGluZ0luamVjdDogdHJ1ZSxcclxuICAgICAgICAvLyDmgqzmta7ll4XmjqLpg6jliIbnn63op4bpopFcclxuICAgICAgICBmbG9hdFZpZGVvOiB0cnVlLFxyXG4gICAgICAgIHVhOiBNT0JJTEVfVUFcclxuICAgIH1cclxufSk7XHJcbnNldFJlc3VsdChkKTsiLCJzZWFyY2hfdXJsIjoiaGlrZXI6Ly9lbXB0eSMjKiojI2Z5cGFnZSIsImdyb3VwIjoi4pGg5LqU5aSnIiwic2VhcmNoRmluZCI6ImpzOlxuXG5NWV9VUkwgPSBNWV9VUkwuc3BsaXQoJyMjJyk7XG5cbmxldCBzZWF3b3JkID0gTVlfVVJMWzFdO1xuXG52YXIgZCA9IFtdO1xuXG52YXIgcmVzID0ge307XG5cbmxpc3QgPSBKU09OLnBhcnNlKGZldGNoKFwiaHR0cHM6Ly9tb2JpbGVzby5iei5tZ3R2LmNvbS9tc2l0ZS9zZWFyY2gvdjI/cT1cIiArIHNlYXdvcmQgK1wiJnBjPTMwJnBuPTEmc29ydD0wJnR5PTAmZHU9MCZwdD0wJmNvcnI9MSZhYnJvYWQ9MCZfc3VwcG9ydD0xMDAwMDAwMDAwMDAwMDAwMCZjYWxsYmFjaz1qc29ucF9sdGR5cWQycGNmc25ibnJcIix7XG5cbsKgIMKgIGhlYWRlcnM6IHtcblxuwqAgwqAgwqAgwqAgJ1VzZXItQWdlbnQnOiBQQ19VQVxuXG7CoCDCoCB9LFxuXG7CoCDCoCBtZXRob2Q6ICdHRVQnXG5cbn0pLm1hdGNoKC97W1xcU1xcc10rfS8pKS5kYXRhLmNvbnRlbnRzO1xuXG5saXN0LmZvckVhY2gobW92aWUgPT4ge1xuXG7CoCDCoCBpZiAobW92aWUubmFtZT09J+Wqkui1hOWktOmDqCcpIHtcblxuwqAgwqAgwqAgwqAgZnJvbT0n6IqS5p6cVFYnO1xuXG7CoCDCoCDCoCDCoCBpZiAobW92aWUuZGF0YVswXS51cmwubWF0Y2goL3FxLykpIHtcblxuwqAgwqAgwqAgwqAgwqAgwqAgZnJvbT0n6IW+6K6vJztcblxuwqAgwqAgwqAgwqAgfWVsc2UgaWYobW92aWUuZGF0YVswXS51cmwubWF0Y2goL3FpeWkvKSl7XG5cbsKgIMKgIMKgIMKgIMKgIMKgIGZyb209J+eIseWlh+iJuic7XG5cbsKgIMKgIMKgIMKgIH1lbHNlIGlmKG1vdmllLmRhdGFbMF0udXJsLm1hdGNoKC95b3VrdS8pKXtcblxuwqAgwqAgwqAgwqAgwqAgwqAgZnJvbT0n5LyY6YW3JztcblxuwqAgwqAgwqAgwqAgfWVsc2UgaWYobW92aWUuZGF0YVswXS51cmwubWF0Y2goL2JpbGkvKSl7XG5cbsKgIMKgIMKgIMKgIMKgIMKgIGZyb209J+WTlOWTqSc7XG5cbsKgIMKgIMKgIMKgIH1cblxuwqAgwqAgwqAgwqAgZC5wdXNoKHtcblxuwqAgwqAgwqAgwqAgwqAgwqAgdGl0bGU6IG1vdmllLmRhdGFbMF0udGl0bGUucmVwbGFjZSgvKDxCPnw8XFwvQj4pL2csJycpLFxuXG7CoCDCoCDCoCDCoCDCoCDCoCBpbWc6IG1vdmllLmRhdGFbMF0uaW1nKyBcIkBSZWZlcmVyPVwiLFxuXG7CoCDCoCDCoCDCoCDCoCDCoCB1cmw6IChmcm9tPT0n6IqS5p6cVFYnP1wiaHR0cHM6Ly93d3cubWd0di5jb21cIittb3ZpZS5kYXRhWzBdLnVybDptb3ZpZS5kYXRhWzBdLnVybC5yZXBsYWNlKCdtJywnd3d3JykpICsgXCIjaW1tZXJzaXZlVGhlbWUjXCIsXG5cbsKgIMKgIMKgIMKgIMKgIMKgIGNvbnRlbnQ6bW92aWUuZGF0YVswXS5kZXNjWzBdK1wiXFxuXCIrbW92aWUuZGF0YVswXS5kZXNjWzFdLFxuXG7CoCDCoCDCoCDCoCDCoCDCoCBkZXNjOlwi4q2Q5p2l5rqQ77yaXCIrZnJvbVxuXG7CoCDCoCDCoCDCoCB9KTtcblxuwqAgwqAgfVxuXG59KTtcblxucmVzLmRhdGEgPSBkO1xuXG5zZXRTZWFyY2hSZXN1bHQocmVzKTtcblxuIiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiJqczpcblxuTVlfVVJMID0gTVlfVVJMLnNwbGl0KFwiI1wiKVswXTtcblxuaWYgKE1ZX1VSTC5tYXRjaCgvcWl5aS8pKSB7XG5cbsKgIMKgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvcWl5aT9ydWxlPeeIseWlh+iJui5jeScpKS5ydWxlKTtcblxufWVsc2UgaWYoTVlfVVJMLm1hdGNoKC95b3VrdS8pKXtcblxuwqAgwqAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS95b3VrdT9ydWxlPeS8mOmFty5jeScpKS5ydWxlKTtcblxufWVsc2UgaWYoTVlfVVJMLm1hdGNoKC9xcS8pKXtcblxuwqAgwqAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9xcT9ydWxlPeiFvuiury5jeScpKS5ydWxlKTtcblxufWVsc2UgaWYoTVlfVVJMLm1hdGNoKC9tZ3R2Lykpe1xuXG7CoCDCoCBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL21ndHY/cnVsZT3oipLmnpwuY3knKSkucnVsZSk7XG5cbn1lbHNlIGlmKE1ZX1VSTC5tYXRjaCgvYmlsaS8pKXtcblxuwqAgwqAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9iaWxpP3J1bGU95ZOU5ZOpLmN5JykpLnJ1bGUpO1xuXG59XG5cblxuIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IioiLCJ1YSI6InBjIiwicHJlUnVsZSI6IiIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLoipLmnpzkuoznuqdcIixcInBhdGhcIjpcIm1ndHZcIixcInJ1bGVcIjpcImpzOlxcbi8vIOaVsOaNruWumuS9jVxcbnZhciBkID0gW107XFxuTVlfVVJMID0gTVlfVVJMLnNwbGl0KFxcXCIjXFxcIilbMF07XFxuaHRtbCA9IHJlcXVlc3QoTVlfVVJMKTtcXG50cnkge1xcbiAgICB2aWQgPSBNWV9VUkwuc3BsaXQoJy8nKVs1XS5zcGxpdCgnLicpWzBdO1xcbn0gY2F0Y2ggKGUpIHtcXG4gICAgbGluayA9IGh0bWwubWF0Y2goL3dpbmRvdy5sb2NhdGlvbiA9IFxcXCJbXFxcXFNcXFxcc10rKD89XFxcIiBcXFxcKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoKS8pWzBdLnJlcGxhY2UoJ3dpbmRvdy5sb2NhdGlvbiA9IFxcXCInLCAnJyk7XFxuICAgIHZpZCA9IGxpbmsuc3BsaXQoJy8nKVs1XS5zcGxpdCgnLicpWzBdO1xcbiAgICBodG1sID0gcmVxdWVzdChsaW5rKTtcXG59XFxudHJ5IHtcXG4gICAg57G75Z6LID0gcGRmaChodG1sLCAnLmRlc2MmJi50MywwJiZUZXh0Jykuc3BsaXQoJ++8micpWzFdO1xcbn0gY2F0Y2ggKGUpIHtcXG4gICAg57G75Z6LID0gJyc7XFxufVxcbnRyeSB7XFxuICAgIOWcsOWMuiA9IHBkZmgoaHRtbCwgJy5kZXNjJiYudDMsMSYmVGV4dCcpLnNwbGl0KCfvvJonKVsxXTtcXG59IGNhdGNoIChlKSB7XFxuICAgIOWcsOWMuiA9ICcnO1xcbn1cXG50cnkge1xcbiAgICBpZiAocGRmaChodG1sLCAnLmRlc2MmJi50MywyJiZUZXh0JykubWF0Y2goL+eUteinhuWPsC8pKSB7XFxuICAgICAgICDnlLXop4blj7AgPSBwZGZoKGh0bWwsICcuZGVzYyYmLnQzLDImJlRleHQnKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIOeUteinhuWPsCA9ICcnO1xcbiAgICB9XFxufSBjYXRjaCAoZSkge1xcbiAgICDnlLXop4blj7AgPSAnJztcXG59XFxu566A5LuLID0gcGRmaChodG1sLCAnLmRlc2MmJnNwYW4sLTEmJlRleHQnKTtcXG7liafpm4bor6bmg4UgPSBodG1sLm1hdGNoKC9cXFwidmlkZW9pbmZvXFxcIjpbXFxcXFNcXFxcc10rKD89LFxcXCJmdWxsVmlkZW9MaXN0SW5mb1xcXCIpLylbMF0ucmVwbGFjZSgnXFxcInZpZGVvaW5mb1xcXCI6JywgJycpO1xcbuabtOaWsOeKtuaAgSA9IEpTT04ucGFyc2Uo5Ymn6ZuG6K+m5oOFKS51cGRhdGVJbmZvXFxu5bCB6Z2iID0gSlNPTi5wYXJzZSjliafpm4bor6bmg4UpLmNvbEltYWdlLnJlcGxhY2UoJ1xcXFx1MDAyRicsICcvJykuc3BsaXQoJy5qcGcnKVswXSArIFxcXCIuanBnQFJlZmVyZXI9XFxcIjtcXG5zZXRQYWdlUGljVXJsKOWwgemdoik7XFxuLy8g6I635Y+W6aaW6aG15L+h5oGv77yIMzDkuIDpobXvvIzlj6/og73lpJrkuo4zMO+8jOWboOS4uueVquWklu+8jHNpemXkuI3lu7rorq7kv67mlLnkvJrlh7rplJnvvIlcXG7liafpm4bkv6Hmga8gPSBKU09OLnBhcnNlKGZldGNoKGBodHRwczovL3Bjd2ViLmFwaS5tZ3R2LmNvbS9lcGlzb2RlL2xpc3Q/X3N1cHBvcnQ9MTAwMDAwMDAmdmVyc2lvbj01LjUuMzUmdmlkZW9faWQ9JHt2aWR9JnBhZ2U9MSZzaXplPTMwJmFsbG93ZWRSQz0xJl9zdXBwb3J0PTEwMDAwMDAwYCwge1xcbiAgICBoZWFkZXJzOiB7XFxuICAgICAgICAnVXNlci1BZ2VudCc6IFBDX1VBXFxuICAgIH0sXFxuICAgIHJlZmVycmVyOiBNWV9VUkwsXFxuICAgIG1ldGhvZDogJ0dFVCdcXG59KSkuZGF0YTtcXG7lvbHniYflkI3np7AgPSDliafpm4bkv6Hmga8uaW5mby50aXRsZTtcXG5zZXRQYWdlVGl0bGUo5b2x54mH5ZCN56ewKTtcXG4vLyDmkq3lh7rml7bpl7Q9cGRmaChodG1sLCcuZGVzYyYmLnQzLDMmJlRleHQnKTvnlKhqc29u5o6l5Y+j6I635Y+W5q+U6L6D57K+5YeGXFxu6L+95pu05pel5Y6GID0g5Ymn6ZuG5L+h5oGvLmluZm8uZGVzYztcXG5pZiAo6L+95pu05pel5Y6GID09ICdcXFxcclxcXFxuJyB8fCDov73mm7Tml6XljoYgPT0gJycpIHtcXG4gICAg6L+95pu05pel5Y6GID0gJ+iOt+WPluS4jeWIsOabtOaWsOiuoeWIkn4nO1xcbn1cXG7liafpm4bliJfooaggPSDliafpm4bkv6Hmga8ubGlzdFxcbuefreiuryA9IFxcXCLirZBcXFwiICsg57G75Z6LICsgXFxcIuKtkFxcXCIgKyAnXFxcXHQnICsg5Zyw5Yy6ICsgJ1xcXFxuJyArIOeUteinhuWPsCArICdcXFxcbicgKyDmm7TmlrDnirbmgIE7XFxuLy8g5YmN572u5Y+C5pWw5ZKM6aKE5aSE55CGLS0tXFxudmFyIGxhenkgPSAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgIGV2YWwoZmV0Y2goJ2hpa2VyOi8vZmlsZXMvY2FjaGUvUGFyc2VfRG4uanMnLCB7fSkpO1xcbiAgICByZXR1cm4gYXl0bVBhcnNlKGlucHV0KVxcbn0pO1xcbnZhciBDb2xvciA9IFxcXCIjMTlCODlEXFxcIjtcXG4vLyB2YXIg5q+P6aG16ZuG5pWwID0gMjA76IqS5p6c5bCP56iL5bqP5LiN6IO95L+u5pS56aG16ZuG5pWwfu+8gVxcbnZhciDmkJzntKLmqKHlvI8gPSAn5YiG57uEJztcXG52YXIg6LCD55So5ZCN56ewID0gJ+eugOW9sSc7XFxucHV0TXlWYXIoJ+aKmOWPoCcsICflhbMnKTtcXG5wdXRNeVZhcign5pel5Y6GJywgJ+WFsycpO1xcbnB1dE15VmFyKCdsYXp5JywgbGF6eSk7XFxucHV0TXlWYXIoJ+acrOmhtemVv+W6picsIOWJp+mbhuWIl+ihqC5sZW5ndGgpO1xcbnB1dE15VmFyKCfliafpm4bkv6Hmga8nLCDliafpm4bkv6Hmga8pO1xcbi8vIOa4hemZpOWPmOmHj1xcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKSA9PiB7XFxuICAgIGNsZWFyTXlWYXIoJ+WIhumbhui1tycpO1xcbiAgICBjbGVhck15VmFyKCfliIbpm4bnu4gnKTtcXG4gICAgY2xlYXJNeVZhcignbGF6eScpO1xcbiAgICBjbGVhck15VmFyKCfliafpm4bkv6Hmga8nKTtcXG59KSlcXG4vLyDorr7nva7liqjmgIHmnIDmlrDnq6DoioJcXG5zZXRMYXN0Q2hhcHRlclJ1bGUoJ2pzOicgKyAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9nZXRVcGRhdGU/cnVsZT3oipLmnpwuY3knKSkucnVsZSk7XFxufSkpO1xcbi8vIOmhtemdouWGheWuueato+aWhy0tLVxcbi8vIOWfuuacrOS/oeaBr+aooeWdl1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiDnn63orq8sXFxuICAgIGRlc2M6IOeugOS7iy5zdWJzdHJpbmcoMCwgNDUpICsgJ+KAmOKAmOKAmeKAmeKApjxmb250IGNvbG9yPVxcXCIjMUMxQzFDXFxcIj7or6bmg4U8L2ZvbnQ+JyxcXG4gICAgaW1nOiDlsIHpnaIsXFxuICAgIHVybDogJCgpLnJ1bGUoKGh0bWwsIOeugOS7iykgPT4ge1xcbiAgICAgICAgcmVzID0ge307XFxuICAgICAgICB2YXIgZCA9IFtdO1xcbiAgICAgICAg5a+85ryUID0gcGRmaChodG1sLCAnLmRlc2MmJi50MywtMiYmVGV4dCcpO1xcbiAgICAgICAg5ryU5ZGYID0gcGRmaChodG1sLCAnLmRlc2MmJi50MywtMSYmVGV4dCcpO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+W9seeJh+eugOS7i++8micgKyAnXFxcXG5cXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdCcgKyDlr7zmvJQgKyAnXFxcXG5cXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdCcgKyDmvJTlkZggKyAnXFxcXG5cXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdCcgKyDnroDku4ssXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdsb25nX3RleHQnXFxuICAgICAgICB9KTtcXG4gICAgICAgIHJlcy5kYXRhID0gZDtcXG4gICAgICAgIHNldEhvbWVSZXN1bHQocmVzKTtcXG4gICAgfSwgaHRtbCwg566A5LuLKSxcXG4gICAgY29sX3R5cGU6ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyJyxcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGxvbmdDbGljazogW3tcXG4gICAgICAgICAgICB0aXRsZTogJ+mihOWRiuOAgeiKsee1ruW8gOWFsycsIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgaWYgKGdldEl0ZW0oJ3ByZXZpZXdTd2l0Y2gnLCAnZm9sZCcpID09ICdmb2xkJykge1xcbiAgICAgICAgICAgICAgICAgICAgc2V0SXRlbSgncHJldmlld1N3aXRjaCcsICdvcGVuJyk7XFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKTtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/pooTlkYrlt7Lnu4/liIfmjaLkuLrlsZXnpLp+XFxcIjtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIHNldEl0ZW0oJ3ByZXZpZXdTd2l0Y2gnLCAnZm9sZCcpO1xcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSk7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v6aKE5ZGK5LiN5YaN5bGV56S6flxcXCI7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIHRpdGxlOiAnZG3nm5LlrZAnLCBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL3NldHRpbmcjbm9IaXN0b3J5Iz9ydWxlPWRt55uS5a2QJztcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfV1cXG4gICAgfVxcbn0pO1xcbi8vIOi/veWJp+aXpeWOhuaooeWdl1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250Pjxmb250IGNvbG9yPVxcXCIjMDk4QUMxXFxcIj7wn5OF6L+95YmnPC9mb250PicgKyAnPC9zbWFsbD4nLFxcbiAgICB1cmw6ICQoJyNub0xvYWRpbmcjI25vSGlzdG9yeSMnKS5sYXp5UnVsZSgo5pu05paw54q25oCBLCDov73mm7Tml6XljoYpID0+IHtcXG4gICAgICAgIGlmIChnZXRNeVZhcign5pel5Y6GJywgJ+WFsycpID09ICflvIAnKSB7XFxuICAgICAgICAgICAgZGVsZXRlSXRlbSgn6L+95Ymn5pel5Y6GJyk7XFxuICAgICAgICAgICAgcHV0TXlWYXIoJ+aXpeWOhicsICflhbMnKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgYWRkSXRlbUFmdGVyKCfmmL7npLrmqKHlvI8nLCB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn6L+95Ymn5pel5Y6G77yaJyArICdcXFxcblxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0JyArIOabtOaWsOeKtuaAgSArICdcXFxcblxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0JyArIOi/veabtOaXpeWOhixcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdsb25nX3RleHQnLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICfov73liafml6XljoYnXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICBwdXRNeVZhcign5pel5Y6GJywgJ+W8gCcpO1xcbiAgICAgICAgfVxcbiAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3suWIh+aNouaXpeWOhuS4ujonICsgZ2V0TXlWYXIoJ+aXpeWOhicsICflvIAnKVxcbiAgICB9LCDmm7TmlrDnirbmgIEsIOi/veabtOaXpeWOhiksXFxuICAgIGNvbF90eXBlOiAndGV4dF80J1xcbn0pO1xcbi8vIOixhueTo+W9seiur+aooeWdl1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjMDk4QUMxXFxcIj7wn42D6LGG55OjPC9mb250Pjwvc21hbGw+JyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9zZWFyY2g/cz0nICsg5b2x54mH5ZCN56ewICsgJyZydWxlPemdkuixhicsXFxuICAgIGNvbF90eXBlOiAndGV4dF80J1xcbn0pO1xcbi8vIOeyvuW9qee7p+e7reaooeWdl++8iOWRqOi+uSvns7vliJfvvIlcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxzbWFsbD48Zm9udCBjb2xvcj1cXFwiIzA5OEFDMVxcXCI+4YOm57K+5b2pPC9mb250Pjwvc21hbGw+JyxcXG4gICAgdXJsOiAkKCcjbm9Mb2FkaW5nIyNub0hpc3RvcnkjJykubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAg5ZGo6L655pWw57uEID0gW1xcXCLwn6Sj6Iqx57WuXFxcIiwgXFxcIvCfj7fvuI/ns7vliJdcXFwiXTtcXG4gICAgICAgIHJldHVybiAkKOWRqOi+ueaVsOe7hCwgMSwgJ+GDpueyvuW9qee7p+e7rScpLnNlbGVjdCgoKSA9PiB7XFxuICAgICAgICAgICAg5Ymn6ZuG5L+h5oGvID0gSlNPTi5wYXJzZShnZXRNeVZhcign5Ymn6ZuG5L+h5oGvJykpO1xcbiAgICAgICAgICAgIGxhenkgPSBnZXRNeVZhcignbGF6eScpO1xcbiAgICAgICAgICAgIGlmIChpbnB1dCA9PT0gJ/CfpKPoirHnta4nKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiAkKCkucnVsZSgo5Ymn6ZuG5L+h5oGvLCBsYXp5KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICByZXMgPSB7fTtcXG4gICAgICAgICAgICAgICAgICAgIGQgPSBbXTtcXG4gICAgICAgICAgICAgICAgICAgIHNldFBhZ2VUaXRsZSgn8J+ko+iKsee1ruWIl+ihqCcpO1xcbiAgICAgICAgICAgICAgICAgICAg6Iqx57Wu5YiX6KGoID0g5Ymn6ZuG5L+h5oGvLnNob3J0O1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKOiKsee1ruWIl+ihqCA9PSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPGJpZz48Zm9udCBjb2xvcj1cXFwicmVkXFxcIj7irZDor6XlvbHniYfmsqHmnInnm7jlhbPoirHnta7lk6Z+4q2QPC9mb250PjwvYmlnPicsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJ3RvYXN0Oi8v6YO95rKh5pyJ77yM77yM5L2g54K55ZWl5ZGAficsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICfmlazor7fmnJ/lvoV+JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAg6Iqx57Wu5YiX6KGoLmZvckVhY2gobGlzdCA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGxpc3QudDMsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZzogbGlzdC5pbWcuc3BsaXQoJy5qcGcnKVswXSArIFxcXCIuanBnQFJlZmVyZXI9XFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly93d3cubWd0di5jb20nICsgbGlzdC51cmwgKyBsYXp5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiBsaXN0LnQyLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfbGVmdF9waWMnXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhID0gZDtcXG4gICAgICAgICAgICAgICAgICAgIHNldEhvbWVSZXN1bHQocmVzKTtcXG4gICAgICAgICAgICAgICAgfSwg5Ymn6ZuG5L+h5oGvLCBsYXp5KVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQgPT09ICfwn4+377iP57O75YiXJykge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJCgpLnJ1bGUoKOWJp+mbhuS/oeaBrykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgcmVzID0ge307XFxuICAgICAgICAgICAgICAgICAgICBkID0gW107XFxuICAgICAgICAgICAgICAgICAgICBzZXRQYWdlVGl0bGUoJ/Cfj7fvuI/nm7jlhbPns7vliJcnKTtcXG4gICAgICAgICAgICAgICAgICAgIOezu+WIl+WIl+ihqCA9IOWJp+mbhuS/oeaBry5zZXJpZXM7XFxuICAgICAgICAgICAgICAgICAgICBpZiAo57O75YiX5YiX6KGoID09ICcnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8YmlnPjxmb250IGNvbG9yPVxcXCJyZWRcXFwiPuKtkOiKkuaenOihqOekuuivpeW9seeJh+aaguaXoOezu+WIl+aVsOaNrn7irZA8L2ZvbnQ+PC9iaWc+JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAndG9hc3Q6Ly/pg73msqHmnInvvIzvvIzkvaDngrnllaXlkYB+JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogJ+aVrOivt+acn+W+hX4nLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIOezu+WIl+WIl+ihqC5mb3JFYWNoKGxpc3QgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8YmlnPjxmb250IGNvbG9yPVxcXCJibHVlXFxcIj4nICsgbGlzdC50MSArICc8L2ZvbnQ+PC9iaWc+JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZzogbGlzdC5pbWcuc3BsaXQoJy5qcGcnKVswXSArIFxcXCIuanBnQFJlZmVyZXI9XFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMjbm9IaXN0b3J5IycpLmxhenlSdWxlKChsaW5rKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQoJ2hpa2VyOi8vZW1wdHkjaW1tZXJzaXZlVGhlbWUjJykucnVsZSgobGluaykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sID0gcmVxdWVzdChsaW5rKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rID0gaHRtbC5tYXRjaCgvd2luZG93LmxvY2F0aW9uID0gXFxcIltcXFxcU1xcXFxzXSsoPz1cXFwiIFxcXFwrIHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLylbMF0ucmVwbGFjZSgnd2luZG93LmxvY2F0aW9uID0gXFxcIicsICcnKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVlfVVJMID0gbGluayArICcjaW1tZXJzaXZlVGhlbWUjJztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9tZ3R2P3J1bGU96IqS5p6cLmN5JykpLnJ1bGUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGxpbmspXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBsaXN0LnVybCksXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiBcXFwi4q2Q5pKt5pS+6YeP4q2QXFxcXHRcXFwiICsgbGlzdC5wbGF5Y250LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8xX2xlZnRfcGljJ1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhID0gZDtcXG4gICAgICAgICAgICAgICAgICAgIHNldEhvbWVSZXN1bHQocmVzKTtcXG4gICAgICAgICAgICAgICAgfSwg5Ymn6ZuG5L+h5oGvKVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfNCcsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBpZDogJ+eyvuW9qee7p+e7rSdcXG4gICAgfVxcbn0pO1xcbi8vIOaYvuekuuaooeW8j+abtOaUueaooeWdl1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjMDk4QUMxXFxcIj7wn5SDJyArIGdldEl0ZW0oJ+aooeW8jycsICflj4zovrknKSArICc8L2ZvbnQ+PC9zbWFsbD4nLFxcbiAgICB1cmw6ICQoJyNub0xvYWRpbmcjI25vSGlzdG9yeSMnKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICBpZiAoZ2V0SXRlbSgn5qih5byPJywgJ+WPjOi+uScpID09ICfliJfooagnKSB7XFxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8PSBnZXRNeVZhcign5pys6aG16ZW/5bqmJyk7IGluZGV4KyspIHtcXG4gICAgICAgICAgICAgICAgdXBkYXRlSXRlbSgnbWd0dicgKyBpbmRleCwge1xcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8yJyxcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIHNldEl0ZW0oJ+aooeW8jycsICflj4zovrknKVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDw9IGdldE15VmFyKCfmnKzpobXplb/luqYnKTsgaW5kZXgrKykge1xcbiAgICAgICAgICAgICAgICB1cGRhdGVJdGVtKCdtZ3R2JyArIGluZGV4LCB7XFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfbGVmdF9waWMnLFxcbiAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgc2V0SXRlbSgn5qih5byPJywgJ+WIl+ihqCcpXFxuICAgICAgICB9XFxuICAgICAgICB1cGRhdGVJdGVtKCfmmL7npLrmqKHlvI8nLCB7XFxuICAgICAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8c21hbGw+PGZvbnQgY29sb3I9XFxcIiMwOThBQzFcXFwiPvCflIMnICsgZ2V0SXRlbSgn5qih5byPJywgJ+WPjOi+uScpICsgJzwvZm9udD48L3NtYWxsPicsXFxuICAgICAgICB9KTtcXG4gICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7LliIfmjaLmqKHlvI/kuLo6JyArIGdldEl0ZW0oJ+aooeW8jycsICflj4zovrknKVxcbiAgICB9KSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzQnLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgaWQ6ICfmmL7npLrmqKHlvI8nXFxuICAgIH1cXG59KTtcXG4vLyDpgInmj5LmqKHlnZfigJTigJTlsYDpg6jliLfmlrDniYhcXG7mnaXmupAgPSAnbWcnO1xcbnB1dE15VmFyKCfnroDmj5InLCAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgbGV0IHRpdGxlQXJyID0gW11cXG4gICAgc2V0RmlsZSA9IHJlYWRGaWxlKCdoaWtlcjovL2ZpbGVzL3J1bGVzL0R1YW5OaWFuL015UGFyc2UuanNvbicpO1xcbiAgICB0cnkge1xcbiAgICAgICAgZXZhbCgnanNvbj0nICsgc2V0RmlsZSk7XFxuICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgIGxvZygnSnNvbuino+aekOWPkeeUn+S6humUmeivrzonICsgZS5tZXNzYWdlKTtcXG4gICAgfVxcbiAgICB0aXRsZUFyciA9IGpzb24udGl0bGU7XFxuICAgIGxldCBiYXJyeTEgPSBbJ+Kcje+4j+i+heWKqSddO1xcbiAgICBsZXQgYmFycnkyID0gWyfwn5Om77iP6a2U5patJ107XFxuICAgIGxldCBiYXJyeTMgPSBbJ/CflI3mkJzntKInXTtcXG4gICAgdGl0bGVBcnIgPSBiYXJyeTMuY29uY2F0KHRpdGxlQXJyKTtcXG4gICAgdGl0bGVBcnIgPSBiYXJyeTIuY29uY2F0KHRpdGxlQXJyKTtcXG4gICAgdGl0bGVBcnIgPSBiYXJyeTEuY29uY2F0KHRpdGxlQXJyKTtcXG4gICAgZXZhbCgnb3A9anNvbi5zZXR0aW5ncy4nICsg5p2l5rqQKTtcXG4gICAgdGl0bGVBcnIgPSB0aXRsZUFyci5tYXAoKGl0KSA9PiB7XFxuICAgICAgICByZXR1cm4gaXQgPT09IG9wID8gJ/CfkYknICsgaXQgOiBpdDtcXG4gICAgfSk7XFxuICAgIHB1dE15VmFyKCfop6PmnpDmlbDnu4QnLCB0aXRsZUFycik7XFxuICAgIHB1dE15VmFyKCdzZXRGaWxlJywgc2V0RmlsZSk7XFxufSkpXFxuZXZhbChnZXRNeVZhcign566A5o+SJykpO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn6Kej5p6Q77ya8J+UmDxmb250IGNvbG9yPVxcXCInICsgQ29sb3IgKyAnXFxcIj4nICsgb3AgKyAnPC9mb250PlxcXFx0XFxcXHTpobXnoIHvvJo8Zm9udCBjb2xvcj1cXFwiJyArIENvbG9yICsgJ1xcXCI+JyArICgoZ2V0TXlWYXIoJ+WIhumbhui1tycsICfpppbpobUnKSA9PSAn6aaW6aG1JykgPyAn6aaW6aG1JyA6IChnZXRNeVZhcign5YiG6ZuG6LW3JykgKyAnLScgKyBnZXRNeVZhcign5YiG6ZuG57uIJykpKSArICc8L2ZvbnQ+JyxcXG4gICAgdXJsOiAkKCcjbm9Mb2FkaW5nIyNub0hpc3RvcnkjJykubGF6eVJ1bGUoKGpzb24sIOadpea6kCwgQ29sb3IsIG9wLCDlvbHniYflkI3np7AsIOaQnOe0ouaooeW8jywg6LCD55So5ZCN56ewKSA9PiB7XFxuICAgICAgICBldmFsKGdldE15VmFyKCfnroDmj5InKSk7XFxuICAgICAgICByZXR1cm4gJChldmFsKGdldE15VmFyKCfop6PmnpDmlbDnu4QnKSksIDMpLnNlbGVjdCgoanNvbiwg5p2l5rqQLCBDb2xvciwgb3AsIOW9seeJh+WQjeensCwg5pCc57Si5qih5byPLCDosIPnlKjlkI3np7ApID0+IHtcXG4gICAgICAgICAgICBzZXRGaWxlID0gZ2V0TXlWYXIoJ3NldEZpbGUnKTtcXG4gICAgICAgICAgICBpbnB1dCA9IGlucHV0LnJlcGxhY2UoL/CfkYkvZywgJycpO1xcbiAgICAgICAgICAgIGlmIChpbnB1dCA9PT0gJ+Kcje+4j+i+heWKqScpIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICQoKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvaG9tZT9ydWxlPemFjee9ruWKqeaJiycpKS5ydWxlKTtcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0ID09PSAn8J+Tpu+4j+mtlOaWrScpIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL3BhZ2UvUm91dGU/cnVsZT1NeUZpZWxk4bSw4oG/JnR5cGU957yW6L6RI25vSGlzdG9yeSNcXFwiO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQgPT09ICfwn5SN5pCc57SiJykge1xcbiAgICAgICAgICAgICAgICBpZiAo5pCc57Si5qih5byPID09ICfliIbnu4QnKSB7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vc2VhcmNoP3M9XFxcIiArIOW9seeJh+WQjeensCArIFxcXCImZ3JvdXA9XFxcIiArIOiwg+eUqOWQjeensDtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9zZWFyY2g/cz1cXFwiICsg5b2x54mH5ZCN56ewICsgXFxcIiZydWxlPVxcXCIgKyDosIPnlKjlkI3np7A7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgLy8g5Y6f5YWI55qE6YWN572uXFxuICAgICAgICAgICAgb3JpZ2luU2V0dGluZ3MgPSBKU09OLnN0cmluZ2lmeShqc29uLnNldHRpbmdzKTtcXG4gICAgICAgICAgICAvLyDkv67mlLnphY3nva5cXG4gICAgICAgICAgICBldmFsKCdqc29uLnNldHRpbmdzLicgKyDmnaXmupAgKyAnPWlucHV0OycpO1xcbiAgICAgICAgICAgIHNldEZpbGUgPSBzZXRGaWxlLnJlcGxhY2Uob3JpZ2luU2V0dGluZ3MsIEpTT04uc3RyaW5naWZ5KGpzb24uc2V0dGluZ3MpKTtcXG4gICAgICAgICAgICBzYXZlRmlsZSgnaGlrZXI6Ly9maWxlcy9ydWxlcy9EdWFuTmlhbi9NeVBhcnNlLmpzb24nLCBzZXRGaWxlKTtcXG4gICAgICAgICAgICAvLyDliLfmlrDlhYPntKBcXG4gICAgICAgICAgICBldmFsKGdldE15VmFyKCfnroDmj5InKSk7XFxuICAgICAgICAgICAgdXBkYXRlSXRlbSgnb3AnLCB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn6Kej5p6Q77ya8J+UmDxmb250IGNvbG9yPVxcXCInICsgQ29sb3IgKyAnXFxcIj4nICsgb3AgKyAnPC9mb250PlxcXFx0XFxcXHTpobXnoIHvvJo8Zm9udCBjb2xvcj1cXFwiJyArIENvbG9yICsgJ1xcXCI+JyArICgoZ2V0TXlWYXIoJ+WIhumbhui1tycsICfpppbpobUnKSA9PSAn6aaW6aG1JykgPyAn6aaW6aG1JyA6IChnZXRNeVZhcign5YiG6ZuG6LW3JykgKyAnLScgKyBnZXRNeVZhcign5YiG6ZuG57uIJykpKSArICc8L2ZvbnQ+JyxcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5YiH5o2i6Kej5p6Q5Y+j5Li6OlxcXCIgKyBpbnB1dDtcXG4gICAgICAgIH0sIGpzb24sIOadpea6kCwgQ29sb3IsIG9wLCDlvbHniYflkI3np7AsIOaQnOe0ouaooeW8jywg6LCD55So5ZCN56ewKVxcbiAgICB9LCBqc29uLCDmnaXmupAsIENvbG9yLCBvcCwg5b2x54mH5ZCN56ewLCDmkJzntKLmqKHlvI8sIOiwg+eUqOWQjeensCksXFxuICAgIGltZzogJ2hpa2VyOi8vZmlsZXMvcnVsZXMvY3kvdHViaWFvL21ndHYuc3ZnJyxcXG4gICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgaWQ6ICdvcCdcXG4gICAgfVxcbn0pO1xcbi8vIOa7muWKqOWJp+mbhuadoeagj1xcbuWJp+mbhumVv+W6piA9IOWJp+mbhuS/oeaBry5jb3VudDtcXG5pZiAo5Ymn6ZuG6ZW/5bqmID4gMzApIHtcXG4gICAgcHV0TXlWYXIoJ+WIt+aWsOmAiembhicsICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgcHV0TXlWYXIoJ+WIhumbhui1tycsIHN0YXJ0KTtcXG4gICAgICAgIHB1dE15VmFyKCfliIbpm4bnu4gnLCBlbmQpO1xcbiAgICAgICAgZXZhbChnZXRNeVZhcign566A5o+SJykpO1xcbiAgICAgICAgdXBkYXRlSXRlbSgnb3AnLCB7XFxuICAgICAgICAgICAgdGl0bGU6ICfop6PmnpDvvJrwn5SYPGZvbnQgY29sb3I9XFxcIicgKyBDb2xvciArICdcXFwiPicgKyBvcCArICc8L2ZvbnQ+XFxcXHRcXFxcdOmhteegge+8mjxmb250IGNvbG9yPVxcXCInICsgQ29sb3IgKyAnXFxcIj4nICsgKChnZXRNeVZhcign5YiG6ZuG6LW3JywgJ+mmlumhtScpID09ICfpppbpobUnKSA/ICfpppbpobUnIDogKGdldE15VmFyKCfliIbpm4botbcnKSArICctJyArIGdldE15VmFyKCfliIbpm4bnu4gnKSkpICsgJzwvZm9udD4nLFxcbiAgICAgICAgfSlcXG4gICAgICAgIC8vIOWIoOmZpFxcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gZ2V0TXlWYXIoJ+acrOmhtemVv+W6picpOyBpKyspIHtcXG4gICAgICAgICAgICBkZWxldGVJdGVtKCdtZ3R2JyArIGkpO1xcbiAgICAgICAgfVxcbiAgICAgICAgLy8g5re75YqgXFxuICAgICAgICBsYXp5ID0gZ2V0TXlWYXIoJ2xhenknKTtcXG4gICAgICAgIOWJp+mbhuS/oeaBryA9IEpTT04ucGFyc2UoZmV0Y2goYGh0dHBzOi8vcGN3ZWIuYXBpLm1ndHYuY29tL2VwaXNvZGUvbGlzdD9fc3VwcG9ydD0xMDAwMDAwMCZ2ZXJzaW9uPTUuNS4zNSZ2aWRlb19pZD0ke3ZpZH0mcGFnZT0ke3BhZ2V9JnNpemU9MzAmYWxsb3dlZFJDPTEmX3N1cHBvcnQ9MTAwMDAwMDBgLCB7XFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAnVXNlci1BZ2VudCc6IFBDX1VBXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICByZWZlcnJlcjogTVlfVVJMLFxcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCdcXG4gICAgICAgIH0pKS5kYXRhO1xcbiAgICAgICAg5Ymn6ZuG5YiX6KGoID0g5Ymn6ZuG5L+h5oGvLmxpc3RcXG4gICAgICAgIHB1dE15VmFyKCfmnKzpobXplb/luqYnLCDliafpm4bliJfooagubGVuZ3RoKTtcXG4gICAgICAgIG5ld0FycmF5ID0gW107XFxuICAgICAgICBpbmRleCA9IDE7XFxuICAgICAgICDliafpm4bliJfooaguZm9yRWFjaChsaXN0ID0+IHtcXG4gICAgICAgICAgICAvLyDlj6/og73kuLrnqbrmlbDnu4RcXG4gICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICDnirbmgIHmiJbpm4bmlbDmoIfor4YgPSBsaXN0LmNvcm5lclswXS5mb250O1xcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICAgICAg54q25oCB5oiW6ZuG5pWw5qCH6K+GZCA9ICcnO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICDpm4bmlbDmoIfor4YgPSBsaXN0LmNvcm5lclsxXS5mb250XFxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgICAgICDpm4bmlbDmoIfor4YgPSAnJztcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgaWYgKGdldEl0ZW0oJ3ByZXZpZXdTd2l0Y2gnLCAnZm9sZCcpID09ICdmb2xkJyAmJiDnirbmgIHmiJbpm4bmlbDmoIfor4YubWF0Y2goL+mihHzoirHnta4vKSkge1xcbiAgICAgICAgICAgICAgICByZXR1cm47XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgLy8g6ICD6JmR5LiA5Lqb5b2p6JuL56ug5piv5rKh5pyJ6ZuG5pWw55qE5oOF5Ya177yM5Y+WbGlzdC50Me+8jOWQjOaXtuiAg+iZkeWIsOeUteW9seeahOmbhuaVsOagh+ivhuWSjHRpbWXnmoTlgLzkuIDmoLdcXG4gICAgICAgICAgICAgICAgaWYgKOmbhuaVsOagh+ivhiA9PSAnJyB8fCDpm4bmlbDmoIfor4YgPT0gbGlzdC50aW1lKSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0SXRlbSgn5qih5byPJywgJ+WPjOi+uScpID09ICfliJfooagnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3QXJyYXkucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsaXN0LnQyLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWc6IGxpc3QuaW1nLnNwbGl0KCcuanBnJylbMF0gKyBcXFwiLmpwZ0BSZWZlcmVyPVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vd3d3Lm1ndHYuY29tJyArIGxpc3QudXJsICsgbGF6eSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzog54q25oCB5oiW6ZuG5pWw5qCH6K+GICsgJ1xcXFx0JyArIGxpc3QudDEgKyAnXFxcXHQnICsgbGlzdC50aW1lLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfbGVmdF9waWMnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdtZ3R2JyArIGluZGV4XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3QXJyYXkucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsaXN0LnQyLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWc6IGxpc3QuaW1nLnNwbGl0KCcuanBnJylbMF0gKyBcXFwiLmpwZ0BSZWZlcmVyPVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vd3d3Lm1ndHYuY29tJyArIGxpc3QudXJsICsgbGF6eSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzog54q25oCB5oiW6ZuG5pWw5qCH6K+GICsgJ1xcXFx0JyArIGxpc3QudDEgKyAnXFxcXHQnICsgbGlzdC50aW1lLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzInLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdtZ3R2JyArIGluZGV4XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIGlmIChnZXRJdGVtKCfmqKHlvI8nLCAn5Y+M6L65JykgPT0gJ+WIl+ihqCcpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdBcnJheS5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGxpc3QudDIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZzogbGlzdC5pbWcuc3BsaXQoJy5qcGcnKVswXSArIFxcXCIuanBnQFJlZmVyZXI9XFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly93d3cubWd0di5jb20nICsgbGlzdC51cmwgKyBsYXp5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiDnirbmgIHmiJbpm4bmlbDmoIfor4YgKyAnXFxcXHQnICsg6ZuG5pWw5qCH6K+GICsgJ1xcXFx0JyArIGxpc3QudGltZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8xX2xlZnRfcGljJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnbWd0dicgKyBpbmRleFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0FycmF5LnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogbGlzdC50MixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nOiBsaXN0LmltZy5zcGxpdCgnLmpwZycpWzBdICsgXFxcIi5qcGdAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICdodHRwczovL3d3dy5tZ3R2LmNvbScgKyBsaXN0LnVybCArIGxhenksXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6IOeKtuaAgeaIlumbhuaVsOagh+ivhiArICdcXFxcdCcgKyDpm4bmlbDmoIfor4YgKyAnXFxcXHQnICsgbGlzdC50aW1lLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzInLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdtZ3R2JyArIGluZGV4XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBpbmRleCArPSAxO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgICAgYWRkSXRlbUFmdGVyKGdldE15VmFyKCfmnKvpobUnKSwgbmV3QXJyYXkpO1xcbiAgICAgICAgLy8gcHV0TXlWYXIoJ+aYvuekuueahOWJp+mbhuWIl+ihqCcsIOaYvuekuueahOWJp+mbhuWIl+ihqCk7XFxuICAgIH0pKTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgIHRpdGxlOiAn4oi3JyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaWQ6ICfljaDkvY3nrKYnLFxcbiAgICAgICAgfVxcbiAgICB9KVxcbiAgICBwdXRNeVZhcign5YiG6ZuG6LW3JywgMSk7XFxuICAgIHB1dE15VmFyKCfliIbpm4bnu4gnLCAzMCk7XFxuICAgIOaAu+mhteaVsCA9IOWJp+mbhuS/oeaBry50b3RhbF9wYWdlO1xcbiAgICBzdGFydCA9IDE7XFxuICAgIGVuZCA9IDMwO1xcbiAgICBmb3IgKGxldCBwYWdlID0gMTsgcGFnZSA8PSDmgLvpobXmlbA7IHBhZ2UrKykge1xcbiAgICAgICAgaWYgKGVuZCA+IOWJp+mbhumVv+W6pikge1xcbiAgICAgICAgICAgIGVuZCA9IOWJp+mbhumVv+W6pjtcXG4gICAgICAgIH1cXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHN0YXJ0ICsgJy0nICsgZW5kLFxcbiAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMjbm9IaXN0b3J5IyNub0hpc3RvcnkjJykubGF6eVJ1bGUoKHN0YXJ0LCBlbmQsIENvbG9yLCDmnaXmupAsIHBhZ2UsIHZpZCkgPT4ge1xcbiAgICAgICAgICAgICAgICBldmFsKGdldE15VmFyKCfliLfmlrDpgInpm4YnKSk7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCI7XFxuICAgICAgICAgICAgfSwgc3RhcnQsIGVuZCwgQ29sb3IsIOadpea6kCwgcGFnZSwgdmlkKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgIGlkOiBzdGFydCArICctJyArIGVuZFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgICAgaWYgKGVuZCA8IOWJp+mbhumVv+W6pikge1xcbiAgICAgICAgICAgIHN0YXJ0ICs9IDMwO1xcbiAgICAgICAgICAgIGVuZCArPSAzMDtcXG4gICAgICAgIH1cXG4gICAgfVxcbiAgICAvLyDorrDlvZXmnKvpobXnmoRpZFxcbiAgICBwdXRNeVZhcign5pyr6aG1Jywgc3RhcnQgKyAnLScgKyBlbmQpO1xcbn0gZWxzZSB7XFxuICAgIHB1dE15VmFyKCfliIbpm4botbcnLCAxKTtcXG4gICAgcHV0TXlWYXIoJ+WIhumbhue7iCcsIOWJp+mbhumVv+W6pik7XFxufVxcbi8vIOWJp+mbhuWxleekulxcbmluZGV4ID0gMTtcXG7liafpm4bliJfooaguZm9yRWFjaChsaXN0ID0+IHtcXG4gICAgLy8g5Y+v6IO95Li656m65pWw57uEXFxuICAgIHRyeSB7XFxuICAgICAgICDnirbmgIHmiJbpm4bmlbDmoIfor4YgPSBsaXN0LmNvcm5lclswXS5mb250O1xcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICDnirbmgIHmiJbpm4bmlbDmoIfor4ZkID0gJyc7XFxuICAgIH1cXG4gICAgdHJ5IHtcXG4gICAgICAgIOmbhuaVsOagh+ivhiA9IGxpc3QuY29ybmVyWzFdLmZvbnRcXG4gICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAg6ZuG5pWw5qCH6K+GID0gJyc7XFxuICAgIH1cXG4gICAgaWYgKGdldEl0ZW0oJ3ByZXZpZXdTd2l0Y2gnLCAnZm9sZCcpID09ICdmb2xkJyAmJiDnirbmgIHmiJbpm4bmlbDmoIfor4YubWF0Y2goL+mihHzoirHnta4vKSkge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8g6ICD6JmR5LiA5Lqb5b2p6JuL56ug5piv5rKh5pyJ6ZuG5pWw55qE5oOF5Ya177yM5Y+WbGlzdC50Me+8jOWQjOaXtuiAg+iZkeWIsOeUteW9seeahOmbhuaVsOagh+ivhuWSjHRpbWXnmoTlgLzkuIDmoLdcXG4gICAgICAgIGlmICjpm4bmlbDmoIfor4YgPT0gJycgfHwg6ZuG5pWw5qCH6K+GID09IGxpc3QudGltZSkge1xcbiAgICAgICAgICAgIGlmIChnZXRJdGVtKCfmqKHlvI8nLCAn5Y+M6L65JykgPT0gJ+WIl+ihqCcpIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsaXN0LnQyLFxcbiAgICAgICAgICAgICAgICAgICAgaW1nOiBsaXN0LmltZy5zcGxpdCgnLmpwZycpWzBdICsgXFxcIi5qcGdAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly93d3cubWd0di5jb20nICsgbGlzdC51cmwgKyBsYXp5LFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzog54q25oCB5oiW6ZuG5pWw5qCH6K+GICsgJ1xcXFx0JyArIGxpc3QudDEgKyAnXFxcXHQnICsgbGlzdC50aW1lLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8xX2xlZnRfcGljJyxcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdtZ3R2JyArIGluZGV4XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogbGlzdC50MixcXG4gICAgICAgICAgICAgICAgICAgIGltZzogbGlzdC5pbWcuc3BsaXQoJy5qcGcnKVswXSArIFxcXCIuanBnQFJlZmVyZXI9XFxcIixcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vd3d3Lm1ndHYuY29tJyArIGxpc3QudXJsICsgbGF6eSxcXG4gICAgICAgICAgICAgICAgICAgIGRlc2M6IOeKtuaAgeaIlumbhuaVsOagh+ivhiArICdcXFxcdCcgKyBsaXN0LnQxICsgJ1xcXFx0JyArIGxpc3QudGltZSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnbW92aWVfMicsXFxuICAgICAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnbWd0dicgKyBpbmRleFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGlmIChnZXRJdGVtKCfmqKHlvI8nLCAn5Y+M6L65JykgPT0gJ+WIl+ihqCcpIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsaXN0LnQyLFxcbiAgICAgICAgICAgICAgICAgICAgaW1nOiBsaXN0LmltZy5zcGxpdCgnLmpwZycpWzBdICsgXFxcIi5qcGdAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly93d3cubWd0di5jb20nICsgbGlzdC51cmwgKyBsYXp5LFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzog54q25oCB5oiW6ZuG5pWw5qCH6K+GICsgJ1xcXFx0JyArIOmbhuaVsOagh+ivhiArICdcXFxcdCcgKyBsaXN0LnRpbWUsXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfbGVmdF9waWMnLFxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ21ndHYnICsgaW5kZXhcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsaXN0LnQyLFxcbiAgICAgICAgICAgICAgICAgICAgaW1nOiBsaXN0LmltZy5zcGxpdCgnLmpwZycpWzBdICsgXFxcIi5qcGdAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly93d3cubWd0di5jb20nICsgbGlzdC51cmwgKyBsYXp5LFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzog54q25oCB5oiW6ZuG5pWw5qCH6K+GICsgJ1xcXFx0JyArIOmbhuaVsOagh+ivhiArICdcXFxcdCcgKyBsaXN0LnRpbWUsXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzInLFxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ21ndHYnICsgaW5kZXhcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgICAgaW5kZXggKz0gMTtcXG4gICAgfVxcbn0pO1xcbnNldFJlc3VsdChkKTtcXG5cIn0se1wibmFtZVwiOlwi6IqS5p6c5pyA5paw56ug6IqCXCIsXCJwYXRoXCI6XCJnZXRVcGRhdGVcIixcInJ1bGVcIjpcImh0bWwgPSByZXF1ZXN0KE1ZX1VSTCk7XFxudHJ5IHtcXG4gICAg5Ymn6ZuG6K+m5oOFID0gaHRtbC5tYXRjaCgvXFxcInZpZGVvaW5mb1xcXCI6W1xcXFxTXFxcXHNdKyg/PSxcXFwiZnVsbFZpZGVvTGlzdEluZm9cXFwiKS8pWzBdLnJlcGxhY2UoJ1xcXCJ2aWRlb2luZm9cXFwiOicsICcnKTtcXG59IGNhdGNoIChlKSB7XFxuICAgIE1ZX1VSTD1odG1sLm1hdGNoKC93aW5kb3cubG9jYXRpb24gPSBcXFwiW1xcXFxTXFxcXHNdKyg/PVxcXCIpLylbMF0ucmVwbGFjZSgnd2luZG93LmxvY2F0aW9uID0gXFxcIicsJycpO1xcbiAgICBodG1sID0gcmVxdWVzdChNWV9VUkwpO1xcbiAgICDliafpm4bor6bmg4UgPSBodG1sLm1hdGNoKC9cXFwidmlkZW9pbmZvXFxcIjpbXFxcXFNcXFxcc10rKD89LFxcXCJmdWxsVmlkZW9MaXN0SW5mb1xcXCIpLylbMF0ucmVwbGFjZSgnXFxcInZpZGVvaW5mb1xcXCI6JywgJycpO1xcbn1cXG7mm7TmlrDnirbmgIEgPSBKU09OLnBhcnNlKOWJp+mbhuivpuaDhSkudXBkYXRlSW5mbztcXG5zZXRSZXN1bHQo5pu05paw54q25oCBKTtcIn1dIiwiaWNvbiI6Imh0dHBzOi8vaGlrZXJmYW5zLmNvbS90dWJpYW8vbW92aWUvMzIuc3ZnIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment