xiaomianao666

小程序:新番更新表*

May 13th, 2022
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@新番更新表*@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6ImpzOlxudmFyIHltPU1ZX1VSTC5pbmNsdWRlcygnaXFpeWkuJyk/cmVxdWVzdChNWV9VUkwse30pOmZldGNoKE1ZX1VSTCwge2hlYWRlcnM6e1wiVXNlci1BZ2VudFwiOlBDX1VBfX0pO1xudHJ5e1xuaWYoTVlfVVJMLmluY2x1ZGVzKCdiaWxpYmlsaScpKXtcbnZhciBkZXM9SlNPTi5wYXJzZSh5bS5zcGxpdCgnbmV3ZXN0RXBcIjonKVsxXS5zcGxpdCgnfScpWzBdKyd9JykuZGVzYztcbnRyeXtcbnZhciBlcD1KU09OLnBhcnNlKHltLnNwbGl0KCdcImVwTGlzdFwiOicpWzFdLnNwbGl0KCd9XScpWzBdKyd9XScpOyBcbn1jYXRjaChlKXtlcD1bXTt9XG5pZihlcC5sZW5ndGg9PTApZ3h6PTA7XG5lbHNle1xuZm9yKHZhciBpPWVwLmxlbmd0aC0xO2VwW2ldLmJhZGdlPT0n6aKE5ZGKJztpLS0pO1xudmFyIGd4ej1lcFtpXS50aXRsZTt9fVxufWNhdGNoKGUpe2d4ej1cIuabtOaWsOWGheWuueiOt+WPluWksei0pe+8gVwiO31cblxuXG50cnl7XG5pZihNWV9VUkwuaW5jbHVkZXMoJ2lxaXlpJykpe1xuLypcbnRyeXt2YXIgdj1KU09OLnBhcnNlKHltLnNwbGl0KCd2aWRlb0luZm9cIjonKVsxXS5zcGxpdCgnfScpWzBdKyd9Jyk7fWNhdGNoKGUpe3ZhciB2PXt9O3YuYWlkPXltLnNwbGl0KCdhbGJ1bUlkXCI6JylbMV0uc3BsaXQoJywnKVswXTt9dmk9SlNPTi5wYXJzZShyZXF1ZXN0KCdodHRwczovL3B1Yi5tLmlxaXlpLmNvbS9oNS9tYWluL3ZpZGVvTGlzdC9hbGJ1bS8/YWxidW1JZD0nK3YuYWlkKycmc2l6ZT0xNTAwJnBhZ2U9MSZuZWVkUHJldnVlPWZhbHNlJm5lZWRWaXBQcmV2dWU9ZmFsc2UnLHt9KSkuZGF0YTtpZih2aSE9Jycpe3Y9dmkudmlkZW9zO2d4ej12LnBvcCgpLnBkfWVsc2V7aT12O2lmKGkmJighaS52dHx8IWkudnQuaW5jbHVkZXMoJ+mihOWRiicpKSlneHo9aS5vcmRlcjt9XG4qL1xuXG52YXIgZ3h6PXltLm1hdGNoKC9sYXRlc3RPcmRlclwiLio/KFxcZCspLylbMV07XG59XG59Y2F0Y2goZSl7Z3h6PSfmnIDmlrDnirbmgIHojrflj5blpLHotKXvvIEnO31cbnRyeXtcbmlmKE1ZX1VSTC5pbmNsdWRlcygncXEnKSl7XG52YXIgaHRtPUpTT04ucGFyc2UoeW0uc3BsaXQoJ0NPVkVSX0lORk8gPSAnKVsxXS5zcGxpdCgndmFyICcpWzBdKTtcbnZhciBoPScnO1xudmFyIGd4ej0n56ysJytodG0ubm9tYWxfaWRzLmZpbHRlcihhPT57aWYoaD09NyYmYS5GPT0yKWg9MTtlbHNlIGg9YS5GO2lmKGg9PTJ8fGg9PTcpcmV0dXJuIGE7fSkubGVuZ3RoKyfor50nO1xuXG59fWNhdGNoKGUpe2d4ej1cIuabtOaWsOWGheWuueiOt+WPluWksei0pe+8gVwiO31cbnNldFJlc3VsdCgn5pu05paw6Iez77yaJytneHopOyIsInRpdGxlIjoi5paw55Wq5pu05paw6KGoKiIsImF1dGhvciI6IjE2MDYxNDIiLCJ1cmwiOiJoaWtlcjovL2VtcHR5I2Z5cGFnZSIsInZlcnNpb24iOjIwLCJjb2xfdHlwZSI6ImxvbmdfdGV4dCIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoidmlkZW8iLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczovLzU0MVxudmFyIHJlcyA9IHt9O1xudmFyIGQgPSBbXTtcbnB1dFZhcihcImpsXCIsMCk7XG5mdW5jdGlvbiBwaW4oYSxiKXtcbnJldHVybiAoYj09MD8n4oCc4oCc4oCd4oCdJzonJykrJzxmb250IGNvbG9yPVwiI2VmNWI5Y1wiPicrYSsnPC9mb250Pic7XG59XG52YXIgbGI9ZmV0Y2goXCJoaWtlcjovL2ZpbGVzL+eVquWJp+abtOaWsOihqC/miJHnmoTov73nlaoudHh0XCIsIHt9KTtcbnB1dFZhcihcImxiXCIsbGIpO1xudmFyIHNlPSdoaWtlcjovL2ZpbGVzL+eVquWJp+abtOaWsOihqC9zZXQudHh0JztcbnRyeXtcbnZhciBmaT1KU09OLnBhcnNlKGZldGNoKHNlLHt9KSk7XG59Y2F0Y2goZSl7Zmk9e307fVxuYT1nZXRWYXIoJ2F4ZScpO1xuaWYoYT09XCJcIil7YT1cIui/veeVqlwiO3B1dFZhcihcImF4ZVwiLFwi6L+955WqXCIpO3B1dFZhcihcInN0YVwiLGZpLmNvbCYmZmkuY29sPT0xPzE6MCk7fVxuaWYoYSE9J+i/veeVqicpcHV0VmFyKCdzdGEnLCcnKTtcbnZhciBiPXBhcnNlSW50KE1ZX1VSTC5zcGxpdCgnIycpWzFdKTtcbmlmKGI9PTEpe1xuZC5wdXNoKHtcbnRpdGxlOihhPT01PyfigJzigJzigJ3igJ08Zm9udCBjb2xvcj1cInJlZFwiPuaYqOaXpeabtOaWsDwvZm9udD4nOifmmKjml6Xmm7TmlrAnKSxcbnVybDpgaGlrZXI6Ly9lbXB0eUBsYXp5UnVsZT0uanM6cHV0VmFyMignYXhlJywnNScpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLoh7PmmKjml6Xmm7TmlrAnYCxcbmNvbF90eXBlOid0ZXh0XzMnXG59KTtcbmQucHVzaCh7XG50aXRsZTooYT09Nj8n4oCc4oCc4oCd4oCdPGZvbnQgY29sb3I9XCJyZWRcIj7ku4rml6Xmm7TmlrA8L2ZvbnQ+Jzon5LuK5pel5pu05pawJyksXG51cmw6YGhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOnB1dFZhcjIoJ2F4ZScsJzYnKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5YiH5o2i6Iez5LuK5pel5pu05pawJ2AsXG5jb2xfdHlwZTondGV4dF8zJ1xufSk7XG5kLnB1c2goe1xudGl0bGU6KGE9PTc/J+KAnOKAnOKAneKAnTxmb250IGNvbG9yPVwicmVkXCI+5piO5pel5pu05pawPC9mb250Pic6J+aYjuaXpeabtOaWsCcpLFxudXJsOmBoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczpwdXRWYXIyKCdheGUnLCc3Jyk7cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+WIh+aNouiHs+aYjuaXpeabtOaWsCdgLFxuY29sX3R5cGU6J3RleHRfMydcbn0pO1xuZC5wdXNoKHtcbnRpdGxlOihhPT0n5by65Yq/5o6l5qGjJz8n4oCc4oCc4oCd4oCdPGZvbnQgY29sb3I9XCJyZWRcIj7ohb7orq/mjqXmoaM8L2ZvbnQ+Jzon6IW+6K6v5o6l5qGjJyksXG51cmw6YGhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOnB1dFZhcjIoJ2F4ZScsJ+W8uuWKv+aOpeahoycpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLoh7Pohb7orq/mjqXmoaMnYCxcbmNvbF90eXBlOid0ZXh0XzMnXG59KTtcbnZhciBtb2RlPVsn55Wq5Ymn57Si5byVJywn5Zu95Yib57Si5byVJ107XG5pZihhLmluY2x1ZGVzKCfntKLlvJUnKSlcbnZhciBtbz1nZXRWYXIoJ2F4ZScpPT0n55Wq5Ymn57Si5byVJz9tb2RlWzBdOm1vZGVbMV07XG5kLnB1c2goe1xudGl0bGU6YS5pbmNsdWRlcygn57Si5byVJyk/KCfigJzigJzigJ3igJ08Zm9udCBjb2xvcj1cInJlZFwiPicrbW8rJzwvZm9udD4nKTonQuermee0ouW8lScsXG51cmw6YGhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOmlmKGdldFZhcignYXhlJyk9PSfnlarliafntKLlvJUnKXB1dFZhcjIoJ2F4ZScsJ+WbveWIm+e0ouW8lScpO2Vsc2UgcHV0VmFyMignYXhlJywn55Wq5Ymn57Si5byVJyk7cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+WIh+aNouiHsycrZ2V0VmFyKCdheGUnKWAsXG5jb2xfdHlwZTondGV4dF8zJ1xufSk7XG5kLnB1c2goe1xudGl0bGU6YT09J+i/veeVqic/J+KAnOKAnOKAneKAnTxmb250IGNvbG9yPVwicmVkXCI+5oiR55qE6L+955WqPC9mb250Pic6J+aIkeeahOi/veeVqicsXG51cmw6YGhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOnB1dFZhcjIoJ2F4ZScsJ+i/veeVqicpO3ZhciBhPWdldFZhcihcInN0YVwiKTtpZihhPT1cIlwiKWE9XCJgKyhmaS5jb2wmJmZpLmNvbD09MT8xOjApK2BcIjtlbHNlIGE9YT09MT8wOjE7cHV0VmFyKCdzdGEnLGEpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLoh7PmiJHnmoTov73nlaonYCxcbmNvbF90eXBlOid0ZXh0XzMnXG59KTt9XG5pZihhLmluY2x1ZGVzKCfntKLlvJUnKSl7XG52YXIgb3JkPVsnMycsJzAnLCc0JywnMicsJzUnXTtcbnZhciB0aXQ9Wyfov73nlarkurrmlbAnLCfmm7TmlrDml7bpl7QnLCfmnIDpq5jor4TliIYnLCfmkq3mlL7mlbDph48nLCflvIDmkq3ml7bpl7QnXTtcbnZhciBvcj1wYXJzZUludChnZXRWYXIoJ29yJywnMCcpLDEwKTtcbmI8MiYmZC5wdXNoKHtjb2xfdHlwZTonbGluZV9ibGFuayd9KTtcbmZvcih2YXIgaT0wO2I8MiYmaTxvcmQubGVuZ3RoO2krKyl7XG52YXIgdHQ9J+KAnOKAnOKAneKAnTxmb250IGNvbG9yPVwiYmx1ZVwiPicrdGl0W2ldKyc8L2ZvbnQ+JztcbmQucHVzaCh7XG50aXRsZTpvcj09b3JkW2ldP3R0OnRpdFtpXSxcbnVybDonaGlrZXI6Ly9lbXB0eSMnK29yZFtpXStgQGxhenlSdWxlPS5qczp2YXIgaT1pbnB1dC5zcGxpdCgnIycpWzFdO3B1dFZhcjIoJ29yJyxpKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBJ2AsXG5jb2xfdHlwZTondGV4dF8zJ1xufSk7fVxuYjwyJiZkLnB1c2goe2NvbF90eXBlOidsaW5lJ30pO1xuXG52YXIgbW9kZWw9WycxJywnNCddO1xudmFyIHdlYj0naHR0cHM6Ly9hcGkuYmlsaWJpbGkuY29tL3BnYy9zZWFzb24vaW5kZXgvcmVzdWx0P3NlYXNvbl92ZXJzaW9uPS0xJmFyZWE9LTEmaXNfZmluaXNoPS0xJmNvcHlyaWdodD0tMSZzZWFzb25fc3RhdHVzPS0xJnNlYXNvbl9tb250aD0tMSZ5ZWFyPS0xJnN0eWxlX2lkPS0xJm9yZGVyPScrb3IrJyZzdD0xJnNvcnQ9MCZwYWdlPScrYisnJnNlYXNvbl90eXBlPScrbW9kZWxbKGdldFZhcignYXhlJyk9PSfnlarliafntKLlvJUnPzA6MSldKycmcGFnZXNpemU9MjAmdHlwZT0xJztcbnRyeXtcbnZhciB5bT1KU09OLnBhcnNlKHJlcXVlc3Qod2ViLHt9KSkuZGF0YS5saXN0O1xuZm9yKHZhciBpIGluIHltKXtcbnZhciBidD15bVtpXS50aXRsZTtcbnZhciBpbmQ9eW1baV0uaW5kZXhfc2hvdztcbmluZD1pbmQ/KGluZCsnICcpOicnO1xudmFyIGJ0PWxiLmluY2x1ZGVzKHltW2ldLmxpbmspPyhmaS5jb2wmJmZpLmNvbD09MT8oJ+KtkO+4jycrYnQpOnBpbihidCkpOmJ0O1xuXG5kLnB1c2goe1xuXHR0aXRsZTpmaS5jb2wmJmZpLmNvbD09MT9idDooJ+KAnOKAnOKAneKAnTxzdHJvbmc+JytidCsnPC9zdHJvbmc+JyksXG4gIGRlc2M6ZmkuY29sJiZmaS5jb2w9PTE/KGluZCk6KCc8c3Ryb25nPicraW5kKyc8L3N0cm9uZz7igJjigJjigJnigJk8Zm9udCBjb2xvcj1cInJlZFwiPicreW1baV0ub3JkZXIrJzwvZm9udD4nKSxcbiAgcGljX3VybDp5bVtpXS5jb3ZlcisnQFJlZmVyZXI9aHR0cHM6Ly9hcGkuYmlsaWJpbGkuY29tJyxcbnVybDp5bVtpXS5saW5rKycjIycreW1baV0udGl0bGUrJyYmJyt5bVtpXS5saW5rKycmJicreW1baV0uY292ZXIsXG5cdGNvbF90eXBlOiBmaS5jb2wmJmZpLmNvbD09MT8nbW92aWVfM19tYXJxdWVlJzonbW92aWVfMSdcbn0pO1xufX1jYXRjaChlKXt9XG59ZWxzZSBpZihhPT0n5by65Yq/5o6l5qGjJyYmYj09MSl7XG5kLnB1c2goe2NvbF90eXBlOidsaW5lX2JsYW5rJ30pO1xudmFyIGpkPVsn6YeN56OF5o6o6I2QJywn5by65qGj5o6o6I2QJywn5by65Yq/5o6l5qGjJ107XG5cbnZhciBqZHM9Wycuc2xpZGVyX25hdiYmLm5hdl9saW5rJywnLm1vZF9maWd1cmUmJi5saXN0X2l0ZW0nLCcubW9kX2JkLDN8fC5tb2RfZmlndXJlLDEmJi5saXN0X2l0ZW0nXTtcbnZhciBkdT1nZXRWYXIoJ2R1JyxqZHNbMl0pO1xuZm9yKHZhciBpIGluIGpkKXtcbnZhciB0dD0n4oCc4oCc4oCd4oCdPGZvbnQgY29sb3I9XCJibHVlXCI+JytqZFtpXSsnPC9mb250Pic7XG5cbmQucHVzaCh7XG50aXRsZTpkdT09amRzW2ldP3R0OmpkW2ldLFxudXJsOidoaWtlcjovL2VtcHR5IycramRzW2ldK2BAbGF6eVJ1bGU9LmpzOnZhciBpPWlucHV0LnNwbGl0KCcjJylbMV07cHV0VmFyMignZHUnLGkpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLmiJDlip/vvIEnYCxcbmNvbF90eXBlOid0ZXh0XzMnXG59KTtcblxufVxudmFyIHRlbj1mZXRjaCgnaHR0cHM6Ly92LnFxLmNvbS9jaGFubmVsL2NhcnRvb24nLCB7aGVhZGVyczp7XCJVc2VyLUFnZW50XCI6UENfVUF9fSk7XG52YXIgbGVuPScnO1xuaWYoZHU9PWpkc1syXSl7XG52YXIgbGVuPXBhcnNlRG9tRm9yQXJyYXkodGVuLCcubW9kX2xpc3RpbmdzX3RpdGxlJiYudGl0bGVfaXRlbScpO31cbnZhciBsZT1wYXJzZURvbUZvckFycmF5KHRlbixkdSk7XG5cbmZvcih2YXIgaSBpbiBsZSl7XG50cnl7XG52YXIgdXI9cGFyc2VEb21Gb3JIdG1sKGxlW2ldLCdhJiZocmVmJyk7XG52YXIgdGk9cGFyc2VEb21Gb3JIdG1sKGxlW2ldLCcudGl0bGVfdGV4dHx8YSwxJiZUZXh0Jyk7XG50cnl7dmFyIHBpPXBhcnNlRG9tRm9ySHRtbChsZVtpXSwnaW1nJiZsel9uZXh0fHxzcmMnKTt9Y2F0Y2goZSl7dmFyIHBpPScnO31cblxudHJ5e1xuaWYocGk9PScnKVxudmFyIHBpPXBhcnNlRG9tRm9ySHRtbChsZVtpXSwnYSYmZGF0YS1iZ2ltYWdlJyk7fWNhdGNoKGUpe31cbnBpPXBpLmluY2x1ZGVzKCdodHRwJyk/cGk6KCdodHRwczonK3BpKTtcbnZhciBkZT1sZW4/KCfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cInJlZFwiPicrcGFyc2VEb21Gb3JIdG1sKGxlbltpXSwnLnRpdGxlJiZUZXh0JykrJzwvZm9udD4gPHN0cm9uZz4nKyBwYXJzZURvbUZvckh0bWwobGVuW2ldLCcuZGVzYyYmVGV4dCcpKyc8L3N0cm9uZz4nKydcXG48Zm9udCBjb2xvcj1cImJsdWVcIj4nK3BhcnNlRG9tRm9ySHRtbChsZVtpXSwnLmZpZ3VyZV9kZXNjJiZUZXh0JykrJzwvZm9udD4nKTpwYXJzZURvbUZvckh0bWwobGVbaV0sJ3NwYW58fC5maWd1cmVfY2FwdGlvbiYmVGV4dCcpLnJlcGxhY2UodGksJycpO1xuZGU9bGVufHxkdT09amRzWzBdP2RlOign4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XCJyZWRcIj4nK2RlKyc8L2ZvbnQ+Jyk7XG59Y2F0Y2goZSl7fVxudmFyIHRpdD1sYi5pbmNsdWRlcyh1cik/cGluKHRpKTp0aTtcbnRpPWR1PT1qZHNbMF0/dGk6KCfigJzigJzigJ3igJ08c3Ryb25nPicrdGl0Kyc8L3N0cm9uZz4nKTtcbmlmKHRpKVxuZC5wdXNoKHtcblx0dGl0bGU6dGksXG4gIGRlc2M6IGRlLFxuICBwaWNfdXJsOnBpLFxuXHR1cmw6dXIrJyMjJytidCsnJiYnK3VyKycmJicrcGksXG5cdGNvbF90eXBlOiBkdT09Jy5zbGlkZXJfbmF2JiYubmF2X2xpbmsnPydwaWNfMSc6J21vdmllXzEnXG59KTtcblxufVxufWVsc2UgaWYoYT09J+i/veeVqicmJmI9PTEpe1xuZDE9W10gO1xuZDI9W107XG5kMz1bXTtcbmlmKGxiIT0nJyl7XG5mdW5jdGlvbiBmZW56dShhcnIsdGFnKXtcbiAgXG4gICBhcnIuc29ydChmdW5jdGlvbiB2KGEsYil7XG4gICAgICAgdmFyIGE9YS51cmwuc3BsaXQoJyMjJylbMV0uc3BsaXQoJyYmJylbNF07XG4gICAgICAgYT1hPT11bmRlZmluZWR8fGE9PVwiXCI/XCLmnKrlkb3lkI1cIjphO1xuICAgICAgIHZhciBiPWIudXJsLnNwbGl0KCcjIycpWzFdLnNwbGl0KCcmJicpWzRdO1xuICAgICAgIGI9Yj09dW5kZWZpbmVkfHxiPT1cIlwiP1wi5pyq5ZG95ZCNXCI6YjtcbiAgICAgICByZXR1cm4gYi1hO1xuICAgfSk7XG4gICBcbiAgdmFyIHJxPVtdO1xuICAgdmFyIGc9YXJyLm1hcCgoYSxiLGMpPT57XG4gICAgICAgdmFyIGY9YS51cmwuc3BsaXQoJyMjJylbMV0uc3BsaXQoJyYmJylbNF07XG4gICAgICAgZj1mPT11bmRlZmluZWR8fGY9PVwiXCI/XCLmnKrlkb3lkI1cIjpmO1xuICAgICAgIGM9Yy5maWx0ZXIoZT0+e1xuICAgICAgICAgICB2YXIgZTE9ZS51cmwuc3BsaXQoJyMjJylbMV0uc3BsaXQoJyYmJylbNF07XG4gICAgICAgICAgIGUxPWUxPT11bmRlZmluZWR8fGUxPT1cIlwiP1wi5pyq5ZG95ZCNXCI6ZTE7XG4gICAgICAgICAgIGlmKGY9PWUxKXJldHVybiBlO1xuICAgICAgIH0pLm1hcChhPT57YS5leHRyYT17aWQ6dGFnK2YrXCJpdGVtXCJ9O3JldHVybiBhO30pO1xuICAgICAgIHB1dFZhcih0YWcrZixcIlwiKTtcbiAgICAgICByZXR1cm4ge1xuICAgICAgICAgICB0aXRsZTpcIuKAnOKAnOKAneKAnVwiK3BpbihmKStcIiDliIbnu4RcIixcbiAgICAgICAgICAgdXJsOmBoaWtlcjovL2VtcHR5I25vTG9hZGluZyNAbGF6eVJ1bGU9LmpzOnZhciB0Zj1cImArKHRhZytmKStgXCI7dmFyIGE9Z2V0VmFyKHRmKTtpZihhPT1cIlwiKXB1dFZhcih0ZiwxKTtlbHNlIHB1dFZhcih0ZixcIlwiKTt2YXIgZGU9W107Zm9yKGxldCBpIG9mIGArSlNPTi5zdHJpbmdpZnkoYykrYCl7aWYoYT09XCJcIilhZGRJdGVtQWZ0ZXIodGYsIGkpO2Vsc2UgZGUucHVzaCh0ZisnaXRlbScpO31pZihhIT1cIlwiKSBkZWxldGVJdGVtKGRlKTthPT1cIlwiP1widG9hc3Q6Ly/lt7LlsZXlvIDvvIFcIjpcInRvYXN0Oi8v5bey5YWz6Zet77yBXCI7YCxcbiAgICAgICAgICAgZXh0cmE6e2lkOnRhZytmfSxcbiAgICAgICAgICBjb2xfdHlwZTpcInRleHRfY2VudGVyXzFcIlxuICAgICAgIH07XG4gICB9KS5maWx0ZXIoKGEpPT57aWYoYj09MHx8IXJxLmpvaW4oXCIlI1wiKS5pbmNsdWRlcyhhLnRpdGxlKSl7cnEucHVzaChhLnRpdGxlKTtyZXR1cm4gYTt9fSk7XG4gICByZXR1cm4gZztcbn1cbnZhciB4eD1sYi5zcGxpdCgnQEAnKTtcblxudmFyIHU9eHgubWFwKGZ1bmN0aW9uKGEpe1xudmFyIGI9YS5zcGxpdCgnJiYnKVsxXTtcbmlmKGImJmIuaW5jbHVkZXMoJ2lxaXlpJykpcmV0dXJuIHt1cmw6YixvcHRpb25zOntoZWFkZXJzOntcIlVzZXItQWdlbnRcIjpNT0JJTEVfVUF9fX07XG5lbHNlIGlmKGImJmIuaW5jbHVkZXMoJ3lvdWt1JykpcmV0dXJuIHt1cmw6YixvcHRpb25zOntoZWFkZXJzOntcIlVzZXItQWdlbnRcIjpNT0JJTEVfVUEsJ0Nvb2tpZSc6J2NuYT02SXlpR3J6S2wza0NBWEFFMDBvZjNNU24nfX19O2Vsc2V7cmV0dXJuIHt1cmw6YixvcHRpb25zOntoZWFkZXJzOntcIlVzZXItQWdlbnRcIjpQQ19VQX19fTt9XG59KTtcbnZhciB5PWJhdGNoRmV0Y2godSk7XG5mb3IodmFyIGsgaW4geHgpe1xudHJ5e1xudmFyIHg9eHhba10uc3BsaXQoJyYmJyk7XG5pZih4WzFdIT0nJyl7XG4vKlxudmFyIHltPWZldGNoKHhbMV0sIHtoZWFkZXJzOntcIlVzZXItQWdlbnRcIjpQQ19VQX19KTtcbiovXG52YXIgeW09eVtrXTtcbnRyeXtcbmlmKHhbMV0uaW5jbHVkZXMoJ2JpbGliaWxpJykpe1xudmFyIGRlcz0nPGZvbnQgY29sb3I9XCJibHVlXCI+JytKU09OLnBhcnNlKHltLnNwbGl0KCduZXdlc3RFcFwiOicpWzFdLnNwbGl0KCd9JylbMF0rJ30nKS5kZXNjKyc8L2ZvbnQ+JztcbnRyeXtcbnZhciBlcD1KU09OLnBhcnNlKHltLnNwbGl0KCdcImVwTGlzdFwiOicpWzFdLnNwbGl0KCd9XScpWzBdKyd9XScpOyBcbn1jYXRjaChlKXtlcD1bXTt9XG5pZihlcC5sZW5ndGg9PTApZ3h6PTA7XG5lbHNle1xuZm9yKHZhciBpPWVwLmxlbmd0aC0xO2VwW2ldLmJhZGdlPT0n6aKE5ZGKJztpLS0pO1xudmFyIGd4ej1cIuesrFwiK2VwW2ldLnRpdGxlK1wi6K+dXCI7fX1cbn1jYXRjaChlKXtneHo9J+acgOaWsOeKtuaAgeiOt+WPluWksei0pe+8gSc7fVxudHJ5e1xuaWYoeFsxXS5pbmNsdWRlcygncXEnKSl7XG52YXIgaHRtPUpTT04ucGFyc2UoeW0uc3BsaXQoJ0NPVkVSX0lORk8gPSAnKVsxXS5zcGxpdCgndmFyICcpWzBdKTtcbmlmKGh0bS5jYXRlZ29yeV9tYXAuaW5jbHVkZXMoJ+ato+eJhycpKXtcbnZhciBoPScnO1xudmFyIGd4ej0n56ysJytodG0ubm9tYWxfaWRzLmZpbHRlcigoYSk9PntpZihoPT03JiZhLkY9PTIpaD0xO2Vsc2UgaD1hLkY7aWYoaD09Mnx8aD09NylyZXR1cm4gYTt9KS5sZW5ndGgrJ+ivnSc7fVxuZWxzZSBneHo9J+esrDDor50nO1xuaWYoZ3h6PT0n56ysMOivnScpe1xuZGVzPSc8Zm9udCBjb2xvcj1cImJsdWVcIj4nK2h0bS51cGRhdGVfbm90aWZ5X2Rlc2MrJzwvZm9udD4nO1xufVxufVxufWNhdGNoKGUpe2d4ej0n5pyA5paw54q25oCB6I635Y+W5aSx6LSl77yBJzt9XG5cbnRyeXtcbmlmKHhbMV0uaW5jbHVkZXMoJ2lxaXlpJykpe1xuLypcbnRyeXtcbnZhciB2PUpTT04ucGFyc2UoeW0uc3BsaXQoJ3ZpZGVvc1wiOicpWzFdLnNwbGl0KCd9XScpWzBdKyd9XScpO31jYXRjaChlKXt2YXIgdj1KU09OLnBhcnNlKCdbJyt5bS5zcGxpdCgndmlkZW9JbmZvXCI6JylbMV0uc3BsaXQoJ30nKVswXSsnfV0nKTt9XG5mb3IodmFyIGkgb2YgdilcbmlmKCFpLnZ0fHwhaS52dC5pbmNsdWRlcygn6aKE5ZGKJykpZ3h6PWkub3JkZXI7XG5cblxudHJ5e3ZhciB2PUpTT04ucGFyc2UoeW0uc3BsaXQoJ3ZpZGVvSW5mb1wiOicpWzFdLnNwbGl0KCd9JylbMF0rJ30nKTt9Y2F0Y2goZSl7dmFyIHY9e307di5haWQ9eW0uc3BsaXQoJ2FsYnVtSWRcIjonKVsxXS5zcGxpdCgnLCcpWzBdO312aT1KU09OLnBhcnNlKHJlcXVlc3QoJ2h0dHBzOi8vcHViLm0uaXFpeWkuY29tL2g1L21haW4vdmlkZW9MaXN0L2FsYnVtLz9hbGJ1bUlkPScrdi5haWQrJyZzaXplPTE1MDAmcGFnZT0xJm5lZWRQcmV2dWU9ZmFsc2UmbmVlZFZpcFByZXZ1ZT1mYWxzZScse30pKS5kYXRhO2lmKHZpIT0nJyl7dj12aS52aWRlb3M7Z3h6PXYucG9wKCkucGR9ZWxzZXtpPXY7aWYoaSYmKCFpLnZ0fHwhaS52dC5pbmNsdWRlcygn6aKE5ZGKJykpKWd4ej1pLm9yZGVyO31cbiovXG5cbnZhciBneHo9XCLnrKxcIit5bS5tYXRjaCgvbGF0ZXN0T3JkZXJcIi4qPyhcXGQrKS8pWzFdK1wi6K+dXCI7XG59XG59Y2F0Y2goZSl7Z3h6PSfmnIDmlrDnirbmgIHojrflj5blpLHotKXvvIEnO31cblxudHJ5e1xuaWYoeFsxXS5pbmNsdWRlcygneW91a3UnKSl7XG52YXIgZ3h6PVwi56ysXCIreW0ubWF0Y2goL2VwaXNvZGVMYXN0XCIuKj8oXFxkKykvKVsxXStcIuivnVwiO1xufVxuXG59Y2F0Y2goZSl7Z3h6PSfmnIDmlrDnirbmgIHojrflj5blpLHotKXvvIEnO31cblxudmFyIHBpYz14WzJdLnNwbGl0KCcvJyk7XG5pZihwaWNbMl09PSdwdXVpLnFwaWMuY24nKXhbMl09cGljLnNsaWNlKDAsLTEpLmpvaW4oJy8nKSsnLzAnO1xuXG5pZihneHo9PSfmnIDmlrDnirbmgIHojrflj5blpLHotKXvvIEnKXtcbmQyLnB1c2goe1xuXHR0aXRsZTogZ2V0VmFyKCdzdGEnKT09MT94WzBdOign4oCc4oCc4oCd4oCdPGZvbnQgY29sb3I9XCJncmV5XCI+Jyt4WzBdKyc8L2ZvbnQ+JyksXG4gIHBpY191cmw6IHhbMl0rKHhbMV0uaW5jbHVkZXMoJ2JpbGliaWxpJyk/J0BSZWZlcmVyPWh0dHBzOi8vd3d3LmJpbGliaWxpLmNvbSc6KHhbMV0uaW5jbHVkZXMoJ2lxaXlpJyk/J0BSZWZlcmVyPWh0dHBzOi8vd3d3LmlxaXlpLmNvbSc6JycpKSxcbmRlc2M6Z2V0VmFyKCdzdGEnKT09MT8oeFszXSYmeFszXSE9Jyc/KCfop4LnnIvoh7MgJyt4WzNdKTooJ+acquingueciycpKTooKHhbM10mJnhbM10hPScnPygn6KeC55yL6IezIOKAmOKAmCcreFszXSsn4oCZ4oCZJyk6KCfigJjigJjmnKrop4LnnIvigJnigJknKSkrJ1xcbuabtOaWsOiHsyA8Zm9udCBjb2xvcj1cInJlZFwiPicrZ3h6Kyc8L2ZvbnQ+JyksXG5cdHVybDp4WzFdKycjIycreHhba10rJyMjJyxcblx0Y29sX3R5cGU6KCBnZXRWYXIoJ3N0YScpPT0xPydtb3ZpZV8zX21hcnF1ZWUnOidtb3ZpZV8xX3ZlcnRpY2FsX3BpYycpXG59KTtcbn1lbHNle1xuaWYoeFszXSYmeFszXS5tYXRjaCgv56ysLio/6K+dLyk9PW51bGwpeFszXT1cIuesrFwiK3hbM10rXCLor51cIjtcbmlmKHhbM10hPWd4eilcbmQzLnB1c2goe1xuXHR0aXRsZTogZ2V0VmFyKCdzdGEnKT09MT94WzBdOnBpbih4WzBdLDApLFxuICBwaWNfdXJsOiB4WzJdKyh4WzFdLmluY2x1ZGVzKCdiaWxpYmlsaScpPydAUmVmZXJlcj1odHRwczovL3d3dy5iaWxpYmlsaS5jb20nOicnKSxcbmRlc2M6Z2V0VmFyKCdzdGEnKT09MT8oeFszXSYmeFszXSE9XCJcIj8oJ+ingueci+iHsyAnK3hbM10pOign5pyq6KeC55yLJykpOigoeFszXSYmeFszXSE9XCJcIj8oJ+ingueci+iHsyAnKyh4WzNdIT1neHo/KCfigJzigJwnK3hbM10rJ+KAneKAnScpOign4oCY4oCYJyt4WzNdKyfigJnigJknKSkpOihneHo9PSfnrKww6K+dJ3x8Z3h6PT0wP2Rlczon4oCY4oCY5pyq6KeC55yL4oCZ4oCZJykpKydcXG7mm7TmlrDoh7MgJysoeFszXSYmeFszXSE9XCJcIiYmeFszXSE9Z3h6Pygn4oCc4oCcJytneHorJ+KAneKAnScpOign4oCY4oCYJytneHorJ+KAmeKAmScpKSksXG5cdHVybDp4WzFdKycjIycreHhba10rJyMjJyxcblx0Y29sX3R5cGU6ICggZ2V0VmFyKCdzdGEnKT09MT8nbW92aWVfM19tYXJxdWVlJzonbW92aWVfMV92ZXJ0aWNhbF9waWMnKVxufSk7XG5lbHNlXG5kMS5wdXNoKHtcblx0dGl0bGU6IHhbMF0sXG4gIHBpY191cmw6IHhbMl0rKHhbMV0uaW5jbHVkZXMoJ2JpbGliaWxpJyk/J0BSZWZlcmVyPWh0dHBzOi8vd3d3LmJpbGliaWxpLmNvbSc6JycpLFxuZGVzYzpnZXRWYXIoJ3N0YScpPT0xPygn6KeC55yL6IezICcreFszXSk6KCh4WzNdJiZ4WzNdIT1cIlwiPygn6KeC55yL6IezICcrKHhbM10hPWd4ej8oJ+KAnOKAnCcreFszXSsn4oCd4oCdJyk6KCfigJjigJgnK3hbM10rJ+KAmeKAmScpKSk6KCfigJjigJjmnKrop4LnnIvigJnigJknKSkrJ1xcbuabtOaWsOiHsyAnKyh4WzNdJiZ4WzNdIT1cIlwiJiZ4WzNdIT1neHo/KCfigJzigJwnK2d4eisn4oCd4oCdJyk6KCfigJjigJgnK2d4eisn4oCZ4oCZJykpKSxcblx0dXJsOnhbMV0rJyMjJyt4eFtrXSsnIyMnLFxuXHRjb2xfdHlwZTogKCBnZXRWYXIoJ3N0YScpPT0xPydtb3ZpZV8zX21hcnF1ZWUnOidtb3ZpZV8xX3ZlcnRpY2FsX3BpYycpXG59KTtcbn1cbn1cbn1jYXRjaChlKXt9XG59XG5pZihnZXRWYXIoJ3N0YScpPT0xKXtcbi8qXG5sb2coZDMpO1xubG9nKGZlbnp1KGQzKSk7XG4qL1xuaWYoZDEhPScnKVxuZDE9W3tcbnRpdGxlOifirZDvuI/ku6XkuIvnlarliafmnKrmnInmm7TmlrA6JyxcbmNvbF90eXBlOid0ZXh0XzEnXG59XS5jb25jYXQoZmkuZnomJmZpLmZ6PT0xP2Zlbnp1KGQxLFwi5pyq5pu05pawXCIpOmQxKTtcblxuaWYoZDMhPScnKVxuZDM9W3tcbnRpdGxlOifirZDvuI/ku6XkuIvnlarliaflvoXnnIs6JyxcbmNvbF90eXBlOid0ZXh0XzEnXG59XS5jb25jYXQoZmkuZnomJmZpLmZ6PT0xP2Zlbnp1KGQzLFwi5bey5pu05pawXCIpOmQzKTtcblxuaWYoZDIhPScnKVxuZDI9W3tcbnRpdGxlOifirZDvuI/ku6XkuIvnlarliafojrflj5bmm7TmlrDlpLHotKU6JyxcbmNvbF90eXBlOid0ZXh0XzEnXG59XS5jb25jYXQoZmkuZnomJmZpLmZ6PT0xP2Zlbnp1KGQyLFwi5aSx6LSlXCIpOmQyKTtcblxuZD1kLmNvbmNhdChkMyxkMSxkMik7XG59ZWxzZXtcbiAgICB2YXIgZGQ9ZDMuY29uY2F0KGQxLGQyKTtcbiAgICBkPWQuY29uY2F0KGZpLmZ6JiZmaS5mej09MT9mZW56dShkZCxcIuWFqOmDqFwiKTpkZCk7XG59XG5cblxufWVsc2VcbmQucHVzaCh7XG5cdHRpdGxlOifigJzigJzov5jmsqHmnInov73nlarvvIHigJ3igJ0nLFxudXJsOmBoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczpyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5Yi35paw5a6M5q+V77yBJ2AsXG5kZXNjOifngrnlh7vliLfmlrAnLFxuXG5cdGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcbn0pO1xuXG59ZWxzZSBpZihiPT0xKXtcbnZhciBzdD1hPT03PycnOifigJzigJzigJ3igJ08Zm9udCBjb2xvcj1cInJlZFwiPis8L2ZvbnQ+ICc7XG52YXIgY3M9MDtcbnZhciBuPWE9PTc/J+aYjuaXpSAnOihhPT02Pyfku4rml6UgJzon5pio5pelICcpO1xuLy9odHRwczovL3d3dy5iaWxpYmlsaS5jb20vYW5pbWUvdGltZWxpbmVcbnZhcsKgaD1uZXfCoERhdGUoKS5nZXRIb3VycygpO1xudmFyIG09bmV3wqBEYXRlKCkuZ2V0TWludXRlcygpO1xudmFyIHNpPWgqNjArbTtcblxudmFywqB5MT1mZXRjaCgnaHR0cHM6Ly9iYW5ndW1pLmJpbGliaWxpLmNvbS93ZWJfYXBpL3RpbWVsaW5lX2dsb2JhbCcse30pO1xudmFyIHltMT1KU09OLnBhcnNlKHkxKS5yZXN1bHRbYV0uc2Vhc29ucztcbnZhciB5Mj1mZXRjaCgnaHR0cHM6Ly9iYW5ndW1pLmJpbGliaWxpLmNvbS93ZWJfYXBpL3RpbWVsaW5lX2NuJyx7fSk7XG52YXIgeW0yPUpTT04ucGFyc2UoeTIpLnJlc3VsdFthXS5zZWFzb25zO1xudmFyIHk9eTEreTI7XG5cbnRyeXtcbi8v5ZCI5bm25o6S5bqP5byA5aeLXG5cbnZhciB5bT15bTEuY29uY2F0KHltMik7XG5cbnZhciB0ZW49ZmV0Y2goJ2h0dHBzOi8vdi5xcS5jb20vY2hhbm5lbC9jYXJ0b29uJywge2hlYWRlcnM6e1wiVXNlci1BZ2VudFwiOlBDX1VBfX0pO1xudmFyIHltMz1bXTtcbnZhciB3ID0gbmV3IERhdGUoKS5nZXREYXkoKTtcbnZhciB2ZT13PT0wPzY6KHctMSk7XG52ZT1hPT02P3ZlOihhPT01Pyh2ZS0xKToodmUrMSkpO1xudmU9dmU9PTc/MDoodmU9PS0xPzY6dmUpO1xudmFyIGxlbj1wYXJzZURvbUZvckFycmF5KHRlbiwnLm1vZF9iZCwyJiYubW9kX2ZpZ3VyZSwnKyh2ZSsxKSsnJiYubGlzdF9pdGVtJyk7XG5cblxudmFyIHVyPWxlbi5tYXAoYT0+e3ZhciBidD1wYXJzZURvbUZvckh0bWwoYSwnYSwxJiZ0aXRsZScpO1xudmFyIHV6ej1wYXJzZURvbUZvckh0bWwoYSwnLmZpZ3VyZV9jYXB0aW9uJiZUZXh0Jyk7aWYoeS5pbmRleE9mKGJ0LnJlcGxhY2UoL+esrFtcXFNdKj/lraMvZywnJykpPT0tMSYmIXV6enx8dXp6LnNlYXJjaCgv5YWofOWujOe7ky8pPT0tMSlyZXR1cm4ge3VybDpwYXJzZURvbShhLCdhJiZocmVmJyl9O2Vsc2UgcmV0dXJuIHt1cmw6Jyd9O30pO1xuLy9wdXRWYXIoJ3VyJyxKU09OLnN0cmluZ2lmeSh1cikpO1xuXG52YXIgaHQ9YmF0Y2hGZXRjaCh1cik7XG5cblxuZm9yKHZhciBpIGluIGxlbil7XG5pZihodFtpXSE9Jycpe1xudmFyIGJ0PXBhcnNlRG9tRm9ySHRtbChsZW5baV0sJ2EsMSYmdGl0bGUnKTtcbnZhciB1eno9cGFyc2VEb21Gb3JIdG1sKGxlbltpXSwnLmZpZ3VyZV9jYXB0aW9uJiZUZXh0Jyk7XG5cbnZhciB1cj1wYXJzZURvbShsZW5baV0sJ2EmJmhyZWYnKTtcbnRyeXtcbnZhciBodG09SlNPTi5wYXJzZShodFtpXS5zcGxpdCgnQ09WRVJfSU5GTyA9ICcpWzFdLnNwbGl0KCd2YXIgJylbMF0pO1xudmFyIHQ9aHRtLnVwZGF0ZV9ub3RpZnlfZGVzYztcbnZhciBsPWh0bS5ub21hbF9pZHM7XG59Y2F0Y2goZSl7fVxuaWYoIXR8fHQuc2VhcmNoKC/lhah85a6M57uTLyk9PS0xKXtcbnZhciB1ej0wO3ZhciBmPScnO1xuZm9yKHZhciBqcyBpbiBsKXtpZihmPT03JiZsW2pzXS5GPT0yKWY9MTtlbHNlIGY9bFtqc10uRjtpZihmPT0yfHxmPT03KXt1eisrO319XG5cbnRyeXtcbnZhciB1cGQ9J+acquefpSc7XG51cGQ9dC5yZXBsYWNlKC8oXFxkKinngrkoXFxkKinliIZ7MCwxfS9nLCckMTokMicpLm1hdGNoKC9cXGR7MSwyfe+8mlxcZHsyfXxcXGR7MSwyfTpcXGR7Mn18XFxkezEsMn0oPz3ngrkpfFxcZHsxLDJ9KD89OikvZylbMF07XG51cGQ9dXBkLmluY2x1ZGVzKCfvvJonKT91cGQucmVwbGFjZSgn77yaJywnOicpOnVwZDtcbnVwZD11cGQuaW5jbHVkZXMoJzonKT91cGQ6KHVwZCsnOjAwJyk7XG5cbnZhciBzaWk9cGFyc2VJbnQodXBkLnNwbGl0KCc6JylbMF0sMTApKjYwK3BhcnNlSW50KHVwZC5zcGxpdCgnOicpWzFdLDEwKTtcbn1jYXRjaChlKXt2YXIgdXBkPSfmnKrnn6UnO31cblxuaWYodXBkIT0n5pyq55+lJyl7XG5cbmlmKChhPT02JiZzaTxzaWkpfHxhPT03KXV6Kys7XG5cbnltMy5wdXNoKHt0aXRsZTpidCxcbnB1Yl90aW1lOnVwZCxcbnNxdWFyZV9jb3ZlcjpwYXJzZURvbUZvckh0bWwobGVuW2ldLCdpbWcmJmx6X25leHQnKSxcbnB1Yl9pbmRleDon56ysJyt1eisn6K+dJyxcbnVybDp1clxufSk7fVxufVxufVxufVxufWNhdGNoKGUpe3ltMz1bXTt9XG55bT15bS5jb25jYXQoeW0zKTtcblxueW09eW0uc29ydChmdW5jdGlvbiB2KGEsYil7XG5cbnZhciBhYT1hLnB1Yl90aW1lO1xuXG52YXIgYz1wYXJzZUludChhYS5zcGxpdCgnOicpWzBdLDEwKSo2MCtwYXJzZUludChhYS5zcGxpdCgnOicpWzFdLDEwKTtcbnZhciBiYj1iLnB1Yl90aW1lO1xudmFyIGQ9cGFyc2VJbnQoYmIuc3BsaXQoJzonKVswXSwxMCkqNjArcGFyc2VJbnQoYmIuc3BsaXQoJzonKVsxXSwxMCk7XG5cbnJldHVybiBjLWQ7XG59KTtcblxuLy9kLnB1c2goe3RpdGxlOnltfSk7XG4vL+WQiOW5tuaOkuW6j+e7k+adn1xuXG5cblxuaD1oPDEwPygnMCcraCk6aDtcbm09bTwxMD8oJzAnK20pOm07XG5cbmZvcih2YXLCoGnCoGluwqB5bSl7XG5cbnZhciB0aT15bVtpXS5wdWJfdGltZTtcblxuaWYoYT09Nil7XG52YXIgc2lpPXBhcnNlSW50KHRpLnNwbGl0KCc6JylbMF0sMTApKjYwK3BhcnNlSW50KHRpLnNwbGl0KCc6JylbMV0sMTApO1xuXG5cbmlmKHNpPHNpaSYmY3M9PTApe1xuZC5wdXNoKHt0aXRsZTon5b2T5YmN5pe26Ze077ya4oCc4oCcJytoKyc6JyttKyfigJ3igJ0nLFxudXJsOmBoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczpyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5Yi35paw5a6M5q+V77yBJ2AsXG5kZXNjOifngrnlh7vliLfmlrAnLFxuY29sX3R5cGU6J3RleHRfY2VudGVyXzEnXG59KTtcbmNzKys7XG5zdD0nJztcbn1cbn1cblxudmFyIG5uPXN0PT0nJz8n5Y2z5bCG5pu05pawICc6J+W3suabtOaWsOiHsyAnO1xudmFyIHU9eW1baV0udXJsO1xudmFyIGJ0PXltW2ldLnRpdGxlO1xuLy9idD1idC5zbGljZSgwLDI1KSsoYnQubGVuZ3RoPjI1PycuLi4nOicnKTtcbnZhciB6Zj1sYi5pbmNsdWRlcyh1KT9waW4oYnQsc3Q9PScnPzA6MSk6YnQ7XG52YXIgZGU9JzxzdHJvbmc+JytuKyc8L3N0cm9uZz7igJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiNmZjgwMDBcIj4gJyt0aSsnIDwvZm9udD7mm7TmlrAnO1xuc3QxPXltW2ldLnB1Yl9pbmRleD9zdDonJztcbnZhciBkcj15bVtpXS5kZWxheV9yZWFzb247XG5kLnB1c2goe1xuXHR0aXRsZTogc3QxKyfigJzigJzigJ3igJ08c3Ryb25nPicremYrJzwvc3Ryb25nPicrJ1xcbicrKHltW2ldLnB1Yl9pbmRleD8obm4rJzxmb250IGNvbG9yPVwiYmx1ZVwiPicrKHltW2ldLnB1Yl9pbmRleCkrJzwvZm9udD4nKTooJzxmb250IGNvbG9yPVwiZ3JleVwiPicrJ+acrOWRqOWBnOabtCAnK3ltW2ldLmRlbGF5X2luZGV4Kyc8L2ZvbnQ+JykpLFxuICBkZXNjOiFkcj9kZTooJzxkZWw+JytkZSsnPC9kZWw+JyksXG4gIHBpY191cmw6IHltW2ldLnNxdWFyZV9jb3ZlcisodS5pbmNsdWRlcygnYmlsaWJpbGknKT8nQFJlZmVyZXI9aHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tJzonJyksXG5cdHVybDp1KycjIycreW1baV0udGl0bGUrJyYmJyt1KycmJicreW1baV0uc3F1YXJlX2NvdmVyKycjIycsXG5cdGNvbF90eXBlOiAnbW92aWVfMSdcbn0pO1xuXG5pZihhPT02JiZzaT49c2lpJiZpPT15bS5sZW5ndGgtMSl7XG5kLnB1c2goe3RpdGxlOiflvZPliY3ml7bpl7TvvJrigJzigJwnK2grJzonK20rJ+KAneKAnScsXG51cmw6YGhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOnJlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liLfmlrDlrozmr5XvvIEnYCxcbmRlc2M6J+S7iuaXpeeVquWJp+W3suWFqOmDqOabtOaWsO+8jOaEn+iwouS9v+eUqO+8gScsXG5jb2xfdHlwZTondGV4dF9jZW50ZXJfMSdcbn0pO1xufVxuXG59XG59XG5yZXMuZGF0YSA9IGQ7XG5zZXRIb21lUmVzdWx0KHJlcyk7Iiwic2VhcmNoX3VybCI6Imhpa2VyOi8vZW1wdHkjKiojZnlwYWdlIiwiZ3JvdXAiOiLikaDwn42t5bi455So56iL5bqPIiwic2VhcmNoRmluZCI6ImpzOi8vMjI5XG52YXIgcmVzID0ge307XG52YXIgZCA9IFtdO1xudmFyIG5hPU1ZX1VSTC5zcGxpdCgnIycpWzFdO1xudmFyIHBhZ2U9TVlfVVJMLnNwbGl0KCcjJylbMl07XG52YXIgbGIxPWZldGNoKFwiaGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagv5oiR55qE6L+955WqLnR4dFwiLCB7fSk7XG5pZihwYWdlPT0xKXtcbnZhciB4PVsnbWVkaWFfYmFuZ3VtaScsJ21lZGlhX2Z0J107XG52YXIgeT1bXTtcbnRyeXtcbmZvcih2YXIgamo9MDtqajx4Lmxlbmd0aDtqaisrKXtcbnZhciB5bTE9SlNPTi5wYXJzZShmZXRjaCgnaHR0cHM6Ly9hcGkuYmlsaWJpbGkuY29tL3gvd2ViLWludGVyZmFjZS9zZWFyY2gvdHlwZT9rZXl3b3JkPScrbmErJyZwYWdlPTEmc2VhcmNoX3R5cGU9Jyt4W2pqXSsnJm9yZGVyPXRvdGFscmFuayZwYWdlc2l6ZT0yMCcse30pKS5kYXRhLm51bVBhZ2VzO1xuZm9yKHZhciBqPTEsZz0wO2o8PXltMSYmajw0O2orKyl7XG52YXIgeTE9SlNPTi5wYXJzZShmZXRjaCgnaHR0cHM6Ly9hcGkuYmlsaWJpbGkuY29tL3gvd2ViLWludGVyZmFjZS9zZWFyY2gvdHlwZT9rZXl3b3JkPScrbmErJyZwYWdlPScraisnJnNlYXJjaF90eXBlPScreFtqal0rJyZvcmRlcj10b3RhbHJhbmsmcGFnZXNpemU9MjAnLHt9KSkuZGF0YS5yZXN1bHQ7XG52YXIgeT15LmNvbmNhdCh5MSk7XG52YXIgSnk9SlNPTi5zdHJpbmdpZnkoeSk7XG59fVxuZm9yKHZhciBpPTA7eSE9bnVsbCYmaTx5Lmxlbmd0aDtpKyspe1xudmFyIHRpPXlbaV0udGl0bGUucmVwbGFjZSgvPGVtIGNsYXNzPVwia2V5d29yZFwiPnw8XFwvZW0+L2csJycpO1xuaWYoKEp5LmluY2x1ZGVzKG5hKSYmdGkuaW5jbHVkZXMobmEpKXx8IUp5LmluY2x1ZGVzKG5hKSl7XG52YXIgemY9bGIxLmluY2x1ZGVzKCdzcycreVtpXS5zZWFzb25faWQpPyc8c21hbGw+5oiR55qE6L+955WqIDwvc21hbGw+JzonJztcbmQucHVzaCh7XG50aXRsZTp6Zit0aSxcbmltZzp5W2ldLmNvdmVyKydAUmVmZXJlcj1odHRwczovL2FwaS5iaWxpYmlsaS5jb20nLFxuZGVzYzp5W2ldLnN0eWxlcyxcbmNvbnRlbnQ6eVtpXS5kZXNjLFxudXJsOnlbaV0uZ290b191cmwrJyMjJyt0aSsnJiZodHRwczovL3d3dy5iaWxpYmlsaS5jb20vYmFuZ3VtaS9wbGF5L3NzJyt5W2ldLnNlYXNvbl9pZCsnJiYnK3lbaV0uY292ZXIrJyMjJyxcbn0pO1xuZysrO1xufVxuaWYoZz09OCl7aj02O2JyZWFrO31cbn19Y2F0Y2goZSl7fVxudHJ5e1xudmFyIHltPWZldGNoKCdodHRwczovL3YucXEuY29tL3gvc2VhcmNoLz9xPScrbmEse2hlYWRlcnM6e1wiVXNlci1BZ2VudFwiOlBDX1VBfX0pO1xucHV0VmFyKCd0eCcseW0pO1xudmFyIGxlbj1wYXJzZURvbUZvckFycmF5KHltLCdib2R5JiYuX2luZm9zJyk7XG4vKlxudHJ5e1xudmFyIGxlbjE9cGFyc2VEb21Gb3JBcnJheSh5bSwnLmZpZ3VyZXNfbGlzdCYmLmxpc3RfaXRlbScpO1xubGVuPWxlbi5jb25jYXQobGVuMSk7XG59Y2F0Y2goZSl7fVxuKi9cbmZvcih2YXIgaiBpbiBsZW4pe1xudHJ5e3ZhciBkZXM9cGFyc2VEb21Gb3JIdG1sKGxlbltqXSwnLmZpZ3VyZV9jYXB0aW9ufHwucmVzdWx0X3Njb3JlfHwuZmlndXJlX2Rlc2MmJlRleHQnKTt9Y2F0Y2goZSl7ZGVzPScnO31cbi8qXG50cnl7XG5mPWRlcy5zcGxpdCgnOicpLm1hcChOdW1iZXIpO1xudmFyIHRpbWU9ZlswXSozNjAwK2ZbMV0qNjArZlsyXTtcbn1jYXRjaChlKXt2YXIgZGVzPScnO31cbiovXG50cnl7dmFyIHlnPXBhcnNlRG9tRm9ySHRtbChsZW5bal0sJy5tYXJrX3YmJmltZyYmYWx0Jyk7fWNhdGNoKGUpe3ZhciB5Zz0n5rKh5pyJJzt9XG50cnl7XG52YXIgdXI9cGFyc2VEb21Gb3JIdG1sKGxlbltqXSwnYSYmaHJlZicpO1xuaWYodXIuaW5jbHVkZXMoJ3NlYXJjaF9yZWRpcmVjdCcpJiZ1ci5pbmNsdWRlcygndXJsPScpJiYodXIuaW5jbHVkZXMoJ2lxaXlpLicpfHx1ci5pbmNsdWRlcygneW91a3UuJykpKXVyPWRlY29kZVVSSUNvbXBvbmVudCh1ci5zcGxpdCgndXJsPScpWzFdKTtcbmVsc2UgaWYodXIuaW5jbHVkZXMoJ3NlYXJjaF9yZWRpcmVjdCcpKXVyPScnO1xuaWYoIXlnLmluY2x1ZGVzKCfpooTlkYonKSYmdXIhPScnKXtcbnRyeXt2YXIgY29uPXBhcnNlRG9tRm9ySHRtbChsZW5bal0sJy5kZXNjX3RleHQmJlRleHQnKTt9Y2F0Y2goZSl7dmFyIGNvbj0nJzt9XG52YXIgYnQ9cGFyc2VEb21Gb3JIdG1sKGxlbltqXSwnaW1nJiZhbHQnKTtcbnZhciBwaT1wYXJzZURvbUZvckh0bWwobGVuW2pdLCdpbWcmJnNyYycpO1xudmFyIHpmPWxiMS5pbmNsdWRlcyh1cik/JzxzbWFsbD7miJHnmoTov73nlaogPC9zbWFsbD4nOicnO1xuZC5wdXNoKHtcblx0dGl0bGU6IHpmK2J0LCBcbmRlc2M6ZGVzLFxuY29udGVudDpjb24sXG4gIHBpY191cmw6cGksXG5cdHVybDp1cisnIyMnK2J0KycmJicrdXIrJyYmJytwaSsnIyMnLFxufSk7XG59fWNhdGNoKGUpe31cbn1cbn1jYXRjaChlKXtkLnB1c2goe1xuXHR0aXRsZTogJ+iFvuiur+aQnOe0oumUmeivrycgfSk7fVxuXG50cnl7XG52YXIgeW09ZmV0Y2goJ2h0dHBzOi8vc28uaXFpeWkuY29tL3NvL3FfJytuYSx7aGVhZGVyczp7XCJVc2VyLUFnZW50XCI6UENfVUF9fSk7XG5wdXRWYXIoJ2lxaXlpJyx5bSk7XG52YXIgcmVzdT1wYXJzZURvbUZvckFycmF5KHltLCdib2R5JiYucXktc2VhcmNoLXJlc3VsdC1pdGVtJyk7XG5cbmZvcih2YXIgaSBvZiByZXN1KXtcbnRyeXtcblxudmFyIHBkPXBhcnNlRG9tRm9ySHRtbChpLCcuaXRlbS10eXBlJiZUZXh0Jyk7XG52YXIgcGQyPXBhcnNlRG9tRm9ySHRtbChpLCcucGxheWVyLW5hbWUmJlRleHQnKTtcblxuaWYocGQubWF0Y2goL+eUteinhuWJp3znlLXlvbF85Yqo5ryrfOe7vOiJunznn6Xor4YvZylbMF0hPScnJiZwZDIubWF0Y2goL+eIseWlh+iJunzohb7orq985LyY6YW3L2cpWzBdIT0nJyl7XG5cbnZhciBidD1wYXJzZURvbUZvckh0bWwoaSwnYSYmdGl0bGUnKTtcbnZhciBwaT1wYXJzZURvbShpLCdpbWcmJnNyYycpO1xudmFyIHVyPXBhcnNlRG9tKGksJ2EmJmhyZWYnKS5zcGxpdCgnPycpWzBdO1xudmFyIHpmPWxiMS5pbmNsdWRlcyh1cik/JzxzbWFsbD7miJHnmoTov73nlaogPC9zbWFsbD4nOicnO1xuXG52YXIgZGVzPXBhcnNlRG9tRm9ySHRtbChpLCcucXktbW9kLWxhYmVsJiZUZXh0Jyk7XG52YXIgY29uPXBhcnNlRG9tRm9ySHRtbChpLCcuaW5mby1kZXMsMnx8LmluZm8tZGVzfHwuc3ViLXR4dCYmVGV4dCcpO1xuXG5kLnB1c2goe1xuXHR0aXRsZTogemYrYnQsIFxuZGVzYzpkZXMsXG5jb250ZW50OmNvbixcbiAgcGljX3VybDpwaSsnQFJlZmVyZXI9aHR0cHM6Ly93d3cuaXFpeWkuY29tJyxcblx0dXJsOnVyKycjIycrYnQrJyYmJyt1cisnJiYnK3BpKycjIycsXG59KTt9fWNhdGNoKGUpe31cbn1cbn1jYXRjaChlKXtkLnB1c2goe1xuXHR0aXRsZTogJ+eIseWlh+iJuuaQnOe0oumUmeivrycgfSk7fVxuXG50cnl7XG52YXIgeW09ZmV0Y2goXCJodHRwOi8vc28ueW91a3UuY29tL3NlYXJjaF92aWRlby9xX1wiK25hK1wiP3NlYXJjaGZyb209MVwiLHtoZWFkZXJzOntcIlVzZXItQWdlbnRcIjpNT0JJTEVfVUEsJ0Nvb2tpZSc6J2NuYT02SXlpR3J6S2wza0NBWEFFMDBvZjNNU24nfX0pO1xudmFyIGxpcz1wYXJzZURvbUZvckFycmF5KHltLFwiYm9keSYmZGl2W2RhdGEtbmFtZV1cIik7XG5mb3IodmFyIGkgaW4gbGlzKVxuaWYocGFyc2VEb21Gb3JIdG1sKGxpc1tpXSxcIi5wb3N0ZXItZGVzY191VFQxQSYmVGV4dFwiKSE9XCJcIiYmcGFyc2VEb21Gb3JIdG1sKGxpc1tpXSxcIi52aWRlby1zb3VyY2VfMkkyLWgmJlRleHRcIik9PVwiXCIpXG57XG5idD1wYXJzZURvbUZvckh0bWwobGlzW2ldLFwiYSwxJiZUZXh0XCIpO1xudXI9cGFyc2VEb20obGlzW2ldLFwiYSYmaHJlZlwiKTtcbnBpPWxpc1tpXS5tYXRjaCgvXFwoaHR0cC4qP1xcKS8pWzBdLnJlcGxhY2UoL1xcKHxcXCkvZyxcIlwiKTtcbnZhciB6Zj1sYjEuaW5jbHVkZXModXIpPyc8c21hbGw+5oiR55qE6L+955WqIDwvc21hbGw+JzonJztcbmQucHVzaCh7XG50aXRsZTp6ZitidCxcbmRlc2M6cGFyc2VEb21Gb3JIdG1sKGxpc1tpXSxcIi5wb3N0ZXItZGVzY191VFQxQSYmVGV4dFwiKSxcbmNvbnRlbnQ6cGFyc2VEb21Gb3JIdG1sKGxpc1tpXSxcIi5pbmZvJiZUZXh0XCIpLFxuaW1nOnBpLFxudXJsOnVyKycjIycrYnQrJyYmJyt1cisnJiYnK3BpKycjIydcbn0pO31cbn1jYXRjaChlKXtkLnB1c2goe1xuXHR0aXRsZTogJ+S8mOmFt+aQnOe0oumUmeivrycgfSk7fVxuXG5pZihkLmxlbmd0aD09MClwYWdlKys7XG59XG4gaWYocGFnZT09Mil7XG52YXIgeW09Z2V0VmFyKCd0eCcpO1xudmFyIHltMT1nZXRWYXIoJ2lxaXlpJyk7XG5jbGVhclZhcigndHgnKTtjbGVhclZhcignaXFpeWknKTtcbmlmKHltIT0nJyl7XG52YXIgbGVuPXBhcnNlRG9tRm9yQXJyYXkoeW0sJy5maWd1cmVzX2xpc3QmJmxpJyk7XG5mb3IodmFyIGkgb2YgbGVuKXtcblxuXG52YXIgdXI9cGFyc2VEb21Gb3JIdG1sKGksJ2EmJmhyZWYnKTtcbmlmKHVyLmluY2x1ZGVzKCdzZWFyY2hfcmVkaXJlY3QnKSYmdXIuaW5jbHVkZXMoJ3VybD0nKSYmKHVyLmluY2x1ZGVzKCdpcWl5aS4nKXx8dXIuaW5jbHVkZXMoJ2JpbGliaWxpLicpKSl1cj1kZWNvZGVVUklDb21wb25lbnQodXIuc3BsaXQoJ3VybD0nKVsxXSk7XG5lbHNlIGlmKHVyLmluY2x1ZGVzKCdzZWFyY2hfcmVkaXJlY3QnKSl1cj0nJztcbmlmKCFpLmluY2x1ZGVzKCfpooTlkYonKSYmdXIhPScnKXtcbnZhciBidD1wYXJzZURvbUZvckh0bWwoaSwnYSwxJiZ0aXRsZScpO1xudmFyIHBpPXBhcnNlRG9tKGksJ2ltZyYmc3JjJyk7XG52YXIgemY9bGIxLmluY2x1ZGVzKHVyKT8nPHNtYWxsPuaIkeeahOi/veeVqiA8L3NtYWxsPic6Jyc7XG5cbmQucHVzaCh7XG50aXRsZTp6ZitidCxcbnVybDp1cisnIyMnK2J0KycmJicrdXIrJyYmJytwaSsnIyMnLFxucGljX3VybDpwaSxcbmRlc2M6cGFyc2VEb21Gb3JIdG1sKGksJy5maWd1cmVfaW5mbyYmVGV4dCcpLFxuY29udGVudDpwYXJzZURvbUZvckh0bWwoaSwnLnNjb3JlX2wmJlRleHQnKSsnICAnK3BhcnNlRG9tRm9ySHRtbChpLCcuZmlndXJlX2Rlc2MmJlRleHQnKSxcbn0pO31cbn1cbn1cbmlmKHltMSE9Jycpe1xuXG52YXIgcmVzdT1wYXJzZURvbUZvckFycmF5KHltMSwnYm9keSYmLnF5LW1vZC1saXN0JiZsaScpO1xuXG5mb3IodmFyIGkgb2YgcmVzdSl7XG50cnl7XG5cbnZhciBidD1wYXJzZURvbUZvckh0bWwoaSwnYSYmdGl0bGUnKTtcbnZhciBwaT1wYXJzZURvbShpLCdpbWcmJnNyYycpO1xudmFyIHVyPXBhcnNlRG9tKGksJ2EmJmhyZWYnKS5zcGxpdCgnPycpWzBdO1xudmFyIHpmPWxiMS5pbmNsdWRlcyh1cik/JzxzbWFsbD7miJHnmoTov73nlaogPC9zbWFsbD4nOicnO1xuXG52YXIgZGVzPXBhcnNlRG9tRm9ySHRtbChpLCcucXktbW9kLWxhYmVsJiZUZXh0Jyk7XG52YXIgY29uPXBhcnNlRG9tRm9ySHRtbChpLCcuaW5mby1kZXMsMnx8LmluZm8tZGVzfHwuc3ViLXR4dCYmVGV4dCcpO1xuXG5kLnB1c2goe1xuXHR0aXRsZTogemYrYnQsIFxuZGVzYzpkZXMsXG5jb250ZW50OmNvbixcbiAgcGljX3VybDpwaSsnQFJlZmVyZXI9aHR0cHM6Ly93d3cuaXFpeWkuY29tJyxcblx0dXJsOnVyKycjIycrYnQrJyYmJyt1cisnJiYnK3BpKycjIycsXG59KTt9Y2F0Y2goZSl7fVxufVxufVxufVxuZWxzZSBpZihwYWdlPT0zKXtcbmQucHVzaCh7dGl0bGU6J+aQnOe0ouS4jeWIsO+8n+WFs+mUruivjeWwvemHj+eyvuehrid9KTtcbn1cbnJlcy5kYXRhID0gZDtcbnNldFNlYXJjaFJlc3VsdChyZXMpOyIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzIiLCJkZXRhaWxfZmluZF9ydWxlIjoianM6XG5ldmFsKGdldEl0ZW0oJ2FhJykuc3BsaXQoJy8qKi8nKVsxXSk7Iiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzIiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxuZXZhbChnZXRJdGVtKCdhYScpLnNwbGl0KCcvKiovJylbMV0pOyIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6InZhciBmej1KU09OLnN0cmluZ2lmeShmZXRjaChcImhpa2VyOi8vZmlsZXMv55Wq5Ymn5pu05paw6KGoL+aIkeeahOi/veeVqi50eHRcIix7fSkuc3BsaXQoJ0BAJykubWFwKGE9PntyZXR1cm4gYS5zcGxpdCgnJiYnKVs0XTt9KS5maWx0ZXIoKGEsYixjKT0+e2lmKGEmJmI9PTB8fCFjLnNsaWNlKDAsYikuam9pbignJiMnKS5pbmNsdWRlcyhhKSlyZXR1cm4gYTt9KS5jb25jYXQoW1wi4oCc4oCc5paw5bu65YiG57uE4oCd4oCdXCJdKSk7XG5cbnNldEl0ZW0oJ2xhMScsIGBzZWxlY3Q6Ly97XCJ0aXRsZVwiOiBcIumAieaLqeWIhue7hFwiLCBcIm9wdGlvbnNcIiA6YCtmeitgLCBjb2w6IDMsIGpzOiBcImlmKGlucHV0PT0n4oCc4oCc5paw5bu65YiG57uE4oCd4oCdJyl7XFxgaW5wdXQ6Ly97XFxcXFwianNcXFxcXCI6IFxcXFxcImV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3pmZnonLHt9KSkucnVsZSk7XFxcXFwiLCBcXFxcXCJoaW50XFxcXFwiOiBcXFxcXCLmlrDlu7rliIbnu4TlkI3np7DigKZcXFxcXCJ9XFxgO31lbHNle2V2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3pmZnonLHt9KSkucnVsZSk7fVwifWApO1xuXG5zZXRJdGVtKCdsYTInLCBgaGlrZXI6Ly9lbXB0eUBsYXp5UnVsZT0uanM6cHV0VmFyKFwiamxcIixwYXJzZUludChnZXRWYXIoXCJqbFwiLFwiMFwiKSwxMCktMSk7dmFyIHY9Z2V0VmFyKCd1cmwxJyk7IGlucHV0PXYuc3BsaXQoJyYmJylbMF07cGQ9di5zcGxpdCgnJiYnKVsxXS5zcGxpdCgnPycpWzBdO3ZhciBsYj1mZXRjaChcImhpa2VyOi8vZmlsZXMv55Wq5Ymn5pu05paw6KGoL+aIkeeahOi/veeVqi50eHRcIix7fSk7Zm9yKGk9MDtpbnB1dCE9Jyc7aSsrKXt0cnl7aWYoaSE9MClpbnB1dD1pbnB1dC5zbGljZSgwLC0xKTt2YXIgc2M9bmV3IFJlZ0V4cChpbnB1dCsnW1xcXFxcXFxcc1xcXFxcXFxcU117JysoaSsyKSsnfScrcGQrJ1tcXFxcXFxcXHNcXFxcXFxcXFNdKj9AQCcsJ2cnKTt2YXIgeHI9bGIucmVwbGFjZShzYywnJyk7aWYoIXhyLmluY2x1ZGVzKHBkKSl7d3JpdGVGaWxlKFwiaGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagv5oiR55qE6L+955WqLnR4dFwiLHhyKTticmVhazt9fWNhdGNoKGUpe319cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+WPlua2iOi/veeVquaIkOWKn++8gSdgKTtcblxuc2V0SXRlbSgnckMnLCBgdmFyIG09W107dmFyIGxpPWZldGNoKFwiaGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagv5oiR55qE6L+955WqLnR4dFwiLHt9KS5zcGxpdCgnQEAnKS5maWx0ZXIoYT0+e3JldHVybiBhIT0nJzt9KTt2YXIgcz1pbnB1dC5zcGxpdCgnIyMnKTtpbnB1dD1zWzBdO2Zvcih2YXIgaSBpbiBsaSl7dmFyIGo9bGlbaV0uc3BsaXQoJyYmJyk7aWYoZ2V0VmFyKCd1cmwnKS5pbmNsdWRlcyhqWzFdKSl7alszXT1zWzFdO3ZhciBqMT1qLmpvaW4oJyYmJyk7bGkuc3BsaWNlKGksMSk7bT1tLmNvbmNhdChqMSxsaSkuam9pbignQEAnKSsnQEAnO3dyaXRlRmlsZShcImhpa2VyOi8vZmlsZXMv55Wq5Ymn5pu05paw6KGoL+aIkeeahOi/veeVqi50eHRcIixtKTticmVhazt9fWApO1xuXG5zZXRJdGVtKCdhYScsIGBAcnVsZT1qczovKiovaWYoZ2V0VmFyKCd4bCcpPT0nJyYmZ2V0VmFyKCd0aicpPT0nJyYmZ2V0VmFyKFwiaWlcIik9PVwiXCIpcHV0VmFyKFwiamxcIixwYXJzZUludChnZXRWYXIoXCJqbFwiLFwiMFwiKSwxMCkrMSk7dmFyIHNlPSdoaWtlcjovL2ZpbGVzL+eVquWJp+abtOaWsOihqC9zZXQudHh0Jzt2YXIgZmlzPWZldGNoKHNlLHt9KTtpZihmaXM9PScnKXt2YXIgZmlzPUpTT04uc3RyaW5naWZ5KHtkbTon5YWzJyxiaWxpOiflhbMnfSk7d3JpdGVGaWxlKHNlLGZpcyk7fWZpPUpTT04ucGFyc2UoZmlzKTt2YXIgbW89Z2V0VmFyKCdtb2RlbCcpO3B1dFZhcignbW9kZWwnLCcnKTt2YXIgcmVzMSA9IHt9O3ZhciBkMSA9IFtdO2Q9W107ZDI9W107dHJ5e2lmKE1ZX1VSTC5pbmNsdWRlcygnaXFpeWkuY28nKSl7dmFyIHltPWdldFJlc0NvZGUoKS5yZXBsYWNlKC9cXFxcdTAwMkYvZywnLycpLnJlcGxhY2UoL3ZpZGVvVXJsL2csJ3BhZ2VVcmwnKTt9ZWxzZSBpZihNWV9VUkwuaW5jbHVkZXMoJ3lvdWt1LmNvJykpdmFyIHltPWZldGNoKE1ZX1VSTCx7aGVhZGVyczp7XCJVc2VyLUFnZW50XCI6TU9CSUxFX1VBLCdDb29raWUnOidjbmE9Nkl5aUdyektsM2tDQVhBRTAwb2YzTVNuJ319KTtlbHNlIHZhciB5bT1mZXRjaChNWV9VUkwsIHtoZWFkZXJzOntcIlVzZXItQWdlbnRcIjpQQ19VQX19KS5yZXBsYWNlKC9cXFxcdTAwMkYvZywnLycpO3RyeXt2YXIgcXVhbj1wYXJzZURvbUZvckh0bWwoeW0sJy5wZW9wbGVfbnVtJiZUZXh0Jyk7fWNhdGNoKGUpe3ZhciBxdWFuPScnO31wdXRWYXIoJ3VybCcsTVlfVVJMLnNwbGl0KCcjIycpWzBdKTtwdXRWYXIoJ3VybDEnLE1ZX1VSTC5zcGxpdCgnIyMnKVsxXSk7dmFyIGxiPWZldGNoKFwiaGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagv5oiR55qE6L+955WqLnR4dFwiLHt9KTtmdW5jdGlvbiBjb2xvKGEsYixjKXtpZihhPT0nJylhPWM7aWYoZ2V0SXRlbSgneXonLCAnJykhPScxJyl7dmFyIGxpPWxiLnNwbGl0KCdAQCcpLmZpbHRlcihhPT57cmV0dXJuIGEhPScnO30pO2lmKGxpPT0nJ3x8IWxpLmpvaW4oJ0BAJykuaW5jbHVkZXMoZ2V0VmFyKCd1cmwnKSkpe3NldEl0ZW0oJ3l6JywgJzEnKTtyZXR1cm4gYTt9Zm9yKHZhciBpIGluIGxpKXt2YXIgaj1saVtpXS5zcGxpdCgnJiYnKTtpZihnZXRWYXIoJ3VybCcpLmluY2x1ZGVzKGpbMV0pJiZqLmxlbmd0aD49NCYmKGE9PWpbM118fGM9PWpbM10pKXtzZXRJdGVtKCd5eicsICcxJyk7aWYoIWdldFZhcigndXJsJykuaW5jbHVkZXMoJ3FxLicpJiZiPT11bmRlZmluZWQpcmV0dXJuICfirZDvuI8nK2E7ZWxzZSByZXR1cm4gJ+KAnOKAnCcrYSsn4oCd4oCdJzt9fX1yZXR1cm4gYTt9aWYoTVlfVVJMLmluY2x1ZGVzKCdiaWxpYmlsaS4nKSl7dmFyIG5hbT1wYXJzZURvbUZvckh0bWwoeW0sJy5iaWxpYmlsaS1wbGF5ZXItcGdjaW5mby1uYW1lJiZUZXh0Jyk7fWVsc2UgdmFyIG5hbT1wYXJzZURvbUZvckh0bWwoeW0sJy50aXR8fGgxJiZUZXh0Jyk7c2V0UGFnZVRpdGxlKG5hbSk7dmFyIGluZm89TVlfVVJMLnNwbGl0KCcjIycpWzFdO2lmKGluZm8pe2luZm89aW5mby5zcGxpdCgnJiYnKTtpbmZvWzBdPW5hbTsgaW5mbz1pbmZvLmpvaW4oJyYmJyk7dmFyIHE9aW5mby5zcGxpdCgnJiYnKVsxXTtpZihxLnNsaWNlKC0xKT09Jy8nKXE9cS5zcGxpdCgnLycpLnNsaWNlKDAsLTEpLmpvaW4oJy8nKTsgdmFyIHBkPWxiLmluY2x1ZGVzKHEpO3ZhciBsYT1wZD9nZXRJdGVtKCdsYTInKTooZmkuZnomJmZpLmZ6PT0xP2dldEl0ZW0oJ2xhMScpOignaGlrZXI6Ly9lbXB0eUBsYXp5UnVsZT0uanM6aW5wdXQ9XCJcIjsnK0pTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS96ZmZ6Jyx7fSkpLnJ1bGUpKTt0cnl7dmFyIHdqPWZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL0R1YW5OaWFuL015UGFyc2UuanNvbicse30pO2lmKHdqIT1cIlwiKXtldmFsKCdqeD0nK3dqKTtldmFsKGZldGNoKGp4LnNldHRpbmdzLmNqLHt9KSk7fWVsc2UgZXZhbChmZXRjaCgnaGlrZXI6Ly9maWxlcy9jYWNoZS9QYXJzZV9Ebi5qcycse30pKTt9Y2F0Y2goZSl7fXRyeXt2YXIgZGM9XCJkLnB1c2goe2NvbF90eXBlOidsaW5lX2JsYW5rJ30pO2QucHVzaCh7dGl0bGU6J+eCueWHu+mFjee9ruaWreaPku+8gScsdXJsOlxcXFxcIlwiKyhzZXRVcmwpK1wiXFxcXFwiLGNvbF90eXBlOid0ZXh0XzEnfSk7ZC5wdXNoKHtjb2xfdHlwZTonbGluZV9ibGFuayd9KTtkLnB1c2goe3RpdGxlOifmtYvor5Xmlq3mj5LvvIEnLGRlc2M6J+S9v+eUqOWJjeWFiOWkh+S7veaVsOaNru+8ge+8ge+8gScsY29sX3R5cGU6J3RleHRfMScsdXJsOidoaWtlcjovL2VtcHR5QHJ1bGU9JytKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvY2VzaGkuaHRtbCcse30pKS5ydWxlfSk7ZC5wdXNoKHtjb2xfdHlwZTonbGluZV9ibGFuayd9KTtcIjt9Y2F0Y2goZSl7dmFyIGRjPVwiXCI7fXZhciBlaj1cImhpa2VyOi8vZW1wdHlAcnVsZT1qczpzZXRQYWdlVGl0bGUoJ+iuvue9ricpO3ZhciBzZT0naGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagvc2V0LnR4dCc7dmFyIGZpcz1mZXRjaChzZSx7fSk7dmFyIHJlcyA9IHt9O3ZhciBkID0gW107dmFyIGZpPUpTT04ucGFyc2UoZmlzKTtkLnB1c2goe3RpdGxlOiflvZPliY3igJzigJwnKyhmaS5kbT09J+WFsyc/J+WFs+mXrSc6J+W8gOWQrycpKyfigJ3igJ3lvLnluZUo54ix5aWH6Im644CB5LyY6YW35LiN5pSv5oyB77yBKScsdXJsOlxcYEBsYXp5UnVsZT0uanM6dmFyIHNlPSdoaWtlcjovL2ZpbGVzL+eVquWJp+abtOaWsOihqC9zZXQudHh0Jzt2YXIgZmk9SlNPTi5wYXJzZShmZXRjaChzZSx7fSkpO2ZpLmRtPShmaS5kbT09J+WFsyc/J+W8gCc6J+WFsycpO3dyaXRlRmlsZShzZSxKU09OLnN0cmluZ2lmeShmaSkpO3JlZnJlc2hQYWdlKGZhbHNlKTtcXFxcXCJ0b2FzdDovL+WIh+aNouaIkOWKn++8gVxcXFxcIlxcYCxjb2xfdHlwZTondGV4dF8xJ30pO2QucHVzaCh7Y29sX3R5cGU6J2xpbmVfYmxhbmsnfSk7aWYoZmV0Y2goJ2hpa2VyOi8vZmlsZXMv55Wq5Ymn5pu05paw6KGoL2NhY2hlLnR4dCcse30pIT0nJyl7ZC5wdXNoKHt0aXRsZTon5b2T5YmN4oCc4oCcJysoZmkuYmlsaT09J+WFsyc/J+WFs+mXrSc6J+W8gOWQrycpKyfigJ3igJ3lk5Tlk6nlpKfkvJrlkZjnm7Tpk74nLHVybDpcXGBAbGF6eVJ1bGU9LmpzOnZhciBzZT0naGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagvc2V0LnR4dCc7dmFyIGZpPUpTT04ucGFyc2UoZmV0Y2goc2Use30pKTtmaS5iaWxpPShmaS5iaWxpPT0n5YWzJz8n5byAJzon5YWzJyk7d3JpdGVGaWxlKHNlLEpTT04uc3RyaW5naWZ5KGZpKSk7cmVmcmVzaFBhZ2UoZmFsc2UpO1xcXFxcInRvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBXFxcXFwiXFxgLGNvbF90eXBlOid0ZXh0XzEnfSk7ZC5wdXNoKHtjb2xfdHlwZTonbGluZV9ibGFuayd9KTt9ZC5wdXNoKHt0aXRsZTon5b2T5YmN4oCc4oCcJysoZmkueWc9PTE/J+W8gOWQryc6J+WFs+mXrScpKyfigJ3igJ3ohb7orq/pooTlkYonLC8qZGVzYzon54K55Ye75YiH5o2iJywqL3VybDpcXGBAbGF6eVJ1bGU9LmpzOnZhciBzZT0naGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagvc2V0LnR4dCc7dmFyIGZpPUpTT04ucGFyc2UoZmV0Y2goc2Use30pKTtmaS55Zz0oZmkueWc9PTE/MDoxKTt3cml0ZUZpbGUoc2UsSlNPTi5zdHJpbmdpZnkoZmkpKTtyZWZyZXNoUGFnZShmYWxzZSk7XFxcXFwidG9hc3Q6Ly/liIfmjaLmiJDlip/vvIFcXFxcXCJcXGAsY29sX3R5cGU6J3RleHRfMSd9KTtkLnB1c2goe2NvbF90eXBlOidsaW5lX2JsYW5rJ30pO2QucHVzaCh7dGl0bGU6J+W9k+WJjeKAnOKAnCcrKGZpLmNvbD8oZmkuY29sPT0wPyfliJfooagnOifkuZ3lrqvmoLwnKTon5YiX6KGoJykrJ+KAneKAneaYvuekuuaIkeeahOi/veeVquOAgULnq5nntKLlvJXmoLflvI/vvIEnLHVybDooZmkuY29sP2ZpLmNvbDowKStcXGBAbGF6eVJ1bGU9LmpzOnZhciBzZT0naGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagvc2V0LnR4dCc7dmFyIGZpPUpTT04ucGFyc2UoZmV0Y2goc2Use30pKTtmaS5jb2w9KGlucHV0PT0wPzE6MCk7d3JpdGVGaWxlKHNlLEpTT04uc3RyaW5naWZ5KGZpKSk7cmVmcmVzaFBhZ2UoZmFsc2UpO1xcXFxcInRvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBXFxcXFwiXFxgLGNvbF90eXBlOid0ZXh0XzEnfSk7ZC5wdXNoKHtjb2xfdHlwZTonbGluZV9ibGFuayd9KTtkLnB1c2goe3RpdGxlOiflvZPliY3kvb/nlKjigJzigJwnKyhmaS5zbz8oZmkuc29bMV0rKGZpLnNvWzBdPT0wPycg5YiG57uEJzonIOWwj+eoi+W6jycpKTon5YWo6YOoIOWIhue7hCcpKyfigJ3igJ3mkJzntKInLHVybDpcXGBzZWxlY3Q6Ly97dGl0bGU6ICfpgInmi6nkuoznuqfmkJzntKLmqKHlvI8uLi4nLCBvcHRpb25zOlsn5pCc57Si5YiG57uEJywn5pCc57Si5bCP56iL5bqPJ10gLCBjb2w6IDIsIGpzOlxcXFxcImV2YWwoSlNPTi5wYXJzZShmZXRjaCgnaGlrZXI6Ly9wYWdlL3NvLmh0bWwnLHt9KSkucnVsZSk7XFxcXFwifVxcYCxjb2xfdHlwZTondGV4dF8xJ30pO2QucHVzaCh7Y29sX3R5cGU6J2xpbmVfYmxhbmsnfSk7ZC5wdXNoKHt0aXRsZTon5b2T5YmN5LiA6aG15pi+56S64oCc4oCcJysoZmkuamk/Zmkuamk6MTApKyfigJ3igJ3pm4YnLHVybDpcXGBpbnB1dDovL3tcXFxcXCJqc1xcXFxcIjogXFxcXFwidmFyIHNlPSdoaWtlcjovL2ZpbGVzL+eVquWJp+abtOaWsOihqC9zZXQudHh0Jzt2YXIgZmk9SlNPTi5wYXJzZShmZXRjaChzZSx7fSkpO2lucHV0PWlucHV0Lm1hdGNoKC9bMC05XSsvKVswXTtpZihpbnB1dD4wKXtmaS5qaT1pbnB1dDt3cml0ZUZpbGUoc2UsSlNPTi5zdHJpbmdpZnkoZmkpKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5pu05pS55oiQ5Yqf77yBJ31lbHNleyd0b2FzdDovL+ivt+i+k+WFpeWkp+S6jjDnmoTmlbDvvIHvvIEnfVxcXFxcIiwgXFxcXFwiaGludFxcXFxcIjogXFxcXFwi6K+36L6T5YWl5pWw5a2X4oCmXFxcXFwifVxcYCxjb2xfdHlwZTondGV4dF8xJ30pO2QucHVzaCh7Y29sX3R5cGU6J2xpbmVfYmxhbmsnfSk7ZC5wdXNoKHt0aXRsZTon5b2T5YmN4oCc4oCcJysoZmkuZno/KGZpLmZ6PT0wPyflhbPpl60nOiflvIDlkK8nKTon5YWz6ZetJykrJ+KAneKAnei/veeVqumhtemdouWIhue7hCcsdXJsOihmaS5mej9maS5mejowKStcXGBAbGF6eVJ1bGU9LmpzOnZhciBzZT0naGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagvc2V0LnR4dCc7dmFyIGZpPUpTT04ucGFyc2UoZmV0Y2goc2Use30pKTtmaS5mej0oaW5wdXQ9PTA/MTowKTt3cml0ZUZpbGUoc2UsSlNPTi5zdHJpbmdpZnkoZmkpKTtyZWZyZXNoUGFnZShmYWxzZSk7XFxcXFwidG9hc3Q6Ly/liIfmjaLmiJDlip/vvIFcXFxcXCJcXGAsY29sX3R5cGU6J3RleHRfMSd9KTtpZihmaS5meiYmZmkuZno9PTEpe2QucHVzaCh7dGl0bGU6Jz0+55Wq5Ymn5YiG57uEJyx1cmw6J2hpa2VyOi8vZW1wdHlAcnVsZT0nK0pTT04ucGFyc2UoZmV0Y2goJ2hpa2VyOi8vcGFnZS9jbGFzc2lmeScse30pKS5ydWxlLGNvbF90eXBlOid0ZXh0XzEnfSk7fVwiK2RjK1wiYWRkTGlzdGVuZXIoJ29uQ2xvc2UnLCQudG9TdHJpbmcoKCk9PntwdXRWYXIoJ2lpJywnXCIrZ2V0VmFyKCdpaScpK1wiJyk7aWYoZmV0Y2goJ1wiK3NlK1wiJyx7fSkhPSdcIitmaXMrXCInKXJlZnJlc2hQYWdlKGZhbHNlKTt9KSk7cmVzLmRhdGEgPSBkO3NldFNlYXJjaFJlc3VsdChyZXMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXCI7IGQxLnB1c2goeyB0aXRsZTppbmZvLnNwbGl0KCcmJicpWzBdLCBpbWc6aW5mby5zcGxpdCgnJiYnKVsyXSwgdXJsOmVqLCBjb2xfdHlwZTogJ2ljb25fMl9yb3VuZCcgfSk7ZDEucHVzaCh7IHRpdGxlOihwZD8n4oCY4oCY5Y+W5raI6L+955Wq4oCZ4oCZJzon4oCc4oCcK+i/veeVquKAneKAnScpLCB1cmw6bGEsIGNvbF90eXBlOiAndGV4dF8yJyB9KTt9dHJ5e3ZhciBkZXM9SlNPTi5wYXJzZSh5bS5zcGxpdCgnbmV3ZXN0RXBcIjonKVsxXS5zcGxpdCgnfScpWzBdKyd9JykuZGVzYzt9Y2F0Y2goZSl7dHJ5e3ZhciBodG09SlNPTi5wYXJzZSh5bS5zcGxpdCgnQ09WRVJfSU5GTyA9ICcpWzFdLnNwbGl0KCd2YXIgJylbMF0udHJpbSgpKTt2YXIgZGVzPWh0bS51cGRhdGVfbm90aWZ5X2Rlc2M7aWYoIWRlcylkZXM9aHRtLnNlY29uZF90aXRsZTt9Y2F0Y2goZSl7dHJ5e3ZhciBhPXltLm1hdGNoKC91cGRhdGVTdHJhdGVneVwiLio/XCIoLio/KVwiLylbMV07fWNhdGNoKGUpe2E9Jyc7fXZhciBkZXM9YStwYXJzZURvbUZvckh0bWwoeW0sJy5icmllZi1zY29yZSYmVGV4dCcpK3BhcnNlRG9tRm9ySHRtbCh5bSwnLmluZm8tdXBkYXRhJiZUZXh0Jyk7fX10cnl7dmFyIGppYW5qPXBhcnNlRG9tRm9ySHRtbCh5bSwnaGVhZCYmbWV0YVtuYW1lPVwiZGVzY3JpcHRpb25cIl0mJmNvbnRlbnQnKTtpZihqaWFuaj09Jycpamlhbmo9eW0ubWF0Y2goL1wiZGVzY1wiOlwiKC4qPylcIi8pWzFdO31jYXRjaChlKXtpZihNWV9VUkwuaW5jbHVkZXMoJ3FxJykpamlhbmo9aHRtLmRlc2NyaXB0aW9uO31qaWFuaj1qaWFuai5yZXBsYWNlKC9bXFxcXHNcIiddL2csJycpO2QxLnB1c2goe3RpdGxlOic8Zm9udCBjb2xvcj1cInB1cnBsZVwiPjxzdHJvbmc+PGJpZz4nK25hbSsnPC9iaWc+PC9zdHJvbmc+PC9mb250Pi0tPGZvbnQgY29sb3I9XCJibHVlXCI+JysoTVlfVVJMLmluY2x1ZGVzKCdiaWxpYmlsaScpPydiaWxpYmlsaSc6KE1ZX1VSTC5pbmNsdWRlcygncXEnKT8n6IW+6K6vJzooTVlfVVJMLmluY2x1ZGVzKCd5b3VrdScpPyfkvJjphbcnOifniLHlpYfoibonKSkpKyc8L2ZvbnQ+JysnXFxcXG7igJzigJznirbmgIHvvJonKyhkZXM/ZGVzOifml6AnKSsn4oCd4oCd44CCPGZvbnQgY29sb3I9XCJibHVlXCI+JytxdWFuKyc8L2ZvbnQ+Jyx1cmw6J3NlbGVjdDovL3tcInRpdGxlXCI6IFwi6YCJ5oupXCIsIFwib3B0aW9uc1wiIDogW1wi5pCc57SiXCIsIFwi5YCS5bqPXCIsXCLnroDku4tcIl0sIGNvbDogMywganM6IFwiaWYoaW5wdXQ9PVxcXFwn5pCc57SiXFxcXCcpeycrKCFmaS5zb3x8Zmkuc29bMF09PTApKyc/XFxcXCdoaWtlcjovL3NlYXJjaD9zPScrbmFtKycmZ3JvdXA9JysoZmkuc28/Zmkuc29bMV06J+WFqOmDqCcpKydcXFxcJzpcXFxcJ2hpa2VyOi8vc2VhcmNoP3M9JytuYW0rJyZydWxlPScrKGZpLnNvP2ZpLnNvWzFdOicnKSsnJnNpbXBsZT1mYWxzZVxcXFwnO31lbHNlIGlmKGlucHV0PT1cXFxcJ+WAkuW6j1xcXFwnKXtwdXRWYXIoXFxcXCdtb2RlbFxcXFwnLDEpO3B1dFZhcihcXFxcJ2lpXFxcXCcsJytnZXRWYXIoJ2lpJykrJyk7cmVmcmVzaFBhZ2UoZmFsc2UpO1xcXFwndG9hc3Q6Ly/liIfmjaLmiJDlip/vvIFcXFxcJ31lbHNle2V2YWwoSlNPTi5wYXJzZShmZXRjaChcXFxcJ2hpa2VyOi8vcGFnZS9qaWFualxcXFwnKSkucnVsZSk7amlhbmooXFxgJytqaWFuaisnXFxgKTt9O1wifScsY29sX3R5cGU6J3RleHRfMSd9KTtkMS5wdXNoKHtjb2xfdHlwZTonYmlnX2JsYW5rX2Jsb2NrJ30pO3RyeXtsYXJ1PWxhenkucmVwbGFjZSgnYXl0bVBhcnNlKGlucHV0KScsJycpK1wiY2lkPWlucHV0LnNwbGl0KCcjJylbMV07aW5wdXQ9aW5wdXQuc3BsaXQoJyMnKVswXTt0cnl7dXJsPWF5dG1QYXJzZShpbnB1dCk7aWYodXJsLmluY2x1ZGVzKCd0b2FzdDovLycpfHwhdXJsLmluY2x1ZGVzKCc6Ly8nKXx8aW5wdXQ9PXVybCl1cmw9anhzYjt0cnl7cGE9dXJsLnNwbGl0KCc7JylbMV0uc3BsaXQoJyYmJyk7dmFyIHVhPScnO3ZhciByZT0nJztmb3IoaSBvZiBwYSl7dHJ5e2lmKGkuaW5jbHVkZXMoJ1VzZXItQWdlbnQnKSYmdWE9PScnKXVhPWkuc3BsaXQoJ0AnKVsxXS5yZXBsYWNlKCd9JywnJyk7fWNhdGNoKGUpe310cnl7aWYoaS5pbmNsdWRlcygnUmVmZXJlcicpJiZyZT09JycpcmU9aS5zcGxpdCgnQCcpWzFdLnJlcGxhY2UoJ30nLCcnKTt9Y2F0Y2goZSl7fX19Y2F0Y2goZSl7fXVybD11cmwuc3BsaXQoJzsnKVswXTtkYXQ9W107ZGF0LnB1c2godXJsKTtpZihjaWQpe2RtPSdodHRwczovL2NvbW1lbnQuYmlsaWJpbGkuY29tLycrY2lkKycueG1sJzt9ZWxzZXt0cnl7dmFyIHZpZD1pbnB1dC5zcGxpdCgnLycpWzZdLnNwbGl0KCcuaHRtJylbMF07dmFyIGlkPUpTT04ucGFyc2UoZmV0Y2goJ2h0dHBzOi8vYWNjZXNzLnZpZGVvLnFxLmNvbS9kYW5tdV9tYW5hZ2UvcmVnaXN0P3ZhcHBpZD05Nzc2NzIwNiZ2c2VjcmV0PWMwYmRjYmFlMTIwNjY5ZmZmNDI1ZDBlZjg1MzY3NDYxNGFhNjU5YzYwNWE2MTNhNCZyYXc9MScsIHtoZWFkZXJzOnsnVXNlci1BZ2VudCc6UENfVUF9LGJvZHk6eyd3UmVnaXN0VHlwZSc6MiwndmVjSWRMaXN0JzpbdmlkXX0sbWV0aG9kOidQT1NUJ30pKS5kYXRhLnN0TWFwW3ZpZF0uc3RyRGFuTXVLZXkubWF0Y2goL1swLTldezQsfS9nKVswXTtpZihpZCl7dmFyIGNvbT1bXTt1cmw9W107dmFyIGs9MTtmb3Ioaj0wOztqPWorMTYqKDMwKmspKXtmb3IoaT1qO2k8MTYqKDMwKmspK2o7aT1pKzMwKmspe3VybC5wdXNoKHt1cmw6J2h0dHA6Ly9tZm0udmlkZW8ucXEuY29tL2Rhbm11P3RpbWVzdGFtcD0nK2krJyZ0YXJnZXRfaWQ9JytpZH0pO2lmKGo+PTY0KjMwKWs9NDt9YmF0Y2hGZXRjaCh1cmwpLm1hcChmdW5jdGlvbihhKSB7dHJ5eyBoID0gSlNPTi5wYXJzZShhKS5jb21tZW50czsgfWNhdGNoKGUpe3RyeXtoPUpTT04ucGFyc2UoYS5tYXRjaCgvey4qfS8pWzBdKS5jb21tZW50czt9Y2F0Y2goZSl7aD1bXTt9fWNvbT1jb20uY29uY2F0KGgpOyB9KTtpZihoPT0nJylicmVhazt9O2RtPSdoaWtlcjovL2ZpbGVzL+eVquWJp+abtOaWsOihqC9kbS5qc29uJzt3cml0ZUZpbGUoZG0sSlNPTi5zdHJpbmdpZnkoY29tKS5yZXBsYWNlKC9jb250ZW50L2csJ3RleHQnKS5yZXBsYWNlKC90aW1lcG9pbnQvZywndGltZScpKTt9ZWxzZXtkbT0nJzt9fWNhdGNoKGUpe2RtPScnO319SlNPTi5zdHJpbmdpZnkoe3VybHM6ZGF0LGhlYWRlcnM6W3snVXNlci1BZ2VudCc6dWEsJ1JlZmVyZXInOnJlfV0sZGFubXU6ZG19KTt9Y2F0Y2goZSl7J3RvYXN0Oi8v6Kej5p6Q5aSx6LSl77yM6K+35pu05o2i6Kej5p6Q5oiW56iN5ZCO6YeN6K+VJzt9XCI7aWYoZmkuZG09PSflhbMnKWxhcnU9bGF6eTt9Y2F0Y2goZSl7bGFydT0nXCJ0b2FzdDovL+aXoOino+aekOaPkuS7tu+8jOS9hui/veeVquWQjuS7jeWPr+iusOW9lei2s+i/ue+8gVwiJzt9O3ZhciBlcGw9MDt2YXIgamk9cGFyc2VJbnQoZmkuamk/Zmkuamk6MTAsMTApO3ZhciBpaT1nZXRWYXIoJ2lpJyk7Y2xlYXJWYXIoJ2lpJyk7dmFyIGRpdz11bmRlZmluZWQ7aWYoaWk9PScnKXt2YXIgYmxqPU1ZX1VSTC5zcGxpdCgnIyMnKVswXTtpZihsYi5pbmNsdWRlcyhibGopKXtpaT0wO2ZvcihqIG9mIGxiLnNwbGl0KCdAQCcpKXtpZihqLmluY2x1ZGVzKGJsaikpe2Rpdz1qLnNwbGl0KCcmJicpWzNdO2JyZWFrO319fWVsc2UgaWk9MTt9dHJ5eyB2YXIgZXA9SlNPTi5wYXJzZSh5bS5zcGxpdCgnXCJlcExpc3RcIjonKVsxXS5zcGxpdCgnfV0nKVswXSsnfV0nKS5maWx0ZXIoKGEsaik9PntpZihpaT09MCl7aWYoZGl3KXtpZihhLnRpdGxlPT1kaXd8fGEubG9uZ1RpdGxlPT1kaXcpe2lpPWorMTt9aWYoaWk+MCl7aWYoaWklamkhPTApaWk9aWktaWklamkrMTtlbHNlIGlpPWlpLWppKzE7fX1lbHNlIGlpPTE7fSBpZihhLmJhZGdlIT0n6aKE5ZGKJylyZXR1cm4gYTt9KTt2YXIgZXBsPWVwLmxlbmd0aDtlcD1lcC5zbGljZShwYXJzZUludChpaSwxMCktMSxwYXJzZUludChpaSwxMCkramktMSk7dmFyIGNoZT1mZXRjaCgnaGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagvY2FjaGUudHh0Jyx7fSk7Zm9yKHZhciBpPTA7aTxlcC5sZW5ndGg7aSsrKXt1cmw9ZmkuYmlsaT09J+W8gCcmJmNoZSE9Jyc/KGNoZS5zcGxpdCgnQGxhenlSdWxlJylbMF0ucmVwbGFjZSgvY2lkXFxcXD1bMC05XXs0LH0vZywnY2lkPScrZXBbaV0uY2lkKS5yZXBsYWNlKC9hdmlkXFxcXD1bMC05XXs0LH0vZywnYXZpZD0nK2VwW2ldLmFpZCkpOignaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tL2Jhbmd1bWkvcGxheS9lcCcrZXBbaV0uaWQpO2QucHVzaCh7IHRpdGxlOmNvbG8oZXBbaV0ubG9uZ1RpdGxlLHVuZGVmaW5lZCxlcFtpXS50aXRsZSksY29sX3R5cGU6J21vdmllXzInLCBpbWc6J2h0dHA6JytlcFtpXS5jb3ZlciwgZGVzYzplcFtpXS50aXRsZSx1cmw6dXJsKycjJytlcFtpXS5jaWQrJyMjJytlcFtpXS50aXRsZStcIkBsYXp5UnVsZT0uanM6XCIrZ2V0SXRlbSgnckMnKSsoY2hlIT0nJyYmZmkuYmlsaT09J+W8gCc/KGZpLmRtPT0n5byAJz9jaGUuc3BsaXQoJ0BsYXp5UnVsZT0uanM6JylbMV0ucmVwbGFjZSgvWzAtOV17NCx9KD89XFxcXCkpL2csZXBbaV0uY2lkKTpjaGUuc3BsaXQoJ0BsYXp5UnVsZT0uanM6JylbMV0ucmVwbGFjZSgvWzAtOV17NCx9KD89XFxcXCkpL2csJ3VuZGVmaW5lZCcpKTpsYXJ1KSxleHRyYTp7aWQ6dXJsfX0pO319Y2F0Y2goZSl7dHJ5e2lmKGh0bS5jYXRlZ29yeV9tYXAuaW5jbHVkZXMoJ+ato+eJhycpKXt2YXIgZj0nJzt2YXIgbGU9aHRtLnZpcF9pZHMuZmlsdGVyKChhLGopPT57aWYoaWk9PTApe2lmKGRpdyl7aWYoKCfnrKwnKyhqKzEpKyfor50nKT09ZGl3KXtpaT1qKzE7fWlmKGlpPjApe2lmKGlpJWppIT0wKWlpPWlpLWlpJWppKzE7ZWxzZSBpaT1paS1qaSsxO319ZWxzZSBpaT0xO31pZihmPT03JiZhLkY9PTIpZj0xO2Vsc2UgZj1hLkY7aWYoZmkueWc9PTF8fGY9PTJ8fGY9PTcpe3JldHVybiBhO319KTt2YXIgZXBsPWxlLmxlbmd0aDtsZT1sZS5zbGljZShwYXJzZUludChpaSwxMCktMSxwYXJzZUludChpaSwxMCkramktMSk7dmFyIHVyPSgnaHR0cHM6Ly92LnFxLmNvbS94L2NvdmVyLycraHRtLmlkKTt2YXIgaD1paTtmb3IodmFyIGkgaW4gbGUpe3ZhciB5Zz1sZVtpXS5GIT03JiZsZVtpXS5GIT0yO2QucHVzaCh7dGl0bGU6KHlnPyfpooTlkYonOmNvbG8oJ+esrCcraCsn6K+dJykpLHVybDp1cisnLycrbGVbaV0uVisnLmh0bWwjI+esrCcraCsn6K+dJysnQGxhenlSdWxlPS5qczonKyh5Zz8nJzpnZXRJdGVtKCdyQycpKStsYXJ1LGNvbF90eXBlOid0ZXh0XzMnLGV4dHJhOntpZDp1cisnLycrbGVbaV0uVisnLmh0bWwnfX0pO2lmKCF5ZyloKys7fX19Y2F0Y2goZSl7dHJ5e3RyeXt2YXIgdj1KU09OLnBhcnNlKHltLnNwbGl0KCd2aWRlb0luZm9cIjonKVsxXS5zcGxpdCgnfScpWzBdKyd9Jyk7fWNhdGNoKGUpe3ZhciB2PXt9O3YuYWlkPXltLnNwbGl0KCdhbGJ1bUlkXCI6JylbMV0uc3BsaXQoJywnKVswXTt9dmk9SlNPTi5wYXJzZShyZXF1ZXN0KCdodHRwczovL3B1Yi5tLmlxaXlpLmNvbS9oNS9tYWluL3ZpZGVvTGlzdC9hbGJ1bS8/YWxidW1JZD0nK3YuYWlkKycmc2l6ZT0xNTAwJnBhZ2U9MSZuZWVkUHJldnVlPWZhbHNlJm5lZWRWaXBQcmV2dWU9ZmFsc2UnLHt9KSkuZGF0YTtpZih2aSE9Jycpe3Y9dmkudmlkZW9zO3RyeXt2LmZvckVhY2goKGEsaik9PntpZihpaT09MCl7aWYoZGl3KXtpZihhLnBkPT1kaXd8fGEudnQ9PWRpdyl7aWk9aisxO31pZihpaT4wKXtpZihpaSVqaSE9MClpaT1paS1paSVqaSsxO2Vsc2UgaWk9aWktamkrMTt0aHJvdyBuZXcgRW9ycm9yKCfkuK3mlq0nKTt9fWVsc2UgaWk9MTt9fSk7fWNhdGNoKGUpe312YXIgZXBsPXYubGVuZ3RoO3Y9di5zbGljZShwYXJzZUludChpaSwxMCktMSxwYXJzZUludChpaSwxMCkramktMSk7ZD12Lm1hcChhPT57YS5kZXNjPWEucGQ7YS5pbWc9KCdodHRwczonK2EuaW1hZ2VVcmwpO2EudXJsPSdodHRwczonK2EucGFnZVVybCsnIyMnK2EucGQrJ0BsYXp5UnVsZT0uanM6JytnZXRJdGVtKCdyQycpK2xhenk7YS50aXRsZT1jb2xvKGEudnQsKHVuZGVmaW5lZCksYS5wZCk7YS5jb2xfdHlwZT0nbW92aWVfMic7YS5leHRyYT17aWQ6J2h0dHBzOicrYS5wYWdlVXJsfTtyZXR1cm4gYTt9KTt9ZWxzZXtpPXY7aWYoaSYmKCFpLnZ0fHwhaS52dC5pbmNsdWRlcygn6aKE5ZGKJykpKWQucHVzaCh7dGl0bGU6Y29sbyhpLnNob3J0VGl0bGUsdW5kZWZpbmVkLGkub3JkZXIpLHVybDonaHR0cHM6JytpLnBhZ2VVcmwrJyMjJytpLm9yZGVyKydAbGF6eVJ1bGU9LmpzOicrZ2V0SXRlbSgnckMnKStsYXp5LGNvbF90eXBlOidtb3ZpZV8yJyxpbWc6J2h0dHBzOicraS5pbWFnZVVybCxkZXNjOmkub3JkZXJ9KTt9fWNhdGNoKGUpe3RyeXtkPUpTT04ucGFyc2UoZmV0Y2goJ2h0dHBzOi8vc2VhcmNoLnlvdWt1LmNvbS9hcGkvc2VhcmNoP2FwcFNjZW5lPXNob3dfZXBpc29kZSZzaG93SWRzPScreW0ubWF0Y2goL3Nob3dJZFwiOlwiKC4qPylcIi8pWzFdKycmYXBwQ2FsbGVyPWg1Jyx7aGVhZGVyczp7XCJVc2VyLUFnZW50XCI6TU9CSUxFX1VBfSxyZWRpcmVjdDpmYWxzZX0pKS5zZXJpc2VzTGlzdDt0cnl7ZC5mb3JFYWNoKChhLGopPT57aWYoaWk9PTApe2lmKGRpdyl7aWYoYS50aXRsZT09ZGl3fHxhLmRpc3BsYXlOYW1lPT1kaXcpe2lpPWorMTt9aWYoaWk+MCl7aWYoaWklamkhPTApaWk9aWktaWklamkrMTtlbHNlIGlpPWlpLWppKzE7dGhyb3cgbmV3IEVvcnJvcign5Lit5patJyk7fX1lbHNlIGlpPTE7fX0pO31jYXRjaChlKXt9dmFyIGVwbD1kLmxlbmd0aDtkPWQuc2xpY2UocGFyc2VJbnQoaWksMTApLTEscGFyc2VJbnQoaWksMTApK2ppLTEpLm1hcChhPT57YS5kZXNjPWEuZGlzcGxheU5hbWU7YS5pbWc9YS50aHVtYlVybDthLnVybD0naHR0cHM6Ly9tLnlvdWt1LmNvbS9hbGlwYXlfdmlkZW8vaWRfJythLnZpZGVvSWQrJy5odG1sIyMnK2EuZGlzcGxheU5hbWUrJ0BsYXp5UnVsZT0uanM6JytnZXRJdGVtKCdyQycpK2xhenk7YS50aXRsZT1jb2xvKGEudGl0bGUsdW5kZWZpbmVkLGEuZGlzcGxheU5hbWUpO2EuZXh0cmE9e2lkOidodHRwczovL20ueW91a3UuY29tL2FsaXBheV92aWRlby9pZF8nK2EudmlkZW9JZCsnLmh0bWwnfTtyZXR1cm4gYTt9KTt9Y2F0Y2goZSl7ZC5wdXNoKHt0aXRsZTon4oCc4oCc5LyR5oGv5ZCn77yM6L+955Wq5Lmf5LiN6KaB6L+Z5LmI5ou877yB4oCd4oCdJyxjb2xfdHlwZTondGV4dF9jZW50ZXJfMSd9KTt9fX19Zm9yKGk9MTtpPD1lcGw7aT1pK2ppKXt2YXIgcWo9KGkrJy0nKyhlcGwtKGkramktMSk+PTA/KGkramktMSk6ZXBsKSk7ZDEucHVzaCh7dGl0bGU6aWk+PWkmJihpaTw9aStqaS0xKT8oJ+KAnOKAnCcrcWorJ+KAneKAnScpOnFqLHVybDppK1wiQGxhenlSdWxlPS5qczpwdXRWYXIoJ2lpJyxpbnB1dCk7cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+ato+WcqOWIh+aNoi4uLidcIixjb2xfdHlwZTonc2Nyb2xsX2J1dHRvbid9KTt9aWYobW89PTEpZD1kLnJldmVyc2UoKTtkMT1kMS5jb25jYXQoZCk7ZDEucHVzaCh7Y29sX3R5cGU6J2xpbmVfYmxhbmsnfSk7aWYoeW0uaW5kZXhPZignXCJzc0xpc3RcIjpbeycpPi0xKXtkMS5wdXNoKHt0aXRsZTooZ2V0VmFyKCd4bCcpPT0nMSc/J+KAnOKAnOKKmeabtOWkmuezu+WIl+KAneKAnSc6J+KAmOKAmOKKleabtOWkmuezu+WIl+KAmeKAmScpLHVybDonaGlrZXI6Ly9lbXB0eSMnK2dldFZhcigneGwnKStcXGBAbGF6eVJ1bGU9LmpzOnZhciBhPWlucHV0LnNwbGl0KCcjJylbMV07aWYoYT09JzEnKXtwdXRWYXIyKCd4bCcsJycpO31lbHNle3B1dFZhcjIoJ3hsJywnMScpO31yZWZyZXNoUGFnZShmYWxzZSk7YT09JzEnPyd0b2FzdDovL+W3suaUtui1tyc6J3RvYXN0Oi8v5bey5bGV5byAJ1xcYCxjb2xfdHlwZTondGV4dF8yJ30pO31pZihNWV9VUkwuc2VhcmNoKC9pcWl5aS5jb3x5b3VrdS5jby8pPT0tMSlkMS5wdXNoKHt0aXRsZTooZ2V0VmFyKCd0aicpPT0nMSc/J+KAnOKAnOKKmeabtOWkmuaOqOiNkOKAneKAnSc6J+KAmOKAmOKKleabtOWkmuaOqOiNkOKAmeKAmScpLHVybDonaGlrZXI6Ly9lbXB0eSMnK2dldFZhcigndGonKStcXGBAbGF6eVJ1bGU9LmpzOnZhciBhPWlucHV0LnNwbGl0KCcjJylbMV07aWYoYT09JzEnKXtwdXRWYXIyKCd0aicsJycpO31lbHNle3B1dFZhcjIoJ3RqJywnMScpO31yZWZyZXNoUGFnZShmYWxzZSk7YT09JzEnPyd0b2FzdDovL+W3suaUtui1tyc6J3RvYXN0Oi8v5bey5bGV5byAJ1xcYCxjb2xfdHlwZTondGV4dF8yJ30pO2QxLnB1c2goe2NvbF90eXBlOidsaW5lJ30pO3RyeXtpZihnZXRWYXIoJ3hsJyk9PScxJyl7IHZhciB0aj1KU09OLnBhcnNlKHltLnNwbGl0KCdcInNzTGlzdFwiOicpWzFdLnNwbGl0KCd9XScpWzBdKyd9XScpOyBmb3IodmFyIG89MDt0aiE9bnVsbCYmbzx0ai5sZW5ndGg7bysrKXt2YXIgY292ZXI9dGpbb10uY292ZXI7aWYoIWNvdmVyLmluY2x1ZGVzKCdodHRwJykpY292ZXI9J2h0dHA6Jytjb3Zlcjt2YXIgY3U9TVlfVVJMLmluY2x1ZGVzKHRqW29dLmlkKT8n4q2Q77iPJzonJzt2YXIgc3g9TVlfVVJMLmluY2x1ZGVzKHRqW29dLmlkKT9cIkBsYXp5UnVsZT0uanM6cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+W3suWIt+aWsO+8gSc7XCI6Z2V0SXRlbSgnYWEnKTtkMS5wdXNoKHsgdGl0bGU6dGpbb10udGl0bGUrY3UsaW1nOmNvdmVyLGRlc2M6dGpbb10uaW5kZXhfc2hvdywgdXJsOidodHRwczovL3d3dy5iaWxpYmlsaS5jb20vYmFuZ3VtaS9wbGF5L3NzJyt0altvXS5pZCsnIyMnK25hbSsnICcrdGpbb10udGl0bGUrJyYmJysnaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tL2Jhbmd1bWkvcGxheS9zcycrdGpbb10uaWQrJyYmJytjb3ZlcisnIyMnK3N4LCBkZXNjOnRqW29dLmRlc2MsY29sX3R5cGU6J21vdmllXzInIH0pO31wdXRWYXIyKCd4bCcsJycpO319Y2F0Y2goZSl7fWlmKGdldFZhcigndGonKT09JzEnKXtpZihNWV9VUkwuaW5jbHVkZXMoJ2JpbGliaWxpJykpe3ZhciByZWM9SlNPTi5wYXJzZShmZXRjaCgnaHR0cHM6Ly9hcGkuYmlsaWJpbGkuY29tL3BnYy9zZWFzb24vd2ViL3JlbGF0ZWQvcmVjb21tZW5kP3NlYXNvbl9pZD0nK01ZX1VSTC5zcGxpdCgnc3MnKVsxXSx7fSkpLmRhdGEuc2Vhc29uO2ZvcihpPTA7aTxyZWMubGVuZ3RoO2krKyl7ZDEucHVzaCh7IHRpdGxlOnJlY1tpXS50aXRsZSxpbWc6cmVjW2ldLm5ld19lcC5jb3ZlcixkZXNjOnJlY1tpXS5uZXdfZXAuaW5kZXhfc2hvdyx1cmw6cmVjW2ldLnVybCsnIyMnK3JlY1tpXS50aXRsZSsnJiYnK3JlY1tpXS51cmwrJyYmJytyZWNbaV0ubmV3X2VwLmNvdmVyKycjIycrZ2V0SXRlbSgnYWEnKSwgY29sX3R5cGU6J21vdmllXzInIH0pO319ZWxzZXt2YXIgbGlzPXBhcnNlRG9tRm9yQXJyYXkocmVxdWVzdCgnaHR0cHM6Ly9tLnYucXEuY29tL3BsYXkuaHRtbD9jaWQ9JytNWV9VUkwuc3BsaXQoJy8nKVs1XS5zcGxpdCgnLicpWzBdLHt9KSwnLmZpZ3VyZXNfbGlzdCYmbGknKTtmb3IodmFyIGsgb2YgbGlzKXt2YXIgdXI9J2h0dHBzOi8vdi5xcS5jb20veC9jb3Zlci8nK3BhcnNlRG9tRm9ySHRtbChrLCdsaSYmZGF0YS1jaWQnKSsnLmh0bWwnO3ZhciBpbWc9cGFyc2VEb21Gb3JIdG1sKGssJ2ltZyYmZHNyYycpO2lmKCFpbWcuaW5jbHVkZXMoJ2h0dHAnKSlpbWc9J2h0dHBzOicraW1nO3ZhciB0aT1wYXJzZURvbUZvckh0bWwoaywnc3Ryb25nJiZUZXh0Jyk7ZDEucHVzaCh7IHRpdGxlOnRpLGltZzppbWcsZGVzYzpwYXJzZURvbUZvckh0bWwoaywnYSYmVGV4dCcpLHVybDp1cisnIyMnK3RpKycmJicrdXIrJyYmJytpbWcrJyMjJytnZXRJdGVtKCdhYScpLCBjb2xfdHlwZTonbW92aWVfMicgfSk7fX19cHV0VmFyMigndGonLCcnKTt9Y2F0Y2goZSl7ZDEucHVzaCh7dGl0bGU6J+KAnOKAnOS8keaBr+WQp++8jOi/veeVquS5n+S4jeimgei/meS5iOaLvO+8geKAneKAnScsY29sX3R5cGU6J3RleHRfY2VudGVyXzEnfSk7fWNsZWFySXRlbSgneXonKTthZGRMaXN0ZW5lcignb25SZWZyZXNoJyxcInB1dFZhcignamwnLHBhcnNlSW50KGdldFZhcignamwnLCcwJyksMTApLTEpO1wiKTthZGRMaXN0ZW5lcignb25DbG9zZScsXCJpZihnZXRWYXIoJ2psJyk9PTEmJmdldFZhcignYXhlJyk9PSfov73nlaonJiZmZXRjaCgnaGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagv5oiR55qE6L+955WqLnR4dCcse30pIT1nZXRWYXIoJ2xiJykpcmVmcmVzaFBhZ2UoZmFsc2UpO3B1dFZhcignamwnLHBhcnNlSW50KGdldFZhcignamwnLCcwJyksMTApLTEpO1wiKTtyZXMxLmRhdGEgPSBkMTsgc2V0SG9tZVJlc3VsdChyZXMxKTtgKTsiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5rWL6K+VXCIsXCJwYXRoXCI6XCJjZXNoaS5odG1sXCIsXCJydWxlXCI6XCJqczpcXG5cXHJcXG52YXIgcmVzID0ge307XFxyXFxudmFyIGQgPSBbXTtcXG52YXIgZDEgPSBbXTtcXG52YXIgZDIgPSBbXTtcXG52YXIgZDMgPSBbXTtcXG52YXIgZDQgPSBbXTtcXG52YXIgZDUgPSBbXTtcXG5mdW5jdGlvbiBzZWwoYSl7XFxuICAgdHJ5e1xcbiAgICAgIGE9YS5tYXRjaCgvW1xcXFx3XSo/XFxcXC5jb20vZylbMF07XFxuICAgICB9Y2F0Y2goZSl7cmV0dXJuICdvdGgnO31cXG4gICAgICAgICAgICBzd2l0Y2ggKGEpIHtcXG4gICAgICAgICAgICAgICAgY2FzZSBcXFwicXEuY29tXFxcIjpcXG4gICAgICAgICAgICAgICAgICAgIHN0ciA9ICd0eCc7XFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgY2FzZSBcXFwiaXFpeWkuY29tXFxcIjpcXG4gICAgICAgICAgICAgICAgICAgIHN0ciA9ICdxeSc7XFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgY2FzZSBcXFwieW91a3UuY29tXFxcIjpcXG4gICAgICAgICAgICAgICAgICAgIHN0ciA9ICd5ayc7XFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgY2FzZSBcXFwibWd0di5jb21cXFwiOlxcbiAgICAgICAgICAgICAgICAgICAgc3RyID0gJ21nJztcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgICAgICBjYXNlIFxcXCJiaWxpYmlsaS5jb21cXFwiOlxcbiAgICAgICAgICAgICAgICAgICAgc3RyID0gJ2JsJztcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgICAgICAgICAgc3RyID0gJ290aCc7XFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICB9XFxucmV0dXJuIHN0cjtcXG59XFxuXFxudmFyIHBhdGg9J2ZpbGU6Ly8vc3RvcmFnZS9lbXVsYXRlZC8wL0FuZHJvaWQvZGF0YS9jb20uZXhhbXBsZS5oaWtlcnZpZXcvZmlsZXMvRG9jdW1lbnRzL3J1bGVzL0R1YW5OaWFuL015UGFyc2UuanNvbic7XFxudmFyIGZpPWZldGNoKHBhdGgse30pO1xcbnRyeXtcXG5ldmFsKCdqeD0nK2ZpKTtcXG5ldmFsKCdhPScrZmkpO1xcblxcbnNhdmVGaWxlKCdzYXZlLnR4dCcsZmkpO1xcblxcbmZvcihsZXQgeCBvZiBPYmplY3Qua2V5cyhqeC5zZXR0aW5ncykpe1xcbnZhciBiPWp4LnNldHRpbmdzW3hdLnNwbGl0KCcsJyk7XFxuZm9yKGk9MDtpPGIubGVuZ3RoO2krKyl7XFxuZm9yKGo9aSsxO2o8Yi5sZW5ndGg7aisrKXtcXG5pZihiW2ldPT1iW2pdKXtcXG5iLnNwbGljZShqLDEpO1xcbn1cXG59XFxufVxcbmp4LnNldHRpbmdzW3hdPWIuZmlsdGVyKGE9PntyZXR1cm4gYSE9Jyc7fSkuam9pbignLCcpO1xcbn1cXG5cXG5qeC5zZXR0aW5ncy5jaj0naGlrZXI6Ly9maWxlcy9jYWNoZS9QYXJzZV9Ebi5qcyc7XFxuangudGl0bGU9angudGl0bGUuZmlsdGVyKGE9PntcXG5pZihqeC5jb2Rlc1thXSl7anguY29kZXNbYV09YSsn6Kej5p6QJztcXG5yZXR1cm4gYTt9XFxuZWxzZXtkZWxldGUganguY29kZXNbYV07fX0pO1xcbnZhciBmaT1KU09OLnN0cmluZ2lmeShqeCk7XFxuZm9yKGogb2YgangudGl0bGUpe2ZpPWZpLnJlcGxhY2UoJ1xcXCInK2orJ+ino+aekFxcXCInLCgodHlwZW9mIGEuY29kZXNbal0pIT0nZnVuY3Rpb24nPygnXFxcIicrYS5jb2Rlc1tqXS50b1N0cmluZygpLnRyaW0oKSsnXFxcIicpOmEuY29kZXNbal0udG9TdHJpbmcoKS50cmltKCkpKTt9d3JpdGVGaWxlKHBhdGgsZmkpO1xcblxcbmlucHV0PWdldFZhcignaW5wdXQnKTtcXG5wdXRWYXIoJ2lucHV0JywnJyk7XFxudmFyIG5hbWU9Z2V0VmFyKCdpJyk7XFxuXFxuZC5wdXNoKHtcXG50aXRsZTon5rWL6K+VJyxcXG5kZXNjOifovpPlhaXmtYvor5Xpk77mjqUuLi4nLFxcbnVybDpgcHV0VmFyKCdpbnB1dCcsaW5wdXQpO3JlZnJlc2hQYWdlKGZhbHNlKTtgLFxcbmNvbF90eXBlOidpbnB1dCcsXFxuZXh0cmE6e2lkOlxcXCJpbmtcXFwifVxcbn0pO1xcbnZhciBwYXRoPSdmaWxlOi8vL3N0b3JhZ2UvZW11bGF0ZWQvMC9BbmRyb2lkL2RhdGEvY29tLmV4YW1wbGUuaGlrZXJ2aWV3L2ZpbGVzL0RvY3VtZW50cy9ydWxlcy9EdWFuTmlhbi9NeVBhcnNlLmpzb24nO1xcblxcbmV2YWwoJ2p4PScrZmkpO1xcbnZhciBwZD0wO1xcbmZvcihpPTA7aTxqeC50aXRsZS5sZW5ndGg7aSsrKXtcXG5pZihqeC50aXRsZVtpXT09bmFtZSl7XFxucGQ9MTticmVhaztcXG59XFxufVxcbmlmKG5hbWU9PScnfHxwZD09MCluYW1lPWp4LnRpdGxlWzBdO1xcblxcbmQucHVzaCh7XFxudGl0bGU6J+a1i+ivleS7jiAnK25hbWUrJyDlvIDlp4s6ICcsXFxuZGVzYzon54K55Ye75YiH5o2i6LW354K56Kej5p6QJyxcXG51cmw6YHNlbGVjdDovL3tcXFwidGl0bGVcXFwiOiBcXFwi6YCJ5oup6Kej5p6QLi4uXFxcIixcXFwib3B0aW9uc1xcXCIgOltgK2p4LnRpdGxlLm1hcChhPT57cmV0dXJuICdcXFwiJythKydcXFwiJ30pK2BdLGNvbDogMywgXFxcImpzXFxcIjpcXFwicHV0VmFyKCdpJyxpbnB1dCk7cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+WIh+aNouiHsycraW5wdXQrJ+W8gOWni+a1i+ivle+8gSdcXFwifWAsXFxuY29sX3R5cGU6J3RleHRfMSdcXG59KTtcXG5kLnB1c2goe2NvbF90eXBlOidsaW5lX2JsYW5rJ30pO1xcbmlmKGlucHV0IT0nJyYmaW5wdXQuaW5jbHVkZXMoJzovLycpKXtcXG52YXIgY3M9MDtcXG5mb3IodmFyIGlpPTA7aWk8angudGl0bGUubGVuZ3RoO2lpKyspe1xcblxcbmlmKG5hbWUhPWp4LnRpdGxlW2lpXSYmY3M9PTApe1xcbmNvbnRpbnVlO1xcbn1lbHNlIGlmKG5hbWU9PWp4LnRpdGxlW2lpXSl7Y3M9MTt9XFxuXFxuXFxuXFxuaWYoangudGl0bGVbaWldIT0nZGVmYXVsdFBhcnNlJyl7XFxudHJ5e1xcbnNob3dMb2FkaW5nKCfmraPlnKjmtYvor5UgJytqeC50aXRsZVtpaV0pO1xcblxcbmlmKCh0eXBlb2YganguY29kZXNbangudGl0bGVbaWldXSkhPSdzdHJpbmcnKXtcXG52YXIgdXJsPWp4LmNvZGVzW2p4LnRpdGxlW2lpXV0oaW5wdXQpLnJlcGxhY2UoL1xcXFxcXFwiL2csJ1xcXFxcXFxcXFxcIicpLnJlcGxhY2UoL1xcXFwnL2csXFxcIlxcXFxcXFxcJ1xcXCIpLnJlcGxhY2UoL1xcXFxgL2csJ1xcXFxcXFxcYCcpO1xcbmlmKHNlbChpbnB1dCk9PSdtZycmJnVybC5zZWFyY2goL1VzZXItQWdlbnR8UmVmZXJlci8pPT0tMSlcXG51cmw9dXJsKyc7e1VzZXItQWdlbnRATW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCl9JztcXG59XFxuZWxzZXtcXG52YXIgdXJsPScnO1xcbn1cXG5cXG5pZih1cmwuaW5jbHVkZXMoJ3RvYXN0Oi8vJyl8fCF1cmwuaW5jbHVkZXMoJzovLycpfHx1cmw9PWlucHV0KXVybD0nJztcXG59Y2F0Y2goZSl7XFxudXJsPScnO1xcbn1cXG5cXG5pZih1cmwhPScnKVxcbntcXG5kMS5wdXNoKHtcXG50aXRsZTpqeC50aXRsZVtpaV0sXFxuZGVzYzon5om+5Yiw5LiA5Liq5YWN5ZeFJyxcXG51cmw6YHNlbGVjdDovL3tcXFwidGl0bGVcXFwiOiBcXFwi6YCJ5oup5pON5L2cLi4uXFxcIiwgXFxcIm9wdGlvbnNcXFwiIDpbJ+aSreaUvicsJ+a3u+WKoCcsJ+WIoOmZpCddLCBjb2w6IDMsIFxcXCJqc1xcXCI6IFxcXCJpZihpbnB1dD09J+aSreaUvicpe1xcXFxgYCt1cmwrYFxcXFxgO31lbHNlIHt2YXIgcGF0aD0nZmlsZTovLy9zdG9yYWdlL2VtdWxhdGVkLzAvQW5kcm9pZC9kYXRhL2NvbS5leGFtcGxlLmhpa2Vydmlldy9maWxlcy9Eb2N1bWVudHMvcnVsZXMvRHVhbk5pYW4vTXlQYXJzZS5qc29uJzt2YXIgZmk9ZmV0Y2gocGF0aCx7fSk7ZXZhbCgnang9JytmaSk7ZXZhbCgnYT0nK2ZpKTtpZihpbnB1dD09J+a3u+WKoCcpe3ZhciBzZXQ9anguc2V0dGluZ3NbJ2Arc2VsKGlucHV0KStgJ107c2V0PXNldC5zcGxpdCgnLCcpLmZpbHRlcihhPT57aWYoYSE9JycmJmEhPSdgK2p4LnRpdGxlW2lpXStgJylyZXR1cm4gYTt9KS5qb2luKCcsJyk7anguc2V0dGluZ3NbJ2Arc2VsKGlucHV0KStgJ109J2ArangudGl0bGVbaWldK2AnKyhzZXQ9PScnPycnOicsJykrc2V0O2ZvcihqIG9mIGp4LnRpdGxlKXtqeC5jb2Rlc1tqXT1qKyfop6PmnpAnO312YXIgZmk9SlNPTi5zdHJpbmdpZnkoangpO31lbHNle3ZhciBqeGw9angudGl0bGUuZmlsdGVyKGE9PntpZihhIT0nYCtqeC50aXRsZVtpaV0rYCcpcmV0dXJuIGE7fSk7Zm9yKGogb2YgangudGl0bGUpe2lmKGohPSdgK2p4LnRpdGxlW2lpXStgJylqeC5jb2Rlc1tqXT1qKyfop6PmnpAnO2Vsc2UgZGVsZXRlIGp4LmNvZGVzW2pdO31qeC50aXRsZT1qeGw7Zm9yKGsgb2YgT2JqZWN0LmtleXMoanguc2V0dGluZ3MpKXtqeC5zZXR0aW5nc1trXT1qeC5zZXR0aW5nc1trXS5zcGxpdCgnLCcpLmZpbHRlcihhPT57aWYoYSE9JycmJmEhPSdgK2p4LnRpdGxlW2lpXStgJylyZXR1cm4gYTt9KS5qb2luKCcsJyk7fXZhciBmaT1KU09OLnN0cmluZ2lmeShqeCk7fWZvcihqIG9mIGp4LnRpdGxlKXtmaT1maS5yZXBsYWNlKCdcXFxcXFxcXFxcXCInK2orJ+ino+aekFxcXFxcXFxcXFxcIicsKCh0eXBlb2YgYS5jb2Rlc1tqXSkhPSdmdW5jdGlvbic/KCdcXFxcXFxcXFxcXCInK2EuY29kZXNbal0udG9TdHJpbmcoKS50cmltKCkrJ1xcXFxcXFxcXFxcIicpOmEuY29kZXNbal0udG9TdHJpbmcoKS50cmltKCkpKTt9d3JpdGVGaWxlKHBhdGgsZmkpOyd0b2FzdDovL+WujOaIkO+8gSd9XFxcIn1gLFxcbmNvbF90eXBlOid0ZXh0XzEnXFxufSk7XFxudHJ5e1xcbnB1dFZhcignaScsangudGl0bGVbaWkrMV0pO1xcbn1jYXRjaChlKXtcXG5jbGVhclZhcignaScpO31cXG5kMS5wdXNoKHtjb2xfdHlwZTonbGluZSd9KTtcXG5kMS5wdXNoKHtcXG50aXRsZTon5LiL5LiA5LiqJyxcXG51cmw6YGhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOnB1dFZhcignaW5wdXQnLCdgK2lucHV0K2AnKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5LiL5LiA5LiqJ2AsXFxuY29sX3R5cGU6J3RleHRfMidcXG59KTtcXG5kMS5wdXNoKHtcXG50aXRsZTon5LuO5aS05byA5aeLJyxcXG51cmw6YGhpa2VyOi8vZW1wdHlAbGF6eVJ1bGU9LmpzOnB1dFZhcignaW5wdXQnLCdgK2lucHV0K2AnKTtjbGVhclZhcignaScpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/lvIDlp4snYCxcXG5jb2xfdHlwZTondGV4dF8yJ1xcbn0pO1xcbmhpZGVMb2FkaW5nKCk7XFxuYnJlYWs7XFxufVxcblxcblxcbmVsc2V7XFxuaWYoKHR5cGVvZiBqeC5jb2Rlc1tqeC50aXRsZVtpaV1dKSE9J3N0cmluZycpXFxuZDIucHVzaCh7XFxudGl0bGU6angudGl0bGVbaWldLFxcblxcbnVybDpgc2VsZWN0Oi8ve1xcXCJ0aXRsZVxcXCI6IFxcXCLpgInmi6nmk43kvZwuLi5cXFwiLCBcXFwib3B0aW9uc1xcXCIgOlsn6YeN6K+VJywn5re75YqgJywn5Yig6ZmkJ10sIGNvbDogMywgXFxcImpzXFxcIjogXFxcImlmKGlucHV0PT0n6YeN6K+VJyl7XFxcXGBoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczp2YXIgcGF0aD0nZmlsZTovLy9zdG9yYWdlL2VtdWxhdGVkLzAvQW5kcm9pZC9kYXRhL2NvbS5leGFtcGxlLmhpa2Vydmlldy9maWxlcy9Eb2N1bWVudHMvcnVsZXMvRHVhbk5pYW4vTXlQYXJzZS5qc29uJzt2YXIgZmk9ZmV0Y2gocGF0aCx7fSk7ZXZhbCgnang9JytmaSk7anguY29kZXNbJ2ArangudGl0bGVbaWldK2AnXSgnYCtpbnB1dCtgJyk7XFxcXGB9ZWxzZSB7dmFyIHBhdGg9J2ZpbGU6Ly8vc3RvcmFnZS9lbXVsYXRlZC8wL0FuZHJvaWQvZGF0YS9jb20uZXhhbXBsZS5oaWtlcnZpZXcvZmlsZXMvRG9jdW1lbnRzL3J1bGVzL0R1YW5OaWFuL015UGFyc2UuanNvbic7dmFyIGZpPWZldGNoKHBhdGgse30pO2V2YWwoJ2p4PScrZmkpO2V2YWwoJ2E9JytmaSk7aWYoaW5wdXQ9PSfmt7vliqAnKXt2YXIgc2V0PWp4LnNldHRpbmdzWydgK3NlbChpbnB1dCkrYCddO3NldD1zZXQuc3BsaXQoJywnKS5maWx0ZXIoYT0+e2lmKGEhPScnJiZhIT0nYCtqeC50aXRsZVtpaV0rYCcpcmV0dXJuIGE7fSkuam9pbignLCcpO2p4LnNldHRpbmdzWydgK3NlbChpbnB1dCkrYCddPSdgK2p4LnRpdGxlW2lpXStgJysoc2V0PT0nJz8nJzonLCcpK3NldDtmb3IoaiBvZiBqeC50aXRsZSl7anguY29kZXNbal09aisn6Kej5p6QJzt9dmFyIGZpPUpTT04uc3RyaW5naWZ5KGp4KTt9ZWxzZXt2YXIganhsPWp4LnRpdGxlLmZpbHRlcihhPT57aWYoYSE9J2ArangudGl0bGVbaWldK2AnKXJldHVybiBhO30pO2ZvcihqIG9mIGp4LnRpdGxlKXtpZihqIT0nYCtqeC50aXRsZVtpaV0rYCcpanguY29kZXNbal09aisn6Kej5p6QJztlbHNlIGRlbGV0ZSBqeC5jb2Rlc1tqXTt9angudGl0bGU9anhsO2ZvcihrIG9mIE9iamVjdC5rZXlzKGp4LnNldHRpbmdzKSl7anguc2V0dGluZ3Nba109anguc2V0dGluZ3Nba10uc3BsaXQoJywnKS5maWx0ZXIoYT0+e2lmKGEhPScnJiZhIT0nYCtqeC50aXRsZVtpaV0rYCcpcmV0dXJuIGE7fSkuam9pbignLCcpO312YXIgZmk9SlNPTi5zdHJpbmdpZnkoangpO31mb3IoaiBvZiBqeC50aXRsZSl7Zmk9ZmkucmVwbGFjZSgnXFxcXFxcXFxcXFwiJytqKyfop6PmnpBcXFxcXFxcXFxcXCInLCgodHlwZW9mIGEuY29kZXNbal0pIT0nZnVuY3Rpb24nPygnXFxcXFxcXFxcXFwiJythLmNvZGVzW2pdLnRvU3RyaW5nKCkudHJpbSgpKydcXFxcXFxcXFxcXCInKTphLmNvZGVzW2pdLnRvU3RyaW5nKCkudHJpbSgpKSk7fXdyaXRlRmlsZShwYXRoLGZpKTsndG9hc3Q6Ly/lrozmiJDvvIEnfVxcXCJ9YCxcXG5jb2xfdHlwZTondGV4dF8zJ1xcbn0pO1xcbmVsc2V7XFxudmFyIHg1PWp4LmNvZGVzWydkZWZhdWx0UGFyc2UnXShqeC5jb2Rlc1tqeC50aXRsZVtpaV1dK2lucHV0KS5yZXBsYWNlKC9cXFxcXFxcXC9nLCdcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXCcpLnJlcGxhY2UoL1xcXFxcXFwiL2csJ1xcXFxcXFxcXFxcIicpLnJlcGxhY2UoL1xcXFwnL2csXFxcIlxcXFxcXFxcJ1xcXCIpLnJlcGxhY2UoL1xcXFxgL2csJ1xcXFxcXFxcYCcpLnJlcGxhY2UoL1tcXFxcc10vZywnICcpO1xcbmQ0LnB1c2goe1xcbnRpdGxlOmp4LnRpdGxlW2lpXSxcXG5cXG51cmw6YHNlbGVjdDovL3tcXFwidGl0bGVcXFwiOiBcXFwi6YCJ5oup5pON5L2cLi4uXFxcIiwgXFxcIm9wdGlvbnNcXFwiIDpbJ+ino+aekCcsJ+a3u+WKoCcsJ+WIoOmZpCddLCBjb2w6IDMsIFxcXCJqc1xcXCI6IFxcXCJpZihpbnB1dD09J+ino+aekCcpeydgK3g1K2AnfWVsc2Uge3ZhciBwYXRoPSdmaWxlOi8vL3N0b3JhZ2UvZW11bGF0ZWQvMC9BbmRyb2lkL2RhdGEvY29tLmV4YW1wbGUuaGlrZXJ2aWV3L2ZpbGVzL0RvY3VtZW50cy9ydWxlcy9EdWFuTmlhbi9NeVBhcnNlLmpzb24nO3ZhciBmaT1mZXRjaChwYXRoLHt9KTtldmFsKCdqeD0nK2ZpKTtldmFsKCdhPScrZmkpO2lmKGlucHV0PT0n5re75YqgJyl7dmFyIHNldD1qeC5zZXR0aW5nc1snYCtzZWwoaW5wdXQpK2AnXTtzZXQ9c2V0LnNwbGl0KCcsJykuZmlsdGVyKGE9PntpZihhIT0nJyYmYSE9J2ArangudGl0bGVbaWldK2AnKXJldHVybiBhO30pLmpvaW4oJywnKTtqeC5zZXR0aW5nc1snYCtzZWwoaW5wdXQpK2AnXT0nYCtqeC50aXRsZVtpaV0rYCcrKHNldD09Jyc/Jyc6JywnKStzZXQ7Zm9yKGogb2YgangudGl0bGUpe2p4LmNvZGVzW2pdPWorJ+ino+aekCc7fXZhciBmaT1KU09OLnN0cmluZ2lmeShqeCk7fWVsc2V7dmFyIGp4bD1qeC50aXRsZS5maWx0ZXIoYT0+e2lmKGEhPSdgK2p4LnRpdGxlW2lpXStgJylyZXR1cm4gYTt9KTtmb3IoaiBvZiBqeC50aXRsZSl7aWYoaiE9J2ArangudGl0bGVbaWldK2AnKWp4LmNvZGVzW2pdPWorJ+ino+aekCc7ZWxzZSBkZWxldGUganguY29kZXNbal07fWp4LnRpdGxlPWp4bDtmb3IoayBvZiBPYmplY3Qua2V5cyhqeC5zZXR0aW5ncykpe2p4LnNldHRpbmdzW2tdPWp4LnNldHRpbmdzW2tdLnNwbGl0KCcsJykuZmlsdGVyKGE9PntpZihhIT0nJyYmYSE9J2ArangudGl0bGVbaWldK2AnKXJldHVybiBhO30pLmpvaW4oJywnKTt9dmFyIGZpPUpTT04uc3RyaW5naWZ5KGp4KTt9Zm9yKGogb2YgangudGl0bGUpe2ZpPWZpLnJlcGxhY2UoJ1xcXFxcXFxcXFxcIicraisn6Kej5p6QXFxcXFxcXFxcXFwiJywoKHR5cGVvZiBhLmNvZGVzW2pdKSE9J2Z1bmN0aW9uJz8oJ1xcXFxcXFxcXFxcIicrYS5jb2Rlc1tqXS50b1N0cmluZygpLnRyaW0oKSsnXFxcXFxcXFxcXFwiJyk6YS5jb2Rlc1tqXS50b1N0cmluZygpLnRyaW0oKSkpO313cml0ZUZpbGUocGF0aCxmaSk7J3RvYXN0Oi8v5a6M5oiQ77yBJ31cXFwifWAsXFxuY29sX3R5cGU6J3RleHRfMydcXG59KTt9XFxufVxcbn19XFxufVxcbmhpZGVMb2FkaW5nKCk7XFxuaWYoZDIhPScnKVxcbmQzLnB1c2goe1xcbnRpdGxlOifirZDvuI/ku6XkuIvmmK/op6PmnpDlpLHotKXnmoTlhY3ll4U6JyxcXG5jb2xfdHlwZTondGV4dF8xJ1xcblxcbn0pO1xcbmlmKGQ0IT0nJylcXG5kNS5wdXNoKHtcXG50aXRsZTon4q2Q77iP5Lul5LiL5LiN5piv5YWN5ZeF77yM6ZyA6KaB5omL5Yqo5rWL6K+VOicsXFxuY29sX3R5cGU6J3RleHRfMSdcXG5cXG59KTtcXG59Y2F0Y2goZSl7XFxuZC5wdXNoKHtcXG50aXRsZTon5paH5Lu25o2f5Z2P77yM54K55Ye75q2k5aSE5oGi5aSNKOWmguaenOacieWkh+S7veeahOivnSknLFxcbmNvbF90eXBlOid0ZXh0X2NlbnRlcl8xJyxcXG5kZXNjOiflhYjngrnkuIDkuIvor5XkuIDor5XlkKcnLFxcbnVybDpgaGlrZXI6Ly9lbXB0eUBsYXp5UnVsZT0uanM6d3JpdGVGaWxlKCdgK3BhdGgrYCcscmVhZEZpbGUoJ3NhdmUudHh0JykpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/miafooYzmiJDlip/vvIEnYFxcbn0pO1xcbn1cXG5kPWQuY29uY2F0KGQxKS5jb25jYXQoZDMpLmNvbmNhdChkMikuY29uY2F0KGQ1KS5jb25jYXQoZDQpO1xcblxcclxcbnJlcy5kYXRhID0gZDtcXHJcXG5zZXRIb21lUmVzdWx0KHJlcyk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmkJzntKJcIixcInBhdGhcIjpcInNvLmh0bWxcIixcInJ1bGVcIjpcImlmKGlucHV0PT0n5pCc57Si5YiG57uEJyl7YGlucHV0Oi8ve1xcXCJoaW50XFxcIjon6L6T5YWl5YiG57uE5ZCN56ew77yaJyxcXFwianNcXFwiOlxcXCJhPVtdO2FbMF09MDthWzFdPWlucHV0O2lmKGFbMV0hPScnKXtzZT0naGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagvc2V0LnR4dCc7dmFyIGZpPUpTT04ucGFyc2UoZmV0Y2goc2Use30pKTtmaS5zbz1hO3dyaXRlRmlsZShzZSxKU09OLnN0cmluZ2lmeShmaSkpO3JlZnJlc2hQYWdlKGZhbHNlKTt9XFxcIn1gfVxcbmVsc2V7YGlucHV0Oi8ve1xcXCJoaW50XFxcIjon6L6T5YWl5bCP56iL5bqP5ZCN56ew77yaJyxcXFwianNcXFwiOlxcXCJhPVtdO2FbMF09MTthWzFdPWlucHV0O2lmKGFbMV0hPScnKXtzZT0naGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagvc2V0LnR4dCc7dmFyIGZpPUpTT04ucGFyc2UoZmV0Y2goc2Use30pKTtmaS5zbz1hO3dyaXRlRmlsZShzZSxKU09OLnN0cmluZ2lmeShmaSkpO3JlZnJlc2hQYWdlKGZhbHNlKTt9XFxcIn1gfVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi566A5LuLXCIsXCJwYXRoXCI6XCJqaWFualwiLFwicnVsZVwiOlwiZnVuY3Rpb24gamlhbmooYSl7XFxucmV0dXJuIGBoaWtlcjovL2VtcHR5QHJ1bGU9anM6dmFyIHJlcyA9IHt9O3ZhciBkID0gW107ZC5wdXNoKHt0aXRsZTon566A5LuL77yaXFxcXFxcXFxuJytcXFxcYGArYStgXFxcXGAsY29sX3R5cGU6J2xvbmdfdGV4dCd9KTtyZXMuZGF0YSA9IGQ7c2V0SG9tZVJlc3VsdChyZXMpO2BcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLliIbnsbtcIixcInBhdGhcIjpcImNsYXNzaWZ5XCIsXCJydWxlXCI6XCJqczpcXG5kPVtdO1xcbnB1dFZhcign5YiG57G7JywnJyk7XFxudmFyIHBhdGg9XFxcImhpa2VyOi8vZmlsZXMv55Wq5Ymn5pu05paw6KGoL+aIkeeahOi/veeVqi50eHRcXFwiO1xcbnZhciBmaWxlPXJlcXVlc3QocGF0aCk7XFxuaWYoZmlsZSE9XFxcIlxcXCIpe1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOlxcXCLmk43kvZzor7TmmI7vvJpcXFwiLFxcbiAgICBkZXNjOlxcXCLlhYjpgInmi6nmlL7liLDkuIDkuKrliIbnu4TnmoTnlarliafvvIzngrnlh7vlrozmiJDvvIzovpPlhaXlkI3np7DljbPlj6/vvIFcXFwiLFxcbiAgICBjb2xfdHlwZTpcXFwidGV4dF8xXFxcIixcXG4gICAgZXh0cmE6e2lkOifmraXpqqQnfVxcblxcbn0pO1xcbnZhciB4eD1maWxlLnNwbGl0KCdAQCcpLmZpbHRlcihhPT57cmV0dXJuIGEhPVxcXCJcXFwiO30pO1xcbnZhciBhcnI9eHgubWFwKGE9PntcXG4gICAgdmFyIGI9e307XFxudmFyIGNhdGU9YS5zcGxpdChcXFwiJiZcXFwiKTtcXG4gICAgdmFyIHQ9Y2F0ZVswXTtcXG50aT10O1xcbmlmKGNhdGVbNF0mJmNhdGVbNF0hPVxcXCJcXFwiKXRpPSfigJjigJgnK3QrJ+KAmeKAmSc7XFxuICAgIGIudGl0bGU9dGk7XFxuICAgIGIudXJsPVxcXCJoaWtlcjovL2VtcHR5I25vTG9hZGluZyNAbGF6eVJ1bGU9LmpzOnZhciBhPWdldFZhcign5YiG57G7JywnJyk7dmFyIGI9MDthPWE9PScnP1tdOkpTT04ucGFyc2UoYSk7YT1hLmZpbHRlcihpPT57aWYoaT09J1xcXCIrdCtcXFwiJyl7Yj0xO31lbHNle3JldHVybiBpO319KTtpZihiPT0wKWEucHVzaCgnXFxcIit0K1xcXCInKTtwdXRWYXIoJ+WIhuexuycsYSk7dXBkYXRlSXRlbSh7dGl0bGU6Yj09MD8oJ+KAnOKAnFxcXCIrdCtcXFwi4oCd4oCdJyk6KCdcXFwiK3RpK1xcXCInKSxleHRyYTp7aWQ6J1xcXCIrdCtcXFwiJ319KTsoJ3RvYXN0Oi8vJysoYj09MD8n5bey6YCJ5Lit77yBJzon5Y+W5raI6YCJ5Lit77yBJykpXFxcIjtcXG4gICAgYi5jb2xfdHlwZT1cXFwidGV4dF8yXFxcIjtcXG4gICAgYi5leHRyYT17aWQ6dH07XFxuICAgIHJldHVybiBiO1xcbn0pO1xcbmQ9ZC5jb25jYXQoYXJyKTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTpcXFwi5a6M5oiQXFxcIixcXG4gICAgY29sX3R5cGU6XFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICB1cmw6YGlucHV0Oi8ve1xcXCJoaW50XFxcIjpcXFwi5YiG57uE5ZCN56ewLi4uLi4uXFxcIiwgXFxcImpzXFxcIjogXFxcInZhciBmaT1gK0pTT04uc3RyaW5naWZ5KHh4KS5yZXBsYWNlKC9cXFwiL2csXFxcIidcXFwiKStgO3ZhciBhPWdldFZhcign5YiG57G7JywnJyk7YT1hPT0nJz9bXTpKU09OLnBhcnNlKGEpO2ZvcihsZXQgaSBvZiBhKXtmb3IobGV0IGogaW4gZmkpe3ZhciBjYXRlPWZpW2pdLnNwbGl0KCcmJicpO3ZhciB0aT1jYXRlWzBdO2lmKHRpPT1pKXtjYXRlWzRdPWlucHV0O2ZpW2pdPWNhdGUuam9pbignJiYnKTticmVhazt9fX13cml0ZUZpbGUoJ2ArcGF0aCtgJyxmaS5qb2luKCdAQCcpKydAQCcpO3JlZnJlc2hQYWdlKCk7J3RvYXN0Oi8v5a6M5oiQISdcXFwifWBcXG59KVxcblxcblxcbn1lbHNle1xcbiAgICBkLnB1c2goe1xcbiAgICB0aXRsZTpcXFwi5rKh5pyJ6L+955Wq44CC44CC44CCXFxcIixcXG4gICAgZGVzYzpcXFwi6K+35YWI5re75Yqg6L+955Wq5YaN6K+V77yB77yBXFxcIixcXG4gICAgY29sX3R5cGU6XFxcInRleHRfY2VudGVyXzFcXFwiXFxufSk7XFxufVxcblxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIui/veeVquWIhue7hFwiLFwicGF0aFwiOlwiemZmelwiLFwicnVsZVwiOlwicHV0VmFyKCdqbCcscGFyc2VJbnQoZ2V0VmFyKCdqbCcsJzAnKSwxMCktMSk7XFxuXFxudmFyIGlucD1nZXRWYXIoJ3VybDEnKS5zcGxpdCgnJiYnKTtpbnBbNF09aW5wdXQ7aW5wPWlucC5qb2luKCcmJicpO1xcblxcbnZhciB4cj1pbnArJ0BAJytmZXRjaCgnaGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagv5oiR55qE6L+955WqLnR4dCcse30pO1xcblxcbndyaXRlRmlsZSgnaGlrZXI6Ly9maWxlcy/nlarliafmm7TmlrDooagv5oiR55qE6L+955WqLnR4dCcseHIpO1xcblxcbnJlZnJlc2hQYWdlKGZhbHNlKTtcXG5cXG4ndG9hc3Q6Ly/ov73nlarmiJDlip/vvIEnO1wifV0iLCJpY29uIjoiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vdmllLzExOS5zdmcifQ==
Add Comment
Please, Sign In to add comment