Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@Base64(TUlTU0FW)@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiQmFzZTY0KFRVbFRVMEZXKSIsImF1dGhvciI6IkFyaXNlIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIiwidmVyc2lvbiI6MSwiY29sX3R5cGUiOiJtb3ZpZV8zIiwiY2xhc3NfbmFtZSI6IiIsInR5cGUiOiJvdGhlciIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxuJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpLmJhc2VQYXJzZSgpXG4iLCJzZWFyY2hfdXJsIjoiaHR0cHM6Ly9taXNzYXYuY29tL2NuL3NlYXJjaC8qKj9wYWdlPWZ5cGFnZTtnZXQ7VVRGLTg7e1VzZXItQWdlbnRATW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCl9IiwiZ3JvdXAiOiLinKgiLCJzZWFyY2hGaW5kIjoianM6XG4kLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJykuc2VhcmNoUGFyc2UoKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6InJlZ2lzdGVyRE5TKHtcbiAgICBcImh0dHBzOi8vbWlzc2F2LndzL2NuL1wiOiBcImh0dHBzOi8vZG5zLmdvb2dsZS9kbnMtcXVlcnlcIlxufSkiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwibWlzc1wiLFwicGF0aFwiOlwibWlzc1wiLFwicnVsZVwiOlwiY29uc3QgbWlzcyA9IHtcXG4gICAgZW1wdHk6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgdXJsOiAnaHR0cHM6Ly9taXNzYXYud3MvY24vJyxcXG4gICAgZDogW10sXFxuICAgIHRhc2tMaXN0OiBbXSxcXG4gICAgZGF0YToge1xcbiAgICAgICAgY2F0ZWdvcnk6IGdldE15VmFyKCdNaXNzQVYuY2F0ZWdvcnknLCAnMCcpLFxcbiAgICAgICAgc3ViQ2F0ZTogZ2V0TXlWYXIoJ01pc3NBVi5zdWJDYXRlJywgJzAnKSxcXG4gICAgfSxcXG4gICAgYmFzZVBhcnNlOiAoKSA9PiB7XFxuICAgICAgICBjb25zdCBwYWdlID0gcGFyc2VJbnQoTVlfVVJMLnNwbGl0KCcjIycpWzFdKVxcbiAgICAgICAgbGV0IGNhdGVnb3J5TGlzdCA9IFt7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5LuK5pel54Ot6ZeoJyxcXG4gICAgICAgICAgICAgICAgcGF0aDogJ3RvZGF5LWhvdCcsXFxuICAgICAgICAgICAgICAgIHR5cGU6ICd2aWRlbycsXFxuICAgICAgICAgICAgICAgIHN1YjogW11cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmnKzpgLHng63pl6gnLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAnd2Vla2x5LWhvdCcsXFxuICAgICAgICAgICAgICAgIHR5cGU6ICd2aWRlbycsXFxuICAgICAgICAgICAgICAgIHN1YjogW11cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmnKzmnIjng63pl6gnLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAnbW9udGhseS1ob3QnLFxcbiAgICAgICAgICAgICAgICB0eXBlOiAndmlkZW8nLFxcbiAgICAgICAgICAgICAgICBzdWI6IFtdXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5Lit5paH5a2X5bmVJyxcXG4gICAgICAgICAgICAgICAgcGF0aDogJ2NoaW5lc2Utc3VidGl0bGUnLFxcbiAgICAgICAgICAgICAgICB0eXBlOiAndmlkZW8nLFxcbiAgICAgICAgICAgICAgICBzdWI6IFtdXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5pyA6L+R5pu05pawJyxcXG4gICAgICAgICAgICAgICAgcGF0aDogJ25ldycsXFxuICAgICAgICAgICAgICAgIHR5cGU6ICd2aWRlbycsXFxuICAgICAgICAgICAgICAgIHN1YjogW11cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmlrDkvZzkuIrluIInLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAncmVsZWFzZScsXFxuICAgICAgICAgICAgICAgIHR5cGU6ICd2aWRlbycsXFxuICAgICAgICAgICAgICAgIHN1YjogW11cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfntKDkuronLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAnJyxcXG4gICAgICAgICAgICAgICAgdHlwZTogJ3ZpZGVvJyxcXG4gICAgICAgICAgICAgICAgc3ViOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnU0lSTycsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3Npcm8nXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnTFVYVScsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ2x1eHUnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnR0FOQScsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ2dhbmEnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnUFJFU1RJR0UgUFJFTUlVTScsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ21hYW4nXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnUy1DVVRFJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnc2N1dGUnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQVJBJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnYXJhJ1xcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgXVxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+aXoOeggScsXFxuICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxcbiAgICAgICAgICAgICAgICB0eXBlOiAndmlkZW8nLFxcbiAgICAgICAgICAgICAgICBzdWI6IFt7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfml6DnoIHmtYHlh7onLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICd1bmNlbnNvcmVkLWxlYWsnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRkMyJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnZmMyJ1xcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0hFWVpPICcsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ2hleXpvJ1xcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+S4nOS6rOeDrScsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3Rva3lvaG90J1xcbiAgICAgICAgICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5LiA5pys6YGTJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnMXBvbmRvJ1xcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0NhcmliYmVhbmNvbScsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ2NhcmliYmVhbmNvbSdcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdDYXJpYmJlYW5jb21wcicsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ2NhcmliYmVhbmNvbXByJ1xcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJzEwbXVzdW1lJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnMTBtdXN1bWUnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAncGFjb3BhY29tYW1hJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAncGFjb3BhY29tYW1hJ1xcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0dhY2hpbmNvJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnZ2FjaGluY28nXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnWFhYLUFWJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAneHh4YXYnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5Lq65aa75papJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnbWFycmllZHNsYXNoJ1xcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mhveeariA0NjEwJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnbmF1Z2h0eTQ2MTAnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6aG955quIDA5MzAnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICduYXVnaHR5MDkzMCdcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgIF1cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICflm73kuqcgQVYnLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAnJyxcXG4gICAgICAgICAgICAgICAgdHlwZTogJ3ZpZGVvJyxcXG4gICAgICAgICAgICAgICAgc3ViOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6bq76LGG5Lyg5aqSJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnbWFkb3UnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnVFdBVicsXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3R3YXYnXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdGdXJ1a2UnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICdmdXJ1a2UnXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICBdXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnVlInLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAnZ2VucmVzL1ZSJyxcXG4gICAgICAgICAgICAgICAgdHlwZTogJ3ZpZGVvJyxcXG4gICAgICAgICAgICAgICAgc3ViOiBbXVxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0FWIOW9seivhCcsXFxuICAgICAgICAgICAgICAgIHBhdGg6ICdhcnRpY2xlcycsXFxuICAgICAgICAgICAgICAgIHR5cGU6ICdhcnRpY2xlcycsXFxuICAgICAgICAgICAgICAgIHN1YjogW11cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICflpbPkvJjkuIDop4gnLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAnYWN0cmVzc2VzJyxcXG4gICAgICAgICAgICAgICAgdHlwZTogJ2F2YXRhcicsXFxuICAgICAgICAgICAgICAgIHN1YjogW11cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICflpbPkvJjmjpLooYwnLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAnYWN0cmVzc2VzL3JhbmtpbmcnLFxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXZhdGFyJyxcXG4gICAgICAgICAgICAgICAgc3ViOiBbXVxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+exu+WeiycsXFxuICAgICAgICAgICAgICAgIHBhdGg6ICdnZW5yZXMnLFxcbiAgICAgICAgICAgICAgICB0eXBlOiAndGFncycsXFxuICAgICAgICAgICAgICAgIHN1YjogW11cXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICflj5HooYzllYYnLFxcbiAgICAgICAgICAgICAgICBwYXRoOiAnbWFrZXJzJyxcXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RhZ3MnLFxcbiAgICAgICAgICAgICAgICBzdWI6IFtdXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+abtOWkmicsXFxuICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxcbiAgICAgICAgICAgICAgICB0eXBlOiAndmlkZW8nLFxcbiAgICAgICAgICAgICAgICBzdWI6IFt7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ05qYXYnLFxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogJ3NpdGUvbmphdicsXFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAndmlkZW8nLFxcbiAgICAgICAgICAgICAgICAgICAgc3ViOiBbXVxcbiAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1N1cGphdicsXFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnc2l0ZS9zdXBqYXYnLFxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3ZpZGVvJyxcXG4gICAgICAgICAgICAgICAgICAgIHN1YjogW11cXG4gICAgICAgICAgICAgICAgfSwgXVxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICBdXFxuICAgICAgICBjb25zdCBjdXJyZW50Q2F0ZSA9IGNhdGVnb3J5TGlzdFttaXNzLmRhdGEuY2F0ZWdvcnldXFxuICAgICAgICBsZXQgdXJsXFxuICAgICAgICBjb25zdCB0eXBlID0gY3VycmVudENhdGUudHlwZVxcbiAgICAgICAgY29uc3QgcGF0aCA9IGN1cnJlbnRDYXRlLnBhdGhcXG4gICAgICAgIGlmIChjdXJyZW50Q2F0ZS5zdWIubGVuZ3RoID4gMCkge1xcbiAgICAgICAgICAgIHVybCA9IG1pc3MudXJsICsgY3VycmVudENhdGUuc3ViW21pc3MuZGF0YS5zdWJDYXRlXS5wYXRoXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHVybCA9IG1pc3MudXJsICsgY3VycmVudENhdGUucGF0aFxcbiAgICAgICAgfVxcbiAgICAgICAgdXJsICs9ICc/cGFnZT0nICsgcGFnZVxcbiAgICAgICAgaWYgKHBhZ2UgPT09IDEpIHtcXG4gICAgICAgICAgICBjYXRlZ29yeUxpc3QuZm9yRWFjaCgoY2F0ZSwgaW5kZXgpID0+IHtcXG4gICAgICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlSW50KG1pc3MuZGF0YS5jYXRlZ29yeSkgPT09IGluZGV4ID9cXG4gICAgICAgICAgICAgICAgICAgICAgICAn4oCY4oCY4oCZ4oCZPHN0cm9uZz48Zm9udCBjb2xvcj1cXFwiI2ZmMTQ5M1xcXCI+JyArIGNhdGUudGl0bGUgKyAnPC9mb250Pjwvc3Ryb25nPicgOiBjYXRlLnRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKG1pc3MuZW1wdHkpLmxhenlSdWxlKChpbmRleCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJNaXNzQVYuY2F0ZWdvcnlcXFwiLCBpbmRleC50b1N0cmluZygpKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJNaXNzQVYuc3ViQ2F0ZVxcXCIsICcwJylcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH0sIGluZGV4KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBpZiAoY3VycmVudENhdGUuc3ViLmxlbmd0aCA+IDApIHtcXG4gICAgICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgIGN1cnJlbnRDYXRlLnN1Yi5mb3JFYWNoKChjYXRlLCBpbmRleCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwYXJzZUludChtaXNzLmRhdGEuc3ViQ2F0ZSkgPT09IGluZGV4ID9cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ+KAmOKAmOKAmeKAmTxzdHJvbmc+PGZvbnQgY29sb3I9XFxcIiNmZjE0OTNcXFwiPicgKyBjYXRlLnRpdGxlICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvZm9udD48L3N0cm9uZz4nIDogY2F0ZS50aXRsZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICQobWlzcy5lbXB0eSkubGF6eVJ1bGUoKGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJNaXNzQVYuc3ViQ2F0ZVxcXCIsIGluZGV4LnRvU3RyaW5nKCkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBpbmRleCksXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgICAgY29uc3QgaHRtbCA9IGZldGNoKHVybCwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSlcXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xcbiAgICAgICAgICAgIGNhc2UgJ3ZpZGVvJzpcXG4gICAgICAgICAgICAgICAgbWlzcy52aWRlb1R5cGUoaHRtbClcXG4gICAgICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgICAgICBjYXNlICdhcnRpY2xlcyc6XFxuICAgICAgICAgICAgICAgIG1pc3MuYXJ0aWNsZXNUeXBlKGh0bWwpXFxuICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgY2FzZSAnYXZhdGFyJzpcXG4gICAgICAgICAgICAgICAgaWYgKChwYXRoID09PSAnYWN0cmVzc2VzL3JhbmtpbmcnICYmIHBhZ2UgPT09IDEpIHx8IHBhdGggIT09ICdhY3RyZXNzZXMvcmFua2luZycpIHtcXG4gICAgICAgICAgICAgICAgICAgIG1pc3MuYXZhdGFyVHlwZShodG1sKVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgY2FzZSAndGFncyc6XFxuICAgICAgICAgICAgICAgIG1pc3MudGFnc1R5cGUoaHRtbClcXG4gICAgICAgICAgICAgICAgYnJlYWtcXG4gICAgICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgICAgICBtaXNzLnZpZGVvVHlwZShodG1sKVxcbiAgICAgICAgfVxcbiAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgfSxcXG5cXG5cXG4gICAgc2VhcmNoUGFyc2U6ICgpID0+IHtcXG4gICAgICAgIGlmIChNWV9VUkwuaW5jbHVkZXMoXFxcInBhZ2U9MVxcXCIpKSB7XFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogXFxcIuKcqOWls+S8mOKcqFxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgbWlzcy5hdmF0YXJUeXBlKGdldFJlc0NvZGUoKSk7XFxuXFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogXFxcIuKcqOW9seeJh+KcqFxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgbWlzcy52aWRlb1R5cGUyKGdldFJlc0NvZGUoKSk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIG1pc3MudmlkZW9UeXBlKGdldFJlc0NvZGUoKSk7XFxuICAgICAgICB9XFxuICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcbiAgICB9LFxcblxcblxcbiAgICB2aWRlb1BhcnNlOiAodXJsKSA9PiB7XFxuICAgICAgICBjb25zdCBodG1sID0gZmV0Y2godXJsLCB7XFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAnVXNlci1BZ2VudCc6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKSdcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICAgICAgY29uc3QgdGl0bGUgPSBwZGZoKGh0bWwsICdoMSYmVGV4dCcpXFxuXFxuICAgICAgICBzZXRQYWdlVGl0bGUodGl0bGUpXFxuXFxuXFxuICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICfigJzigJzigJ3igJ0nICsgdGl0bGUuc21hbGwoKSxcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxuICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgbGluZVZpc2lhYmxlOiBmYWxzZVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgZGVzYzogcGRmaChodG1sLCAnLnRleHQtc2Vjb25kYXJ5LmJyZWFrLWFsbC5saW5lLWNsYW1wLTImJlRleHQnKSxcXG4gICAgICAgICAgICBwaWNfdXJsOiBwZGZoKGh0bWwsICdtZXRhW3Byb3BlcnR5PW9nOmltYWdlXSYmY29udGVudCcpICsgJ0BSZWZlcmVyPScgKyBtaXNzLnVybCxcXG4gICAgICAgICAgICB1cmw6ICQobWlzcy5lbXB0eSArICcjbm9IaXN0b3J5IycpLmxhenlSdWxlKChodG1sLCB1cmwpID0+IHtcXG4gICAgICAgICAgICAgICAgZXZhbChodG1sLm1hdGNoKC9ldmFsLio/XFxcXG4vKVswXSlcXG4gICAgICAgICAgICAgICAgLy8g6I635Y+W55S76LSo5YiX6KGo77yM5bm25Y675pyA6auY55S76LSoXFxuICAgICAgICAgICAgICAgIGxldCBncm91cF9xdWFsaXR5ID0gZmV0Y2goc291cmNlLCB7XFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm9yaWdpblxcXCI6IFxcXCJodHRwczovL21pc3Nhdi5jb21cXFwiXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgIGhnaGVzdF9xdWFsaXR5ID0gZ3JvdXBfcXVhbGl0eS5tYXRjaCgvXiguKilcXFxcLm0zdTgkL2dtKS5tYXAodiA9PiBzb3VyY2UucmVwbGFjZShcXFwicGxheWxpc3QubTN1OFxcXCIsIHYpKS5yZXZlcnNlKClcXG4gICAgICAgICAgICAgICAgbmFtZV9xdWFsaXR5ID0gZ3JvdXBfcXVhbGl0eS5tYXRjaCgvUkVTT0xVVElPTj0uKiQvZ20pLm1hcChuID0+IG4ucmVwbGFjZShcXFwiUkVTT0xVVElPTj1cXFwiLCBcXFwiXFxcIikpLnJldmVyc2UoKVxcbiAgICAgICAgICAgICAgICBsZXQgcGxheWxpc3QgPSB7XFxuICAgICAgICAgICAgICAgICAgICB1cmxzOiBoZ2hlc3RfcXVhbGl0eSxcXG4gICAgICAgICAgICAgICAgICAgIG5hbWVzOiBuYW1lX3F1YWxpdHksXFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgQXJyYXkoaGdoZXN0X3F1YWxpdHkubGVuZ3RoKS5maWxsKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWZlcmVyOiB1cmxcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5bGlzdDtcXG4gICAgICAgICAgICB9LCBodG1sLCBtaXNzLnVybCksXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdwaWNfMV9mdWxsJyxcXG4gICAgICAgIH0pXFxuICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHBkZmgoaHRtbCwgJy50ZXh0LXNlY29uZGFyeS5icmVhay1hbGwubGluZS1jbGFtcC0yJiZUZXh0Jykuc21hbGwoKSxcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcsXFxuICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgbGluZVZpc2lhYmxlOiBmYWxzZVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuXFxuICAgICAgICBjb25zdCB0ZXh0X3NlY29uZGFyeV9saXN0ID0gcGRmYShodG1sLCAnYm9keSYmLnRleHQtc2Vjb25kYXJ5JylcXG4gICAgICAgIGxldCBudW0sIGFjdHJlc3Nlc0xpc3QsIHRhZ3NMaXN0LCBzZXJpZXMsIG1ha2VycywgZGlyZWN0b3JzLCBsYWJlbHNMaXN0XFxuICAgICAgICB0ZXh0X3NlY29uZGFyeV9saXN0LmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgbGV0IGN1cnJlbnRfdGl0bGUgPSBwZGZoKGl0ZW0sICdzcGFuJiZUZXh0JylcXG4gICAgICAgICAgICBsZXQgYWN0cmVzc05hbWUgPSAn5aWz5LyYJ1xcbiAgICAgICAgICAgIGlmIChjdXJyZW50X3RpdGxlID09PSAn55Wq5Y+3OicpIHtcXG4gICAgICAgICAgICAgICAgbnVtID0gcGRmaChpdGVtLCAnLmZvbnQtbWVkaXVtJiZUZXh0JylcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09IGFjdHJlc3NOYW1lICsgJzonKSB7XFxuICAgICAgICAgICAgICAgIGFjdHJlc3Nlc0xpc3QgPSBwZGZhKGl0ZW0sICcudGV4dC1zZWNvbmRhcnkmJmEnKVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudF90aXRsZSA9PT0gJ+exu+WeizonKSB7XFxuICAgICAgICAgICAgICAgIHRhZ3NMaXN0ID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfns7vliJc6Jykge1xcbiAgICAgICAgICAgICAgICBzZXJpZXMgPSBwZGZhKGl0ZW0sICcudGV4dC1zZWNvbmRhcnkmJmEnKVswXVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudF90aXRsZSA9PT0gJ+WPkeihjOWVhjonKSB7XFxuICAgICAgICAgICAgICAgIG1ha2VycyA9IHBkZmEoaXRlbSwgJy50ZXh0LXNlY29uZGFyeSYmYScpWzBdXFxuICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50X3RpdGxlID09PSAn5a+85ryUOicpIHtcXG4gICAgICAgICAgICAgICAgZGlyZWN0b3JzID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylbMF1cXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdGl0bGUgPT09ICfmoIfnsaQ6Jykge1xcbiAgICAgICAgICAgICAgICBsYWJlbHNMaXN0ID0gcGRmYShpdGVtLCAnLnRleHQtc2Vjb25kYXJ5JiZhJylcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICAgICAgaWYgKG51bSkge1xcbiAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfnlarlj7cnLFxcbiAgICAgICAgICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IG51bSxcXG4gICAgICAgICAgICAgICAgdXJsOiAnY29weTovLycgKyBudW0sXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgICAgIGlmIChhY3RyZXNzZXNMaXN0KSB7XFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+a8lOWRmCcsXFxuICAgICAgICAgICAgICAgIHVybDogbWlzcy5lbXB0eSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgYWN0cmVzc2VzTGlzdC5mb3JFYWNoKChhY3RyZXNzZXMsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCB0aXRsZSA9IHBkZmgoYWN0cmVzc2VzLCAnYSYmVGV4dCcpXFxuICAgICAgICAgICAgICAgIGxldCB1cmwgPSBwZGZoKGFjdHJlc3NlcywgJ2EmJmhyZWYnKVxcbiAgICAgICAgICAgICAgICBtaXNzLnRhc2tMaXN0LnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgZnVuYzogbWlzcy51cGRhdGVBdmF0YXIsXFxuICAgICAgICAgICAgICAgICAgICBwYXJhbToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiAnYXZhdGFyXycgKyBpbmRleFxcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgIGlkOiAnYXZhdGFyXycgKyBpbmRleCxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgcGljX3VybDogbWlzcy5lbXB0eSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJCh1cmwgKyAnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKCh0aXRsZSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRQYWdlVGl0bGUodGl0bGUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgbWlzcy5hdmF0YXJQYXJzZShNWV9VUkwpXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgICAgICAgICAgICAgIH0sIHRpdGxlKSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnYXZhdGFyJyxcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdhdmF0YXJfJyArIGluZGV4LFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgICAgIGlmICh0YWdzTGlzdCkge1xcbiAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfnsbvlnosnLFxcbiAgICAgICAgICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIHRhZ3NMaXN0LmZvckVhY2godGFnID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHRhZ190aXRsZSA9IHBkZmgodGFnLCAnYSYmVGV4dCcpXFxuICAgICAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0YWdfdGl0bGUsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQocGRmaCh0YWcsICdhJiZocmVmJykgKyAnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKCh0YWdfdGl0bGUpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFnZVRpdGxlKHRhZ190aXRsZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBtaXNzLnRhZ3NQYXJzZShNWV9VUkwpXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgICAgICAgICAgICAgIH0sIHRhZ190aXRsZSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuXFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgICAgIGlmIChzZXJpZXMpIHtcXG4gICAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn57O75YiXJyxcXG4gICAgICAgICAgICAgICAgdXJsOiBtaXNzLmVtcHR5LFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBsZXQgc2VyaWVzX3RpdGxlID0gcGRmaChzZXJpZXMsICdhJiZUZXh0JylcXG4gICAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBzZXJpZXNfdGl0bGUsXFxuICAgICAgICAgICAgICAgIHVybDogJChwZGZoKHNlcmllcywgJ2EmJmhyZWYnKSArICc/cGFnZT1meXBhZ2Ujbm9IaXN0b3J5IycpLnJ1bGUoKHNlcmllc190aXRsZSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcbiAgICAgICAgICAgICAgICAgICAgc2V0UGFnZVRpdGxlKHNlcmllc190aXRsZSlcXG4gICAgICAgICAgICAgICAgICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTClcXG4gICAgICAgICAgICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxuICAgICAgICAgICAgICAgIH0sIHNlcmllc190aXRsZSksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKG1ha2Vycykge1xcbiAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICflj5HooYzllYYnLFxcbiAgICAgICAgICAgICAgICB1cmw6IG1pc3MuZW1wdHksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGxldCBtYWtlcnNfdGl0bGUgPSBwZGZoKG1ha2VycywgJ2EmJlRleHQnKVxcbiAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IG1ha2Vyc190aXRsZSxcXG4gICAgICAgICAgICAgICAgdXJsOiAkKHBkZmgobWFrZXJzLCAnYSYmaHJlZicpICsgJz9wYWdlPWZ5cGFnZSNub0hpc3RvcnkjJykucnVsZSgobWFrZXJzX3RpdGxlKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxuICAgICAgICAgICAgICAgICAgICBzZXRQYWdlVGl0bGUobWFrZXJzX3RpdGxlKVxcbiAgICAgICAgICAgICAgICAgICAgbWlzcy50YWdzUGFyc2UoTVlfVVJMKVxcbiAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgICAgICAgICAgfSwgbWFrZXJzX3RpdGxlKSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9XFxuICAgICAgICBpZiAoZGlyZWN0b3JzKSB7XFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+WvvOa8lCcsXFxuICAgICAgICAgICAgICAgIHVybDogbWlzcy5lbXB0eSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgbGV0IGRpcmVjdG9yc190aXRsZSA9IHBkZmgoZGlyZWN0b3JzLCAnYSYmVGV4dCcpXFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogZGlyZWN0b3JzX3RpdGxlLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQocGRmaChkaXJlY3RvcnMsICdhJiZocmVmJykgKyAnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKChkaXJlY3RvcnNfdGl0bGUpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXG4gICAgICAgICAgICAgICAgICAgIHNldFBhZ2VUaXRsZShkaXJlY3RvcnNfdGl0bGUpXFxuICAgICAgICAgICAgICAgICAgICBtaXNzLnRhZ3NQYXJzZShNWV9VUkwpXFxuICAgICAgICAgICAgICAgICAgICBzZXRSZXN1bHQobWlzcy5kKVxcbiAgICAgICAgICAgICAgICB9LCBkaXJlY3RvcnNfdGl0bGUpLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgICAgIGlmIChsYWJlbHNMaXN0KSB7XFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+agh+etvicsXFxuICAgICAgICAgICAgICAgIHVybDogbWlzcy5lbXB0eSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgbGFiZWxzTGlzdC5mb3JFYWNoKGxhYmVsID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IGxhYmVsX3RpdGxlID0gcGRmaChsYWJlbCwgJ2EmJlRleHQnKVxcbiAgICAgICAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogbGFiZWxfdGl0bGUsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQocGRmaChsYWJlbCwgJ2EmJmhyZWYnKSArICc/cGFnZT1meXBhZ2Ujbm9IaXN0b3J5IycpLnJ1bGUoKFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsX3RpdGxlKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFBhZ2VUaXRsZShsYWJlbF90aXRsZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBtaXNzLnRhZ3NQYXJzZShNWV9VUkwpXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgICAgICAgICAgICAgIH0sIGxhYmVsX3RpdGxlKSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICB9LFxcblxcblxcbiAgICBhdmF0YXJQYXJzZTogKHVybCkgPT4ge1xcbiAgICAgICAgY29uc3QgaHRtbCA9IGZldGNoKHVybCwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSlcXG4gICAgICAgIG1pc3MudmlkZW9UeXBlKGh0bWwpXFxuICAgIH0sXFxuXFxuXFxuICAgIHRhZ3NQYXJzZTogKHVybCkgPT4ge1xcbiAgICAgICAgY29uc3QgaHRtbCA9IGZldGNoKHVybCwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSlcXG4gICAgICAgIG1pc3MudmlkZW9UeXBlKGh0bWwpXFxuICAgIH0sXFxuXFxuXFxuICAgIHZpZGVvVHlwZTogKGh0bWwpID0+IHtcXG4gICAgICAgIGNvbnN0IGxpc3QgPSBwZGZhKGh0bWwsICcuZ3JpZCYmLnJlbGF0aXZlJylcXG4gICAgICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICcubG96YWQmJmFsdCcpLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQocGRmaChpdGVtLCAnYSYmaHJlZicpICsgJyNub0hpc3RvcnkjJykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxuICAgICAgICAgICAgICAgICAgICBtaXNzLnZpZGVvUGFyc2UoTVlfVVJMKVxcbiAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgICAgICAgICAgICAgIGlmIChtaXNzLnRhc2tMaXN0Lmxlbmd0aCA+IDApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBiZShtaXNzLnRhc2tMaXN0KVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgcGljX3VybDogcGRmaChpdGVtLCAnLmxvemFkJiZkYXRhLXNyYycpLnJlcGxhY2UoXFxcImNvdmVyLXRcXFwiLCBcXFwiY292ZXItblxcXCIpICsgJ0BSZWZlcmVyPScgKyBtaXNzLnVybCxcXG4gICAgICAgICAgICAgICAgZGVzYzogcGRmaChpdGVtLCAnYSYmYWx0JykudG9VcHBlckNhc2UoKSArIFxcXCLij7BcXFwiICsgcGRmaChpdGVtLCAnLmFic29sdXRlJiZUZXh0JyksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnbW92aWVfMidcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSlcXG4gICAgfSxcXG5cXG5cXG4gICAgdmlkZW9UeXBlMjogKGh0bWwpID0+IHtcXG4gICAgICAgIGNvbnN0IGxpc3QgPSBwZGZhKGh0bWwsICdib2R5JiYudGh1bWJuYWlsJylcXG4gICAgICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICcubG96YWQmJmFsdCcpLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQocGRmaChpdGVtLCAnYSYmaHJlZicpICsgJyNub0hpc3RvcnkjJykucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbWlzcycpXFxuICAgICAgICAgICAgICAgICAgICBtaXNzLnZpZGVvUGFyc2UoTVlfVVJMKVxcbiAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgICAgICAgICAgICAgIGlmIChtaXNzLnRhc2tMaXN0Lmxlbmd0aCA+IDApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBiZShtaXNzLnRhc2tMaXN0KVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgcGljX3VybDogcGRmaChpdGVtLCAnLmxvemFkJiZkYXRhLXNyYycpLnJlcGxhY2UoXFxcImNvdmVyLXRcXFwiLCBcXFwiY292ZXItblxcXCIpICsgJ0BSZWZlcmVyPScgKyBtaXNzLnVybCxcXG4gICAgICAgICAgICAgICAgZGVzYzogcGRmaChpdGVtLCAnYSYmYWx0JykudG9VcHBlckNhc2UoKSArIFxcXCLij7BcXFwiICsgcGRmaChpdGVtLCAnLmFic29sdXRlJiZUZXh0JyksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnbW92aWVfMidcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSlcXG4gICAgfSxcXG5cXG4gICAgYXJ0aWNsZXNUeXBlOiAoaHRtbCkgPT4ge1xcbiAgICAgICAgY29uc3QgbGlzdCA9IHBkZmEoaHRtbCwgJy5ncmlkJiYucm91bmRlZC1sZycpXFxuICAgICAgICBsaXN0LmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgbWlzcy5kLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnaW1nJiZhbHQnKSxcXG4gICAgICAgICAgICAgICAgdXJsOiAkKHBkZmgoaXRlbSwgJ2EmJmhyZWYnKSArICcjbm9IaXN0b3J5IycpLnJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWlzcyA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL21pc3MnKVxcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaHRtbCA9IGZldGNoKE1ZX1VSTCwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCknXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogcGRmaChodG1sLCAnYXJ0aWNsZSYmSHRtbCcpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcbiAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxuICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICBwaWNfdXJsOiBwZGZoKGl0ZW0sICdpbWcmJmRhdGEtc3JjJykgKyAnQFJlZmVyZXI9JyArIG1pc3MudXJsLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzInXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgIH0sXFxuXFxuXFxuICAgIGF2YXRhclR5cGU6IChodG1sKSA9PiB7XFxuICAgICAgICBjb25zdCBsaXN0ID0gcGRmYShodG1sLCAnLm14LWF1dG8uZ3JpZCYmbGknKVxcbiAgICAgICAgbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgIG1pc3MuZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJ2g0JiZUZXh0JyksXFxuICAgICAgICAgICAgICAgIHVybDogJChwZGZoKGl0ZW0sICdhJiZocmVmJykgKyAnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXG4gICAgICAgICAgICAgICAgICAgIG1pc3MuYXZhdGFyUGFyc2UoTVlfVVJMKVxcbiAgICAgICAgICAgICAgICAgICAgc2V0UmVzdWx0KG1pc3MuZClcXG4gICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgJy50ZXh0LW5vcmQxMCYmVGV4dCcpLFxcbiAgICAgICAgICAgICAgICBwaWNfdXJsOiBwZGZoKGl0ZW0sICdpbWcmJnNyYycpICsgJ0BSZWZlcmVyPScgKyBtaXNzLnVybCxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdpY29uX3JvdW5kXzQnXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgIH0sXFxuXFxuXFxuICAgIHRhZ3NUeXBlOiAoaHRtbCkgPT4ge1xcbiAgICAgICAgY29uc3QgbGlzdCA9IHBkZmEoaHRtbCwgJy5nYXAtNCYmZGl2JylcXG4gICAgICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICBtaXNzLmQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICdhJiZUZXh0JyksXFxuICAgICAgICAgICAgICAgIHVybDogJChwZGZoKGl0ZW0sICdhJiZocmVmJykgKyAnP3BhZ2U9ZnlwYWdlI25vSGlzdG9yeSMnKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pc3MgPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9taXNzJylcXG4gICAgICAgICAgICAgICAgICAgIG1pc3MudGFnc1BhcnNlKE1ZX1VSTClcXG4gICAgICAgICAgICAgICAgICAgIHNldFJlc3VsdChtaXNzLmQpXFxuICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfNCdcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSlcXG4gICAgfSxcXG5cXG5cXG4gICAgdXBkYXRlQXZhdGFyOiAocGFyYW0pID0+IHtcXG4gICAgICAgIGNvbnN0IGFjdHJlc3Nlc0h0bWwgPSBmZXRjaChwYXJhbS51cmwsIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICdVc2VyLUFnZW50JzogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApJ1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuICAgICAgICB1cGRhdGVJdGVtKHtcXG4gICAgICAgICAgICBwaWNfdXJsOiBwZGZoKGFjdHJlc3Nlc0h0bWwsICcub2JqZWN0LWNvdmVyLm9iamVjdC10b3Audy1mdWxsLmgtZnVsbCYmc3JjJyksXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgIGlkOiBwYXJhbS5pbmRleFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuICAgIH0sXFxufVxcbiQuZXhwb3J0cyA9IG1pc3NcIn1dIiwiaWNvbiI6Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS95dWFud2FuZ29ray0xL0hpS2VyL3JlZnMvaGVhZHMvbWFpbi90dWJpYW8tbWFpbi9lcmRpLzEucG5nIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment