{"remainingRequest":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\EventRegistration\\components\\ScopeClassify\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\EventRegistration\\components\\ScopeClassify\\index.vue","mtime":1755157700793},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQge2dldERpY3Rpb25hcnlCeUNvZGV9IGZyb20gJ0AvdXRpbHMvZGljdGlvbmFyeScNCmltcG9ydCB7cmVmaW5lUmVxdWVzdEJvZHl9IGZyb20gJ0AvdXRpbHMvcmVxdWVzdFdyYXBwZXJzJw0KaW1wb3J0IHt0YWJsZURhdGF9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9pbmZvTWdtdFBhdHJvbHNSZXNjdWVzL2Fsb25nUm91dGVJbmZvJw0KaW1wb3J0IHt0YWJsZURhdGEgYXMgdHVubmVsRGF0YX0gZnJvbSAnQC9hcGkvcGF0cm9sQW5kUmVzY3VlL2luZm9NZ210UGF0cm9sc1Jlc2N1ZXMvdHVubmVsSW5mbycNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnU2NvcGVDbGFzc2lmeScsDQogIHByb3BzOiB7DQogICAgdHlwZTogew0KICAgICAgZGVmYXVsdDogJzEnLA0KICAgICAgdHlwZTogU3RyaW5nDQogICAgfSwNCiAgICByb2FkSWQ6IHsNCiAgICAgIGRlZmF1bHQ6ICcnLA0KICAgICAgdHlwZTogU3RyaW5nDQogICAgfSwNCiAgICBwaWxlTnVtYmVyUmFuZ2U6IHsNCiAgICAgIGRlZmF1bHQ6ICcnLA0KICAgICAgdHlwZTogU3RyaW5nDQogICAgfSwNCiAgICBpbmZvOiB7DQogICAgICBkZWZhdWx0OiAoKSA9PiB7DQogICAgICB9LA0KICAgICAgdHlwZTogT2JqZWN0DQogICAgfQ0KICB9LA0KICBkYXRhKCkgew0KICAgIC8vIOiHquWumuS5iemqjOivgeinhOWIme+8muacieWAvOaXtuW/hemhu+WcqOiMg+WbtOWGhQ0KICAgIGNvbnN0IHZhbGlkYXRlUmFuZ2UxID0gKCkgPT4gew0KICAgICAgcmV0dXJuIChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsNCiAgICAgICAgaWYgKHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWcgPT09IHVuZGVmaW5lZCAmJiB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnQWRkID09PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICBjYWxsYmFjaygpDQogICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNWYWx1ZUluUmFuZ2UodGhpcy5jb21iaW5lZFZhbHVlMSwgdGhpcy5zdGFydFZhbHVlLCB0aGlzLmVuZFZhbHVlKSkgew0KICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWcgPSB1bmRlZmluZWQNCiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnQWRkID0gdW5kZWZpbmVkDQogICAgICAgICAgdGhpcy5wbGFjZURhdGEuc3RhcnRQZWcgPSAnJw0KICAgICAgICAgIGNvbnN0IHBsYWNlRGF0YSA9IHRoaXMuZm9ybWF0UGFsY2VEYXRhKCkNCiAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCBwbGFjZURhdGEpDQogICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKGDmiYDloavlhpnnmoTmoanlj7fkuI3lnKgke3RoaXMuc3RhcnRWYWx1ZX0tJHt0aGlzLmVuZFZhbHVlfeiMg+WbtOWGhWApKQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGNhbGxiYWNrKCkNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgICBjb25zdCB2YWxpZGF0ZVJhbmdlMiA9ICgpID0+IHsNCiAgICAgIHJldHVybiAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICAgIGlmICh0aGlzLmFkZEVkaXRGb3JtLmVuZFBlZyA9PT0gdW5kZWZpbmVkICYmIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID09PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICBjYWxsYmFjaygpDQogICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNWYWx1ZUluUmFuZ2UodGhpcy5jb21iaW5lZFZhbHVlMiwgdGhpcy5zdGFydFZhbHVlLCB0aGlzLmVuZFZhbHVlKSkgew0KICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnID0gdW5kZWZpbmVkDQogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWdBZGQgPSB1bmRlZmluZWQNCiAgICAgICAgICB0aGlzLnBsYWNlRGF0YS5lbmRQZWcgPSAnJw0KICAgICAgICAgIGNvbnN0IHBsYWNlRGF0YSA9IHRoaXMuZm9ybWF0UGFsY2VEYXRhKCkNCiAgICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCBwbGFjZURhdGEpDQogICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKGDmiYDloavlhpnnmoTmoanlj7fkuI3lnKgke3RoaXMuc3RhcnRWYWx1ZX0tJHt0aGlzLmVuZFZhbHVlfeiMg+WbtOWGhWApKQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGNhbGxiYWNrKCkNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gew0KICAgICAgLy/moanlj7cNCiAgICAgIG51bWJlclN0YXRpb25EYXRhOiBbXSwNCiAgICAgIC8vIOaUtui0ueermQ0KICAgICAgdG9sbFN0YXRpb25EYXRhOiBbXSwNCiAgICAgIC8vIOmap+mBkw0KICAgICAgdHVubmVsRGF0YTogW10sDQogICAgICAvLyDkupLpgJrnq4vkuqQNCiAgICAgIGdyYWRlT3ZlckRhdGE6IFtdLA0KICAgICAgLy8g5pyN5Yqh5Yy6DQogICAgICBzZXJ2aWNlQXJlYURhdGE6IFtdLA0KICAgICAgYWRkRWRpdEZvcm06IHsNCiAgICAgICAgc3RhcnRQZWc6IHVuZGVmaW5lZCwNCiAgICAgICAgc3RhcnRQZWdBZGQ6IHVuZGVmaW5lZCwNCiAgICAgICAgZW5kUGVnOiB1bmRlZmluZWQsDQogICAgICAgIGVuZFBlZ0FkZDogdW5kZWZpbmVkLA0KICAgICAgICBzdGFydFBhdHJvbElkOiAnJywNCiAgICAgICAgZW5kUGF0cm9sSWQ6ICcnLA0KICAgICAgICBwbGFjZURldGFpbDogW10sDQogICAgICAgIHN3elBsYWNlRGV0YWlsOiBbXSwNCiAgICAgICAgbGpQbGFjZURldGFpbDogW10sDQogICAgICAgIHNkUGxhY2VEZXRhaWw6IFtdLA0KICAgICAgICBmd3FQbGFjZURldGFpbDogW10NCiAgICAgIH0sDQogICAgICBydWxlczogew0KICAgICAgICBzdGFydFBlZzogW3t2YWxpZGF0b3I6IHZhbGlkYXRlUmFuZ2UxKCksIHRyaWdnZXI6ICdibHVyJ31dLA0KICAgICAgICBlbmRQZWc6IFt7dmFsaWRhdG9yOiB2YWxpZGF0ZVJhbmdlMigpLCB0cmlnZ2VyOiAnYmx1cid9XQ0KICAgICAgfSwNCiAgICAgIHBsYWNlRGF0YToge30sDQogICAgICBzdGFydFZhbHVlOiAwLA0KICAgICAgZW5kVmFsdWU6IDANCg0KICAgIH0NCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICBjb21iaW5lZFZhbHVlMSgpIHsNCiAgICAgIHJldHVybiBwYXJzZUZsb2F0KGAke3RoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWd9LiR7U3RyaW5nKHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWdBZGQpLnBhZFN0YXJ0KDMsICcwJyl9YCkgfHwgMA0KICAgIH0sDQogICAgY29tYmluZWRWYWx1ZTIoKSB7DQogICAgICByZXR1cm4gcGFyc2VGbG9hdChgJHt0aGlzLmFkZEVkaXRGb3JtLmVuZFBlZ30uJHtTdHJpbmcodGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWdBZGQpLnBhZFN0YXJ0KDMsICcwJyl9YCkgfHwgMA0KICAgIH0NCiAgfSwNCiAgd2F0Y2g6IHsNCiAgICB0eXBlOiB7DQogICAgICBoYW5kbGVyKG5ld1ZhbCwgb2xkVmFsKSB7DQogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWcgPSB1bmRlZmluZWQNCiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCA9IHVuZGVmaW5lZA0KICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBlZyA9IHVuZGVmaW5lZA0KICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBlZ0FkZCA9IHVuZGVmaW5lZA0KICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQgPSAnJw0KICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBhdHJvbElkID0gJycNCiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5wbGFjZURldGFpbCA9IFtdDQogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3d6UGxhY2VEZXRhaWwgPSBbXQ0KICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmxqUGxhY2VEZXRhaWwgPSBbXQ0KICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnNkUGxhY2VEZXRhaWwgPSBbXQ0KICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmZ3cVBsYWNlRGV0YWlsID0gW10NCiAgICAgIH0sDQogICAgICBpbW1lZGlhdGU6IHRydWUNCiAgICB9LA0KICAgIHJvYWRJZDogew0KICAgICAgaGFuZGxlcihuZXdWYWwsIG9sZFZhbCkgew0KICAgICAgICBpZiAobmV3VmFsKSB7DQogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZyA9IHVuZGVmaW5lZA0KICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWdBZGQgPSB1bmRlZmluZWQNCiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBlZyA9IHVuZGVmaW5lZA0KICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID0gdW5kZWZpbmVkDQogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBhdHJvbElkID0gJycNCiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBhdHJvbElkID0gJycNCiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnBsYWNlRGV0YWlsID0gW10NCiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN3elBsYWNlRGV0YWlsID0gW10NCiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmxqUGxhY2VEZXRhaWwgPSBbXQ0KICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc2RQbGFjZURldGFpbCA9IFtdDQogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5md3FQbGFjZURldGFpbCA9IFtdDQogICAgICAgICAgdGhpcy5nZXRBbG9uZ1JvdXRlSW5mbyhuZXdWYWwpDQogICAgICAgICAgdGhpcy5nZXRUdW5uZWxEYXRhKG5ld1ZhbCkNCiAgICAgICAgICB0aGlzLnBhcnNlU3RyaW5nKCkNCiAgICAgICAgfQ0KICAgICAgfSwNCiAgICAgIGRlZXA6IHRydWUsIC8vIOW8gOWQr+a3seW6puebkeWQrA0KICAgICAgaW1tZWRpYXRlOiB0cnVlDQogICAgfQ0KICB9LA0KICBtZXRob2RzOiB7DQogICAgZ2V0RGljdGlvbmFyeUJ5Q29kZSwNCiAgICAvL+aVkeaPtOWQjOatpQ0KICAgIHJlc2N1ZVN5bmNocm9uaXphdGlvbihkYXRhKSB7DQogICAgICBpZiAoZGF0YS5wZWdWYWwpIHsNCiAgICAgICAgbGV0IHN0YXJ0UGVnQXJyID0gZGF0YS5wZWdWYWwuc3BsaXQoJysnKQ0KICAgICAgICB0aGlzLiRzZXQodGhpcy5hZGRFZGl0Rm9ybSwgJ3N0YXJ0UGVnJywgc3RhcnRQZWdBcnJbMF0uc2xpY2UoMSkpDQogICAgICAgIHRoaXMuJHNldCh0aGlzLmFkZEVkaXRGb3JtLCAnc3RhcnRQZWdBZGQnLCBzdGFydFBlZ0FyclsxXSkNCiAgICAgIH0NCiAgICAgIGlmIChkYXRhLnN0YXJ0UGF0cm9sSWQpIHsNCiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBhdHJvbElkID0gZGF0YS5zdGFydFBhdHJvbElkDQogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQYXRyb2xOYW1lID0gZGF0YS5zdGFydFBhdHJvbE5hbWUNCiAgICAgIH0NCiAgICAgIGlmIChkYXRhLmVuZFBhdHJvbElkKSB7DQogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGF0cm9sSWQgPSBkYXRhLmVuZFBhdHJvbElkDQogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGF0cm9sTmFtZSA9IGRhdGEuZW5kUGF0cm9sTmFtZQ0KICAgICAgfQ0KICAgIH0sDQogICAgcGFyc2VTdHJpbmcoKSB7DQogICAgICBpZiAodGhpcy5waWxlTnVtYmVyUmFuZ2UpIHsNCiAgICAgICAgY29uc3QgbWF0Y2ggPSB0aGlzLnBpbGVOdW1iZXJSYW5nZS5tYXRjaCgvXltrS10oXGQrKSg/OlwrKFxkezEsM30pKT9+W2tLXShcZCspKD86XCsoXGR7MSwzfSkpPyQvKQ0KICAgICAgICB0aGlzLnN0YXJ0VmFsdWUgPSBwYXJzZUZsb2F0KGAke21hdGNoWzFdfS4ke1N0cmluZyhtYXRjaFsyXSkucGFkU3RhcnQoMywgJzAnKX1gKSB8fCAwDQogICAgICAgIHRoaXMuZW5kVmFsdWUgPSBwYXJzZUZsb2F0KGAke21hdGNoWzNdfS4ke1N0cmluZyhtYXRjaFs0XSkucGFkU3RhcnQoMywgJzAnKX1gKSB8fCAwDQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLnN0YXJ0VmFsdWUgPSAwDQogICAgICAgIHRoaXMuZW5kVmFsdWUgPSBOdW1iZXIuTUFYX1ZBTFVFDQogICAgICB9DQogICAgfSwNCiAgICBpc1ZhbHVlSW5SYW5nZSh2YWx1ZSwgYm91bmQxLCBib3VuZDIpIHsNCiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInIHx8IGlzTmFOKHZhbHVlKSkgcmV0dXJuIGZhbHNlDQogICAgICBpZiAoIVN0cmluZyh2YWx1ZSkuaW5jbHVkZXMoJy4nKSkgcmV0dXJuIHRydWUNCiAgICAgIGNvbnN0IFttaW4sIG1heF0gPSBbTWF0aC5taW4oYm91bmQxLCBib3VuZDIpLCBNYXRoLm1heChib3VuZDEsIGJvdW5kMildDQogICAgICByZXR1cm4gdmFsdWUgPj0gbWluICYmIHZhbHVlIDw9IG1heA0KICAgIH0sDQogICAgc3RhcnRQZWdDaGFuZ2UodmFsKSB7DQogICAgICBpZiAodGhpcy5pc1ZhbHVlSW5SYW5nZSh0aGlzLmNvbWJpbmVkVmFsdWUxLCB0aGlzLnN0YXJ0VmFsdWUsIHRoaXMuZW5kVmFsdWUpKSB7DQogICAgICAgIHRoaXMucGxhY2VEYXRhLnN0YXJ0UGVnID0gdmFsDQogICAgICAgIGNvbnN0IHBsYWNlRGF0YSA9IHRoaXMuZm9ybWF0UGFsY2VEYXRhKCkNCiAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgcGxhY2VEYXRhKQ0KICAgICAgfQ0KICAgIH0sDQogICAgc3RhcnRQZWdBZGRDaGFuZ2UodmFsKSB7DQogICAgICBpZiAodGhpcy5pc1ZhbHVlSW5SYW5nZSh0aGlzLmNvbWJpbmVkVmFsdWUxLCB0aGlzLnN0YXJ0VmFsdWUsIHRoaXMuZW5kVmFsdWUpKSB7DQogICAgICAgIHRoaXMucGxhY2VEYXRhLnN0YXJ0UGVnQWRkID0gdmFsDQogICAgICAgIGNvbnN0IHBsYWNlRGF0YSA9IHRoaXMuZm9ybWF0UGFsY2VEYXRhKCkNCiAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgcGxhY2VEYXRhKQ0KICAgICAgfQ0KICAgIH0sDQogICAgZW5kUGVnQ2hhbmdlKHZhbCkgew0KICAgICAgaWYgKHRoaXMuaXNWYWx1ZUluUmFuZ2UodGhpcy5jb21iaW5lZFZhbHVlMiwgdGhpcy5zdGFydFZhbHVlLCB0aGlzLmVuZFZhbHVlKSkgew0KICAgICAgICB0aGlzLnBsYWNlRGF0YS5lbmRQZWcgPSB2YWwNCiAgICAgICAgY29uc3QgcGxhY2VEYXRhID0gdGhpcy5mb3JtYXRQYWxjZURhdGEoKQ0KICAgICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCBwbGFjZURhdGEpDQogICAgICB9DQogICAgfSwNCiAgICBlbmRQZWdBZGRDaGFuZ2UodmFsKSB7DQogICAgICBpZiAodGhpcy5pc1ZhbHVlSW5SYW5nZSh0aGlzLmNvbWJpbmVkVmFsdWUyLCB0aGlzLnN0YXJ0VmFsdWUsIHRoaXMuZW5kVmFsdWUpKSB7DQogICAgICAgIHRoaXMucGxhY2VEYXRhLmVuZFBlZ0FkZCA9IHZhbA0KICAgICAgICBjb25zdCBwbGFjZURhdGEgPSB0aGlzLmZvcm1hdFBhbGNlRGF0YSgpDQogICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHBsYWNlRGF0YSkNCiAgICAgIH0NCiAgICB9LA0KICAgIGZvcm1hdFBhbGNlRGF0YSgpIHsNCiAgICAgIGNvbnN0IHsNCiAgICAgICAgc3RhcnRQZWcgPSAnJywNCiAgICAgICAgc3RhcnRQZWdBZGQgPSAnJywNCiAgICAgICAgZW5kUGVnID0gJycsDQogICAgICAgIGVuZFBlZ0FkZCA9ICcnLA0KICAgICAgICBzdGFydFBhdHJvbCA9ICcnLA0KICAgICAgICBlbmRQYXRyb2wgPSAnJywNCiAgICAgICAgcGxhY2VEZXRhaWwgPSBbXQ0KICAgICAgfSA9IHRoaXMucGxhY2VEYXRhDQogICAgICBsZXQgc3RhcnQgPSBzdGFydFBlZw0KICAgICAgICA/ICdLJyArIHN0YXJ0UGVnICsgKHN0YXJ0UGVnQWRkICE9PSAnJyA/ICcrJyArIHN0YXJ0UGVnQWRkIDogJycpDQogICAgICAgIDogJycNCiAgICAgIGxldCBlbmQgPSBlbmRQZWcgPyAnSycgKyBlbmRQZWcgKyAoZW5kUGVnQWRkICE9PSAnJyA/ICcrJyArIGVuZFBlZ0FkZCA6ICcnKSA6ICcnDQogICAgICBpZiAodGhpcy50eXBlID09PSAnMScpIHsNCiAgICAgICAgcmV0dXJuICgNCiAgICAgICAgICAoc3RhcnRQYXRyb2wgPyBzdGFydFBhdHJvbCA6ICcnKSArDQogICAgICAgICAgKGVuZFBhdHJvbCA/ICfoh7MnICsgZW5kUGF0cm9sIDogJycpICsNCiAgICAgICAgICAoc3RhcnQgPyAnJyArIHN0YXJ0IDogJycpICsNCiAgICAgICAgICAoZW5kID8gJy0nICsgZW5kIDogJycpDQogICAgICAgICkNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiBgICR7cGxhY2VEZXRhaWwuam9pbign44CBJyl9YA0KICAgICAgfQ0KICAgIH0sDQogICAgLy8g5qC55o2u6Lev5q615p+l6K+i5rK/57q/5L+h5oGvDQogICAgYXN5bmMgZ2V0QWxvbmdSb3V0ZUluZm8ocm9hZElkKSB7DQogICAgICB0cnkgew0KICAgICAgICBjb25zdCBkYXRhID0gew0KICAgICAgICAgIHBhZ2VCZWFuOiB7cGFnZVNpemU6IC0xLCBwYWdlOiAxLCB0b3RhbDogMH0sDQogICAgICAgICAgcXVlcnlzOiBbDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgIG9wZXJhdGlvbjogJ0lOJywNCiAgICAgICAgICAgICAgcHJvcGVydHk6ICdyb2FkU2VnbWVudElkJywNCiAgICAgICAgICAgICAgdmFsdWU6IHJvYWRJZA0KICAgICAgICAgICAgfQ0KICAgICAgICAgIF0NCiAgICAgICAgfQ0KICAgICAgICBjb25zdCB7dG90YWwgPSAwLCByb3dzID0gW119ID0gYXdhaXQgdGFibGVEYXRhKHJlZmluZVJlcXVlc3RCb2R5KGRhdGEpKQ0KICAgICAgICAvL+ahqeWPtw0KICAgICAgICB0aGlzLm51bWJlclN0YXRpb25EYXRhID0gcm93cy5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICczJyB8fCBpdGVtLnR5cGUgPT09ICcxJyB8fCBpdGVtLnR5cGUgPT09ICcxMScpDQogICAgICAgIC8vIOaUtui0ueermQ0KICAgICAgICB0aGlzLnRvbGxTdGF0aW9uRGF0YSA9IHJvd3MuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnMycgfHwgaXRlbS50eXBlID09PSAnMScpDQogICAgICAgIC8vIOeri+S6pA0KICAgICAgICB0aGlzLmdyYWRlT3ZlckRhdGEgPSByb3dzLmZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA8IDMpDQogICAgICAgIC8vIOacjeWKoeWMug0KICAgICAgICB0aGlzLnNlcnZpY2VBcmVhRGF0YSA9IHJvd3MuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnNCcpDQogICAgICB9IGZpbmFsbHkgew0KICAgICAgfQ0KICAgIH0sDQogICAgLy8g5qC55o2u6Lev5q615p+l6K+i6Zqn6YGT5L+h5oGvDQogICAgYXN5bmMgZ2V0VHVubmVsRGF0YShyb2FkSWQpIHsNCiAgICAgIHRyeSB7DQogICAgICAgIGNvbnN0IGRhdGEgPSB7DQogICAgICAgICAgcGFnZUJlYW46IHtwYWdlU2l6ZTogLTEsIHBhZ2U6IDEsIHRvdGFsOiAwfSwNCiAgICAgICAgICBxdWVyeXM6IFsNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgb3BlcmF0aW9uOiAnSU4nLA0KICAgICAgICAgICAgICBwcm9wZXJ0eTogJ3JvYWRTZWdtZW50SWQnLA0KICAgICAgICAgICAgICB2YWx1ZTogcm9hZElkDQogICAgICAgICAgICB9DQogICAgICAgICAgXQ0KICAgICAgICB9DQogICAgICAgIGNvbnN0IHt0b3RhbCA9IDAsIHJvd3MgPSBbXX0gPSBhd2FpdCB0dW5uZWxEYXRhKHJlZmluZVJlcXVlc3RCb2R5KGRhdGEpKQ0KICAgICAgICAvLyDpmqfpgZMNCiAgICAgICAgdGhpcy50dW5uZWxEYXRhID0gcm93cw0KICAgICAgICAvLyDmoLnmja5uYW1l5Y676YeNDQogICAgICAgIHRoaXMudHVubmVsRGF0YSA9IHRoaXMudHVubmVsRGF0YS5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50KSA9PiB7DQogICAgICAgICAgY29uc3QgeCA9IGFjY3VtdWxhdG9yLmZpbmQoaXRlbSA9PiBpdGVtLm5hbWUgPT09IGN1cnJlbnQubmFtZSkNCiAgICAgICAgICBpZiAoIXgpIHsNCiAgICAgICAgICAgIHJldHVybiBhY2N1bXVsYXRvci5jb25jYXQoW2N1cnJlbnRdKQ0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICByZXR1cm4gYWNjdW11bGF0b3INCiAgICAgICAgICB9DQogICAgICAgIH0sIFtdKQ0KICAgICAgfSBmaW5hbGx5IHsNCiAgICAgIH0NCiAgICB9LA0KICAgIG51bWJlckNoYW5nZShlLCB0eXBlKSB7DQogICAgICBsZXQgc2l0ZUluZm8gPSB0aGlzLm51bWJlclN0YXRpb25EYXRhLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBlKQ0KICAgICAgdGhpcy5hZGRFZGl0Rm9ybVtgJHt0eXBlfU5hbWVgXSA9IHNpdGVJbmZvLm5hbWUNCiAgICAgIHRoaXMucGxhY2VEYXRhW3R5cGVdID0gc2l0ZUluZm8ubmFtZQ0KICAgICAgY29uc3QgcGxhY2VEYXRhID0gdGhpcy5mb3JtYXRQYWxjZURhdGEoKQ0KICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgcGxhY2VEYXRhKQ0KICAgIH0sDQogICAgc2l0ZUNoYW5nZShlLCB0eXBlKSB7DQogICAgICBsZXQgc2l0ZUluZm8gPSB0aGlzLnRvbGxTdGF0aW9uRGF0YS5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gZSkNCiAgICAgIHRoaXMuYWRkRWRpdEZvcm1bYCR7dHlwZX1OYW1lYF0gPSBzaXRlSW5mby5uYW1lDQogICAgICB0aGlzLnBsYWNlRGF0YVt0eXBlXSA9IHNpdGVJbmZvLm5hbWUNCiAgICAgIGNvbnN0IHBsYWNlRGF0YSA9IHRoaXMuZm9ybWF0UGFsY2VEYXRhKCkNCiAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHBsYWNlRGF0YSkNCiAgICB9LA0KICAgIC8vIOaUtui0ueermQ0KICAgIHRvbGxTdGF0aW9uQ2hhbmdlKCkgew0KICAgICAgdGhpcy5wbGFjZURhdGEucGxhY2VEZXRhaWwgPSB0aGlzLmFkZEVkaXRGb3JtLnN3elBsYWNlRGV0YWlsDQogICAgICBjb25zdCBwbGFjZURhdGEgPSB0aGlzLmZvcm1hdFBhbGNlRGF0YSgpDQogICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCBwbGFjZURhdGEpDQogICAgfSwNCiAgICAvLyDpmqfpgZMNCiAgICB0dW5uZWxDaGFuZ2UoKSB7DQogICAgICB0aGlzLnBsYWNlRGF0YS5wbGFjZURldGFpbCA9IHRoaXMuYWRkRWRpdEZvcm0uc2RQbGFjZURldGFpbA0KICAgICAgY29uc3QgcGxhY2VEYXRhID0gdGhpcy5mb3JtYXRQYWxjZURhdGEoKQ0KICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgcGxhY2VEYXRhKQ0KICAgIH0sDQogICAgLy8g56uL5LqkDQogICAgZ3JhZGVPdmVyQ2hhbmdlKGUpIHsNCiAgICAgIHRoaXMucGxhY2VEYXRhLnBsYWNlRGV0YWlsID0gdGhpcy5hZGRFZGl0Rm9ybS5salBsYWNlRGV0YWlsDQogICAgICBjb25zdCBwbGFjZURhdGEgPSB0aGlzLmZvcm1hdFBhbGNlRGF0YSgpDQogICAgICB0aGlzLiRlbWl0KCdjaGFuZ2UnLCBwbGFjZURhdGEpDQogICAgfSwNCiAgICAvLyDmnI3liqHljLoNCiAgICBzZXJ2aWNlQXJlYUNoYW5nZSgpIHsNCiAgICAgIHRoaXMucGxhY2VEYXRhLnBsYWNlRGV0YWlsID0gdGhpcy5hZGRFZGl0Rm9ybS5md3FQbGFjZURldGFpbA0KICAgICAgY29uc3QgcGxhY2VEYXRhID0gdGhpcy5mb3JtYXRQYWxjZURhdGEoKQ0KICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgcGxhY2VEYXRhKQ0KICAgIH0sDQoNCiAgICBzZW5kRGF0YShmbGFnID0gdHJ1ZSkgew0KICAgICAgY29uc3Qgew0KICAgICAgICBwbGFjZU5hbWUsDQogICAgICAgIHBsYWNlRGV0YWlsLA0KICAgICAgICBzdGFydFBlZywNCiAgICAgICAgc3RhcnRQZWdBZGQsDQogICAgICAgIGVuZFBlZywNCiAgICAgICAgZW5kUGVnQWRkLA0KICAgICAgICBzdGFydFBhdHJvbElkLA0KICAgICAgICBzdGFydFBhdHJvbE5hbWUsDQogICAgICAgIGVuZFBhdHJvbElkLA0KICAgICAgICBlbmRQYXRyb2xOYW1lDQogICAgICB9ID0gdGhpcy5hZGRFZGl0Rm9ybQ0KDQogICAgICBsZXQgcGVnU1ZhbCA9ICcnDQogICAgICBsZXQgcGVnRVZhbCA9ICcnDQogICAgICBpZiAoKHN0YXJ0UGVnICE9PSAnJyAmJiBzdGFydFBlZyAhPT0gdW5kZWZpbmVkKSAmJiAoc3RhcnRQZWdBZGQgIT09ICcnICYmIHN0YXJ0UGVnQWRkICE9PSB1bmRlZmluZWQpKSB7DQogICAgICAgIHBlZ1NWYWwgPSAnaycgKyAoc3RhcnRQZWcgIT09ICcnID8gc3RhcnRQZWcgOiAnJykgKyAnKycgKyAoc3RhcnRQZWdBZGQgIT09ICcnID8gc3RhcnRQZWdBZGQgOiAnJykNCiAgICAgIH0NCiAgICAgIGlmICgoZW5kUGVnICE9PSAnJyAmJiBlbmRQZWcgIT09IHVuZGVmaW5lZCkgJiYgKGVuZFBlZ0FkZCAhPT0gJycgJiYgZW5kUGVnQWRkICE9PSB1bmRlZmluZWQpKSB7DQogICAgICAgIHBlZ0VWYWwgPSAnaycgKyAoZW5kUGVnICE9PSAnJyA/IGVuZFBlZyA6ICcnKSArICcrJyArIChlbmRQZWdBZGQgIT09ICcnID8gZW5kUGVnQWRkIDogJycpDQogICAgICB9DQoNCiAgICAgIGlmICh0aGlzLnR5cGUgPT0gJzEnKSB7DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgcGVnU1ZhbCwNCiAgICAgICAgICBwZWdFVmFsLA0KICAgICAgICAgIHN0YXJ0UGF0cm9sSWQsDQogICAgICAgICAgc3RhcnRQYXRyb2xOYW1lLA0KICAgICAgICAgIGVuZFBhdHJvbElkLA0KICAgICAgICAgIGVuZFBhdHJvbE5hbWUNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgbGV0IG5hbWUgPSB0aGlzLnR5cGUgPT0gJzMnID8gJ3NkJyA6IHRoaXMudHlwZSA9PSAnNCcgPyAnbGonIDogdGhpcy50eXBlID09ICcyJyA/ICdzd3onIDogJ2Z3cScNCiAgICAgICAgbGV0IGFycmF5ID0gW10NCiAgICAgICAgaWYgKHRoaXMuYWRkRWRpdEZvcm1bYCR7bmFtZX1QbGFjZURldGFpbGBdLmxlbmd0aCA+IDApIHsNCiAgICAgICAgICAvL3N3elBsYWNlRGV0YWlsLXRvbGxTdGF0aW9uRGF0YSAgc2RQbGFjZURldGFpbC10dW5uZWxEYXRhICBsalBsYWNlRGV0YWlsLWdyYWRlT3ZlckRhdGEgIGZ3cVBsYWNlRGV0YWlsLXNlcnZpY2VBcmVhRGF0YQ0KICAgICAgICAgIGNvbnN0IGRhdGFTb3VyY2VNYXAgPSB7DQogICAgICAgICAgICAnMic6IHtzb3VyY2U6ICd0b2xsU3RhdGlvbkRhdGEnLCBmaWVsZDogJ3N3elBsYWNlRGV0YWlsJ30sDQogICAgICAgICAgICAnMyc6IHtzb3VyY2U6ICd0dW5uZWxEYXRhJywgZmllbGQ6ICdzZFBsYWNlRGV0YWlsJ30sDQogICAgICAgICAgICAnNCc6IHtzb3VyY2U6ICdncmFkZU92ZXJEYXRhJywgZmllbGQ6ICdsalBsYWNlRGV0YWlsJ30sDQogICAgICAgICAgICAnNSc6IHtzb3VyY2U6ICdzZXJ2aWNlQXJlYURhdGEnLCBmaWVsZDogJ2Z3cVBsYWNlRGV0YWlsJ30NCiAgICAgICAgICB9DQogICAgICAgICAgY29uc3Qge3NvdXJjZSwgZmllbGR9ID0gZGF0YVNvdXJjZU1hcFt0aGlzLnR5cGVdDQogICAgICAgICAgYXJyYXkgPSB0aGlzLmFkZEVkaXRGb3JtW2ZpZWxkXS5tYXAoaXRlbSA9PiB7DQogICAgICAgICAgICBjb25zdCBtYXRjaGVkSXRlbXMgPSB0aGlzW3NvdXJjZV0uZmlsdGVyKGJJdGVtID0+IGJJdGVtLm5hbWUgPT09IFN0cmluZyhpdGVtKSkNCiAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgIHBsYWNlTmFtZTogaXRlbSwNCiAgICAgICAgICAgICAgcGVnU1ZhbCwNCiAgICAgICAgICAgICAgcGVnRVZhbCwNCiAgICAgICAgICAgICAgbGF0OiBtYXRjaGVkSXRlbXNbMF0/LmxhdCwNCiAgICAgICAgICAgICAgbG5nOiBtYXRjaGVkSXRlbXNbMF0/LmxuZywNCiAgICAgICAgICAgICAgZGlyZWN0aW9uOiBtYXRjaGVkSXRlbXNbMF0/LmRpcmVjdGlvbg0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFycmF5DQogICAgICB9DQogICAgfSwNCiAgICAvL+a4heepuuaVsOaNrg0KICAgIGNsZWFyQ2hhbmdlKCkgew0KICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZyA9IHVuZGVmaW5lZA0KICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCA9IHVuZGVmaW5lZA0KICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWcgPSB1bmRlZmluZWQNCiAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID0gdW5kZWZpbmVkDQogICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQgPSAnJw0KICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBhdHJvbE5hbWUgPSAnJw0KICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQYXRyb2xJZCA9ICcnDQogICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBhdHJvbE5hbWUgPSAnJw0KICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5wbGFjZURldGFpbCA9IFtdDQogICAgICB0aGlzLmFkZEVkaXRGb3JtLnN3elBsYWNlRGV0YWlsID0gW10NCiAgICAgIHRoaXMuYWRkRWRpdEZvcm0ubGpQbGFjZURldGFpbCA9IFtdDQogICAgICB0aGlzLmFkZEVkaXRGb3JtLnNkUGxhY2VEZXRhaWwgPSBbXQ0KICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5md3FQbGFjZURldGFpbCA9IFtdDQogICAgfSwNCiAgICAvLyDor6bmg4XotYvlgLxlDQogICAgZ2V0RGV0YWlsKHJvdykgew0KICAgICAgY29uc3Qgew0KICAgICAgICBwbGFjZURldGFpbCwNCiAgICAgICAgcGVnU1ZhbCwNCiAgICAgICAgcGVnRVZhbCwNCiAgICAgICAgc3RhcnRQYXRyb2xJZCwNCiAgICAgICAgc3RhcnRQYXRyb2xOYW1lLA0KICAgICAgICBlbmRQYXRyb2xJZCwNCiAgICAgICAgZW5kUGF0cm9sTmFtZQ0KICAgICAgfSA9IHJvdw0KDQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIGlmICh0aGlzLnR5cGUgPT0gJzEnKSB7DQogICAgICAgICAgbGV0IGRhdGEgPSB7DQogICAgICAgICAgICBzdGFydFBhdHJvbElkLA0KICAgICAgICAgICAgc3RhcnRQYXRyb2xOYW1lLA0KICAgICAgICAgICAgZW5kUGF0cm9sSWQsDQogICAgICAgICAgICBlbmRQYXRyb2xOYW1lDQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChwZWdTVmFsKSB7DQogICAgICAgICAgICBsZXQgc3RhcnRQZWdBcnIgPSBwZWdTVmFsLnNwbGl0KCcrJykNCiAgICAgICAgICAgIGRhdGEuc3RhcnRQZWcgPSBzdGFydFBlZ0FyclswXS5zbGljZSgxKQ0KICAgICAgICAgICAgZGF0YS5zdGFydFBlZ0FkZCA9IHN0YXJ0UGVnQXJyWzFdDQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChwZWdFVmFsKSB7DQogICAgICAgICAgICBsZXQgZW5kUGVnQXJyID0gcGVnRVZhbC5zcGxpdCgnKycpDQogICAgICAgICAgICBkYXRhLmVuZFBlZyA9IGVuZFBlZ0FyclswXS5zbGljZSgxKQ0KICAgICAgICAgICAgZGF0YS5lbmRQZWdBZGQgPSBlbmRQZWdBcnJbMV0NCiAgICAgICAgICB9DQogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybSA9IGRhdGENCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAvLyDmj5Dlj5YgcGVnU1ZhbCDlkowgcGVnRVZhbA0KICAgICAgICAgIHJvdy5wbGFjZURldGFpbCA9IEpTT04ucGFyc2Uocm93LnBsYWNlRGV0YWlsKQ0KICAgICAgICAgIGNvbnN0IHBlZ1NWYWxzID0gcm93LnBsYWNlRGV0YWlsWzBdLnBlZ1NWYWwNCiAgICAgICAgICBjb25zdCBwZWdFVmFscyA9IHJvdy5wbGFjZURldGFpbFswXS5wZWdFVmFsDQogICAgICAgICAgaWYgKHBlZ1NWYWxzKSB7DQogICAgICAgICAgICBsZXQgc3RhcnRQZWdBcnIgPSBwZWdTVmFscy5zcGxpdCgnKycpDQogICAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnID0gc3RhcnRQZWdBcnJbMF0uc2xpY2UoMSkNCiAgICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWdBZGQgPSBzdGFydFBlZ0FyclsxXQ0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAocGVnRVZhbHMpIHsNCiAgICAgICAgICAgIGxldCBlbmRQZWdBcnIgPSBwZWdFVmFscy5zcGxpdCgnKycpDQogICAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBlZyA9IGVuZFBlZ0FyclswXS5zbGljZSgxKQ0KICAgICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWdBZGQgPSBlbmRQZWdBcnJbMV0NCiAgICAgICAgICB9DQogICAgICAgICAgbGV0IG5hbWUgPSB0aGlzLnR5cGUgPT0gJzMnID8gJ3NkJyA6IHRoaXMudHlwZSA9PSAnNCcgPyAnbGonIDogdGhpcy50eXBlID09ICcyJyA/ICdzd3onIDogJ2Z3cScNCiAgICAgICAgICAvLyDlsIYgcGxhY2VEZXRhaWwg6L2s5o2i5Li65Zyw54K55ZCN56ew5pWw57uEDQogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybVtgJHtuYW1lfVBsYWNlRGV0YWlsYF0gPSByb3cucGxhY2VEZXRhaWwubWFwKHBsYWNlID0+IHBsYWNlLnBsYWNlTmFtZSkNCiAgICAgICAgfQ0KICAgICAgfSkNCiAgICB9DQogIH0NCn0NCg=="},null]}