{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\layout\\Navigator\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\layout\\Navigator\\index.vue","mtime":1731062408488},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgZGljdFV0aWxzIGZyb20gJ0AvY29tcG9uZW50cy9kaWN0L0RpY3RTZWxlY3RVdGlscy5qcycNCmltcG9ydCBIdEF2YXRhciBmcm9tICdAL2NvbXBvbmVudHMvY29tbW9uL0h0QXZhdGFyLnZ1ZScNCmltcG9ydCBOYXZpZ2F0b3JBcGkgZnJvbSAnLi4vLi4vLi4vYXBpL05hdmlnYXRvckFwaScNCmltcG9ydCBsYW5nU2VsZWN0IGZyb20gJ0AvY29tcG9uZW50cy9sYW5nU2VsZWN0L2luZGV4LnZ1ZScNCmltcG9ydCB7bWFwU3RhdGV9IGZyb20gJ3Z1ZXgnDQppbXBvcnQgTWVzc2FnZURyYXdlciBmcm9tICcuL2NvbXBvbmVudHMvTWVzc2FnZURyYXdlci52dWUnDQppbXBvcnQge0Jhc2U2NH0gZnJvbSAnanMtYmFzZTY0Jw0KaW1wb3J0IHJlcSBmcm9tICdAL3JlcXVlc3QuanMnDQppbXBvcnQgbWVudSBmcm9tICdAL2FwaS9tZW51LmpzJw0KaW1wb3J0IHVjIGZyb20gJ0AvYXBpL3VjLmpzJw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdOYXZpZ2F0b3InLA0KICBjb21wb25lbnRzOiB7SHRBdmF0YXIsIGxhbmdTZWxlY3QsIE1lc3NhZ2VEcmF3ZXJ9LA0KICBwcm9wczogWydtZW51U2hvdycsICdzaG93VG9wTWVudSddLA0KICBkYXRhKCkgew0KICAgIHZhciB2YWxpZGF0ZU5ldyA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsNCiAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHsNCiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfor7fovpPlhaXmlrDlr4bnoIEnKSkNCiAgICAgIH0NCiAgICAgIGxldCBjb25maWcgPSB0aGlzLnB3ZFN0cmF0ZWd5DQogICAgICBpZiAoY29uZmlnLmVuYWJsZSA9PSAxKSB7DQogICAgICAgIGxldCBwd2RSdWxlID0gY29uZmlnLnB3ZFJ1bGUNCiAgICAgICAgbGV0IHB3ZExlbmd0aCA9IGNvbmZpZy5wd2RMZW5ndGgNCiAgICAgICAgaWYgKHB3ZFJ1bGUpIHsNCiAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoIDwgcHdkTGVuZ3RoKSB7DQogICAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+aWsOWvhueggemVv+W6puiHs+WwkeS4uicgKyBwd2RMZW5ndGgpKQ0KICAgICAgICAgIH0gZWxzZSBpZiAocHdkUnVsZSA9PSAyKSB7DQogICAgICAgICAgICB2YXIgcmUgPSBuZXcgUmVnRXhwKCcoPz0uKlswLTldKSg/PS4qW2EtekEtWl0pJykNCiAgICAgICAgICAgIGlmICghcmUudGVzdCh2YWx1ZSkpIHsNCiAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfmlrDlr4bnoIHlv4XpobvljIXlkKvmlbDlrZfjgIHlrZfmr40nKSkNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgIGNhbGxiYWNrKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9IGVsc2UgaWYgKHB3ZFJ1bGUgPT0gMykgew0KICAgICAgICAgICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgnKD89LipbMC05XSkoPz0uKlthLXpBLVpdKSg/PS4qW15hLXpBLVowLTldKScpDQogICAgICAgICAgICBpZiAoIXJlLnRlc3QodmFsdWUpKSB7DQogICAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcign5paw5a+G56CB5b+F6aG75YyF5ZCr5pWw5a2X44CB5a2X5q+N44CB54m55q6K5a2X56ymJykpDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICBjYWxsYmFjaygpDQogICAgICAgICAgICB9DQogICAgICAgICAgfSBlbHNlIGlmIChwd2RSdWxlID09IDQpIHsNCiAgICAgICAgICAgIHZhciByZSA9IG5ldyBSZWdFeHAoDQogICAgICAgICAgICAgICcoPz0uKlswLTldKSg/PS4qW0EtWl0pKD89LipbYS16XSkoPz0uKlteYS16QS1aMC05XSknDQogICAgICAgICAgICApDQogICAgICAgICAgICBpZiAoIXJlLnRlc3QodmFsdWUpKSB7DQogICAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcign5paw5a+G56CB5b+F6aG75YyF5ZCr5pWw5a2X44CB5aSn5bCP5a2X5q+N44CB54m55q6K5a2X56ymJykpDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICBjYWxsYmFjaygpDQogICAgICAgICAgICB9DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGNhbGxiYWNrKCkNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPCA2KSB7DQogICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfmlrDlr4bnoIHplb/luqboh7PlsJHkuLo2JykpDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgY2FsbGJhY2soKQ0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICAgIHZhciB2YWxpZGF0ZW9sZCA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsNCiAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHsNCiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfor7fovpPlhaXml6flr4bnoIEnKSkNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGNhbGxiYWNrKCkNCiAgICAgIH0NCiAgICB9DQogICAgdmFyIHZhbGlkYXRlTmV3UmVhcGVhdCA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsNCiAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHsNCiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfor7flho3mrKHovpPlhaXmlrDlr4bnoIEnKSkNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGNhbGxiYWNrKCkNCiAgICAgIH0NCiAgICB9DQogICAgcmV0dXJuIHsNCiAgICAgIHJlYWRNZXNzYWdlOiAnMScsDQogICAgICBwdXJjaGFzaW5nRGV0YWlsTGlzdDogW10sDQogICAgICBwcmludERpYWxvZ1Zpc2libGU6IGZhbHNlLA0KICAgICAgY3VycmVudE1lbnU6ICdFcXVpcG1lbnQnLA0KICAgICAgbW9kaWZ5UHdkRGlhbG9nVmlzaWJsZTogZmFsc2UsDQogICAgICBwd2RGb3JtOiB7DQogICAgICAgIG9sZDogJycsDQogICAgICAgIG5ldzogJycsDQogICAgICAgIG5ld1JlcGVhdDogJycNCiAgICAgIH0sDQogICAgICBwd2RSdWxlczogew0KICAgICAgICBvbGQ6IFt7dmFsaWRhdG9yOiB2YWxpZGF0ZW9sZCwgdHJpZ2dlcjogJ2JsdXInfV0sDQogICAgICAgIG5ldzogW3t2YWxpZGF0b3I6IHZhbGlkYXRlTmV3LCB0cmlnZ2VyOiAnYmx1cid9XSwNCiAgICAgICAgbmV3UmVwZWF0OiBbe3ZhbGlkYXRvcjogdmFsaWRhdGVOZXdSZWFwZWF0LCB0cmlnZ2VyOiAnYmx1cid9XQ0KICAgICAgfSwNCiAgICAgIHNob3dNc2dEcmF3ZXI6IGZhbHNlLA0KICAgICAgbmV3TXNnTnVtOiAwDQogICAgfQ0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIHRoaXMucmVjZWl2ZVN0YXR1c0xpc3QgPSBkaWN0VXRpbHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCd5anh4anN6dCcpDQogICAgdGhpcy5sb2dnaW5nTWVzc2FnZSgpDQogIH0sDQogIGJlZm9yZU1vdW50KCkgew0KICAgIC8vIGxldCBhcnIgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKQ0KICAgIC8vIGxldCBudW0gPSBhcnIubGVuZ3RoDQogICAgLy8gdGhpcy5jdXJyZW50TWVudSA9IGFycltudW0gLSAxXQ0KICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuY3VycmVudE1lbnUsIGFycikNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICAhdGhpcy5jdXJyZW50VXNlciAmJiB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndXNlci9sb2FkQ3VycmVudFVzZXJEZXRhaWwnKQ0KICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy4kc3RvcmUuc3RhdGUubG9naW4uY3VycmVudFVzZXINCiAgICBpZiAoKCF0aGlzLmZyb250TWVudXMgfHwgdGhpcy5mcm9udE1lbnVzLmxlbmd0aCA9PSAwKSAmJiBjdXJyZW50VXNlcikgew0KICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ21lbnUvYWN0aW9uRnJvbnRNZW51cycpLnRoZW4ocmVzID0+IHsNCiAgICAgICAgdGhpcy5hY3RpdmVQYWdlKCkNCiAgICAgIH0pDQogICAgfQ0KICB9LA0KICBjb21wdXRlZDogew0KICAgIC4uLm1hcFN0YXRlKHsNCiAgICAgIGN1cnJlbnRVc2VyOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLmN1cnJlbnRVc2VyRGV0YWlsLA0KICAgICAgdG9rZW46IHN0YXRlID0+IHN0YXRlLmxvZ2luLmN1cnJlbnRVc2VyLnRva2VuLA0KICAgICAgZnJvbnRNZW51czogc3RhdGUgPT4gew0KICAgICAgICByZXR1cm4gc3RhdGUubWVudS5mcm9udE1lbnVzDQogICAgICB9LA0KICAgICAgc3lzTWVudXM6IHN0YXRlID0+IHN0YXRlLm1lbnUuc3lzTWVudXMsDQogICAgICB1c2VyVHlwZTogZnVuY3Rpb24oKSB7DQogICAgICAgIGlmICh0aGlzLmN1cnJlbnRVc2VyICYmIHRoaXMuY3VycmVudFVzZXIudXNlcikgew0KICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRVc2VyLnVzZXIudXNlclR5cGUNCiAgICAgICAgfQ0KICAgICAgfSwNCiAgICAgIHB3ZFN0cmF0ZWd5OiBzdGF0ZSA9PiBzdGF0ZS51c2VyLnB3ZFN0cmF0ZWd5DQogICAgfSkNCiAgfSwNCiAgd2F0Y2g6IHsNCiAgICAkcm91dGU6ICdhY3RpdmVQYWdlJw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgLy/np7vliqjnq6/lhaXlj6MNCiAgICBNb2JpbGVQb3J0YWwoKSB7DQogICAgICAvLyB0aGlzLiRyb3V0ZXIucHVzaCh7DQogICAgICAvLyAgIG5hbWU6ICdNb2JpbGVEZXZpY2VOYXYnLA0KICAgICAgLy8gICBxdWVyeToge2xvZ2lubmFtZTogdGhpcy4kc3RvcmUuc3RhdGUubG9naW4uY3VycmVudFVzZXIuYWNjb3VudH0NCiAgICAgIC8vIH0pDQogICAgICBsZXQgcGFnZSA9IHRoaXMuJHJvdXRlci5yZXNvbHZlKHsNCiAgICAgICAgbmFtZTogJ01vYmlsZURldmljZU5hdicsDQogICAgICAgIHF1ZXJ5OiB7bG9naW5uYW1lOiB0aGlzLiRzdG9yZS5zdGF0ZS5sb2dpbi5jdXJyZW50VXNlci5hY2NvdW50fQ0KICAgICAgfSkNCiAgICAgIC8vIGxldCBwYWdlID0gdGhpcy4kcm91dGVyLnJlc29sdmUoew0KICAgICAgLy8gICBuYW1lOiAnTW9iaWxlRW1wdHknLA0KICAgICAgLy8gICBxdWVyeToge2xvZ2lubmFtZTogJ2FkbWluJ30NCiAgICAgIC8vIH0pDQogICAgICB3aW5kb3cub3BlbihwYWdlLmhyZWYsICdfYmxhbmsnKQ0KICAgIH0sDQogICAgbG9nZ2luZ01lc3NhZ2UoKSB7DQogICAgICBsZXQgX3RoaXMgPSB0aGlzDQogICAgICBOYXZpZ2F0b3JBcGkuY21ndFdvcmtXYXJuU2VuZERldGFpbFF1ZXJ5KA0KICAgICAgICB7DQogICAgICAgICAgcXVlcnlzOiBbDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgIGdyb3VwOiAnbWFpbicsDQogICAgICAgICAgICAgIG9wZXJhdGlvbjogJ0VRVUFMJywNCiAgICAgICAgICAgICAgcGFyZW50R3JvdXA6ICcnLA0KICAgICAgICAgICAgICBwcm9wZXJ0eTogJ3JlY2VpdmVfdXNlcl8nLA0KICAgICAgICAgICAgICByZWxhdGlvbjogJ0FORCcsDQogICAgICAgICAgICAgIHZhbHVlOiAnMScNCiAgICAgICAgICAgIH0NCiAgICAgICAgICBdLA0KICAgICAgICAgIHNvcnRlcjogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICBkaXJlY3Rpb246ICdBU0MnLA0KICAgICAgICAgICAgICBwcm9wZXJ0eTogJ3JlY2VpdmVfc3RhdHVzXycNCiAgICAgICAgICAgIH0NCiAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHJlcyA9PiB7DQogICAgICAgICAgLy8gY29uc29sZS5sb2cocmVzLnJvd3MpDQogICAgICAgICAgcmVzLnJvd3MuZm9yRWFjaChpdGVtID0+IHsNCiAgICAgICAgICAgIHRoaXMucmVjZWl2ZVN0YXR1c0xpc3QuZm9yRWFjaCh2YWwgPT4gew0KICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh2YWwpDQogICAgICAgICAgICAgIGlmIChpdGVtLnJlY2VpdmVTdGF0dXMgPT0gdmFsLnZhbHVlKSB7DQogICAgICAgICAgICAgICAgaXRlbS5yZWNlaXZlU3RhdHVzID0gdmFsLm5hbWUNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIGlmIChpdGVtLnJlY2VpdmVTdGF0dXMgPT0gJzEnKSB7DQogICAgICAgICAgICAgIHRoaXMuJG5vdGlmeS5pbmZvKHsNCiAgICAgICAgICAgICAgICB0aXRsZTogJ+a2iOaBrycsDQogICAgICAgICAgICAgICAgbWVzc2FnZTogJ+aCqOacieaWsOeahOacquivu+a2iOaBrycsDQogICAgICAgICAgICAgICAgb25DbGljaygpIHsNCiAgICAgICAgICAgICAgICAgIF90aGlzLmRlZmluZUNhbGxCYWNrKCkgLy/oh6rlrprkuYnlm57osIMsbWVzc2FnZeS4uuS8oOeahOWPguaVsA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9KQ0KICAgICAgICAgIHRoaXMucHVyY2hhc2luZ0RldGFpbExpc3QgPSByZXMucm93cw0KICAgICAgICB9DQogICAgICApDQogICAgfSwNCiAgICAvL+a2iOaBr+iusOW9leaMiemSrg0KICAgIGxvZ2dpbmdNZXNzYWdlQnRuKCkgew0KICAgICAgdGhpcy5wcmludERpYWxvZ1Zpc2libGUgPSB0cnVlDQogICAgfSwNCiAgICBhbHJlYWR5UmVhZE1lc3NhZ2UoKSB7DQogICAgICB0aGlzLiRub3RpZnkuaW5mbyh7DQogICAgICAgIHRpdGxlOiAn5raI5oGvJywNCiAgICAgICAgbWVzc2FnZTogJ+aCqOW3sumYheivu+atpOadoea2iOaBrycNCiAgICAgIH0pDQogICAgfSwNCiAgICAvL+W3sumYhQ0KICAgIHJlYWRNZXNzYWdlQnRuKHJvdykgew0KICAgICAgLy8gY29uc29sZS5sb2cocm93LmlkKQ0KICAgICAgTmF2aWdhdG9yQXBpLmNtZ3RXb3JrV2FyblNlbmREZXRhaWxSZWNlaXZlKHtpZDogcm93LmlkfSwgcmVzID0+IHsNCiAgICAgICAgLy8gY29uc29sZS5sb2cocmVzKQ0KICAgICAgICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAgICAgdGhpcy5sb2dnaW5nTWVzc2FnZSgpDQogICAgICAgIH0NCiAgICAgIH0pDQogICAgfSwNCiAgICAvL+a2iOaBr+eCueWHu+S6i+S7tg0KICAgIGRlZmluZUNhbGxCYWNrKCkgew0KICAgICAgLy8gY29uc29sZS5sb2coMTExMTExKQ0KICAgICAgdGhpcy5wcmludERpYWxvZ1Zpc2libGUgPSB0cnVlDQogICAgfSwNCiAgICBoYW5kbGVDbG9zZSgpIHsNCiAgICAgIHRoaXMucHJpbnREaWFsb2dWaXNpYmxlID0gZmFsc2UNCiAgICB9LA0KICAgIHNob3dQb3BwZXIoKSB7DQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIGxldCBzaXplID0gMA0KICAgICAgICBzaXplID0NCiAgICAgICAgICB0aGlzLiRyZWZzLmhlYWRlclBvcHBlciAmJg0KICAgICAgICAgIHRoaXMuJHJlZnMuaGVhZGVyUG9wcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpDQogICAgICAgIHRoaXMuJGJ1cy4kZW1pdCgnc2hvd1BvcHBlcicsIHNpemUpDQogICAgICB9KQ0KICAgIH0sDQogICAgaGlkZVBvcHBlcigpIHsNCiAgICAgIHRoaXMuJGJ1cy4kZW1pdCgnaGlkZVBvcHBlcicpDQogICAgfSwNCiAgICBzdWJtaXRGb3JtKCkgew0KICAgICAgbGV0IGFjY291bnQNCiAgICAgIGFjY291bnQgPQ0KICAgICAgICB0aGlzLmN1cnJlbnRVc2VyICYmDQogICAgICAgIHRoaXMuY3VycmVudFVzZXIudXNlciAmJg0KICAgICAgICB0aGlzLmN1cnJlbnRVc2VyLnVzZXIuYWNjb3VudA0KICAgICAgdGhpcy4kcmVmc1sncHdkRm9ybSddLnZhbGlkYXRlKHZhbGlkID0+IHsNCiAgICAgICAgaWYgKHZhbGlkKSB7DQogICAgICAgICAgaWYgKGFjY291bnQgPT0gJycpIHsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn6K+36L+U5Zue6YeN5paw55m75b2VJykNCiAgICAgICAgICAgIHJldHVybg0KICAgICAgICAgIH0NCiAgICAgICAgICB0aGlzLmNvbmZpcm0gPSB0cnVlDQogICAgICAgICAgdGhpcy4kaHR0cA0KICAgICAgICAgICAgLnBvc3QoJyR7dWN9L2FwaS91c2VyL3YxL3VzZXIvbW9kaWZpVXNlclBzZCcsIHsNCiAgICAgICAgICAgICAgYWNjb3VudDogYWNjb3VudCwNCiAgICAgICAgICAgICAgb2xkUHdkOiB0aGlzLnB3ZEZvcm0ub2xkLA0KICAgICAgICAgICAgICBuZXdQd2Q6IHRoaXMucHdkRm9ybS5uZXcNCiAgICAgICAgICAgIH0pDQogICAgICAgICAgICAudGhlbihyZXNwID0+IHsNCiAgICAgICAgICAgICAgbGV0IGRhdGEgPSByZXNwLmRhdGENCiAgICAgICAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5zdGF0ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5L+u5pS55a+G56CB5oiQ5YqfJykNCiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm0gPSBmYWxzZQ0KICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsNCiAgICAgICAgICAgICAgICAgIHBhdGg6ICcvbG9naW4nDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm0gPSBmYWxzZQ0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn5qCh6aqM5aSx6LSl77yM6K+35qOA5p+lIScpDQogICAgICAgIH0NCiAgICAgIH0pDQogICAgfSwNCiAgICBnb0luZGV4KCkgew0KICAgICAgdGhpcy4kcm91dGVyLnB1c2goew0KICAgICAgICBwYXRoOiBgL2Zyb250UGxhdC9naXNgDQogICAgICB9KQ0KICAgIH0sDQogICAgb3BlblJlc2V0UHdkRGlhbG9nKCkgew0KICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3VzZXIvZ2V0RGVmUHdkU3RyYXRlZ3knKQ0KICAgICAgdGhpcy5tb2RpZnlQd2REaWFsb2dWaXNpYmxlID0gdHJ1ZQ0KICAgICAgaWYgKHRoaXMuJHJlZnNbJ3B3ZEZvcm0nXSkgew0KICAgICAgICB0aGlzLiRyZWZzWydwd2RGb3JtJ10ucmVzZXRGaWVsZHMoKQ0KICAgICAgfQ0KICAgIH0sDQogICAgb3BlblBlcnNvbmFsQ2VudGVyKCkgew0KICAgICAgdGhpcy4kcm91dGVyLnB1c2goew0KICAgICAgICBwYXRoOiAnL2Zyb250UGxhdC9QZXJzb25hbEluZm8nDQogICAgICB9KQ0KICAgIH0sDQogICAgaGFuZGxlU3lzUGxhdCgpIHsNCiAgICAgIGlmICghdGhpcy5zeXNNZW51cy5sZW5ndGgpIHsNCiAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ21lbnUvYWN0aW9uU3lzTWVudXMnKS50aGVuKHJlcyA9PiB7DQogICAgICAgICAgaWYgKHJlcykgew0KICAgICAgICAgICAgd2luZG93Lm9wZW4oDQogICAgICAgICAgICAgIHdpbmRvdy5jb250ZXh0Lm1hbmFnZSArDQogICAgICAgICAgICAgIC8vICJodHRwOi8vbG9jYWxob3N0OjgwODEvbXZ1ZSIrDQogICAgICAgICAgICAgICcvc3lzcGxhdC8nICsNCiAgICAgICAgICAgICAgYCR7dGhpcy5zeXNNZW51c1swXS5jaGlsZHJlblswXS5hbGlhc31gICsNCiAgICAgICAgICAgICAgJz90b2tlbj0nICsNCiAgICAgICAgICAgICAgdGhpcy50b2tlbiwNCiAgICAgICAgICAgICAgJ19ibGFuaycNCiAgICAgICAgICAgICkNCiAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgICB9IGVsc2Ugew0KICAgICAgICB3aW5kb3cub3BlbigNCiAgICAgICAgICB3aW5kb3cuY29udGV4dC5tYW5hZ2UgKw0KICAgICAgICAgIC8vICJodHRwOi8vbG9jYWxob3N0OjgwODEvbXZ1ZSIrDQogICAgICAgICAgJy9zeXNwbGF0LycgKw0KICAgICAgICAgIGAke3RoaXMuc3lzTWVudXNbMF0uY2hpbGRyZW5bMF0uYWxpYXN9YCArDQogICAgICAgICAgJz90b2tlbj0nICsNCiAgICAgICAgICB0aGlzLnRva2VuLA0KICAgICAgICAgICdfYmxhbmsnDQogICAgICAgICkNCiAgICAgIH0NCiAgICB9LA0KICAgIGxvZ291dCgpIHsNCiAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdtZW51L2NsZWFyTWVudXMnKQ0KICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3VzZXIvY2xlYXJVc2VyJykNCiAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdtZW51L3NldENvcHlNZW51cycsIFtdKSAvL+iPnOWNlQ0KICAgICAgbGV0IGxvZ2luUm91dGhQYXRoID0NCiAgICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oDQogICAgICAgICAgdGhpcy4kc3RvcmUuc3RhdGUubG9naW4uY3VycmVudFVzZXIuYWNjb3VudCArICdsb2dpblJvdXRlUGF0aCcNCiAgICAgICAgKSB8fCAnL2xvZ2luJw0KICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2xvZ2luL2xvZ291dEFuZENsZWFuVXAnKS50aGVuKCgpID0+IHsNCiAgICAgICAgc3dpdGNoICh3aW5kb3cuc3NvQ29uZmlnLm1vZGUpIHsNCiAgICAgICAgICBjYXNlICdjYXMnOg0KICAgICAgICAgIGNhc2UgJ29hdXRoJzoNCiAgICAgICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdjdXJyZW50VXNlcicpDQogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9DQogICAgICAgICAgICAgIHdpbmRvdy5zc29Db25maWcubG9nb3V0ICsNCiAgICAgICAgICAgICAgJz9zZXJ2aWNlPScgKw0KICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzBdDQogICAgICAgICAgICBicmVhaw0KICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7DQogICAgICAgICAgICAgIHBhdGg6IGxvZ2luUm91dGhQYXRoDQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgfQ0KICAgICAgfSkNCiAgICB9LA0KICAgIGhhbmRsZUNsaWNrTWVudShpdGVtKSB7DQogICAgICBpZiAoaXRlbS5hbGlhcyA9PSAnRXF1aXBtZW50Jykgew0KICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgNCiAgICAgICAgICAnL2Zyb250UGxhdC9FcXVpcG1lbnQvcGVyZm9ybWFuY2VBbmFseXNpcy9EZXZpY2VBbmFseXNpcycNCiAgICAgICAgKQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goJy9mcm9udFBsYXQvemh5dy9DTUdURHV0eVJlc291cmNlTWFuYWdlL0NNR1REdXR5UmVzb3VyY2VUZWFtJykgLy8gemh5d0luZGV4DQogICAgICB9DQogICAgICB0aGlzLmN1cnJlbnRNZW51ID0gaXRlbS5hbGlhcw0KICAgICAgcmV0dXJuDQogICAgICBsZXQgaGFzU2lkZU1lbnUgPSBpdGVtLmNoaWxkcmVuLmxlbmd0aCA/IHRydWUgOiBmYWxzZQ0KICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOm1lbnVTaG93JywgaGFzU2lkZU1lbnUpDQogICAgICB0aGlzLmN1cnJlbnRNZW51ID0gaXRlbS5hbGlhcw0KICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4ubGVuZ3RoICE9PSAwKSB7DQogICAgICAgIGxldCBjaGlsZHJlbnMgPSBpdGVtLmNoaWxkcmVuDQogICAgICAgIGxldCBzdWJQYXRoID0gY2hpbGRyZW5zWzBdLmFsaWFzDQogICAgICAgIGlmIChjaGlsZHJlbnNbMF0uY2hpbGRyZW4gJiYgY2hpbGRyZW5zWzBdLmNoaWxkcmVuLmxlbmd0aCAhPT0gMCkgew0KICAgICAgICAgIGxldCB0aHJlZUNoaWxkcmVucyA9IGNoaWxkcmVuc1swXS5jaGlsZHJlbg0KICAgICAgICAgIGxldCB0aHJlZVBhdGggPSB0aHJlZUNoaWxkcmVuc1swXS5hbGlhcw0KICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKA0KICAgICAgICAgICAgJy9mcm9udFBsYXQvJyArIGl0ZW0uYWxpYXMgKyAnLycgKyBzdWJQYXRoICsgJy8nICsgdGhyZWVQYXRoDQogICAgICAgICAgKQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCcvZnJvbnRQbGF0LycgKyBpdGVtLmFsaWFzICsgJy8nICsgc3ViUGF0aCkNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goJy9mcm9udFBsYXQvJyArIGl0ZW0uYWxpYXMpDQogICAgICAgIHRoaXMuY3VycmVudE1lbnUgPSBpdGVtLmFsaWFzDQogICAgICB9DQogICAgfSwNCiAgICBhY3RpdmVQYWdlKCkgew0KICAgICAgbGV0IGZ1bGxQYXRoID0gdGhpcy4kcm91dGUucGF0aA0KICAgICAgbGV0IHBhdGggPSBmdWxsUGF0aC5zcGxpdCgnLycpDQogICAgICBsZXQgdXJsQW5jaG9yID0gcGF0aFtwYXRoLmluZGV4T2YoJ2Zyb250UGxhdCcpICsgMV0NCiAgICAgIHRoaXMuZnJvbnRNZW51cy5maWx0ZXIoaXRlbSA9PiB7DQogICAgICAgIGlmIChpdGVtLmFsaWFzID09IHVybEFuY2hvcikgew0KICAgICAgICAgIHRoaXMuY3VycmVudE1lbnUgPSB1cmxBbmNob3INCiAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmN1cnJlbnRNZW51KQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgIH0NCiAgfQ0KfQ0K"},null]}