{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\modle\\EquipmentInfoDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\modle\\EquipmentInfoDialog.vue","mtime":1731062408831},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgbGF0aXR1ZGUgZnJvbSAnQC9taXhpbnMvbGF0aXR1ZGUnDQppbXBvcnQgdXNlck1hbmFnZSBmcm9tICdAL2FwaS9kZXZpY2UvdXNlck1hbmFnZS5qcycNCmltcG9ydCByZXNvdXJjZU1hbmFnZSBmcm9tICdAL2FwaS9kZXZpY2UvcmVzb3VyY2VNYW5hZ2UuanMnDQppbXBvcnQgeyBFeHRlbmRQYXJhbXNNaXhpbiB9IGZyb20gJ0AvbWl4aW5zL2RldmljZUV4dGVuZC5qcycNCmltcG9ydCBTcGFyZUNvbXBhbnkgZnJvbSAnQC9hcGkvZGV2aWNlL1NwYXJlTWFuYWdlLmpzJw0KaW1wb3J0IHV0aWxzIGZyb20gJ0AvaG90ZW50LXVpLXV0aWwuanMnDQppbXBvcnQgZXF1aXBtZW50TWFuYWdlIGZyb20gJ0AvYXBpL2RldmljZS9lcXVpcG1lbnRNYW5hZ2UuanMnDQppbXBvcnQgZGljdFV0aWxzIGZyb20gJ0AvY29tcG9uZW50cy9kaWN0L0RpY3RTZWxlY3RVdGlscy5qcycNCmltcG9ydCBDaG9vc2VNYXBQb2ludFZ1ZSBmcm9tICcuLi9DaG9vc2VNYXBQb2ludC52dWUnDQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgICBuYW1lOiAnRXF1aXBtZW50SW5mb01vZGFsJywNCiAgICBjb21wb25lbnRzOiB7DQogICAgICAgIENob29zZU1hcFBvaW50VnVlLA0KICAgIH0sDQogICAgbWl4aW5zOiBbRXh0ZW5kUGFyYW1zTWl4aW5dLA0KICAgIHByb3BzOiB7DQogICAgICAgIHBhcmFtZXRlcjogew0KICAgICAgICAgICAgdHlwZTogT2JqZWN0LA0KICAgICAgICAgICAgZGVmYXVsdDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgfSwNCiAgICB9LA0KICAgIGRhdGEoKSB7DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgICBpbXBvcnRhbnREYXRhOiBbDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBuYW1lOiAn5LiA6Iis6K6+5aSHJywNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICcwJywNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ+mHjeeCueiuvuWkhycsDQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnMScsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICB2aXNpYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIHRpdGxlOiAn5L+u5pS5JywNCiAgICAgICAgICAgIGlzU2F2ZWQ6IGZhbHNlLA0KICAgICAgICAgICAgYWN0aXZlQ29sbGFwc2UxOiBbJzEnLCAnMicsICczJ10sDQogICAgICAgICAgICBhcmVhTmFtZTogJycsDQogICAgICAgICAgICBwYXJhbXM6IHt9LA0KICAgICAgICAgICAgY29uc3RydWN0aW9uVW5pdE5hbWVPcHQ6IFsNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfmlL/lupzpg6jpl6gnLCB2YWx1ZTogJ+aUv+W6nOmDqOmXqCcgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICflm73mnInkvIHkuJonLCB2YWx1ZTogJ+WbveacieS8geS4micgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfmsJHokKXkvIHkuJonLCB2YWx1ZTogJ+awkeiQpeS8geS4micgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfnpL7kvJrlhazlhbEnLCB2YWx1ZTogJ+ekvuS8muWFrOWFsScgfSwNCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICBhcHBsaWNhdGlvbkFyZWFPcHQ6IFsNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfkuqTpgJrnrqHnkIYnLCB2YWx1ZTogJ+S6pOmAmueuoeeQhicgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfmlZnogrLooYzkuJonLCB2YWx1ZTogJ+aVmeiCsuihjOS4micgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfph5Hono3ooYzkuJonLCB2YWx1ZTogJ+mHkeiejeihjOS4micgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfljavnlJ/lgaXlurcnLCB2YWx1ZTogJ+WNq+eUn+WBpeW6tycgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfln47luILnrqHnkIYnLCB2YWx1ZTogJ+WfjuW4gueuoeeQhicgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfkvY/miL/ln47kuaEnLCB2YWx1ZTogJ+S9j+aIv+WfjuS5oScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfoh6rnhLbotYTmupAnLCB2YWx1ZTogJ+iHqueEtui1hOa6kCcgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfllYbkuJrmnI3liqEnLCB2YWx1ZTogJ+WVhuS4muacjeWKoScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfmlofljJbml4XmuLgnLCB2YWx1ZTogJ+aWh+WMluaXhea4uCcgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICflupTmgKXnrqHnkIYnLCB2YWx1ZTogJ+W6lOaApeeuoeeQhicgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfluILlnLrnm5HnrqEnLCB2YWx1ZTogJ+W4guWcuuebkeeuoScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfnu4/mtY7kv6Hmga8nLCB2YWx1ZTogJ+e7j+a1juS/oeaBrycgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfmsJHmlL/mnI3liqEnLCB2YWx1ZTogJ+awkeaUv+acjeWKoScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfpgq7mlL/nianmtYEnLCB2YWx1ZTogJ+mCruaUv+eJqea1gScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfkvZPogrLooYzkuJonLCB2YWx1ZTogJ+S9k+iCsuihjOS4micgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfmsJHml4/lrpfmlZknLCB2YWx1ZTogJ+awkeaXj+Wul+aVmScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICflj7jms5XnrqHnkIYnLCB2YWx1ZTogJ+WPuOazleeuoeeQhicgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICflhpzkuJrmsLTliKknLCB2YWx1ZTogJ+WGnOS4muawtOWIqScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfmnLrmnoTnu4Tnu4cnLCB2YWx1ZTogJ+acuuaehOe7hOe7hycgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfnlJ/mgIHnjq/kv50nLCB2YWx1ZTogJ+eUn+aAgeeOr+S/nScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICflhbbku5booYzkuJonLCB2YWx1ZTogJ+WFtuS7luihjOS4micgfSwNCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICBkZXZpY2VTdGF0dXNPcHRpb25zOiBbDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5Y+v55SoJywgdmFsdWU6ICflj6/nlKgnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5LiN5Y+v55SoJywgdmFsdWU6ICfkuI3lj6/nlKgnIH0sDQogICAgICAgICAgICBdLA0KICAgICAgICAgICAgbmV0d29ya1R5cGVPcHQ6IFsNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfpg6jpl6jkuJPnvZEnLCB2YWx1ZTogJ+mDqOmXqOS4k+e9kScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICflhazlronkuJPnvZEnLCB2YWx1ZTogJ+WFrOWuieS4k+e9kScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfmlL/liqHlpJbnvZEnLCB2YWx1ZTogJ+aUv+WKoeWklue9kScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfkupLogZTnvZEnLCB2YWx1ZTogJ+S6kuiBlOe9kScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfnp7vliqjnvZHvvIg0R+OAgTVH77yJJywgdmFsdWU6ICfnp7vliqjnvZHvvIg0R+OAgTVH77yJJyB9LA0KICAgICAgICAgICAgICAgIHsgbmFtZTogJ+aXoOe9kee7nCcsIHZhbHVlOiAn5peg572R57ucJyB9LA0KICAgICAgICAgICAgICAgIHsgbmFtZTogJ+WFtuS7lue9kee7nCcsIHZhbHVlOiAn5YW25LuW572R57ucJyB9LA0KICAgICAgICAgICAgXSwNCiAgICAgICAgICAgIHJ1bGVzOiB7DQogICAgICAgICAgICAgICAgbmFtZTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXorr7lpIflkI3np7AnLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBjb2RlOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeiuvuWkh+e8lueggScsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIG91dENvZGU6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlU07noIEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBzdGF0dXM6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6K6+5aSH54q25oCBJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgcHJvZHVjdElkOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeaJgOWxnuS6p+WTgScsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGxldmVsOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeiuvuWkh+adg+mZkOe6p+WIqycsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIC8vIGxpZmU6IFsNCiAgICAgICAgICAgICAgICAvLyAgIHsNCiAgICAgICAgICAgICAgICAvLyAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgLy8gICAgIG1lc3NhZ2U6ICfor7fpgInmi6nkvb/nlKjlubTpmZAnLA0KICAgICAgICAgICAgICAgIC8vICAgICB0cmlnZ2VyOiAnY2hhbmdlJw0KICAgICAgICAgICAgICAgIC8vICAgfQ0KICAgICAgICAgICAgICAgIC8vIF0sDQogICAgICAgICAgICAgICAgYXJlYUlkOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeaJgOWxnuWMuuWfnycsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGNvbnN0cnVjdGlvblByb2plY3ROYW1lOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+W7uuiuvumhueebruWQjeensOS4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGNvbnN0cnVjdGlvblVuaXROYW1lOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+W7uuiuvuWNleS9jeexu+Wei+S4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIHRlcm1pbmFsQmVsb25nVG9EZXB0OiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+e7iOerr+aJgOWxnumDqOmXqOS4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uQXJlYTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICflupTnlKjpoobln5/kuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBpbnN0YWxsVGltZTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICflronoo4Xml7bpl7TkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICByZWdpb246IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5omA5bGe5Yy65LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgc3RyZWV0OiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+aJgOWxnuihl+mBk+S4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGNvbW11bml0eTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfmiYDlsZ7npL7ljLrkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBkZXZpY2VTdGF0dXM6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5Y+v55So54q25oCB5LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgc2Vuc2l0aXZlRXF1aXBtZW50OiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+aYr+WQpuS4uuaVj+aEn+iuvuWkh+S4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIG5ldHdvcmtUeXBlOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+e9kee7nOexu+Wei+S4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGVxdWlwbWVudE1hbnVmYWN0dXJlcjogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICforr7lpIfljoLllYbkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBvcGVyYXRpb25Vbml0OiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+i/kOe7tOWNleS9jeS4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIG9wZXJhdGlvblVuaXRQaG9uZTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfov5Dnu7TljZXkvY3ogZTns7vnlLXor53kuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybjogL15bMV1bMyw0LDUsNyw4LDldWzAtOV17OX0kLywNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXmraPnoa7nmoTmiYvmnLrlj7fnoIEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2JsdXInLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgc2hhcmVQcm9wZXJ0eTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICflhbHkuqvlsZ7mgKfkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICB0eXBlOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+iuvuWkh+exu+Wei+S4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIG1lYXN1cmVtZW50QWNjdXJhY3k6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5rWL6YeP57K+5bqm5LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgYXBwbGljYXRpb25TY2VuYXJpb3M6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5bqU55So5Zy65pmv5LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgUGVybWlzc2lvbkxldmVMaXN0OiBbXSwgLy/mnYPpmZDnuqfliKsNCiAgICAgICAgICAgIGRldmljZVN0YXR1czogW10sIC8vIOiuvuWkh+eKtuaAgQ0KICAgICAgICAgICAgVUlUeXBlOiBbXSwgLy8g5omp5bGV5Y+C5pWw5o6n5Lu257G75Z6LDQogICAgICAgICAgICBzdXBwbGllckRhdGE6IFtdLCAvLyDkvpvlupTllYbmlbDmja4NCiAgICAgICAgICAgIHByb2R1Y3REYXRhOiBbXSwgLy8g5Lqn5ZOB5pWw5o2uDQogICAgICAgICAgICBhcmVhT3B0aW9uczogW10sIC8vIOWMuuWfn+aVsOaNrg0KICAgICAgICAgICAgYWRkdmNkT3B0aW9uczogW10sIC8vIOihjOaUv+WMuuWIkuaVsOaNrg0KICAgICAgICAgICAgYWRkcmVzc1R5cGVMaXN0OiBbXSwgLy/lronoo4XlnLDngrnnsbvlnovlrZfmrrXliJfooagNCiAgICAgICAgICAgIGZsb29yTGlzdDogW10sIC8v5a6J6KOF5qW85bGC5a2X5q615YiX6KGoDQogICAgICAgICAgICBtYW5hZ2VyVXNlckRhdGE6IFtdLCAvL+euoeeQhuS6uuWRmOaVsOaNrg0KICAgICAgICAgICAgcmVwYWlyVXNlckRhdGE6IFtdLCAvL+e7tOaKpOS6uuWRmOaVsOaNrg0KICAgICAgICAgICAgcGFyYW1zVmFsdWVMaXN0OiBbXSwNCiAgICAgICAgICAgIGRldmljZURhdGE6IHt9LA0KICAgICAgICAgICAgZGV2aWNlSWQ6ICcnLA0KICAgICAgICB9DQogICAgfSwNCiAgICBjcmVhdGVkKCkgew0KICAgICAgICB0aGlzLmRldmljZVN0YXR1cyA9IGRpY3RVdGlscy5nZXREaWN0SXRlbXNGcm9tQ2FjaGUoJ3NienQnKQ0KICAgICAgICB0aGlzLmFkZHJlc3NUeXBlTGlzdCA9IGRpY3RVdGlscy5nZXREaWN0SXRlbXNGcm9tQ2FjaGUoJ2F6ZGRseCcpDQogICAgICAgIHRoaXMuZmxvb3JMaXN0ID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnYXpsYycpDQogICAgICAgIHRoaXMuVUlUeXBlID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgna2pseCcpDQogICAgICAgIHRoaXMuUGVybWlzc2lvbkxldmVMaXN0ID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnc2JxeGpiJykNCiAgICAgICAgLy8gdGhpcy5wYXJhbWV0ZXIgPSB0aGlzLiRyb3V0ZS5xdWVyeQ0KICAgICAgICB0aGlzLmxvYWRTdXBwbGllcigpDQogICAgICAgIHRoaXMubG9hZEFyZWEoKQ0KICAgICAgICB0aGlzLmxvYWRBZGR2Y2QoKQ0KICAgICAgICB0aGlzLmxvYWRQcm9kdWN0KCkNCiAgICAgICAgdGhpcy5sb2FkTWFpbnRhaW5Vc2VyKCkNCiAgICAgICAgdGhpcy5sb2FkVXNlcigpDQogICAgfSwNCiAgICBtb3VudGVkKCkgew0KICAgICAgICB0aGlzLmdldEV4dGVuZFBhcmFtcyh0aGlzLnBhcmFtZXRlci5pZCkNCiAgICAgICAgdGhpcy5nZXRQcm9kdWN0UGFyYW1zKHRoaXMucGFyYW1ldGVyLnByb2R1Y3RJZCkNCiAgICB9LA0KICAgIG1ldGhvZHM6IHsNCiAgICAgICAgc2V0UG9zaXRpb24oKSB7DQogICAgICAgICAgICB0aGlzLiRyZWZzLm1hcERpYWxvZy5oYW5kbGVPcGVuKHRoaXMucGFyYW1ldGVyKQ0KICAgICAgICB9LA0KICAgICAgICBnZXRQb3NpdGlvbihkYXRhKSB7DQogICAgICAgICAgICB0aGlzLnBhcmFtZXRlci5sZ3RkID0gZGF0YS5sZ3RkICsgJycNCiAgICAgICAgICAgIHRoaXMucGFyYW1ldGVyLmx0dGQgPSBkYXRhLmx0dGQgKyAnJw0KICAgICAgICAgICAgdGhpcy5wYXJhbWV0ZXIuYXJlYUlkID0gZGF0YS5hcmVhQ29kZQ0KICAgICAgICAgICAgdGhpcy4kZm9yY2VVcGRhdGUoKQ0KICAgICAgICB9LA0KICAgICAgICBmb3JtYXROdW1iZXIoa2V5KSB7DQogICAgICAgICAgICB0aGlzLnBhcmFtZXRlcltrZXldID0gbGF0aXR1ZGUuVHJlZUZvdXIodGhpcy5wYXJhbWV0ZXJba2V5XSkNCiAgICAgICAgfSwNCiAgICAgICAgLy8g6I635Y+W5Lqn5ZOB5YiX6KGoDQogICAgICAgIGxvYWRQcm9kdWN0KCkgew0KICAgICAgICAgICAgcmVzb3VyY2VNYW5hZ2UubG9hZFByb2R1Y3Qoe30sIChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlcyA9PSAnb2JqZWN0JyAmJiByZXMpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0RGF0YSA9IHJlcw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIC8vIOiOt+WPlueuoeeQhuWNleS9jQ0KICAgICAgICBsb2FkVXNlcigpIHsNCiAgICAgICAgICAgIGxldCBkYXRhID0gew0KICAgICAgICAgICAgICAgIGNvbXBhbnlUeXBlOiAnMScsDQogICAgICAgICAgICB9DQogICAgICAgICAgICB0aGlzLm1hbmFnZXJVc2VyRGF0YSA9IFtdDQogICAgICAgICAgICB1c2VyTWFuYWdlLkNvbXBhbnlVc2VyKGRhdGEpLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgICAgICAgIHRoaXMubWFuYWdlclVzZXJEYXRhID0gcmVzDQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICAvLyDojrflj5bov5Dnu7TljZXkvY0NCiAgICAgICAgbG9hZE1haW50YWluVXNlcigpIHsNCiAgICAgICAgICAgIGxldCBkYXRhID0gew0KICAgICAgICAgICAgICAgIGNvbXBhbnlUeXBlOiAnMycsDQogICAgICAgICAgICB9DQogICAgICAgICAgICB0aGlzLnJlcGFpclVzZXJEYXRhID0gW10NCiAgICAgICAgICAgIHVzZXJNYW5hZ2UuQ29tcGFueVVzZXIoZGF0YSkudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy5yZXBhaXJVc2VyRGF0YSA9IHJlcw0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgLy8g6I635Y+W5L6b5bqU5ZWGDQogICAgICAgIGxvYWRTdXBwbGllcigpIHsNCiAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7fQ0KICAgICAgICAgICAgU3BhcmVDb21wYW55LmZpbmRDb21wYW55TGlzdChwYXJhbXMsIChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IFtdDQogICAgICAgICAgICAgICAgdGhpcy5zdXBwbGllckRhdGEgPSBbXQ0KICAgICAgICAgICAgICAgIGRhdGEgPSByZXMNCiAgICAgICAgICAgICAgICBkYXRhLmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tcGFueVR5cGUuaW5jbHVkZXMoJzQnKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdXBwbGllckRhdGEucHVzaChpdGVtKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIC8vIOiOt+WPluaJgOWxnuWMuuWfnw0KICAgICAgICBsb2FkQXJlYSgpIHsNCiAgICAgICAgICAgIHRoaXMuYXJlYU9wdGlvbnMgPSBbXQ0KICAgICAgICAgICAgcmVzb3VyY2VNYW5hZ2UubG9hZEFyZWFUcmVlKHsgaWQ6ICcwJyB9LCAocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy5hcmVhT3B0aW9ucyA9IHJlcy52YWx1ZQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgLy8g6I635Y+W5omA5bGe6KGM5pS/5Yy65YiSDQogICAgICAgIGxvYWRBZGR2Y2QoKSB7DQogICAgICAgICAgICB0aGlzLmFkZHZjZE9wdGlvbnMgPSBbXQ0KICAgICAgICAgICAgcmVzb3VyY2VNYW5hZ2UubG9hZEFkbWluQXJlYVRyZWUoe30sIChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhyZXMsICdyZXMnKQ0KICAgICAgICAgICAgICAgIHRoaXMuYWRkdmNkT3B0aW9ucyA9IHJlcy52YWx1ZQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlQ2hhbmdlKHR5cGUpIHsNCiAgICAgICAgICAgIGlmICh0eXBlID09ICdyZXBhaXJVc2VySWQnKSB7DQogICAgICAgICAgICAgICAgbGV0IG5vZGVzID0gdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci5nZXRDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgIGlmIChub2RlcyAmJiBub2Rlcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLnJlcGFpclVzZXJJZCA9IG5vZGVzWzBdLmRhdGEuaWQNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyUmVwYWlyLiRyZWZzLnBhbmVsLmNsZWFyQ2hlY2tlZE5vZGVzKCkNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci4kcmVmcy5wYW5lbC5jaGVja2VkVmFsdWUgPSAnJyAvLyDmuIXnqbrpgInkuK3lgLwNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci4kcmVmcy5wYW5lbC5hY3RpdmVQYXRoID0gJycgLy8g5riF6Zmk6auY5LquDQogICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJSZXBhaXIuJHJlZnMucGFuZWwuc3luY0FjdGl2ZVBhdGgoKSAvLyDliJ3lp4vljJbvvIjlj6rlsZXnpLrkuIDnuqfoioLngrnvvIkNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbXMucmVwYWlyVXNlcklkID0gJycNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodHlwZSA9PSAnbWFuYWdlclVzZXJJZCcpIHsNCiAgICAgICAgICAgICAgICBsZXQgbm9kZXMgPSB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci5nZXRDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgIGlmIChub2RlcyAmJiBub2Rlcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLm1hbmFnZXJVc2VySWQgPSBub2Rlc1swXS5kYXRhLmlkDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlck1hbmFnZXIuJHJlZnMucGFuZWwuY2xlYXJDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci4kcmVmcy5wYW5lbC5jaGVja2VkVmFsdWUgPSAnJyAvLyDmuIXnqbrpgInkuK3lgLwNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlck1hbmFnZXIuJHJlZnMucGFuZWwuYWN0aXZlUGF0aCA9ICcnIC8vIOa4hemZpOmrmOS6rg0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci4kcmVmcy5wYW5lbC5zeW5jQWN0aXZlUGF0aCgpIC8vIOWIneWni+WMlu+8iOWPquWxleekuuS4gOe6p+iKgueCue+8iQ0KICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmFtcy5tYW5hZ2VyVXNlcklkID0gJycNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodHlwZSA9PSAnYXJlYUlkJykgew0KICAgICAgICAgICAgICAgIGxldCBub2RlcyA9IHRoaXMuJHJlZnMuY2FzY2FkZXJBcmVhLmdldENoZWNrZWROb2RlcygpDQogICAgICAgICAgICAgICAgaWYgKG5vZGVzICYmIG5vZGVzLmxlbmd0aCA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbXMuYXJlYUlkID0gbm9kZXNbMF0uZGF0YS5pZA0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJBcmVhLiRyZWZzLnBhbmVsLmNsZWFyQ2hlY2tlZE5vZGVzKCkNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlckFyZWEuJHJlZnMucGFuZWwuY2hlY2tlZFZhbHVlID0gJycgLy8g5riF56m66YCJ5Lit5YC8DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJBcmVhLiRyZWZzLnBhbmVsLmFjdGl2ZVBhdGggPSAnJyAvLyDmuIXpmaTpq5jkuq4NCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlckFyZWEuJHJlZnMucGFuZWwuc3luY0FjdGl2ZVBhdGgoKSAvLyDliJ3lp4vljJbvvIjlj6rlsZXnpLrkuIDnuqfoioLngrnvvIkNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbXMuYXJlYUlkID0gJycNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodHlwZSA9PSAnYWRkdmNkJykgew0KICAgICAgICAgICAgICAgIGxldCBub2RlcyA9IHRoaXMuJHJlZnMuY2FzY2FkZXJBZGR2Y2QuZ2V0Q2hlY2tlZE5vZGVzKCkNCiAgICAgICAgICAgICAgICBpZiAobm9kZXMgJiYgbm9kZXMubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmFtcy5hZGR2Y2QgPSBub2Rlc1swXS5kYXRhLmlkDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlckFkZHZjZC4kcmVmcy5wYW5lbC5jbGVhckNoZWNrZWROb2RlcygpDQogICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJBZGR2Y2QuJHJlZnMucGFuZWwuY2hlY2tlZFZhbHVlID0gJycgLy8g5riF56m66YCJ5Lit5YC8DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJBZGR2Y2QuJHJlZnMucGFuZWwuYWN0aXZlUGF0aCA9ICcnIC8vIOa4hemZpOmrmOS6rg0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQWRkdmNkLiRyZWZzLnBhbmVsLnN5bmNBY3RpdmVQYXRoKCkgLy8g5Yid5aeL5YyW77yI5Y+q5bGV56S65LiA57qn6IqC54K577yJDQogICAgICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLmFkZHZjZCA9ICcnDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBhc3luYyBhZGQoKSB7DQogICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlDQogICAgICAgICAgICBhd2FpdCB0aGlzLmdldFByb2R1Y3RQYXJhbXModGhpcy5wYXJhbWV0ZXIucHJvZHVjdElkKQ0KICAgICAgICAgICAgLy8gdGhpcy5wYXJhbWV0ZXINCiAgICAgICAgICAgIC8vIOiOt+WPluaJqeWxleWtl+auteWAvA0KICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRFeHRlbmRQYXJhbXNEYXRhKHRoaXMucGFyYW1ldGVyLmlkKQ0KICAgICAgICAgICAgLy8g5omp5bGV5a2X5q615re35YWl5Yiw6KGo5Y2V57uR5a6a5pWw5o2u5LitDQogICAgICAgICAgICB0aGlzLmhhbmRsZUV4dGVuZFBhcmFtc01peGluKCkNCiAgICAgICAgICAgIHRoaXMucGFyYW1zID0gdXRpbHMuZGVlcENsb25lKHRoaXMucGFyYW1zKQ0KICAgICAgICAgICAgbGV0IGxldmVsID0gdGhpcy5wYXJhbWV0ZXIubGV2ZWwgPyB0aGlzLnBhcmFtZXRlci5sZXZlbCArICcnIDogJycNCiAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLnBhcmFtZXRlciwgJ2xldmVsJywgbGV2ZWwpDQogICAgICAgIH0sDQogICAgICAgIGFzeW5jIGNoYW5nZUV4dGVuZCh2YWwpIHsNCiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UHJvZHVjdFBhcmFtcyh2YWwpDQogICAgICAgICAgICB0aGlzLmhhbmRsZUV4dGVuZFBhcmFtc01peGluKCkNCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlQ2xvc2UoKSB7DQogICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZQ0KICAgICAgICAgICAgdGhpcy5hY3RpdmVDb2xsYXBzZTEgPSBbJzEnLCAnMicsICczJ10NCiAgICAgICAgICAgIHRoaXMuJHBhcmVudC5sb2FkRGF0YSgxKQ0KICAgICAgICB9LA0KICAgICAgICBoYW5kbGVTYXZlKCkgew0KICAgICAgICAgICAgdGhpcy5pc1NhdmVkID0gdHJ1ZQ0KICAgICAgICAgICAgdGhpcy4kcmVmcy5mb3JtSW5mby52YWxpZGF0ZSgodmFsaWQpID0+IHsNCiAgICAgICAgICAgICAgICBpZiAodmFsaWQpIHsNCiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnBhcmFtZXRlciwgdGhpcy5wYXJhbXMpDQogICAgICAgICAgICAgICAgICAgIGxldCB0ZW1wRGF0YSA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLnBhcmFtZXRlcikNCiAgICAgICAgICAgICAgICAgICAgdGVtcERhdGEgPSB0aGlzLmhhbmRsZUV4dGVuZFBhcmFtc1NhdmUodGVtcERhdGEpDQogICAgICAgICAgICAgICAgICAgIHJlc291cmNlTWFuYWdlLmVkaXREZXZpY2UodGVtcERhdGEsIChyZXNwb25zZSkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXRlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kbm90aWZ5KHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5L+u5pS55oiQ5YqfJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDIwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNsb3NlKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRwYXJlbnQubG9hZERhdGEoMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKHJlc3BvbnNlLm1lc3NhZ2UpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICB9LA0KfQ0K"},null]}