Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥遮天@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZGlzcGxheU5hbWVcIjpcIuWMheWtkFwiLFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJqczpcXG5zZXRSZXN1bHQoJ+acgOaWsO+8micgKyBwZGZoKHJlcXVlc3QoZ2V0UGFyYW0oJ3VybCcpKSwgJy5zdXBwb3J0aW5nLXRleHQmJmEmJlRleHQnKSk7XCIsXCJsaXN0VG9DbGVhckFzc29jaWF0ZWRGS1wiOltdLFwibGlzdFRvQ2xlYXJTZWxmRktcIjpbXSxcInBhZ2VMaXN0XCI6W3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLlh73mlbDnu4Tku7ZcIixcInBhdGhcIjpcInFzXCIsXCJydWxlXCI6XCJmdW5jdGlvbiB0aHJrKHNpemVzKSB7XFxuICAgIHZhciBmaGsgPSAnJztcXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gc2l6ZXM7IGkrKykge1xcbiAgICAgICAgZmhrID0gZmhrICsgJ+OAgCc7XFxuICAgIH1cXG4gICAgcmV0dXJuIGZoaztcXG59XFxuXFxuZnVuY3Rpb24gTGFiZWxfc2V0KGQsIHRhYmxlX0RhdGEpIHtcXG5cXG4gICAgLy8gZO+8muebtOaOpeWhq+WGmWTljbPlj69cXG4gICAgLy8gdGFibGVfRGF0Ye+8mlt0aXRsZTonJyxsaXN0Olt0aXRsZTonJyxkZXNjOicnLHVybDonJyxwaWM6JycsdHlwZTonJyxleHRyYTonJ10sLi4uLi5dXFxuXFxuICAgIHZhciBjb2xvcl9TZWxlY3Rpb24gPSBbJyM1MTlEOUUnLCAnIzI4NTk0MycsICcjMDk4QUMxJ107XFxuICAgIHZhciBjaSA9IDA7XFxuICAgIHRhYmxlX0RhdGEuZm9yRWFjaCgoZGF0YSwgaWQpID0+IHtcXG4gICAgICAgIHZhciBleHRyYSA9IHtcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2UsXFxuICAgICAgICAgICAgbmFtZTogZGF0YS50aXRsZVxcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKGRhdGEudGl0bGUubGVuZ3RoID09IDQpIHtcXG4gICAgICAgICAgICBkYXRhLnRpdGxlID0gZGF0YS50aXRsZSArIHRocmsoMTUpICsgJyZuYnNwOydcXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS50aXRsZS5sZW5ndGggPT0gNSkge1xcbiAgICAgICAgICAgIGRhdGEudGl0bGUgPSBkYXRhLnRpdGxlICsgdGhyaygxNCkgKyAnJm5ic3A7J1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBkYXRhLnRpdGxlID0gZGF0YS50aXRsZSArIHRocmsoMTMpXFxuICAgICAgICB9XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdPGJyPjxmb250IGNvbG9yPVxcXCInICsgY29sb3JfU2VsZWN0aW9uW2NpXSArICdcXFwiPicgKyBkYXRhLnRpdGxlICsgJzwvZm9udD48c21hbGw+PHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZjQ3OTgzXFxcIj7jgIDmm7TlpJogPjwvZm9udD48L3NtYWxsPjwvc21hbGw+JyxcXG4gICAgICAgICAgICB1cmw6IGRhdGEudXJsLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF8xXFxcIixcXG4gICAgICAgICAgICBleHRyYTogZXh0cmFcXG4gICAgICAgIH0pO1xcbiAgICAgICAgY2kgPSBjaSA9PSAyID8gMCA6IGNpICsgMVxcbiAgICAgICAgZGF0YS5saXN0LmZvckVhY2goKGRhdGFzKSA9PiB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGFzLnRpdGxlID8gZGF0YXMudGl0bGUgOiAnJyxcXG4gICAgICAgICAgICAgICAgZGVzYzogZGF0YXMuZGVzYyA/IGRhdGFzLmRlc2MgOiAnJyxcXG4gICAgICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSNpbW1lcnNpdmVUaGVtZSMjYXV0b0NhY2hlIyNub0hpc3RvcnkjP3VybD0nICsgZGF0YXMuZXh0cmEudXJsICsgJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiJyArIChkYXRhcy51cmwgPyBkYXRhcy51cmwgOiAnJykgKyAnXFxcIiknLFxcbiAgICAgICAgICAgICAgICBwaWNfdXJsOiBkYXRhcy5waWMgPyBkYXRhcy5waWMgOiAnJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IGRhdGFzLnR5cGUgPyBkYXRhcy50eXBlIDogJycsXFxuICAgICAgICAgICAgICAgIGV4dHJhOiBkYXRhcy5leHRyYSA/IGRhdGFzLmV4dHJhIDogJydcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH0pO1xcbiAgICB9KTtcXG59XFxuXFxuZnVuY3Rpb24g5re75Yqg5YiX6KGo56ug6IqCKGQsIOagh+mimOaVsOaNriwg5YiX6KGo5pWw5o2uLCDop6PmnpDku6PnoIEsIOmhtVVSTCwg5Zu+54mHKSB7XFxuXFxuXFxuICAgIC8vZOS4juWklueVjGTvvIzkuLrlkIzlhoXlrZjlnLDlnYDvvIzkuI3nlKjov5Tlm55cXG4gICAgLy/moIfpopjmlbDmja4gIOWNs+agh+mimOWQjeWtl1xcbiAgICAvL+WIl+ihqOaVsOaNruW/hemhu+aYr0pTT04gIOagvOW8j+aYr1t7dGl0bGU6JycsdXJsOicnLH0sLi4uLi5dICDkuJR1cmzlv4XpobvmnInliY3nvIBcXG5cXG4gICAgLy/lm77moIfojrflj5ZcXG4gICAgaWYgKCHlm77niYcpIHtcXG4gICAgICAgIOWbvueJhyA9ICdodHRwczovL2xhbm1laWd1b2ppYW5nLmNvbS90dWJpYW8vcS8xOC5wbmcnXFxuICAgIH1cXG5cXG4gICAgLy/pobVVUkwg6I635Y+WXFxuICAgIGlmICgh6aG1VVJMKSB7XFxuICAgICAgICDpobVVUkwgPSBNWV9SVUxFLnRpdGxlXFxuICAgIH1cXG5cXG4gICAgLy/moIfpopjlkI1cXG4gICAgdmFyIOagh+mimOWQjSA9ICc8Yj7ot6/nur88L2I+ICA8c21hbGw+PHNtYWxsPjxmb250IGNvbG9yPSNmOTkwNmY+5o6S5bqPID48L2ZvbnQ+PC9zbWFsbD48L3NtYWxsPidcXG5cXG5cXG4gICAgdmFyIOaOkuW6jyA9IGdldE15VmFyKOmhtVVSTCArIFxcXCLnq6DoioLmjpLluo9cXFwiLCBcXFwi5q2j5bqPXFxcIik7XFxuICAgIHZhciDmj5DnpLogPSDmjpLluo8gPT0gJ+WAkuW6jycgPyAn5q2j5bqPJyA6ICflgJLluo8nO1xcblxcbiAgICB2YXIg5o6S5bqPdXJsID0gJChcXFwiI25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgo5qCH6aKY5ZCNLCDmoIfpopjmlbDmja4sIOWIl+ihqOaVsOaNriwg6Kej5p6Q5Luj56CBLCDpobVVUkwpID0+IHtcXG4gICAgICAgIHZhciDmjpLluo8gPSBnZXRNeVZhcijpobVVUkwgKyBcXFwi56ug6IqC5o6S5bqPXFxcIiwgXFxcIuato+W6j1xcXCIpO1xcbiAgICAgICAgdmFyIOaPkOekuiA9IOaOkuW6jyA9PSAn5YCS5bqPJyA/ICfmraPluo8nIDogJ+WAkuW6jyc7XFxuICAgICAgICB1cGRhdGVJdGVtKHtcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBpZDog6aG1VVJMICsgXFxcIl/mjpLluo9cXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB0aXRsZTog5qCH6aKY5ZCNLnJlcGxhY2UoJ+i3r+e6vycsIOagh+mimOaVsOaNrikucmVwbGFjZSgn5o6S5bqPJywg5o+Q56S6KVxcbiAgICAgICAgfSlcXG5cXG5cXG4gICAgICAgIGlmICjmj5DnpLogPT0gJ+WAkuW6jycpIHtcXG4gICAgICAgICAgICDliJfooajmlbDmja4ucmV2ZXJzZSgpXFxuICAgICAgICB9XFxuICAgICAgICDliJfooajmlbDmja4uZm9yRWFjaChmdW5jdGlvbihkYXRhLCBzc2lkKSB7XFxuICAgICAgICAgICAgdXBkYXRlSXRlbSh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgICAgICB1cmw6IGRhdGEudXJsICsg6Kej5p6Q5Luj56CBLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgaWQ6IOmhtVVSTCArIFxcXCJf6YCJ6ZuGXFxcIiArIHNzaWRcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSk7XFxuXFxuXFxuICAgICAgICBwdXRNeVZhcijpobVVUkwgKyBcXFwi56ug6IqC5o6S5bqPXFxcIiwg5o+Q56S6KVxcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9LCDmoIfpopjlkI0sIOagh+mimOaVsOaNriwg5YiX6KGo5pWw5o2uLCDop6PmnpDku6PnoIEsIOmhtVVSTClcXG5cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiDmoIfpopjlkI0ucmVwbGFjZSgn6Lev57q/Jywg5qCH6aKY5pWw5o2uKS5yZXBsYWNlKCfmjpLluo8nLCDmjpLluo8pLFxcbiAgICAgICAgcGljX3VybDog5Zu+54mHLFxcbiAgICAgICAgdXJsOiDmjpLluo91cmwsXFxuICAgICAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCIsXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIGlkOiDpobVVUkwgKyBcXFwiX+aOkuW6j1xcXCJcXG4gICAgICAgIH1cXG4gICAgfSk7XFxuXFxuICAgIGlmICjmjpLluo8gPT0gJ+WAkuW6jycpIHtcXG4gICAgICAgIOWIl+ihqOaVsOaNri5yZXZlcnNlKClcXG4gICAgfVxcblxcbiAgICDliJfooajmlbDmja4uZm9yRWFjaChmdW5jdGlvbihkYXRhLCBpZCkge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICB1cmw6IGRhdGEudXJsICsg6Kej5p6Q5Luj56CBLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIixcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBpZDog6aG1VVJMICsgXFxcIl/pgInpm4ZcXFwiICsgaWRcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgfSk7XFxuXFxufVxcblxcbmZ1bmN0aW9uIOa3u+WKoOWktOmDqOWIl+ihqChkLCDmoIfpopgsIOWbvueJhywg5o+P6L+wLCDkvZzogIUsIOaXtumXtCwg5YiG57G7LCDpobVVUkwpIHtcXG5cXG4gICAg5qCH6aKYID0gIeagh+mimCA/ICcnIDog5qCH6aKYICsgJ1xcXFxuJ1xcbiAgICDlm77niYcgPSAh5Zu+54mHID8gJycgOiDlm77niYdcXG4gICAg5o+P6L+wID0gIeaPj+i/sCA/ICcnIDog5o+P6L+wLnJlcGxhY2UoXFxcIuabtOaWsOiHs++8mlxcXCIsICcnKVxcblxcbiAgICDkvZzogIUgPSAh5L2c6ICFID8gJycgOiAnXFxcXG4nICsg5L2c6ICFXFxuICAgIOaXtumXtCA9ICHml7bpl7QgPyAnJyA6ICdcXFxcbicgKyDml7bpl7RcXG4gICAg5YiG57G7ID0gIeWIhuexuyA/ICcnIDogJ1xcXFxuJyArIOWIhuexu1xcblxcblxcbiAgICB2YXIg5aS06YOodGl0bGUgPSBbJ+KAmOKAmOKAmeKAmTxiPicsICc8L2I+IDxzbWFsbD7mnIDmlrDvvJo8Zm9udCBjb2xvcj0jRkE3Mjk4PicsICc8L2ZvbnQ+JywgJzwvc21hbGw+J11cXG4gICAgdmFyIOWktOmDqGRlc2MgPSBbJ+KAmOKAmOKAmeKAmTxmb250IGNvbG9yPSNmOGVjYzk+JywgJzwvZm9udD4nXVxcblxcblxcblxcbiAgICDlpLTpg6h0aXRsZSA9IOWktOmDqHRpdGxlWzBdICsg5qCH6aKYICsg5aS06YOodGl0bGVbMV0gKyDmj4/ov7AgKyDlpLTpg6h0aXRsZVsyXSArIOS9nOiAhSArIOWktOmDqHRpdGxlWzNdXFxuXFxuICAgIOWktOmDqGRlc2MgPSDlpLTpg6hkZXNjWzBdICsg5pe26Ze0ICsg5YiG57G7ICsg5aS06YOoZGVzY1sxXVxcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IOWktOmDqHRpdGxlLFxcbiAgICAgICAgZGVzYzog5aS06YOoZGVzYyxcXG4gICAgICAgIHBpY191cmw6IOWbvueJhyxcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vc2VhcmNoP3M9JytNWV9QQVJBTVMubmFtZSsnJnJ1bGU96IGa5ryr8J+UricsXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInXFxuICAgIH0pO1xcblxcbn1cXG5cXG5cXG5mdW5jdGlvbiDmt7vliqDnroDku4soZCwg5pWw5o2u5rqQLCDpobVVUkwsIOWbvueJhykge1xcbiAgICAvL+iOt+WPluaVsOaNrlxcbiAgICB2YXIg566A5LuL5YaF5a65ID0g5pWw5o2u5rqQXFxuICAgIOeugOS7i+WGheWuuSA9IOeugOS7i+WGheWuuS5yZXBsYWNlKFxcXCLnroDku4vvvJpcXFwiLCBcXFwiXFxcIikucmVwbGFjZShcXFwi5LuL57uNOlxcXCIsIFxcXCJcXFwiKS5yZXBsYWNlKFxcXCLmvKvnlLtcXFwiLCBcXFwiXFxcIikucmVwbGFjZShcXFwi4oCm4oCmXFxcIiwgXFxcIlxcXCIpLnJlcGxhY2UoXFxcIueugOS7i1xcXCIsIFxcXCJcXFwiKVxcblxcbiAgICB2YXIg566A5LuL5YaF5a655pS2O1xcbiAgICBpZiAo566A5LuL5YaF5a65Lmxlbmd0aCA+IDQ1KSB7XFxuICAgICAgICDnroDku4vlhoXlrrnmlLYgPSDnroDku4vlhoXlrrkuc3Vic3RyKDAsIDQ1KSArICcuLi4nXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICDnroDku4vlhoXlrrnmlLYgPSDnroDku4vlhoXlrrkgKyAnLi4uJ1xcbiAgICB9XFxuXFxuICAgIC8v5Zu+5qCH6I635Y+WXFxuICAgIGlmICgh5Zu+54mHKSB7XFxuICAgICAgICDlm77niYcgPSAnaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL3EvMTA3LnBuZydcXG4gICAgfVxcblxcbiAgICAvL+mhtVVSTCDojrflj5ZcXG4gICAgaWYgKCHpobVVUkwpIHtcXG4gICAgICAgIOmhtVVSTCA9IE1ZX1JVTEUudGl0bGVcXG4gICAgfVxcblxcbiAgICAvL+agh+mimOS4jueugOS7i+agt+W8j1xcbiAgICB2YXIgbXp0ZXh0ID0gXFxcIiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxzbWFsbD7nroDku4s8L3NtYWxsPjxicj5cXFwiXFxuICAgIHZhciBidHRpdGxlID0gJzxmb250IGNvbG9yPVxcXCIjMDk4QUMxXFxcIj7mvKvnlLvnroDku4sgIDwvZm9udD48c21hbGw+PHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZjQ3OTgzXFxcIj7nroDku4vmlLYgPjwvZm9udD48L3NtYWxsPjwvc21hbGw+J1xcblxcbiAgICAvL+WxleW8gOS4juaUtue8qeaTjeS9nFxcbiAgICB2YXIgamogPSBnZXRNeVZhcijpobVVUkwgKyBcXFwi566A5LuL5pS2XFxcIiwgXFxcIuW3suaUtui1t1xcXCIpO1xcbiAgICB2YXIgamp1cmwgPSAkKFxcXCIjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKCjnroDku4vlhoXlrrksIOeugOS7i+WGheWuueaUtiwg5pS2LCDmlLblhoXlrrksIOW9k+WJjVVSTCkgPT4ge1xcbiAgICAgICAgdmFyIGpzYmwgPSDlvZPliY1VUkwgKyBcXFwi566A5LuL5pS2XFxcIjtcXG4gICAgICAgIHZhciBqaiA9IGdldE15VmFyKOW9k+WJjVVSTCArIFxcXCLnroDku4vmlLZcXFwiLCBcXFwi5bey5pS26LW3XFxcIik7XFxuICAgICAgICBqaiA9IGpqID09IFxcXCLlt7LmlLbotbdcXFwiID8gXFxcIuWxleW8gFxcXCIgOiBcXFwi5bey5pS26LW3XFxcIjtcXG4gICAgICAgIHB1dE15VmFyKGpzYmwsIGpqKVxcbiAgICAgICAgdXBkYXRlSXRlbSh7XFxuICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgaWQ6IOW9k+WJjVVSTCArIFxcXCJfYnRcXFwiXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB0aXRsZTog5pS2LnJlcGxhY2UoXFxcIueugOS7i+aUtlxcXCIsIGpqKVxcbiAgICAgICAgfSlcXG5cXG4gICAgICAgIHVwZGF0ZUl0ZW0oe1xcbiAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgIGlkOiDlvZPliY1VUkwgKyBcXFwiX216XFxcIlxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgdGl0bGU6IGpqID09IFxcXCLlt7LmlLbotbdcXFwiID8g5pS25YaF5a65LnJlcGxhY2UoXFxcIueugOS7i1xcXCIsIOeugOS7i+WGheWuueaUtikgOiDmlLblhoXlrrkucmVwbGFjZShcXFwi566A5LuLXFxcIiwg566A5LuL5YaF5a65KVxcbiAgICAgICAgfSlcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSwg566A5LuL5YaF5a65LCDnroDku4vlhoXlrrnmlLYsIGJ0dGl0bGUsIG16dGV4dCwg6aG1VVJMKVxcblxcblxcbiAgICAvL+agh+mimFxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGJ0dGl0bGUucmVwbGFjZShcXFwi566A5LuL5pS2XFxcIiwgamopLFxcbiAgICAgICAgdXJsOiBqanVybCxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiYXZhdGFyXFxcIixcXG4gICAgICAgIHBpY191cmw6IOWbvueJhyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaWQ6IOmhtVVSTCArIFxcXCJfYnRcXFwiXFxuICAgICAgICB9XFxuICAgIH0pO1xcblxcbiAgICAvL+eugOS7i1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGpqID09IFxcXCLlt7LmlLbotbdcXFwiID8gbXp0ZXh0LnJlcGxhY2UoXFxcIueugOS7i1xcXCIsIOeugOS7i+WGheWuueaUtikgOiBtenRleHQucmVwbGFjZShcXFwi566A5LuLXFxcIiwg566A5LuL5YaF5a65KSxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwicmljaF90ZXh0XFxcIixcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaWQ6IOmhtVVSTCArIFxcXCJfbXpcXFwiXFxuICAgICAgICB9XFxuICAgIH0pO1xcblxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIueDremXqFwiLFwicGF0aFwiOlwiaG90XCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcblxcbkpTT04ucGFyc2UoZ2V0TXlWYXIoTVlfUlVMRS50aXRsZSArICfng63pl6gnKSkuZm9yRWFjaCgoZGF0YXMpID0+IHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAgZGF0YXMudGl0bGUsXFxuICAgICAgICBkZXNjOiAgZGF0YXMuZGVzYyxcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSMjbm9IaXN0b3J5Iz91cmw9JyArIGRhdGFzLmV4dHJhLnVybCArICdAcnVsZT1qczokLnJlcXVpcmUoXFxcIicgKyBkYXRhcy51cmwgKyAnXFxcIiknLFxcbiAgICAgICAgcGljX3VybDogZGF0YXMucGljLFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zJyxcXG4gICAgICAgIGV4dHJhOiBkYXRhcy5leHRyYVxcbiAgICB9KTtcXG59KTtcXG5cXG5cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmnIDmlrBcIixcInBhdGhcIjpcIm5ld2VzdFwiLFwicnVsZVwiOlwianM6XFxudmFyIOWJjee8gCA9ICdodHRwczovL2NuLmJhb3ppbWguY29tJ1xcbnZhciBjb2RlID0gZ2V0TXlWYXIoTVlfUlVMRS50aXRsZSArIFxcXCLliIbnsbtDT0RFXFxcIilcXG5pZighY29kZSl7XFxuICAgIGNvZGUgPSByZXF1ZXN0KOWJjee8gCArIFxcXCIvbGlzdC9uZXdcXFwiKVxcbiAgICBwdXRNeVZhcihNWV9SVUxFLnRpdGxlICsgXFxcIuWIhuexu0NPREVcXFwiLGNvZGUpXFxufVxcblxcbnZhciBkID0gcGRmYShjb2RlLCBcXFwiLnB1cmUtZyYmLmNvbWljcy1jYXJkXFxcIikubWFwKChkYXRhKSA9PiB7XFxuICAgIFxcbiAgICB2YXIgZmggPSB7XFxuICAgICAgICB0aXRsZTogcGRmaChkYXRhLCAnLmNvbWljcy1jYXJkX190aXRsZSYmVGV4dCcpLFxcbiAgICAgICAgZGVzYzogcGRmaChkYXRhLCAnLnRhZ3MmJlRleHQnKSxcXG4gICAgICAgIHBpY191cmw6IHBkZmgoZGF0YSwgJ2FtcC1pbWcmJnNyYycpICsgXFxcIkBSZWZlcmVyPVxcXCIsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5I2ltbWVyc2l2ZVRoZW1lIyNhdXRvQ2FjaGUjI25vSGlzdG9yeSM/dXJsPScgKyDliY3nvIAgKyBwZGZoKGRhdGEsICdhJiZocmVmJykgKyAnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvZGV0YWlsc1xcXCIpJyxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwibW92aWVfM1xcXCIsXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIG5hbWU6IHBkZmgoZGF0YSwgJy5jb21pY3MtY2FyZF9fdGl0bGUmJlRleHQnKSxcXG4gICAgICAgICAgICB1cmw6IOWJjee8gCArIHBkZmgoZGF0YSwgJ2EmJmhyZWYnKSxcXG4gICAgICAgICAgICBxejog5YmN57yAXFxuICAgICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIGZoXFxufSk7XFxuXFxuXFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5YiG57G7XCIsXCJwYXRoXCI6XCJjbGFzc1wiLFwicnVsZVwiOlwidmFyIGQgPSBbXTtcXG5cXG4vL+iuvue9rumhteagh+mimFxcbmlmIChNWV9QQVJBTVMubmFtZSkge1xcbiAgICBzZXRQYWdlVGl0bGUoTVlfUEFSQU1TLm5hbWUpXFxufVxcblxcbnZhciDliY3nvIAgPSBcXFwiaHR0cHM6Ly9jbi5iYW96aW1oLmNvbVxcXCI7XFxudmFyIHVybOWIhuexuyA9IE1ZX1JVTEUudGl0bGUgKyBcXFwidXJs5YiG57G7XFxcIjtcXG52YXIg5YiG57G76YCJ5oupID0gTVlfUlVMRS50aXRsZSArIFxcXCLliIbnsbvpgInmi6lcXFwiO1xcbnZhciDlvZPliY3pobUgPSBnZXRQYXJhbSgncGFnZScpO1xcblxcbnZhciB1cmxkeiA9IFxcXCJcXFwiO1xcbmlmIChnZXRNeVZhcijliIbnsbvpgInmi6kpID09ICcnKSB7XFxuICAgIHVybGR6ID0gZ2V0TXlWYXIodXJs5YiG57G7KVxcbn0gZWxzZSBpZiAoZ2V0TXlWYXIo5YiG57G76YCJ5oupKS5zcGxpdChcXFwifFxcXCIpWzBdID09IGdldE15VmFyKHVybOWIhuexuykpIHtcXG4gICAgdXJsZHogPSBnZXRNeVZhcijliIbnsbvpgInmi6kpLnNwbGl0KFxcXCJ8XFxcIilbMV1cXG59IGVsc2Uge1xcbiAgICB1cmxkeiA9IGdldE15VmFyKHVybOWIhuexuylcXG59XFxuXFxudmFyIOmTvuaOpemhteeggSA9IFxcXCI/cGFnZT1cXFwiXFxuaWYgKHVybGR6LmluY2x1ZGVzKFxcXCI/XFxcIikpIHtcXG4gICAg6ZO+5o6l6aG156CBID0gXFxcIiZwYWdlPVxcXCJcXG59XFxudmFyIGNvZGUgPSByZXF1ZXN0KHVybGR6ICsg6ZO+5o6l6aG156CBICsg5b2T5YmN6aG1KTtcXG5cXG5mdW5jdGlvbiBMaXN0X29mX29wdGlvbnMo5pWw5o2u5rqQLCDliJfooagsIOeCueS6riwg5YiG5YmyKSB7XFxuICAgIGlmICjliIblibIgPT0gMCkge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJ1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgcGRmYSjmlbDmja7mupAsIOWIl+ihqCkuZm9yRWFjaChmdW5jdGlvbihkYXRhLCBpZCkge1xcbiAgICAgICAgdmFyIHRpdGxlID0gcGRmaChkYXRhLCAnVGV4dCcpO1xcbiAgICAgICAgaWYgKGRhdGEuaW5jbHVkZXMo54K55LquKSB8fCB1cmzliIbnsbsuaW5jbHVkZXModGl0bGUpKSB7XFxuICAgICAgICAgICAgdGl0bGUgPSAn4oCc4oCc4oCd4oCdPGI+PGZvbnQgY29sb3I9I0ZBNzI5OD4nICsgdGl0bGUgKyAnPC9mb250PjwvYj4nO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIHVybCA9ICdAbGF6eVJ1bGU9LmpzOnB1dE15VmFyKFxcXCInICsg5YiG57G76YCJ5oupICsgJ1xcXCIsIFxcXCInICsgZ2V0TXlWYXIodXJs5YiG57G7KSArICd8JyArIOWJjee8gCArIHBkZmgoZGF0YSwgJ2EmJmhyZWYnKSArICdcXFwiKTtyZWZyZXNoUGFnZShmYWxzZSk7YHRvYXN0Oi8v5YiH5o2i5oiQ5YqfLi4uYCdcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwic2Nyb2xsX2J1dHRvblxcXCJcXG4gICAgICAgIH0pO1xcbiAgICB9KTtcXG59XFxuaWYgKOW9k+WJjemhtSA9PSAxKSB7XFxuICAgIHBkZmEoY29kZSwgXFxcIi5jbGFzc2lmeSYmLmNsYXNzaWZ5LW5hdlxcXCIpLmZvckVhY2goZnVuY3Rpb24oZGF0YSwgaWQpIHtcXG4gICAgICAgIExpc3Rfb2Zfb3B0aW9ucyhkYXRhLCBcXFwiLm5hdiYmYVxcXCIsICdhY3RpdmUnLCBpZCA9PSAwID8gMSA6IDApXFxuICAgIH0pO1xcbn1cXG5cXG5cXG5wZGZhKGNvZGUsIFxcXCIucHVyZS1nJiYuY29taWNzLWNhcmRcXFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGRhdGEpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBwZGZoKGRhdGEsICcuY29taWNzLWNhcmRfX3RpdGxlJiZUZXh0JyksXFxuICAgICAgICBkZXNjOiBwZGZoKGRhdGEsICcudGFncyYmVGV4dCcpLFxcbiAgICAgICAgcGljX3VybDogcGRmaChkYXRhLCAnYW1wLWltZyYmc3JjJykgKyBcXFwiQFJlZmVyZXI9XFxcIixcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSMjbm9IaXN0b3J5Iz91cmw9JyArIOWJjee8gCArIHBkZmgoZGF0YSwgJ2EmJmhyZWYnKSArICdAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWxzXFxcIiknLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJtb3ZpZV8zXFxcIixcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgbmFtZTogcGRmaChkYXRhLCAnLmNvbWljcy1jYXJkX190aXRsZSYmVGV4dCcpLFxcbiAgICAgICAgICAgIHVybDog5YmN57yAICsgcGRmaChkYXRhLCAnYSYmaHJlZicpLFxcbiAgICAgICAgICAgIHF6OiDliY3nvIBcXG4gICAgICAgIH1cXG4gICAgfSk7XFxufSk7XFxuXFxuXFxuXFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5ryr55S76K+m5oOFXCIsXCJwYXRoXCI6XCJkZXRhaWxzXCIsXCJydWxlXCI6XCJldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFwiaGlrZXI6Ly9wYWdlL3FzXFxcIikpLnJ1bGUpXFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcImhpa2VyOi8vcGFnZS9iempzP3J1bGU96IGa5ryr8J+UrlxcXCIpKS5ydWxlKVxcbi8v6K6+572u6aG15qCH6aKYXFxuaWYgKE1ZX1BBUkFNUy5uYW1lKSB7XFxuICAgIHNldFBhZ2VUaXRsZShNWV9QQVJBTVMubmFtZSlcXG59XFxudmFyIGNvZGUgPSByZXF1ZXN0KE1ZX1BBUkFNUy51cmwpO1xcbi8qXFxuLy/pobXpnaLliLfmlrDvvIzkuI3ph43mlrDliqDovb3nvZHpobVcXG52YXIgYW50aUhlYXZ5TG9hZCA9IE1ZX1JVTEUudGl0bGUgKyBcXFwiY29kZVxcXCJcXG52YXIgY29kZTtcXG5pZiAoZ2V0TXlWYXIoYW50aUhlYXZ5TG9hZCwgXFxcImZhbHNlXFxcIikgPT0gXFxcImZhbHNlXFxcIikge1xcblxcbiAgICBjb2RlID0gcmVxdWVzdChNWV9QQVJBTVMudXJsKTtcXG4gICAgcHV0TXlWYXIoYW50aUhlYXZ5TG9hZCwgTVlfUEFSQU1TLnVybCArIFxcXCLvv6Um77+lXFxcIiArIGNvZGUpXFxuXFxufSBlbHNlIHtcXG5cXG4gICAgdmFyIHBtID0gZ2V0TXlWYXIoYW50aUhlYXZ5TG9hZCkuc3BsaXQoXFxcIu+/pSbvv6VcXFwiKVxcbiAgICBpZiAocG1bMF0gPT0gTVlfUEFSQU1TLnVybCkge1xcbiAgICAgICAgY29kZSA9IHBtWzFdXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBjb2RlID0gcmVxdWVzdChNWV9QQVJBTVMudXJsKTtcXG4gICAgICAgIHB1dE15VmFyKGFudGlIZWF2eUxvYWQsIE1ZX1BBUkFNUy51cmwgKyBcXFwi77+lJu+/pVxcXCIgKyBjb2RlKVxcbiAgICB9XFxufVxcbiovXFxuXFxudmFyIGQgPSBbXTtcXG5cXG4vL+WktOmDqOWIl+ihqFxcbnZhciDkvZzogIUgPSAn5L2c6ICF77yaJyArIHBkZmgoY29kZSwgJ2gyLmNvbWljcy1kZXRhaWxfX2F1dGhvciYmVGV4dCcpXFxudmFyIOacgOaWsOeroOiKgiA9IHBkZmgoY29kZSwgJy5zdXBwb3J0aW5nLXRleHQmJmEmJlRleHQnKVxcbnZhciDmm7TmlrDml7bpl7QgPSAn5pe26Ze077yaJyArIHBkZmgoY29kZSwgJy5zdXBwb3J0aW5nLXRleHQmJmVtJiZUZXh0JykucmVwbGFjZShcXFwiKFxcXCIsIFxcXCJcXFwiKS5yZXBsYWNlKFxcXCIpXFxcIiwgXFxcIlxcXCIpXFxudmFyIOWIhuexuyA9ICfliIbnsbvvvJonICsgcGRmYShjb2RlLCAnLnN1cHBvcnRpbmctdGV4dCYmLnRhZycpLm1hcChkYXRhID0+IHBkZmgoZGF0YSwgJ1RleHQnKSkuam9pbihcXFwiICBcXFwiKVxcbnZhciDlsIHpnaIgPSBwZGZoKGNvZGUsICcucHVyZS11LTEtMSYmYW1wLWltZyYmc3JjJylcXG7mt7vliqDlpLTpg6jliJfooagoZCwgTVlfUEFSQU1TLm5hbWUsIOWwgemdoiwg5pyA5paw56ug6IqCLCDkvZzogIUsIOabtOaWsOaXtumXtCwg5YiG57G7LCBNWV9QQVJBTVMudXJsKVxcblxcbua3u+WKoOeugOS7iyhkLCBwZGZoKGNvZGUsICdwLmNvbWljcy1kZXRhaWxfX2Rlc2MmJlRleHQnKSwgTVlfUEFSQU1TLnVybCwgJ2h0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9rZS85MS5wbmcnKVxcblxcblxcblxcblxcblxcbnZhciDliJfooajmlbDmja4gPSBwZGZhKGNvZGUsICcjY2hhcHRlci1pdGVtcyYmYScpLmNvbmNhdChwZGZhKGNvZGUsICcjY2hhcHRlcnNfb3RoZXJfbGlzdCYmYScpKVxcbmlmIChwZGZhKGNvZGUsICdib2R5JiZkaXYucHVyZS1nJykubGVuZ3RoID09IDEpIHtcXG4gICAgc2V0UmVzdWx0KGQpO1xcbn1cXG5pZiAoIeWIl+ihqOaVsOaNri5sZW5ndGgpIHtcXG4gICAg5YiX6KGo5pWw5o2uID0gcGRmYShjb2RlLCAnYm9keSYmZGl2LnB1cmUtZywxJiZhJykgfHwgJydcXG59XFxu5YiX6KGo5pWw5o2uID0g5YiX6KGo5pWw5o2uLm1hcCgoZGF0YSkgPT4ge1xcbiAgICB2YXIg6ZuG6aG55pWw5o2uID0ge307XFxuICAgIOmbhumhueaVsOaNri50aXRsZSA9IHBkZmgoZGF0YSwgJ1RleHQnKVxcbiAgICDpm4bpobnmlbDmja4udXJsID0gTVlfUEFSQU1TLnF6ICsgcGRmaChkYXRhLCAnYSYmaHJlZicpXFxuICAgIHJldHVybiDpm4bpobnmlbDmja47XFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmfCfk6U8Zm9udCBjb2xvcj1cXFwiI2Y0Nzk4M1xcXCI+IOS4i+i9vTwvZm9udD4g77yaJyxcXG4gICAgdXJsOiBcXFwidG9hc3Q6Ly/ngrnmiJHlubLllaXlkaJcXFwiLFxcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxufSk7XFxuXFxudmFyIHNqc3MgPSB7XFxuICAgIGNoYXB0ZXJMaXN0OiDliJfooajmlbDmja4sXFxuICAgIGluZm86IHtcXG4gICAgICAgIGJvb2tOYW1lOiBNWV9QQVJBTVMubmFtZSwgLy/mvKvnlLvlkI3np7AsXFxuICAgICAgICBydWxlTmFtZTogTVlfUlVMRS50aXRsZSxcXG4gICAgICAgIGJvb2tUb3BQaWM6IOWwgemdoiArICdAUmVmZXJlcj0nLFxcbiAgICAgICAgcGFyc2VDb2RlOiDmvKvnlLvop6PmnpAsXFxuICAgIH0sXFxuICAgIGRlZmF1bHRWaWV3OiBcXFwiMVxcXCJcXG59O1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn6L+e6L29JyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2Rvd25sb2FkLnZpZXcjbm9SZWNvcmRIaXN0b3J5IyNub1JlZnJlc2gjI25vSGlzdG9yeSM/cnVsZT3mnKzlnLDotYTmupDnrqHnkIYnLFxcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICBleHRyYTogc2pzc1xcbn0pO1xcblxcblxcbua3u+WKoOWIl+ihqOeroOiKgihkLCAn56ug6IqC55uu5b2VJywg5YiX6KGo5pWw5o2uLCBsYXp5LCBNWV9QQVJBTVMudXJsLCAnJylcXG5cXG5cXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogXFxcImxvbmdfdGV4dFxcXCJcXG59KTtcXG5cXG5zZXRSZXN1bHQoZCk7XCJ9XSxcInBhcmFtc1wiOlwie1xcXCJuYW1lXFxcIjpcXFwi6YGu5aSpXFxcIixcXFwicXpcXFwiOlxcXCJodHRwczovL2NuLmJhb3ppbWguY29tXFxcIixcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9jbi5iYW96aW1oLmNvbS9jb21pYy96aGV0aWFuLXNoZW5tYW5cXFwifVwiLFwic2F2ZWRcIjpmYWxzZSxcInRpdGxlXCI6XCLogZrmvKvwn5SuXCIsXCJ2ZXJzaW9uXCI6MCxcInVybFwiOlwiaGlrZXI6Ly9lbXB0eSNpbW1lcnNpdmVUaGVtZSMjYXV0b0NhY2hlIz91cmw9aHR0cHM6Ly9jbi5iYW96aW1oLmNvbS9jb21pYy96aGV0aWFuLXNoZW5tYW47Z2V0O1VURi04O3tVc2VyLUFnZW50QE1vemlsbGEvNS4wIChMaW51eO+8m++8myBBbmRyb2lkIDEx77yb77ybIE1pIDEwIFBybykgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzg4LjAuNDMyNC4xNTIgTW9iaWxlIFNhZmFyaS81MzcuMzZ9XCIsXCJjb2xfdHlwZVwiOlwibW92aWVfMVwiLFwiZmluZF9ydWxlXCI6XCJqczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWxzXFxcIilcIixcImdyb3VwXCI6XCLogZrmvKvwn5SuXCIsXCJ1YVwiOlwibW9iaWxlXCIsXCJwcmVSdWxlXCI6XCJcIixcInBhZ2VzXCI6XCJbe1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5Ye95pWw57uE5Lu2XFxcIixcXFwicGF0aFxcXCI6XFxcInFzXFxcIixcXFwicnVsZVxcXCI6XFxcImZ1bmN0aW9uIHRocmsoc2l6ZXMpIHtcXFxcbiAgICB2YXIgZmhrID0gJyc7XFxcXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gc2l6ZXM7IGkrKykge1xcXFxuICAgICAgICBmaGsgPSBmaGsgKyAn44CAJztcXFxcbiAgICB9XFxcXG4gICAgcmV0dXJuIGZoaztcXFxcbn1cXFxcblxcXFxuZnVuY3Rpb24gTGFiZWxfc2V0KGQsIHRhYmxlX0RhdGEpIHtcXFxcblxcXFxuICAgIC8vIGTvvJrnm7TmjqXloavlhplk5Y2z5Y+vXFxcXG4gICAgLy8gdGFibGVfRGF0Ye+8mlt0aXRsZTonJyxsaXN0Olt0aXRsZTonJyxkZXNjOicnLHVybDonJyxwaWM6JycsdHlwZTonJyxleHRyYTonJ10sLi4uLi5dXFxcXG5cXFxcbiAgICB2YXIgY29sb3JfU2VsZWN0aW9uID0gWycjNTE5RDlFJywgJyMyODU5NDMnLCAnIzA5OEFDMSddO1xcXFxuICAgIHZhciBjaSA9IDA7XFxcXG4gICAgdGFibGVfRGF0YS5mb3JFYWNoKChkYXRhLCBpZCkgPT4ge1xcXFxuICAgICAgICB2YXIgZXh0cmEgPSB7XFxcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2UsXFxcXG4gICAgICAgICAgICBuYW1lOiBkYXRhLnRpdGxlXFxcXG4gICAgICAgIH1cXFxcbiAgICAgICAgaWYgKGRhdGEudGl0bGUubGVuZ3RoID09IDQpIHtcXFxcbiAgICAgICAgICAgIGRhdGEudGl0bGUgPSBkYXRhLnRpdGxlICsgdGhyaygxNSkgKyAnJm5ic3A7J1xcXFxuICAgICAgICB9IGVsc2UgaWYgKGRhdGEudGl0bGUubGVuZ3RoID09IDUpIHtcXFxcbiAgICAgICAgICAgIGRhdGEudGl0bGUgPSBkYXRhLnRpdGxlICsgdGhyaygxNCkgKyAnJm5ic3A7J1xcXFxuICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgZGF0YS50aXRsZSA9IGRhdGEudGl0bGUgKyB0aHJrKDEzKVxcXFxuICAgICAgICB9XFxcXG4gICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnTxicj48Zm9udCBjb2xvcj1cXFxcXFxcIicgKyBjb2xvcl9TZWxlY3Rpb25bY2ldICsgJ1xcXFxcXFwiPicgKyBkYXRhLnRpdGxlICsgJzwvZm9udD48c21hbGw+PHNtYWxsPjxmb250IGNvbG9yPVxcXFxcXFwiI2Y0Nzk4M1xcXFxcXFwiPuOAgOabtOWkmiA+PC9mb250Pjwvc21hbGw+PC9zbWFsbD4nLFxcXFxuICAgICAgICAgICAgdXJsOiBkYXRhLnVybCxcXFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFxcXFxcInRleHRfMVxcXFxcXFwiLFxcXFxuICAgICAgICAgICAgZXh0cmE6IGV4dHJhXFxcXG4gICAgICAgIH0pO1xcXFxuICAgICAgICBjaSA9IGNpID09IDIgPyAwIDogY2kgKyAxXFxcXG4gICAgICAgIGRhdGEubGlzdC5mb3JFYWNoKChkYXRhcykgPT4ge1xcXFxuICAgICAgICAgICAgZC5wdXNoKHtcXFxcbiAgICAgICAgICAgICAgICB0aXRsZTogZGF0YXMudGl0bGUgPyBkYXRhcy50aXRsZSA6ICcnLFxcXFxuICAgICAgICAgICAgICAgIGRlc2M6IGRhdGFzLmRlc2MgPyBkYXRhcy5kZXNjIDogJycsXFxcXG4gICAgICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSNpbW1lcnNpdmVUaGVtZSMjYXV0b0NhY2hlIyNub0hpc3RvcnkjP3VybD0nICsgZGF0YXMuZXh0cmEudXJsICsgJ0BydWxlPWpzOiQucmVxdWlyZShcXFxcXFxcIicgKyAoZGF0YXMudXJsID8gZGF0YXMudXJsIDogJycpICsgJ1xcXFxcXFwiKScsXFxcXG4gICAgICAgICAgICAgICAgcGljX3VybDogZGF0YXMucGljID8gZGF0YXMucGljIDogJycsXFxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IGRhdGFzLnR5cGUgPyBkYXRhcy50eXBlIDogJycsXFxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IGRhdGFzLmV4dHJhID8gZGF0YXMuZXh0cmEgOiAnJ1xcXFxuICAgICAgICAgICAgfSk7XFxcXG4gICAgICAgIH0pO1xcXFxuICAgIH0pO1xcXFxufVxcXFxuXFxcXG5mdW5jdGlvbiDmt7vliqDliJfooajnq6DoioIoZCwg5qCH6aKY5pWw5o2uLCDliJfooajmlbDmja4sIOino+aekOS7o+eggSwg6aG1VVJMLCDlm77niYcpIHtcXFxcblxcXFxuXFxcXG4gICAgLy9k5LiO5aSW55WMZO+8jOS4uuWQjOWGheWtmOWcsOWdgO+8jOS4jeeUqOi/lOWbnlxcXFxuICAgIC8v5qCH6aKY5pWw5o2uICDljbPmoIfpopjlkI3lrZdcXFxcbiAgICAvL+WIl+ihqOaVsOaNruW/hemhu+aYr0pTT04gIOagvOW8j+aYr1t7dGl0bGU6JycsdXJsOicnLH0sLi4uLi5dICDkuJR1cmzlv4XpobvmnInliY3nvIBcXFxcblxcXFxuICAgIC8v5Zu+5qCH6I635Y+WXFxcXG4gICAgaWYgKCHlm77niYcpIHtcXFxcbiAgICAgICAg5Zu+54mHID0gJ2h0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9xLzE4LnBuZydcXFxcbiAgICB9XFxcXG5cXFxcbiAgICAvL+mhtVVSTCDojrflj5ZcXFxcbiAgICBpZiAoIemhtVVSTCkge1xcXFxuICAgICAgICDpobVVUkwgPSBNWV9SVUxFLnRpdGxlXFxcXG4gICAgfVxcXFxuXFxcXG4gICAgLy/moIfpopjlkI1cXFxcbiAgICB2YXIg5qCH6aKY5ZCNID0gJzxiPui3r+e6vzwvYj4gIDxzbWFsbD48c21hbGw+PGZvbnQgY29sb3I9I2Y5OTA2Zj7mjpLluo8gPjwvZm9udD48L3NtYWxsPjwvc21hbGw+J1xcXFxuXFxcXG5cXFxcbiAgICB2YXIg5o6S5bqPID0gZ2V0TXlWYXIo6aG1VVJMICsgXFxcXFxcXCLnq6DoioLmjpLluo9cXFxcXFxcIiwgXFxcXFxcXCLmraPluo9cXFxcXFxcIik7XFxcXG4gICAgdmFyIOaPkOekuiA9IOaOkuW6jyA9PSAn5YCS5bqPJyA/ICfmraPluo8nIDogJ+WAkuW6jyc7XFxcXG5cXFxcbiAgICB2YXIg5o6S5bqPdXJsID0gJChcXFxcXFxcIiNub0xvYWRpbmcjXFxcXFxcXCIpLmxhenlSdWxlKCjmoIfpopjlkI0sIOagh+mimOaVsOaNriwg5YiX6KGo5pWw5o2uLCDop6PmnpDku6PnoIEsIOmhtVVSTCkgPT4ge1xcXFxuICAgICAgICB2YXIg5o6S5bqPID0gZ2V0TXlWYXIo6aG1VVJMICsgXFxcXFxcXCLnq6DoioLmjpLluo9cXFxcXFxcIiwgXFxcXFxcXCLmraPluo9cXFxcXFxcIik7XFxcXG4gICAgICAgIHZhciDmj5DnpLogPSDmjpLluo8gPT0gJ+WAkuW6jycgPyAn5q2j5bqPJyA6ICflgJLluo8nO1xcXFxuICAgICAgICB1cGRhdGVJdGVtKHtcXFxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxcXG4gICAgICAgICAgICAgICAgaWQ6IOmhtVVSTCArIFxcXFxcXFwiX+aOkuW6j1xcXFxcXFwiXFxcXG4gICAgICAgICAgICB9LFxcXFxuICAgICAgICAgICAgdGl0bGU6IOagh+mimOWQjS5yZXBsYWNlKCfot6/nur8nLCDmoIfpopjmlbDmja4pLnJlcGxhY2UoJ+aOkuW6jycsIOaPkOekuilcXFxcbiAgICAgICAgfSlcXFxcblxcXFxuXFxcXG4gICAgICAgIGlmICjmj5DnpLogPT0gJ+WAkuW6jycpIHtcXFxcbiAgICAgICAgICAgIOWIl+ihqOaVsOaNri5yZXZlcnNlKClcXFxcbiAgICAgICAgfVxcXFxuICAgICAgICDliJfooajmlbDmja4uZm9yRWFjaChmdW5jdGlvbihkYXRhLCBzc2lkKSB7XFxcXG4gICAgICAgICAgICB1cGRhdGVJdGVtKHtcXFxcbiAgICAgICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXFxcbiAgICAgICAgICAgICAgICB1cmw6IGRhdGEudXJsICsg6Kej5p6Q5Luj56CBLFxcXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxcXG4gICAgICAgICAgICAgICAgICAgIGlkOiDpobVVUkwgKyBcXFxcXFxcIl/pgInpm4ZcXFxcXFxcIiArIHNzaWRcXFxcbiAgICAgICAgICAgICAgICB9XFxcXG4gICAgICAgICAgICB9KTtcXFxcbiAgICAgICAgfSk7XFxcXG5cXFxcblxcXFxuICAgICAgICBwdXRNeVZhcijpobVVUkwgKyBcXFxcXFxcIueroOiKguaOkuW6j1xcXFxcXFwiLCDmj5DnpLopXFxcXG4gICAgICAgIHJldHVybiBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuICAgIH0sIOagh+mimOWQjSwg5qCH6aKY5pWw5o2uLCDliJfooajmlbDmja4sIOino+aekOS7o+eggSwg6aG1VVJMKVxcXFxuXFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6IOagh+mimOWQjS5yZXBsYWNlKCfot6/nur8nLCDmoIfpopjmlbDmja4pLnJlcGxhY2UoJ+aOkuW6jycsIOaOkuW6jyksXFxcXG4gICAgICAgIHBpY191cmw6IOWbvueJhyxcXFxcbiAgICAgICAgdXJsOiDmjpLluo91cmwsXFxcXG4gICAgICAgIGNvbF90eXBlOiBcXFxcXFxcImF2YXRhclxcXFxcXFwiLFxcXFxuICAgICAgICBleHRyYToge1xcXFxuICAgICAgICAgICAgaWQ6IOmhtVVSTCArIFxcXFxcXFwiX+aOkuW6j1xcXFxcXFwiXFxcXG4gICAgICAgIH1cXFxcbiAgICB9KTtcXFxcblxcXFxuICAgIGlmICjmjpLluo8gPT0gJ+WAkuW6jycpIHtcXFxcbiAgICAgICAg5YiX6KGo5pWw5o2uLnJldmVyc2UoKVxcXFxuICAgIH1cXFxcblxcXFxuICAgIOWIl+ihqOaVsOaNri5mb3JFYWNoKGZ1bmN0aW9uKGRhdGEsIGlkKSB7XFxcXG4gICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXFxcbiAgICAgICAgICAgIHVybDogZGF0YS51cmwgKyDop6PmnpDku6PnoIEsXFxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcXFxcXCJ0ZXh0XzJcXFxcXFxcIixcXFxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxcXG4gICAgICAgICAgICAgICAgaWQ6IOmhtVVSTCArIFxcXFxcXFwiX+mAiembhlxcXFxcXFwiICsgaWRcXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgfSk7XFxcXG4gICAgfSk7XFxcXG5cXFxcbn1cXFxcblxcXFxuZnVuY3Rpb24g5re75Yqg5aS06YOo5YiX6KGoKGQsIOagh+mimCwg5Zu+54mHLCDmj4/ov7AsIOS9nOiAhSwg5pe26Ze0LCDliIbnsbssIOmhtVVSTCkge1xcXFxuXFxcXG4gICAg5qCH6aKYID0gIeagh+mimCA/ICcnIDog5qCH6aKYICsgJ1xcXFxcXFxcbidcXFxcbiAgICDlm77niYcgPSAh5Zu+54mHID8gJycgOiDlm77niYdcXFxcbiAgICDmj4/ov7AgPSAh5o+P6L+wID8gJycgOiDmj4/ov7AucmVwbGFjZShcXFxcXFxcIuabtOaWsOiHs++8mlxcXFxcXFwiLCAnJylcXFxcblxcXFxuICAgIOS9nOiAhSA9ICHkvZzogIUgPyAnJyA6ICdcXFxcXFxcXG4nICsg5L2c6ICFXFxcXG4gICAg5pe26Ze0ID0gIeaXtumXtCA/ICcnIDogJ1xcXFxcXFxcbicgKyDml7bpl7RcXFxcbiAgICDliIbnsbsgPSAh5YiG57G7ID8gJycgOiAnXFxcXFxcXFxuJyArIOWIhuexu1xcXFxuXFxcXG5cXFxcbiAgICB2YXIg5aS06YOodGl0bGUgPSBbJ+KAmOKAmOKAmeKAmTxiPicsICc8L2I+IDxzbWFsbD7mnIDmlrDvvJo8Zm9udCBjb2xvcj0jRkE3Mjk4PicsICc8L2ZvbnQ+JywgJzwvc21hbGw+J11cXFxcbiAgICB2YXIg5aS06YOoZGVzYyA9IFsn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9I2Y4ZWNjOT4nLCAnPC9mb250PiddXFxcXG5cXFxcblxcXFxuXFxcXG4gICAg5aS06YOodGl0bGUgPSDlpLTpg6h0aXRsZVswXSArIOagh+mimCArIOWktOmDqHRpdGxlWzFdICsg5o+P6L+wICsg5aS06YOodGl0bGVbMl0gKyDkvZzogIUgKyDlpLTpg6h0aXRsZVszXVxcXFxuXFxcXG4gICAg5aS06YOoZGVzYyA9IOWktOmDqGRlc2NbMF0gKyDml7bpl7QgKyDliIbnsbsgKyDlpLTpg6hkZXNjWzFdXFxcXG5cXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTog5aS06YOodGl0bGUsXFxcXG4gICAgICAgIGRlc2M6IOWktOmDqGRlc2MsXFxcXG4gICAgICAgIHBpY191cmw6IOWbvueJhyxcXFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9zZWFyY2g/cz0nK01ZX1BBUkFNUy5uYW1lKycmcnVsZT3ogZrmvKvwn5SuJyxcXFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyJ1xcXFxuICAgIH0pO1xcXFxuXFxcXG59XFxcXG5cXFxcblxcXFxuZnVuY3Rpb24g5re75Yqg566A5LuLKGQsIOaVsOaNrua6kCwg6aG1VVJMLCDlm77niYcpIHtcXFxcbiAgICAvL+iOt+WPluaVsOaNrlxcXFxuICAgIHZhciDnroDku4vlhoXlrrkgPSDmlbDmja7mupBcXFxcbiAgICDnroDku4vlhoXlrrkgPSDnroDku4vlhoXlrrkucmVwbGFjZShcXFxcXFxcIueugOS7i++8mlxcXFxcXFwiLCBcXFxcXFxcIlxcXFxcXFwiKS5yZXBsYWNlKFxcXFxcXFwi5LuL57uNOlxcXFxcXFwiLCBcXFxcXFxcIlxcXFxcXFwiKS5yZXBsYWNlKFxcXFxcXFwi5ryr55S7XFxcXFxcXCIsIFxcXFxcXFwiXFxcXFxcXCIpLnJlcGxhY2UoXFxcXFxcXCLigKbigKZcXFxcXFxcIiwgXFxcXFxcXCJcXFxcXFxcIikucmVwbGFjZShcXFxcXFxcIueugOS7i1xcXFxcXFwiLCBcXFxcXFxcIlxcXFxcXFwiKVxcXFxuXFxcXG4gICAgdmFyIOeugOS7i+WGheWuueaUtjtcXFxcbiAgICBpZiAo566A5LuL5YaF5a65Lmxlbmd0aCA+IDQ1KSB7XFxcXG4gICAgICAgIOeugOS7i+WGheWuueaUtiA9IOeugOS7i+WGheWuuS5zdWJzdHIoMCwgNDUpICsgJy4uLidcXFxcbiAgICB9IGVsc2Uge1xcXFxuICAgICAgICDnroDku4vlhoXlrrnmlLYgPSDnroDku4vlhoXlrrkgKyAnLi4uJ1xcXFxuICAgIH1cXFxcblxcXFxuICAgIC8v5Zu+5qCH6I635Y+WXFxcXG4gICAgaWYgKCHlm77niYcpIHtcXFxcbiAgICAgICAg5Zu+54mHID0gJ2h0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9xLzEwNy5wbmcnXFxcXG4gICAgfVxcXFxuXFxcXG4gICAgLy/pobVVUkwg6I635Y+WXFxcXG4gICAgaWYgKCHpobVVUkwpIHtcXFxcbiAgICAgICAg6aG1VVJMID0gTVlfUlVMRS50aXRsZVxcXFxuICAgIH1cXFxcblxcXFxuICAgIC8v5qCH6aKY5LiO566A5LuL5qC35byPXFxcXG4gICAgdmFyIG16dGV4dCA9IFxcXFxcXFwiJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PHNtYWxsPueugOS7izwvc21hbGw+PGJyPlxcXFxcXFwiXFxcXG4gICAgdmFyIGJ0dGl0bGUgPSAnPGZvbnQgY29sb3I9XFxcXFxcXCIjMDk4QUMxXFxcXFxcXCI+5ryr55S7566A5LuLICA8L2ZvbnQ+PHNtYWxsPjxzbWFsbD48Zm9udCBjb2xvcj1cXFxcXFxcIiNmNDc5ODNcXFxcXFxcIj7nroDku4vmlLYgPjwvZm9udD48L3NtYWxsPjwvc21hbGw+J1xcXFxuXFxcXG4gICAgLy/lsZXlvIDkuI7mlLbnvKnmk43kvZxcXFxcbiAgICB2YXIgamogPSBnZXRNeVZhcijpobVVUkwgKyBcXFxcXFxcIueugOS7i+aUtlxcXFxcXFwiLCBcXFxcXFxcIuW3suaUtui1t1xcXFxcXFwiKTtcXFxcbiAgICB2YXIgamp1cmwgPSAkKFxcXFxcXFwiI25vTG9hZGluZyNcXFxcXFxcIikubGF6eVJ1bGUoKOeugOS7i+WGheWuuSwg566A5LuL5YaF5a655pS2LCDmlLYsIOaUtuWGheWuuSwg5b2T5YmNVVJMKSA9PiB7XFxcXG4gICAgICAgIHZhciBqc2JsID0g5b2T5YmNVVJMICsgXFxcXFxcXCLnroDku4vmlLZcXFxcXFxcIjtcXFxcbiAgICAgICAgdmFyIGpqID0gZ2V0TXlWYXIo5b2T5YmNVVJMICsgXFxcXFxcXCLnroDku4vmlLZcXFxcXFxcIiwgXFxcXFxcXCLlt7LmlLbotbdcXFxcXFxcIik7XFxcXG4gICAgICAgIGpqID0gamogPT0gXFxcXFxcXCLlt7LmlLbotbdcXFxcXFxcIiA/IFxcXFxcXFwi5bGV5byAXFxcXFxcXCIgOiBcXFxcXFxcIuW3suaUtui1t1xcXFxcXFwiO1xcXFxuICAgICAgICBwdXRNeVZhcihqc2JsLCBqailcXFxcbiAgICAgICAgdXBkYXRlSXRlbSh7XFxcXG4gICAgICAgICAgICBleHRyYToge1xcXFxuICAgICAgICAgICAgICAgIGlkOiDlvZPliY1VUkwgKyBcXFxcXFxcIl9idFxcXFxcXFwiXFxcXG4gICAgICAgICAgICB9LFxcXFxuICAgICAgICAgICAgdGl0bGU6IOaUti5yZXBsYWNlKFxcXFxcXFwi566A5LuL5pS2XFxcXFxcXCIsIGpqKVxcXFxuICAgICAgICB9KVxcXFxuXFxcXG4gICAgICAgIHVwZGF0ZUl0ZW0oe1xcXFxuICAgICAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgICAgICBpZDog5b2T5YmNVVJMICsgXFxcXFxcXCJfbXpcXFxcXFxcIlxcXFxuICAgICAgICAgICAgfSxcXFxcbiAgICAgICAgICAgIHRpdGxlOiBqaiA9PSBcXFxcXFxcIuW3suaUtui1t1xcXFxcXFwiID8g5pS25YaF5a65LnJlcGxhY2UoXFxcXFxcXCLnroDku4tcXFxcXFxcIiwg566A5LuL5YaF5a655pS2KSA6IOaUtuWGheWuuS5yZXBsYWNlKFxcXFxcXFwi566A5LuLXFxcXFxcXCIsIOeugOS7i+WGheWuuSlcXFxcbiAgICAgICAgfSlcXFxcbiAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgfSwg566A5LuL5YaF5a65LCDnroDku4vlhoXlrrnmlLYsIGJ0dGl0bGUsIG16dGV4dCwg6aG1VVJMKVxcXFxuXFxcXG5cXFxcbiAgICAvL+agh+mimFxcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiBidHRpdGxlLnJlcGxhY2UoXFxcXFxcXCLnroDku4vmlLZcXFxcXFxcIiwgamopLFxcXFxuICAgICAgICB1cmw6IGpqdXJsLFxcXFxuICAgICAgICBjb2xfdHlwZTogXFxcXFxcXCJhdmF0YXJcXFxcXFxcIixcXFxcbiAgICAgICAgcGljX3VybDog5Zu+54mHLFxcXFxuICAgICAgICBleHRyYToge1xcXFxuICAgICAgICAgICAgaWQ6IOmhtVVSTCArIFxcXFxcXFwiX2J0XFxcXFxcXCJcXFxcbiAgICAgICAgfVxcXFxuICAgIH0pO1xcXFxuXFxcXG4gICAgLy/nroDku4tcXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogamogPT0gXFxcXFxcXCLlt7LmlLbotbdcXFxcXFxcIiA/IG16dGV4dC5yZXBsYWNlKFxcXFxcXFwi566A5LuLXFxcXFxcXCIsIOeugOS7i+WGheWuueaUtikgOiBtenRleHQucmVwbGFjZShcXFxcXFxcIueugOS7i1xcXFxcXFwiLCDnroDku4vlhoXlrrkpLFxcXFxuICAgICAgICBjb2xfdHlwZTogXFxcXFxcXCJyaWNoX3RleHRcXFxcXFxcIixcXFxcbiAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgIGlkOiDpobVVUkwgKyBcXFxcXFxcIl9telxcXFxcXFwiXFxcXG4gICAgICAgIH1cXFxcbiAgICB9KTtcXFxcblxcXFxufVxcXCJ9LHtcXFwiY29sX3R5cGVcXFwiOlxcXCJtb3ZpZV8zXFxcIixcXFwibmFtZVxcXCI6XFxcIueDremXqFxcXCIsXFxcInBhdGhcXFwiOlxcXCJob3RcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG52YXIgZCA9IFtdO1xcXFxuXFxcXG5KU09OLnBhcnNlKGdldE15VmFyKE1ZX1JVTEUudGl0bGUgKyAn54Ot6ZeoJykpLmZvckVhY2goKGRhdGFzKSA9PiB7XFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICBkYXRhcy50aXRsZSxcXFxcbiAgICAgICAgZGVzYzogIGRhdGFzLmRlc2MsXFxcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSMjbm9IaXN0b3J5Iz91cmw9JyArIGRhdGFzLmV4dHJhLnVybCArICdAcnVsZT1qczokLnJlcXVpcmUoXFxcXFxcXCInICsgZGF0YXMudXJsICsgJ1xcXFxcXFwiKScsXFxcXG4gICAgICAgIHBpY191cmw6IGRhdGFzLnBpYyxcXFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zJyxcXFxcbiAgICAgICAgZXh0cmE6IGRhdGFzLmV4dHJhXFxcXG4gICAgfSk7XFxcXG59KTtcXFxcblxcXFxuXFxcXG5zZXRSZXN1bHQoZCk7XFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5pyA5pawXFxcIixcXFwicGF0aFxcXCI6XFxcIm5ld2VzdFxcXCIsXFxcInJ1bGVcXFwiOlxcXCJqczpcXFxcbnZhciDliY3nvIAgPSAnaHR0cHM6Ly9jbi5iYW96aW1oLmNvbSdcXFxcbnZhciBjb2RlID0gZ2V0TXlWYXIoTVlfUlVMRS50aXRsZSArIFxcXFxcXFwi5YiG57G7Q09ERVxcXFxcXFwiKVxcXFxuaWYoIWNvZGUpe1xcXFxuICAgIGNvZGUgPSByZXF1ZXN0KOWJjee8gCArIFxcXFxcXFwiL2xpc3QvbmV3XFxcXFxcXCIpXFxcXG4gICAgcHV0TXlWYXIoTVlfUlVMRS50aXRsZSArIFxcXFxcXFwi5YiG57G7Q09ERVxcXFxcXFwiLGNvZGUpXFxcXG59XFxcXG5cXFxcbnZhciBkID0gcGRmYShjb2RlLCBcXFxcXFxcIi5wdXJlLWcmJi5jb21pY3MtY2FyZFxcXFxcXFwiKS5tYXAoKGRhdGEpID0+IHtcXFxcbiAgICBcXFxcbiAgICB2YXIgZmggPSB7XFxcXG4gICAgICAgIHRpdGxlOiBwZGZoKGRhdGEsICcuY29taWNzLWNhcmRfX3RpdGxlJiZUZXh0JyksXFxcXG4gICAgICAgIGRlc2M6IHBkZmgoZGF0YSwgJy50YWdzJiZUZXh0JyksXFxcXG4gICAgICAgIHBpY191cmw6IHBkZmgoZGF0YSwgJ2FtcC1pbWcmJnNyYycpICsgXFxcXFxcXCJAUmVmZXJlcj1cXFxcXFxcIixcXFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSNpbW1lcnNpdmVUaGVtZSMjYXV0b0NhY2hlIyNub0hpc3RvcnkjP3VybD0nICsg5YmN57yAICsgcGRmaChkYXRhLCAnYSYmaHJlZicpICsgJ0BydWxlPWpzOiQucmVxdWlyZShcXFxcXFxcImhpa2VyOi8vcGFnZS9kZXRhaWxzXFxcXFxcXCIpJyxcXFxcbiAgICAgICAgY29sX3R5cGU6IFxcXFxcXFwibW92aWVfM1xcXFxcXFwiLFxcXFxuICAgICAgICBleHRyYToge1xcXFxuICAgICAgICAgICAgbmFtZTogcGRmaChkYXRhLCAnLmNvbWljcy1jYXJkX190aXRsZSYmVGV4dCcpLFxcXFxuICAgICAgICAgICAgdXJsOiDliY3nvIAgKyBwZGZoKGRhdGEsICdhJiZocmVmJyksXFxcXG4gICAgICAgICAgICBxejog5YmN57yAXFxcXG4gICAgICAgIH1cXFxcbiAgICB9XFxcXG4gICAgcmV0dXJuIGZoXFxcXG59KTtcXFxcblxcXFxuXFxcXG5zZXRSZXN1bHQoZCk7XFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5YiG57G7XFxcIixcXFwicGF0aFxcXCI6XFxcImNsYXNzXFxcIixcXFwicnVsZVxcXCI6XFxcInZhciBkID0gW107XFxcXG5cXFxcbi8v6K6+572u6aG15qCH6aKYXFxcXG5pZiAoTVlfUEFSQU1TLm5hbWUpIHtcXFxcbiAgICBzZXRQYWdlVGl0bGUoTVlfUEFSQU1TLm5hbWUpXFxcXG59XFxcXG5cXFxcbnZhciDliY3nvIAgPSBcXFxcXFxcImh0dHBzOi8vY24uYmFvemltaC5jb21cXFxcXFxcIjtcXFxcbnZhciB1cmzliIbnsbsgPSBNWV9SVUxFLnRpdGxlICsgXFxcXFxcXCJ1cmzliIbnsbtcXFxcXFxcIjtcXFxcbnZhciDliIbnsbvpgInmi6kgPSBNWV9SVUxFLnRpdGxlICsgXFxcXFxcXCLliIbnsbvpgInmi6lcXFxcXFxcIjtcXFxcbnZhciDlvZPliY3pobUgPSBnZXRQYXJhbSgncGFnZScpO1xcXFxuXFxcXG52YXIgdXJsZHogPSBcXFxcXFxcIlxcXFxcXFwiO1xcXFxuaWYgKGdldE15VmFyKOWIhuexu+mAieaLqSkgPT0gJycpIHtcXFxcbiAgICB1cmxkeiA9IGdldE15VmFyKHVybOWIhuexuylcXFxcbn0gZWxzZSBpZiAoZ2V0TXlWYXIo5YiG57G76YCJ5oupKS5zcGxpdChcXFxcXFxcInxcXFxcXFxcIilbMF0gPT0gZ2V0TXlWYXIodXJs5YiG57G7KSkge1xcXFxuICAgIHVybGR6ID0gZ2V0TXlWYXIo5YiG57G76YCJ5oupKS5zcGxpdChcXFxcXFxcInxcXFxcXFxcIilbMV1cXFxcbn0gZWxzZSB7XFxcXG4gICAgdXJsZHogPSBnZXRNeVZhcih1cmzliIbnsbspXFxcXG59XFxcXG5cXFxcbnZhciDpk77mjqXpobXnoIEgPSBcXFxcXFxcIj9wYWdlPVxcXFxcXFwiXFxcXG5pZiAodXJsZHouaW5jbHVkZXMoXFxcXFxcXCI/XFxcXFxcXCIpKSB7XFxcXG4gICAg6ZO+5o6l6aG156CBID0gXFxcXFxcXCImcGFnZT1cXFxcXFxcIlxcXFxufVxcXFxudmFyIGNvZGUgPSByZXF1ZXN0KHVybGR6ICsg6ZO+5o6l6aG156CBICsg5b2T5YmN6aG1KTtcXFxcblxcXFxuZnVuY3Rpb24gTGlzdF9vZl9vcHRpb25zKOaVsOaNrua6kCwg5YiX6KGoLCDngrnkuq4sIOWIhuWJsikge1xcXFxuICAgIGlmICjliIblibIgPT0gMCkge1xcXFxuICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaydcXFxcbiAgICAgICAgfSk7XFxcXG4gICAgfVxcXFxuICAgIHBkZmEo5pWw5o2u5rqQLCDliJfooagpLmZvckVhY2goZnVuY3Rpb24oZGF0YSwgaWQpIHtcXFxcbiAgICAgICAgdmFyIHRpdGxlID0gcGRmaChkYXRhLCAnVGV4dCcpO1xcXFxuICAgICAgICBpZiAoZGF0YS5pbmNsdWRlcyjngrnkuq4pIHx8IHVybOWIhuexuy5pbmNsdWRlcyh0aXRsZSkpIHtcXFxcbiAgICAgICAgICAgIHRpdGxlID0gJ+KAnOKAnOKAneKAnTxiPjxmb250IGNvbG9yPSNGQTcyOTg+JyArIHRpdGxlICsgJzwvZm9udD48L2I+JztcXFxcbiAgICAgICAgfVxcXFxuXFxcXG4gICAgICAgIHZhciB1cmwgPSAnQGxhenlSdWxlPS5qczpwdXRNeVZhcihcXFxcXFxcIicgKyDliIbnsbvpgInmi6kgKyAnXFxcXFxcXCIsIFxcXFxcXFwiJyArIGdldE15VmFyKHVybOWIhuexuykgKyAnfCcgKyDliY3nvIAgKyBwZGZoKGRhdGEsICdhJiZocmVmJykgKyAnXFxcXFxcXCIpO3JlZnJlc2hQYWdlKGZhbHNlKTtgdG9hc3Q6Ly/liIfmjaLmiJDlip8uLi5gJ1xcXFxuICAgICAgICBkLnB1c2goe1xcXFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcXFxuICAgICAgICAgICAgdXJsOiB1cmwsXFxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcXFxcXCJzY3JvbGxfYnV0dG9uXFxcXFxcXCJcXFxcbiAgICAgICAgfSk7XFxcXG4gICAgfSk7XFxcXG59XFxcXG5pZiAo5b2T5YmN6aG1ID09IDEpIHtcXFxcbiAgICBwZGZhKGNvZGUsIFxcXFxcXFwiLmNsYXNzaWZ5JiYuY2xhc3NpZnktbmF2XFxcXFxcXCIpLmZvckVhY2goZnVuY3Rpb24oZGF0YSwgaWQpIHtcXFxcbiAgICAgICAgTGlzdF9vZl9vcHRpb25zKGRhdGEsIFxcXFxcXFwiLm5hdiYmYVxcXFxcXFwiLCAnYWN0aXZlJywgaWQgPT0gMCA/IDEgOiAwKVxcXFxuICAgIH0pO1xcXFxufVxcXFxuXFxcXG5cXFxcbnBkZmEoY29kZSwgXFxcXFxcXCIucHVyZS1nJiYuY29taWNzLWNhcmRcXFxcXFxcIikuZm9yRWFjaChmdW5jdGlvbihkYXRhKSB7XFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6IHBkZmgoZGF0YSwgJy5jb21pY3MtY2FyZF9fdGl0bGUmJlRleHQnKSxcXFxcbiAgICAgICAgZGVzYzogcGRmaChkYXRhLCAnLnRhZ3MmJlRleHQnKSxcXFxcbiAgICAgICAgcGljX3VybDogcGRmaChkYXRhLCAnYW1wLWltZyYmc3JjJykgKyBcXFxcXFxcIkBSZWZlcmVyPVxcXFxcXFwiLFxcXFxuICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5I2ltbWVyc2l2ZVRoZW1lIyNhdXRvQ2FjaGUjI25vSGlzdG9yeSM/dXJsPScgKyDliY3nvIAgKyBwZGZoKGRhdGEsICdhJiZocmVmJykgKyAnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXFxcXFwiaGlrZXI6Ly9wYWdlL2RldGFpbHNcXFxcXFxcIiknLFxcXFxuICAgICAgICBjb2xfdHlwZTogXFxcXFxcXCJtb3ZpZV8zXFxcXFxcXCIsXFxcXG4gICAgICAgIGV4dHJhOiB7XFxcXG4gICAgICAgICAgICBuYW1lOiBwZGZoKGRhdGEsICcuY29taWNzLWNhcmRfX3RpdGxlJiZUZXh0JyksXFxcXG4gICAgICAgICAgICB1cmw6IOWJjee8gCArIHBkZmgoZGF0YSwgJ2EmJmhyZWYnKSxcXFxcbiAgICAgICAgICAgIHF6OiDliY3nvIBcXFxcbiAgICAgICAgfVxcXFxuICAgIH0pO1xcXFxufSk7XFxcXG5cXFxcblxcXFxuXFxcXG5zZXRSZXN1bHQoZCk7XFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5ryr55S76K+m5oOFXFxcIixcXFwicGF0aFxcXCI6XFxcImRldGFpbHNcXFwiLFxcXCJydWxlXFxcIjpcXFwiZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoXFxcXFxcXCJoaWtlcjovL3BhZ2UvcXNcXFxcXFxcIikpLnJ1bGUpXFxcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdChcXFxcXFxcImhpa2VyOi8vcGFnZS9iempzP3J1bGU96IGa5ryr8J+UrlxcXFxcXFwiKSkucnVsZSlcXFxcbi8v6K6+572u6aG15qCH6aKYXFxcXG5pZiAoTVlfUEFSQU1TLm5hbWUpIHtcXFxcbiAgICBzZXRQYWdlVGl0bGUoTVlfUEFSQU1TLm5hbWUpXFxcXG59XFxcXG52YXIgY29kZSA9IHJlcXVlc3QoTVlfUEFSQU1TLnVybCk7XFxcXG4vKlxcXFxuLy/pobXpnaLliLfmlrDvvIzkuI3ph43mlrDliqDovb3nvZHpobVcXFxcbnZhciBhbnRpSGVhdnlMb2FkID0gTVlfUlVMRS50aXRsZSArIFxcXFxcXFwiY29kZVxcXFxcXFwiXFxcXG52YXIgY29kZTtcXFxcbmlmIChnZXRNeVZhcihhbnRpSGVhdnlMb2FkLCBcXFxcXFxcImZhbHNlXFxcXFxcXCIpID09IFxcXFxcXFwiZmFsc2VcXFxcXFxcIikge1xcXFxuXFxcXG4gICAgY29kZSA9IHJlcXVlc3QoTVlfUEFSQU1TLnVybCk7XFxcXG4gICAgcHV0TXlWYXIoYW50aUhlYXZ5TG9hZCwgTVlfUEFSQU1TLnVybCArIFxcXFxcXFwi77+lJu+/pVxcXFxcXFwiICsgY29kZSlcXFxcblxcXFxufSBlbHNlIHtcXFxcblxcXFxuICAgIHZhciBwbSA9IGdldE15VmFyKGFudGlIZWF2eUxvYWQpLnNwbGl0KFxcXFxcXFwi77+lJu+/pVxcXFxcXFwiKVxcXFxuICAgIGlmIChwbVswXSA9PSBNWV9QQVJBTVMudXJsKSB7XFxcXG4gICAgICAgIGNvZGUgPSBwbVsxXVxcXFxuICAgIH0gZWxzZSB7XFxcXG4gICAgICAgIGNvZGUgPSByZXF1ZXN0KE1ZX1BBUkFNUy51cmwpO1xcXFxuICAgICAgICBwdXRNeVZhcihhbnRpSGVhdnlMb2FkLCBNWV9QQVJBTVMudXJsICsgXFxcXFxcXCLvv6Um77+lXFxcXFxcXCIgKyBjb2RlKVxcXFxuICAgIH1cXFxcbn1cXFxcbiovXFxcXG5cXFxcbnZhciBkID0gW107XFxcXG5cXFxcbi8v5aS06YOo5YiX6KGoXFxcXG52YXIg5L2c6ICFID0gJ+S9nOiAhe+8micgKyBwZGZoKGNvZGUsICdoMi5jb21pY3MtZGV0YWlsX19hdXRob3ImJlRleHQnKVxcXFxudmFyIOacgOaWsOeroOiKgiA9IHBkZmgoY29kZSwgJy5zdXBwb3J0aW5nLXRleHQmJmEmJlRleHQnKVxcXFxudmFyIOabtOaWsOaXtumXtCA9ICfml7bpl7TvvJonICsgcGRmaChjb2RlLCAnLnN1cHBvcnRpbmctdGV4dCYmZW0mJlRleHQnKS5yZXBsYWNlKFxcXFxcXFwiKFxcXFxcXFwiLCBcXFxcXFxcIlxcXFxcXFwiKS5yZXBsYWNlKFxcXFxcXFwiKVxcXFxcXFwiLCBcXFxcXFxcIlxcXFxcXFwiKVxcXFxudmFyIOWIhuexuyA9ICfliIbnsbvvvJonICsgcGRmYShjb2RlLCAnLnN1cHBvcnRpbmctdGV4dCYmLnRhZycpLm1hcChkYXRhID0+IHBkZmgoZGF0YSwgJ1RleHQnKSkuam9pbihcXFxcXFxcIiAgXFxcXFxcXCIpXFxcXG52YXIg5bCB6Z2iID0gcGRmaChjb2RlLCAnLnB1cmUtdS0xLTEmJmFtcC1pbWcmJnNyYycpXFxcXG7mt7vliqDlpLTpg6jliJfooagoZCwgTVlfUEFSQU1TLm5hbWUsIOWwgemdoiwg5pyA5paw56ug6IqCLCDkvZzogIUsIOabtOaWsOaXtumXtCwg5YiG57G7LCBNWV9QQVJBTVMudXJsKVxcXFxuXFxcXG7mt7vliqDnroDku4soZCwgcGRmaChjb2RlLCAncC5jb21pY3MtZGV0YWlsX19kZXNjJiZUZXh0JyksIE1ZX1BBUkFNUy51cmwsICdodHRwczovL2xhbm1laWd1b2ppYW5nLmNvbS90dWJpYW8va2UvOTEucG5nJylcXFxcblxcXFxuXFxcXG5cXFxcblxcXFxuXFxcXG52YXIg5YiX6KGo5pWw5o2uID0gcGRmYShjb2RlLCAnI2NoYXB0ZXItaXRlbXMmJmEnKS5jb25jYXQocGRmYShjb2RlLCAnI2NoYXB0ZXJzX290aGVyX2xpc3QmJmEnKSlcXFxcbmlmIChwZGZhKGNvZGUsICdib2R5JiZkaXYucHVyZS1nJykubGVuZ3RoID09IDEpIHtcXFxcbiAgICBzZXRSZXN1bHQoZCk7XFxcXG59XFxcXG5pZiAoIeWIl+ihqOaVsOaNri5sZW5ndGgpIHtcXFxcbiAgICDliJfooajmlbDmja4gPSBwZGZhKGNvZGUsICdib2R5JiZkaXYucHVyZS1nLDEmJmEnKSB8fCAnJ1xcXFxufVxcXFxu5YiX6KGo5pWw5o2uID0g5YiX6KGo5pWw5o2uLm1hcCgoZGF0YSkgPT4ge1xcXFxuICAgIHZhciDpm4bpobnmlbDmja4gPSB7fTtcXFxcbiAgICDpm4bpobnmlbDmja4udGl0bGUgPSBwZGZoKGRhdGEsICdUZXh0JylcXFxcbiAgICDpm4bpobnmlbDmja4udXJsID0gTVlfUEFSQU1TLnF6ICsgcGRmaChkYXRhLCAnYSYmaHJlZicpXFxcXG4gICAgcmV0dXJuIOmbhumhueaVsOaNrjtcXFxcbn0pXFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfigJjigJjigJnigJnwn5OlPGZvbnQgY29sb3I9XFxcXFxcXCIjZjQ3OTgzXFxcXFxcXCI+IOS4i+i9vTwvZm9udD4g77yaJyxcXFxcbiAgICB1cmw6IFxcXFxcXFwidG9hc3Q6Ly/ngrnmiJHlubLllaXlkaJcXFxcXFxcIixcXFxcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxcXG59KTtcXFxcblxcXFxudmFyIHNqc3MgPSB7XFxcXG4gICAgY2hhcHRlckxpc3Q6IOWIl+ihqOaVsOaNrixcXFxcbiAgICBpbmZvOiB7XFxcXG4gICAgICAgIGJvb2tOYW1lOiBNWV9QQVJBTVMubmFtZSwgLy/mvKvnlLvlkI3np7AsXFxcXG4gICAgICAgIHJ1bGVOYW1lOiBNWV9SVUxFLnRpdGxlLFxcXFxuICAgICAgICBib29rVG9wUGljOiDlsIHpnaIgKyAnQFJlZmVyZXI9JyxcXFxcbiAgICAgICAgcGFyc2VDb2RlOiDmvKvnlLvop6PmnpAsXFxcXG4gICAgfSxcXFxcbiAgICBkZWZhdWx0VmlldzogXFxcXFxcXCIxXFxcXFxcXCJcXFxcbn07XFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAn6L+e6L29JyxcXFxcbiAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZG93bmxvYWQudmlldyNub1JlY29yZEhpc3RvcnkjI25vUmVmcmVzaCMjbm9IaXN0b3J5Iz9ydWxlPeacrOWcsOi1hOa6kOeuoeeQhicsXFxcXG4gICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXFxcbiAgICBleHRyYTogc2pzc1xcXFxufSk7XFxcXG5cXFxcblxcXFxu5re75Yqg5YiX6KGo56ug6IqCKGQsICfnq6DoioLnm67lvZUnLCDliJfooajmlbDmja4sIGxhenksIE1ZX1BBUkFNUy51cmwsICcnKVxcXFxuXFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgY29sX3R5cGU6IFxcXFxcXFwibG9uZ190ZXh0XFxcXFxcXCJcXFxcbn0pO1xcXFxuXFxcXG5zZXRSZXN1bHQoZCk7XFxcIn1dXCJ9IiwicGljVXJsIjoiaHR0cHM6Ly9zdGF0aWMtdHcuYmFvemltaC5jb20vY292ZXIvemhldGlhbi1zaGVubWFuLmpwZz93PTI4NSZoPTM3NSZxPTEwMEBSZWZlcmVyPWh0dHBzOi8vY24uYmFvemltaC5jb20iLCJ0aXRsZSI6IumBruWkqSJ9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement