Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@小红影视@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5bCP57qi5b2x6KeGIiwiYXV0aG9yIjoi54uX5rWp5ZWKIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSMjaHR0cHM6Ly94aWFvaHlzLmNvbS9zaG93L21vdmllL3BhZ2UvZnlwYWdlLmh0bWwiLCJ2ZXJzaW9uIjo2LCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xuaWYgKE1ZX1BBR0UgPT0gMSkge1xuICAgIGQucHVzaCh7XG4gICAgICAgIGRlc2M6IFwi5pCc5L2g5oOz6KaB55qELi4uXCIsXG4gICAgICAgIHRpdGxlOiBcIvCflI1cIixcbiAgICAgICAgdXJsOiBcIidoaWtlcjovL3NlYXJjaD9ydWxlPVwiICsgTVlfUlVMRS50aXRsZSArIFwiJnM9JytpbnB1dFwiLFxuICAgICAgICBjb2xfdHlwZTogXCJpbnB1dFwiLFxuICAgIH0pO1xufVxubGV0IHRydWVfdXJsID0gZ2V0TXlWYXIoTVlfUlVMRS51cmwsIE1ZX1VSTClcbmNvbnN0IHBhZ2UgPSBNWV9QQUdFO1xuXG5cbnZhciBnZXRSYW5nZUNvbG9ycyA9IGZ1bmN0aW9uKCkge8KgwqDCoMKgwqDCoMKgXG4gICAgcmV0dXJuICcjJyArICgnMDAwMDAnICsgKE1hdGgucmFuZG9tKCkgKiAweDEwMDAwMDAgPDwgMCkudG9TdHJpbmcoMTYpKS5zdWJzdHIoLTYpO8KgwqDCoMKgwqBcbn1cbi8v5Yqo5oCB5YiG57G75a6a5LmJIFxuY29uc3Qg5YiG57G76aKc6ImyID0gZ2V0UmFuZ2VDb2xvcnMoKTtcbmNvbnN0IOWkp+exu+WumuS9jSA9ICcuc3dpcGVyLXdyYXBwZXImJmxpOm5vdCg6bWF0Y2hlcyjpppbpobV85oiR55qEfFHnvqR85ZGo5pyffOS4k+mimCkpJztcbmNvbnN0IOWkp+exu+agh+mimCA9ICdhJiZUZXh0JztcbmNvbnN0IOWkp+exu+mTvuaOpSA9ICdhJiZocmVmJztcblxuY29uc3Qg5ou85o6l5YiG57G7ID0gJ2JvZHktLS5zd2lwZXItd3JhcHBlci0tLnN3aXBlci13cmFwcGVyJiYuc3dpcGVyLXdyYXBwZXInO1xuY29uc3Qg5bCP57G75a6a5L2NID0gJ2JvZHkmJmxpJztcbmNvbnN0IOWIhuexu+agh+mimCA9ICdhJiZUZXh0JztcbmNvbnN0IOWIhuexu+mTvuaOpSA9ICdsaSYmZGF0YS10eXBlQEBAbGkmJmRhdGEtdmFsJztcbmNvbnN0IOa4hemZpOmUriA9IFsnY2xhc3MnLCAnYXJlYScsICdsb25nJywgJ3ZlcnNpb24nLCAnc3RhdGUnLCAnbGV0dGVyJ107XG5cbnZhciBodG1sID0gcmVxdWVzdCh0cnVlX3VybC5yZXBsYWNlKCdoaWtlcjovL2VtcHR5IyMnLCAnJykpXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2R0ZmwnKSkucnVsZSk7XG5cbnR5cGUgPSBwZGZoKGh0bWwsICcjZGF0YUxpc3QmJmRhdGEtdHlwZScpO1xudGltZSA9IFwiXCIgKyBNYXRoLmNlaWwobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKVxua2V5ID0gbWQ1KFwiRFNcIiArIHRpbWUgKyBcIkRDQzE0N0QxMTk0M0FGNzVcIilcblxuXG4vKuaVsOaNriA9IEpTT04ucGFyc2UocG9zdChcImh0dHBzOi8veGlhb2h5cy5jb20vL2luZGV4LnBocC9hcGkvdm9kXCIsIHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiWC1SZXF1ZXN0ZWQtV2l0aFwiOiBcIlhNTEh0dHBSZXF1ZXN0XCIsXG4gICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIk1vemlsbGEvNS4wIChMaW51eDsgQW5kcm9pZCAxMjsgMjIwMTEyMkMgQnVpbGQvU0tRMS4yMTEwMDYuMDAxOyB3dikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi80LjAgQ2hyb21lLzk1LjAuNDYzOC43NCBNb2JpbGUgU2FmYXJpLzUzNy4zNlwiXG4gICAgfSxcbiAgICBib2R5OiB7XG4gICAgICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICAgICAgcGFnZTogcGFnZSxcbiAgICAgICAgICAgIHRpbWU6IHRpbWUsXG4gICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgIGNsYXNzOiBnZXRNeVZhcignZHRfY2xhc3MnLCAnJyksXG4gICAgICAgICAgICBhcmVhOiBnZXRNeVZhcignZHRfYXJlYScsICcnKSxcbiAgICAgICAgICAgIHllYXI6IGdldE15VmFyKCdkdF95ZWFyJywgJycpLFxuICAgICAgICAgICAgbGFuZzogZ2V0TXlWYXIoJ2R0X2xhbmcnLCAnJyksXG4gICAgICAgICAgICBsZXR0ZXI6IGdldE15VmFyKCdkdF9sZXR0ZXInLCAnJyksXG4gICAgICAgICAgICBzdGF0ZTogZ2V0TXlWYXIoJ2R0X3N0YXRlJywgJycpLFxuICAgICAgICAgICAgdmVyc2lvbjogZ2V0TXlWYXIoJ2R0X3ZlcnNpb24nLCAnJyksXG4gICAgICAgICAgICBieTogZ2V0TXlWYXIoJ2R0X3RpbWUnLCAnJyksXG4gICAgICAgIH1cbn0pKS5saXN0XG4qL1xuXG5cbuaVsOaNriA9IEpTT04ucGFyc2UocG9zdChcImh0dHBzOi8veGlhb2h5cy5jb20vL2luZGV4LnBocC9hcGkvdm9kXCIsIHtcblxuICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJYLVJlcXVlc3RlZC1XaXRoXCI6IFwiWE1MSHR0cFJlcXVlc3RcIixcbiAgICAgICAgXCJVc2VyLUFnZW50XCI6IFwiTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDEyOyAyMjAxMTIyQyBCdWlsZC9TS1ExLjIxMTAwNi4wMDE7IHd2KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzQuMCBDaHJvbWUvOTUuMC40NjM4Ljc0IE1vYmlsZSBTYWZhcmkvNTM3LjM2XCJcblxuICAgIH0sXG4gICAgYm9keToge1xuICAgICAgICAndHlwZSc6IHR5cGUsXG4gICAgICAgICdwYWdlJzogcGFnZSxcbiAgICAgICAgJ3RpbWUnOiB0aW1lLFxuICAgICAgICAna2V5Jzoga2V5LFxuICAgICAgICBjbGFzczogZ2V0TXlWYXIoJ2R0X2NsYXNzJywgJycpLFxuICAgICAgICBhcmVhOiBnZXRNeVZhcignZHRfYXJlYScsICcnKSxcbiAgICAgICAgeWVhcjogZ2V0TXlWYXIoJ2R0X3llYXInLCAnJyksXG4gICAgICAgIGxhbmc6IGdldE15VmFyKCdkdF9sYW5nJywgJycpLFxuICAgICAgICBsZXR0ZXI6IGdldE15VmFyKCdkdF9sZXR0ZXInLCAnJyksXG4gICAgICAgIHN0YXRlOiBnZXRNeVZhcignZHRfc3RhdGUnLCAnJyksXG4gICAgICAgIHZlcnNpb246IGdldE15VmFyKCdkdF92ZXJzaW9uJywgJycpLFxuICAgICAgICBieTogZ2V0TXlWYXIoJ2R0X3RpbWUnLCAnJyksXG4gICAgfVxuXG5cblxuXG59KSkubGlzdFxuXG5jb25zdCBsaXN0ID0g5pWw5o2uXG5cbmxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICB2YXIgdXJsbCA9IFwiaHR0cHM6Ly94aWFvaHlzLmNvbS9kZXRhaWwvXCIgKyBpdGVtLnZvZF9pZCsgJy8nICsgXCIjaW1tZXJzaXZlVGhlbWUjXCI7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IGl0ZW0udm9kX25hbWUsXG4gICAgICAgIGRlc2M6IGl0ZW0udm9kX3JlbWFya3MsXG4gICAgICAgIGltZzogaXRlbS52b2RfcGljLFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZWojbm9IaXN0b3J5IyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgdXJsOiB1cmxsLFxuICAgICAgICAgICAgcGljOiBpdGVtLnZvZF9waWNcbiAgICAgICAgfSxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zX21hcnF1ZWUnLFxuICAgIH0pXG59KVxuXG5zZXRSZXN1bHQoZCk7Iiwic2VhcmNoX3VybCI6Ii9zZWFyY2gqKi9wYWdlL2Z5cGFnZS8iLCJncm91cCI6IvCfjY7op4bpopEiLCJzZWFyY2hGaW5kIjoianM6XG52YXIgZCA9IFtdO1xudmFyIGh0bWwgPSBnZXRSZXNDb2RlKClcbmxldCBjID0gZ2V0VmFyKFwiY2VjaWR5XCIsIFwiXCIpO1xuaWYgKGMgIT0gXCJcIikge1xuICAgIHNldEl0ZW0oTVlfSE9NRSwgYyk7XG4gICAgY2xlYXJWYXIoXCJjZWNpZHlcIik7XG59XG4vL2NsZWFySXRlbShNWV9IT01FKVxudmFyIGNvb2tpZSA9IGdldEl0ZW0oTVlfSE9NRSwgXCJcIilcblxubGV0IGhlYWRlcnMgPSB7XG4gICAgXCJDb29raWVcIjogY29va2llLFxuICAgIFwiVXNlci1BZ2VudFwiOiBNT0JJTEVfVUEsXG59O1xuLy9sb2coY29va2llKVxubGV0IGh0bWwgPSBmZXRjaChNWV9VUkwsIHtcbiAgICBoZWFkZXJzOiBoZWFkZXJzLFxufSk7XG5cbmlmIChodG1sLmluY2x1ZGVzKFwi6aqM6K+BXCIpKSB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IFwi5Lq65py66aqM6K+BXCIsXG4gICAgICAgIGNvbF90eXBlOiBcInRleHRfY2VudGVyXzFcIixcbiAgICAgICAgdXJsOiBNWV9VUkwgKyAkKFwiXCIpLnJ1bGUoKCkgPT4ge1xuICAgICAgICAgICAgdmFyIGQgPSBbXTtcbiAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiXCIsXG4gICAgICAgICAgICAgICAgdXJsOiBNWV9VUkwsXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFwieDVfd2Vidmlld19zaW5nbGVcIixcbiAgICAgICAgICAgICAgICBkZXNjOiBcImZsb2F0JiYxMDAlXCIsXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgICAgICAgdWE6IE1PQklMRV9VQSxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2soKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGMgPSBmYmEuZ2V0Q29va2llKGxvY2F0aW9uLmhyZWYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBub2RlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWFyY2gtYm94Jyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZXMgJiYgbm9kZXMubGVuZ3RoID4gMCAmJiBjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZiYS5wdXRWYXIoXCJjZWNpZHlcIiwgYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZiYS5sb2coYylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmJhLnBhcnNlTGF6eVJ1bGUoJCQkKCkubGF6eVJ1bGUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChjaGVjaywgMjUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVjaygpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBzZXRSZXN1bHQoZCk7XG4gICAgICAgIH0pXG4gICAgfSlcbn1cclxudmFyIGxpc3QgPSBwZGZhKGh0bWwsICdib2R5JiYuc2VhcmNoLWJveCcpOy8v5YiX6KGoXG5mb3IgKHZhciBqIGluIGxpc3QpIHtcbnZhciBpbWc9cGQobGlzdFtqXSwgJy5sYXp5JiZkYXRhLXNyYycpKydAUmVmZXJlcj0nOy8v5Zu+54mHXG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHBkZmgobGlzdFtqXSwgJy50aHVtYi10eHQmJlRleHQnKSwvL+agh+mimFxuICAgICAgICBkZXNjOiBwZGZoKGxpc3Rbal0sICcudGh1bWItZWxzZSYmVGV4dCcpLC8v56ys5Yeg6ZuG5oiW5riF5pmw5bqmXG4gICAgICAgIGltZzogaW1nLFxuY29udGVudDpwZGZoKGxpc3Rbal0sICcudGh1bWItYmx1cmImJlRleHQnKSwvL+eugOS7i+aIluW9seeJh+S/oeaBr1xuICAgICAgICB1cmw6ICQocGQobGlzdFtqXSwgJ2EmJmhyZWYnKS5yZXBsYWNlKC9cXC9wbGF5XFwvKC4qPyktXFxkKy1cXGQrXFwuaHRtbC8sIFwiL2Jhbmd1bWkvJDEuaHRtbFwiKSsgXCIjaW1tZXJzaXZlVGhlbWUjXCIpLnJ1bGUoKCk9PntcbnJlcXVpcmUgKCdoaWtlcjovL3BhZ2UvZWonKVxufSksXG5leHRyYToge1xuICBcbiAgICAgICAgICAgIHBpYzogaW1nXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfSk7XG59XHJcbnNldFJlc3VsdChkKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xudmFyIGh0bWwgPSBnZXRSZXNDb2RlKCk7XG5cbnZhciBhcnRzID0gcGRmYShodG1sLCAnLm5hdi1zd2lwZXImJmE6bm90KDptYXRjaGVzKOS4i+i9vSkpJyk7XG5cbnZhciB0YWJzID0gW107XG5mb3IgKHZhciBpIGluIGFydHMpIHtcbiAgICB0YWJzLnB1c2gocGRmaChhcnRzW2ldLCAnVGV4dCcpKVxufVxuXG52YXIgY29udHMgPSBwZGZhKGh0bWwsICdib2R5JiYuYW50aG9sb2d5LWxpc3QtYm94Jyk7XG5cbnZhciBsaXN0cyA9IFtdO1xuZm9yICh2YXIgaSBpbiBjb250cykge1xuICAgIGxpc3RzLnB1c2gocGRmYShjb250c1tpXSwgJ2JvZHkmJmEnKSlcbn1cbnRyeSB7XG5kLnB1c2goe1xuICAgIHRpdGxlOiBwZGZoKGh0bWwsICcuc2VhcmNoLXNob3cmJmxpOmNvbnRhaW5zKOWvvOa8lO+8mikmJlRleHQnKS5zdWJzdHJpbmcoMCwgMTgpICtcbiAgICAgICAgJ1xcbicgK1xuICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAgcGRmaChodG1sLFxuJy5zZWFyY2gtc2hvdyYmbGk6Y29udGFpbnMo5Li75ryU77yaKSYmVGV4dCcpLnN1YnN0cmluZygwLCAxOCksXG4gICAgZGVzYzogcGRmaChodG1sLCAnLnNlYXJjaC1zaG93JiZsaTpjb250YWlucyjmm7TmlrDvvJopJiZUZXh0JyksXG4gICAgaW1nOiBNWV9QQVJBTVMucGljLFxuICAgIHVybDogTVlfVVJMLFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cicsZXh0cmE6IHtncmFkaWVudDogdHJ1ZX1cbn0pO1xudmFyIOeugOS7iyA9IHBkZmgoaHRtbCwgJy50b3AyNiYmVGV4dCcpXG5kLnB1c2goe1xuICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPVwiI2ZmMTQ4ZThlXCI+566A5LuL77yaJyArIOeugOS7iy5zdWJzdHIoMCwgNTUpICsgJy4uLjwvZm9udD48c21hbGw+PGZvbnQgY29sb3I9XCJyZWRcIj7or6bmg4U8L2ZvbnQ+PC9zbWFsbD48L3NtYWxsPicsXG4gICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSMnICsgJ1xcbicgKyDnroDku4sgKycjbm9IaXN0b3J5IycgKyBgQHJ1bGU9anM6IHZhciBkID0gW107ZC5wdXNoKHt0aXRsZTon5b2x54mH566A5LuL77yaJysgTVlfVVJMLnNwbGl0KCcjJylbMV0sY29sX3R5cGU6ICdsb25nX3RleHQnfSk7IHNldFJlc3VsdChkKTtgLFxuICAgIGNvbF90eXBlOiAndGV4dF8xJ1xufSk7XG59IGNhdGNoIChlKSB7XG5kLnB1c2goe1xuICAgIGltZzogcGQoaHRtbCwgXG4nLmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsJykgKydAUmVmZXJlcj0nLFxuICAgIHVybDogTVlfVVJMLFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cicsZXh0cmE6IHtncmFkaWVudDogdHJ1ZX1cbn0pO1xufVxuXG4gZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvbGF6eScsIHt9KSkucnVsZSk7XG5cbmZ1bmN0aW9uIHNldFRhYnModGFicywgdmFyaSkge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiAoZ2V0VmFyKCdzaHNvcnQnKSA9PSAnMScpID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVwiY29sb3I6ICNGRjAwMDBcIj7pgIbluo88L3NwYW4+PC9iPicgOiAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XCJjb2xvcjogIzFhYWQxOVwiPuato+W6jzwvc3Bhbj48L2I+JyxcbiAgICAgICAgdXJsOiBgQGxhenlSdWxlPS5qczpsZXQgY29uZiA9IGdldFZhcignc2hzb3J0Jyk7aWYoY29uZj09JzEnKXtwdXRWYXIoe2tleTonc2hzb3J0JywgdmFsdWU6JzAnfSk7fWVsc2V7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicxJ30pfTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+WIh+aNouaOkuW6j+aIkOWKnydgLFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgIH0pXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciB1cmwgPSBcIiNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpwdXRWYXIoJ1wiICsgdmFyaSArIFwiJywgJ1wiICsgaSArIFwiJyk7cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+WIh+aNouaIkOWKn++8gSc7JyNub0hpc3RvcnkjaGlrZXI6Ly9lbXB0eSdcIjtcbiAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBnZXRWYXIodmFyaSwgJzAnKSA9PSBpID8gJ+KAnOKAnCcgKyB0YWJzW2ldICsgJ+KAneKAnScgOiB0YWJzW2ldLFxuICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xuICAgICAgICB9KVxuICAgIH1cbn1cblxuZnVuY3Rpb24gc2V0TGlzdHMobGlzdHMsIGluZGV4KSB7XG4gICAgdmFyIGxpc3QgPSBsaXN0c1tpbmRleF07XG4gICAgaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzEnKSB7XG4gICAgICAgIHZhciBsaXN0ID0gbGlzdHNbaW5kZXhdLnJldmVyc2UoKTtcbiAgICB9XG4gICAgZm9yICh2YXIgaiBpbiBsaXN0KSB7XG4gICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogcGRmaChsaXN0W2pdLCAnYSYmVGV4dCcpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL+esrChcXGQrKembhi8sICckMScpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoJ+esrCcsICcnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKCfmnJ8nLCAnJyksXG4gICAgICAgICAgICB1cmw6IHBkKGxpc3Rbal0sICdhJiZocmVmJykgKyBsYXp5LFxuICAgICAgICAgICAgY29sX3R5cGU6IGxpc3QubGVuZ3RoID4gMyA/ICd0ZXh0XzQnIDogJ3RleHRfMidcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5zZXRUYWJzKHRhYnMsIE1ZX1VSTCk7XG5zZXRMaXN0cyhsaXN0cywgZ2V0VmFyKE1ZX1VSTCwgJzAnKSk7XG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snXG59KTtcbmQucHVzaCh7XG4gICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xufSk7XG5kLnB1c2goe1xuICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPSMyMGIyYWE+5pWw5o2u6LWE5rqQ5pS26ZuG5LqO572R57uc77yM5rW36ZiU5LiN5o+Q5L6b5Lu75L2V6LWE5rqQ77yBPC9mb250Pjwvc21hbGw+JyxcbiAgICBkZXNjOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPSNmZjdmNTA+5pys6KeE5YiZ5LuF6ZmQ5a2m5Lmg5LiO5Lqk5rWB77yM6K+35a+85YWl5ZCOMjTlsI/ml7blhoXliKDpmaTvvIzor7fli7/kvKDmkq3vvIE8L2ZvbnQ+PC9zbWFsbD4nLFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXG4gICAgZXh0cmE6IHtcbiAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXG4gICAgfVxufSk7XG5cbnNldFJlc3VsdChkKTtcblxuIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IioiLCJ1YSI6Im1vYmlsZSIsInByZVJ1bGUiOiJpbml0Q29uZmlnKHtcbiAgICBob3N0OiBnZXRJdGVtKCdsaW5rJywgJ2h0dHA6Ly9rYW44LnR2Jylcbn0pOyIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJsYXp5XCIsXCJwYXRoXCI6XCJsYXp5XCIsXCJydWxlXCI6XCJ2YXIgbGF6eSA9ICQoJycpLmxhenlSdWxlKChNWV9IT01FKSA9PiB7XFxuICAgIGV2YWwoZ2V0Q3J5cHRvSlMoKSlcXG5cXG4gICAgZnVuY3Rpb24gdmlkZW90eXBlKHVybCwgdHlwZSkge1xcbiAgICAgICAgdmFyIHR5cGUgPSB0eXBlIHx8ICdtcDQnO1xcbiAgICAgICAgaWYgKHVybC5pbmRleE9mKFxcXCJtM3U4XFxcIikgPiAwKSB7XFxuICAgICAgICAgICAgdGhldHlwZSA9IFxcXCJtM3U4XFxcIlxcbiAgICAgICAgfSBlbHNlIGlmICh1cmwuaW5kZXhPZihcXFwiLmZsdlxcXCIpID4gMCkge1xcbiAgICAgICAgICAgIHRoZXR5cGUgPSBcXFwiZmx2XFxcIlxcbiAgICAgICAgfSBlbHNlIGlmICh1cmwuaW5kZXhPZihcXFwiLnRzXFxcIikgPiAwKSB7XFxuICAgICAgICAgICAgdGhldHlwZSA9IFxcXCJ0c1xcXCJcXG4gICAgICAgIH0gZWxzZSBpZiAodXJsLmluZGV4T2YoXFxcIi5ta3ZcXFwiKSA+IDApIHtcXG4gICAgICAgICAgICB0aGV0eXBlID0gXFxcIm1rdlxcXCJcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgaWYgKHR5cGUgPT0gXFxcImhsc1xcXCIgfHwgdHlwZSA9PSBcXFwibTN1OFxcXCIpIHtcXG4gICAgICAgICAgICAgICAgdGhldHlwZSA9IFxcXCJtM3U4XFxcIlxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHZhciBleHQgPSB1cmwuc3Vic3RyaW5nKHVybC5sYXN0SW5kZXhPZignLicpICsgMSk7XFxuICAgICAgICAgICAgICAgIHRoZXR5cGUgPSB0eXBlID8gdHlwZSA6IGV4dFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiB0aGV0eXBlXFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gY3J5cHRKcyh0ZXh0LCBrZXksIGl2LCB0eXBlKSB7XFxuICAgICAgICB2YXIgdHlwZSA9IHR5cGUgfHwgZmFsc2U7XFxuICAgICAgICB2YXIga2V5ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uoa2V5IHx8ICc4JyArICdScycgKyAnTk1jJyArICdTcycgKyAncjFUJyArICdZNycgKyAnalgnICsgJ2MnKTtcXG4gICAgICAgIHZhciBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKGl2IHx8ICdkJyArICdrJyArICd6JyArICdhJyArICdYJyArICdpJyArICd3SycgKyAncWwnICsgJ2lXJyArICc1NScgKyAnRVknKTtcXG4gICAgICAgIGlmICh0eXBlKSB7XFxuICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdCh0ZXh0LCBrZXksIHtcXG4gICAgICAgICAgICAgICAgaXY6IGl2LFxcbiAgICAgICAgICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQyxcXG4gICAgICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBDcnlwdG9KUy5BRVMuZGVjcnlwdCh0ZXh0LCBrZXksIHtcXG4gICAgICAgICAgICAgICAgaXY6IGl2LFxcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcXG4gICAgICAgICAgICB9KS50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOClcXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiBjb250ZW50XFxuICAgIH1cXG4gICAgdmFyIGh0bWwgPSByZXF1ZXN0KGlucHV0KTtcXG4gICAgdmFyIE1hY1BsYXllciA9IEpTT04ucGFyc2UoaHRtbC5tYXRjaCgvciBwbGF5ZXJfLio/PSguKj8pPC8pWzFdKVxcbiAgICAvL2xvZyhNYWNQbGF5ZXIpXFxuXFxuXFxuICAgaWYgKC94Z2RtLy50ZXN0KE1hY1BsYXllci5mcm9tKSkge1xcbiAgICAvLyDlr4bpkqXvvIznlKjkuo7nlJ/miJAgSE1BQyDnrb7lkI1cXG4gICAgY29uc3Qgc2VjcmV0S2V5ID0gXFxcImExYjJjM2Q0ZTVmNmc3aDhpOWowazFsMm0zbjRvNXA2XFxcIjtcXG5cXG4gICAgLy8g5b2T5YmN5pe26Ze05oiz77yI56eS77yJXFxuICAgIGNvbnN0IHRpbWVzdGFtcCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xcblxcbiAgICAvLyDnlJ/miJDmjIflrprplb/luqbnmoTpmo/mnLrlrZfnrKbkuLLvvIhub25jZe+8iVxcbiAgICBmdW5jdGlvbiBnZW5lcmF0ZU5vbmNlKGxlbmd0aCkge1xcbiAgICBsZW5ndGggPSBsZW5ndGggfHwgMTY7IC8vIOm7mOiupOmVv+W6puS4uiAxNlxcbiAgICBjb25zdCBjaGFycyA9IFxcXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OVxcXCI7XFxuICAgIGxldCByZXN1bHQgPSBcXFwiXFxcIjtcXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzdWx0ICs9IGNoYXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGgpKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzdWx0O1xcbn1cXG5cXG4gICAgLy8g55Sf5oiQ562+5ZCN77yISE1BQy1TSEEyNTbvvIlcXG4gICAgZnVuY3Rpb24gZ2VuZXJhdGVTaWduYXR1cmUocGFyYW1zLCBrZXkpIHtcXG4gICAgICAgIGNvbnN0IHNvcnRlZEtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMpLnNvcnQoKTtcXG4gICAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gc29ydGVkS2V5cy5tYXAoayA9PiBgJHtrfT0ke3BhcmFtc1trXX1gKS5qb2luKFxcXCImXFxcIik7XFxuICAgICAgICByZXR1cm4gQ3J5cHRvSlMuSG1hY1NIQTI1NihxdWVyeVN0cmluZywga2V5KS50b1N0cmluZyhDcnlwdG9KUy5lbmMuSGV4KTtcXG4gICAgfVxcblxcbiAgICAvLyDpmo/mnLrlrZfnrKbkuLJcXG4gICAgY29uc3Qgbm9uY2UgPSBnZW5lcmF0ZU5vbmNlKCk7XFxuXFxuICAgIC8vIOetvuWQjeWPguaVsOWvueixoVxcbiAgICBjb25zdCBwYXlsb2FkID0ge1xcbiAgICAgICAgdXJsOiBNYWNQbGF5ZXIudXJsLFxcbiAgICAgICAgdGltZXN0YW1wLFxcbiAgICAgICAgbm9uY2UsXFxuICAgIH07XFxuXFxuICAgIC8vIOeUn+aIkOetvuWQjVxcbiAgICBjb25zdCBzaWduYXR1cmUgPSBnZW5lcmF0ZVNpZ25hdHVyZShwYXlsb2FkLCBzZWNyZXRLZXkpO1xcblxcbiAgICAvLyDmnoTpgKDor7fmsYLlnLDlnYBcXG4gICAgY29uc3QgYXBpVXJsID0gYCR7TVlfSE9NRX0vYXBpL3hncGxheWVyL2RlYy5waHA/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KE1hY1BsYXllci51cmwpfSZ0aW1lc3RhbXA9JHt0aW1lc3RhbXB9Jm5vbmNlPSR7bm9uY2V9JnNpZ25hdHVyZT0ke3NpZ25hdHVyZX1gO1xcblxcbiAgICAvLyDor7fmsYLop6Plr4bmjqXlj6PvvIzojrflj5bmnIDnu4jmkq3mlL7lnLDlnYBcXG4gICAgY29uc3QgeGd1cmwgPSBKU09OLnBhcnNlKHJlcXVlc3QoYXBpVXJsKSkudXJsO1xcblxcbiAgICAvLyDku47ov5Tlm57nmoQgVVJMIOS4reaPkOWPliB2aWRcXG4gICAgY29uc3QgdmlkID0geGd1cmwuc3BsaXQoJ3ZpZD0nKVsxXTtcXG5cXG4gICAgLy8g5p6E6YCgIG0zdTgg5pKt5pS+5YiX6KGo6Lev5b6EXFxuICAgIGNvbnN0IGJhc2VQYXRoID0gYGh0dHBzOi8veGdjdC12aWRlby52emNkbi5uZXQvJHt2aWR9L2A7XFxuXFxuICAgIC8vIOiOt+WPliBtM3U4IOWGheWuuVxcbiAgICBjb25zdCBtM3U4Q29udGVudCA9IGZldGNoKGJhc2VQYXRoICsgXFxcInBsYXlsaXN0Lm0zdThcXFwiKTtcXG5cXG4gICAgLy8g5Yy56YWN5omA5pyJIG0zdTgg5YiG5q615Zyw5Z2AXFxuICAgIGNvbnN0IHBsYXlsaXN0ID0gbTN1OENvbnRlbnQubWF0Y2goLy4qP20zdTgvZykubWFwKGl0ZW0gPT4ge1xcbiAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgICB0aXRsZTogaXRlbS5yZXBsYWNlKC8uK3goLio/KVxcXFwvLisvZywgXFxcIiQxUFxcXCIpLFxcbiAgICAgICAgICAgIHVybDogYmFzZVBhdGggKyBpdGVtLFxcbiAgICAgICAgfTtcXG4gICAgfSk7XFxuXFxuICAgIC8vIOaPkOWPluaJgOacieWIhuauteagh+mimOWSjOWcsOWdgFxcbiAgICBjb25zdCB0aXRsZXMgPSBwbGF5bGlzdC5tYXAoaXRlbSA9PiBpdGVtLnRpdGxlKTtcXG4gICAgY29uc3QgdXJscyA9IHBsYXlsaXN0Lm1hcChpdGVtID0+IGl0ZW0udXJsKTtcXG5cXG4gICAgLy8g6L+U5ZueIEpTT04g5a2X56ym5LiyXFxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICBuYW1lczogdGl0bGVzLFxcbiAgICAgICAgdXJsczogdXJscyxcXG4gICAgfSk7XFxufSBlbHNlIGlmICgvMTA4MHp5ay8udGVzdChNYWNQbGF5ZXIuZnJvbSkpIHtcXG5cXG4gICAgICAgIHJldHVybiBNYWNQbGF5ZXIudXJsXFxuXFxuXFxuICAgIH1cXG5cXG5cXG5cXG4gICAgaWYgKHR5cGVvZihNYWNQbGF5ZXIpICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgICAgdmlkZW9VcmwgPSBNYWNQbGF5ZXIudXJsO1xcbiAgICAgICAgLy9sb2codmlkZW9VcmwpXFxuICAgICAgICBpZiAodHlwZW9mKE1hY1BsYXllci51cmxfbmV4dCkgIT09ICd1bmRlZmluZWQnKSB7XFxuICAgICAgICAgICAgbmV4dCA9IE1hY1BsYXllci51cmxfbmV4dDtcXG4gICAgICAgICAgICBwcmUgPSBNYWNQbGF5ZXIubGlua19wcmVcXG4gICAgICAgIH1cXG4gICAgICAgIHZvZF9uYW1lID0gcGRmaChodG1sLCBcXFwiaGVhZCYmdGl0bGUmJlRleHRcXFwiKTtcXG4gICAgICAgIGlmICh0eXBlb2YoTWFjUGxheWVyLmZyb20pICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgICAgICAgIHZvZF9uYW1lICs9IFxcXCIgLSBcXFxcdTY0YWRcXFxcdTY1M2VcXFxcdTdmMTZcXFxcdTc4MDFcXFxcdWZmMWFcXFwiICsgTWFjUGxheWVyLmZyb20gKyBcXFwiXFxcIlxcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKHR5cGVvZihNYWNQbGF5ZXIubmlkKSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICAgICAgICB2b2RfbmFtZSArPSBcXFwiIC0gXFxcXHU3YjJjXFxcIiArIE1hY1BsYXllci5zaWQgKyBcXFwiLVxcXCIgKyBNYWNQbGF5ZXIubmlkICsgXFxcIlxcXFx1OTZjNlxcXCJcXG4gICAgICAgIH1cXG4gICAgfVxcbiAgICAvL2xvZyh2b2RfbmFtZSlcXG4gICAgaWYgKHZpZGVvVXJsID09ICcnKSB7XFxuICAgICAgICBzdHJheS5lcnJvcignXFxcXHU2NGFkXFxcXHU2NTNlXFxcXHU1NzMwXFxcXHU1NzQwXFxcXHU0ZTBkXFxcXHU1Zjk3XFxcXHU0ZTNhXFxcXHU3YTdhJyk7XFxuICAgICAgICByZXR1cm4gZmFsc2VcXG4gICAgfVxcbiAgICB0eXBlID0gdmlkZW90eXBlKHZpZGVvVXJsKTtcXG4gICAgLy9sb2codHlwZSlcXG4gICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKHBvc3QoTVlfSE9NRSArICcvc3RhdGljL3BsYXllci9hcnRwbGF5ZXIvYXBpLnBocD9hYz1nZXRkYXRlJywge1xcbiAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgIFxcXCJ4LXJlcXVlc3RlZC13aXRoXFxcIjogXFxcIlhNTEh0dHBSZXF1ZXN0XFxcIlxcbiAgICAgICAgfSxcXG4gICAgICAgIGJvZHk6IHtcXG4gICAgICAgICAgICBcXFwidXJsXFxcIjogdmlkZW9VcmwsXFxuICAgICAgICAgICAgXFxcInR5cGVcXFwiOiB0eXBlLFxcbiAgICAgICAgICAgIFxcXCJ0aXRsZVxcXCI6IHZvZF9uYW1lLFxcbiAgICAgICAgICAgIFxcXCJyZWZlcmVyXFxcIjogaW5wdXRcXG4gICAgICAgIH1cXG4gICAgfSkpXFxuICAgIGlmIChkYXRhLmNvZGUgPT0gMjAwKSB7XFxuICAgICAgICBrZXkgPSBDcnlwdG9KUy5NRDUoXFxcInhpYW9oeXMuY29tXFxcIikudG9TdHJpbmcoKS5zbGljZSgwLCAxNik7XFxuICAgICAgICBjb25maWcgPSBKU09OLnBhcnNlKGNyeXB0SnMoZGF0YS5wbGF5ZXIsIGtleSwgZGF0YS5pdikpO1xcbiAgICAgICAgcGxheV9pbmZvID0gSlNPTi5wYXJzZShjcnlwdEpzKGRhdGEuZGF0YSwga2V5LCBkYXRhLml2KSk7XFxuICAgICAgICBsb2cocGxheV9pbmZvKVxcbiAgICAgICAgcGxheXVybCA9IHBsYXlfaW5mby51cmxcXG5cXG5cXG4gICAgICAgIGlmICgvdlxcXFwvdHkvLnRlc3QocGxheXVybCkpIHtcXG5cXG4gICAgICAgICAgICBldmFsKHJlcXVlc3QocGxheXVybCkubWF0Y2goL3ZhciByYW5kID0oW1xcXFxzXFxcXFNdKj87KXsyfS8pWzBdKVxcblxcbiAgICAgICAgICAgIGZ1bmN0aW9uIGpzX2RlY3J5cHQoc3RyLCBrZXksIGl2KSB7XFxuICAgICAgICAgICAgICAgIGV2YWwoZ2V0Q3J5cHRvSlMoKSlcXG4gICAgICAgICAgICAgICAgdmFyIGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKGtleSk7XFxuICAgICAgICAgICAgICAgIHZhciBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKGl2KTtcXG4gICAgICAgICAgICAgICAgdmFyIGRlY3J5cHRlZCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHN0ciwga2V5LCB7XFxuICAgICAgICAgICAgICAgICAgICBpdjogaXYsXFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcXG4gICAgICAgICAgICAgICAgfSkudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVjcnlwdGVkXFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHZhciB2aWRlbyA9IEpTT04ucGFyc2UoanNfZGVjcnlwdChwbGF5ZXIsICdWRkJUemR1anBSOUZXQmhlJywgcmFuZCkpLnVybFxcbiAgICAgICAgICAgIHJldHVybiB2aWRlbyArICcjaXNWaWRlbz10cnVlIydcXG4gICAgICAgIH0gZWxzZSBpZiAocGxheXVybCA9PT0gdmlkZW9VcmwpIHtcXG5cXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6KeG6aKR5Zyw5Z2A5peg5pWI77yM5peg5rOV5pKt5pS+J1xcbiAgICAgICAgfVxcbiAgICAgICAgcmV0dXJuIHBsYXl1cmwgKyAnI2lzVmlkZW89dHJ1ZSMnXFxuICAgIH1cXG5cXG59LCBNWV9IT01FKVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6aqM6K+B56CBXCIsXCJwYXRoXCI6XCJ5em1cIixcInJ1bGVcIjpcIndoaWxlICgv6L6T5YWl6aqM6K+B56CBfOezu+e7n+WuieWFqOmqjOivgS8udGVzdChodG1sKSkge1xcbnJjKCdodHRwczovL2dpdGNvZGUubmV0L2xpdXphb3l1ZS9oYWkvLS9yYXcvbWFzdGVyL2p1eXVlLmpzJywgMjQpOyBcXG4gICAgbGV0IGhlYWRlcnMgPSB7XFxuICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IE1PQklMRV9VQSxcXG4gICAgICAgIFxcXCJSZWZlcmVyXFxcIjogTVlfVVJMXFxuICAgIH1cXG4gICAgbGV0IHN6ID0gb2NyKE1ZX0hPTUUgKyAnL3ZlcmlmeS9pbmRleC5odG1sPycsIGhlYWRlcnMpOyAgICBcXG4gICAgIGZldGNoKE1ZX0hPTUUgKyBodG1sLm1hdGNoKC9cXFxcL2luZGV4LnBocC4qP3ZlcmlmeT0vKVswXSArIHN6LCB7XFxuICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCdcXG4gICAgfSkgICBcXG4gICAgdmFyIHl6ID0gTVlfVVJMXFxuICAgLy8gbG9nKE1ZX1VSTClcXG4gICAgaHRtbCA9IHJlcXVlc3QoeXosIHtcXG4gICAgICAgIC8vICAgaGVhZGVyczogaGVhZGVyc1xcbiAgICB9KVxcbn1cXG5pZiAoL+mikee5geaTjeS9nC8udGVzdChodG1sKSkge1xcbiAgICBkLnB1c2goe1xcbiAgICB0aXRsZTogJ+e9keermeaQnOe0ouaXtumXtOmXtOmalOWNgeenkicsXFxuICAgIGRlc2M6IFxcXCLljYHnp5LlkI7kuIvmi4nliLfmlrDph43or5VcXFwiXFxufSlcXG5cXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLnn63op4bliqjmgIFcIixcInBhdGhcIjpcImR0ZmxcIixcInJ1bGVcIjpcImpzOlxcbi8qXFxuVmVyIDIwMjMtMTAtMjggMS4wXFxu5aSH5rOo77ya5LiN6KaB55So5rW36ZiU5Luj56CB5qC85byP5YyWIOWGheWuueS8muWHuumUmVxcbuW/hemhu+WPguaVsO+8mlxcbuWIhuexu+minOiJsiDlpKfnsbvlrprkvY0gXFxu5bCP57G75a6a5L2NIOWIhuexu+agh+mimCDliIbnsbvpk77mjqVcXG5odG1sID0+5rqQ56CBIHBhZ2UgPT7pobXnoIFcXG7lj6/pgInlj4LmlbDvvJpcXG7mi7zmjqXliIbnsbsg5oqY5Y+g5qCH6K6wIOWxleW8gOagh+iusCDmjpLpmaRcXG7lpKfnsbvpk77mjqUg5aSn57G75qCH6aKYIOa4hemZpOmUriDlvIDlkK/mipjlj6BcXG7pmYTliqDlrprkvY1cXG7or7TmmI7vvJpcXG7lpJbpnaLnlKhnZXRNeVZhcihNWV9SVUxFLnVybCkg5oiW6ICFIOeKtuaAgSDlj5bpk77mjqVcXG7prZTmlLk6zrFcXG4qL1xcblxcbmxldCBlbXB0eSA9IFxcXCJoaWtlcjovL2VtcHR5XFxcIjtcXG5sZXQgY2F0ZWdvcmllcyA9IFtdO1xcbmlmICh0eXBlb2YgKOaLvOaOpeWIhuexuykgIT0gJ3VuZGVmaW5lZCcgJiYg5ou85o6l5YiG57G7ICE9ICcnKSB7XFxuICAgIGNhdGVnb3JpZXMgPSBbcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmpvaW4oJ1xcXFxuJyldO1xcbiAgICBpZiAo5ou85o6l5YiG57G7LmluY2x1ZGVzKCc7JykpIHtcXG4gICAgICAgIOaLvOaOpeWIhuexuyA9IOaLvOaOpeWIhuexuy5zcGxpdCgnOycpO1xcbiAgICB9XFxuICAgIGlmICjmi7zmjqXliIbnsbsuY29uc3RydWN0b3IgPT0gQXJyYXkpIHtcXG4gICAgICAgIOaLvOaOpeWIhuexuy5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgIGNhdGVnb3JpZXMgPSBjYXRlZ29yaWVzLmNvbmNhdChwZGZhKGh0bWwsIGl0ZW0pKTtcXG4gICAgICAgIH0pXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBjYXRlZ29yaWVzID0gW3BkZmEoaHRtbCwg5aSn57G75a6a5L2NKS5qb2luKCdcXFxcbicpXS5jb25jYXQocGRmYShodG1sLCDmi7zmjqXliIbnsbspKTtcXG4gICAgfVxcbiAgICBpZiAodHlwZW9mICjpmYTliqDlrprkvY0pICE9ICd1bmRlZmluZWQnICYmIOmZhOWKoOWumuS9jS5sZW5ndGggPiAwKSB7XFxuICAgICAgICDpmYTliqDlrprkvY0uZm9yRWFjaCh4ID0+IHtcXG4gICAgICAgICAgICB2YXIg5LiA57qnID0gcGRmYShodG1sLCB4LuS4gOe6p+WumuS9jSkubWFwKHMgPT4ge1xcbiAgICAgICAgICAgICAgICB2YXIg5a6a5L2NID0gcGRmYShzLCB4LuWwj+exuykubWFwKHEgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gcGRmaChxLCB4Luagh+mimCk7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gJ2EnXFxuICAgICAgICAgICAgICAgICAgICBpZiAoeC7pk77mjqUuaW5jbHVkZXMoJ0BAJykpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IHgu6ZO+5o6lLnNwbGl0KCdAQCcpWzBdXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBwZGZoKHEsIHgu6ZO+5o6lLnNwbGl0KCdAQCcpWzFdKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC7ovazmjaIgPT0gdHJ1ZSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDxsaSBkYXRhLXR5cGU9XFxcIiR7c3RhdGV9XFxcIiBkYXRhLXZhbD1cXFwiJHt2YWx1ZX1cXFwiPjxhIGhyZWY9XFxcIlxcXCI+JHt0aXRsZX08L2E+PC9saT5gXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGA8YSB0eXBlPVxcXCJAZXh0cmFcXFwiIHN0YXRlPVxcXCIke3N0YXRlfVxcXCIgdmFsdWU9XFxcIiR7dmFsdWV9XFxcIj4ke3RpdGxlfTwvYT5gO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZiA9IHBkKHEsIHgu6ZO+5o6lKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDxhIGhyZWY9XFxcIiR7aHJlZn1cXFwiPiR7dGl0bGV9PC9hPmA7XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICByZXR1cm4g5a6a5L2NO1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIGNhdGVnb3JpZXMucHVzaCjkuIDnuqcuam9pbignXFxcXG4nKSk7XFxuICAgICAgICB9KTtcXG4gICAgfVxcbn0gZWxzZSB7XFxuICAgIGNhdGVnb3JpZXMgPSBbcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmpvaW4oJ1xcXFxuJyldO1xcbn1cXG5cXG5sZXQgaXRlbXMgPSBbXTtcXG5sZXQgY2F0ZXMgPSBbXTtcXG5sZXQgaW5pdF9jYXRlID0gbmV3IEFycmF5KDIwKS5maWxsKFxcXCIwXFxcIik7XFxuY29uc3QgZm9sZCA9IGdldE15VmFyKE1ZX1JVTEUuZ3JvdXAsIFxcXCIwXFxcIik7XFxuY29uc3QgY2F0ZV90ZW1wID0gSlNPTi5wYXJzZShnZXRNeVZhcihcXFwiaGVhZC5jYXRlXFxcIiwgSlNPTi5zdHJpbmdpZnkoaW5pdF9jYXRlKSkpO1xcbnZhciDmipjlj6DnirbmgIEgPSAodHlwZW9mICjlvIDlkK/mipjlj6ApICE9ICd1bmRlZmluZWQnKSA/IOW8gOWQr+aKmOWPoCA6IHRydWU7XFxudmFyIOaKmOWPoCA9ICh0eXBlb2YgKOaKmOWPoOagh+iusCkgIT0gJ3VuZGVmaW5lZCcgJiYg5oqY5Y+g5qCH6K6wICE9ICcnKSA/IOaKmOWPoOagh+iusCA6ICfigJzigJzigJ3igJ0nICsgJ+KIqCcuZm9udGNvbG9yKFxcXCIjRkYwMDAwXFxcIik7XFxudmFyIOWxleW8gCA9ICh0eXBlb2YgKOWxleW8gOagh+iusCkgIT0gJ3VuZGVmaW5lZCcgJiYg5bGV5byA5qCH6K6wICE9ICcnKSA/IOWxleW8gOagh+iusCA6ICfigJzigJzigJ3igJ0nICsgJ+KIpycuZm9udGNvbG9yKFxcXCIjMWFhZDE5XFxcIik7XFxudmFyIOa4hemZpCA9ICh0eXBlb2YgKOa4hemZpOmUrikgIT0gJ3VuZGVmaW5lZCcgJiYg5riF6Zmk6ZSuICE9ICcnKSA/IOa4hemZpOmUriA6IFtdO1xcbnZhciDnirbmgIEgPSAodHlwZW9mICjnirbmgIHmoIforrApICE9ICd1bmRlZmluZWQnICYmIOeKtuaAgeagh+iusCAhPSAnJykgPyDnirbmgIHmoIforrAgOiBNWV9SVUxFLnVybDtcXG52YXIg5aSn57G75aSE55CGID0gdHlwZW9mICjkuIDnuqfliIbnsbvlpITnkIYpICE9ICd1bmRlZmluZWQnID8gdHJ1ZSA6IGZhbHNlO1xcbnZhciDmkJzntKIgPSB0eXBlb2YgKOW8gOWQr+aQnOe0oikgIT0gJ3VuZGVmaW5lZCcgPyDlvIDlkK/mkJzntKIgOiBmYWxzZTtcXG52YXIg5YWo5riFID0gKHR5cGVvZiAo5YWo5riF6ZSuKSAhPSAndW5kZWZpbmVkJyAmJiDlhajmuIXplK4gIT0gJycpID8g5YWo5riF6ZSuIDogW107XFxu5YWo5riFLnVuc2hpZnQoJ3lpX2ZpcnN0cGFnZScpO1xcblxcblxcbmlmIChwYXJzZUludChwYWdlKSA9PT0gMSkge1xcbiAgICBpZiAo5pCc57SiKSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwiXFxcIixcXG4gICAgICAgICAgICB1cmw6IFxcXCInaGlrZXI6Ly9zZWFyY2g/cnVsZT1cXFwiICsgTVlfUlVMRS50aXRsZSArIFxcXCImcz0nK2lucHV0XFxcIixcXG4gICAgICAgICAgICBkZXNjOiBcXFwi5pCc57Si5YWz6ZSu6K+NXFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGdldE15VmFyKCdrZXl3b3JkJywgJycpLFxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcigna2V5d29yZCcsIGlucHV0KTtcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICB9XFxuICAgIGlmICjmipjlj6DnirbmgIEpIHtcXG4gICAgICAgIGlmIChwYWdlID09IDEpIHtcXG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGZvbGQgPT09ICcxJyA/IOaKmOWPoCA6IOWxleW8gCxcXG4gICAgICAgICAgICAgICAgdXJsOiAkKFxcXCIjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKCh0aXRsZSwgZm9sZCwgdSwgYWxsLCBleHBzKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgZm9sZCA9IGdldE15VmFyKE1ZX1JVTEUuZ3JvdXAsIGZvbGQpO1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIFvlsZXlvIAsIOaKmOWPoF0gPSBleHBzO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvbGQgPT0gMSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjeCA9IGZpbmRJdGVtc0J5Q2xzKHRpdGxlICsgJ2NhdGVfYnV0dG9uJyk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2NhdGVfYnV0dG9uJywgY3gpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUl0ZW1CeUNscyh0aXRsZSArICdjYXRlX2J1dHRvbicpO1xcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3ggPSBzdG9yYWdlMC5nZXRNeVZhcignY2F0ZV9idXR0b24nLCBbXSkubWFwKHggPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4Wydjb2xfdHlwZSddID0geFsnY29sX3R5cGUnXSA/IHhbJ2NvbF90eXBlJ10gOiB4Wyd0eXBlJ107XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4O1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZEl0ZW1BZnRlcih0aXRsZSArICdjYXRlX2xpbmUnLCBjeClcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIC8qYWxsLmZvckVhY2goKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcihpdGVtKTtcXG4gICAgICAgICAgICAgICAgICAgIH0pOyovXFxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVJdGVtKHRpdGxlICsgJ2NhdGVfZXhwJywge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBmb2xkID09IDEgPyDlsZXlvIAgOiDmipjlj6AsXFxuICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoTVlfUlVMRS5ncm91cCwgZm9sZCA9PT0gXFxcIjFcXFwiID8gXFxcIjBcXFwiIDogXFxcIjFcXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCI7XFxuICAgICAgICAgICAgICAgIH0sIE1ZX1JVTEUudGl0bGUsIGZvbGQsIOeKtuaAgSwg5YWo5riFLCBb5bGV5byALCDmipjlj6BdKSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGlkOiBNWV9SVUxFLnRpdGxlICsgJ2NhdGVfZXhwJyxcXG4gICAgICAgICAgICAgICAgICAgIGxvbmdDbGljazogW3tcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+a4hemZpOeKtuaAgScsXFxuICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKHgsIGFsbCwgY2wpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcih4KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcignaGVhZC5jYXRlJyk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbC5mb3JFYWNoKChpdGVtKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKGl0ZW0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsLmZvckVhY2goKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyTXlWYXIoaXRlbSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCDnirbmgIEsIOWFqOa4hSwg5riF6ZmkKVxcbiAgICAgICAgICAgICAgICAgICAgfV1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9XFxuICAgIH1cXG4gICAgbGV0IHNldFRpdGxlID0gKGssIGksIHQpID0+IHtcXG4gICAgICAgIHJldHVybiBrID09IGkgPyBcXFwi4oCc4oCc4oCd4oCdXFxcIiArIHQuZm9udGNvbG9yKOWIhuexu+minOiJsikgOiB0XFxuICAgIH1cXG4gICAgY2F0ZWdvcmllcy5mb3JFYWNoKChjYXRlZ29yeSwgaW5kZXgpID0+IHtcXG4gICAgICAgIGxldCBzdWJfY2F0ZWdvcmllcyA9IFtdO1xcbiAgICAgICAgaWYgKOWwj+exu+WumuS9jS5pbmNsdWRlcygnOycpKSB7XFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMgPSBwZGZhKGNhdGVnb3J5LCDlsI/nsbvlrprkvY0uc3BsaXQoJzsnKVswXSk7XFxuICAgICAgICAgICAgaWYgKHN1Yl9jYXRlZ29yaWVzLmxlbmd0aCA9PSAwKSB7XFxuICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzID0gcGRmYShjYXRlZ29yeSwg5bCP57G75a6a5L2NLnNwbGl0KCc7JylbMV0pO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMgPSBwZGZhKGNhdGVnb3J5LCDlsI/nsbvlrprkvY0pO1xcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMuZm9yRWFjaCgoaXRlbSwga2V5KSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCBf5aSn57G76ZO+5o6lID0gKHR5cGVvZiAo5aSn57G76ZO+5o6lKSAhPSAndW5kZWZpbmVkJyAmJiDlpKfnsbvpk77mjqUgIT0gJycpID8g5aSn57G76ZO+5o6lIDog5YiG57G76ZO+5o6lO1xcblxcbiAgICAgICAgICAgICAgICBsZXQgX+Wkp+exu+agh+mimCA9ICh0eXBlb2YgKOWkp+exu+agh+mimCkgIT0gJ3VuZGVmaW5lZCcgJiYg5aSn57G75qCH6aKYICE9ICcnKSA/IOWkp+exu+agh+mimCA6IOWIhuexu+agh+mimDtcXG5cXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gcGRmaChpdGVtLCBf5aSn57G75qCH6aKYKTtcXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAo5o6S6ZmkKSAhPSAndW5kZWZpbmVkJyAmJiDmjpLpmaQgIT0gJycpIHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlID0gdGl0bGUucmVwbGFjZShuZXcgUmVnRXhwKOaOkumZpCwgXFxcImdcXFwiKSwgXFxcIlxcXCIpO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7XFxuICAgICAgICAgICAgICAgICAgICBjYXRlX3RlbXA6IGNhdGVfdGVtcCwga2V5OiBrZXksIHBhZ2U6IHBhZ2UsIGNsZWFyczog5riF6ZmkLCBzdGF0ZTog54q25oCBLCBhbGxjbGVhcnM6IOWFqOa4hVxcbiAgICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICAgIGxldCB1cmwgPSBwZChpdGVtLCBf5aSn57G76ZO+5o6lKTtcXG4gICAgICAgICAgICAgICAgaWYgKOWkp+exu+WkhOeQhikge1xcbiAgICAgICAgICAgICAgICAgICAgLy9sb2co5LiA57qn5YiG57G75aSE55CGKVxcbiAgICAgICAgICAgICAgICAgICAgLy9sb2coJC5zdHJpbmdpZnko5LiA57qn5YiG57G75aSE55CGKSlcXG4gICAgICAgICAgICAgICAgICAgIGxldCBpbnB1dCA9IHVybDtcXG4gICAgICAgICAgICAgICAgICAgIGV2YWwoXFxcInJlc3VsdCA9IFxcXCIgKyDkuIDnuqfliIbnsbvlpITnkIYpO1xcbiAgICAgICAgICAgICAgICAgICAgLy9sb2cocmVzdWx0KVxcbiAgICAgICAgICAgICAgICAgICAgdXJsID0gcmVzdWx0O1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHNldFRpdGxlKGtleS50b1N0cmluZygpLCBjYXRlX3RlbXBbaW5kZXhdLCB0aXRsZSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHVybCArICcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChwYXJhbXMpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3X2NhdGUgPSBbXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2xlYXJzLmZvckVhY2goKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcihpdGVtKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmFsbGNsZWFycy5mb3JFYWNoKChpdGVtKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyTXlWYXIoaXRlbSlcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5jYXRlX3RlbXAuZm9yRWFjaCgoY2F0ZSwgaW5kZXgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2NhdGUucHVzaChpbmRleCA9PT0gMCA/IHBhcmFtcy5rZXkudG9TdHJpbmcoKSA6IFxcXCIwXFxcIilcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJoZWFkLmNhdGVcXFwiLCBKU09OLnN0cmluZ2lmeShuZXdfY2F0ZSkpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKHBhcmFtcy5zdGF0ZSwgaW5wdXQpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCI7XFxuICAgICAgICAgICAgICAgICAgICB9LCBwYXJhbXMpXFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIixcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGlkOiBNWV9SVUxFLnRpdGxlICsgJ2NhdGVfbGluZScsXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgdmFyIGV4dHJhcG9zID0gZmFsc2U7XFxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmluY2x1ZGVzKCd0eXBlPVxcXCJAZXh0cmFcXFwiJykpIHtcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhcG9zID0gdHJ1ZTtcXG4gICAgICAgICAgICAgICAgICAgIC8vbG9nKCfpmYTliqDlrprkvY0nKVxcbiAgICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICAgIGlmIChleHRyYXBvcykge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gcGRmaChpdGVtLCAnYSYmVGV4dCcpO1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAo5o6S6ZmkKSAhPSAndW5kZWZpbmVkJyAmJiDmjpLpmaQgIT0gJycpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnJlcGxhY2UobmV3IFJlZ0V4cCjmjpLpmaQsIFxcXCJnXFxcIiksIFxcXCJcXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIHZhciBqc29uID0ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHBkZmgoaXRlbSwgJ2EmJnN0YXRlJyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBkZmgoaXRlbSwgJ2EmJnZhbHVlJyksXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuXFxuICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimCk7XFxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mICjmjpLpmaQpICE9ICd1bmRlZmluZWQnICYmIOaOkumZpCAhPSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gdGl0bGUucmVwbGFjZShuZXcgUmVnRXhwKOaOkumZpCwgXFxcImdcXFwiKSwgXFxcIlxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICAgICAgdmFyIGpzb24gPSAnJztcXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodHJ1ZSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2Ug5YiG57G76ZO+5o6lLmluY2x1ZGVzKCdAQEAnKTpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHBkZmgoaXRlbSwg5YiG57G76ZO+5o6lLnNwbGl0KCdAQEAnKVswXSksXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcGRmaChpdGVtLCDliIbnsbvpk77mjqUuc3BsaXQoJ0BAQCcpWzFdKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIOWIhuexu+mTvuaOpS5pbmNsdWRlcygnQEAnKTpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IOWIhuexu+mTvuaOpS5zcGxpdCgnQEAnKVswXSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwZGZoKGl0ZW0sIOWIhuexu+mTvuaOpS5zcGxpdCgnQEAnKVsxXSksXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IHBkKGl0ZW0sIOWIhuexu+mTvuaOpSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgLyp2YXIganNvbj3liIbnsbvpk77mjqUuaW5jbHVkZXMoJ0BAQCcpP3tcXG4gICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTpwZGZoKGl0ZW0s5YiG57G76ZO+5o6lLnNwbGl0KCdAQEAnKVswXSksXFxuICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOnBkZmgoaXRlbSzliIbnsbvpk77mjqUuc3BsaXQoJ0BAQCcpWzFdKSxcXG4gICAgICAgICAgICAgICAgICAgICB9OnBkKGl0ZW0s5YiG57G76ZO+5o6lKTtcXG4gICAgICAgICAgICAgICAgICAgICBcXG4gICAgICAgICAgICAgICAgICAgICBqc29uPeWIhuexu+mTvuaOpS5pbmNsdWRlcygnQEAnKT97XFxuICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU65YiG57G76ZO+5o6lLnNwbGl0KCdAQCcpWzBdLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTpwZGZoKGl0ZW0s5YiG57G76ZO+5o6lLnNwbGl0KCdAQCcpWzFdKSxcXG4gICAgICAgICAgICAgICAgICAgICB9OnBkKGl0ZW0s5YiG57G76ZO+5o6lKTsqL1xcblxcbiAgICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7XFxuICAgICAgICAgICAgICAgICAgICBjYXRlX3RlbXA6IGNhdGVfdGVtcCwgaW5kZXg6IGluZGV4LCBrZXk6IGtleSwgcGFnZTogcGFnZSwganNvbjoganNvbiwgc3RhdGU6IOeKtuaAgSwgYWxsY2xlYXJzOiDlhajmuIVcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBjYXRlcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBzZXRUaXRsZShrZXkudG9TdHJpbmcoKSwgY2F0ZV90ZW1wW2luZGV4XSwgdGl0bGUpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5JyArICcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChwYXJhbXMpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuYWxsY2xlYXJzLmZvckVhY2goKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcihpdGVtKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJoZWFkLmNhdGVcXFwiLCBKU09OLnN0cmluZ2lmeShwYXJhbXMuY2F0ZV90ZW1wKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmFtcy5qc29uLmNvbnN0cnVjdG9yID09PSBPYmplY3QpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2R0XycgKyBwYXJhbXMuanNvbi50eXBlLCBwYXJhbXMuanNvbi52YWx1ZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIocGFyYW1zLnN0YXRlLCBwYXJhbXMuanNvbik7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCI7XFxuICAgICAgICAgICAgICAgICAgICB9LCBwYXJhbXMpLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xzOiBNWV9SVUxFLnRpdGxlICsgJ2NhdGVfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgY2F0ZXMucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgY2xzOiBNWV9SVUxFLnRpdGxlICsgJ2NhdGVfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9KVxcbn1cXG5cXG5cXG5pZiAoZm9sZCA9PT0gXFxcIjFcXFwiIHx8IOaKmOWPoOeKtuaAgSA9PSBmYWxzZSkge1xcbiAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChjYXRlcyk7XFxufVxcbmlmIChmb2xkID09PSBcXFwiMFxcXCIpIHtcXG4gICAgc3RvcmFnZTAucHV0TXlWYXIoJ2NhdGVfYnV0dG9uJywgY2F0ZXMpXFxufVxcbmlmICh0eXBlb2Ygc2V0UHJlUmVzdWx0ICE9ICd1bmRlZmluZWQnKSB7XFxuICAgIGl0ZW1zID0gZC5jb25jYXQoaXRlbXMpO1xcbiAgICAvL+a4heepuue7p+aJv+aVsOe7hFxcbiAgICBkLmxlbmd0aCA9IDA7XFxuICAgIHNldFByZVJlc3VsdChpdGVtcyk7XFxufSBlbHNlIHtcXG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgIGQucHVzaChpdGVtKTtcXG4gICAgfSlcXG59XFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLkuoznuqdcIixcInBhdGhcIjpcImVqXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbnZhciBodG1sID0gZ2V0UmVzQ29kZSgpO1xcblxcbnZhciBhcnRzID0gcGRmYShodG1sLCAnLm5hdi1zd2lwZXImJmE6bm90KDptYXRjaGVzKOS4i+i9vSkpJyk7XFxuXFxudmFyIHRhYnMgPSBbXTtcXG5mb3IgKHZhciBpIGluIGFydHMpIHtcXG4gICAgdGFicy5wdXNoKHBkZmgoYXJ0c1tpXSwgJ1RleHQnKSlcXG59XFxuXFxudmFyIGNvbnRzID0gcGRmYShodG1sLCAnYm9keSYmLmFudGhvbG9neS1saXN0LWJveCcpO1xcblxcbnZhciBsaXN0cyA9IFtdO1xcbmZvciAodmFyIGkgaW4gY29udHMpIHtcXG4gICAgbGlzdHMucHVzaChwZGZhKGNvbnRzW2ldLCAnYm9keSYmYScpKVxcbn1cXG50cnkge1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBwZGZoKGh0bWwsICcuc2VhcmNoLXNob3cmJmxpOmNvbnRhaW5zKOWvvOa8lO+8mikmJlRleHQnKS5zdWJzdHJpbmcoMCwgMTgpICtcXG4gICAgICAgICdcXFxcbicgK1xcbiAgICAgICAgJ1xcXFxuJyArXFxuICAgICAgICAgICAgIHBkZmgoaHRtbCxcXG4nLnNlYXJjaC1zaG93JiZsaTpjb250YWlucyjkuLvmvJTvvJopJiZUZXh0Jykuc3Vic3RyaW5nKDAsIDE4KSxcXG4gICAgZGVzYzogcGRmaChodG1sLCAnLnNlYXJjaC1zaG93JiZsaTpjb250YWlucyjmm7TmlrDvvJopJiZUZXh0JyksXFxuICAgIGltZzogTVlfUEFSQU1TLnBpYyxcXG4gICAgdXJsOiBNWV9VUkwsXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cicsZXh0cmE6IHtncmFkaWVudDogdHJ1ZX1cXG59KTtcXG52YXIg566A5LuLID0gcGRmaChodG1sLCAnLnRvcDI2JiZUZXh0JylcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxzbWFsbD48Zm9udCBjb2xvcj1cXFwiI2ZmMTQ4ZThlXFxcIj4nICsg566A5LuLLnN1YnN0cigwLCA1NSkgKyAnLi4uPC9mb250PjxzbWFsbD48Zm9udCBjb2xvcj1cXFwicmVkXFxcIj7or6bmg4U8L2ZvbnQ+PC9zbWFsbD48L3NtYWxsPicsXFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjJyArICdcXFxcbicgKyDnroDku4sgKycjbm9IaXN0b3J5IycgKyBgQHJ1bGU9anM6IHZhciBkID0gW107ZC5wdXNoKHt0aXRsZTon5b2x54mH566A5LuL77yaJysgTVlfVVJMLnNwbGl0KCcjJylbMV0sY29sX3R5cGU6ICdsb25nX3RleHQnfSk7IHNldFJlc3VsdChkKTtgLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG59KTtcXG59IGNhdGNoIChlKSB7XFxuZC5wdXNoKHtcXG4gICAgaW1nOiBwZChodG1sLCBcXG4nLnRoaXMtcGljLWJqJiZzdHlsZScpLnJlcGxhY2UoXFxcImJhY2tncm91bmQtaW1hZ2U6IHVybCgnXFxcIixcXFwiXFxcIikucmVwbGFjZShcXFwiJylcXFwiLFxcXCJcXFwiKSArJ0BSZWZlcmVyPScsXFxuICAgIHVybDogTVlfVVJMLFxcbiAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInLGV4dHJhOiB7Z3JhZGllbnQ6IHRydWV9XFxufSk7XFxufVxcblxcbiBldmFsKEpTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9sYXp5Jywge30pKS5ydWxlKTtcXG5cXG5mdW5jdGlvbiBzZXRUYWJzKHRhYnMsIHZhcmkpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAoZ2V0VmFyKCdzaHNvcnQnKSA9PSAnMScpID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogI0ZGMDAwMFxcXCI+6YCG5bqPPC9zcGFuPjwvYj4nIDogJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogIzFhYWQxOVxcXCI+5q2j5bqPPC9zcGFuPjwvYj4nLFxcbiAgICAgICAgdXJsOiBgQGxhenlSdWxlPS5qczpsZXQgY29uZiA9IGdldFZhcignc2hzb3J0Jyk7aWYoY29uZj09JzEnKXtwdXRWYXIoe2tleTonc2hzb3J0JywgdmFsdWU6JzAnfSk7fWVsc2V7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicxJ30pfTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+WIh+aNouaOkuW6j+aIkOWKnydgLFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgfSlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0YWJzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgdXJsID0gXFxcIiNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpwdXRWYXIoJ1xcXCIgKyB2YXJpICsgXFxcIicsICdcXFwiICsgaSArIFxcXCInKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBJzsnI25vSGlzdG9yeSNoaWtlcjovL2VtcHR5J1xcXCI7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBnZXRWYXIodmFyaSwgJzAnKSA9PSBpID8gJ+KAnOKAnCcgKyB0YWJzW2ldICsgJ+KAneKAnScgOiB0YWJzW2ldLFxcbiAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgICB9KVxcbiAgICB9XFxufVxcblxcbmZ1bmN0aW9uIHNldExpc3RzKGxpc3RzLCBpbmRleCkge1xcbiAgICB2YXIgbGlzdCA9IGxpc3RzW2luZGV4XTtcXG4gICAgaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzEnKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IGxpc3RzW2luZGV4XS5yZXZlcnNlKCk7XFxuICAgIH1cXG4gICAgZm9yICh2YXIgaiBpbiBsaXN0KSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBwZGZoKGxpc3Rbal0sICdhJiZUZXh0JylcXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL+esrChcXFxcZCsp6ZuGLywgJyQxJylcXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoJ+esrCcsICcnKVxcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgn5pyfJywgJycpLFxcbiAgICAgICAgICAgIHVybDogcGQobGlzdFtqXSwgJ2EmJmhyZWYnKSArIGxhenksXFxuICAgICAgICAgICAgY29sX3R5cGU6IGxpc3QubGVuZ3RoID4gMyA/ICd0ZXh0XzQnIDogJ3RleHRfMidcXG4gICAgICAgIH0pO1xcbiAgICB9XFxufVxcblxcbnNldFRhYnModGFicywgTVlfVVJMKTtcXG5zZXRMaXN0cyhsaXN0cywgZ2V0VmFyKE1ZX1VSTCwgJzAnKSk7XFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6ICdibGFua19ibG9jaydcXG59KTtcXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxufSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfigJjigJjigJnigJk8c21hbGw+PGZvbnQgY29sb3I9IzIwYjJhYT7mlbDmja7otYTmupDmlLbpm4bkuo7nvZHnu5zvvIzmtbfpmJTkuI3mj5Dkvpvku7vkvZXotYTmupDvvIE8L2ZvbnQ+PC9zbWFsbD4nLFxcbiAgICBkZXNjOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPSNmZjdmNTA+5pys6KeE5YiZ5LuF6ZmQ5a2m5Lmg5LiO5Lqk5rWB77yM6K+35a+85YWl5ZCOMjTlsI/ml7blhoXliKDpmaTvvIzor7fli7/kvKDmkq3vvIE8L2ZvbnQ+PC9zbWFsbD4nLFxcbiAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICB9XFxufSk7XFxuXFxuc2V0UmVzdWx0KGQpO1wifV0iLCJpY29uIjoiIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment