gs-cae-design 1.1.65 → 1.1.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/docs/classes/CommonInterfaceManager.md +18 -0
- package/lib/.gz +0 -0
- package/lib/CAEDesign.common-report.html +2 -2
- package/lib/CAEDesign.common.js +21 -21
- package/lib/CAEDesign.umd-report.html +2 -2
- package/lib/CAEDesign.umd.js +21 -21
- package/lib/CAEDesign.umd.min-report.html +2 -2
- package/lib/CAEDesign.umd.min.js +21 -21
- package/package.json +1 -1
- package/src/caeCardEditor/caeCardObjects/sacinp/cardSURFID.ts +1 -1
- package/src/gsDevFx/managers/interfaceManagers/commonInterfaceManager.ts +13 -0
- package/src/gsDevFx/objects/pretreatmentObjects/colorDivHeightObject.ts +9 -2
- package/src/viewerWrapper/commands/createMember/commandCreateMember.ts +1 -0
- package/src/viewerWrapper/commands/pretreatment/setAndShowWGTMEM/commandSetAndShowWGTMEM.ts +3 -2
- package/src/viewerWrapper/commands/pretreatment/showWGTMEMData/commandShowWGTMEMData.ts +3 -1
- package/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/commandSurfaceDefinitionEdit.ts +76 -48
- package/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/surfaceDefinitionEditConfig.ts +16 -0
- package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commonInterfaceManager.d.ts +3 -1
- package/types/caeDesign/src/gsDevFx/managers/interfaceManagers/commonInterfaceManager.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/objects/pretreatmentObjects/colorDivHeightObject.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/createMember/commandCreateMember.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/pretreatment/importBoreholes/importBoreholesConfig.d.ts +0 -6
- package/types/caeDesign/src/viewerWrapper/commands/pretreatment/importWave/commandImportWave.d.ts.map +0 -1
- package/types/caeDesign/src/viewerWrapper/commands/pretreatment/setAndShowWGTMEM/commandSetAndShowWGTMEM.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/pretreatment/showWGTMEMData/commandShowWGTMEMData.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/commandSurfaceDefinitionEdit.d.ts +1 -0
- package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/commandSurfaceDefinitionEdit.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/surfaceDefinitionEditConfig.d.ts.map +1 -1
- package/types/ceecDesign/src/api/gslServices.d.ts.map +1 -0
- package/types/ceecDesign/src/gsDevFx/managers/structureTreeManager.d.ts.map +0 -1
- package/types/ceecDesign/src/gsDevFx/objects/designBaseObject/designBaseObject.d.ts +11 -0
- package/types/ceecDesign/src/gsDevFx/objects/designBaseObject/designBaseObject.d.ts.map +1 -0
- package/types/ceecDesign/src/gsDevFx/objects/designLightObject/instanceDesignLightObject.d.ts +0 -9
- package/types/ceecDesign/src/gsDevFx/objects/wireframe/polylineObject.d.ts +14 -0
- package/types/ceecDesign/src/gsDevFx/objects/wireframe/polylineObject.d.ts.map +1 -0
- package/types/ceecDesign/src/gsDevFx/registerType.d.ts +2 -0
- package/types/ceecDesign/src/gsDevFx/registerType.d.ts.map +1 -0
- package/types/ceecDesign/src/utils/cookie.d.ts +38 -0
package/lib/CAEDesign.umd.js
CHANGED
|
@@ -2524,7 +2524,7 @@ eval("var toString = {}.toString;\n\nmodule.exports = Array.isArray || function
|
|
|
2524
2524
|
/*! no static exports found */
|
|
2525
2525
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2526
2526
|
|
|
2527
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLWJ1dHRvbi52dWU/
|
|
2527
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLWJ1dHRvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jNTZmY2UxYSZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2NvbXBvbmVudHMvZ3MtYnV0dG9uLnZ1ZT80NDliIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE3NjE2Mzg3NDU4NzVcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiQzovRGV2ZWxvcG1lbnRzL3Z1ZS10cy1ncy1jYWUtY2xvdWQtdGVzdC0wMjE5L25vZGVfbW9kdWxlcy9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qc1wiKShtb2R1bGUuaWQsIHtcImhtclwiOnRydWUsXCJwdWJsaWNQYXRoXCI6XCIuL1wiLFwibG9jYWxzXCI6ZmFsc2V9KTtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShjc3NSZWxvYWQpO1xuICAgICAgbW9kdWxlLmhvdC5hY2NlcHQodW5kZWZpbmVkLCBjc3NSZWxvYWQpO1xuICAgIH1cbiAgIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdDQUtBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/components/gs-button.vue?vue&type=style&index=0&id=c56fce1a&scoped=true&lang=scss\n");
|
|
2528
2528
|
|
|
2529
2529
|
/***/ }),
|
|
2530
2530
|
|
|
@@ -2535,7 +2535,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2535
2535
|
/*! no static exports found */
|
|
2536
2536
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2537
2537
|
|
|
2538
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLWNvbG9yLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQ1MDViMTljJnNjb3BlZD10cnVlJmxhbmc9c2Nzcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvY29tcG9uZW50cy9ncy1jb2xvci52dWU/
|
|
2538
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLWNvbG9yLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQ1MDViMTljJnNjb3BlZD10cnVlJmxhbmc9c2Nzcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvY29tcG9uZW50cy9ncy1jb2xvci52dWU/ZTEwZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbiAgICBpZihtb2R1bGUuaG90KSB7XG4gICAgICAvLyAxNzYxNjM4NzQ1NzM5XG4gICAgICB2YXIgY3NzUmVsb2FkID0gcmVxdWlyZShcIkM6L0RldmVsb3BtZW50cy92dWUtdHMtZ3MtY2FlLWNsb3VkLXRlc3QtMDIxOS9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9obXIvaG90TW9kdWxlUmVwbGFjZW1lbnQuanNcIikobW9kdWxlLmlkLCB7XCJobXJcIjp0cnVlLFwicHVibGljUGF0aFwiOlwiLi9cIixcImxvY2Fsc1wiOmZhbHNlfSk7XG4gICAgICBtb2R1bGUuaG90LmRpc3Bvc2UoY3NzUmVsb2FkKTtcbiAgICAgIG1vZHVsZS5ob3QuYWNjZXB0KHVuZGVmaW5lZCwgY3NzUmVsb2FkKTtcbiAgICB9XG4gICJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxnQ0FLQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/components/gs-color.vue?vue&type=style&index=0&id=4505b19c&scoped=true&lang=scss\n");
|
|
2539
2539
|
|
|
2540
2540
|
/***/ }),
|
|
2541
2541
|
|
|
@@ -2546,7 +2546,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2546
2546
|
/*! no static exports found */
|
|
2547
2547
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2548
2548
|
|
|
2549
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLWlucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY1YWU3N2NlJnNjb3BlZD10cnVlJmxhbmc9c2Nzcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvY29tcG9uZW50cy9ncy1pbnB1dC52dWU/
|
|
2549
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLWlucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY1YWU3N2NlJnNjb3BlZD10cnVlJmxhbmc9c2Nzcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvY29tcG9uZW50cy9ncy1pbnB1dC52dWU/YjYxNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbiAgICBpZihtb2R1bGUuaG90KSB7XG4gICAgICAvLyAxNzYxNjM4NzQ2MDUxXG4gICAgICB2YXIgY3NzUmVsb2FkID0gcmVxdWlyZShcIkM6L0RldmVsb3BtZW50cy92dWUtdHMtZ3MtY2FlLWNsb3VkLXRlc3QtMDIxOS9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9obXIvaG90TW9kdWxlUmVwbGFjZW1lbnQuanNcIikobW9kdWxlLmlkLCB7XCJobXJcIjp0cnVlLFwicHVibGljUGF0aFwiOlwiLi9cIixcImxvY2Fsc1wiOmZhbHNlfSk7XG4gICAgICBtb2R1bGUuaG90LmRpc3Bvc2UoY3NzUmVsb2FkKTtcbiAgICAgIG1vZHVsZS5ob3QuYWNjZXB0KHVuZGVmaW5lZCwgY3NzUmVsb2FkKTtcbiAgICB9XG4gICJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxnQ0FLQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/components/gs-input.vue?vue&type=style&index=0&id=65ae77ce&scoped=true&lang=scss\n");
|
|
2550
2550
|
|
|
2551
2551
|
/***/ }),
|
|
2552
2552
|
|
|
@@ -2557,7 +2557,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2557
2557
|
/*! no static exports found */
|
|
2558
2558
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2559
2559
|
|
|
2560
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/
|
|
2560
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLWxpc3QudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTlhYzAyOWYmc2NvcGVkPXRydWUmbGFuZz1zY3NzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vW25hbWVdLy4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLWxpc3QudnVlPzBhMjEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgLy8gMTc2MTYzODc0NTc0MFxuICAgICAgdmFyIGNzc1JlbG9hZCA9IHJlcXVpcmUoXCJDOi9EZXZlbG9wbWVudHMvdnVlLXRzLWdzLWNhZS1jbG91ZC10ZXN0LTAyMTkvbm9kZV9tb2R1bGVzL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvaG1yL2hvdE1vZHVsZVJlcGxhY2VtZW50LmpzXCIpKG1vZHVsZS5pZCwge1wiaG1yXCI6dHJ1ZSxcInB1YmxpY1BhdGhcIjpcIi4vXCIsXCJsb2NhbHNcIjpmYWxzZX0pO1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGNzc1JlbG9hZCk7XG4gICAgICBtb2R1bGUuaG90LmFjY2VwdCh1bmRlZmluZWQsIGNzc1JlbG9hZCk7XG4gICAgfVxuICAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsZ0NBS0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/components/gs-list.vue?vue&type=style&index=0&id=19ac029f&scoped=true&lang=scss\n");
|
|
2561
2561
|
|
|
2562
2562
|
/***/ }),
|
|
2563
2563
|
|
|
@@ -2568,7 +2568,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2568
2568
|
/*! no static exports found */
|
|
2569
2569
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2570
2570
|
|
|
2571
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLXNlbGVjdC52dWU/
|
|
2571
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLXNlbGVjdC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0yNTM1MzFiZCZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2NvbXBvbmVudHMvZ3Mtc2VsZWN0LnZ1ZT9iNTNjIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE3NjE2Mzg3NDU4NzZcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiQzovRGV2ZWxvcG1lbnRzL3Z1ZS10cy1ncy1jYWUtY2xvdWQtdGVzdC0wMjE5L25vZGVfbW9kdWxlcy9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qc1wiKShtb2R1bGUuaWQsIHtcImhtclwiOnRydWUsXCJwdWJsaWNQYXRoXCI6XCIuL1wiLFwibG9jYWxzXCI6ZmFsc2V9KTtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShjc3NSZWxvYWQpO1xuICAgICAgbW9kdWxlLmhvdC5hY2NlcHQodW5kZWZpbmVkLCBjc3NSZWxvYWQpO1xuICAgIH1cbiAgIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdDQUtBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/components/gs-select.vue?vue&type=style&index=0&id=253531bd&scoped=true&lang=scss\n");
|
|
2572
2572
|
|
|
2573
2573
|
/***/ }),
|
|
2574
2574
|
|
|
@@ -2579,7 +2579,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2579
2579
|
/*! no static exports found */
|
|
2580
2580
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2581
2581
|
|
|
2582
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLXN3aXRjaC52dWU/
|
|
2582
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9jb21wb25lbnRzL2dzLXN3aXRjaC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03MzM1ZDdmNSZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2NvbXBvbmVudHMvZ3Mtc3dpdGNoLnZ1ZT8wNTY4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE3NjE2Mzg3NDU3NDFcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiQzovRGV2ZWxvcG1lbnRzL3Z1ZS10cy1ncy1jYWUtY2xvdWQtdGVzdC0wMjE5L25vZGVfbW9kdWxlcy9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qc1wiKShtb2R1bGUuaWQsIHtcImhtclwiOnRydWUsXCJwdWJsaWNQYXRoXCI6XCIuL1wiLFwibG9jYWxzXCI6ZmFsc2V9KTtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShjc3NSZWxvYWQpO1xuICAgICAgbW9kdWxlLmhvdC5hY2NlcHQodW5kZWZpbmVkLCBjc3NSZWxvYWQpO1xuICAgIH1cbiAgIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdDQUtBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/components/gs-switch.vue?vue&type=style&index=0&id=7335d7f5&scoped=true&lang=scss\n");
|
|
2583
2583
|
|
|
2584
2584
|
/***/ }),
|
|
2585
2585
|
|
|
@@ -2590,7 +2590,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2590
2590
|
/*! no static exports found */
|
|
2591
2591
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2592
2592
|
|
|
2593
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9nc0RldkZ4L3Byb3BlcnR5Q29tcG9uZW50cy9wcm9wZXJ0eUNvbXBvbmVudC52dWU/
|
|
2593
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9nc0RldkZ4L3Byb3BlcnR5Q29tcG9uZW50cy9wcm9wZXJ0eUNvbXBvbmVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04YjhlYjE5ZSZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2dzRGV2RngvcHJvcGVydHlDb21wb25lbnRzL3Byb3BlcnR5Q29tcG9uZW50LnZ1ZT80ZWJiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE3NjE2Mzg3NDMyNzBcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiQzovRGV2ZWxvcG1lbnRzL3Z1ZS10cy1ncy1jYWUtY2xvdWQtdGVzdC0wMjE5L25vZGVfbW9kdWxlcy9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qc1wiKShtb2R1bGUuaWQsIHtcImhtclwiOnRydWUsXCJwdWJsaWNQYXRoXCI6XCIuL1wiLFwibG9jYWxzXCI6ZmFsc2V9KTtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShjc3NSZWxvYWQpO1xuICAgICAgbW9kdWxlLmhvdC5hY2NlcHQodW5kZWZpbmVkLCBjc3NSZWxvYWQpO1xuICAgIH1cbiAgIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdDQUtBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/gsDevFx/propertyComponents/propertyComponent.vue?vue&type=style&index=0&id=8b8eb19e&scoped=true&lang=scss\n");
|
|
2594
2594
|
|
|
2595
2595
|
/***/ }),
|
|
2596
2596
|
|
|
@@ -2601,7 +2601,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2601
2601
|
/*! no static exports found */
|
|
2602
2602
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2603
2603
|
|
|
2604
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL2NvbXBvbmVudHMvbGVnZW5kLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTc4YzlmMGNmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvdmlld2VyV3JhcHBlci9jb21wb25lbnRzL2xlZ2VuZC52dWU/
|
|
2604
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL2NvbXBvbmVudHMvbGVnZW5kLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTc4YzlmMGNmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvdmlld2VyV3JhcHBlci9jb21wb25lbnRzL2xlZ2VuZC52dWU/ODZhNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbiAgICBpZihtb2R1bGUuaG90KSB7XG4gICAgICAvLyAxNzYxNjM4NzQxNzg3XG4gICAgICB2YXIgY3NzUmVsb2FkID0gcmVxdWlyZShcIkM6L0RldmVsb3BtZW50cy92dWUtdHMtZ3MtY2FlLWNsb3VkLXRlc3QtMDIxOS9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9obXIvaG90TW9kdWxlUmVwbGFjZW1lbnQuanNcIikobW9kdWxlLmlkLCB7XCJobXJcIjp0cnVlLFwicHVibGljUGF0aFwiOlwiLi9cIixcImxvY2Fsc1wiOmZhbHNlfSk7XG4gICAgICBtb2R1bGUuaG90LmRpc3Bvc2UoY3NzUmVsb2FkKTtcbiAgICAgIG1vZHVsZS5ob3QuYWNjZXB0KHVuZGVmaW5lZCwgY3NzUmVsb2FkKTtcbiAgICB9XG4gICJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxnQ0FLQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/viewerWrapper/components/legend.vue?vue&type=style&index=0&id=78c9f0cf&lang=scss&scoped=true\n");
|
|
2605
2605
|
|
|
2606
2606
|
/***/ }),
|
|
2607
2607
|
|
|
@@ -2612,7 +2612,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2612
2612
|
/*! no static exports found */
|
|
2613
2613
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2614
2614
|
|
|
2615
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL3BhbmVsL3BhbmVsQmluZENvbXBvbmVudC52dWU/
|
|
2615
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL3BhbmVsL3BhbmVsQmluZENvbXBvbmVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0zYWE1Yzk2ZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvcGFuZWwvcGFuZWxCaW5kQ29tcG9uZW50LnZ1ZT83YWU3Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE3NjE2Mzg3NDYxNjRcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiQzovRGV2ZWxvcG1lbnRzL3Z1ZS10cy1ncy1jYWUtY2xvdWQtdGVzdC0wMjE5L25vZGVfbW9kdWxlcy9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qc1wiKShtb2R1bGUuaWQsIHtcImhtclwiOnRydWUsXCJwdWJsaWNQYXRoXCI6XCIuL1wiLFwibG9jYWxzXCI6ZmFsc2V9KTtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShjc3NSZWxvYWQpO1xuICAgICAgbW9kdWxlLmhvdC5hY2NlcHQodW5kZWZpbmVkLCBjc3NSZWxvYWQpO1xuICAgIH1cbiAgIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdDQUtBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/viewerWrapper/panel/panelBindComponent.vue?vue&type=style&index=0&id=3aa5c96e&lang=scss&scoped=true\n");
|
|
2616
2616
|
|
|
2617
2617
|
/***/ }),
|
|
2618
2618
|
|
|
@@ -2623,7 +2623,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2623
2623
|
/*! no static exports found */
|
|
2624
2624
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2625
2625
|
|
|
2626
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL3BhbmVsL3N0cnVjdHVyZVRyZWUvaW50ZXJmYWNlU3RydWN0dXJlVHJlZS52dWU/
|
|
2626
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL3BhbmVsL3N0cnVjdHVyZVRyZWUvaW50ZXJmYWNlU3RydWN0dXJlVHJlZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01MmEwMWI2OCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvcGFuZWwvc3RydWN0dXJlVHJlZS9pbnRlcmZhY2VTdHJ1Y3R1cmVUcmVlLnZ1ZT83MWVhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE3NjE2Mzg3MzYxMjBcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiQzovRGV2ZWxvcG1lbnRzL3Z1ZS10cy1ncy1jYWUtY2xvdWQtdGVzdC0wMjE5L25vZGVfbW9kdWxlcy9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qc1wiKShtb2R1bGUuaWQsIHtcImhtclwiOnRydWUsXCJwdWJsaWNQYXRoXCI6XCIuL1wiLFwibG9jYWxzXCI6ZmFsc2V9KTtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShjc3NSZWxvYWQpO1xuICAgICAgbW9kdWxlLmhvdC5hY2NlcHQodW5kZWZpbmVkLCBjc3NSZWxvYWQpO1xuICAgIH1cbiAgIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdDQUtBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/viewerWrapper/panel/structureTree/interfaceStructureTree.vue?vue&type=style&index=0&id=52a01b68&lang=scss&scoped=true\n");
|
|
2627
2627
|
|
|
2628
2628
|
/***/ }),
|
|
2629
2629
|
|
|
@@ -2634,7 +2634,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2634
2634
|
/*! no static exports found */
|
|
2635
2635
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2636
2636
|
|
|
2637
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL3BhbmVsL3ZpZXdQb2ludC9pbnRlcmZhY2VWaWV3UG9pbnRQYW5lbC52dWU/
|
|
2637
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL3BhbmVsL3ZpZXdQb2ludC9pbnRlcmZhY2VWaWV3UG9pbnRQYW5lbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02N2UzOTUyOCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvcGFuZWwvdmlld1BvaW50L2ludGVyZmFjZVZpZXdQb2ludFBhbmVsLnZ1ZT8yZTdjIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE3NjE2Mzg3NDc1MzlcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiQzovRGV2ZWxvcG1lbnRzL3Z1ZS10cy1ncy1jYWUtY2xvdWQtdGVzdC0wMjE5L25vZGVfbW9kdWxlcy9taW5pLWNzcy1leHRyYWN0LXBsdWdpbi9kaXN0L2htci9ob3RNb2R1bGVSZXBsYWNlbWVudC5qc1wiKShtb2R1bGUuaWQsIHtcImhtclwiOnRydWUsXCJwdWJsaWNQYXRoXCI6XCIuL1wiLFwibG9jYWxzXCI6ZmFsc2V9KTtcbiAgICAgIG1vZHVsZS5ob3QuZGlzcG9zZShjc3NSZWxvYWQpO1xuICAgICAgbW9kdWxlLmhvdC5hY2NlcHQodW5kZWZpbmVkLCBjc3NSZWxvYWQpO1xuICAgIH1cbiAgIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdDQUtBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/viewerWrapper/panel/viewPoint/interfaceViewPointPanel.vue?vue&type=style&index=0&id=67e39528&lang=scss&scoped=true\n");
|
|
2638
2638
|
|
|
2639
2639
|
/***/ }),
|
|
2640
2640
|
|
|
@@ -2645,7 +2645,7 @@ eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\
|
|
|
2645
2645
|
/*! no static exports found */
|
|
2646
2646
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2647
2647
|
|
|
2648
|
-
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/
|
|
2648
|
+
eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL3ZpZXdlcldyYXBwZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MjA5YmEwY2Emc2NvcGVkPXRydWUmbGFuZz1zY3NzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vW25hbWVdLy4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL3ZpZXdlcldyYXBwZXIudnVlPzk1M2UiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgLy8gMTc2MTYzODczNjEyMlxuICAgICAgdmFyIGNzc1JlbG9hZCA9IHJlcXVpcmUoXCJDOi9EZXZlbG9wbWVudHMvdnVlLXRzLWdzLWNhZS1jbG91ZC10ZXN0LTAyMTkvbm9kZV9tb2R1bGVzL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvaG1yL2hvdE1vZHVsZVJlcGxhY2VtZW50LmpzXCIpKG1vZHVsZS5pZCwge1wiaG1yXCI6dHJ1ZSxcInB1YmxpY1BhdGhcIjpcIi4vXCIsXCJsb2NhbHNcIjpmYWxzZX0pO1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGNzc1JlbG9hZCk7XG4gICAgICBtb2R1bGUuaG90LmFjY2VwdCh1bmRlZmluZWQsIGNzc1JlbG9hZCk7XG4gICAgfVxuICAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsZ0NBS0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/mini-css-extract-plugin/dist/loader.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./packages/caeDesign/src/viewerWrapper/viewerWrapper.vue?vue&type=style&index=0&id=209ba0ca&scoped=true&lang=scss\n");
|
|
2649
2649
|
|
|
2650
2650
|
/***/ }),
|
|
2651
2651
|
|
|
@@ -2874,7 +2874,7 @@ eval("module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\
|
|
|
2874
2874
|
/*! exports provided: name, version, description, main, types, files, author, license, scripts, dependencies, devDependencies, default */
|
|
2875
2875
|
/***/ (function(module) {
|
|
2876
2876
|
|
|
2877
|
-
eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"gs-cae-design\\\",\\\"version\\\":\\\"1.1.
|
|
2877
|
+
eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"gs-cae-design\\\",\\\"version\\\":\\\"1.1.66\\\",\\\"description\\\":\\\"广州图石科技有限公司发布的基于gs-longan的CAE图形控件\\\",\\\"main\\\":\\\"lib/CAEDesign.umd.min.js\\\",\\\"types\\\":\\\"./types/caeDesign/src/index.d.ts\\\",\\\"files\\\":[\\\"*\\\"],\\\"author\\\":\\\"广州图石科技有限公司\\\",\\\"license\\\":\\\"ISC\\\",\\\"scripts\\\":{\\\"publish\\\":\\\"npm publish \\\",\\\"publishBeta\\\":\\\"npm publish --tag=beta\\\",\\\"publishBeta2\\\":\\\"npm publish --tag=beta2\\\",\\\"typedoc\\\":\\\"typedoc --plugin typedoc-plugin-markdown\\\"},\\\"dependencies\\\":{},\\\"devDependencies\\\":{}}\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vcGFja2FnZS5qc29uLmpzIiwic291cmNlcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/caeDesign/package.json\n");
|
|
2878
2878
|
|
|
2879
2879
|
/***/ }),
|
|
2880
2880
|
|
|
@@ -3314,7 +3314,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
3314
3314
|
/*! no static exports found */
|
|
3315
3315
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3316
3316
|
|
|
3317
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../cardObject */ \"./packages/caeDesign/src/caeCardEditor/caeCardObjects/cardObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject.ts\"), __webpack_require__(/*! ../../../utility/utility */ \"./packages/caeDesign/src/utility/utility.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cardObject_1, surfaceDefinitionObject_1, utility_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CardSURFID = void 0;\n var CardSURFID = function (_super) {\n tslib_1.__extends(CardSURFID, _super);\n function CardSURFID(line) {\n var _this = _super.call(this) || this;\n _this.lineLabel = {\n value: \"SURFID\",\n range: [0, 6],\n span: 1,\n label: \"Line Label\",\n type: \"Character\",\n unit: \"\"\n };\n _this.surfaceID = {\n value: \"\",\n range: [7, 14],\n span: 1,\n label: \"Surface ID\",\n type: \"Character\",\n unit: \"\"\n };\n _this.loadDistuibutionType = {\n value: \"\",\n range: [15, 17],\n span: 1,\n label: \"Load Dist. Type\",\n type: \"NUM\",\n unit: \"\"\n };\n _this.originJointName = {\n value: \"\",\n range: [18, 22],\n span: 1,\n label: \"Origin Joint ID\",\n type: \"Alphanumeric\",\n unit: \"\"\n };\n _this.localXJointName = {\n value: \"\",\n range: [23, 27],\n span: 1,\n label: \"Local X Joint ID\",\n type: \"Alphanumeric\",\n unit: \"\"\n };\n _this.localYJointName = {\n value: \"\",\n range: [27, 32],\n span: 1,\n label: \"Local Y Joint ID\",\n type: \"Alphanumeric\",\n unit: \"\"\n };\n _this.outOfPlaneTolerance = {\n value: \"\",\n range: [33,
|
|
3317
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../cardObject */ \"./packages/caeDesign/src/caeCardEditor/caeCardObjects/cardObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject.ts\"), __webpack_require__(/*! ../../../utility/utility */ \"./packages/caeDesign/src/utility/utility.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cardObject_1, surfaceDefinitionObject_1, utility_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CardSURFID = void 0;\n var CardSURFID = function (_super) {\n tslib_1.__extends(CardSURFID, _super);\n function CardSURFID(line) {\n var _this = _super.call(this) || this;\n _this.lineLabel = {\n value: \"SURFID\",\n range: [0, 6],\n span: 1,\n label: \"Line Label\",\n type: \"Character\",\n unit: \"\"\n };\n _this.surfaceID = {\n value: \"\",\n range: [7, 14],\n span: 1,\n label: \"Surface ID\",\n type: \"Character\",\n unit: \"\"\n };\n _this.loadDistuibutionType = {\n value: \"\",\n range: [15, 17],\n span: 1,\n label: \"Load Dist. Type\",\n type: \"NUM\",\n unit: \"\"\n };\n _this.originJointName = {\n value: \"\",\n range: [18, 22],\n span: 1,\n label: \"Origin Joint ID\",\n type: \"Alphanumeric\",\n unit: \"\"\n };\n _this.localXJointName = {\n value: \"\",\n range: [23, 27],\n span: 1,\n label: \"Local X Joint ID\",\n type: \"Alphanumeric\",\n unit: \"\"\n };\n _this.localYJointName = {\n value: \"\",\n range: [27, 32],\n span: 1,\n label: \"Local Y Joint ID\",\n type: \"Alphanumeric\",\n unit: \"\"\n };\n _this.outOfPlaneTolerance = {\n value: \"\",\n range: [33, 42],\n span: 0,\n label: \"Out-of-Plane Tolerance\",\n type: \"Floating Point\",\n unit: \"m\"\n };\n _this.leaveBlank = {\n value: \"\",\n range: [40, 80],\n span: 0\n };\n _this.init(line);\n return _this;\n }\n CardSURFID.prototype.toRenderObject = function () {\n var surfaceDefinitionObject = new surfaceDefinitionObject_1.SurfaceDefinitionObject(this.surfaceID.value.trimEnd());\n surfaceDefinitionObject.surfaceID = this.surfaceID.value.trimEnd();\n surfaceDefinitionObject.loadDistuibutionType = this.loadDistuibutionType.value.trimEnd();\n surfaceDefinitionObject.originJointName = this.originJointName.value.trimEnd();\n surfaceDefinitionObject.localXJointName = this.localXJointName.value.trimEnd();\n surfaceDefinitionObject.localYJointName = this.localYJointName.value.trimEnd();\n surfaceDefinitionObject.outOfPlaneTolerance = (0, utility_1.CaeNumber)(this.outOfPlaneTolerance.value);\n return surfaceDefinitionObject;\n };\n return CardSURFID;\n }(cardObject_1.CardObject);\n exports.CardSURFID = CardSURFID;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2NhZUNhcmRFZGl0b3IvY2FlQ2FyZE9iamVjdHMvc2FjaW5wL2NhcmRTVVJGSUQudHMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2NhZUNhcmRFZGl0b3IvY2FlQ2FyZE9iamVjdHMvc2FjaW5wL2NhcmRTVVJGSUQudHM/OTdhZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXJkT2JqZWN0IH0gZnJvbSBcIi4uL2NhcmRPYmplY3RcIjtcclxuXHJcbmltcG9ydCB7IFN1cmZhY2VEZWZpbml0aW9uT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL3ByZXRyZWF0bWVudC9zdXJmYWNlRGVmaW5pdGlvbk9iamVjdFwiO1xyXG5pbXBvcnQgeyBDYWVOdW1iZXIgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbGl0eS91dGlsaXR5XCI7XHJcbmV4cG9ydCBjbGFzcyBDYXJkU1VSRklEIGV4dGVuZHMgQ2FyZE9iamVjdCB7XHJcbiAgbGluZUxhYmVsID0ge1xyXG4gICAgdmFsdWU6IFwiU1VSRklEXCIsXHJcbiAgICByYW5nZTogWzAsIDZdLFxyXG4gICAgc3BhbjogMSxcclxuICAgIGxhYmVsOiBcIkxpbmUgTGFiZWxcIixcclxuICAgIHR5cGU6IFwiQ2hhcmFjdGVyXCIsXHJcbiAgICB1bml0OiBcIlwiLFxyXG4gIH07XHJcbiAgc3VyZmFjZUlEID0ge1xyXG4gICAgdmFsdWU6IFwiXCIsXHJcbiAgICByYW5nZTogWzcsIDE0XSxcclxuICAgIHNwYW46IDEsXHJcbiAgICBsYWJlbDogXCJTdXJmYWNlIElEXCIsXHJcbiAgICB0eXBlOiBcIkNoYXJhY3RlclwiLFxyXG4gICAgdW5pdDogXCJcIixcclxuICB9O1xyXG4gIGxvYWREaXN0dWlidXRpb25UeXBlID0ge1xyXG4gICAgdmFsdWU6IFwiXCIsXHJcbiAgICByYW5nZTogWzE1LCAxN10sXHJcbiAgICBzcGFuOiAxLFxyXG4gICAgbGFiZWw6IFwiTG9hZCBEaXN0LiBUeXBlXCIsXHJcbiAgICB0eXBlOiBcIk5VTVwiLFxyXG4gICAgdW5pdDogXCJcIixcclxuICB9O1xyXG4gIG9yaWdpbkpvaW50TmFtZSA9IHtcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gICAgcmFuZ2U6IFsxOCwgMjJdLFxyXG4gICAgc3BhbjogMSxcclxuICAgIGxhYmVsOiBcIk9yaWdpbiBKb2ludCBJRFwiLFxyXG4gICAgdHlwZTogXCJBbHBoYW51bWVyaWNcIixcclxuICAgIHVuaXQ6IFwiXCIsXHJcbiAgfTtcclxuICBsb2NhbFhKb2ludE5hbWUgPSB7XHJcbiAgICB2YWx1ZTogXCJcIixcclxuICAgIHJhbmdlOiBbMjMsIDI3XSxcclxuICAgIHNwYW46IDEsXHJcbiAgICBsYWJlbDogXCJMb2NhbCBYIEpvaW50IElEXCIsXHJcbiAgICB0eXBlOiBcIkFscGhhbnVtZXJpY1wiLFxyXG4gICAgdW5pdDogXCJcIixcclxuICB9O1xyXG4gIGxvY2FsWUpvaW50TmFtZSA9IHtcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gICAgcmFuZ2U6IFsyNywgMzJdLFxyXG4gICAgc3BhbjogMSxcclxuICAgIGxhYmVsOiBcIkxvY2FsIFkgSm9pbnQgSURcIixcclxuICAgIHR5cGU6IFwiQWxwaGFudW1lcmljXCIsXHJcbiAgICB1bml0OiBcIlwiLFxyXG4gIH07XHJcbiAgb3V0T2ZQbGFuZVRvbGVyYW5jZSA9IHtcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gICAgcmFuZ2U6IFszMywgNDJdLFxyXG4gICAgc3BhbjogMCxcclxuICAgIGxhYmVsOiBcIk91dC1vZi1QbGFuZSBUb2xlcmFuY2VcIixcclxuICAgIHR5cGU6IFwiRmxvYXRpbmcgUG9pbnRcIixcclxuICAgIHVuaXQ6IFwibVwiLFxyXG4gIH07XHJcbiAgbGVhdmVCbGFuayA9IHsgdmFsdWU6IFwiXCIsIHJhbmdlOiBbNDAsIDgwXSwgc3BhbjogMCB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihsaW5lPzogc3RyaW5nKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5pbml0KGxpbmUpO1xyXG4gIH1cclxuICB0b1JlbmRlck9iamVjdCgpIHtcclxuICAgIGxldCBzdXJmYWNlRGVmaW5pdGlvbk9iamVjdCA9IG5ldyBTdXJmYWNlRGVmaW5pdGlvbk9iamVjdChcclxuICAgICAgdGhpcy5zdXJmYWNlSUQudmFsdWUudHJpbUVuZCgpXHJcbiAgICApO1xyXG4gICAgc3VyZmFjZURlZmluaXRpb25PYmplY3Quc3VyZmFjZUlEID0gdGhpcy5zdXJmYWNlSUQudmFsdWUudHJpbUVuZCgpO1xyXG4gICAgc3VyZmFjZURlZmluaXRpb25PYmplY3QubG9hZERpc3R1aWJ1dGlvblR5cGUgPVxyXG4gICAgICB0aGlzLmxvYWREaXN0dWlidXRpb25UeXBlLnZhbHVlLnRyaW1FbmQoKTtcclxuICAgIHN1cmZhY2VEZWZpbml0aW9uT2JqZWN0Lm9yaWdpbkpvaW50TmFtZSA9XHJcbiAgICAgIHRoaXMub3JpZ2luSm9pbnROYW1lLnZhbHVlLnRyaW1FbmQoKTtcclxuICAgIHN1cmZhY2VEZWZpbml0aW9uT2JqZWN0LmxvY2FsWEpvaW50TmFtZSA9XHJcbiAgICAgIHRoaXMubG9jYWxYSm9pbnROYW1lLnZhbHVlLnRyaW1FbmQoKTtcclxuICAgIHN1cmZhY2VEZWZpbml0aW9uT2JqZWN0LmxvY2FsWUpvaW50TmFtZSA9XHJcbiAgICAgIHRoaXMubG9jYWxZSm9pbnROYW1lLnZhbHVlLnRyaW1FbmQoKTtcclxuICAgIHN1cmZhY2VEZWZpbml0aW9uT2JqZWN0Lm91dE9mUGxhbmVUb2xlcmFuY2UgPSBDYWVOdW1iZXIoXHJcbiAgICAgIHRoaXMub3V0T2ZQbGFuZVRvbGVyYW5jZS52YWx1ZVxyXG4gICAgKTtcclxuICAgIHJldHVybiBzdXJmYWNlRGVmaW5pdGlvbk9iamVjdDtcclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7QUFBQTtBQTJEQTtBQUFBO0FBMURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7O0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFqRkE7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardSURFID.ts\n");
|
|
3318
3318
|
|
|
3319
3319
|
/***/ }),
|
|
3320
3320
|
|
|
@@ -4031,7 +4031,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
4031
4031
|
/*! no static exports found */
|
|
4032
4032
|
/***/ (function(module, exports, __webpack_require__) {
|
|
4033
4033
|
|
|
4034
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeLightObject/caeLightObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeLightObject/caeLightObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/jointObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/jointObject.ts\"), __webpack_require__(/*! gs-bim-air */ \"./node_modules/gs-bim-air/lib/BimAir.umd.min.js\"), __webpack_require__(/*! ./selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! ../../../gsDevFx/tasks/caeTask */ \"./packages/caeDesign/src/gsDevFx/tasks/caeTask.ts\"), __webpack_require__(/*! ../../../api/renderObjectService */ \"./packages/caeDesign/src/api/renderObjectService.ts\"), __webpack_require__(/*! ../../../gsDevFx/process */ \"./packages/caeDesign/src/gsDevFx/process.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/optionObjects/modelTitle */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/modelTitle.ts\"), __webpack_require__(/*! ../../../caeCardEditor/caeCardObjects/sacinp/cardTITLE */ \"./packages/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardTITLE.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/memberObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/pretreatment/mgrovObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/mgrovObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/pretreatment/corrzObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/corrzObject.ts\"), __webpack_require__(/*! ../../../store */ \"./packages/caeDesign/src/store/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/plateObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/plateObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/grupObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/grupObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/objectColors */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/objectColors.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/instanceSectionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/instanceSectionObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/sectionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/sectionObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/loadObjects/loadConditionObject */ \"./packages/caeDesign/src/gsDevFx/objects/loadObjects/loadConditionObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/loadObjects/loadGroupObject */ \"./packages/caeDesign/src/gsDevFx/objects/loadObjects/loadGroupObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/loadObjects/jointLoadObject */ \"./packages/caeDesign/src/gsDevFx/objects/loadObjects/jointLoadObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/loadObjects/currLoadObject */ \"./packages/caeDesign/src/gsDevFx/objects/loadObjects/currLoadObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.ts\"), __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\"), __webpack_require__(/*! ../../../viewerWrapper/module/legendManage */ \"./packages/caeDesign/src/viewerWrapper/module/legendManage.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, caeLightObject_1, jointObject_1, gs_bim_air_1, selectionInterfaceManager_1, caeTask_1, renderObjectService_1, process_1, modelTitle_1, cardTITLE_1, gs_ceec_design_1, memberObject_1, gs_ceec_design_2, mgrovObject_1, corrzObject_1, store_1, plateObject_1, grupObject_1, objectColors_1, instanceSectionObject_1, sectionObject_1, loadConditionObject_1, loadGroupObject_1, jointLoadObject_1, currLoadObject_1, cdmRenderObject_1, element_ui_1, legendManage_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CommonInterfaceManager = exports.SwitchColorDivide = void 0;\n renderObjectService_1 = tslib_1.__importDefault(renderObjectService_1);\n store_1 = tslib_1.__importDefault(store_1);\n var SwitchColorDivide;\n (function (SwitchColorDivide) {\n SwitchColorDivide[SwitchColorDivide[\"GrupName\"] = 0] = \"GrupName\";\n SwitchColorDivide[SwitchColorDivide[\"GrupThickness\"] = 1] = \"GrupThickness\";\n SwitchColorDivide[SwitchColorDivide[\"Mgrov\"] = 2] = \"Mgrov\";\n SwitchColorDivide[SwitchColorDivide[\"Corrz\"] = 3] = \"Corrz\";\n SwitchColorDivide[SwitchColorDivide[\"Cancel\"] = 4] = \"Cancel\";\n SwitchColorDivide[SwitchColorDivide[\"ComponentGroup\"] = 5] = \"ComponentGroup\";\n })(SwitchColorDivide = exports.SwitchColorDivide || (exports.SwitchColorDivide = {}));\n var CommonInterfaceManager = function (_super) {\n tslib_1.__extends(CommonInterfaceManager, _super);\n function CommonInterfaceManager(viewer) {\n var _this = _super.call(this, viewer) || this;\n _this.currentSelectWaveItemName = null;\n _this.currentBoreholeObjects = null;\n _this.boreholeLegend = null;\n _this.boreholeCutLineDisplay = false;\n _this.showEnglishText = false;\n _this.copyedExternalEvent = null;\n _this.elementKey = \"cutline\";\n _this.activeBoreholeName = null;\n return _this;\n }\n CommonInterfaceManager.prototype.showPlotTitle = function () {\n var result = null;\n var process = this.viewer.process;\n var titleRO = process.findRenderObjectByType(\"ModelTitle\");\n if (titleRO) {\n if (titleRO instanceof modelTitle_1.ModelTitle) {\n result = titleRO.cardObject.title.value;\n }\n } else {\n result = \"Active Structure\";\n }\n return result;\n };\n CommonInterfaceManager.prototype.editPlotTitle = function (title) {\n var process = this.viewer.process;\n if (!title || title.trimEnd() === \"\") {\n var titleRO_1 = process.findRenderObjectByType(\"ModelTitle\");\n if (titleRO_1) {\n titleRO_1.tempDelete(this.viewer);\n return 1;\n }\n }\n var islegal = this.checTitlekNamelegal(title);\n if (!islegal) {\n return 2;\n }\n var titleRO = process.findRenderObjectByType(\"ModelTitle\");\n if (titleRO) {\n if (titleRO instanceof modelTitle_1.ModelTitle) {\n titleRO.cardObject.title.value = title;\n titleRO.cardData = titleRO.cardObject.getLine();\n }\n } else {\n var titleRO_2 = new modelTitle_1.ModelTitle();\n titleRO_2.name = \"TITLE\";\n var line = \" \" + title;\n titleRO_2.cardData = line;\n titleRO_2.cardObject = new cardTITLE_1.CardTITLE(line);\n process.addRenderObject(process.caeRenderObjectTreeManager.sacinpNode, titleRO_2);\n }\n return 1;\n };\n CommonInterfaceManager.prototype.checTitlekNamelegal = function (name) {\n var reg = /^[A-Z0-9]*$/;\n if (!reg.test(name) || name.trimEnd().length > 125) {\n console.log(\"空间点名称不符合规范\");\n return false;\n }\n return true;\n };\n CommonInterfaceManager.prototype.resetView = function (isSetViewMode) {\n var _a, _b, _c;\n if (isSetViewMode === void 0) {\n isSetViewMode = true;\n }\n var viewer = this.viewer.process.activeViewer;\n viewer.selectionManager.clearAllSelectionAndHighlight();\n viewer.process.commandManager.closeAllCommands();\n viewer.commonInterfaceManager.colorSwitch(SwitchColorDivide.Cancel);\n viewer.commonInterfaceManager.finiteElementSwitch(false);\n viewer.commonInterfaceManager.waveSwitch(false);\n viewer.commonInterfaceManager.boreholeSwitch(false);\n viewer.viewInterfaceManager.setJointNumberVisible(false);\n viewer.viewInterfaceManager.setJointRestraintVisible(false);\n viewer.viewInterfaceManager.setMemberFixityVisible(false);\n viewer.viewInterfaceManager.setMemberLocalAxisVisible(false);\n viewer.viewInterfaceManager.setMemberSectionSizeVisible(false);\n viewer.viewInterfaceManager.setGrupNumberVisible(false);\n viewer.viewInterfaceManager.continuesRotate(false);\n viewer.viewInterfaceManager.setCameraSelect();\n var process = viewer.process;\n (_a = process.caeRenderObjectTreeManager.jointNode) === null || _a === void 0 ? void 0 : _a.childObjects.forEach(function (obj) {\n viewer.findInstanceObject(obj).viewerVisible = true;\n viewer.findInstanceObject(obj).visible = true;\n obj.clearSvg();\n });\n (_b = process.caeRenderObjectTreeManager.memberNode) === null || _b === void 0 ? void 0 : _b.childObjects.forEach(function (obj) {\n viewer.findInstanceObject(obj).viewerVisible = true;\n viewer.findInstanceObject(obj).visible = true;\n obj.clearSvg();\n });\n (_c = process.caeRenderObjectTreeManager.plateNode) === null || _c === void 0 ? void 0 : _c.childObjects.forEach(function (obj) {\n viewer.findInstanceObject(obj).viewerVisible = true;\n viewer.findInstanceObject(obj).visible = true;\n obj.clearSvg();\n });\n viewer.viewInterfaceManager.memberLineView(false);\n viewer.viewInterfaceManager.plateLineView(false);\n if (isSetViewMode) {\n viewer.setViewMode(gs_bim_air_1.Longan.ViewMode.OFSIso, true);\n }\n };\n CommonInterfaceManager.prototype.redraw = function () {\n var process = this.viewer.process;\n process.viewers.forEach(function (vi) {\n console.log(\"vi\");\n vi.exeSceneCameraChanged(gs_bim_air_1.Longan.LonganCore.CameraChangeType.Rotate | gs_bim_air_1.Longan.LonganCore.CameraChangeType.Scale | gs_bim_air_1.Longan.LonganCore.CameraChangeType.Translate);\n vi.updateDisplay();\n });\n };\n CommonInterfaceManager.prototype.checkIsFiniteElement = function () {\n var isFE = true;\n var viewer = this.viewer;\n var grupNode = viewer.process.caeRenderObjectTreeManager.grupNode;\n grupNode === null || grupNode === void 0 ? void 0 : grupNode.childObjects.forEach(function (grup) {\n if (grup instanceof grupObject_1.GrupObject) {\n if (grup.grupSegments.length > 1) {\n isFE = false;\n return isFE;\n }\n }\n });\n console.log(\"isFE:\", isFE);\n return isFE;\n };\n CommonInterfaceManager.prototype.openModel = function (modelId, isReplace) {\n var viewer = this.viewer;\n return new Promise(function (resolve, reject) {\n viewer.loadModel(modelId, isReplace).then(function (model) {\n viewer.process.historyManager.clearDeltaState();\n viewer.sceneSegment.renderingOptions.cullingMaximumExtent = 0;\n console.log(\"model\", model);\n var ro = viewer.renderObject;\n var caeTask = new caeTask_1.CAETask(ro, viewer);\n caeTask.workRenderObjectService = renderObjectService_1.default;\n viewer.process.taskManager.execute(caeTask);\n viewer.structureTreeManager.update();\n viewer.updateDisplay();\n viewer.setViewMode(gs_bim_air_1.Longan.ViewMode.OFSIso, true);\n viewer.postInterfaceManager.requestDBData();\n resolve();\n }).catch(function (reason) {\n console.log(\"reason:\", reason);\n element_ui_1.Message.info(reason);\n reject(reason);\n });\n });\n };\n CommonInterfaceManager.prototype.checkNeedSave = function () {\n var rootRO = this.viewer.process.caeRenderObjectTreeManager.rootNode;\n if (rootRO instanceof caeLightObject_1.CAELightObject) {\n var result = gs_ceec_design_1.PersistenceManager.saveDesign(rootRO);\n if (result.createList.length > 0 || result.deleteList.length > 0 || result.editList.length > 0) {\n return true;\n } else {\n return false;\n }\n }\n return false;\n };\n CommonInterfaceManager.prototype.save = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var rootRO = _this.viewer.process.caeRenderObjectTreeManager.rootNode;\n if (rootRO instanceof caeLightObject_1.CAELightObject) {\n rootRO.save(_this.viewer).then(function (data) {\n resolve(data);\n });\n }\n });\n };\n CommonInterfaceManager.prototype.exportDATFile = function () {\n console.log(\"export\");\n var datCardData = this.viewer.datWriterManager.exportDATFile();\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.exportMemberData = function (isExportAll) {\n if (isExportAll === void 0) {\n isExportAll = true;\n }\n console.log(\"export member\");\n var datCardData = this.viewer.datWriterManager.exportMemberData(isExportAll);\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.exportPileData = function (isExportAll) {\n if (isExportAll === void 0) {\n isExportAll = true;\n }\n console.log(\"export pile\");\n var datCardData = this.viewer.datWriterManager.exportPileData(isExportAll);\n if (datCardData === null) {\n return null;\n }\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.exportDATFile_Seainp = function () {\n console.log(\"export_seainp\");\n var viewer = this.viewer;\n var datCardData = viewer.datWriterManager.exportDATFile_Seainp();\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.exportDATFile_Sacinp = function () {\n console.log(\"export_sacinp\");\n var viewer = this.viewer;\n var datCardData = viewer.datWriterManager.exportDATFile_Sacinp();\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.importDATData = function (content, overWrite) {\n if (overWrite === void 0) {\n overWrite = false;\n }\n console.log(\"importDATData\", content);\n this.viewer.datReaderManager.importDATData(content, overWrite);\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.importSEAData = function (content) {\n console.log(\"importSEAData\");\n var ro = this.viewer.process.findRenderObjectByType(\"SeastateLdopt\");\n if (ro) {\n var message = \"已经存在海况数据\";\n element_ui_1.Message.error(message);\n return;\n }\n this.viewer.datReaderManager.importSeainpData(content);\n this.viewer.updateDisplay();\n this.viewer.structureTreeManager.update();\n return \"importSEAData successful\";\n };\n CommonInterfaceManager.prototype.importSeaociData = function (content) {\n console.log(\"importSeaociData\");\n this.viewer.datReaderManager.importSeaociData(content);\n this.viewer.updateDisplay();\n this.viewer.structureTreeManager.update();\n return \"importSeaociData successful\";\n };\n CommonInterfaceManager.prototype.importPSIData = function (content) {\n console.log(\"importPSIData\");\n this.viewer.datReaderManager.importPSIData(content);\n this.viewer.updateDisplay();\n this.viewer.structureTreeManager.update();\n };\n CommonInterfaceManager.prototype.historyBack = function () {\n if (process_1.Process.activeProcess.historyManager.canRollBack) {\n process_1.Process.activeProcess.historyManager.rollBack();\n }\n };\n CommonInterfaceManager.prototype.historyForward = function () {\n if (process_1.Process.activeProcess.historyManager.canRollForward) {\n process_1.Process.activeProcess.historyManager.rollForward();\n }\n };\n CommonInterfaceManager.prototype.selectAll = function () {\n var viewer = this.viewer;\n viewer.selectionManager.clearAllSelectionAndHighlight();\n switch (viewer.selectionInterfaceManager.selectorFilter) {\n case selectionInterfaceManager_1.SelectorFiliter.Joint:\n this.selectAllJoints();\n break;\n case selectionInterfaceManager_1.SelectorFiliter.Member:\n this.selectAllMembers();\n break;\n case selectionInterfaceManager_1.SelectorFiliter.Plate:\n this.selectAllPlates();\n break;\n case selectionInterfaceManager_1.SelectorFiliter.All:\n this.selectAllJoints();\n this.selectAllMembers();\n this.selectAllPlates();\n break;\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.createViewPoint = function (viewPointName) {\n this.viewer.caePanelManager.viewPointPanelCae.addViewPoint(viewPointName).then(function () {});\n };\n CommonInterfaceManager.prototype.selectAllJoints = function () {\n var joints = this.viewer.process.findRenderObjectsByType(\"JointObject\");\n var keys = new Array();\n var paths = new Array();\n joints.forEach(function (item) {\n keys.push(item.segment.key);\n paths.push(item.segment.path);\n });\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n };\n CommonInterfaceManager.prototype.selectAllMembers = function () {\n var members = this.viewer.process.findRenderObjectsByType(\"MemberObject\");\n var keys = new Array();\n var paths = new Array();\n members.forEach(function (item) {\n keys.push(item.segment.key);\n paths.push(item.segment.path);\n });\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n };\n CommonInterfaceManager.prototype.selectAllPlates = function () {\n var plates = this.viewer.process.findRenderObjectsByType(\"PlateObject\");\n var keys = new Array();\n var paths = new Array();\n plates.forEach(function (item) {\n keys.push(item.segment.key);\n paths.push(item.segment.path);\n });\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n };\n CommonInterfaceManager.prototype.findJoint = function (jointName) {\n var process = this.viewer.process;\n var ro = process.findCaeObjectByNameInChildObject(process.caeRenderObjectTreeManager.jointNode, jointName);\n if (ro && ro instanceof jointObject_1.JointObject) {\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.locateWorld(ro.segment);\n this.viewer.selectionManager.selectAndHighlightKeys([ro.segment.key], [ro.segment.path]);\n this.viewer.updateDisplay();\n return ro;\n } else {\n return null;\n }\n };\n CommonInterfaceManager.prototype.renameJoint = function (originJointName, newJointName, useNextAvaliable) {\n var process = this.viewer.process;\n var result = {};\n if (!jointObject_1.JointObject.checkNamelegal(newJointName)) {\n result = 3;\n return result;\n }\n var jointNode = process.caeRenderObjectTreeManager.jointNode;\n var ro = process.findCaeObjectByNameInChildObject(jointNode, originJointName);\n if (ro && ro instanceof jointObject_1.JointObject) {\n if (!useNextAvaliable) {\n var newNameRO = process.findCaeObjectByNameInChildObject(jointNode, newJointName);\n if (newNameRO) {\n result = 3 + \",\" + newJointName;\n return result;\n }\n } else {\n newJointName = process.caeRenderObjectTreeManager.nameAscendingOrder(newJointName, 1, process.nameMapJoint)[0];\n }\n ro.name = newJointName;\n ro.setNeedUpdate();\n result = 2 + \",\" + originJointName + \",\" + newJointName;\n } else {\n result = 1 + \",\" + originJointName;\n }\n return result;\n };\n CommonInterfaceManager.prototype.findMember = function (memberName) {\n var process = this.viewer.process;\n var ro = process.findCaeObjectByNameInChildObject(process.caeRenderObjectTreeManager.memberNode, memberName);\n if (ro && ro instanceof memberObject_1.MemberObject) {\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.locateWorld(ro.segment);\n this.viewer.selectionManager.selectAndHighlightKeys([ro.segment.key], [ro.segment.path]);\n this.viewer.updateDisplay();\n return ro;\n } else {\n return null;\n }\n };\n CommonInterfaceManager.prototype.highlightMemberByNames = function (names) {\n var process = this.viewer.process;\n var keys = [];\n var paths = [];\n for (var i = 0; i < names.length; i++) {\n var obj = process.findCaeObjectByNameInChildObject(process.caeRenderObjectTreeManager.memberNode, names[i]);\n if (obj) {\n keys.push(obj.segment.key);\n paths.push(obj.segment.path);\n } else {\n console.log(\"找不到\" + names[i]);\n }\n }\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.highlightPlateByNames = function (names) {\n var keys = [];\n var paths = [];\n for (var i = 0; i < names.length; i++) {\n var obj = this.viewer.process.findCaeObjectByNameInChildObject(this.viewer.process.caeRenderObjectTreeManager.plateNode, names[i]);\n if (obj) {\n keys.push(obj.segment.key);\n paths.push(obj.segment.path);\n } else {\n console.log(\"找不到\" + names[i]);\n }\n }\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.findPlate = function (plateName) {\n var process = this.viewer.process;\n var ro = process.findCaeObjectByNameInChildObject(process.caeRenderObjectTreeManager.plateNode, plateName);\n if (ro && ro instanceof plateObject_1.PlateObject) {\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.locateWorld(ro.segment);\n this.viewer.selectionManager.selectAndHighlightKeys([ro.segment.key], [ro.segment.path]);\n this.viewer.updateDisplay();\n return ro;\n } else {\n return null;\n }\n };\n CommonInterfaceManager.prototype.getStructureTreeData = function () {\n var rootNode = this.viewer.structureTreeManager.rootNode;\n return rootNode;\n };\n CommonInterfaceManager.prototype.getMemberGrups = function () {\n var grupNameList = new Array();\n var grupObjectGroup = this.viewer.process.findRenderObjectByName(\"杆件截面组\");\n if (grupObjectGroup) {\n grupObjectGroup.childObjects.map(function (item) {\n grupNameList.push(item.name);\n });\n }\n return grupNameList;\n };\n CommonInterfaceManager.prototype.addStructureNode = function (parent, ro) {\n this.viewer.process.addRenderObject(parent, ro);\n };\n CommonInterfaceManager.prototype.removeStructureNode = function (ro) {\n this.viewer.process.removeRenderObject(ro);\n };\n CommonInterfaceManager.prototype.createMgrovObject = function () {\n var mgrov = new mgrovObject_1.MgrovObject();\n return mgrov;\n };\n CommonInterfaceManager.prototype.createCorrzObject = function () {\n var corrz = new corrzObject_1.CorrzObject();\n return corrz;\n };\n CommonInterfaceManager.prototype.clearChildObjects = function (viewer, ro) {\n if (ro) {\n while (ro.childObjects.length > 0) {\n viewer.process.removeRenderObject(ro.childObjects[0]);\n }\n }\n };\n CommonInterfaceManager.prototype.clearCaeRenderObject = function (viewer) {\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.memberNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.plateNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.jointNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.grupNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.pGrupNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.sectionInsNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.sacinpNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.seastateNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.pileNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.plGrupNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.postResultNode);\n };\n CommonInterfaceManager.prototype.colorDivSwitch_GrupName = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var colorDivideRO = process.findRenderObjectByName(\"按截面组号分色\");\n if (colorDivideRO) {\n for (var i = 0; i < colorDivideRO.childObjects.length; i++) {\n var obj = colorDivideRO.childObjects[i];\n if (obj.checkBusinessStateIsActive()) {\n if (on_off) {\n obj.active(viewer);\n } else {\n obj.inactive(viewer);\n }\n }\n }\n if (on_off) {\n var cutline = {};\n if (colorDivideRO) {\n legendManage_1.LegendManage.destory(this.elementKey);\n cutline = colorDivideRO.getCutline();\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Colored By Member Groups\";\n component.leftText = \"Color\";\n component.rightText = \"Member Groups\";\n } else {\n component.title = \"截面组分色\";\n component.leftText = \"颜色\";\n component.rightText = \"截面组名\";\n }\n }\n } else {\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.colorDivSwitch_GrupThickness = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var colorDivideRO = process.findRenderObjectByName(\"按截面壁厚分色\");\n if (colorDivideRO) {\n for (var i = 0; i < colorDivideRO.childObjects.length; i++) {\n var obj = colorDivideRO.childObjects[i];\n if (obj.checkBusinessStateIsActive()) {\n if (on_off) {\n obj.active(viewer);\n } else {\n obj.inactive(viewer);\n }\n }\n }\n if (on_off) {\n var cutline = {};\n if (colorDivideRO) {\n legendManage_1.LegendManage.destory(this.elementKey);\n cutline = colorDivideRO.getCutline();\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Colored By Thickness\";\n component.leftText = \"Color\";\n component.rightText = \"Thickness(cm)\";\n } else {\n component.title = \"壁厚分色\";\n component.leftText = \"颜色\";\n component.rightText = \"壁厚(cm)\";\n }\n }\n } else {\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.colordDivSwitch_Mgrov = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var colorDivideRO = process.findRenderObjectByName(\"海生物厚度按高程分色\");\n if (colorDivideRO && colorDivideRO.checkBusinessStateIsActive()) {\n var obj = colorDivideRO;\n if (on_off) {\n obj.active(viewer);\n var cutline = {};\n if (colorDivideRO) {\n var obj_1 = colorDivideRO;\n var thicknessIndex = 0;\n for (var i = 0; i < obj_1.heightList.length; i += 2) {\n var bottom = obj_1.heightList[i];\n var top_1 = obj_1.heightList[i + 1];\n var key = bottom + \"~\" + top_1 + \":\" + obj_1.thickness[thicknessIndex];\n var color = [obj_1.color[i / 2 * 4 + 0], obj_1.color[i / 2 * 4 + 1], obj_1.color[i / 2 * 4 + 2], obj_1.color[i / 2 * 4 + 3]];\n if (color[0] === -1 && color[1] === -1 && color[2] === -1) {\n continue;\n }\n color[0] *= 255;\n color[1] *= 255;\n color[2] *= 255;\n cutline[key] = color;\n thicknessIndex++;\n }\n legendManage_1.LegendManage.destory(this.elementKey);\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Marine Growth Zones\";\n component.leftText = \"Color\";\n component.rightText = \"Height Range(m): Thickness(mm)\";\n } else {\n component.title = \"海生物厚度分色\";\n component.leftText = \"颜色\";\n component.rightText = \"高度范围(m): 厚度(mm)\";\n }\n }\n } else {\n obj.inactive(viewer);\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.colordDivSwitch_Corrz = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var colorDivideRO = process.findRenderObjectByName(\"腐蚀余量按高程分色\");\n if (colorDivideRO && colorDivideRO.checkBusinessStateIsActive()) {\n var obj = colorDivideRO;\n if (on_off) {\n obj.active(viewer);\n var cutline = {};\n if (colorDivideRO) {\n var obj_2 = colorDivideRO;\n var thicknessIndex = 0;\n for (var i = 0; i < obj_2.heightList.length; i += 2) {\n var bottom = obj_2.heightList[i];\n var top_2 = obj_2.heightList[i + 1];\n var keyLevelBottom = obj_2.corrzList[thicknessIndex].thicknessBottom;\n if (!keyLevelBottom) {\n keyLevelBottom = 0;\n }\n var keyLevelTop = obj_2.corrzList[thicknessIndex].thicknessTop;\n if (!keyLevelTop) {\n keyLevelTop = 0;\n }\n var key = bottom + \"~\" + top_2 + \":\" + keyLevelBottom + \"~\" + keyLevelTop;\n var color = [obj_2.color[i / 2 * 4 + 0], obj_2.color[i / 2 * 4 + 1], obj_2.color[i / 2 * 4 + 2], obj_2.color[i / 2 * 4 + 3]];\n if (color[0] === -1 && color[1] === -1 && color[2] === -1) {\n continue;\n }\n color[0] *= 255;\n color[1] *= 255;\n color[2] *= 255;\n cutline[key] = color;\n thicknessIndex++;\n }\n legendManage_1.LegendManage.destory(this.elementKey);\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Corrosion Zones\";\n component.leftText = \"Color\";\n component.rightText = \"Height Range(m): Thickness(mm)\";\n } else {\n component.title = \"腐蚀余量分色\";\n component.leftText = \"颜色\";\n component.rightText = \"壁高度范围(m): 厚度(mm)\";\n }\n }\n } else {\n obj.inactive(viewer);\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.colorDivSwitch_ComponentGroup = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var componentGroups = process.findRenderObjectByName(\"构件分组分色\");\n if (componentGroups) {\n for (var i = 0; i < componentGroups.childObjects.length; i++) {\n var obj = componentGroups.childObjects[i];\n if (obj.checkBusinessStateIsActive()) {\n this.setAllComponentGroupVisible(obj.name);\n if (on_off) {\n obj.active(viewer);\n } else {\n obj.inactive(viewer);\n }\n }\n }\n if (on_off) {\n var cutline = {};\n if (componentGroups) {\n legendManage_1.LegendManage.destory(this.elementKey);\n for (var i = 0; i < componentGroups.childObjects.length; i++) {\n var obj = componentGroups.childObjects[i];\n if (obj.checkBusinessStateIsActive()) {\n var color = gs_bim_air_1.Longan.deepClone(obj.color);\n cutline[obj.name] = color;\n }\n }\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Set Colors\";\n component.leftText = \"Color\";\n component.rightText = \"Set Name\";\n } else {\n component.title = \"自定义构件分组分色\";\n component.leftText = \"颜色\";\n component.rightText = \"分组名\";\n }\n }\n } else {\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.setAllComponentGroupVisible = function (groupName) {\n var viewer = this.viewer;\n var process = this.viewer.process;\n var componentGroups = process.findRenderObjectByName(\"构件分组分色\");\n if (componentGroups) {\n for (var i = 0; i < componentGroups.childObjects.length; i++) {\n var obj = componentGroups.childObjects[i];\n if (obj.name === groupName) {\n if (obj.checkBusinessStateIsActive()) {\n obj.isVisible = true;\n obj.businessState = gs_ceec_design_2.BusinessState.Editing;\n obj.setChildVisible(viewer, true);\n }\n break;\n }\n }\n }\n };\n CommonInterfaceManager.prototype.colorSwitch = function (state, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n switch (state) {\n case SwitchColorDivide.GrupName:\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n this.colorDivSwitch_GrupName(true, isUpdate);\n break;\n case SwitchColorDivide.GrupThickness:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n this.colorDivSwitch_GrupThickness(true, isUpdate);\n break;\n case SwitchColorDivide.Mgrov:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n this.colordDivSwitch_Mgrov(true, isUpdate);\n break;\n case SwitchColorDivide.Corrz:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n this.colordDivSwitch_Corrz(true, isUpdate);\n break;\n case SwitchColorDivide.ComponentGroup:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(true, isUpdate);\n break;\n case SwitchColorDivide.Cancel:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n break;\n }\n };\n CommonInterfaceManager.prototype.componentGroupColorVisibleSwitch = function (groupName, on_off) {\n var viewer = this.viewer;\n var process = this.viewer.process;\n var componentGroups = process.findRenderObjectByName(\"构件分组分色\");\n if (componentGroups) {\n for (var i = 0; i < componentGroups.childObjects.length; i++) {\n var obj = componentGroups.childObjects[i];\n if (obj.name === groupName) {\n if (obj.checkBusinessStateIsActive()) {\n obj.businessState = gs_ceec_design_2.BusinessState.Editing;\n if (on_off) {\n obj.active(viewer);\n } else {\n obj.inactive(viewer);\n }\n }\n break;\n }\n }\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.waveSwitch = function (on_off) {\n var process = this.viewer.process;\n var wave = process.findRenderObjectByName(\"波面\");\n if (!wave) {\n return -1;\n }\n var currentWaveItemObject = process.findCaeObjectByNameInChildObject(wave, this.currentSelectWaveItemName);\n if (currentWaveItemObject) {\n if (on_off) {\n currentWaveItemObject.active(this.viewer);\n store_1.default.state.info = currentWaveItemObject.toString();\n } else {\n currentWaveItemObject.inactive(this.viewer);\n store_1.default.state.info = null;\n }\n } else {\n store_1.default.state.info = null;\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.boreholeSwitch = function (on_off) {\n var process = this.viewer.process;\n var parentNode = process.findRenderObjectByName(\"土层和波面\");\n if (!parentNode) {\n return -1;\n }\n var elementKey = \"soild\";\n if (parentNode && on_off) {\n this.boreholeCutLineDisplay = true;\n for (var i = 0; i < parentNode.childObjects.length; i++) {\n parentNode.childObjects[i].active();\n }\n legendManage_1.LegendManage.create(elementKey, this.boreholeLegend, \"土层数据\", \"颜色\", \"土层名\", {\n right: \"0px\",\n bottom: \"0px\"\n });\n } else {\n this.boreholeCutLineDisplay = false;\n for (var i = 0; i < parentNode.childObjects.length; i++) {\n parentNode.childObjects[i].inactive();\n }\n legendManage_1.LegendManage.destory(elementKey);\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.checkPSI = function () {\n var exist = false;\n if (!this.viewer.datReaderManager.psiopt) {\n console.log(\"没有桩土数据.\");\n exist = false;\n } else {\n exist = true;\n }\n return exist;\n };\n CommonInterfaceManager.prototype.checkSeainp = function () {\n var exist = false;\n var ro = this.viewer.process.findRenderObjectByType(\"SeastateLdopt\");\n if (ro) {\n exist = true;\n }\n return exist;\n };\n CommonInterfaceManager.prototype.finiteElementSwitch = function (visible) {\n var members = this.viewer.process.findRenderObjectsByType(\"MemberObject\");\n if (visible) {\n for (var i = 0; i < members.length; i++) {\n var member = members[i];\n member.segmentLengthCoeff = memberObject_1.MemberObject.g_GridRatio;\n if (member.segmentLengthCoeff === -1) {\n member.segmentLengthCoeff = 0.9;\n }\n member.setNeedUpdate();\n }\n this.viewer.updateDisplay();\n } else {\n for (var i = 0; i < members.length; i++) {\n var member = members[i];\n member.segmentLengthCoeff = 1;\n member.setNeedUpdate();\n }\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.editColors = function (backgroundColor, jointColor, memberColorLine, memberColorFace, plateColor) {\n objectColors_1.ObjectColor.jointColor = jointColor;\n objectColors_1.ObjectColor.memberFaceColor = memberColorFace;\n objectColors_1.ObjectColor.memberLineColor = memberColorLine;\n objectColors_1.ObjectColor.plateColor = plateColor;\n this.viewer.backgroundColor = backgroundColor;\n var joints = this.viewer.process.findRenderObjectsByType(\"JointObject\");\n joints.forEach(function (item) {\n item.segment.color.setMarker(jointColor);\n });\n var members = this.viewer.process.findRenderObjectsByType(\"MemberObject\");\n members.forEach(function (item) {\n item.faceColor = memberColorFace;\n item.lineColor = memberColorLine;\n item.setNeedUpdate();\n });\n var plates = this.viewer.process.findRenderObjectsByType(\"PlateObject\");\n plates.forEach(function (item) {\n item.faceColor = plateColor;\n item.setNeedUpdate();\n });\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.editLabelColors = function (jointLabel, memberLabel, plateLabel, loadLabel) {\n objectColors_1.ObjectColor.jointLabelColor = jointLabel;\n objectColors_1.ObjectColor.memberLabelColor = memberLabel;\n objectColors_1.ObjectColor.plateLabelColor = plateLabel;\n objectColors_1.ObjectColor.loadLabelColor = loadLabel;\n var joints = this.viewer.process.findRenderObjectsByType(\"JointObject\");\n joints.forEach(function (item) {\n item.isDrawSvg = false;\n item.isDrawSvg = true;\n });\n var members = this.viewer.process.findRenderObjectsByType(\"MemberObject\");\n members.forEach(function (item) {\n item.isDrawSvg = false;\n item.isDrawSvg = true;\n });\n var plates = this.viewer.process.findRenderObjectsByType(\"PlateObject\");\n plates.forEach(function (item) {\n item.isDrawSvg = false;\n item.isDrawSvg = true;\n });\n this.viewer.exeSceneCameraChanged(gs_bim_air_1.Longan.LonganCore.CameraChangeType.Scale);\n };\n CommonInterfaceManager.prototype.editSectionLabelColors = function (sectionViewer, backgroundColor, lineLabelColor, arrowLabelColor, textLabelColor) {\n if (backgroundColor) {\n sectionViewer.backgroundColor = backgroundColor;\n }\n if (lineLabelColor) {\n instanceSectionObject_1.InstanceSectionObject.lineLabelColor = lineLabelColor;\n }\n if (arrowLabelColor) {\n instanceSectionObject_1.InstanceSectionObject.arrowLabelColor = arrowLabelColor;\n }\n if (textLabelColor) {\n instanceSectionObject_1.InstanceSectionObject.textLabelColor = textLabelColor;\n }\n var root = sectionViewer.renderObject;\n root === null || root === void 0 ? void 0 : root.childObjects.forEach(function (section) {\n if (section instanceof sectionObject_1.SectionObject) {\n var iro_1 = sectionViewer.findInstanceObject(section);\n if (iro_1) {\n iro_1.removeSvg();\n setTimeout(function () {\n iro_1.drawSvg();\n }, 10);\n }\n }\n });\n };\n CommonInterfaceManager.prototype.switchActiveViewer = function (elementId) {\n var process = this.viewer.process;\n process.viewers.forEach(function (vi) {\n if (vi.container.id === elementId) {\n process.activeViewer = vi;\n return;\n }\n });\n };\n CommonInterfaceManager.prototype.showHistoryList = function () {\n var historyManager = this.viewer.process.historyManager;\n var list = historyManager.stateList;\n for (var i = 0; i < list.count(); i++) {\n console.log(list.items[i].name);\n }\n return list;\n };\n CommonInterfaceManager.prototype.historyRoll = function (index) {\n var historyManager = this.viewer.process.historyManager;\n var currentIdx = historyManager.currentStateIndex;\n if (currentIdx < index) {\n var time = index - currentIdx;\n for (var i = 0; i < time; i++) {\n this.viewer.process.historyManager.rollForward();\n }\n } else if (currentIdx > index) {\n var time = currentIdx - index;\n for (var i = 0; i < time; i++) {\n this.viewer.process.historyManager.rollBack();\n }\n }\n };\n CommonInterfaceManager.prototype.getLoadConditionList = function () {\n var loadConditions = this.viewer.process.findRenderObjectsByType(\"LoadConditionObject\");\n return loadConditions;\n };\n CommonInterfaceManager.prototype.getLoadConditionCombineList = function () {\n var objects = this.viewer.process.findRenderObjectsByType(\"SeastateLcomb\");\n return objects;\n };\n CommonInterfaceManager.prototype.removeProcessData = function () {\n this.viewer.process.clearRenderObjects(true);\n };\n CommonInterfaceManager.prototype.createCurrLoadObject = function () {\n var currLoad = new currLoadObject_1.CurrLoadObject();\n return currLoad;\n };\n CommonInterfaceManager.prototype.createCdmRenderObject = function () {\n var cdmObject = new cdmRenderObject_1.CdmRenderObject();\n return cdmObject;\n };\n CommonInterfaceManager.prototype.addJointLoad = function (loadConditionName, loadGroupName, selectedJointName, fx, fy, fz, mx, my, mz) {\n var viewer = this.viewer;\n var pretreatmentRO = viewer.process.findRenderObjectByName(\"后处理计算结果\");\n if (!pretreatmentRO) {\n console.error(\"没有'后处理计算结果'的RO节点\");\n return 2;\n }\n var conditionParent = viewer.process.findCaeObjectByNameInChildObject(pretreatmentRO, \"荷载工况\");\n if (!conditionParent) {\n conditionParent = new gs_ceec_design_2.DesignBaseObject();\n conditionParent.businessState = gs_ceec_design_2.BusinessState.Creating;\n conditionParent.name = \"荷载工况\";\n viewer.process.addRenderObject(pretreatmentRO, conditionParent);\n }\n var loadConditionRO = null;\n loadConditionRO = viewer.process.findCaeObjectByNameInChildObject(conditionParent, loadConditionName);\n if (!loadConditionRO) {\n loadConditionRO = new loadConditionObject_1.LoadConditionObject(loadConditionName);\n loadConditionRO.businessState = gs_ceec_design_2.BusinessState.Creating;\n viewer.process.addRenderObject(conditionParent, loadConditionRO);\n } else {\n loadConditionRO.businessState = gs_ceec_design_2.BusinessState.Editing;\n }\n var loadGroupRO = viewer.process.findCaeObjectByNameInChildObject(loadConditionRO, loadGroupName);\n if (!loadGroupRO) {\n loadGroupRO = new loadGroupObject_1.LoadGroupObject(loadGroupName);\n loadGroupRO.businessState = gs_ceec_design_2.BusinessState.Creating;\n viewer.process.addRenderObject(loadConditionRO, loadGroupRO);\n } else {\n loadGroupRO.businessState = gs_ceec_design_2.BusinessState.Editing;\n }\n for (var i = 0; i < loadGroupRO.childObjects.length; i++) {\n var load = loadGroupRO.childObjects[i];\n if (load instanceof jointLoadObject_1.JointLoadObject) {\n if (load.jointName === selectedJointName) {\n return 3;\n }\n }\n }\n var jointLoad = new jointLoadObject_1.JointLoadObject(loadConditionRO.name, loadGroupName);\n jointLoad.name = \"Joint:\" + selectedJointName;\n jointLoad.businessState = gs_ceec_design_2.BusinessState.Creating;\n jointLoad.jointName = selectedJointName;\n jointLoad.forceXDirection = fx;\n jointLoad.forceYDirection = fy;\n jointLoad.forceZDirection = fz;\n jointLoad.momentAboutXAxis = mx;\n jointLoad.momentAboutYAxis = my;\n jointLoad.momentAboutZAxis = mz;\n viewer.process.addRenderObject(loadGroupRO, jointLoad);\n return 1;\n };\n CommonInterfaceManager.prototype.editJointLoad = function (jointLoad, fx, fy, fz, mx, my, mz) {\n jointLoad.businessState = gs_ceec_design_2.BusinessState.Editing;\n jointLoad.forceXDirection = fx;\n jointLoad.forceYDirection = fy;\n jointLoad.forceZDirection = fz;\n jointLoad.momentAboutXAxis = mx;\n jointLoad.momentAboutYAxis = my;\n jointLoad.momentAboutZAxis = mz;\n };\n CommonInterfaceManager.prototype.boreholeChange = function (boreholeName) {\n var elementKey = \"soild\";\n if (this.boreholeCutLineDisplay) {\n this.boreholeCutLineDisplay = false;\n legendManage_1.LegendManage.destory(elementKey);\n var currentBoreholeObjects = this.currentBoreholeObjects;\n for (var i = 0; i < currentBoreholeObjects.length; i++) {\n if (currentBoreholeObjects[i].name === boreholeName) {\n currentBoreholeObjects[i].cutlienAcitve = true;\n this.activeBoreholeName = boreholeName;\n this.boreholeCutLineDisplay = true;\n var cutLineLegend = currentBoreholeObjects[i].geCutline();\n legendManage_1.LegendManage.create(elementKey, cutLineLegend, \"土层数据\", \"颜色\", \"土层名\", {\n right: \"0px\",\n bottom: \"0px\"\n });\n } else {\n currentBoreholeObjects[i].cutlienAcitve = false;\n }\n }\n }\n };\n return CommonInterfaceManager;\n }(gs_bim_air_1.Longan.ViewerManagerBase);\n exports.CommonInterfaceManager = CommonInterfaceManager;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2dzRGV2RngvbWFuYWdlcnMvaW50ZXJmYWNlTWFuYWdlcnMvY29tbW9uSW50ZXJmYWNlTWFuYWdlci50cy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvZ3NEZXZGeC9tYW5hZ2Vycy9pbnRlcmZhY2VNYW5hZ2Vycy9jb21tb25JbnRlcmZhY2VNYW5hZ2VyLnRzPzcxNWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0FFTGlnaHRPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZUxpZ2h0T2JqZWN0L2NhZUxpZ2h0T2JqZWN0XCI7XG5pbXBvcnQgeyBKb2ludE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9qb2ludE9iamVjdFwiO1xuaW1wb3J0IHsgTG9uZ2FuIH0gZnJvbSBcImdzLWJpbS1haXJcIjtcbmltcG9ydCB7IFZpZXdlciB9IGZyb20gXCIuLi8uLi92aWV3ZXJcIjtcbmltcG9ydCB7IFNlbGVjdG9yRmlsaXRlciB9IGZyb20gXCIuL3NlbGVjdGlvbkludGVyZmFjZU1hbmFnZXJcIjtcbmltcG9ydCB7IENBRVRhc2sgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC90YXNrcy9jYWVUYXNrXCI7XG5pbXBvcnQgcmVuZGVyT2JqZWN0U2VydmljZSBmcm9tIFwiLi4vLi4vLi4vYXBpL3JlbmRlck9iamVjdFNlcnZpY2VcIjtcbmltcG9ydCB7IFByb2Nlc3MgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9wcm9jZXNzXCI7XG5pbXBvcnQgeyBNb2RlbFRpdGxlIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL29wdGlvbk9iamVjdHMvbW9kZWxUaXRsZVwiO1xuaW1wb3J0IHsgQ2FyZFRJVExFIH0gZnJvbSBcIi4uLy4uLy4uL2NhZUNhcmRFZGl0b3IvY2FlQ2FyZE9iamVjdHMvc2FjaW5wL2NhcmRUSVRMRVwiO1xuaW1wb3J0IHsgUGVyc2lzdGVuY2VNYW5hZ2VyIH0gZnJvbSBcImdzLWNlZWMtZGVzaWduXCI7XG5pbXBvcnQgeyBNZW1iZXJPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvbWVtYmVyT2JqZWN0XCI7XG5pbXBvcnQgeyBCdXNpbmVzc1N0YXRlLCBEZXNpZ25CYXNlT2JqZWN0IH0gZnJvbSBcImdzLWNlZWMtZGVzaWduXCI7XG5pbXBvcnQgeyBNZ3Jvdk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9wcmV0cmVhdG1lbnQvbWdyb3ZPYmplY3RcIjtcbmltcG9ydCB7IENvcnJ6T2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL3ByZXRyZWF0bWVudC9jb3Jyek9iamVjdFwiO1xuaW1wb3J0IHsgQ29sb3JEaXZHcnVwSWRPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3ByZXRyZWF0bWVudE9iamVjdHMvY29sb3JEaXZHcnVwSWRPYmplY3RcIjtcbmltcG9ydCB7IENvbG9yRGl2R3J1cFRoaWNrbmVzc09iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jb2xvckRpdkdydXBUaGlja25lc3NPYmplY3RcIjtcbmltcG9ydCB7IENvbG9yRGl2TUdST1ZPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3ByZXRyZWF0bWVudE9iamVjdHMvY29sb3JEaXZNR1JPVk9iamVjdFwiO1xuaW1wb3J0IHsgQ29sb3JEaXZDT1JSWk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jb2xvckRpdkNPUlJaT2JqZWN0XCI7XG5pbXBvcnQgc3RvcmUgZnJvbSBcIi4uLy4uLy4uL3N0b3JlXCI7XG5pbXBvcnQgeyBDdXRsaW5lR3J1cFRoaWNrbmVzc09iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jdXRsaW5lR3J1cFRoaWNrbmVzc09iamVjdFwiO1xuaW1wb3J0IHsgQ3V0bGluZUdydXBJZE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jdXRsaW5lR3J1cElkT2JqZWN0XCI7XG5pbXBvcnQgeyBQbGF0ZU9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9wbGF0ZU9iamVjdFwiO1xuaW1wb3J0IHsgQ29tbWFuZE1hbmFnZXIgfSBmcm9tIFwiLi4vY29tbWFuZE1hbmFnZXJcIjtcbmltcG9ydCB7IEdydXBPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvZ3J1cE9iamVjdFwiO1xuaW1wb3J0IHsgV2F2ZU9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy93YXZlT2JqZWN0XCI7XG5pbXBvcnQgeyBXYXZlSXRlbU9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy93YXZlSXRlbU9iamVjdFwiO1xuaW1wb3J0IHsgQ29sb3JEaXZDb21wb25lbnRHcm91cE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jb2xvckRpdkNvbXBvbmVudEdyb3VwT2JqZWN0XCI7XG5pbXBvcnQgeyBCb3JlaG9sZXNPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3ByZXRyZWF0bWVudE9iamVjdHMvYm9yZWhvbGVPYmplY3RcIjtcbmltcG9ydCB7IE9iamVjdENvbG9yIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL29iamVjdENvbG9yc1wiO1xuaW1wb3J0IHsgSW5zdGFuY2VTZWN0aW9uT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL2luc3RhbmNlU2VjdGlvbk9iamVjdFwiO1xuaW1wb3J0IHsgU2VjdGlvbk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9zZWN0aW9uT2JqZWN0XCI7XG5pbXBvcnQgeyBTZWN0aW9uVmlld2VyIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvc2VjdGlvblZpZXdlclwiO1xuaW1wb3J0IHsgTG9hZENvbmRpdGlvbk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbG9hZE9iamVjdHMvbG9hZENvbmRpdGlvbk9iamVjdFwiO1xuaW1wb3J0IHsgTG9hZEdyb3VwT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9sb2FkT2JqZWN0cy9sb2FkR3JvdXBPYmplY3RcIjtcbmltcG9ydCB7IEpvaW50TG9hZE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbG9hZE9iamVjdHMvam9pbnRMb2FkT2JqZWN0XCI7XG5pbXBvcnQgeyBDdXJyTG9hZE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbG9hZE9iamVjdHMvY3VyckxvYWRPYmplY3RcIjtcbmltcG9ydCB7IENkbVJlbmRlck9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9vcHRpb25PYmplY3RzL2NkbVJlbmRlck9iamVjdFwiO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gXCJlbGVtZW50LXVpXCI7XG5pbXBvcnQgeyBMZWdlbmRNYW5hZ2UgfSBmcm9tIFwiLi4vLi4vLi4vdmlld2VyV3JhcHBlci9tb2R1bGUvbGVnZW5kTWFuYWdlXCI7XG5cbmV4cG9ydCBlbnVtIFN3aXRjaENvbG9yRGl2aWRlIHtcbiAgR3J1cE5hbWUgPSAwLCAvL+aMieadhuS7tuaIqumdoue7hOWQjeWIhuiJslxuICBHcnVwVGhpY2tuZXNzID0gMSwgLy/mjInmnYbku7blo4HljprliIboibJcbiAgTWdyb3YgPSAyLCAvL+aMiea1t+eUn+eJqeWOmuW6puWIhuiJslxuICBDb3JyeiA9IDMsIC8v5oyJ6IWQ6JqA5L2Z6YeP5YiG6ImyXG4gIENhbmNlbCA9IDQsIC8vIOWPlua2iOWIhuiJsuaViOaenFxuICBDb21wb25lbnRHcm91cCA9IDUsIC8vIOiHquWumuS5ieaehOS7tuWIhuiJsuaViOaenFxuICAvLyBCb3JlaG9sZSA9IDYsIC8vIOWcn+WxguaViOaenFxufVxuXG5leHBvcnQgY2xhc3MgQ29tbW9uSW50ZXJmYWNlTWFuYWdlciBleHRlbmRzIExvbmdhbi5WaWV3ZXJNYW5hZ2VyQmFzZSB7XG4gIC8vIGVmZmVjdE9iamVjdHMgPSBuZXcgTG9uZ2FuLkxpc3Q8RGVzaWduQmFzZU9iamVjdD4oKTtcbiAgY3VycmVudFNlbGVjdFdhdmVJdGVtTmFtZTogc3RyaW5nID0gbnVsbDtcbiAgY3VycmVudEJvcmVob2xlT2JqZWN0czogQXJyYXk8Qm9yZWhvbGVzT2JqZWN0PiA9IG51bGw7XG4gIGJvcmVob2xlTGVnZW5kID0gbnVsbDtcbiAgYm9yZWhvbGVDdXRMaW5lRGlzcGxheSA9IGZhbHNlO1xuXG4gIHNob3dFbmdsaXNoVGV4dCA9IGZhbHNlO1xuXG4gIC8vIOWkjeWItuWklumDqOS6i+S7ti5cbiAgY29weWVkRXh0ZXJuYWxFdmVudCA9IG51bGw7XG5cbiAgZWxlbWVudEtleSA9IFwiY3V0bGluZVwiO1xuICBhY3RpdmVCb3JlaG9sZU5hbWUgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHZpZXdlcjogVmlld2VyKSB7XG4gICAgc3VwZXIodmlld2VyKTtcbiAgfVxuXG4gIC8vIC8qKlxuICAvLyAgKiDnvJbovpHpobnnm67kv6Hmga8o5ZCN56ew44CB5aSH5rOoKVxuICAvLyAgKiBAcGFyYW0gcHJvamVjdElkIOmhueebrmlkXG4gIC8vICAqIEBwYXJhbSBwcm9qZWN0TmFtZSDpobnnm67lkI3np7BcbiAgLy8gICogQHBhcmFtIHByb2plY3RSZW1hcmtzIOmhueebruWkh+azqFxuICAvLyAgKiBAcmV0dXJucyDmjqXlj6Pkv6Hmga9cbiAgLy8gICovXG4gIC8vIGVkaXRQcm9qZWN0KHByb2plY3RJZDogc3RyaW5nLCBwcm9qZWN0TmFtZTogc3RyaW5nLCBwcm9qZWN0UmVtYXJrczogc3RyaW5nKSB7XG4gIC8vICAgaWYgKCFwcm9qZWN0SWQgfHwgIXByb2plY3ROYW1lKSB7XG4gIC8vICAgICByZXR1cm47XG4gIC8vICAgfVxuICAvLyAgIHJldHVybiBQcm9qZWN0c0FwaS5lZGl0UHJvamVjdChwcm9qZWN0SWQsIHtcbiAgLy8gICAgIG5hbWU6IHByb2plY3ROYW1lLFxuICAvLyAgICAgcmVtYXJrczogcHJvamVjdFJlbWFya3MsXG4gIC8vICAgfSk7XG4gIC8vIH1cblxuICAvLyAvKipcbiAgLy8gICog6I635Y+W6aG555uu5YiX6KGoXG4gIC8vICAqIEByZXR1cm5zIOi/lOWbnumhueebruWIl+ihqOaVsOaNrlxuICAvLyAgKi9cbiAgLy8gZ2V0UHJvamVjdExpc3QoKSB7XG4gIC8vICAgUHJvamVjdHNBcGkuZ2V0UHJvamVjdHMoKS50aGVuKChkYXRhKSA9PiB7XG4gIC8vICAgICByZXR1cm4gZGF0YTtcbiAgLy8gICB9KTtcbiAgLy8gfVxuXG4gIC8vIC8qKlxuICAvLyAgKiDmlrDlu7rpobnnm65cbiAgLy8gICogQHBhcmFtIHByb2plY3ROYW1lIOmhueebruWQjVxuICAvLyAgKiBAcGFyYW0gcHJvamVjdFJlbWFya3Mg6aG555uu5aSH5rOoXG4gIC8vICAqIEByZXR1cm5zXG4gIC8vICAqL1xuICAvLyBjcmVhdGVQcm9qZWN0Q29uZmlybShwcm9qZWN0TmFtZTogc3RyaW5nLCBwcm9qZWN0UmVtYXJrczogc3RyaW5nKSB7XG4gIC8vICAgaWYgKCFwcm9qZWN0TmFtZSkge1xuICAvLyAgICAgcmV0dXJuO1xuICAvLyAgIH1cbiAgLy8gICBjb25zb2xlLmxvZyhcInByb2plY3RSZW1hcmtzOlwiLCBwcm9qZWN0UmVtYXJrcyk7XG4gIC8vICAgcmV0dXJuIFByb2plY3RzQXBpLmNyZWF0ZVByb2plY3Qoe1xuICAvLyAgICAgbmFtZTogcHJvamVjdE5hbWUsXG4gIC8vICAgICByZW1hcmtzOiBwcm9qZWN0UmVtYXJrcyxcbiAgLy8gICB9KTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiDojrflj5bmqKHlnotQbG90VGl0bGVcbiAgICogQHJldHVybnMg5qih5Z6LUGxvdFRpdGxlXG4gICAqL1xuICBzaG93UGxvdFRpdGxlKCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdCA9IG51bGw7XG5cbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcbiAgICBsZXQgdGl0bGVSTyA9IHByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5VHlwZShcIk1vZGVsVGl0bGVcIik7XG4gICAgaWYgKHRpdGxlUk8pIHtcbiAgICAgIGlmICh0aXRsZVJPIGluc3RhbmNlb2YgTW9kZWxUaXRsZSkge1xuICAgICAgICByZXN1bHQgPSB0aXRsZVJPLmNhcmRPYmplY3QudGl0bGUudmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IFwiQWN0aXZlIFN0cnVjdHVyZVwiO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICog57yW6L6R5qih5Z6LUGxvdFRpdGxlLlxuICAgKiBAcGFyYW0gdGl0bGVcbiAgICovXG4gIGVkaXRQbG90VGl0bGUodGl0bGU6IHN0cmluZykge1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcyBhcyBQcm9jZXNzO1xuXG4gICAgaWYgKCF0aXRsZSB8fCB0aXRsZS50cmltRW5kKCkgPT09IFwiXCIpIHtcbiAgICAgIGxldCB0aXRsZVJPID0gcHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlUeXBlKFwiTW9kZWxUaXRsZVwiKSBhcyBNb2RlbFRpdGxlO1xuICAgICAgaWYgKHRpdGxlUk8pIHtcbiAgICAgICAgLy8g5Yig6Zmk5qCH6aKY5oiQ5YqfXG4gICAgICAgIHRpdGxlUk8udGVtcERlbGV0ZSh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpO1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgaXNsZWdhbCA9IHRoaXMuY2hlY1RpdGxla05hbWVsZWdhbCh0aXRsZSk7XG5cbiAgICBpZiAoIWlzbGVnYWwpIHtcbiAgICAgIC8vIOagh+mimOS4jeWQiOazlVxuICAgICAgcmV0dXJuIDI7XG4gICAgfVxuXG4gICAgbGV0IHRpdGxlUk8gPSBwcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeVR5cGUoXCJNb2RlbFRpdGxlXCIpO1xuICAgIGlmICh0aXRsZVJPKSB7XG4gICAgICBpZiAodGl0bGVSTyBpbnN0YW5jZW9mIE1vZGVsVGl0bGUpIHtcbiAgICAgICAgdGl0bGVSTy5jYXJkT2JqZWN0LnRpdGxlLnZhbHVlID0gdGl0bGU7XG4gICAgICAgIHRpdGxlUk8uY2FyZERhdGEgPSB0aXRsZVJPLmNhcmRPYmplY3QuZ2V0TGluZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgdGl0bGVSTyA9IG5ldyBNb2RlbFRpdGxlKCk7XG4gICAgICB0aXRsZVJPLm5hbWUgPSBcIlRJVExFXCI7XG4gICAgICBsZXQgbGluZSA9IFwiICAgICBcIiArIHRpdGxlO1xuICAgICAgdGl0bGVSTy5jYXJkRGF0YSA9IGxpbmU7XG4gICAgICB0aXRsZVJPLmNhcmRPYmplY3QgPSBuZXcgQ2FyZFRJVExFKGxpbmUpO1xuICAgICAgcHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QoXG4gICAgICAgIHByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuc2FjaW5wTm9kZSxcbiAgICAgICAgdGl0bGVST1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY1RpdGxla05hbWVsZWdhbChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgcmVnID0gL15bQS1aMC05XSokLztcbiAgICBpZiAoIXJlZy50ZXN0KG5hbWUpIHx8IG5hbWUudHJpbUVuZCgpLmxlbmd0aCA+IDEyNSkge1xuICAgICAgY29uc29sZS5sb2coXCLnqbrpl7TngrnlkI3np7DkuI3nrKblkIjop4TojINcIik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIOmHjee9ruinhuWbvlxuICAgKi9cbiAgcmVzZXRWaWV3KGlzU2V0Vmlld01vZGUgPSB0cnVlKSB7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyLnByb2Nlc3MuYWN0aXZlVmlld2VyIGFzIFZpZXdlcjtcbiAgICAvLyDlj5bmtojpq5jkuq5cbiAgICB2aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIC8vIOWFs+mXreWFqOmDqOWRveS7pFxuICAgICh2aWV3ZXIucHJvY2Vzcy5jb21tYW5kTWFuYWdlciBhcyBDb21tYW5kTWFuYWdlcikuY2xvc2VBbGxDb21tYW5kcygpO1xuICAgIC8vIOWFs+mXreWQhOenjeW8gOWFs1xuICAgIHZpZXdlci5jb21tb25JbnRlcmZhY2VNYW5hZ2VyLmNvbG9yU3dpdGNoKFN3aXRjaENvbG9yRGl2aWRlLkNhbmNlbCk7XG4gICAgdmlld2VyLmNvbW1vbkludGVyZmFjZU1hbmFnZXIuZmluaXRlRWxlbWVudFN3aXRjaChmYWxzZSk7XG4gICAgLy8g5rOi6Z2i5byA5YWzXG4gICAgdmlld2VyLmNvbW1vbkludGVyZmFjZU1hbmFnZXIud2F2ZVN3aXRjaChmYWxzZSk7XG4gICAgLy8g5Zyf5bGC5byA5YWzXG4gICAgdmlld2VyLmNvbW1vbkludGVyZmFjZU1hbmFnZXIuYm9yZWhvbGVTd2l0Y2goZmFsc2UpO1xuICAgIC8vIOWPlua2iOWQhOenjeagh+etvi5cbiAgICB2aWV3ZXIudmlld0ludGVyZmFjZU1hbmFnZXIuc2V0Sm9pbnROdW1iZXJWaXNpYmxlKGZhbHNlKTtcbiAgICB2aWV3ZXIudmlld0ludGVyZmFjZU1hbmFnZXIuc2V0Sm9pbnRSZXN0cmFpbnRWaXNpYmxlKGZhbHNlKTtcblxuICAgIHZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5zZXRNZW1iZXJGaXhpdHlWaXNpYmxlKGZhbHNlKTtcbiAgICB2aWV3ZXIudmlld0ludGVyZmFjZU1hbmFnZXIuc2V0TWVtYmVyTG9jYWxBeGlzVmlzaWJsZShmYWxzZSk7XG4gICAgdmlld2VyLnZpZXdJbnRlcmZhY2VNYW5hZ2VyLnNldE1lbWJlclNlY3Rpb25TaXplVmlzaWJsZShmYWxzZSk7XG4gICAgdmlld2VyLnZpZXdJbnRlcmZhY2VNYW5hZ2VyLnNldEdydXBOdW1iZXJWaXNpYmxlKGZhbHNlKTtcblxuICAgIC8vIOWPlua2iOaMgee7reaXi+i9rFxuICAgIHZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5jb250aW51ZXNSb3RhdGUoZmFsc2UpO1xuICAgIHZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5zZXRDYW1lcmFTZWxlY3QoKTtcblxuICAgIC8vIC8vIOaBouWkjeWcqOW5s+mdouS4iuaYvuekulxuICAgIC8vIHZpZXdlci5jb21tb25JbnRlcmZhY2VNYW5hZ2VyLmVmZmVjdE9iamVjdHMuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgLy8gICB2aWV3ZXIuZmluZEluc3RhbmNlT2JqZWN0KG9iaikudmlld2VyVmlzaWJsZSA9IHRydWU7XG4gICAgLy8gICB2aWV3ZXIuZmluZEluc3RhbmNlT2JqZWN0KG9iaikudmlzaWJsZSA9IHRydWU7XG4gICAgLy8gfSk7XG4gICAgLy8gdmlld2VyLmNvbW1vbkludGVyZmFjZU1hbmFnZXIuZWZmZWN0T2JqZWN0cy5jbGVhcigpO1xuXG4gICAgbGV0IHByb2Nlc3MgPSB2aWV3ZXIucHJvY2VzcyBhcyBQcm9jZXNzO1xuICAgIHByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuam9pbnROb2RlPy5jaGlsZE9iamVjdHMuZm9yRWFjaChcbiAgICAgIChvYmopID0+IHtcbiAgICAgICAgdmlld2VyLmZpbmRJbnN0YW5jZU9iamVjdChvYmopLnZpZXdlclZpc2libGUgPSB0cnVlO1xuICAgICAgICB2aWV3ZXIuZmluZEluc3RhbmNlT2JqZWN0KG9iaikudmlzaWJsZSA9IHRydWU7XG4gICAgICAgIChvYmogYXMgRGVzaWduQmFzZU9iamVjdCkuY2xlYXJTdmcoKTtcbiAgICAgIH1cbiAgICApO1xuICAgIHByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZT8uY2hpbGRPYmplY3RzLmZvckVhY2goXG4gICAgICAob2JqKSA9PiB7XG4gICAgICAgIHZpZXdlci5maW5kSW5zdGFuY2VPYmplY3Qob2JqKS52aWV3ZXJWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdmlld2VyLmZpbmRJbnN0YW5jZU9iamVjdChvYmopLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAob2JqIGFzIERlc2lnbkJhc2VPYmplY3QpLmNsZWFyU3ZnKCk7XG4gICAgICB9XG4gICAgKTtcbiAgICBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnBsYXRlTm9kZT8uY2hpbGRPYmplY3RzLmZvckVhY2goXG4gICAgICAob2JqKSA9PiB7XG4gICAgICAgIHZpZXdlci5maW5kSW5zdGFuY2VPYmplY3Qob2JqKS52aWV3ZXJWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdmlld2VyLmZpbmRJbnN0YW5jZU9iamVjdChvYmopLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAob2JqIGFzIERlc2lnbkJhc2VPYmplY3QpLmNsZWFyU3ZnKCk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5tZW1iZXJMaW5lVmlldyhmYWxzZSk7XG4gICAgdmlld2VyLnZpZXdJbnRlcmZhY2VNYW5hZ2VyLnBsYXRlTGluZVZpZXcoZmFsc2UpO1xuICAgIC8vIOmVnOWktOWkjeS9jS5cbiAgICBpZiAoaXNTZXRWaWV3TW9kZSkge1xuICAgICAgdmlld2VyLnNldFZpZXdNb2RlKExvbmdhbi5WaWV3TW9kZS5PRlNJc28sIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDliLfmlrDlhajpg6h2aWV3ZXIuXG4gICAqL1xuICByZWRyYXcoKSB7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzO1xuICAgIHByb2Nlc3Mudmlld2Vycy5mb3JFYWNoKCh2aSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coXCJ2aVwiKTtcbiAgICAgIHZpLmV4ZVNjZW5lQ2FtZXJhQ2hhbmdlZChcbiAgICAgICAgTG9uZ2FuLkxvbmdhbkNvcmUuQ2FtZXJhQ2hhbmdlVHlwZS5Sb3RhdGUgfFxuICAgICAgICAgIExvbmdhbi5Mb25nYW5Db3JlLkNhbWVyYUNoYW5nZVR5cGUuU2NhbGUgfFxuICAgICAgICAgIExvbmdhbi5Mb25nYW5Db3JlLkNhbWVyYUNoYW5nZVR5cGUuVHJhbnNsYXRlXG4gICAgICApO1xuICAgICAgdmkudXBkYXRlRGlzcGxheSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIOajgOa1i+aYr+WQpuaciemZkOWFg+aooeWei1xuICAgKi9cbiAgY2hlY2tJc0Zpbml0ZUVsZW1lbnQoKSB7XG4gICAgbGV0IGlzRkUgPSB0cnVlO1xuXG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcbiAgICBsZXQgZ3J1cE5vZGUgPSB2aWV3ZXIucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5ncnVwTm9kZTtcbiAgICBncnVwTm9kZT8uY2hpbGRPYmplY3RzLmZvckVhY2goKGdydXApID0+IHtcbiAgICAgIGlmIChncnVwIGluc3RhbmNlb2YgR3J1cE9iamVjdCkge1xuICAgICAgICBpZiAoZ3J1cC5ncnVwU2VnbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIGlzRkUgPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gaXNGRTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc29sZS5sb2coXCJpc0ZFOlwiLCBpc0ZFKTtcbiAgICByZXR1cm4gaXNGRTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmiZPlvIDnjrDmnInmqKHlnotcbiAgICogQHBhcmFtIG1vZGVsSWQg5qih5Z6LSWRcbiAgICogQHBhcmFtIGlzUmVwbGFjZSDmmK/lkKbmuIXpmaR2aWV3ZXLlt7LliqDovb3nmoTmlbDmja5cbiAgICovXG4gIG9wZW5Nb2RlbChtb2RlbElkOiBzdHJpbmcsIGlzUmVwbGFjZTogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdmlld2VyXG4gICAgICAgIC5sb2FkTW9kZWwobW9kZWxJZCwgaXNSZXBsYWNlKVxuICAgICAgICAudGhlbigobW9kZWwpID0+IHtcbiAgICAgICAgICAvLyDmuIXnqbrljoblj7Lmk43kvZwuXG4gICAgICAgICAgdmlld2VyLnByb2Nlc3MuaGlzdG9yeU1hbmFnZXIuY2xlYXJEZWx0YVN0YXRlKCk7XG4gICAgICAgICAgdmlld2VyLnNjZW5lU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLmN1bGxpbmdNYXhpbXVtRXh0ZW50ID0gMDtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKFwibW9kZWxcIiwgbW9kZWwpO1xuICAgICAgICAgIGxldCBybyA9IHZpZXdlci5yZW5kZXJPYmplY3Q7XG4gICAgICAgICAgbGV0IGNhZVRhc2sgPSBuZXcgQ0FFVGFzayhybywgdmlld2VyKTtcbiAgICAgICAgICBjYWVUYXNrLndvcmtSZW5kZXJPYmplY3RTZXJ2aWNlID0gcmVuZGVyT2JqZWN0U2VydmljZTtcbiAgICAgICAgICB2aWV3ZXIucHJvY2Vzcy50YXNrTWFuYWdlci5leGVjdXRlKGNhZVRhc2spO1xuXG4gICAgICAgICAgdmlld2VyLnN0cnVjdHVyZVRyZWVNYW5hZ2VyLnVwZGF0ZSgpO1xuICAgICAgICAgIHZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gICAgICAgICAgdmlld2VyLnNldFZpZXdNb2RlKExvbmdhbi5WaWV3TW9kZS5PRlNJc28sIHRydWUpO1xuXG4gICAgICAgICAgLy8g6K+35rGC5ZCO5aSE55CG5L2/55So55qERELmlbDmja4uXG4gICAgICAgICAgdmlld2VyLnBvc3RJbnRlcmZhY2VNYW5hZ2VyLnJlcXVlc3REQkRhdGEoKTtcblxuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChyZWFzb24pID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcInJlYXNvbjpcIiwgcmVhc29uKTtcbiAgICAgICAgICBNZXNzYWdlLmluZm8ocmVhc29uKTtcbiAgICAgICAgICByZWplY3QocmVhc29uKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICog5qOA5p+l5qih5Z6L5piv5ZCm6ZyA6KaB5L+d5a2YKOS5n+WwseaYr+WvueavlOaooeWei+W9k+WJjeeKtuaAgeS4juWOn+Wni+eKtuaAgeaYr+WQpuWPkeeUn+S6huaUueWPmCkuXG4gICAqIEByZXR1cm5zIHRydWU66ZyA6KaB5L+d5a2YO2ZhbHNlOuS4jemcgOimgeS/neWtmC5cbiAgICovXG4gIGNoZWNrTmVlZFNhdmUoKSB7XG4gICAgLy9cbiAgICBsZXQgcm9vdFJPID0gKHRoaXMudmlld2VyLnByb2Nlc3MgYXMgYW55KS5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlclxuICAgICAgLnJvb3ROb2RlO1xuICAgIGlmIChyb290Uk8gaW5zdGFuY2VvZiBDQUVMaWdodE9iamVjdCkge1xuICAgICAgbGV0IHJlc3VsdCA9IFBlcnNpc3RlbmNlTWFuYWdlci5zYXZlRGVzaWduKHJvb3RSTyk7XG4gICAgICBpZiAoXG4gICAgICAgIHJlc3VsdC5jcmVhdGVMaXN0Lmxlbmd0aCA+IDAgfHxcbiAgICAgICAgcmVzdWx0LmRlbGV0ZUxpc3QubGVuZ3RoID4gMCB8fFxuICAgICAgICByZXN1bHQuZWRpdExpc3QubGVuZ3RoID4gMFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiDkv53lrZjlvZPliY3pobnnm65cbiAgICovXG4gIHNhdmUoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAvLyBsZXQgZmxhZyA9IHRoaXMuY2hlY2tOZWVkU2F2ZSgpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsZXQgcm9vdFJPID0gKHRoaXMudmlld2VyLnByb2Nlc3MgYXMgYW55KS5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlclxuICAgICAgICAucm9vdE5vZGU7XG4gICAgICBpZiAocm9vdFJPIGluc3RhbmNlb2YgQ0FFTGlnaHRPYmplY3QpIHtcbiAgICAgICAgcm9vdFJPLnNhdmUodGhpcy52aWV3ZXIpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlj6blrZjljaHniYfmlbDmja5cbiAgICovXG4gIGV4cG9ydERBVEZpbGUoKSB7XG4gICAgY29uc29sZS5sb2coXCJleHBvcnRcIik7XG4gICAgbGV0IGRhdENhcmREYXRhID0gKHRoaXMudmlld2VyIGFzIFZpZXdlcikuZGF0V3JpdGVyTWFuYWdlci5leHBvcnREQVRGaWxlKCk7XG4gICAgZGF0Q2FyZERhdGEgKz0gXCJFTkRcIjtcblxuICAgIHJldHVybiBkYXRDYXJkRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlr7zlh7rmnYbku7bmlbDmja5cbiAgICogQHBhcmFtIGlzRXhwb3J0QWxsIHRydWU65a+85Ye65YWo6YOo5p2G5Lu25pWw5o2u77ybZmFsc2U65LuF5a+85Ye65pGE5YOP5py65YaF55qE5p2G5Lu25pWw5o2uXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBleHBvcnRNZW1iZXJEYXRhKGlzRXhwb3J0QWxsID0gdHJ1ZSkge1xuICAgIGNvbnNvbGUubG9nKFwiZXhwb3J0IG1lbWJlclwiKTtcbiAgICBsZXQgZGF0Q2FyZERhdGEgPSAodGhpcy52aWV3ZXIgYXMgVmlld2VyKS5kYXRXcml0ZXJNYW5hZ2VyLmV4cG9ydE1lbWJlckRhdGEoXG4gICAgICBpc0V4cG9ydEFsbFxuICAgICk7XG4gICAgZGF0Q2FyZERhdGEgKz0gXCJFTkRcIjtcblxuICAgIHJldHVybiBkYXRDYXJkRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlr7zlh7rmoanln7rmlbDmja5cbiAgICogQHBhcmFtIGlzRXhwb3J0QWxsICB0cnVlOuWvvOWHuuWFqOmDqOahqeWfuuaVsOaNru+8m2ZhbHNlOuS7heWvvOWHuuaRhOWDj+acuuWGheeahOahqeWfuuaVsOaNrlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZXhwb3J0UGlsZURhdGEoaXNFeHBvcnRBbGwgPSB0cnVlKSB7XG4gICAgY29uc29sZS5sb2coXCJleHBvcnQgcGlsZVwiKTtcbiAgICBsZXQgZGF0Q2FyZERhdGEgPSAodGhpcy52aWV3ZXIgYXMgVmlld2VyKS5kYXRXcml0ZXJNYW5hZ2VyLmV4cG9ydFBpbGVEYXRhKFxuICAgICAgaXNFeHBvcnRBbGxcbiAgICApO1xuICAgIGlmIChkYXRDYXJkRGF0YSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGRhdENhcmREYXRhICs9IFwiRU5EXCI7XG5cbiAgICByZXR1cm4gZGF0Q2FyZERhdGE7XG4gIH1cblxuICAvLyBleHBvcnRTZWN0aW9uRGF0YShkYXRDYXJkRGF0YTogc3RyaW5nKSB7XG4gIC8vICAgbGV0IHR1YnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiVHViU2VjdGlvbk9iamVjdFwiKTtcbiAgLy8gICBmb3IgKGxldCBpID0gMDsgaSA8IHR1YnMubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgIGxldCBvYmogPSB0dWJzW2ldIGFzIFR1YlNlY3Rpb25PYmplY3Q7XG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nIHx8XG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlYWRcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBjb250aW51ZTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGxldCBsaW5lID0gb2JqLnNlcmlhbGl6ZVRvQ2FyZCgpO1xuICAvLyAgICAgZGF0Q2FyZERhdGEgKz0gbGluZSArPSBcIlxcblwiO1xuICAvLyAgIH1cblxuICAvLyAgIGxldCB3ZnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiV0ZTZWN0aW9uT2JqZWN0XCIpO1xuICAvLyAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2ZzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBsZXQgb2JqID0gd2ZzW2ldIGFzIFdGU2VjdGlvbk9iamVjdDtcbiAgLy8gICAgIGlmIChcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVsZXRpbmcgfHxcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVhZFxuICAvLyAgICAgKSB7XG4gIC8vICAgICAgIGNvbnRpbnVlO1xuICAvLyAgICAgfVxuICAvLyAgICAgbGV0IGxpbmUgPSBvYmouc2VyaWFsaXplVG9DYXJkKCk7XG4gIC8vICAgICBkYXRDYXJkRGF0YSArPSBsaW5lICs9IFwiXFxuXCI7XG4gIC8vICAgfVxuXG4gIC8vICAgbGV0IGJveHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiQm94U2VjdGlvbk9iamVjdFwiKTtcbiAgLy8gICBmb3IgKGxldCBpID0gMDsgaSA8IGJveHMubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgIGxldCBvYmogPSBib3hzW2ldIGFzIEJveFNlY3Rpb25PYmplY3Q7XG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nIHx8XG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlYWRcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBjb250aW51ZTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGxldCBsaW5lID0gb2JqLnNlcmlhbGl6ZVRvQ2FyZCgpO1xuICAvLyAgICAgZGF0Q2FyZERhdGEgKz0gbGluZSArPSBcIlxcblwiO1xuICAvLyAgIH1cblxuICAvLyAgIGxldCBwcmlzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIlByaVNlY3Rpb25PYmplY3RcIik7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmlzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBsZXQgb2JqID0gcHJpc1tpXSBhcyBQcmlTZWN0aW9uT2JqZWN0O1xuICAvLyAgICAgaWYgKFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWxldGluZyB8fFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWFkXG4gIC8vICAgICApIHtcbiAgLy8gICAgICAgY29udGludWU7XG4gIC8vICAgICB9XG4gIC8vICAgICBsZXQgbGluZSA9IG9iai5zZXJpYWxpemVUb0NhcmQoKTtcbiAgLy8gICAgIGRhdENhcmREYXRhICs9IGxpbmUgKz0gXCJcXG5cIjtcbiAgLy8gICB9XG5cbiAgLy8gICBsZXQgY29ucyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJDb25TZWN0aW9uT2JqZWN0XCIpO1xuICAvLyAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29ucy5sZW5ndGg7IGkrKykge1xuICAvLyAgICAgbGV0IG9iaiA9IGNvbnNbaV0gYXMgQ29uU2VjdGlvbk9iamVjdDtcbiAgLy8gICAgIGlmIChcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVsZXRpbmcgfHxcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVhZFxuICAvLyAgICAgKSB7XG4gIC8vICAgICAgIGNvbnRpbnVlO1xuICAvLyAgICAgfVxuICAvLyAgICAgbGV0IGxpbmUgPSBvYmouc2VyaWFsaXplVG9DYXJkKCk7XG4gIC8vICAgICBkYXRDYXJkRGF0YSArPSBsaW5lICs9IFwiXFxuXCI7XG4gIC8vICAgfVxuXG4gIC8vICAgbGV0IGNobHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiQ2hsU2VjdGlvbk9iamVjdFwiKTtcbiAgLy8gICBmb3IgKGxldCBpID0gMDsgaSA8IGNobHMubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgIGxldCBvYmogPSBjaGxzW2ldIGFzIENobFNlY3Rpb25PYmplY3Q7XG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nIHx8XG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlYWRcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBjb250aW51ZTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGxldCBsaW5lID0gb2JqLnNlcmlhbGl6ZVRvQ2FyZCgpO1xuICAvLyAgICAgZGF0Q2FyZERhdGEgKz0gbGluZSArPSBcIlxcblwiO1xuICAvLyAgIH1cblxuICAvLyAgIGxldCB0ZWVzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIlRlZVNlY3Rpb25PYmplY3RcIik7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZWVzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBsZXQgb2JqID0gdGVlc1tpXSBhcyBUZWVTZWN0aW9uT2JqZWN0O1xuICAvLyAgICAgaWYgKFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWxldGluZyB8fFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWFkXG4gIC8vICAgICApIHtcbiAgLy8gICAgICAgY29udGludWU7XG4gIC8vICAgICB9XG4gIC8vICAgICBsZXQgbGluZSA9IG9iai5zZXJpYWxpemVUb0NhcmQoKTtcbiAgLy8gICAgIGRhdENhcmREYXRhICs9IGxpbmUgKz0gXCJcXG5cIjtcbiAgLy8gICB9XG5cbiAgLy8gICBsZXQgYW5ncyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJBbmdTZWN0aW9uT2JqZWN0XCIpO1xuICAvLyAgIGZvciAobGV0IGkgPSAwOyBpIDwgYW5ncy5sZW5ndGg7IGkrKykge1xuICAvLyAgICAgbGV0IG9iaiA9IGFuZ3NbaV0gYXMgQW5nU2VjdGlvbk9iamVjdDtcbiAgLy8gICAgIGlmIChcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVsZXRpbmcgfHxcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVhZFxuICAvLyAgICAgKSB7XG4gIC8vICAgICAgIGNvbnRpbnVlO1xuICAvLyAgICAgfVxuICAvLyAgICAgbGV0IGxpbmUgPSBvYmouc2VyaWFsaXplVG9DYXJkKCk7XG4gIC8vICAgICBkYXRDYXJkRGF0YSArPSBsaW5lICs9IFwiXFxuXCI7XG4gIC8vICAgfVxuXG4gIC8vICAgbGV0IGR0YnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiRHRiU2VjdGlvbk9iamVjdFwiKTtcbiAgLy8gICBmb3IgKGxldCBpID0gMDsgaSA8IGR0YnMubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgIGxldCBvYmogPSBkdGJzW2ldIGFzIER0YlNlY3Rpb25PYmplY3Q7XG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nIHx8XG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlYWRcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBjb250aW51ZTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGxldCBsaW5lID0gb2JqLnNlcmlhbGl6ZVRvQ2FyZCgpO1xuICAvLyAgICAgZGF0Q2FyZERhdGEgKz0gbGluZSArPSBcIlxcblwiO1xuICAvLyAgIH1cblxuICAvLyAgIGxldCBydGJzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIlJ0YlNlY3Rpb25PYmplY3RcIik7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCBydGJzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBsZXQgb2JqID0gcnRic1tpXSBhcyBSdGJTZWN0aW9uT2JqZWN0O1xuICAvLyAgICAgaWYgKFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWxldGluZyB8fFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWFkXG4gIC8vICAgICApIHtcbiAgLy8gICAgICAgY29udGludWU7XG4gIC8vICAgICB9XG4gIC8vICAgICBsZXQgbGluZSA9IG9iai5zZXJpYWxpemVUb0NhcmQoKTtcbiAgLy8gICAgIGRhdENhcmREYXRhICs9IGxpbmUgKz0gXCJcXG5cIjtcbiAgLy8gICB9XG5cbiAgLy8gbGV0IGJsYnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiQmJsU2VjdGlvbk9iamVjdFwiKTtcbiAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBibGJzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgbGV0IG9iaiA9IGJsYnNbaV0gYXMgQmxiU2VjdGlvbk9iamVjdDtcbiAgLy8gICBpZiAoXG4gIC8vICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWxldGluZyB8fFxuICAvLyAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVhZFxuICAvLyAgICkge1xuICAvLyAgICAgY29udGludWU7XG4gIC8vICAgfVxuICAvLyAgIGxldCBsaW5lID0gb2JqLnNlcmlhbGl6ZVRvQ2FyZCgpO1xuICAvLyAgIGRhdENhcmREYXRhICs9IGxpbmUgKz0gXCJcXG5cIjtcbiAgLy8gfVxuXG4gIC8vICAgcmV0dXJuIGRhdENhcmREYXRhO1xuICAvLyB9XG5cbiAgLyoqXG4gICAqIOWvvOWHuua1t+WGteWNoeeJh+aVsOaNri5cbiAgICovXG4gIGV4cG9ydERBVEZpbGVfU2VhaW5wKCkge1xuICAgIC8vIGNhcmQgZGF0YSArIHJvIC0+IGNhcmRcbiAgICBjb25zb2xlLmxvZyhcImV4cG9ydF9zZWFpbnBcIik7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcbiAgICBsZXQgZGF0Q2FyZERhdGEgPSB2aWV3ZXIuZGF0V3JpdGVyTWFuYWdlci5leHBvcnREQVRGaWxlX1NlYWlucCgpO1xuICAgIGRhdENhcmREYXRhICs9IFwiRU5EXCI7XG5cbiAgICByZXR1cm4gZGF0Q2FyZERhdGE7XG4gIH1cblxuICAvKipcbiAgICog5a+85Ye65qih5Z6L5Y2h54mH5pWw5o2uLlxuICAgKi9cbiAgZXhwb3J0REFURmlsZV9TYWNpbnAoKSB7XG4gICAgLy9cbiAgICBjb25zb2xlLmxvZyhcImV4cG9ydF9zYWNpbnBcIik7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcbiAgICBsZXQgZGF0Q2FyZERhdGEgPSB2aWV3ZXIuZGF0V3JpdGVyTWFuYWdlci5leHBvcnREQVRGaWxlX1NhY2lucCgpO1xuICAgIGRhdENhcmREYXRhICs9IFwiRU5EXCI7XG5cbiAgICByZXR1cm4gZGF0Q2FyZERhdGE7XG4gIH1cblxuICAvLyDlr7zlhaVEQVRcbiAgaW1wb3J0REFURGF0YShjb250ZW50OiBzdHJpbmcsIG92ZXJXcml0ZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc29sZS5sb2coXCJpbXBvcnREQVREYXRhXCIsY29udGVudCk7XG4gICAgKHRoaXMudmlld2VyIGFzIFZpZXdlcikuZGF0UmVhZGVyTWFuYWdlci5pbXBvcnREQVREYXRhKGNvbnRlbnQsIG92ZXJXcml0ZSk7XG5cbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICAvLyDlr7zlhaXmtbflhrXmlofku7ZcbiAgaW1wb3J0U0VBRGF0YShjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnNvbGUubG9nKFwiaW1wb3J0U0VBRGF0YVwiKTtcbiAgICBsZXQgcm8gPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeVR5cGUoXCJTZWFzdGF0ZUxkb3B0XCIpO1xuICAgIGlmIChybykge1xuICAgICAgbGV0IG1lc3NhZ2UgPSBcIuW3sue7j+WtmOWcqOa1t+WGteaVsOaNrlwiO1xuICAgICAgTWVzc2FnZS5lcnJvcihtZXNzYWdlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKHRoaXMudmlld2VyIGFzIFZpZXdlcikuZGF0UmVhZGVyTWFuYWdlci5pbXBvcnRTZWFpbnBEYXRhKGNvbnRlbnQpO1xuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICAgICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLnN0cnVjdHVyZVRyZWVNYW5hZ2VyLnVwZGF0ZSgpO1xuICAgIHJldHVybiBcImltcG9ydFNFQURhdGEgc3VjY2Vzc2Z1bFwiO1xuICB9XG5cbiAgLyoqXG4gICAqIOWvvOWFpeWQjuWkhOeQhnNlYW9jaeaWh+S7tu+8jOS7heino+aekOiNt+i9veaVsOaNrlxuICAgKiBAcGFyYW0gY29udGVudFxuICAgKi9cbiAgaW1wb3J0U2Vhb2NpRGF0YShjb250ZW50OiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZyhcImltcG9ydFNlYW9jaURhdGFcIik7XG4gICAgKHRoaXMudmlld2VyIGFzIFZpZXdlcikuZGF0UmVhZGVyTWFuYWdlci5pbXBvcnRTZWFvY2lEYXRhKGNvbnRlbnQpO1xuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICAgICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLnN0cnVjdHVyZVRyZWVNYW5hZ2VyLnVwZGF0ZSgpO1xuICAgIHJldHVybiBcImltcG9ydFNlYW9jaURhdGEgc3VjY2Vzc2Z1bFwiO1xuICB9XG5cbiAgLy8g5a+85YWl5qGp5Zyf5pWw5o2uXG4gIGltcG9ydFBTSURhdGEoY29udGVudDogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coXCJpbXBvcnRQU0lEYXRhXCIpO1xuICAgICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLmRhdFJlYWRlck1hbmFnZXIuaW1wb3J0UFNJRGF0YShjb250ZW50KTtcblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICAodGhpcy52aWV3ZXIgYXMgVmlld2VyKS5zdHJ1Y3R1cmVUcmVlTWFuYWdlci51cGRhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDljoblj7Llm57pgIBcbiAgICovXG4gIGhpc3RvcnlCYWNrKCkge1xuICAgIGlmIChQcm9jZXNzLmFjdGl2ZVByb2Nlc3MuaGlzdG9yeU1hbmFnZXIuY2FuUm9sbEJhY2spIHtcbiAgICAgIFByb2Nlc3MuYWN0aXZlUHJvY2Vzcy5oaXN0b3J5TWFuYWdlci5yb2xsQmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDljoblj7Lph43lgZpcbiAgICovXG4gIGhpc3RvcnlGb3J3YXJkKCkge1xuICAgIGlmIChQcm9jZXNzLmFjdGl2ZVByb2Nlc3MuaGlzdG9yeU1hbmFnZXIuY2FuUm9sbEZvcndhcmQpIHtcbiAgICAgIFByb2Nlc3MuYWN0aXZlUHJvY2Vzcy5oaXN0b3J5TWFuYWdlci5yb2xsRm9yd2FyZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDmjInlvZPliY3mv4DmtLvnmoTpgInmi6nov4fmu6TlmajnsbvlnovvvIzpgInkuK3lubbnuqLoibLpq5jkuq7lvZPliY3op4blj6PkuK3mmL7npLrnmoTmiYDmnInlr7nlupTlh6DkvZXlhYPntKBcbiAgICovXG4gIHNlbGVjdEFsbCgpIHtcbiAgICAvL1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgdmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcbiAgICBzd2l0Y2ggKHZpZXdlci5zZWxlY3Rpb25JbnRlcmZhY2VNYW5hZ2VyLnNlbGVjdG9yRmlsdGVyKSB7XG4gICAgICAvL1xuICAgICAgY2FzZSBTZWxlY3RvckZpbGl0ZXIuSm9pbnQ6XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsSm9pbnRzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTZWxlY3RvckZpbGl0ZXIuTWVtYmVyOlxuICAgICAgICB0aGlzLnNlbGVjdEFsbE1lbWJlcnMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNlbGVjdG9yRmlsaXRlci5QbGF0ZTpcbiAgICAgICAgdGhpcy5zZWxlY3RBbGxQbGF0ZXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNlbGVjdG9yRmlsaXRlci5BbGw6XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsSm9pbnRzKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsTWVtYmVycygpO1xuICAgICAgICB0aGlzLnNlbGVjdEFsbFBsYXRlcygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICAvLyDmiZPlvIDnvJbovpHlmahcblxuICAvKipcbiAgICog5Yib5bu66KeG54K5KOWvueW9k+WJjeinhuWPo+aIquWbvilcbiAgICogQHBhcmFtIHZpZXdQb2ludE5hbWUg6KeG54K55ZCNXG4gICAqL1xuICBjcmVhdGVWaWV3UG9pbnQodmlld1BvaW50TmFtZTogc3RyaW5nKSB7XG4gICAgLy8g5Yib5bu66KeG54K5XG4gICAgKHRoaXMudmlld2VyIGFzIFZpZXdlcikuY2FlUGFuZWxNYW5hZ2VyLnZpZXdQb2ludFBhbmVsQ2FlXG4gICAgICAuYWRkVmlld1BvaW50KHZpZXdQb2ludE5hbWUpXG4gICAgICAudGhlbigoKSA9PiB7fSk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEFsbEpvaW50cygpIHtcbiAgICBsZXQgam9pbnRzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIkpvaW50T2JqZWN0XCIpO1xuICAgIGxldCBrZXlzID0gbmV3IEFycmF5PG51bWJlcj4oKTtcbiAgICBsZXQgcGF0aHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgam9pbnRzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGtleXMucHVzaChpdGVtLnNlZ21lbnQua2V5KTtcbiAgICAgIHBhdGhzLnB1c2goaXRlbS5zZWdtZW50LnBhdGgpO1xuICAgIH0pO1xuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0S2V5cyhrZXlzLCBwYXRocyk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEFsbE1lbWJlcnMoKSB7XG4gICAgLy9cbiAgICBsZXQgbWVtYmVycyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJNZW1iZXJPYmplY3RcIik7XG4gICAgbGV0IGtleXMgPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xuICAgIGxldCBwYXRocyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBtZW1iZXJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGtleXMucHVzaChpdGVtLnNlZ21lbnQua2V5KTtcbiAgICAgIHBhdGhzLnB1c2goaXRlbS5zZWdtZW50LnBhdGgpO1xuICAgIH0pO1xuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0S2V5cyhrZXlzLCBwYXRocyk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEFsbFBsYXRlcygpIHtcbiAgICBsZXQgcGxhdGVzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIlBsYXRlT2JqZWN0XCIpO1xuICAgIGxldCBrZXlzID0gbmV3IEFycmF5PG51bWJlcj4oKTtcbiAgICBsZXQgcGF0aHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGtleXMucHVzaChpdGVtLnNlZ21lbnQua2V5KTtcbiAgICAgIHBhdGhzLnB1c2goaXRlbS5zZWdtZW50LnBhdGgpO1xuICAgIH0pO1xuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0S2V5cyhrZXlzLCBwYXRocyk7XG4gIH1cblxuICAvKipcbiAgICog5p+l5om+5bey5pi+56S655qE56m66Ze054K5XG4gICAqIEBwYXJhbSBqb2ludE5hbWUg56m66Ze054K55ZCN5a2XXG4gICAqL1xuICBmaW5kSm9pbnQoam9pbnROYW1lOiBzdHJpbmcpOiBKb2ludE9iamVjdCB7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzIGFzIFByb2Nlc3M7XG4gICAgbGV0IHJvID0gcHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgIHByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuam9pbnROb2RlIGFzIERlc2lnbkJhc2VPYmplY3QsXG4gICAgICBqb2ludE5hbWVcbiAgICApO1xuICAgIGlmIChybyAmJiBybyBpbnN0YW5jZW9mIEpvaW50T2JqZWN0KSB7XG4gICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgICB0aGlzLnZpZXdlci5sb2NhdGVXb3JsZChyby5zZWdtZW50KTtcbiAgICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0S2V5cyhcbiAgICAgICAgW3JvLnNlZ21lbnQua2V5XSxcbiAgICAgICAgW3JvLnNlZ21lbnQucGF0aF1cbiAgICAgICk7XG4gICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG5cbiAgICAgIHJldHVybiBybztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOmHjeWRveWQjeepuumXtOeCuVxuICAgKiBAcGFyYW0gb3JpZ2luSm9pbnROYW1lIOWOn+Wni+eCueWQjeensFxuICAgKiBAcGFyYW0gbmV3Sm9pbnROYW1lIOaWsOeahOeCueWQjeensFxuICAgKiBAcmV0dXJucyDov5Tlm57ph43lkb3lkI3nmoTnu5Pmnpzmj5DnpLpcbiAgICovXG4gIHJlbmFtZUpvaW50KFxuICAgIG9yaWdpbkpvaW50TmFtZTogc3RyaW5nLFxuICAgIG5ld0pvaW50TmFtZTogc3RyaW5nLFxuICAgIHVzZU5leHRBdmFsaWFibGU6IGJvb2xlYW5cbiAgKSB7XG4gICAgLy9cbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcblxuICAgIGxldCByZXN1bHQgPSB7fTtcbiAgICBpZiAoIUpvaW50T2JqZWN0LmNoZWNrTmFtZWxlZ2FsKG5ld0pvaW50TmFtZSkpIHtcbiAgICAgIHJlc3VsdCA9IDM7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGxldCBqb2ludE5vZGUgPSBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLmpvaW50Tm9kZTtcbiAgICBsZXQgcm8gPSBwcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgam9pbnROb2RlLFxuICAgICAgb3JpZ2luSm9pbnROYW1lXG4gICAgKTtcbiAgICBpZiAocm8gJiYgcm8gaW5zdGFuY2VvZiBKb2ludE9iamVjdCkge1xuICAgICAgaWYgKCF1c2VOZXh0QXZhbGlhYmxlKSB7XG4gICAgICAgIGxldCBuZXdOYW1lUk8gPSBwcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICAgIGpvaW50Tm9kZSxcbiAgICAgICAgICBuZXdKb2ludE5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKG5ld05hbWVSTykge1xuICAgICAgICAgIHJlc3VsdCA9IDMgKyBcIixcIiArIG5ld0pvaW50TmFtZTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdKb2ludE5hbWUgPSBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLm5hbWVBc2NlbmRpbmdPcmRlcihcbiAgICAgICAgICBuZXdKb2ludE5hbWUsXG4gICAgICAgICAgMSxcbiAgICAgICAgICBwcm9jZXNzLm5hbWVNYXBKb2ludFxuICAgICAgICApWzBdO1xuICAgICAgfVxuXG4gICAgICByby5uYW1lID0gbmV3Sm9pbnROYW1lO1xuICAgICAgLy8gcm8uaXNEcmF3TmFtZSA9IHRydWU7XG4gICAgICByby5zZXROZWVkVXBkYXRlKCk7XG4gICAgICAvLyBzdWNjZXNzZnVsXG4gICAgICByZXN1bHQgPSAyICsgXCIsXCIgKyBvcmlnaW5Kb2ludE5hbWUgKyBcIixcIiArIG5ld0pvaW50TmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gMSArIFwiLFwiICsgb3JpZ2luSm9pbnROYW1lO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICog5p+l5om+5bey5pi+56S655qE5p2G5Lu2XG4gICAqIEBwYXJhbSBtZW1iZXJOYW1lIOadhuS7tuWQjeWtl1xuICAgKi9cbiAgZmluZE1lbWJlcihtZW1iZXJOYW1lOiBzdHJpbmcpOiBNZW1iZXJPYmplY3Qge1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcyBhcyBQcm9jZXNzO1xuXG4gICAgbGV0IHJvID0gcHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgIHByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZSBhcyBEZXNpZ25CYXNlT2JqZWN0LFxuICAgICAgbWVtYmVyTmFtZVxuICAgICk7XG4gICAgaWYgKHJvICYmIHJvIGluc3RhbmNlb2YgTWVtYmVyT2JqZWN0KSB7XG4gICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgICB0aGlzLnZpZXdlci5sb2NhdGVXb3JsZChyby5zZWdtZW50KTtcbiAgICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0S2V5cyhcbiAgICAgICAgW3JvLnNlZ21lbnQua2V5XSxcbiAgICAgICAgW3JvLnNlZ21lbnQucGF0aF1cbiAgICAgICk7XG4gICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG5cbiAgICAgIHJldHVybiBybztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOmAmui/h+adhuS7tuWQjeensOe7hOmrmOS6ruadhuS7tlxuICAgKiBAcGFyYW0gbmFtZXNcbiAgICovXG4gIGhpZ2hsaWdodE1lbWJlckJ5TmFtZXMobmFtZXM6IHN0cmluZ1tdKSB7XG4gICAgLy9cbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcblxuICAgIGxldCBrZXlzID0gW107XG4gICAgbGV0IHBhdGhzID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgb2JqID0gcHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgICAgcHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5tZW1iZXJOb2RlLFxuICAgICAgICBuYW1lc1tpXVxuICAgICAgKTtcblxuICAgICAgaWYgKG9iaikge1xuICAgICAgICBrZXlzLnB1c2gob2JqLnNlZ21lbnQua2V5KTtcbiAgICAgICAgcGF0aHMucHVzaChvYmouc2VnbWVudC5wYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwi5om+5LiN5YiwXCIgKyBuYW1lc1tpXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0S2V5cyhrZXlzLCBwYXRocyk7XG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOmAmui/h+adv+WQjeensOe7hOmrmOS6ruadvy5cbiAgICogQHBhcmFtIG5hbWVzXG4gICAqL1xuICBoaWdobGlnaHRQbGF0ZUJ5TmFtZXMobmFtZXM6IHN0cmluZ1tdKSB7XG4gICAgLy9cbiAgICBsZXQga2V5cyA9IFtdO1xuICAgIGxldCBwYXRocyA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IG9iaiA9IChcbiAgICAgICAgdGhpcy52aWV3ZXIucHJvY2VzcyBhcyBQcm9jZXNzXG4gICAgICApLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICAodGhpcy52aWV3ZXIucHJvY2VzcyBhcyBQcm9jZXNzKS5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5wbGF0ZU5vZGUsXG4gICAgICAgIG5hbWVzW2ldXG4gICAgICApO1xuXG4gICAgICBpZiAob2JqKSB7XG4gICAgICAgIGtleXMucHVzaChvYmouc2VnbWVudC5rZXkpO1xuICAgICAgICBwYXRocy5wdXNoKG9iai5zZWdtZW50LnBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coXCLmib7kuI3liLBcIiArIG5hbWVzW2ldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RBbmRIaWdobGlnaHRLZXlzKGtleXMsIHBhdGhzKTtcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICAvKipcbiAgICog5p+l5om+5bey5pi+56S655qE5p2/XG4gICAqIEBwYXJhbSBwbGF0ZU5hbWUg5p2/5ZCN56ewXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBmaW5kUGxhdGUocGxhdGVOYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcblxuICAgIGxldCBybyA9IHByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnBsYXRlTm9kZSBhcyBEZXNpZ25CYXNlT2JqZWN0LFxuICAgICAgcGxhdGVOYW1lXG4gICAgKTtcbiAgICBpZiAocm8gJiYgcm8gaW5zdGFuY2VvZiBQbGF0ZU9iamVjdCkge1xuICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgICAgdGhpcy52aWV3ZXIubG9jYXRlV29ybGQocm8uc2VnbWVudCk7XG4gICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoXG4gICAgICAgIFtyby5zZWdtZW50LmtleV0sXG4gICAgICAgIFtyby5zZWdtZW50LnBhdGhdXG4gICAgICApO1xuICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgICByZXR1cm4gcm87XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vIC8qKlxuICAvLyAgKiDov5Tlm55DQUXnu5PmnoTmoJHnmoTmlbDmja4uXG4gIC8vICAqIEByZXR1cm5zXG4gIC8vICAqL1xuICAvLyBnZXRTdHJ1Y3R1cmVUcmVlRGF0YSgpOiBzdHJpbmcge1xuICAvLyAgIC8vXG4gIC8vICAgbGV0IHJvb3ROb2RlID0gKHRoaXMudmlld2VyIGFzIFZpZXdlcikucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlclxuICAvLyAgICAgLnJvb3ROb2RlO1xuICAvLyAgIGxldCBtb2RlbERhdGEgPSBKU09OLnN0cmluZ2lmeShcbiAgLy8gICAgIHRoaXMudmlld2VyLnByb2Nlc3MucGVyc2lzdGVuY2VNYW5hZ2VyLnNhdmUocm9vdE5vZGUpXG4gIC8vICAgKTtcbiAgLy8gICByZXR1cm4gbW9kZWxEYXRhO1xuICAvLyB9XG5cbiAgLyoqXG4gICAqIOi/lOWbnkNBRee7k+aehOagkeeahOaVsOaNri5cbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldFN0cnVjdHVyZVRyZWVEYXRhKCkge1xuICAgIC8vXG4gICAgbGV0IHJvb3ROb2RlID0gKHRoaXMudmlld2VyIGFzIFZpZXdlcikuc3RydWN0dXJlVHJlZU1hbmFnZXIucm9vdE5vZGU7XG4gICAgcmV0dXJuIHJvb3ROb2RlO1xuICB9XG5cbiAgZ2V0TWVtYmVyR3J1cHMoKSB7XG4gICAgLy8g5p2G5Lu25oiq6Z2i57uE5ZCN5a2X5YiX6KGoXG4gICAgbGV0IGdydXBOYW1lTGlzdCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBsZXQgZ3J1cE9iamVjdEdyb3VwID1cbiAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5TmFtZShcIuadhuS7tuaIqumdoue7hFwiKTtcbiAgICBpZiAoZ3J1cE9iamVjdEdyb3VwKSB7XG4gICAgICBncnVwT2JqZWN0R3JvdXAuY2hpbGRPYmplY3RzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBncnVwTmFtZUxpc3QucHVzaChpdGVtLm5hbWUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdydXBOYW1lTGlzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiDnu5PmnoTmoJHmt7vliqDoioLngrkuXG4gICAqL1xuICBhZGRTdHJ1Y3R1cmVOb2RlKHBhcmVudDogTG9uZ2FuLlJlbmRlck9iamVjdCwgcm86IERlc2lnbkJhc2VPYmplY3QpIHtcbiAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChwYXJlbnQsIHJvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnu5PmnoTmoJHmt7vliqDoioLngrkuXG4gICAqL1xuICByZW1vdmVTdHJ1Y3R1cmVOb2RlKHJvOiBEZXNpZ25CYXNlT2JqZWN0KSB7XG4gICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5yZW1vdmVSZW5kZXJPYmplY3Qocm8pO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uua1t+eUn+eJqeWOmuW6puaMiemrmOeoi+WIhuiJsuWvueixoVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY3JlYXRlTWdyb3ZPYmplY3QoKSB7XG4gICAgbGV0IG1ncm92ID0gbmV3IE1ncm92T2JqZWN0KCk7XG4gICAgcmV0dXJuIG1ncm92O1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uuiFkOiagOS9memHj+aMiemrmOeoi+WIhuiJsuWvueixoVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY3JlYXRlQ29ycnpPYmplY3QoKSB7XG4gICAgbGV0IGNvcnJ6ID0gbmV3IENvcnJ6T2JqZWN0KCk7XG4gICAgcmV0dXJuIGNvcnJ6O1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckNoaWxkT2JqZWN0cyh2aWV3ZXI6IFZpZXdlciwgcm86IExvbmdhbi5SZW5kZXJPYmplY3QpIHtcbiAgICBpZiAocm8pIHtcbiAgICAgIHdoaWxlIChyby5jaGlsZE9iamVjdHMubGVuZ3RoID4gMCkge1xuICAgICAgICB2aWV3ZXIucHJvY2Vzcy5yZW1vdmVSZW5kZXJPYmplY3Qocm8uY2hpbGRPYmplY3RzWzBdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyDmuIXpmaTlnLrmma/mqKHlnovmlbDmja5cbiAgY2xlYXJDYWVSZW5kZXJPYmplY3Qodmlld2VyOiBWaWV3ZXIpIHtcbiAgICB0aGlzLmNsZWFyQ2hpbGRPYmplY3RzKFxuICAgICAgdmlld2VyLFxuICAgICAgdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZVxuICAgICk7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnBsYXRlTm9kZVxuICAgICk7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLmpvaW50Tm9kZVxuICAgICk7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLmdydXBOb2RlXG4gICAgKTtcbiAgICB0aGlzLmNsZWFyQ2hpbGRPYmplY3RzKFxuICAgICAgdmlld2VyLFxuICAgICAgdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIucEdydXBOb2RlXG4gICAgKTtcbiAgICB0aGlzLmNsZWFyQ2hpbGRPYmplY3RzKFxuICAgICAgdmlld2VyLFxuICAgICAgdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuc2VjdGlvbkluc05vZGVcbiAgICApO1xuICAgIHRoaXMuY2xlYXJDaGlsZE9iamVjdHMoXG4gICAgICB2aWV3ZXIsXG4gICAgICB2aWV3ZXIucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5zYWNpbnBOb2RlXG4gICAgKTtcbiAgICB0aGlzLmNsZWFyQ2hpbGRPYmplY3RzKFxuICAgICAgdmlld2VyLFxuICAgICAgdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuc2Vhc3RhdGVOb2RlXG4gICAgKTtcbiAgICB0aGlzLmNsZWFyQ2hpbGRPYmplY3RzKFxuICAgICAgdmlld2VyLFxuICAgICAgdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIucGlsZU5vZGVcbiAgICApO1xuICAgIHRoaXMuY2xlYXJDaGlsZE9iamVjdHMoXG4gICAgICB2aWV3ZXIsXG4gICAgICB2aWV3ZXIucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5wbEdydXBOb2RlXG4gICAgKTtcbiAgICB0aGlzLmNsZWFyQ2hpbGRPYmplY3RzKFxuICAgICAgdmlld2VyLFxuICAgICAgdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIucG9zdFJlc3VsdE5vZGVcbiAgICApO1xuICB9XG5cbiAgLy8g5oyJ5oiq6Z2i57uE5ZCN5YiG6Imy5byA5YWzXG4gIHByaXZhdGUgY29sb3JEaXZTd2l0Y2hfR3J1cE5hbWUob25fb2ZmOiBib29sZWFuLCBpc1VwZGF0ZSA9IHRydWUpIHtcbiAgICBsZXQgdmlld2VyID0gdGhpcy52aWV3ZXIgYXMgVmlld2VyO1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcztcblxuICAgIGxldCBjb2xvckRpdmlkZVJPID0gcHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLmjInmiKrpnaLnu4Tlj7fliIboibJcIlxuICAgICkgYXMgQ3V0bGluZUdydXBJZE9iamVjdDtcbiAgICBpZiAoY29sb3JEaXZpZGVSTykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xvckRpdmlkZVJPLmNoaWxkT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgb2JqID0gY29sb3JEaXZpZGVSTy5jaGlsZE9iamVjdHNbaV0gYXMgQ29sb3JEaXZHcnVwSWRPYmplY3Q7XG5cbiAgICAgICAgaWYgKG9iai5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICAgICAgb2JqLmFjdGl2ZSh2aWV3ZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYmouaW5hY3RpdmUodmlld2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICBsZXQgY3V0bGluZSA9IHt9O1xuXG4gICAgICAgIGlmIChjb2xvckRpdmlkZVJPKSB7XG4gICAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCJcIik7XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjdXRsaW5lID0gY29sb3JEaXZpZGVSTy5nZXRDdXRsaW5lKCk7XG4gICAgICAgICAgbGV0IGNvbXBvbmVudCA9IExlZ2VuZE1hbmFnZS5jcmVhdGUoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRLZXksXG4gICAgICAgICAgICBjdXRsaW5lLFxuICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodGhpcy5zaG93RW5nbGlzaFRleHQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudC50aXRsZSA9IFwiQ29sb3JlZCBCeSBNZW1iZXIgR3JvdXBzXCI7XG4gICAgICAgICAgICBjb21wb25lbnQubGVmdFRleHQgPSBcIkNvbG9yXCI7XG4gICAgICAgICAgICBjb21wb25lbnQucmlnaHRUZXh0ID0gXCJNZW1iZXIgR3JvdXBzXCI7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIkNvbG9yZWQgQnkgTWVtYmVyIEdyb3Vwc1wiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZExlZnRUZXh0XCIsIFwiQ29sb3JcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCJNZW1iZXIgR3JvdXBzXCIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIuaIqumdoue7hOWIhuiJslwiO1xuICAgICAgICAgICAgY29tcG9uZW50LmxlZnRUZXh0ID0gXCLpopzoibJcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5yaWdodFRleHQgPSBcIuaIqumdoue7hOWQjVwiO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCLmiKrpnaLnu4TliIboibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRMZWZ0VGV4dFwiLCBcIuminOiJslwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIuaIqumdoue7hOWQjVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gICBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwgY3V0bGluZSk7XG4gICAgICAgICAgLy8gfSwgMjApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBMZWdlbmRNYW5hZ2UuZGVzdG9yeSh0aGlzLmVsZW1lbnRLZXkpO1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwge30pO1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNVcGRhdGUpIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sb3JEaXZTd2l0Y2hfR3J1cFRoaWNrbmVzcyhvbl9vZmY6IGJvb2xlYW4sIGlzVXBkYXRlID0gdHJ1ZSkge1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzO1xuXG4gICAgbGV0IGNvbG9yRGl2aWRlUk8gPSBwcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXG4gICAgICBcIuaMieaIqumdouWjgeWOmuWIhuiJslwiXG4gICAgKSBhcyBDdXRsaW5lR3J1cFRoaWNrbmVzc09iamVjdDtcbiAgICBpZiAoY29sb3JEaXZpZGVSTykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xvckRpdmlkZVJPLmNoaWxkT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgb2JqID0gY29sb3JEaXZpZGVSTy5jaGlsZE9iamVjdHNbaV0gYXMgQ29sb3JEaXZHcnVwVGhpY2tuZXNzT2JqZWN0O1xuICAgICAgICBpZiAob2JqLmNoZWNrQnVzaW5lc3NTdGF0ZUlzQWN0aXZlKCkpIHtcbiAgICAgICAgICBpZiAob25fb2ZmKSB7XG4gICAgICAgICAgICBvYmouYWN0aXZlKHZpZXdlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9iai5pbmFjdGl2ZSh2aWV3ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAob25fb2ZmKSB7XG4gICAgICAgIGxldCBjdXRsaW5lID0ge307XG4gICAgICAgIGlmIChjb2xvckRpdmlkZVJPKSB7XG4gICAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwge30pO1xuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwiXCIpO1xuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlwiKTtcbiAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjdXRsaW5lID0gY29sb3JEaXZpZGVSTy5nZXRDdXRsaW5lKCk7XG4gICAgICAgICAgbGV0IGNvbXBvbmVudCA9IExlZ2VuZE1hbmFnZS5jcmVhdGUoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRLZXksXG4gICAgICAgICAgICBjdXRsaW5lLFxuICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodGhpcy5zaG93RW5nbGlzaFRleHQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudC50aXRsZSA9IFwiQ29sb3JlZCBCeSBUaGlja25lc3NcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5sZWZ0VGV4dCA9IFwiQ29sb3JcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5yaWdodFRleHQgPSBcIlRoaWNrbmVzcyhjbSlcIjtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwiQ29sb3JlZCBCeSBUaGlja25lc3NcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRMZWZ0VGV4dFwiLCBcIkNvbG9yXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiVGhpY2tuZXNzKGNtKVwiKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tcG9uZW50LnRpdGxlID0gXCLlo4HljprliIboibJcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5sZWZ0VGV4dCA9IFwi6aKc6ImyXCI7XG4gICAgICAgICAgICBjb21wb25lbnQucmlnaHRUZXh0ID0gXCLlo4HljpooY20pXCI7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIuWjgeWOmuWIhuiJslwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZExlZnRUZXh0XCIsIFwi6aKc6ImyXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwi5aOB5Y6aKGNtKVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIGN1dGxpbmUpO1xuICAgICAgICAgIC8vIH0sIDIwKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJcIik7XG4gICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlwiKTtcbiAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzVXBkYXRlKSB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICBwcml2YXRlIGNvbG9yZERpdlN3aXRjaF9NZ3Jvdihvbl9vZmY6IGJvb2xlYW4sIGlzVXBkYXRlID0gdHJ1ZSkge1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzO1xuXG4gICAgbGV0IGNvbG9yRGl2aWRlUk8gPSBwcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXG4gICAgICBcIua1t+eUn+eJqeWOmuW6puaMiemrmOeoi+WIhuiJslwiXG4gICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuICAgIGlmIChjb2xvckRpdmlkZVJPICYmIGNvbG9yRGl2aWRlUk8uY2hlY2tCdXNpbmVzc1N0YXRlSXNBY3RpdmUoKSkge1xuICAgICAgbGV0IG9iaiA9IGNvbG9yRGl2aWRlUk8gYXMgQ29sb3JEaXZNR1JPVk9iamVjdDtcblxuICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICBvYmouYWN0aXZlKHZpZXdlcik7XG5cbiAgICAgICAgbGV0IGN1dGxpbmUgPSB7fTtcbiAgICAgICAgaWYgKGNvbG9yRGl2aWRlUk8pIHtcbiAgICAgICAgICBsZXQgb2JqID0gY29sb3JEaXZpZGVSTyBhcyBDb2xvckRpdk1HUk9WT2JqZWN0O1xuICAgICAgICAgIGxldCB0aGlja25lc3NJbmRleCA9IDA7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmouaGVpZ2h0TGlzdC5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICAgICAgbGV0IGJvdHRvbSA9IG9iai5oZWlnaHRMaXN0W2ldO1xuICAgICAgICAgICAgbGV0IHRvcCA9IG9iai5oZWlnaHRMaXN0W2kgKyAxXTtcbiAgICAgICAgICAgIGxldCBrZXkgPSBib3R0b20gKyBcIn5cIiArIHRvcCArIFwi77yaXCIgKyBvYmoudGhpY2tuZXNzW3RoaWNrbmVzc0luZGV4XTtcblxuICAgICAgICAgICAgbGV0IGNvbG9yID0gW1xuICAgICAgICAgICAgICBvYmouY29sb3JbKGkgLyAyKSAqIDQgKyAwXSxcbiAgICAgICAgICAgICAgb2JqLmNvbG9yWyhpIC8gMikgKiA0ICsgMV0sXG4gICAgICAgICAgICAgIG9iai5jb2xvclsoaSAvIDIpICogNCArIDJdLFxuICAgICAgICAgICAgICBvYmouY29sb3JbKGkgLyAyKSAqIDQgKyAzXSxcbiAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgIGlmIChjb2xvclswXSA9PT0gLTEgJiYgY29sb3JbMV0gPT09IC0xICYmIGNvbG9yWzJdID09PSAtMSkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yWzBdICo9IDI1NTtcbiAgICAgICAgICAgIGNvbG9yWzFdICo9IDI1NTtcbiAgICAgICAgICAgIGNvbG9yWzJdICo9IDI1NTtcblxuICAgICAgICAgICAgY3V0bGluZVtrZXldID0gY29sb3I7XG4gICAgICAgICAgICB0aGlja25lc3NJbmRleCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwge30pO1xuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwiXCIpO1xuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlwiKTtcbiAgICAgICAgICBMZWdlbmRNYW5hZ2UuZGVzdG9yeSh0aGlzLmVsZW1lbnRLZXkpO1xuICAgICAgICAgIGxldCBjb21wb25lbnQgPSBMZWdlbmRNYW5hZ2UuY3JlYXRlKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50S2V5LFxuICAgICAgICAgICAgY3V0bGluZSxcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICk7XG4gICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuc2hvd0VuZ2xpc2hUZXh0KSB7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIk1hcmluZSBHcm93dGggWm9uZXNcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5sZWZ0VGV4dCA9IFwiQ29sb3JcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5yaWdodFRleHQgPSBcIkhlaWdodCBSYW5nZShtKTogVGhpY2tuZXNzKG1tKVwiO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJNYXJpbmUgR3Jvd3RoIFpvbmVzXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kTGVmdFRleHRcIiwgXCJDb2xvclwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcbiAgICAgICAgICAgIC8vICAgXCJzZXRMZWdlbmRSaWdodFRleHRcIixcbiAgICAgICAgICAgIC8vICAgXCJIZWlnaHQgUmFuZ2UobSk6IFRoaWNrbmVzcyhtbSlcIlxuICAgICAgICAgICAgLy8gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCLmtbfnlJ/nianljprluqbliIboibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRMZWZ0VGV4dFwiLCBcIuminOiJslwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIumrmOW6puiMg+WbtChtKTog5Y6a5bqmKG1tKVwiKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC50aXRsZSA9IFwi5rW355Sf54mp5Y6a5bqm5YiG6ImyXCI7XG4gICAgICAgICAgICBjb21wb25lbnQubGVmdFRleHQgPSBcIuminOiJslwiO1xuICAgICAgICAgICAgY29tcG9uZW50LnJpZ2h0VGV4dCA9IFwi6auY5bqm6IyD5Zu0KG0pOiDljprluqYobW0pXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFwiLCBjdXRsaW5lKTtcbiAgICAgICAgICAvLyB9LCA1MCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9iai5pbmFjdGl2ZSh2aWV3ZXIpO1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwge30pO1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiXCIpO1xuICAgICAgICBMZWdlbmRNYW5hZ2UuZGVzdG9yeSh0aGlzLmVsZW1lbnRLZXkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNVcGRhdGUpIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sb3JkRGl2U3dpdGNoX0NvcnJ6KG9uX29mZjogYm9vbGVhbiwgaXNVcGRhdGUgPSB0cnVlKSB7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3M7XG5cbiAgICBsZXQgY29sb3JEaXZpZGVSTyA9IHByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5TmFtZShcbiAgICAgIFwi6IWQ6JqA5L2Z6YeP5oyJ6auY56iL5YiG6ImyXCJcbiAgICApIGFzIERlc2lnbkJhc2VPYmplY3Q7XG4gICAgaWYgKGNvbG9yRGl2aWRlUk8gJiYgY29sb3JEaXZpZGVSTy5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICBsZXQgb2JqID0gY29sb3JEaXZpZGVSTyBhcyBDb2xvckRpdkNPUlJaT2JqZWN0O1xuICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICBvYmouYWN0aXZlKHZpZXdlcik7XG5cbiAgICAgICAgbGV0IGN1dGxpbmUgPSB7fTtcbiAgICAgICAgaWYgKGNvbG9yRGl2aWRlUk8pIHtcbiAgICAgICAgICBsZXQgb2JqID0gY29sb3JEaXZpZGVSTyBhcyBDb2xvckRpdkNPUlJaT2JqZWN0O1xuICAgICAgICAgIGxldCB0aGlja25lc3NJbmRleCA9IDA7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmouaGVpZ2h0TGlzdC5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICAgICAgbGV0IGJvdHRvbSA9IG9iai5oZWlnaHRMaXN0W2ldO1xuICAgICAgICAgICAgbGV0IHRvcCA9IG9iai5oZWlnaHRMaXN0W2kgKyAxXTtcblxuICAgICAgICAgICAgbGV0IGtleUxldmVsQm90dG9tID0gb2JqLmNvcnJ6TGlzdFt0aGlja25lc3NJbmRleF0udGhpY2tuZXNzQm90dG9tO1xuICAgICAgICAgICAgaWYgKCFrZXlMZXZlbEJvdHRvbSkge1xuICAgICAgICAgICAgICBrZXlMZXZlbEJvdHRvbSA9IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBrZXlMZXZlbFRvcCA9IG9iai5jb3Jyekxpc3RbdGhpY2tuZXNzSW5kZXhdLnRoaWNrbmVzc1RvcDtcbiAgICAgICAgICAgIGlmICgha2V5TGV2ZWxUb3ApIHtcbiAgICAgICAgICAgICAga2V5TGV2ZWxUb3AgPSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQga2V5ID1cbiAgICAgICAgICAgICAgYm90dG9tICsgXCJ+XCIgKyB0b3AgKyBcIu+8mlwiICsga2V5TGV2ZWxCb3R0b20gKyBcIn5cIiArIGtleUxldmVsVG9wO1xuXG4gICAgICAgICAgICBsZXQgY29sb3IgPSBbXG4gICAgICAgICAgICAgIG9iai5jb2xvclsoaSAvIDIpICogNCArIDBdLFxuICAgICAgICAgICAgICBvYmouY29sb3JbKGkgLyAyKSAqIDQgKyAxXSxcbiAgICAgICAgICAgICAgb2JqLmNvbG9yWyhpIC8gMikgKiA0ICsgMl0sXG4gICAgICAgICAgICAgIG9iai5jb2xvclsoaSAvIDIpICogNCArIDNdLFxuICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgaWYgKGNvbG9yWzBdID09PSAtMSAmJiBjb2xvclsxXSA9PT0gLTEgJiYgY29sb3JbMl0gPT09IC0xKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3JbMF0gKj0gMjU1O1xuICAgICAgICAgICAgY29sb3JbMV0gKj0gMjU1O1xuICAgICAgICAgICAgY29sb3JbMl0gKj0gMjU1O1xuXG4gICAgICAgICAgICBjdXRsaW5lW2tleV0gPSBjb2xvcjtcbiAgICAgICAgICAgIHRoaWNrbmVzc0luZGV4Kys7XG4gICAgICAgICAgfVxuICAgICAgICAgIExlZ2VuZE1hbmFnZS5kZXN0b3J5KHRoaXMuZWxlbWVudEtleSk7XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCJcIik7XG4gICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgbGV0IGNvbXBvbmVudCA9IExlZ2VuZE1hbmFnZS5jcmVhdGUoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRLZXksXG4gICAgICAgICAgICBjdXRsaW5lLFxuICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodGhpcy5zaG93RW5nbGlzaFRleHQpIHtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwiQ29ycm9zaW9uIFpvbmVzXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kTGVmdFRleHRcIiwgXCJDb2xvclwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcbiAgICAgICAgICAgIC8vICAgXCJzZXRMZWdlbmRSaWdodFRleHRcIixcbiAgICAgICAgICAgIC8vICAgXCJIZWlnaHQgUmFuZ2UobSk6IFRoaWNrbmVzcyhtbSlcIlxuICAgICAgICAgICAgLy8gKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC50aXRsZSA9IFwiQ29ycm9zaW9uIFpvbmVzXCI7XG4gICAgICAgICAgICBjb21wb25lbnQubGVmdFRleHQgPSBcIkNvbG9yXCI7XG4gICAgICAgICAgICBjb21wb25lbnQucmlnaHRUZXh0ID0gXCJIZWlnaHQgUmFuZ2UobSk6IFRoaWNrbmVzcyhtbSlcIjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCLohZDomoDkvZnph4/liIboibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRMZWZ0VGV4dFwiLCBcIuminOiJslwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIumrmOW6puiMg+WbtChtKTog5Y6a5bqmKG1tKVwiKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC50aXRsZSA9IFwi6IWQ6JqA5L2Z6YeP5YiG6ImyXCI7XG4gICAgICAgICAgICBjb21wb25lbnQubGVmdFRleHQgPSBcIuminOiJslwiO1xuICAgICAgICAgICAgY29tcG9uZW50LnJpZ2h0VGV4dCA9IFwi5aOB6auY5bqm6IyD5Zu0KG0pOiDljprluqYobW0pXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFwiLCBjdXRsaW5lKTtcbiAgICAgICAgICAvLyB9LCAyMCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9iai5pbmFjdGl2ZSh2aWV3ZXIpO1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwge30pO1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiXCIpO1xuICAgICAgICBMZWdlbmRNYW5hZ2UuZGVzdG9yeSh0aGlzLmVsZW1lbnRLZXkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNVcGRhdGUpIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sb3JEaXZTd2l0Y2hfQ29tcG9uZW50R3JvdXAob25fb2ZmOiBib29sZWFuLCBpc1VwZGF0ZSA9IHRydWUpIHtcbiAgICBsZXQgdmlld2VyID0gdGhpcy52aWV3ZXIgYXMgVmlld2VyO1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcztcblxuICAgIGxldCBjb21wb25lbnRHcm91cHMgPSBwcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXG4gICAgICBcIuaehOS7tuWIhue7hOWIhuiJslwiXG4gICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuICAgIGlmIChjb21wb25lbnRHcm91cHMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29tcG9uZW50R3JvdXBzLmNoaWxkT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgb2JqID0gY29tcG9uZW50R3JvdXBzLmNoaWxkT2JqZWN0c1tcbiAgICAgICAgICBpXG4gICAgICAgIF0gYXMgQ29sb3JEaXZDb21wb25lbnRHcm91cE9iamVjdDtcblxuICAgICAgICBpZiAob2JqLmNoZWNrQnVzaW5lc3NTdGF0ZUlzQWN0aXZlKCkpIHtcbiAgICAgICAgICB0aGlzLnNldEFsbENvbXBvbmVudEdyb3VwVmlzaWJsZShvYmoubmFtZSk7XG5cbiAgICAgICAgICBpZiAob25fb2ZmKSB7XG4gICAgICAgICAgICBvYmouYWN0aXZlKHZpZXdlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9iai5pbmFjdGl2ZSh2aWV3ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAob25fb2ZmKSB7XG4gICAgICAgIGxldCBjdXRsaW5lID0ge307XG4gICAgICAgIGlmIChjb21wb25lbnRHcm91cHMpIHtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwge30pO1xuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwiXCIpO1xuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlwiKTtcbiAgICAgICAgICBMZWdlbmRNYW5hZ2UuZGVzdG9yeSh0aGlzLmVsZW1lbnRLZXkpO1xuXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21wb25lbnRHcm91cHMuY2hpbGRPYmplY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgb2JqID0gY29tcG9uZW50R3JvdXBzLmNoaWxkT2JqZWN0c1tcbiAgICAgICAgICAgICAgaVxuICAgICAgICAgICAgXSBhcyBDb2xvckRpdkNvbXBvbmVudEdyb3VwT2JqZWN0O1xuICAgICAgICAgICAgaWYgKG9iai5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgICAgIGxldCBjb2xvciA9IExvbmdhbi5kZWVwQ2xvbmUob2JqLmNvbG9yKTtcbiAgICAgICAgICAgICAgY3V0bGluZVtvYmoubmFtZV0gPSBjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IGNvbXBvbmVudCA9IExlZ2VuZE1hbmFnZS5jcmVhdGUoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRLZXksXG4gICAgICAgICAgICBjdXRsaW5lLFxuICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodGhpcy5zaG93RW5nbGlzaFRleHQpIHtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwiU2V0IENvbG9yc1wiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZExlZnRUZXh0XCIsIFwiQ29sb3JcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCJTZXQgTmFtZVwiKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC50aXRsZSA9IFwiU2V0IENvbG9yc1wiO1xuICAgICAgICAgICAgY29tcG9uZW50LmxlZnRUZXh0ID0gXCJDb2xvclwiO1xuICAgICAgICAgICAgY29tcG9uZW50LnJpZ2h0VGV4dCA9IFwiU2V0IE5hbWVcIjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCLoh6rlrprkuYnmnoTku7bliIbnu4TliIboibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRMZWZ0VGV4dFwiLCBcIuminOiJslwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIuWIhue7hOWQjVwiKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC50aXRsZSA9IFwi6Ieq5a6a5LmJ5p6E5Lu25YiG57uE5YiG6ImyXCI7XG4gICAgICAgICAgICBjb21wb25lbnQubGVmdFRleHQgPSBcIuminOiJslwiO1xuICAgICAgICAgICAgY29tcG9uZW50LnJpZ2h0VGV4dCA9IFwi5YiG57uE5ZCNXCI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIGN1dGxpbmUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwge30pO1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiXCIpO1xuICAgICAgICBMZWdlbmRNYW5hZ2UuZGVzdG9yeSh0aGlzLmVsZW1lbnRLZXkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNVcGRhdGUpIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWxsQ29tcG9uZW50R3JvdXBWaXNpYmxlKGdyb3VwTmFtZTogc3RyaW5nKSB7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3M7XG5cbiAgICBsZXQgY29tcG9uZW50R3JvdXBzID0gcHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLmnoTku7bliIbnu4TliIboibJcIlxuICAgICkgYXMgRGVzaWduQmFzZU9iamVjdDtcbiAgICBpZiAoY29tcG9uZW50R3JvdXBzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBvbmVudEdyb3Vwcy5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG9iaiA9IGNvbXBvbmVudEdyb3Vwcy5jaGlsZE9iamVjdHNbXG4gICAgICAgICAgaVxuICAgICAgICBdIGFzIENvbG9yRGl2Q29tcG9uZW50R3JvdXBPYmplY3Q7XG5cbiAgICAgICAgaWYgKG9iai5uYW1lID09PSBncm91cE5hbWUpIHtcbiAgICAgICAgICBpZiAob2JqLmNoZWNrQnVzaW5lc3NTdGF0ZUlzQWN0aXZlKCkpIHtcbiAgICAgICAgICAgIG9iai5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkVkaXRpbmc7XG4gICAgICAgICAgICBvYmouc2V0Q2hpbGRWaXNpYmxlKHZpZXdlciwgdHJ1ZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog5YiG6Imy5pi+56S65byA5YWz77yM6L6T5YWl55qE5YiG6Imy5pWI5p6c6LW35pWI77yM5YW25L2Z5YiG6Imy5pWI5p6c5YWz6ZetLlxuICAgKiBAcGFyYW0gc3RhdGUg5p6a5Li+57G75Z6LXG4gICAqL1xuICBjb2xvclN3aXRjaChzdGF0ZTogU3dpdGNoQ29sb3JEaXZpZGUsIGlzVXBkYXRlID0gdHJ1ZSkge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgU3dpdGNoQ29sb3JEaXZpZGUuR3J1cE5hbWU6XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfR3J1cFRoaWNrbmVzcyhmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9NZ3JvdihmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9Db3JyeihmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0NvbXBvbmVudEdyb3VwKGZhbHNlLCBpc1VwZGF0ZSk7XG5cbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9HcnVwTmFtZSh0cnVlLCBpc1VwZGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTd2l0Y2hDb2xvckRpdmlkZS5HcnVwVGhpY2tuZXNzOlxuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBOYW1lKGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JkRGl2U3dpdGNoX01ncm92KGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JkRGl2U3dpdGNoX0NvcnJ6KGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfQ29tcG9uZW50R3JvdXAoZmFsc2UsIGlzVXBkYXRlKTtcblxuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBUaGlja25lc3ModHJ1ZSwgaXNVcGRhdGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3dpdGNoQ29sb3JEaXZpZGUuTWdyb3Y6XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfR3J1cE5hbWUoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9HcnVwVGhpY2tuZXNzKGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JkRGl2U3dpdGNoX0NvcnJ6KGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfQ29tcG9uZW50R3JvdXAoZmFsc2UsIGlzVXBkYXRlKTtcblxuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9NZ3Jvdih0cnVlLCBpc1VwZGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTd2l0Y2hDb2xvckRpdmlkZS5Db3JyejpcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9HcnVwTmFtZShmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBUaGlja25lc3MoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvcmREaXZTd2l0Y2hfTWdyb3YoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9Db21wb25lbnRHcm91cChmYWxzZSwgaXNVcGRhdGUpO1xuXG4gICAgICAgIHRoaXMuY29sb3JkRGl2U3dpdGNoX0NvcnJ6KHRydWUsIGlzVXBkYXRlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN3aXRjaENvbG9yRGl2aWRlLkNvbXBvbmVudEdyb3VwOlxuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBOYW1lKGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfR3J1cFRoaWNrbmVzcyhmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9NZ3JvdihmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9Db3JyeihmYWxzZSwgaXNVcGRhdGUpO1xuXG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfQ29tcG9uZW50R3JvdXAodHJ1ZSwgaXNVcGRhdGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3dpdGNoQ29sb3JEaXZpZGUuQ2FuY2VsOlxuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBOYW1lKGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfR3J1cFRoaWNrbmVzcyhmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9NZ3JvdihmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9Db3JyeihmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0NvbXBvbmVudEdyb3VwKGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDmn5DkuKrliIbnu4Torr7nva7kuobpopzoibLml7bvvIzljZXni6zmmL7npLov6ZqQ6JeP6K+l5YiG57uE5YiG6Imy55qE5pWI5p6cXG4gICAqIEBwYXJhbSBncm91cE5hbWVcbiAgICogQHBhcmFtIG9uX29mZlxuICAgKi9cbiAgY29tcG9uZW50R3JvdXBDb2xvclZpc2libGVTd2l0Y2goZ3JvdXBOYW1lOiBzdHJpbmcsIG9uX29mZjogYm9vbGVhbikge1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzO1xuXG4gICAgbGV0IGNvbXBvbmVudEdyb3VwcyA9IHByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5TmFtZShcbiAgICAgIFwi5p6E5Lu25YiG57uE5YiG6ImyXCJcbiAgICApIGFzIERlc2lnbkJhc2VPYmplY3Q7XG4gICAgaWYgKGNvbXBvbmVudEdyb3Vwcykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21wb25lbnRHcm91cHMuY2hpbGRPYmplY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBvYmogPSBjb21wb25lbnRHcm91cHMuY2hpbGRPYmplY3RzW1xuICAgICAgICAgIGlcbiAgICAgICAgXSBhcyBDb2xvckRpdkNvbXBvbmVudEdyb3VwT2JqZWN0O1xuXG4gICAgICAgIGlmIChvYmoubmFtZSA9PT0gZ3JvdXBOYW1lKSB7XG4gICAgICAgICAgaWYgKG9iai5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuRWRpdGluZztcbiAgICAgICAgICAgIGlmIChvbl9vZmYpIHtcbiAgICAgICAgICAgICAgb2JqLmFjdGl2ZSh2aWV3ZXIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgb2JqLmluYWN0aXZlKHZpZXdlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBvYmouc2V0Q2hpbGRWaXNpYmxlKHZpZXdlciwgb25fb2ZmKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIHdhdmVTd2l0Y2gob25fb2ZmOiBib29sZWFuKSB7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzIGFzIFByb2Nlc3M7XG4gICAgbGV0IHdhdmUgPSBwcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXCLms6LpnaJcIikgYXMgV2F2ZU9iamVjdDtcbiAgICBpZiAoIXdhdmUpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBsZXQgY3VycmVudFdhdmVJdGVtT2JqZWN0ID0gcHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgIHdhdmUsXG4gICAgICB0aGlzLmN1cnJlbnRTZWxlY3RXYXZlSXRlbU5hbWVcbiAgICApIGFzIFdhdmVJdGVtT2JqZWN0O1xuICAgIGlmIChjdXJyZW50V2F2ZUl0ZW1PYmplY3QpIHtcbiAgICAgIGlmIChvbl9vZmYpIHtcbiAgICAgICAgY3VycmVudFdhdmVJdGVtT2JqZWN0LmFjdGl2ZSh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpO1xuICAgICAgICBzdG9yZS5zdGF0ZS5pbmZvID0gY3VycmVudFdhdmVJdGVtT2JqZWN0LnRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJyZW50V2F2ZUl0ZW1PYmplY3QuaW5hY3RpdmUodGhpcy52aWV3ZXIgYXMgVmlld2VyKTtcbiAgICAgICAgc3RvcmUuc3RhdGUuaW5mbyA9IG51bGw7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0b3JlLnN0YXRlLmluZm8gPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlnJ/lsYLlvIDlhbPmjqXlj6NcbiAgICogQHBhcmFtIG9uX29mZlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgYm9yZWhvbGVTd2l0Y2gob25fb2ZmOiBib29sZWFuKSB7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzIGFzIFByb2Nlc3M7XG4gICAgbGV0IHBhcmVudE5vZGUgPSBwcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXG4gICAgICBcIuWcn+WxguWSjOazoumdolwiXG4gICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuICAgIGlmICghcGFyZW50Tm9kZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBsZXQgZWxlbWVudEtleSA9IFwic29pbGRcIjtcbiAgICBpZiAocGFyZW50Tm9kZSAmJiBvbl9vZmYpIHtcbiAgICAgIHRoaXMuYm9yZWhvbGVDdXRMaW5lRGlzcGxheSA9IHRydWU7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmVudE5vZGUuY2hpbGRPYmplY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIChwYXJlbnROb2RlLmNoaWxkT2JqZWN0c1tpXSBhcyBCb3JlaG9sZXNPYmplY3QpLmFjdGl2ZSgpO1xuICAgICAgfVxuXG4gICAgICBMZWdlbmRNYW5hZ2UuY3JlYXRlKFxuICAgICAgICBlbGVtZW50S2V5LFxuICAgICAgICB0aGlzLmJvcmVob2xlTGVnZW5kLFxuICAgICAgICBcIuWcn+WxguaVsOaNrlwiLFxuICAgICAgICBcIuminOiJslwiLFxuICAgICAgICBcIuWcn+WxguWQjVwiLFxuICAgICAgICB7XG4gICAgICAgICAgcmlnaHQ6IFwiMHB4XCIsXG4gICAgICAgICAgYm90dG9tOiBcIjBweFwiLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJvcmVob2xlQ3V0TGluZURpc3BsYXkgPSBmYWxzZTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJlbnROb2RlLmNoaWxkT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAocGFyZW50Tm9kZS5jaGlsZE9iamVjdHNbaV0gYXMgQm9yZWhvbGVzT2JqZWN0KS5pbmFjdGl2ZSgpO1xuICAgICAgfVxuICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkoZWxlbWVudEtleSk7XG4gICAgfVxuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOajgOafpeaYr+WQpuacieahqeWcn+aVsOaNrlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY2hlY2tQU0koKSB7XG4gICAgbGV0IGV4aXN0ID0gZmFsc2U7XG4gICAgaWYgKCEodGhpcy52aWV3ZXIgYXMgVmlld2VyKS5kYXRSZWFkZXJNYW5hZ2VyLnBzaW9wdCkge1xuICAgICAgY29uc29sZS5sb2coXCLmsqHmnInmoanlnJ/mlbDmja4uXCIpO1xuICAgICAgZXhpc3QgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhpc3QgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBleGlzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiDmo4Dmn6XmmK/lkKblrZjlnKjmtbflhrXmlbDmja5cbiAgICogQHJldHVybnNcbiAgICovXG4gIGNoZWNrU2VhaW5wKCkge1xuICAgIGxldCBleGlzdCA9IGZhbHNlO1xuICAgIGxldCBybyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5VHlwZShcIlNlYXN0YXRlTGRvcHRcIik7XG4gICAgaWYgKHJvKSB7XG4gICAgICBleGlzdCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4aXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIOaciemZkOWFg+WIh+aNouaYvuekuumakOiXj1xuICAgKi9cbiAgZmluaXRlRWxlbWVudFN3aXRjaCh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgbGV0IG1lbWJlcnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiTWVtYmVyT2JqZWN0XCIpO1xuICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1lbWJlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG1lbWJlciA9IG1lbWJlcnNbaV0gYXMgTWVtYmVyT2JqZWN0O1xuICAgICAgICBtZW1iZXIuc2VnbWVudExlbmd0aENvZWZmID0gTWVtYmVyT2JqZWN0LmdfR3JpZFJhdGlvO1xuICAgICAgICBpZiAobWVtYmVyLnNlZ21lbnRMZW5ndGhDb2VmZiA9PT0gLTEpIHtcbiAgICAgICAgICBtZW1iZXIuc2VnbWVudExlbmd0aENvZWZmID0gMC45O1xuICAgICAgICB9XG4gICAgICAgIG1lbWJlci5zZXROZWVkVXBkYXRlKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgbWVtYmVyID0gbWVtYmVyc1tpXSBhcyBNZW1iZXJPYmplY3Q7XG4gICAgICAgIG1lbWJlci5zZWdtZW50TGVuZ3RoQ29lZmYgPSAxO1xuICAgICAgICBtZW1iZXIuc2V0TmVlZFVwZGF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnvJbovpHpopzoibIocmdiYeaVsOe7hO+8iDAtMjU1KeekuuS+i+KAlOKAlFsyNTUsMjU1LDI1NSwxXVxuICAgKiBAcGFyYW0gYmFja2dyb3VuZENvbG9yIOiDjOaZr+minOiJslxuICAgKiBAcGFyYW0gam9pbnRDb2xvciDnqbrpl7TngrnpopzoibJcbiAgICogQHBhcmFtIG1lbWJlckNvbG9yTGluZSDmnYbku7bpopzoibLigJTigJTnur/lm75cbiAgICogQHBhcmFtIG1lbWJlckNvbG9yRmFjZSDmnYbku7bpopzoibLigJTigJTkuInnu7TkvZNcbiAgICogQHBhcmFtIHBsYXRlQ29sb3Ig5p2/6aKc6ImyXG4gICAqL1xuICBlZGl0Q29sb3JzKFxuICAgIGJhY2tncm91bmRDb2xvcjogbnVtYmVyW10sXG4gICAgam9pbnRDb2xvcjogbnVtYmVyW10sXG4gICAgbWVtYmVyQ29sb3JMaW5lOiBudW1iZXJbXSxcbiAgICBtZW1iZXJDb2xvckZhY2U6IG51bWJlcltdLFxuICAgIHBsYXRlQ29sb3I6IG51bWJlcltdXG4gICkge1xuICAgIE9iamVjdENvbG9yLmpvaW50Q29sb3IgPSBqb2ludENvbG9yO1xuICAgIE9iamVjdENvbG9yLm1lbWJlckZhY2VDb2xvciA9IG1lbWJlckNvbG9yRmFjZTtcbiAgICBPYmplY3RDb2xvci5tZW1iZXJMaW5lQ29sb3IgPSBtZW1iZXJDb2xvckxpbmU7XG4gICAgT2JqZWN0Q29sb3IucGxhdGVDb2xvciA9IHBsYXRlQ29sb3I7XG5cbiAgICB0aGlzLnZpZXdlci5iYWNrZ3JvdW5kQ29sb3IgPSBiYWNrZ3JvdW5kQ29sb3I7XG5cbiAgICBsZXQgam9pbnRzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIkpvaW50T2JqZWN0XCIpO1xuICAgIGpvaW50cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLnNlZ21lbnQuY29sb3Iuc2V0TWFya2VyKGpvaW50Q29sb3IpO1xuICAgIH0pO1xuXG4gICAgbGV0IG1lbWJlcnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFxuICAgICAgXCJNZW1iZXJPYmplY3RcIlxuICAgICkgYXMgTWVtYmVyT2JqZWN0W107XG4gICAgbWVtYmVycy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmZhY2VDb2xvciA9IG1lbWJlckNvbG9yRmFjZTtcbiAgICAgIGl0ZW0ubGluZUNvbG9yID0gbWVtYmVyQ29sb3JMaW5lO1xuICAgICAgaXRlbS5zZXROZWVkVXBkYXRlKCk7XG4gICAgfSk7XG5cbiAgICBsZXQgcGxhdGVzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcbiAgICAgIFwiUGxhdGVPYmplY3RcIlxuICAgICkgYXMgUGxhdGVPYmplY3RbXTtcbiAgICBwbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5mYWNlQ29sb3IgPSBwbGF0ZUNvbG9yO1xuICAgICAgaXRlbS5zZXROZWVkVXBkYXRlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICAvKipcbiAgICog6aKc6Imy5YC856S65L6LOlwiI2ZmZmZmZlwiLS0t55m96ImyLlxuICAgKiBAcGFyYW0gam9pbnRMYWJlbCDnqbrpl7TngrnmoIfnrb7popzoibJcbiAgICogQHBhcmFtIG1lbWJlckxhYmVsIOadhuS7tuagh+etvuminOiJslxuICAgKiBAcGFyYW0gcGxhdGVMYWJlbCDmnb/moIfnrb7popzoibJcbiAgICogQHBhcmFtIGxvYWRMYWJlbCDojbfovb3popzoibJcbiAgICovXG4gIGVkaXRMYWJlbENvbG9ycyhcbiAgICBqb2ludExhYmVsOiBzdHJpbmcsXG4gICAgbWVtYmVyTGFiZWw6IHN0cmluZyxcbiAgICBwbGF0ZUxhYmVsOiBzdHJpbmcsXG4gICAgbG9hZExhYmVsOiBzdHJpbmdcbiAgKSB7XG4gICAgT2JqZWN0Q29sb3Iuam9pbnRMYWJlbENvbG9yID0gam9pbnRMYWJlbDtcbiAgICBPYmplY3RDb2xvci5tZW1iZXJMYWJlbENvbG9yID0gbWVtYmVyTGFiZWw7XG4gICAgT2JqZWN0Q29sb3IucGxhdGVMYWJlbENvbG9yID0gcGxhdGVMYWJlbDtcbiAgICBPYmplY3RDb2xvci5sb2FkTGFiZWxDb2xvciA9IGxvYWRMYWJlbDtcblxuICAgIGxldCBqb2ludHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFxuICAgICAgXCJKb2ludE9iamVjdFwiXG4gICAgKSBhcyBKb2ludE9iamVjdFtdO1xuICAgIGpvaW50cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmlzRHJhd1N2ZyA9IGZhbHNlO1xuICAgICAgaXRlbS5pc0RyYXdTdmcgPSB0cnVlO1xuICAgIH0pO1xuXG4gICAgbGV0IG1lbWJlcnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFxuICAgICAgXCJNZW1iZXJPYmplY3RcIlxuICAgICkgYXMgTWVtYmVyT2JqZWN0W107XG4gICAgbWVtYmVycy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmlzRHJhd1N2ZyA9IGZhbHNlO1xuICAgICAgaXRlbS5pc0RyYXdTdmcgPSB0cnVlO1xuICAgIH0pO1xuXG4gICAgbGV0IHBsYXRlcyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXG4gICAgICBcIlBsYXRlT2JqZWN0XCJcbiAgICApIGFzIFBsYXRlT2JqZWN0W107XG4gICAgcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uaXNEcmF3U3ZnID0gZmFsc2U7XG4gICAgICBpdGVtLmlzRHJhd1N2ZyA9IHRydWU7XG4gICAgfSk7XG5cbiAgICB0aGlzLnZpZXdlci5leGVTY2VuZUNhbWVyYUNoYW5nZWQoTG9uZ2FuLkxvbmdhbkNvcmUuQ2FtZXJhQ2hhbmdlVHlwZS5TY2FsZSk7XG4gIH1cblxuICAvKipcbiAgICog5L+u5pS55oiq6Z2iVmlld2Vy55qE6IOM5pmv6aKc6Imy44CB57q/5p2h6aKc6Imy44CB566t5aS06aKc6Imy44CB5paH5a2X6aKc6ImyXG4gICAqIEBwYXJhbSBzZWN0aW9uVmlld2VyIOaIqumdolZpZXdlcuWvueixoVxuICAgKiBAcGFyYW0gYmFja2dyb3VuZENvbG9yIOiDjOaZr+minOiJsjogWzI1NSwwLDAsMV1cbiAgICogQHBhcmFtIGxpbmVMYWJlbENvbG9yIOe6v+adoeminOiJsjogXCIjZmZmXCJcbiAgICogQHBhcmFtIGFycm93TGFiZWxDb2xvciDnrq3lpLTpopzoibI6IFwiI2ZmZlwiXG4gICAqIEBwYXJhbSB0ZXh0TGFiZWxDb2xvciDmloflrZfpopzoibI6IFwiI2ZmZlwiXG4gICAqL1xuICBlZGl0U2VjdGlvbkxhYmVsQ29sb3JzKFxuICAgIHNlY3Rpb25WaWV3ZXI6IFNlY3Rpb25WaWV3ZXIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBudW1iZXJbXSxcbiAgICBsaW5lTGFiZWxDb2xvcjogc3RyaW5nLFxuICAgIGFycm93TGFiZWxDb2xvcjogc3RyaW5nLFxuICAgIHRleHRMYWJlbENvbG9yOiBzdHJpbmdcbiAgKSB7XG4gICAgLy9cbiAgICBpZiAoYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBzZWN0aW9uVmlld2VyLmJhY2tncm91bmRDb2xvciA9IGJhY2tncm91bmRDb2xvcjtcbiAgICB9XG4gICAgaWYgKGxpbmVMYWJlbENvbG9yKSB7XG4gICAgICBJbnN0YW5jZVNlY3Rpb25PYmplY3QubGluZUxhYmVsQ29sb3IgPSBsaW5lTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgaWYgKGFycm93TGFiZWxDb2xvcikge1xuICAgICAgSW5zdGFuY2VTZWN0aW9uT2JqZWN0LmFycm93TGFiZWxDb2xvciA9IGFycm93TGFiZWxDb2xvcjtcbiAgICB9XG4gICAgaWYgKHRleHRMYWJlbENvbG9yKSB7XG4gICAgICBJbnN0YW5jZVNlY3Rpb25PYmplY3QudGV4dExhYmVsQ29sb3IgPSB0ZXh0TGFiZWxDb2xvcjtcbiAgICB9XG5cbiAgICBsZXQgcm9vdCA9IHNlY3Rpb25WaWV3ZXIucmVuZGVyT2JqZWN0O1xuICAgIHJvb3Q/LmNoaWxkT2JqZWN0cy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoc2VjdGlvbiBpbnN0YW5jZW9mIFNlY3Rpb25PYmplY3QpIHtcbiAgICAgICAgbGV0IGlybyA9IHNlY3Rpb25WaWV3ZXIuZmluZEluc3RhbmNlT2JqZWN0KFxuICAgICAgICAgIHNlY3Rpb25cbiAgICAgICAgKSBhcyBJbnN0YW5jZVNlY3Rpb25PYmplY3Q7XG4gICAgICAgIGlmIChpcm8pIHtcbiAgICAgICAgICBpcm8ucmVtb3ZlU3ZnKCk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpcm8uZHJhd1N2ZygpO1xuICAgICAgICAgIH0sIDEwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIh+aNomFjdGl2ZVZpZXdlci5cbiAgICogQHBhcmFtIGVsZW1lbnRJZCB2aWV3ZXLmiYDlnKjnmoTlrrnlmajnmoRJZC5cbiAgICovXG4gIHN3aXRjaEFjdGl2ZVZpZXdlcihlbGVtZW50SWQ6IHN0cmluZykge1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcztcbiAgICBwcm9jZXNzLnZpZXdlcnMuZm9yRWFjaCgodmkpID0+IHtcbiAgICAgIGlmICh2aS5jb250YWluZXIuaWQgPT09IGVsZW1lbnRJZCkge1xuICAgICAgICBwcm9jZXNzLmFjdGl2ZVZpZXdlciA9IHZpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICog5pi+56S65ZCE5Liq5Y6G5Y+y55qE5ZCN56ewLlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgc2hvd0hpc3RvcnlMaXN0KCkge1xuICAgIGxldCBoaXN0b3J5TWFuYWdlciA9IHRoaXMudmlld2VyLnByb2Nlc3MuaGlzdG9yeU1hbmFnZXI7XG4gICAgbGV0IGxpc3QgPSBoaXN0b3J5TWFuYWdlci5zdGF0ZUxpc3Q7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0LmNvdW50KCk7IGkrKykge1xuICAgICAgY29uc29sZS5sb2cobGlzdC5pdGVtc1tpXS5uYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGlzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiDlm57mu5ov6YeN5YGa5Y6G5Y+y55u05Yiw5LiL5qCH5aSELlxuICAgKiBAcGFyYW0gaW5kZXhcbiAgICovXG4gIGhpc3RvcnlSb2xsKGluZGV4OiBudW1iZXIpIHtcbiAgICBsZXQgaGlzdG9yeU1hbmFnZXIgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmhpc3RvcnlNYW5hZ2VyO1xuICAgIGxldCBjdXJyZW50SWR4ID0gaGlzdG9yeU1hbmFnZXIuY3VycmVudFN0YXRlSW5kZXg7XG5cbiAgICBpZiAoY3VycmVudElkeCA8IGluZGV4KSB7XG4gICAgICBsZXQgdGltZSA9IGluZGV4IC0gY3VycmVudElkeDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGltZTsgaSsrKSB7XG4gICAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuaGlzdG9yeU1hbmFnZXIucm9sbEZvcndhcmQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRJZHggPiBpbmRleCkge1xuICAgICAgbGV0IHRpbWUgPSBjdXJyZW50SWR4IC0gaW5kZXg7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbWU7IGkrKykge1xuICAgICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmhpc3RvcnlNYW5hZ2VyLnJvbGxCYWNrKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdGhpcy5zaG93SGlzdG9yeUxpc3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bpobnnm67kuK3nmoTlhajpg6jlt6XlhrXlr7nosaFcbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldExvYWRDb25kaXRpb25MaXN0KCkge1xuICAgIGxldCBsb2FkQ29uZGl0aW9ucyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXG4gICAgICBcIkxvYWRDb25kaXRpb25PYmplY3RcIlxuICAgICk7XG4gICAgcmV0dXJuIGxvYWRDb25kaXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPlumhueebruS4reeahOWFqOmDqOe7hOWQiOW3peWGteWvueixoVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0TG9hZENvbmRpdGlvbkNvbWJpbmVMaXN0KCkge1xuICAgIGxldCBvYmplY3RzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIlNlYXN0YXRlTGNvbWJcIik7XG4gICAgcmV0dXJuIG9iamVjdHM7XG4gIH1cblxuICAvKipcbiAgICog5riF6Zmkdmlld2Vy55qEUHJvY2Vzc+aui+eVmeaVsOaNri5cbiAgICovXG4gIHJlbW92ZVByb2Nlc3NEYXRhKCkge1xuICAgIHRoaXMudmlld2VyLnByb2Nlc3MuY2xlYXJSZW5kZXJPYmplY3RzKHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uuazoua1geiNt+i9veWvueixoVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY3JlYXRlQ3VyckxvYWRPYmplY3QoKSB7XG4gICAgbGV0IGN1cnJMb2FkID0gbmV3IEN1cnJMb2FkT2JqZWN0KCk7XG4gICAgcmV0dXJuIGN1cnJMb2FkO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uuaLluaLveezu+aVsOWvueixoVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY3JlYXRlQ2RtUmVuZGVyT2JqZWN0KCkge1xuICAgIGxldCBjZG1PYmplY3QgPSBuZXcgQ2RtUmVuZGVyT2JqZWN0KCk7XG4gICAgcmV0dXJuIGNkbU9iamVjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiDmt7vliqDngrnojbfovb1cbiAgICogQHBhcmFtIGxvYWRDb25kaXRpb25STyDlt6XlhrXlr7nosaFcbiAgICogQHBhcmFtIGxvYWRHcm91cE5hbWUg6I236L2957uE5ZCNXG4gICAqIEBwYXJhbSBzZWxlY3RlZEpvaW50TmFtZSDmiYDpgInnqbrpl7TngrnlkI1cbiAgICogQHBhcmFtIGZ4XG4gICAqIEBwYXJhbSBmeVxuICAgKiBAcGFyYW0gZnpcbiAgICogQHBhcmFtIG14XG4gICAqIEBwYXJhbSBteVxuICAgKiBAcGFyYW0gbXpcbiAgICovXG4gIGFkZEpvaW50TG9hZChcbiAgICBsb2FkQ29uZGl0aW9uTmFtZTogc3RyaW5nLFxuICAgIGxvYWRHcm91cE5hbWU6IHN0cmluZyxcbiAgICBzZWxlY3RlZEpvaW50TmFtZTogc3RyaW5nLFxuICAgIGZ4OiBudW1iZXIsXG4gICAgZnk6IG51bWJlcixcbiAgICBmejogbnVtYmVyLFxuICAgIG14OiBudW1iZXIsXG4gICAgbXk6IG51bWJlcixcbiAgICBtejogbnVtYmVyXG4gICk6IG51bWJlciB7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcblxuICAgIC8vIOa3u+WKoOaIluS/ruaUueW3peWGtS5cbiAgICBsZXQgcHJldHJlYXRtZW50Uk8gPSB2aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLlkI7lpITnkIborqHnrpfnu5PmnpxcIlxuICAgICkgYXMgRGVzaWduQmFzZU9iamVjdDtcblxuICAgIGlmICghcHJldHJlYXRtZW50Uk8pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCLmsqHmnIkn5ZCO5aSE55CG6K6h566X57uT5p6cJ+eahFJP6IqC54K5XCIpO1xuICAgICAgcmV0dXJuIDI7XG4gICAgfVxuXG4gICAgbGV0IGNvbmRpdGlvblBhcmVudCA9IHZpZXdlci5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgcHJldHJlYXRtZW50Uk8sXG4gICAgICBcIuiNt+i9veW3peWGtVwiXG4gICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuXG4gICAgaWYgKCFjb25kaXRpb25QYXJlbnQpIHtcbiAgICAgIGNvbmRpdGlvblBhcmVudCA9IG5ldyBEZXNpZ25CYXNlT2JqZWN0KCk7XG4gICAgICBjb25kaXRpb25QYXJlbnQuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gICAgICBjb25kaXRpb25QYXJlbnQubmFtZSA9IFwi6I236L295bel5Ya1XCI7XG4gICAgICB2aWV3ZXIucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QocHJldHJlYXRtZW50Uk8sIGNvbmRpdGlvblBhcmVudCk7XG4gICAgfVxuXG4gICAgbGV0IGxvYWRDb25kaXRpb25STyA9IG51bGw7XG4gICAgbG9hZENvbmRpdGlvblJPID0gdmlld2VyLnByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICBjb25kaXRpb25QYXJlbnQsXG4gICAgICBsb2FkQ29uZGl0aW9uTmFtZVxuICAgICkgYXMgTG9hZENvbmRpdGlvbk9iamVjdDtcbiAgICBpZiAoIWxvYWRDb25kaXRpb25STykge1xuICAgICAgbG9hZENvbmRpdGlvblJPID0gbmV3IExvYWRDb25kaXRpb25PYmplY3QobG9hZENvbmRpdGlvbk5hbWUpO1xuICAgICAgbG9hZENvbmRpdGlvblJPLmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkNyZWF0aW5nO1xuICAgICAgdmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KGNvbmRpdGlvblBhcmVudCwgbG9hZENvbmRpdGlvblJPKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9hZENvbmRpdGlvblJPLmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkVkaXRpbmc7XG4gICAgfVxuXG4gICAgbGV0IGxvYWRHcm91cFJPID0gdmlld2VyLnByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICBsb2FkQ29uZGl0aW9uUk8sXG4gICAgICBsb2FkR3JvdXBOYW1lXG4gICAgKSBhcyBMb2FkR3JvdXBPYmplY3Q7XG4gICAgaWYgKCFsb2FkR3JvdXBSTykge1xuICAgICAgbG9hZEdyb3VwUk8gPSBuZXcgTG9hZEdyb3VwT2JqZWN0KGxvYWRHcm91cE5hbWUpO1xuICAgICAgbG9hZEdyb3VwUk8uYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gICAgICB2aWV3ZXIucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QobG9hZENvbmRpdGlvblJPLCBsb2FkR3JvdXBSTyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRHcm91cFJPLmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkVkaXRpbmc7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb2FkR3JvdXBSTy5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBsb2FkID0gbG9hZEdyb3VwUk8uY2hpbGRPYmplY3RzW2ldO1xuICAgICAgaWYgKGxvYWQgaW5zdGFuY2VvZiBKb2ludExvYWRPYmplY3QpIHtcbiAgICAgICAgaWYgKGxvYWQuam9pbnROYW1lID09PSBzZWxlY3RlZEpvaW50TmFtZSkge1xuICAgICAgICAgIC8vIOWvueW6lOeahOW3peWGteOAgeW3peWGtee7hOeahOS4i+eahOepuumXtOeCueS4iuW3sue7j+WtmOWcqOeCueiNt+i9vS5cbiAgICAgICAgICByZXR1cm4gMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBqb2ludExvYWQgPSBuZXcgSm9pbnRMb2FkT2JqZWN0KGxvYWRDb25kaXRpb25STy5uYW1lLCBsb2FkR3JvdXBOYW1lKTtcbiAgICBqb2ludExvYWQubmFtZSA9IFwiSm9pbnQ6XCIgKyBzZWxlY3RlZEpvaW50TmFtZTtcbiAgICBqb2ludExvYWQuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gICAgam9pbnRMb2FkLmpvaW50TmFtZSA9IHNlbGVjdGVkSm9pbnROYW1lO1xuXG4gICAgam9pbnRMb2FkLmZvcmNlWERpcmVjdGlvbiA9IGZ4O1xuICAgIGpvaW50TG9hZC5mb3JjZVlEaXJlY3Rpb24gPSBmeTtcbiAgICBqb2ludExvYWQuZm9yY2VaRGlyZWN0aW9uID0gZno7XG5cbiAgICBqb2ludExvYWQubW9tZW50QWJvdXRYQXhpcyA9IG14O1xuICAgIGpvaW50TG9hZC5tb21lbnRBYm91dFlBeGlzID0gbXk7XG4gICAgam9pbnRMb2FkLm1vbWVudEFib3V0WkF4aXMgPSBtejtcblxuICAgIHZpZXdlci5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChsb2FkR3JvdXBSTywgam9pbnRMb2FkKTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiDnvJbovpHngrnojbfovb1cbiAgICogQHBhcmFtIGpvaW50TG9hZCDopoHnvJbovpHnmoTngrnojbfovb3lr7nosaFcbiAgICogQHBhcmFtIGZ4XG4gICAqIEBwYXJhbSBmeVxuICAgKiBAcGFyYW0gZnpcbiAgICogQHBhcmFtIG14XG4gICAqIEBwYXJhbSBteVxuICAgKiBAcGFyYW0gbXpcbiAgICovXG4gIGVkaXRKb2ludExvYWQoXG4gICAgam9pbnRMb2FkOiBKb2ludExvYWRPYmplY3QsXG4gICAgZng6IG51bWJlcixcbiAgICBmeTogbnVtYmVyLFxuICAgIGZ6OiBudW1iZXIsXG4gICAgbXg6IG51bWJlcixcbiAgICBteTogbnVtYmVyLFxuICAgIG16OiBudW1iZXJcbiAgKSB7XG4gICAgam9pbnRMb2FkLmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkVkaXRpbmc7XG5cbiAgICBqb2ludExvYWQuZm9yY2VYRGlyZWN0aW9uID0gZng7XG4gICAgam9pbnRMb2FkLmZvcmNlWURpcmVjdGlvbiA9IGZ5O1xuICAgIGpvaW50TG9hZC5mb3JjZVpEaXJlY3Rpb24gPSBmejtcblxuICAgIGpvaW50TG9hZC5tb21lbnRBYm91dFhBeGlzID0gbXg7XG4gICAgam9pbnRMb2FkLm1vbWVudEFib3V0WUF4aXMgPSBteTtcbiAgICBqb2ludExvYWQubW9tZW50QWJvdXRaQXhpcyA9IG16O1xuICB9XG5cbiAgLyoqXG4gICAqIOmAmui/h+mSu+WtlOWQjeWIh+aNouaYvuekuueahOmSu+WtlOWbvuS+iy5cbiAgICogQHBhcmFtIGJvcmVob2xlTmFtZVxuICAgKi9cbiAgYm9yZWhvbGVDaGFuZ2UoYm9yZWhvbGVOYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgZWxlbWVudEtleSA9IFwic29pbGRcIjtcbiAgICBpZiAodGhpcy5ib3JlaG9sZUN1dExpbmVEaXNwbGF5KSB7XG4gICAgICB0aGlzLmJvcmVob2xlQ3V0TGluZURpc3BsYXkgPSBmYWxzZTtcbiAgICAgIExlZ2VuZE1hbmFnZS5kZXN0b3J5KGVsZW1lbnRLZXkpO1xuICAgICAgbGV0IGN1cnJlbnRCb3JlaG9sZU9iamVjdHMgPSB0aGlzLmN1cnJlbnRCb3JlaG9sZU9iamVjdHM7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudEJvcmVob2xlT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoY3VycmVudEJvcmVob2xlT2JqZWN0c1tpXS5uYW1lID09PSBib3JlaG9sZU5hbWUpIHtcbiAgICAgICAgICBjdXJyZW50Qm9yZWhvbGVPYmplY3RzW2ldLmN1dGxpZW5BY2l0dmUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuYWN0aXZlQm9yZWhvbGVOYW1lID0gYm9yZWhvbGVOYW1lO1xuXG4gICAgICAgICAgdGhpcy5ib3JlaG9sZUN1dExpbmVEaXNwbGF5ID0gdHJ1ZTtcbiAgICAgICAgICBsZXQgY3V0TGluZUxlZ2VuZCA9IGN1cnJlbnRCb3JlaG9sZU9iamVjdHNbaV0uZ2VDdXRsaW5lKCk7XG4gICAgICAgICAgTGVnZW5kTWFuYWdlLmNyZWF0ZShcbiAgICAgICAgICAgIGVsZW1lbnRLZXksXG4gICAgICAgICAgICBjdXRMaW5lTGVnZW5kLFxuICAgICAgICAgICAgXCLlnJ/lsYLmlbDmja5cIixcbiAgICAgICAgICAgIFwi6aKc6ImyXCIsXG4gICAgICAgICAgICBcIuWcn+WxguWQjVwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICByaWdodDogXCIwcHhcIixcbiAgICAgICAgICAgICAgYm90dG9tOiBcIjBweFwiLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY3VycmVudEJvcmVob2xlT2JqZWN0c1tpXS5jdXRsaWVuQWNpdHZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBeUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQUE7QUFlQTtBQUFBO0FBYkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBRUE7QUFDQTs7QUFJQTtBQWtEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUdBO0FBQ0E7QUFNQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTs7O0FBSUE7QUFFQTtBQUVBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUtBOztBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQVNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUVBO0FBQ0E7O0FBRUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBOzs7QUFJQTtBQUNBO0FBS0E7QUFBQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUF3SkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7O0FBRUE7QUFLQTtBQUNBO0FBQ0E7O0FBRUE7QUFLQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQVFBO0FBRUE7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFRQTtBQU1BO0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQU9BO0FBRUE7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQU1BO0FBQ0E7QUFFQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFNQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFFQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFvQkE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUdBO0FBQ0E7QUFJQTtBQUlBO0FBSUE7QUFJQTtBQUlBO0FBSUE7QUFJQTtBQUlBO0FBSUE7QUFJQTtBQUlBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBS0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7O0FBUUE7QUFDQTs7O0FBTUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7OztBQVFBO0FBSUE7OztBQUdBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBT0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOztBQUtBO0FBQ0E7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBSUE7QUFDQTtBQUNBOzs7QUFLQTtBQUNBO0FBSUE7OztBQUdBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBOztBQUdBO0FBR0E7QUFPQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBRUE7QUFLQTtBQU9BO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7OztBQUtBO0FBQ0E7QUFJQTs7O0FBR0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBS0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBOzs7QUFHQTtBQU9BO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7OztBQUtBO0FBSUE7OztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7Ozs7QUFJQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFPQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFLQTs7OztBQUtBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFHQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBT0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7O0FBRUE7O0FBR0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBSUE7QUFDQTtBQVVBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFTQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQVVBO0FBUUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFLQTtBQU1BO0FBQ0E7QUFHQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBY0E7QUFXQTtBQUdBO0FBSUE7QUFDQTtBQUNBOztBQUdBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVlBO0FBU0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7OztBQUlBO0FBQ0E7QUFBQTtBQXIrREE7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/commonInterfaceManager.ts\n");
|
|
4034
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeLightObject/caeLightObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeLightObject/caeLightObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/jointObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/jointObject.ts\"), __webpack_require__(/*! gs-bim-air */ \"./node_modules/gs-bim-air/lib/BimAir.umd.min.js\"), __webpack_require__(/*! ./selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! ../../../gsDevFx/tasks/caeTask */ \"./packages/caeDesign/src/gsDevFx/tasks/caeTask.ts\"), __webpack_require__(/*! ../../../api/renderObjectService */ \"./packages/caeDesign/src/api/renderObjectService.ts\"), __webpack_require__(/*! ../../../gsDevFx/process */ \"./packages/caeDesign/src/gsDevFx/process.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/optionObjects/modelTitle */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/modelTitle.ts\"), __webpack_require__(/*! ../../../caeCardEditor/caeCardObjects/sacinp/cardTITLE */ \"./packages/caeDesign/src/caeCardEditor/caeCardObjects/sacinp/cardTITLE.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/memberObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/pretreatment/mgrovObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/mgrovObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/pretreatment/corrzObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/corrzObject.ts\"), __webpack_require__(/*! ../../../store */ \"./packages/caeDesign/src/store/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/plateObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/plateObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/grupObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/grupObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/objectColors */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/objectColors.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/instanceSectionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/instanceSectionObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/sectionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/sectionObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/loadObjects/loadConditionObject */ \"./packages/caeDesign/src/gsDevFx/objects/loadObjects/loadConditionObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/loadObjects/loadGroupObject */ \"./packages/caeDesign/src/gsDevFx/objects/loadObjects/loadGroupObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/loadObjects/jointLoadObject */ \"./packages/caeDesign/src/gsDevFx/objects/loadObjects/jointLoadObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/loadObjects/currLoadObject */ \"./packages/caeDesign/src/gsDevFx/objects/loadObjects/currLoadObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/optionObjects/cdmRenderObject.ts\"), __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\"), __webpack_require__(/*! ../../../viewerWrapper/module/legendManage */ \"./packages/caeDesign/src/viewerWrapper/module/legendManage.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, caeLightObject_1, jointObject_1, gs_bim_air_1, selectionInterfaceManager_1, caeTask_1, renderObjectService_1, process_1, modelTitle_1, cardTITLE_1, gs_ceec_design_1, memberObject_1, gs_ceec_design_2, mgrovObject_1, corrzObject_1, store_1, plateObject_1, grupObject_1, objectColors_1, instanceSectionObject_1, sectionObject_1, loadConditionObject_1, loadGroupObject_1, jointLoadObject_1, currLoadObject_1, cdmRenderObject_1, element_ui_1, legendManage_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CommonInterfaceManager = exports.SwitchColorDivide = void 0;\n renderObjectService_1 = tslib_1.__importDefault(renderObjectService_1);\n store_1 = tslib_1.__importDefault(store_1);\n var SwitchColorDivide;\n (function (SwitchColorDivide) {\n SwitchColorDivide[SwitchColorDivide[\"GrupName\"] = 0] = \"GrupName\";\n SwitchColorDivide[SwitchColorDivide[\"GrupThickness\"] = 1] = \"GrupThickness\";\n SwitchColorDivide[SwitchColorDivide[\"Mgrov\"] = 2] = \"Mgrov\";\n SwitchColorDivide[SwitchColorDivide[\"Corrz\"] = 3] = \"Corrz\";\n SwitchColorDivide[SwitchColorDivide[\"Cancel\"] = 4] = \"Cancel\";\n SwitchColorDivide[SwitchColorDivide[\"ComponentGroup\"] = 5] = \"ComponentGroup\";\n })(SwitchColorDivide = exports.SwitchColorDivide || (exports.SwitchColorDivide = {}));\n var CommonInterfaceManager = function (_super) {\n tslib_1.__extends(CommonInterfaceManager, _super);\n function CommonInterfaceManager(viewer) {\n var _this = _super.call(this, viewer) || this;\n _this.currentSelectWaveItemName = null;\n _this.currentBoreholeObjects = null;\n _this.boreholeLegend = null;\n _this.boreholeCutLineDisplay = false;\n _this.showEnglishText = false;\n _this.copyedExternalEvent = null;\n _this.elementKey = \"cutline\";\n _this.activeBoreholeName = null;\n _this.currentSwitchColorDivide = SwitchColorDivide.Cancel;\n return _this;\n }\n CommonInterfaceManager.prototype.showPlotTitle = function () {\n var result = null;\n var process = this.viewer.process;\n var titleRO = process.findRenderObjectByType(\"ModelTitle\");\n if (titleRO) {\n if (titleRO instanceof modelTitle_1.ModelTitle) {\n result = titleRO.cardObject.title.value;\n }\n } else {\n result = \"Active Structure\";\n }\n return result;\n };\n CommonInterfaceManager.prototype.editPlotTitle = function (title) {\n var process = this.viewer.process;\n if (!title || title.trimEnd() === \"\") {\n var titleRO_1 = process.findRenderObjectByType(\"ModelTitle\");\n if (titleRO_1) {\n titleRO_1.tempDelete(this.viewer);\n return 1;\n }\n }\n var islegal = this.checTitlekNamelegal(title);\n if (!islegal) {\n return 2;\n }\n var titleRO = process.findRenderObjectByType(\"ModelTitle\");\n if (titleRO) {\n if (titleRO instanceof modelTitle_1.ModelTitle) {\n titleRO.cardObject.title.value = title;\n titleRO.cardData = titleRO.cardObject.getLine();\n }\n } else {\n var titleRO_2 = new modelTitle_1.ModelTitle();\n titleRO_2.name = \"TITLE\";\n var line = \" \" + title;\n titleRO_2.cardData = line;\n titleRO_2.cardObject = new cardTITLE_1.CardTITLE(line);\n process.addRenderObject(process.caeRenderObjectTreeManager.sacinpNode, titleRO_2);\n }\n return 1;\n };\n CommonInterfaceManager.prototype.checTitlekNamelegal = function (name) {\n var reg = /^[A-Z0-9]*$/;\n if (!reg.test(name) || name.trimEnd().length > 125) {\n console.log(\"空间点名称不符合规范\");\n return false;\n }\n return true;\n };\n CommonInterfaceManager.prototype.resetView = function (isSetViewMode) {\n var _a, _b, _c;\n if (isSetViewMode === void 0) {\n isSetViewMode = true;\n }\n var viewer = this.viewer.process.activeViewer;\n viewer.selectionManager.clearAllSelectionAndHighlight();\n viewer.process.commandManager.closeAllCommands();\n viewer.commonInterfaceManager.colorSwitch(SwitchColorDivide.Cancel);\n viewer.commonInterfaceManager.finiteElementSwitch(false);\n viewer.commonInterfaceManager.waveSwitch(false);\n viewer.commonInterfaceManager.boreholeSwitch(false);\n viewer.viewInterfaceManager.setJointNumberVisible(false);\n viewer.viewInterfaceManager.setJointRestraintVisible(false);\n viewer.viewInterfaceManager.setMemberFixityVisible(false);\n viewer.viewInterfaceManager.setMemberLocalAxisVisible(false);\n viewer.viewInterfaceManager.setMemberSectionSizeVisible(false);\n viewer.viewInterfaceManager.setGrupNumberVisible(false);\n viewer.viewInterfaceManager.continuesRotate(false);\n viewer.viewInterfaceManager.setCameraSelect();\n var process = viewer.process;\n (_a = process.caeRenderObjectTreeManager.jointNode) === null || _a === void 0 ? void 0 : _a.childObjects.forEach(function (obj) {\n viewer.findInstanceObject(obj).viewerVisible = true;\n viewer.findInstanceObject(obj).visible = true;\n obj.clearSvg();\n });\n (_b = process.caeRenderObjectTreeManager.memberNode) === null || _b === void 0 ? void 0 : _b.childObjects.forEach(function (obj) {\n viewer.findInstanceObject(obj).viewerVisible = true;\n viewer.findInstanceObject(obj).visible = true;\n obj.clearSvg();\n });\n (_c = process.caeRenderObjectTreeManager.plateNode) === null || _c === void 0 ? void 0 : _c.childObjects.forEach(function (obj) {\n viewer.findInstanceObject(obj).viewerVisible = true;\n viewer.findInstanceObject(obj).visible = true;\n obj.clearSvg();\n });\n viewer.viewInterfaceManager.memberLineView(false);\n viewer.viewInterfaceManager.plateLineView(false);\n if (isSetViewMode) {\n viewer.setViewMode(gs_bim_air_1.Longan.ViewMode.OFSIso, true);\n }\n };\n CommonInterfaceManager.prototype.redraw = function () {\n var process = this.viewer.process;\n process.viewers.forEach(function (vi) {\n console.log(\"vi\");\n vi.exeSceneCameraChanged(gs_bim_air_1.Longan.LonganCore.CameraChangeType.Rotate | gs_bim_air_1.Longan.LonganCore.CameraChangeType.Scale | gs_bim_air_1.Longan.LonganCore.CameraChangeType.Translate);\n vi.updateDisplay();\n });\n };\n CommonInterfaceManager.prototype.checkIsFiniteElement = function () {\n var isFE = true;\n var viewer = this.viewer;\n var grupNode = viewer.process.caeRenderObjectTreeManager.grupNode;\n grupNode === null || grupNode === void 0 ? void 0 : grupNode.childObjects.forEach(function (grup) {\n if (grup instanceof grupObject_1.GrupObject) {\n if (grup.grupSegments.length > 1) {\n isFE = false;\n return isFE;\n }\n }\n });\n console.log(\"isFE:\", isFE);\n return isFE;\n };\n CommonInterfaceManager.prototype.openModel = function (modelId, isReplace) {\n var viewer = this.viewer;\n return new Promise(function (resolve, reject) {\n viewer.loadModel(modelId, isReplace).then(function (model) {\n viewer.process.historyManager.clearDeltaState();\n viewer.sceneSegment.renderingOptions.cullingMaximumExtent = 0;\n console.log(\"model\", model);\n var ro = viewer.renderObject;\n var caeTask = new caeTask_1.CAETask(ro, viewer);\n caeTask.workRenderObjectService = renderObjectService_1.default;\n viewer.process.taskManager.execute(caeTask);\n viewer.structureTreeManager.update();\n viewer.updateDisplay();\n viewer.setViewMode(gs_bim_air_1.Longan.ViewMode.OFSIso, true);\n viewer.postInterfaceManager.requestDBData();\n resolve();\n }).catch(function (reason) {\n console.log(\"reason:\", reason);\n element_ui_1.Message.info(reason);\n reject(reason);\n });\n });\n };\n CommonInterfaceManager.prototype.checkNeedSave = function () {\n var rootRO = this.viewer.process.caeRenderObjectTreeManager.rootNode;\n if (rootRO instanceof caeLightObject_1.CAELightObject) {\n var result = gs_ceec_design_1.PersistenceManager.saveDesign(rootRO);\n if (result.createList.length > 0 || result.deleteList.length > 0 || result.editList.length > 0) {\n return true;\n } else {\n return false;\n }\n }\n return false;\n };\n CommonInterfaceManager.prototype.save = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var rootRO = _this.viewer.process.caeRenderObjectTreeManager.rootNode;\n if (rootRO instanceof caeLightObject_1.CAELightObject) {\n rootRO.save(_this.viewer).then(function (data) {\n resolve(data);\n });\n }\n });\n };\n CommonInterfaceManager.prototype.exportDATFile = function () {\n console.log(\"export\");\n var datCardData = this.viewer.datWriterManager.exportDATFile();\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.exportMemberData = function (isExportAll) {\n if (isExportAll === void 0) {\n isExportAll = true;\n }\n console.log(\"export member\");\n var datCardData = this.viewer.datWriterManager.exportMemberData(isExportAll);\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.exportPileData = function (isExportAll) {\n if (isExportAll === void 0) {\n isExportAll = true;\n }\n console.log(\"export pile\");\n var datCardData = this.viewer.datWriterManager.exportPileData(isExportAll);\n if (datCardData === null) {\n return null;\n }\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.exportDATFile_Seainp = function () {\n console.log(\"export_seainp\");\n var viewer = this.viewer;\n var datCardData = viewer.datWriterManager.exportDATFile_Seainp();\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.exportDATFile_Sacinp = function () {\n console.log(\"export_sacinp\");\n var viewer = this.viewer;\n var datCardData = viewer.datWriterManager.exportDATFile_Sacinp();\n datCardData += \"END\";\n return datCardData;\n };\n CommonInterfaceManager.prototype.importDATData = function (content, overWrite) {\n if (overWrite === void 0) {\n overWrite = false;\n }\n console.log(\"importDATData\", content);\n this.viewer.datReaderManager.importDATData(content, overWrite);\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.importSEAData = function (content) {\n console.log(\"importSEAData\");\n var ro = this.viewer.process.findRenderObjectByType(\"SeastateLdopt\");\n if (ro) {\n var message = \"已经存在海况数据\";\n element_ui_1.Message.error(message);\n return;\n }\n this.viewer.datReaderManager.importSeainpData(content);\n this.viewer.updateDisplay();\n this.viewer.structureTreeManager.update();\n return \"importSEAData successful\";\n };\n CommonInterfaceManager.prototype.importSeaociData = function (content) {\n console.log(\"importSeaociData\");\n this.viewer.datReaderManager.importSeaociData(content);\n this.viewer.updateDisplay();\n this.viewer.structureTreeManager.update();\n return \"importSeaociData successful\";\n };\n CommonInterfaceManager.prototype.importPSIData = function (content) {\n console.log(\"importPSIData\");\n this.viewer.datReaderManager.importPSIData(content);\n this.viewer.updateDisplay();\n this.viewer.structureTreeManager.update();\n };\n CommonInterfaceManager.prototype.historyBack = function () {\n if (process_1.Process.activeProcess.historyManager.canRollBack) {\n process_1.Process.activeProcess.historyManager.rollBack();\n }\n };\n CommonInterfaceManager.prototype.historyForward = function () {\n if (process_1.Process.activeProcess.historyManager.canRollForward) {\n process_1.Process.activeProcess.historyManager.rollForward();\n }\n };\n CommonInterfaceManager.prototype.selectAll = function () {\n var viewer = this.viewer;\n viewer.selectionManager.clearAllSelectionAndHighlight();\n switch (viewer.selectionInterfaceManager.selectorFilter) {\n case selectionInterfaceManager_1.SelectorFiliter.Joint:\n this.selectAllJoints();\n break;\n case selectionInterfaceManager_1.SelectorFiliter.Member:\n this.selectAllMembers();\n break;\n case selectionInterfaceManager_1.SelectorFiliter.Plate:\n this.selectAllPlates();\n break;\n case selectionInterfaceManager_1.SelectorFiliter.All:\n this.selectAllJoints();\n this.selectAllMembers();\n this.selectAllPlates();\n break;\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.createViewPoint = function (viewPointName) {\n this.viewer.caePanelManager.viewPointPanelCae.addViewPoint(viewPointName).then(function () {});\n };\n CommonInterfaceManager.prototype.selectAllJoints = function () {\n var joints = this.viewer.process.findRenderObjectsByType(\"JointObject\");\n var keys = new Array();\n var paths = new Array();\n joints.forEach(function (item) {\n keys.push(item.segment.key);\n paths.push(item.segment.path);\n });\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n };\n CommonInterfaceManager.prototype.selectAllMembers = function () {\n var members = this.viewer.process.findRenderObjectsByType(\"MemberObject\");\n var keys = new Array();\n var paths = new Array();\n members.forEach(function (item) {\n keys.push(item.segment.key);\n paths.push(item.segment.path);\n });\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n };\n CommonInterfaceManager.prototype.selectAllPlates = function () {\n var plates = this.viewer.process.findRenderObjectsByType(\"PlateObject\");\n var keys = new Array();\n var paths = new Array();\n plates.forEach(function (item) {\n keys.push(item.segment.key);\n paths.push(item.segment.path);\n });\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n };\n CommonInterfaceManager.prototype.findJoint = function (jointName) {\n var process = this.viewer.process;\n var ro = process.findCaeObjectByNameInChildObject(process.caeRenderObjectTreeManager.jointNode, jointName);\n if (ro && ro instanceof jointObject_1.JointObject) {\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.locateWorld(ro.segment);\n this.viewer.selectionManager.selectAndHighlightKeys([ro.segment.key], [ro.segment.path]);\n this.viewer.updateDisplay();\n return ro;\n } else {\n return null;\n }\n };\n CommonInterfaceManager.prototype.renameJoint = function (originJointName, newJointName, useNextAvaliable) {\n var process = this.viewer.process;\n var result = {};\n if (!jointObject_1.JointObject.checkNamelegal(newJointName)) {\n result = 3;\n return result;\n }\n var jointNode = process.caeRenderObjectTreeManager.jointNode;\n var ro = process.findCaeObjectByNameInChildObject(jointNode, originJointName);\n if (ro && ro instanceof jointObject_1.JointObject) {\n if (!useNextAvaliable) {\n var newNameRO = process.findCaeObjectByNameInChildObject(jointNode, newJointName);\n if (newNameRO) {\n result = 3 + \",\" + newJointName;\n return result;\n }\n } else {\n newJointName = process.caeRenderObjectTreeManager.nameAscendingOrder(newJointName, 1, process.nameMapJoint)[0];\n }\n ro.name = newJointName;\n ro.setNeedUpdate();\n result = 2 + \",\" + originJointName + \",\" + newJointName;\n } else {\n result = 1 + \",\" + originJointName;\n }\n return result;\n };\n CommonInterfaceManager.prototype.findMember = function (memberName) {\n var process = this.viewer.process;\n var ro = process.findCaeObjectByNameInChildObject(process.caeRenderObjectTreeManager.memberNode, memberName);\n if (ro && ro instanceof memberObject_1.MemberObject) {\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.locateWorld(ro.segment);\n this.viewer.selectionManager.selectAndHighlightKeys([ro.segment.key], [ro.segment.path]);\n this.viewer.updateDisplay();\n return ro;\n } else {\n return null;\n }\n };\n CommonInterfaceManager.prototype.highlightMemberByNames = function (names) {\n var process = this.viewer.process;\n var keys = [];\n var paths = [];\n for (var i = 0; i < names.length; i++) {\n var obj = process.findCaeObjectByNameInChildObject(process.caeRenderObjectTreeManager.memberNode, names[i]);\n if (obj) {\n keys.push(obj.segment.key);\n paths.push(obj.segment.path);\n } else {\n console.log(\"找不到\" + names[i]);\n }\n }\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.highlightPlateByNames = function (names) {\n var keys = [];\n var paths = [];\n for (var i = 0; i < names.length; i++) {\n var obj = this.viewer.process.findCaeObjectByNameInChildObject(this.viewer.process.caeRenderObjectTreeManager.plateNode, names[i]);\n if (obj) {\n keys.push(obj.segment.key);\n paths.push(obj.segment.path);\n } else {\n console.log(\"找不到\" + names[i]);\n }\n }\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.selectionManager.selectAndHighlightKeys(keys, paths);\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.findPlate = function (plateName) {\n var process = this.viewer.process;\n var ro = process.findCaeObjectByNameInChildObject(process.caeRenderObjectTreeManager.plateNode, plateName);\n if (ro && ro instanceof plateObject_1.PlateObject) {\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.locateWorld(ro.segment);\n this.viewer.selectionManager.selectAndHighlightKeys([ro.segment.key], [ro.segment.path]);\n this.viewer.updateDisplay();\n return ro;\n } else {\n return null;\n }\n };\n CommonInterfaceManager.prototype.getStructureTreeData = function () {\n var rootNode = this.viewer.structureTreeManager.rootNode;\n return rootNode;\n };\n CommonInterfaceManager.prototype.getMemberGrups = function () {\n var grupNameList = new Array();\n var grupObjectGroup = this.viewer.process.findRenderObjectByName(\"杆件截面组\");\n if (grupObjectGroup) {\n grupObjectGroup.childObjects.map(function (item) {\n grupNameList.push(item.name);\n });\n }\n return grupNameList;\n };\n CommonInterfaceManager.prototype.addStructureNode = function (parent, ro) {\n this.viewer.process.addRenderObject(parent, ro);\n };\n CommonInterfaceManager.prototype.removeStructureNode = function (ro) {\n this.viewer.process.removeRenderObject(ro);\n };\n CommonInterfaceManager.prototype.createMgrovObject = function () {\n var mgrov = new mgrovObject_1.MgrovObject();\n return mgrov;\n };\n CommonInterfaceManager.prototype.createCorrzObject = function () {\n var corrz = new corrzObject_1.CorrzObject();\n return corrz;\n };\n CommonInterfaceManager.prototype.clearChildObjects = function (viewer, ro) {\n if (ro) {\n while (ro.childObjects.length > 0) {\n viewer.process.removeRenderObject(ro.childObjects[0]);\n }\n }\n };\n CommonInterfaceManager.prototype.clearCaeRenderObject = function (viewer) {\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.memberNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.plateNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.jointNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.grupNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.pGrupNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.sectionInsNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.sacinpNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.seastateNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.pileNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.plGrupNode);\n this.clearChildObjects(viewer, viewer.process.caeRenderObjectTreeManager.postResultNode);\n };\n CommonInterfaceManager.prototype.colorDivSwitch_GrupName = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var colorDivideRO = process.findRenderObjectByName(\"按截面组号分色\");\n if (colorDivideRO) {\n for (var i = 0; i < colorDivideRO.childObjects.length; i++) {\n var obj = colorDivideRO.childObjects[i];\n if (obj.checkBusinessStateIsActive()) {\n if (on_off) {\n obj.active(viewer);\n } else {\n obj.inactive(viewer);\n }\n }\n }\n if (on_off) {\n var cutline = {};\n if (colorDivideRO) {\n legendManage_1.LegendManage.destory(this.elementKey);\n cutline = colorDivideRO.getCutline();\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Colored By Member Groups\";\n component.leftText = \"Color\";\n component.rightText = \"Member Groups\";\n } else {\n component.title = \"截面组分色\";\n component.leftText = \"颜色\";\n component.rightText = \"截面组名\";\n }\n }\n } else {\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.colorDivSwitch_GrupThickness = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var colorDivideRO = process.findRenderObjectByName(\"按截面壁厚分色\");\n if (colorDivideRO) {\n for (var i = 0; i < colorDivideRO.childObjects.length; i++) {\n var obj = colorDivideRO.childObjects[i];\n if (obj.checkBusinessStateIsActive()) {\n if (on_off) {\n obj.active(viewer);\n } else {\n obj.inactive(viewer);\n }\n }\n }\n if (on_off) {\n var cutline = {};\n if (colorDivideRO) {\n legendManage_1.LegendManage.destory(this.elementKey);\n cutline = colorDivideRO.getCutline();\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Colored By Thickness\";\n component.leftText = \"Color\";\n component.rightText = \"Thickness(cm)\";\n } else {\n component.title = \"壁厚分色\";\n component.leftText = \"颜色\";\n component.rightText = \"壁厚(cm)\";\n }\n }\n } else {\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.colordDivSwitch_Mgrov = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var colorDivideRO = process.findRenderObjectByName(\"海生物厚度按高程分色\");\n if (colorDivideRO && colorDivideRO.checkBusinessStateIsActive()) {\n var obj = colorDivideRO;\n if (on_off) {\n obj.active(viewer);\n var cutline = {};\n if (colorDivideRO) {\n var obj_1 = colorDivideRO;\n var thicknessIndex = 0;\n for (var i = 0; i < obj_1.heightList.length; i += 2) {\n var bottom = obj_1.heightList[i];\n var top_1 = obj_1.heightList[i + 1];\n var key = bottom + \"~\" + top_1 + \":\" + obj_1.thickness[thicknessIndex];\n var color = [obj_1.color[i / 2 * 4 + 0], obj_1.color[i / 2 * 4 + 1], obj_1.color[i / 2 * 4 + 2], obj_1.color[i / 2 * 4 + 3]];\n if (color[0] === -1 && color[1] === -1 && color[2] === -1) {\n continue;\n }\n color[0] *= 255;\n color[1] *= 255;\n color[2] *= 255;\n cutline[key] = color;\n thicknessIndex++;\n }\n legendManage_1.LegendManage.destory(this.elementKey);\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Marine Growth Zones\";\n component.leftText = \"Color\";\n component.rightText = \"Height Range(m): Thickness(mm)\";\n } else {\n component.title = \"海生物厚度分色\";\n component.leftText = \"颜色\";\n component.rightText = \"高度范围(m): 厚度(mm)\";\n }\n }\n } else {\n obj.inactive(viewer);\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.colordDivSwitch_Corrz = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var colorDivideRO = process.findRenderObjectByName(\"腐蚀余量按高程分色\");\n if (colorDivideRO && colorDivideRO.checkBusinessStateIsActive()) {\n var obj = colorDivideRO;\n if (on_off) {\n obj.active(viewer);\n var cutline = {};\n if (colorDivideRO) {\n var obj_2 = colorDivideRO;\n var thicknessIndex = 0;\n for (var i = 0; i < obj_2.heightList.length; i += 2) {\n var bottom = obj_2.heightList[i];\n var top_2 = obj_2.heightList[i + 1];\n var keyLevelBottom = obj_2.corrzList[thicknessIndex].thicknessBottom;\n if (!keyLevelBottom) {\n keyLevelBottom = 0;\n }\n var keyLevelTop = obj_2.corrzList[thicknessIndex].thicknessTop;\n if (!keyLevelTop) {\n keyLevelTop = 0;\n }\n var key = bottom + \"~\" + top_2 + \":\" + keyLevelBottom + \"~\" + keyLevelTop;\n var color = [obj_2.color[i / 2 * 4 + 0], obj_2.color[i / 2 * 4 + 1], obj_2.color[i / 2 * 4 + 2], obj_2.color[i / 2 * 4 + 3]];\n if (color[0] === -1 && color[1] === -1 && color[2] === -1) {\n continue;\n }\n color[0] *= 255;\n color[1] *= 255;\n color[2] *= 255;\n cutline[key] = color;\n thicknessIndex++;\n }\n legendManage_1.LegendManage.destory(this.elementKey);\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Corrosion Zones\";\n component.leftText = \"Color\";\n component.rightText = \"Height Range(m): Thickness(mm)\";\n } else {\n component.title = \"腐蚀余量分色\";\n component.leftText = \"颜色\";\n component.rightText = \"壁高度范围(m): 厚度(mm)\";\n }\n }\n } else {\n obj.inactive(viewer);\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.colorDivSwitch_ComponentGroup = function (on_off, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n var viewer = this.viewer;\n var process = this.viewer.process;\n var componentGroups = process.findRenderObjectByName(\"构件分组分色\");\n if (componentGroups) {\n for (var i = 0; i < componentGroups.childObjects.length; i++) {\n var obj = componentGroups.childObjects[i];\n if (obj.checkBusinessStateIsActive()) {\n this.setAllComponentGroupVisible(obj.name);\n if (on_off) {\n obj.active(viewer);\n } else {\n obj.inactive(viewer);\n }\n }\n }\n if (on_off) {\n var cutline = {};\n if (componentGroups) {\n legendManage_1.LegendManage.destory(this.elementKey);\n for (var i = 0; i < componentGroups.childObjects.length; i++) {\n var obj = componentGroups.childObjects[i];\n if (obj.checkBusinessStateIsActive()) {\n var color = gs_bim_air_1.Longan.deepClone(obj.color);\n cutline[obj.name] = color;\n }\n }\n var component = legendManage_1.LegendManage.create(this.elementKey, cutline, \"\", \"\", \"\");\n if (this.showEnglishText) {\n component.title = \"Set Colors\";\n component.leftText = \"Color\";\n component.rightText = \"Set Name\";\n } else {\n component.title = \"自定义构件分组分色\";\n component.leftText = \"颜色\";\n component.rightText = \"分组名\";\n }\n }\n } else {\n legendManage_1.LegendManage.destory(this.elementKey);\n }\n }\n if (isUpdate) this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.setAllComponentGroupVisible = function (groupName) {\n var viewer = this.viewer;\n var process = this.viewer.process;\n var componentGroups = process.findRenderObjectByName(\"构件分组分色\");\n if (componentGroups) {\n for (var i = 0; i < componentGroups.childObjects.length; i++) {\n var obj = componentGroups.childObjects[i];\n if (obj.name === groupName) {\n if (obj.checkBusinessStateIsActive()) {\n obj.isVisible = true;\n obj.businessState = gs_ceec_design_2.BusinessState.Editing;\n obj.setChildVisible(viewer, true);\n }\n break;\n }\n }\n }\n };\n CommonInterfaceManager.prototype.colorSwitch = function (state, isUpdate) {\n if (isUpdate === void 0) {\n isUpdate = true;\n }\n switch (state) {\n case SwitchColorDivide.GrupName:\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n this.colorDivSwitch_GrupName(true, isUpdate);\n break;\n case SwitchColorDivide.GrupThickness:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n this.colorDivSwitch_GrupThickness(true, isUpdate);\n break;\n case SwitchColorDivide.Mgrov:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n this.colordDivSwitch_Mgrov(true, isUpdate);\n break;\n case SwitchColorDivide.Corrz:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n this.colordDivSwitch_Corrz(true, isUpdate);\n break;\n case SwitchColorDivide.ComponentGroup:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(true, isUpdate);\n break;\n case SwitchColorDivide.Cancel:\n this.colorDivSwitch_GrupName(false, isUpdate);\n this.colorDivSwitch_GrupThickness(false, isUpdate);\n this.colordDivSwitch_Mgrov(false, isUpdate);\n this.colordDivSwitch_Corrz(false, isUpdate);\n this.colorDivSwitch_ComponentGroup(false, isUpdate);\n break;\n }\n this.currentSwitchColorDivide = state;\n };\n CommonInterfaceManager.prototype.refreshColorSwitch = function () {\n if (this.currentSwitchColorDivide !== SwitchColorDivide.Cancel) {\n var record = this.currentSwitchColorDivide;\n this.colorSwitch(SwitchColorDivide.Cancel);\n this.colorSwitch(record);\n this.viewer.updateDisplay();\n }\n };\n CommonInterfaceManager.prototype.componentGroupColorVisibleSwitch = function (groupName, on_off) {\n var viewer = this.viewer;\n var process = this.viewer.process;\n var componentGroups = process.findRenderObjectByName(\"构件分组分色\");\n if (componentGroups) {\n for (var i = 0; i < componentGroups.childObjects.length; i++) {\n var obj = componentGroups.childObjects[i];\n if (obj.name === groupName) {\n if (obj.checkBusinessStateIsActive()) {\n obj.businessState = gs_ceec_design_2.BusinessState.Editing;\n if (on_off) {\n obj.active(viewer);\n } else {\n obj.inactive(viewer);\n }\n }\n break;\n }\n }\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.waveSwitch = function (on_off) {\n var process = this.viewer.process;\n var wave = process.findRenderObjectByName(\"波面\");\n if (!wave) {\n return -1;\n }\n var currentWaveItemObject = process.findCaeObjectByNameInChildObject(wave, this.currentSelectWaveItemName);\n if (currentWaveItemObject) {\n if (on_off) {\n currentWaveItemObject.active(this.viewer);\n store_1.default.state.info = currentWaveItemObject.toString();\n } else {\n currentWaveItemObject.inactive(this.viewer);\n store_1.default.state.info = null;\n }\n } else {\n store_1.default.state.info = null;\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.boreholeSwitch = function (on_off) {\n var process = this.viewer.process;\n var parentNode = process.findRenderObjectByName(\"土层和波面\");\n if (!parentNode) {\n return -1;\n }\n var elementKey = \"soild\";\n if (parentNode && on_off) {\n this.boreholeCutLineDisplay = true;\n for (var i = 0; i < parentNode.childObjects.length; i++) {\n parentNode.childObjects[i].active();\n }\n legendManage_1.LegendManage.create(elementKey, this.boreholeLegend, \"土层数据\", \"颜色\", \"土层名\", {\n right: \"0px\",\n bottom: \"0px\"\n });\n } else {\n this.boreholeCutLineDisplay = false;\n for (var i = 0; i < parentNode.childObjects.length; i++) {\n parentNode.childObjects[i].inactive();\n }\n legendManage_1.LegendManage.destory(elementKey);\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.checkPSI = function () {\n var exist = false;\n if (!this.viewer.datReaderManager.psiopt) {\n console.log(\"没有桩土数据.\");\n exist = false;\n } else {\n exist = true;\n }\n return exist;\n };\n CommonInterfaceManager.prototype.checkSeainp = function () {\n var exist = false;\n var ro = this.viewer.process.findRenderObjectByType(\"SeastateLdopt\");\n if (ro) {\n exist = true;\n }\n return exist;\n };\n CommonInterfaceManager.prototype.finiteElementSwitch = function (visible) {\n var members = this.viewer.process.findRenderObjectsByType(\"MemberObject\");\n if (visible) {\n for (var i = 0; i < members.length; i++) {\n var member = members[i];\n member.segmentLengthCoeff = memberObject_1.MemberObject.g_GridRatio;\n if (member.segmentLengthCoeff === -1) {\n member.segmentLengthCoeff = 0.9;\n }\n member.setNeedUpdate();\n }\n this.viewer.updateDisplay();\n } else {\n for (var i = 0; i < members.length; i++) {\n var member = members[i];\n member.segmentLengthCoeff = 1;\n member.setNeedUpdate();\n }\n }\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.editColors = function (backgroundColor, jointColor, memberColorLine, memberColorFace, plateColor) {\n objectColors_1.ObjectColor.jointColor = jointColor;\n objectColors_1.ObjectColor.memberFaceColor = memberColorFace;\n objectColors_1.ObjectColor.memberLineColor = memberColorLine;\n objectColors_1.ObjectColor.plateColor = plateColor;\n this.viewer.backgroundColor = backgroundColor;\n var joints = this.viewer.process.findRenderObjectsByType(\"JointObject\");\n joints.forEach(function (item) {\n item.segment.color.setMarker(jointColor);\n });\n var members = this.viewer.process.findRenderObjectsByType(\"MemberObject\");\n members.forEach(function (item) {\n item.faceColor = memberColorFace;\n item.lineColor = memberColorLine;\n item.setNeedUpdate();\n });\n var plates = this.viewer.process.findRenderObjectsByType(\"PlateObject\");\n plates.forEach(function (item) {\n item.faceColor = plateColor;\n item.setNeedUpdate();\n });\n this.viewer.updateDisplay();\n };\n CommonInterfaceManager.prototype.editLabelColors = function (jointLabel, memberLabel, plateLabel, loadLabel) {\n objectColors_1.ObjectColor.jointLabelColor = jointLabel;\n objectColors_1.ObjectColor.memberLabelColor = memberLabel;\n objectColors_1.ObjectColor.plateLabelColor = plateLabel;\n objectColors_1.ObjectColor.loadLabelColor = loadLabel;\n var joints = this.viewer.process.findRenderObjectsByType(\"JointObject\");\n joints.forEach(function (item) {\n item.isDrawSvg = false;\n item.isDrawSvg = true;\n });\n var members = this.viewer.process.findRenderObjectsByType(\"MemberObject\");\n members.forEach(function (item) {\n item.isDrawSvg = false;\n item.isDrawSvg = true;\n });\n var plates = this.viewer.process.findRenderObjectsByType(\"PlateObject\");\n plates.forEach(function (item) {\n item.isDrawSvg = false;\n item.isDrawSvg = true;\n });\n this.viewer.exeSceneCameraChanged(gs_bim_air_1.Longan.LonganCore.CameraChangeType.Scale);\n };\n CommonInterfaceManager.prototype.editSectionLabelColors = function (sectionViewer, backgroundColor, lineLabelColor, arrowLabelColor, textLabelColor) {\n if (backgroundColor) {\n sectionViewer.backgroundColor = backgroundColor;\n }\n if (lineLabelColor) {\n instanceSectionObject_1.InstanceSectionObject.lineLabelColor = lineLabelColor;\n }\n if (arrowLabelColor) {\n instanceSectionObject_1.InstanceSectionObject.arrowLabelColor = arrowLabelColor;\n }\n if (textLabelColor) {\n instanceSectionObject_1.InstanceSectionObject.textLabelColor = textLabelColor;\n }\n var root = sectionViewer.renderObject;\n root === null || root === void 0 ? void 0 : root.childObjects.forEach(function (section) {\n if (section instanceof sectionObject_1.SectionObject) {\n var iro_1 = sectionViewer.findInstanceObject(section);\n if (iro_1) {\n iro_1.removeSvg();\n setTimeout(function () {\n iro_1.drawSvg();\n }, 10);\n }\n }\n });\n };\n CommonInterfaceManager.prototype.switchActiveViewer = function (elementId) {\n var process = this.viewer.process;\n process.viewers.forEach(function (vi) {\n if (vi.container.id === elementId) {\n process.activeViewer = vi;\n return;\n }\n });\n };\n CommonInterfaceManager.prototype.showHistoryList = function () {\n var historyManager = this.viewer.process.historyManager;\n var list = historyManager.stateList;\n for (var i = 0; i < list.count(); i++) {\n console.log(list.items[i].name);\n }\n return list;\n };\n CommonInterfaceManager.prototype.historyRoll = function (index) {\n var historyManager = this.viewer.process.historyManager;\n var currentIdx = historyManager.currentStateIndex;\n if (currentIdx < index) {\n var time = index - currentIdx;\n for (var i = 0; i < time; i++) {\n this.viewer.process.historyManager.rollForward();\n }\n } else if (currentIdx > index) {\n var time = currentIdx - index;\n for (var i = 0; i < time; i++) {\n this.viewer.process.historyManager.rollBack();\n }\n }\n };\n CommonInterfaceManager.prototype.getLoadConditionList = function () {\n var loadConditions = this.viewer.process.findRenderObjectsByType(\"LoadConditionObject\");\n return loadConditions;\n };\n CommonInterfaceManager.prototype.getLoadConditionCombineList = function () {\n var objects = this.viewer.process.findRenderObjectsByType(\"SeastateLcomb\");\n return objects;\n };\n CommonInterfaceManager.prototype.removeProcessData = function () {\n this.viewer.process.clearRenderObjects(true);\n };\n CommonInterfaceManager.prototype.createCurrLoadObject = function () {\n var currLoad = new currLoadObject_1.CurrLoadObject();\n return currLoad;\n };\n CommonInterfaceManager.prototype.createCdmRenderObject = function () {\n var cdmObject = new cdmRenderObject_1.CdmRenderObject();\n return cdmObject;\n };\n CommonInterfaceManager.prototype.addJointLoad = function (loadConditionName, loadGroupName, selectedJointName, fx, fy, fz, mx, my, mz) {\n var viewer = this.viewer;\n var pretreatmentRO = viewer.process.findRenderObjectByName(\"后处理计算结果\");\n if (!pretreatmentRO) {\n console.error(\"没有'后处理计算结果'的RO节点\");\n return 2;\n }\n var conditionParent = viewer.process.findCaeObjectByNameInChildObject(pretreatmentRO, \"荷载工况\");\n if (!conditionParent) {\n conditionParent = new gs_ceec_design_2.DesignBaseObject();\n conditionParent.businessState = gs_ceec_design_2.BusinessState.Creating;\n conditionParent.name = \"荷载工况\";\n viewer.process.addRenderObject(pretreatmentRO, conditionParent);\n }\n var loadConditionRO = null;\n loadConditionRO = viewer.process.findCaeObjectByNameInChildObject(conditionParent, loadConditionName);\n if (!loadConditionRO) {\n loadConditionRO = new loadConditionObject_1.LoadConditionObject(loadConditionName);\n loadConditionRO.businessState = gs_ceec_design_2.BusinessState.Creating;\n viewer.process.addRenderObject(conditionParent, loadConditionRO);\n } else {\n loadConditionRO.businessState = gs_ceec_design_2.BusinessState.Editing;\n }\n var loadGroupRO = viewer.process.findCaeObjectByNameInChildObject(loadConditionRO, loadGroupName);\n if (!loadGroupRO) {\n loadGroupRO = new loadGroupObject_1.LoadGroupObject(loadGroupName);\n loadGroupRO.businessState = gs_ceec_design_2.BusinessState.Creating;\n viewer.process.addRenderObject(loadConditionRO, loadGroupRO);\n } else {\n loadGroupRO.businessState = gs_ceec_design_2.BusinessState.Editing;\n }\n for (var i = 0; i < loadGroupRO.childObjects.length; i++) {\n var load = loadGroupRO.childObjects[i];\n if (load instanceof jointLoadObject_1.JointLoadObject) {\n if (load.jointName === selectedJointName) {\n return 3;\n }\n }\n }\n var jointLoad = new jointLoadObject_1.JointLoadObject(loadConditionRO.name, loadGroupName);\n jointLoad.name = \"Joint:\" + selectedJointName;\n jointLoad.businessState = gs_ceec_design_2.BusinessState.Creating;\n jointLoad.jointName = selectedJointName;\n jointLoad.forceXDirection = fx;\n jointLoad.forceYDirection = fy;\n jointLoad.forceZDirection = fz;\n jointLoad.momentAboutXAxis = mx;\n jointLoad.momentAboutYAxis = my;\n jointLoad.momentAboutZAxis = mz;\n viewer.process.addRenderObject(loadGroupRO, jointLoad);\n return 1;\n };\n CommonInterfaceManager.prototype.editJointLoad = function (jointLoad, fx, fy, fz, mx, my, mz) {\n jointLoad.businessState = gs_ceec_design_2.BusinessState.Editing;\n jointLoad.forceXDirection = fx;\n jointLoad.forceYDirection = fy;\n jointLoad.forceZDirection = fz;\n jointLoad.momentAboutXAxis = mx;\n jointLoad.momentAboutYAxis = my;\n jointLoad.momentAboutZAxis = mz;\n };\n CommonInterfaceManager.prototype.boreholeChange = function (boreholeName) {\n var elementKey = \"soild\";\n if (this.boreholeCutLineDisplay) {\n this.boreholeCutLineDisplay = false;\n legendManage_1.LegendManage.destory(elementKey);\n var currentBoreholeObjects = this.currentBoreholeObjects;\n for (var i = 0; i < currentBoreholeObjects.length; i++) {\n if (currentBoreholeObjects[i].name === boreholeName) {\n currentBoreholeObjects[i].cutlienAcitve = true;\n this.activeBoreholeName = boreholeName;\n this.boreholeCutLineDisplay = true;\n var cutLineLegend = currentBoreholeObjects[i].geCutline();\n legendManage_1.LegendManage.create(elementKey, cutLineLegend, \"土层数据\", \"颜色\", \"土层名\", {\n right: \"0px\",\n bottom: \"0px\"\n });\n } else {\n currentBoreholeObjects[i].cutlienAcitve = false;\n }\n }\n }\n };\n return CommonInterfaceManager;\n }(gs_bim_air_1.Longan.ViewerManagerBase);\n exports.CommonInterfaceManager = CommonInterfaceManager;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2dzRGV2RngvbWFuYWdlcnMvaW50ZXJmYWNlTWFuYWdlcnMvY29tbW9uSW50ZXJmYWNlTWFuYWdlci50cy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvZ3NEZXZGeC9tYW5hZ2Vycy9pbnRlcmZhY2VNYW5hZ2Vycy9jb21tb25JbnRlcmZhY2VNYW5hZ2VyLnRzPzcxNWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0FFTGlnaHRPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZUxpZ2h0T2JqZWN0L2NhZUxpZ2h0T2JqZWN0XCI7XG5pbXBvcnQgeyBKb2ludE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9qb2ludE9iamVjdFwiO1xuaW1wb3J0IHsgTG9uZ2FuIH0gZnJvbSBcImdzLWJpbS1haXJcIjtcbmltcG9ydCB7IFZpZXdlciB9IGZyb20gXCIuLi8uLi92aWV3ZXJcIjtcbmltcG9ydCB7IFNlbGVjdG9yRmlsaXRlciB9IGZyb20gXCIuL3NlbGVjdGlvbkludGVyZmFjZU1hbmFnZXJcIjtcbmltcG9ydCB7IENBRVRhc2sgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC90YXNrcy9jYWVUYXNrXCI7XG5pbXBvcnQgcmVuZGVyT2JqZWN0U2VydmljZSBmcm9tIFwiLi4vLi4vLi4vYXBpL3JlbmRlck9iamVjdFNlcnZpY2VcIjtcbmltcG9ydCB7IFByb2Nlc3MgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9wcm9jZXNzXCI7XG5pbXBvcnQgeyBNb2RlbFRpdGxlIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL29wdGlvbk9iamVjdHMvbW9kZWxUaXRsZVwiO1xuaW1wb3J0IHsgQ2FyZFRJVExFIH0gZnJvbSBcIi4uLy4uLy4uL2NhZUNhcmRFZGl0b3IvY2FlQ2FyZE9iamVjdHMvc2FjaW5wL2NhcmRUSVRMRVwiO1xuaW1wb3J0IHsgUGVyc2lzdGVuY2VNYW5hZ2VyIH0gZnJvbSBcImdzLWNlZWMtZGVzaWduXCI7XG5pbXBvcnQgeyBNZW1iZXJPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvbWVtYmVyT2JqZWN0XCI7XG5pbXBvcnQgeyBCdXNpbmVzc1N0YXRlLCBEZXNpZ25CYXNlT2JqZWN0IH0gZnJvbSBcImdzLWNlZWMtZGVzaWduXCI7XG5pbXBvcnQgeyBNZ3Jvdk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9wcmV0cmVhdG1lbnQvbWdyb3ZPYmplY3RcIjtcbmltcG9ydCB7IENvcnJ6T2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL3ByZXRyZWF0bWVudC9jb3Jyek9iamVjdFwiO1xuaW1wb3J0IHsgQ29sb3JEaXZHcnVwSWRPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3ByZXRyZWF0bWVudE9iamVjdHMvY29sb3JEaXZHcnVwSWRPYmplY3RcIjtcbmltcG9ydCB7IENvbG9yRGl2R3J1cFRoaWNrbmVzc09iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jb2xvckRpdkdydXBUaGlja25lc3NPYmplY3RcIjtcbmltcG9ydCB7IENvbG9yRGl2TUdST1ZPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3ByZXRyZWF0bWVudE9iamVjdHMvY29sb3JEaXZNR1JPVk9iamVjdFwiO1xuaW1wb3J0IHsgQ29sb3JEaXZDT1JSWk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jb2xvckRpdkNPUlJaT2JqZWN0XCI7XG5pbXBvcnQgc3RvcmUgZnJvbSBcIi4uLy4uLy4uL3N0b3JlXCI7XG5pbXBvcnQgeyBDdXRsaW5lR3J1cFRoaWNrbmVzc09iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jdXRsaW5lR3J1cFRoaWNrbmVzc09iamVjdFwiO1xuaW1wb3J0IHsgQ3V0bGluZUdydXBJZE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jdXRsaW5lR3J1cElkT2JqZWN0XCI7XG5pbXBvcnQgeyBQbGF0ZU9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9wbGF0ZU9iamVjdFwiO1xuaW1wb3J0IHsgQ29tbWFuZE1hbmFnZXIgfSBmcm9tIFwiLi4vY29tbWFuZE1hbmFnZXJcIjtcbmltcG9ydCB7IEdydXBPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvZ3J1cE9iamVjdFwiO1xuaW1wb3J0IHsgV2F2ZU9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy93YXZlT2JqZWN0XCI7XG5pbXBvcnQgeyBXYXZlSXRlbU9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy93YXZlSXRlbU9iamVjdFwiO1xuaW1wb3J0IHsgQ29sb3JEaXZDb21wb25lbnRHcm91cE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jb2xvckRpdkNvbXBvbmVudEdyb3VwT2JqZWN0XCI7XG5pbXBvcnQgeyBCb3JlaG9sZXNPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3ByZXRyZWF0bWVudE9iamVjdHMvYm9yZWhvbGVPYmplY3RcIjtcbmltcG9ydCB7IE9iamVjdENvbG9yIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL29iamVjdENvbG9yc1wiO1xuaW1wb3J0IHsgSW5zdGFuY2VTZWN0aW9uT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL2luc3RhbmNlU2VjdGlvbk9iamVjdFwiO1xuaW1wb3J0IHsgU2VjdGlvbk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9zZWN0aW9uT2JqZWN0XCI7XG5pbXBvcnQgeyBTZWN0aW9uVmlld2VyIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvc2VjdGlvblZpZXdlclwiO1xuaW1wb3J0IHsgTG9hZENvbmRpdGlvbk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbG9hZE9iamVjdHMvbG9hZENvbmRpdGlvbk9iamVjdFwiO1xuaW1wb3J0IHsgTG9hZEdyb3VwT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9sb2FkT2JqZWN0cy9sb2FkR3JvdXBPYmplY3RcIjtcbmltcG9ydCB7IEpvaW50TG9hZE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbG9hZE9iamVjdHMvam9pbnRMb2FkT2JqZWN0XCI7XG5pbXBvcnQgeyBDdXJyTG9hZE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbG9hZE9iamVjdHMvY3VyckxvYWRPYmplY3RcIjtcbmltcG9ydCB7IENkbVJlbmRlck9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9vcHRpb25PYmplY3RzL2NkbVJlbmRlck9iamVjdFwiO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gXCJlbGVtZW50LXVpXCI7XG5pbXBvcnQgeyBMZWdlbmRNYW5hZ2UgfSBmcm9tIFwiLi4vLi4vLi4vdmlld2VyV3JhcHBlci9tb2R1bGUvbGVnZW5kTWFuYWdlXCI7XG5cbmV4cG9ydCBlbnVtIFN3aXRjaENvbG9yRGl2aWRlIHtcbiAgR3J1cE5hbWUgPSAwLCAvL+aMieadhuS7tuaIqumdoue7hOWQjeWIhuiJslxuICBHcnVwVGhpY2tuZXNzID0gMSwgLy/mjInmnYbku7blo4HljprliIboibJcbiAgTWdyb3YgPSAyLCAvL+aMiea1t+eUn+eJqeWOmuW6puWIhuiJslxuICBDb3JyeiA9IDMsIC8v5oyJ6IWQ6JqA5L2Z6YeP5YiG6ImyXG4gIENhbmNlbCA9IDQsIC8vIOWPlua2iOWIhuiJsuaViOaenFxuICBDb21wb25lbnRHcm91cCA9IDUsIC8vIOiHquWumuS5ieaehOS7tuWIhuiJsuaViOaenFxuICAvLyBCb3JlaG9sZSA9IDYsIC8vIOWcn+WxguaViOaenFxufVxuXG5leHBvcnQgY2xhc3MgQ29tbW9uSW50ZXJmYWNlTWFuYWdlciBleHRlbmRzIExvbmdhbi5WaWV3ZXJNYW5hZ2VyQmFzZSB7XG4gIC8vIGVmZmVjdE9iamVjdHMgPSBuZXcgTG9uZ2FuLkxpc3Q8RGVzaWduQmFzZU9iamVjdD4oKTtcbiAgY3VycmVudFNlbGVjdFdhdmVJdGVtTmFtZTogc3RyaW5nID0gbnVsbDtcbiAgY3VycmVudEJvcmVob2xlT2JqZWN0czogQXJyYXk8Qm9yZWhvbGVzT2JqZWN0PiA9IG51bGw7XG4gIGJvcmVob2xlTGVnZW5kID0gbnVsbDtcbiAgYm9yZWhvbGVDdXRMaW5lRGlzcGxheSA9IGZhbHNlO1xuXG4gIHNob3dFbmdsaXNoVGV4dCA9IGZhbHNlO1xuXG4gIC8vIOWkjeWItuWklumDqOS6i+S7ti5cbiAgY29weWVkRXh0ZXJuYWxFdmVudCA9IG51bGw7XG5cbiAgZWxlbWVudEtleSA9IFwiY3V0bGluZVwiO1xuICBhY3RpdmVCb3JlaG9sZU5hbWUgPSBudWxsO1xuXG4gIGN1cnJlbnRTd2l0Y2hDb2xvckRpdmlkZSA9IFN3aXRjaENvbG9yRGl2aWRlLkNhbmNlbDtcblxuICBjb25zdHJ1Y3Rvcih2aWV3ZXI6IFZpZXdlcikge1xuICAgIHN1cGVyKHZpZXdlcik7XG4gIH1cblxuICAvLyAvKipcbiAgLy8gICog57yW6L6R6aG555uu5L+h5oGvKOWQjeensOOAgeWkh+azqClcbiAgLy8gICogQHBhcmFtIHByb2plY3RJZCDpobnnm65pZFxuICAvLyAgKiBAcGFyYW0gcHJvamVjdE5hbWUg6aG555uu5ZCN56ewXG4gIC8vICAqIEBwYXJhbSBwcm9qZWN0UmVtYXJrcyDpobnnm67lpIfms6hcbiAgLy8gICogQHJldHVybnMg5o6l5Y+j5L+h5oGvXG4gIC8vICAqL1xuICAvLyBlZGl0UHJvamVjdChwcm9qZWN0SWQ6IHN0cmluZywgcHJvamVjdE5hbWU6IHN0cmluZywgcHJvamVjdFJlbWFya3M6IHN0cmluZykge1xuICAvLyAgIGlmICghcHJvamVjdElkIHx8ICFwcm9qZWN0TmFtZSkge1xuICAvLyAgICAgcmV0dXJuO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gUHJvamVjdHNBcGkuZWRpdFByb2plY3QocHJvamVjdElkLCB7XG4gIC8vICAgICBuYW1lOiBwcm9qZWN0TmFtZSxcbiAgLy8gICAgIHJlbWFya3M6IHByb2plY3RSZW1hcmtzLFxuICAvLyAgIH0pO1xuICAvLyB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIOiOt+WPlumhueebruWIl+ihqFxuICAvLyAgKiBAcmV0dXJucyDov5Tlm57pobnnm67liJfooajmlbDmja5cbiAgLy8gICovXG4gIC8vIGdldFByb2plY3RMaXN0KCkge1xuICAvLyAgIFByb2plY3RzQXBpLmdldFByb2plY3RzKCkudGhlbigoZGF0YSkgPT4ge1xuICAvLyAgICAgcmV0dXJuIGRhdGE7XG4gIC8vICAgfSk7XG4gIC8vIH1cblxuICAvLyAvKipcbiAgLy8gICog5paw5bu66aG555uuXG4gIC8vICAqIEBwYXJhbSBwcm9qZWN0TmFtZSDpobnnm67lkI1cbiAgLy8gICogQHBhcmFtIHByb2plY3RSZW1hcmtzIOmhueebruWkh+azqFxuICAvLyAgKiBAcmV0dXJuc1xuICAvLyAgKi9cbiAgLy8gY3JlYXRlUHJvamVjdENvbmZpcm0ocHJvamVjdE5hbWU6IHN0cmluZywgcHJvamVjdFJlbWFya3M6IHN0cmluZykge1xuICAvLyAgIGlmICghcHJvamVjdE5hbWUpIHtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG4gIC8vICAgY29uc29sZS5sb2coXCJwcm9qZWN0UmVtYXJrczpcIiwgcHJvamVjdFJlbWFya3MpO1xuICAvLyAgIHJldHVybiBQcm9qZWN0c0FwaS5jcmVhdGVQcm9qZWN0KHtcbiAgLy8gICAgIG5hbWU6IHByb2plY3ROYW1lLFxuICAvLyAgICAgcmVtYXJrczogcHJvamVjdFJlbWFya3MsXG4gIC8vICAgfSk7XG4gIC8vIH1cblxuICAvKipcbiAgICog6I635Y+W5qih5Z6LUGxvdFRpdGxlXG4gICAqIEByZXR1cm5zIOaooeWei1Bsb3RUaXRsZVxuICAgKi9cbiAgc2hvd1Bsb3RUaXRsZSgpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQgPSBudWxsO1xuXG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzIGFzIFByb2Nlc3M7XG4gICAgbGV0IHRpdGxlUk8gPSBwcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeVR5cGUoXCJNb2RlbFRpdGxlXCIpO1xuICAgIGlmICh0aXRsZVJPKSB7XG4gICAgICBpZiAodGl0bGVSTyBpbnN0YW5jZW9mIE1vZGVsVGl0bGUpIHtcbiAgICAgICAgcmVzdWx0ID0gdGl0bGVSTy5jYXJkT2JqZWN0LnRpdGxlLnZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBcIkFjdGl2ZSBTdHJ1Y3R1cmVcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIOe8lui+keaooeWei1Bsb3RUaXRsZS5cbiAgICogQHBhcmFtIHRpdGxlXG4gICAqL1xuICBlZGl0UGxvdFRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcblxuICAgIGlmICghdGl0bGUgfHwgdGl0bGUudHJpbUVuZCgpID09PSBcIlwiKSB7XG4gICAgICBsZXQgdGl0bGVSTyA9IHByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5VHlwZShcIk1vZGVsVGl0bGVcIikgYXMgTW9kZWxUaXRsZTtcbiAgICAgIGlmICh0aXRsZVJPKSB7XG4gICAgICAgIC8vIOWIoOmZpOagh+mimOaIkOWKn1xuICAgICAgICB0aXRsZVJPLnRlbXBEZWxldGUodGhpcy52aWV3ZXIgYXMgVmlld2VyKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGlzbGVnYWwgPSB0aGlzLmNoZWNUaXRsZWtOYW1lbGVnYWwodGl0bGUpO1xuXG4gICAgaWYgKCFpc2xlZ2FsKSB7XG4gICAgICAvLyDmoIfpopjkuI3lkIjms5VcbiAgICAgIHJldHVybiAyO1xuICAgIH1cblxuICAgIGxldCB0aXRsZVJPID0gcHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlUeXBlKFwiTW9kZWxUaXRsZVwiKTtcbiAgICBpZiAodGl0bGVSTykge1xuICAgICAgaWYgKHRpdGxlUk8gaW5zdGFuY2VvZiBNb2RlbFRpdGxlKSB7XG4gICAgICAgIHRpdGxlUk8uY2FyZE9iamVjdC50aXRsZS52YWx1ZSA9IHRpdGxlO1xuICAgICAgICB0aXRsZVJPLmNhcmREYXRhID0gdGl0bGVSTy5jYXJkT2JqZWN0LmdldExpbmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHRpdGxlUk8gPSBuZXcgTW9kZWxUaXRsZSgpO1xuICAgICAgdGl0bGVSTy5uYW1lID0gXCJUSVRMRVwiO1xuICAgICAgbGV0IGxpbmUgPSBcIiAgICAgXCIgKyB0aXRsZTtcbiAgICAgIHRpdGxlUk8uY2FyZERhdGEgPSBsaW5lO1xuICAgICAgdGl0bGVSTy5jYXJkT2JqZWN0ID0gbmV3IENhcmRUSVRMRShsaW5lKTtcbiAgICAgIHByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KFxuICAgICAgICBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnNhY2lucE5vZGUsXG4gICAgICAgIHRpdGxlUk9cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICBwcml2YXRlIGNoZWNUaXRsZWtOYW1lbGVnYWwobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IHJlZyA9IC9eW0EtWjAtOV0qJC87XG4gICAgaWYgKCFyZWcudGVzdChuYW1lKSB8fCBuYW1lLnRyaW1FbmQoKS5sZW5ndGggPiAxMjUpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwi56m66Ze054K55ZCN56ew5LiN56ym5ZCI6KeE6IyDXCIpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiDph43nva7op4blm75cbiAgICovXG4gIHJlc2V0Vmlldyhpc1NldFZpZXdNb2RlID0gdHJ1ZSkge1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmFjdGl2ZVZpZXdlciBhcyBWaWV3ZXI7XG4gICAgLy8g5Y+W5raI6auY5LquXG4gICAgdmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcbiAgICAvLyDlhbPpl63lhajpg6jlkb3ku6RcbiAgICAodmlld2VyLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIgYXMgQ29tbWFuZE1hbmFnZXIpLmNsb3NlQWxsQ29tbWFuZHMoKTtcbiAgICAvLyDlhbPpl63lkITnp43lvIDlhbNcbiAgICB2aWV3ZXIuY29tbW9uSW50ZXJmYWNlTWFuYWdlci5jb2xvclN3aXRjaChTd2l0Y2hDb2xvckRpdmlkZS5DYW5jZWwpO1xuICAgIHZpZXdlci5jb21tb25JbnRlcmZhY2VNYW5hZ2VyLmZpbml0ZUVsZW1lbnRTd2l0Y2goZmFsc2UpO1xuICAgIC8vIOazoumdouW8gOWFs1xuICAgIHZpZXdlci5jb21tb25JbnRlcmZhY2VNYW5hZ2VyLndhdmVTd2l0Y2goZmFsc2UpO1xuICAgIC8vIOWcn+WxguW8gOWFs1xuICAgIHZpZXdlci5jb21tb25JbnRlcmZhY2VNYW5hZ2VyLmJvcmVob2xlU3dpdGNoKGZhbHNlKTtcbiAgICAvLyDlj5bmtojlkITnp43moIfnrb4uXG4gICAgdmlld2VyLnZpZXdJbnRlcmZhY2VNYW5hZ2VyLnNldEpvaW50TnVtYmVyVmlzaWJsZShmYWxzZSk7XG4gICAgdmlld2VyLnZpZXdJbnRlcmZhY2VNYW5hZ2VyLnNldEpvaW50UmVzdHJhaW50VmlzaWJsZShmYWxzZSk7XG5cbiAgICB2aWV3ZXIudmlld0ludGVyZmFjZU1hbmFnZXIuc2V0TWVtYmVyRml4aXR5VmlzaWJsZShmYWxzZSk7XG4gICAgdmlld2VyLnZpZXdJbnRlcmZhY2VNYW5hZ2VyLnNldE1lbWJlckxvY2FsQXhpc1Zpc2libGUoZmFsc2UpO1xuICAgIHZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5zZXRNZW1iZXJTZWN0aW9uU2l6ZVZpc2libGUoZmFsc2UpO1xuICAgIHZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5zZXRHcnVwTnVtYmVyVmlzaWJsZShmYWxzZSk7XG5cbiAgICAvLyDlj5bmtojmjIHnu63ml4vovaxcbiAgICB2aWV3ZXIudmlld0ludGVyZmFjZU1hbmFnZXIuY29udGludWVzUm90YXRlKGZhbHNlKTtcbiAgICB2aWV3ZXIudmlld0ludGVyZmFjZU1hbmFnZXIuc2V0Q2FtZXJhU2VsZWN0KCk7XG5cbiAgICAvLyAvLyDmgaLlpI3lnKjlubPpnaLkuIrmmL7npLpcbiAgICAvLyB2aWV3ZXIuY29tbW9uSW50ZXJmYWNlTWFuYWdlci5lZmZlY3RPYmplY3RzLmZvckVhY2goKG9iaikgPT4ge1xuICAgIC8vICAgdmlld2VyLmZpbmRJbnN0YW5jZU9iamVjdChvYmopLnZpZXdlclZpc2libGUgPSB0cnVlO1xuICAgIC8vICAgdmlld2VyLmZpbmRJbnN0YW5jZU9iamVjdChvYmopLnZpc2libGUgPSB0cnVlO1xuICAgIC8vIH0pO1xuICAgIC8vIHZpZXdlci5jb21tb25JbnRlcmZhY2VNYW5hZ2VyLmVmZmVjdE9iamVjdHMuY2xlYXIoKTtcblxuICAgIGxldCBwcm9jZXNzID0gdmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcbiAgICBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLmpvaW50Tm9kZT8uY2hpbGRPYmplY3RzLmZvckVhY2goXG4gICAgICAob2JqKSA9PiB7XG4gICAgICAgIHZpZXdlci5maW5kSW5zdGFuY2VPYmplY3Qob2JqKS52aWV3ZXJWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdmlld2VyLmZpbmRJbnN0YW5jZU9iamVjdChvYmopLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAob2JqIGFzIERlc2lnbkJhc2VPYmplY3QpLmNsZWFyU3ZnKCk7XG4gICAgICB9XG4gICAgKTtcbiAgICBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLm1lbWJlck5vZGU/LmNoaWxkT2JqZWN0cy5mb3JFYWNoKFxuICAgICAgKG9iaikgPT4ge1xuICAgICAgICB2aWV3ZXIuZmluZEluc3RhbmNlT2JqZWN0KG9iaikudmlld2VyVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHZpZXdlci5maW5kSW5zdGFuY2VPYmplY3Qob2JqKS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgKG9iaiBhcyBEZXNpZ25CYXNlT2JqZWN0KS5jbGVhclN2ZygpO1xuICAgICAgfVxuICAgICk7XG4gICAgcHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5wbGF0ZU5vZGU/LmNoaWxkT2JqZWN0cy5mb3JFYWNoKFxuICAgICAgKG9iaikgPT4ge1xuICAgICAgICB2aWV3ZXIuZmluZEluc3RhbmNlT2JqZWN0KG9iaikudmlld2VyVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHZpZXdlci5maW5kSW5zdGFuY2VPYmplY3Qob2JqKS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgKG9iaiBhcyBEZXNpZ25CYXNlT2JqZWN0KS5jbGVhclN2ZygpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB2aWV3ZXIudmlld0ludGVyZmFjZU1hbmFnZXIubWVtYmVyTGluZVZpZXcoZmFsc2UpO1xuICAgIHZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5wbGF0ZUxpbmVWaWV3KGZhbHNlKTtcbiAgICAvLyDplZzlpLTlpI3kvY0uXG4gICAgaWYgKGlzU2V0Vmlld01vZGUpIHtcbiAgICAgIHZpZXdlci5zZXRWaWV3TW9kZShMb25nYW4uVmlld01vZGUuT0ZTSXNvLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog5Yi35paw5YWo6YOodmlld2VyLlxuICAgKi9cbiAgcmVkcmF3KCkge1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcztcbiAgICBwcm9jZXNzLnZpZXdlcnMuZm9yRWFjaCgodmkpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKFwidmlcIik7XG4gICAgICB2aS5leGVTY2VuZUNhbWVyYUNoYW5nZWQoXG4gICAgICAgIExvbmdhbi5Mb25nYW5Db3JlLkNhbWVyYUNoYW5nZVR5cGUuUm90YXRlIHxcbiAgICAgICAgICBMb25nYW4uTG9uZ2FuQ29yZS5DYW1lcmFDaGFuZ2VUeXBlLlNjYWxlIHxcbiAgICAgICAgICBMb25nYW4uTG9uZ2FuQ29yZS5DYW1lcmFDaGFuZ2VUeXBlLlRyYW5zbGF0ZVxuICAgICAgKTtcbiAgICAgIHZpLnVwZGF0ZURpc3BsYXkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmo4DmtYvmmK/lkKbmnInpmZDlhYPmqKHlnotcbiAgICovXG4gIGNoZWNrSXNGaW5pdGVFbGVtZW50KCkge1xuICAgIGxldCBpc0ZFID0gdHJ1ZTtcblxuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgbGV0IGdydXBOb2RlID0gdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuZ3J1cE5vZGU7XG4gICAgZ3J1cE5vZGU/LmNoaWxkT2JqZWN0cy5mb3JFYWNoKChncnVwKSA9PiB7XG4gICAgICBpZiAoZ3J1cCBpbnN0YW5jZW9mIEdydXBPYmplY3QpIHtcbiAgICAgICAgaWYgKGdydXAuZ3J1cFNlZ21lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBpc0ZFID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuIGlzRkU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKFwiaXNGRTpcIiwgaXNGRSk7XG4gICAgcmV0dXJuIGlzRkU7XG4gIH1cblxuICAvKipcbiAgICog5omT5byA546w5pyJ5qih5Z6LXG4gICAqIEBwYXJhbSBtb2RlbElkIOaooeWei0lkXG4gICAqIEBwYXJhbSBpc1JlcGxhY2Ug5piv5ZCm5riF6Zmkdmlld2Vy5bey5Yqg6L2955qE5pWw5o2uXG4gICAqL1xuICBvcGVuTW9kZWwobW9kZWxJZDogc3RyaW5nLCBpc1JlcGxhY2U6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgdmlld2VyID0gdGhpcy52aWV3ZXIgYXMgVmlld2VyO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHZpZXdlclxuICAgICAgICAubG9hZE1vZGVsKG1vZGVsSWQsIGlzUmVwbGFjZSlcbiAgICAgICAgLnRoZW4oKG1vZGVsKSA9PiB7XG4gICAgICAgICAgLy8g5riF56m65Y6G5Y+y5pON5L2cLlxuICAgICAgICAgIHZpZXdlci5wcm9jZXNzLmhpc3RvcnlNYW5hZ2VyLmNsZWFyRGVsdGFTdGF0ZSgpO1xuICAgICAgICAgIHZpZXdlci5zY2VuZVNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5jdWxsaW5nTWF4aW11bUV4dGVudCA9IDA7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyhcIm1vZGVsXCIsIG1vZGVsKTtcbiAgICAgICAgICBsZXQgcm8gPSB2aWV3ZXIucmVuZGVyT2JqZWN0O1xuICAgICAgICAgIGxldCBjYWVUYXNrID0gbmV3IENBRVRhc2socm8sIHZpZXdlcik7XG4gICAgICAgICAgY2FlVGFzay53b3JrUmVuZGVyT2JqZWN0U2VydmljZSA9IHJlbmRlck9iamVjdFNlcnZpY2U7XG4gICAgICAgICAgdmlld2VyLnByb2Nlc3MudGFza01hbmFnZXIuZXhlY3V0ZShjYWVUYXNrKTtcblxuICAgICAgICAgIHZpZXdlci5zdHJ1Y3R1cmVUcmVlTWFuYWdlci51cGRhdGUoKTtcbiAgICAgICAgICB2aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICAgICAgICAgIHZpZXdlci5zZXRWaWV3TW9kZShMb25nYW4uVmlld01vZGUuT0ZTSXNvLCB0cnVlKTtcblxuICAgICAgICAgIC8vIOivt+axguWQjuWkhOeQhuS9v+eUqOeahERC5pWw5o2uLlxuICAgICAgICAgIHZpZXdlci5wb3N0SW50ZXJmYWNlTWFuYWdlci5yZXF1ZXN0REJEYXRhKCk7XG5cbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgocmVhc29uKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJyZWFzb246XCIsIHJlYXNvbik7XG4gICAgICAgICAgTWVzc2FnZS5pbmZvKHJlYXNvbik7XG4gICAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIOajgOafpeaooeWei+aYr+WQpumcgOimgeS/neWtmCjkuZ/lsLHmmK/lr7nmr5TmqKHlnovlvZPliY3nirbmgIHkuI7ljp/lp4vnirbmgIHmmK/lkKblj5HnlJ/kuobmlLnlj5gpLlxuICAgKiBAcmV0dXJucyB0cnVlOumcgOimgeS/neWtmDtmYWxzZTrkuI3pnIDopoHkv53lrZguXG4gICAqL1xuICBjaGVja05lZWRTYXZlKCkge1xuICAgIC8vXG4gICAgbGV0IHJvb3RSTyA9ICh0aGlzLnZpZXdlci5wcm9jZXNzIGFzIGFueSkuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXJcbiAgICAgIC5yb290Tm9kZTtcbiAgICBpZiAocm9vdFJPIGluc3RhbmNlb2YgQ0FFTGlnaHRPYmplY3QpIHtcbiAgICAgIGxldCByZXN1bHQgPSBQZXJzaXN0ZW5jZU1hbmFnZXIuc2F2ZURlc2lnbihyb290Uk8pO1xuICAgICAgaWYgKFxuICAgICAgICByZXN1bHQuY3JlYXRlTGlzdC5sZW5ndGggPiAwIHx8XG4gICAgICAgIHJlc3VsdC5kZWxldGVMaXN0Lmxlbmd0aCA+IDAgfHxcbiAgICAgICAgcmVzdWx0LmVkaXRMaXN0Lmxlbmd0aCA+IDBcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICog5L+d5a2Y5b2T5YmN6aG555uuXG4gICAqL1xuICBzYXZlKCk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gbGV0IGZsYWcgPSB0aGlzLmNoZWNrTmVlZFNhdmUoKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IHJvb3RSTyA9ICh0aGlzLnZpZXdlci5wcm9jZXNzIGFzIGFueSkuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXJcbiAgICAgICAgLnJvb3ROb2RlO1xuICAgICAgaWYgKHJvb3RSTyBpbnN0YW5jZW9mIENBRUxpZ2h0T2JqZWN0KSB7XG4gICAgICAgIHJvb3RSTy5zYXZlKHRoaXMudmlld2VyKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICog5Y+m5a2Y5Y2h54mH5pWw5o2uXG4gICAqL1xuICBleHBvcnREQVRGaWxlKCkge1xuICAgIGNvbnNvbGUubG9nKFwiZXhwb3J0XCIpO1xuICAgIGxldCBkYXRDYXJkRGF0YSA9ICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLmRhdFdyaXRlck1hbmFnZXIuZXhwb3J0REFURmlsZSgpO1xuICAgIGRhdENhcmREYXRhICs9IFwiRU5EXCI7XG5cbiAgICByZXR1cm4gZGF0Q2FyZERhdGE7XG4gIH1cblxuICAvKipcbiAgICog5a+85Ye65p2G5Lu25pWw5o2uXG4gICAqIEBwYXJhbSBpc0V4cG9ydEFsbCB0cnVlOuWvvOWHuuWFqOmDqOadhuS7tuaVsOaNru+8m2ZhbHNlOuS7heWvvOWHuuaRhOWDj+acuuWGheeahOadhuS7tuaVsOaNrlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZXhwb3J0TWVtYmVyRGF0YShpc0V4cG9ydEFsbCA9IHRydWUpIHtcbiAgICBjb25zb2xlLmxvZyhcImV4cG9ydCBtZW1iZXJcIik7XG4gICAgbGV0IGRhdENhcmREYXRhID0gKHRoaXMudmlld2VyIGFzIFZpZXdlcikuZGF0V3JpdGVyTWFuYWdlci5leHBvcnRNZW1iZXJEYXRhKFxuICAgICAgaXNFeHBvcnRBbGxcbiAgICApO1xuICAgIGRhdENhcmREYXRhICs9IFwiRU5EXCI7XG5cbiAgICByZXR1cm4gZGF0Q2FyZERhdGE7XG4gIH1cblxuICAvKipcbiAgICog5a+85Ye65qGp5Z+65pWw5o2uXG4gICAqIEBwYXJhbSBpc0V4cG9ydEFsbCAgdHJ1ZTrlr7zlh7rlhajpg6jmoanln7rmlbDmja7vvJtmYWxzZTrku4Xlr7zlh7rmkYTlg4/mnLrlhoXnmoTmoanln7rmlbDmja5cbiAgICogQHJldHVybnNcbiAgICovXG4gIGV4cG9ydFBpbGVEYXRhKGlzRXhwb3J0QWxsID0gdHJ1ZSkge1xuICAgIGNvbnNvbGUubG9nKFwiZXhwb3J0IHBpbGVcIik7XG4gICAgbGV0IGRhdENhcmREYXRhID0gKHRoaXMudmlld2VyIGFzIFZpZXdlcikuZGF0V3JpdGVyTWFuYWdlci5leHBvcnRQaWxlRGF0YShcbiAgICAgIGlzRXhwb3J0QWxsXG4gICAgKTtcbiAgICBpZiAoZGF0Q2FyZERhdGEgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBkYXRDYXJkRGF0YSArPSBcIkVORFwiO1xuXG4gICAgcmV0dXJuIGRhdENhcmREYXRhO1xuICB9XG5cbiAgLy8gZXhwb3J0U2VjdGlvbkRhdGEoZGF0Q2FyZERhdGE6IHN0cmluZykge1xuICAvLyAgIGxldCB0dWJzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIlR1YlNlY3Rpb25PYmplY3RcIik7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0dWJzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBsZXQgb2JqID0gdHVic1tpXSBhcyBUdWJTZWN0aW9uT2JqZWN0O1xuICAvLyAgICAgaWYgKFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWxldGluZyB8fFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWFkXG4gIC8vICAgICApIHtcbiAgLy8gICAgICAgY29udGludWU7XG4gIC8vICAgICB9XG4gIC8vICAgICBsZXQgbGluZSA9IG9iai5zZXJpYWxpemVUb0NhcmQoKTtcbiAgLy8gICAgIGRhdENhcmREYXRhICs9IGxpbmUgKz0gXCJcXG5cIjtcbiAgLy8gICB9XG5cbiAgLy8gICBsZXQgd2ZzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIldGU2VjdGlvbk9iamVjdFwiKTtcbiAgLy8gICBmb3IgKGxldCBpID0gMDsgaSA8IHdmcy5sZW5ndGg7IGkrKykge1xuICAvLyAgICAgbGV0IG9iaiA9IHdmc1tpXSBhcyBXRlNlY3Rpb25PYmplY3Q7XG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nIHx8XG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlYWRcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBjb250aW51ZTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGxldCBsaW5lID0gb2JqLnNlcmlhbGl6ZVRvQ2FyZCgpO1xuICAvLyAgICAgZGF0Q2FyZERhdGEgKz0gbGluZSArPSBcIlxcblwiO1xuICAvLyAgIH1cblxuICAvLyAgIGxldCBib3hzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIkJveFNlY3Rpb25PYmplY3RcIik7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCBib3hzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBsZXQgb2JqID0gYm94c1tpXSBhcyBCb3hTZWN0aW9uT2JqZWN0O1xuICAvLyAgICAgaWYgKFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWxldGluZyB8fFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWFkXG4gIC8vICAgICApIHtcbiAgLy8gICAgICAgY29udGludWU7XG4gIC8vICAgICB9XG4gIC8vICAgICBsZXQgbGluZSA9IG9iai5zZXJpYWxpemVUb0NhcmQoKTtcbiAgLy8gICAgIGRhdENhcmREYXRhICs9IGxpbmUgKz0gXCJcXG5cIjtcbiAgLy8gICB9XG5cbiAgLy8gICBsZXQgcHJpcyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJQcmlTZWN0aW9uT2JqZWN0XCIpO1xuICAvLyAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJpcy5sZW5ndGg7IGkrKykge1xuICAvLyAgICAgbGV0IG9iaiA9IHByaXNbaV0gYXMgUHJpU2VjdGlvbk9iamVjdDtcbiAgLy8gICAgIGlmIChcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVsZXRpbmcgfHxcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVhZFxuICAvLyAgICAgKSB7XG4gIC8vICAgICAgIGNvbnRpbnVlO1xuICAvLyAgICAgfVxuICAvLyAgICAgbGV0IGxpbmUgPSBvYmouc2VyaWFsaXplVG9DYXJkKCk7XG4gIC8vICAgICBkYXRDYXJkRGF0YSArPSBsaW5lICs9IFwiXFxuXCI7XG4gIC8vICAgfVxuXG4gIC8vICAgbGV0IGNvbnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiQ29uU2VjdGlvbk9iamVjdFwiKTtcbiAgLy8gICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnMubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgIGxldCBvYmogPSBjb25zW2ldIGFzIENvblNlY3Rpb25PYmplY3Q7XG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nIHx8XG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlYWRcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBjb250aW51ZTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGxldCBsaW5lID0gb2JqLnNlcmlhbGl6ZVRvQ2FyZCgpO1xuICAvLyAgICAgZGF0Q2FyZERhdGEgKz0gbGluZSArPSBcIlxcblwiO1xuICAvLyAgIH1cblxuICAvLyAgIGxldCBjaGxzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIkNobFNlY3Rpb25PYmplY3RcIik7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGxzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBsZXQgb2JqID0gY2hsc1tpXSBhcyBDaGxTZWN0aW9uT2JqZWN0O1xuICAvLyAgICAgaWYgKFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWxldGluZyB8fFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWFkXG4gIC8vICAgICApIHtcbiAgLy8gICAgICAgY29udGludWU7XG4gIC8vICAgICB9XG4gIC8vICAgICBsZXQgbGluZSA9IG9iai5zZXJpYWxpemVUb0NhcmQoKTtcbiAgLy8gICAgIGRhdENhcmREYXRhICs9IGxpbmUgKz0gXCJcXG5cIjtcbiAgLy8gICB9XG5cbiAgLy8gICBsZXQgdGVlcyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJUZWVTZWN0aW9uT2JqZWN0XCIpO1xuICAvLyAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGVlcy5sZW5ndGg7IGkrKykge1xuICAvLyAgICAgbGV0IG9iaiA9IHRlZXNbaV0gYXMgVGVlU2VjdGlvbk9iamVjdDtcbiAgLy8gICAgIGlmIChcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVsZXRpbmcgfHxcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVhZFxuICAvLyAgICAgKSB7XG4gIC8vICAgICAgIGNvbnRpbnVlO1xuICAvLyAgICAgfVxuICAvLyAgICAgbGV0IGxpbmUgPSBvYmouc2VyaWFsaXplVG9DYXJkKCk7XG4gIC8vICAgICBkYXRDYXJkRGF0YSArPSBsaW5lICs9IFwiXFxuXCI7XG4gIC8vICAgfVxuXG4gIC8vICAgbGV0IGFuZ3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiQW5nU2VjdGlvbk9iamVjdFwiKTtcbiAgLy8gICBmb3IgKGxldCBpID0gMDsgaSA8IGFuZ3MubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgIGxldCBvYmogPSBhbmdzW2ldIGFzIEFuZ1NlY3Rpb25PYmplY3Q7XG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nIHx8XG4gIC8vICAgICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlYWRcbiAgLy8gICAgICkge1xuICAvLyAgICAgICBjb250aW51ZTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGxldCBsaW5lID0gb2JqLnNlcmlhbGl6ZVRvQ2FyZCgpO1xuICAvLyAgICAgZGF0Q2FyZERhdGEgKz0gbGluZSArPSBcIlxcblwiO1xuICAvLyAgIH1cblxuICAvLyAgIGxldCBkdGJzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIkR0YlNlY3Rpb25PYmplY3RcIik7XG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkdGJzLmxlbmd0aDsgaSsrKSB7XG4gIC8vICAgICBsZXQgb2JqID0gZHRic1tpXSBhcyBEdGJTZWN0aW9uT2JqZWN0O1xuICAvLyAgICAgaWYgKFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWxldGluZyB8fFxuICAvLyAgICAgICBvYmouYnVzaW5lc3NTdGF0ZSA9PT0gQnVzaW5lc3NTdGF0ZS5EZWFkXG4gIC8vICAgICApIHtcbiAgLy8gICAgICAgY29udGludWU7XG4gIC8vICAgICB9XG4gIC8vICAgICBsZXQgbGluZSA9IG9iai5zZXJpYWxpemVUb0NhcmQoKTtcbiAgLy8gICAgIGRhdENhcmREYXRhICs9IGxpbmUgKz0gXCJcXG5cIjtcbiAgLy8gICB9XG5cbiAgLy8gICBsZXQgcnRicyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJSdGJTZWN0aW9uT2JqZWN0XCIpO1xuICAvLyAgIGZvciAobGV0IGkgPSAwOyBpIDwgcnRicy5sZW5ndGg7IGkrKykge1xuICAvLyAgICAgbGV0IG9iaiA9IHJ0YnNbaV0gYXMgUnRiU2VjdGlvbk9iamVjdDtcbiAgLy8gICAgIGlmIChcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVsZXRpbmcgfHxcbiAgLy8gICAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVhZFxuICAvLyAgICAgKSB7XG4gIC8vICAgICAgIGNvbnRpbnVlO1xuICAvLyAgICAgfVxuICAvLyAgICAgbGV0IGxpbmUgPSBvYmouc2VyaWFsaXplVG9DYXJkKCk7XG4gIC8vICAgICBkYXRDYXJkRGF0YSArPSBsaW5lICs9IFwiXFxuXCI7XG4gIC8vICAgfVxuXG4gIC8vIGxldCBibGJzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcIkJibFNlY3Rpb25PYmplY3RcIik7XG4gIC8vIGZvciAobGV0IGkgPSAwOyBpIDwgYmxicy5sZW5ndGg7IGkrKykge1xuICAvLyAgIGxldCBvYmogPSBibGJzW2ldIGFzIEJsYlNlY3Rpb25PYmplY3Q7XG4gIC8vICAgaWYgKFxuICAvLyAgICAgb2JqLmJ1c2luZXNzU3RhdGUgPT09IEJ1c2luZXNzU3RhdGUuRGVsZXRpbmcgfHxcbiAgLy8gICAgIG9iai5idXNpbmVzc1N0YXRlID09PSBCdXNpbmVzc1N0YXRlLkRlYWRcbiAgLy8gICApIHtcbiAgLy8gICAgIGNvbnRpbnVlO1xuICAvLyAgIH1cbiAgLy8gICBsZXQgbGluZSA9IG9iai5zZXJpYWxpemVUb0NhcmQoKTtcbiAgLy8gICBkYXRDYXJkRGF0YSArPSBsaW5lICs9IFwiXFxuXCI7XG4gIC8vIH1cblxuICAvLyAgIHJldHVybiBkYXRDYXJkRGF0YTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiDlr7zlh7rmtbflhrXljaHniYfmlbDmja4uXG4gICAqL1xuICBleHBvcnREQVRGaWxlX1NlYWlucCgpIHtcbiAgICAvLyBjYXJkIGRhdGEgKyBybyAtPiBjYXJkXG4gICAgY29uc29sZS5sb2coXCJleHBvcnRfc2VhaW5wXCIpO1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgbGV0IGRhdENhcmREYXRhID0gdmlld2VyLmRhdFdyaXRlck1hbmFnZXIuZXhwb3J0REFURmlsZV9TZWFpbnAoKTtcbiAgICBkYXRDYXJkRGF0YSArPSBcIkVORFwiO1xuXG4gICAgcmV0dXJuIGRhdENhcmREYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIOWvvOWHuuaooeWei+WNoeeJh+aVsOaNri5cbiAgICovXG4gIGV4cG9ydERBVEZpbGVfU2FjaW5wKCkge1xuICAgIC8vXG4gICAgY29uc29sZS5sb2coXCJleHBvcnRfc2FjaW5wXCIpO1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgbGV0IGRhdENhcmREYXRhID0gdmlld2VyLmRhdFdyaXRlck1hbmFnZXIuZXhwb3J0REFURmlsZV9TYWNpbnAoKTtcbiAgICBkYXRDYXJkRGF0YSArPSBcIkVORFwiO1xuXG4gICAgcmV0dXJuIGRhdENhcmREYXRhO1xuICB9XG5cbiAgLy8g5a+85YWlREFUXG4gIGltcG9ydERBVERhdGEoY29udGVudDogc3RyaW5nLCBvdmVyV3JpdGU6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGNvbnNvbGUubG9nKFwiaW1wb3J0REFURGF0YVwiLGNvbnRlbnQpO1xuICAgICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLmRhdFJlYWRlck1hbmFnZXIuaW1wb3J0REFURGF0YShjb250ZW50LCBvdmVyV3JpdGUpO1xuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgLy8g5a+85YWl5rW35Ya15paH5Lu2XG4gIGltcG9ydFNFQURhdGEoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zb2xlLmxvZyhcImltcG9ydFNFQURhdGFcIik7XG4gICAgbGV0IHJvID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlUeXBlKFwiU2Vhc3RhdGVMZG9wdFwiKTtcbiAgICBpZiAocm8pIHtcbiAgICAgIGxldCBtZXNzYWdlID0gXCLlt7Lnu4/lrZjlnKjmtbflhrXmlbDmja5cIjtcbiAgICAgIE1lc3NhZ2UuZXJyb3IobWVzc2FnZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLmRhdFJlYWRlck1hbmFnZXIuaW1wb3J0U2VhaW5wRGF0YShjb250ZW50KTtcblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICAodGhpcy52aWV3ZXIgYXMgVmlld2VyKS5zdHJ1Y3R1cmVUcmVlTWFuYWdlci51cGRhdGUoKTtcbiAgICByZXR1cm4gXCJpbXBvcnRTRUFEYXRhIHN1Y2Nlc3NmdWxcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiDlr7zlhaXlkI7lpITnkIZzZWFvY2nmlofku7bvvIzku4Xop6PmnpDojbfovb3mlbDmja5cbiAgICogQHBhcmFtIGNvbnRlbnRcbiAgICovXG4gIGltcG9ydFNlYW9jaURhdGEoY29udGVudDogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coXCJpbXBvcnRTZWFvY2lEYXRhXCIpO1xuICAgICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLmRhdFJlYWRlck1hbmFnZXIuaW1wb3J0U2Vhb2NpRGF0YShjb250ZW50KTtcblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICAodGhpcy52aWV3ZXIgYXMgVmlld2VyKS5zdHJ1Y3R1cmVUcmVlTWFuYWdlci51cGRhdGUoKTtcbiAgICByZXR1cm4gXCJpbXBvcnRTZWFvY2lEYXRhIHN1Y2Nlc3NmdWxcIjtcbiAgfVxuXG4gIC8vIOWvvOWFpeahqeWcn+aVsOaNrlxuICBpbXBvcnRQU0lEYXRhKGNvbnRlbnQ6IHN0cmluZykge1xuICAgIGNvbnNvbGUubG9nKFwiaW1wb3J0UFNJRGF0YVwiKTtcbiAgICAodGhpcy52aWV3ZXIgYXMgVmlld2VyKS5kYXRSZWFkZXJNYW5hZ2VyLmltcG9ydFBTSURhdGEoY29udGVudCk7XG5cbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gICAgKHRoaXMudmlld2VyIGFzIFZpZXdlcikuc3RydWN0dXJlVHJlZU1hbmFnZXIudXBkYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICog5Y6G5Y+y5Zue6YCAXG4gICAqL1xuICBoaXN0b3J5QmFjaygpIHtcbiAgICBpZiAoUHJvY2Vzcy5hY3RpdmVQcm9jZXNzLmhpc3RvcnlNYW5hZ2VyLmNhblJvbGxCYWNrKSB7XG4gICAgICBQcm9jZXNzLmFjdGl2ZVByb2Nlc3MuaGlzdG9yeU1hbmFnZXIucm9sbEJhY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog5Y6G5Y+y6YeN5YGaXG4gICAqL1xuICBoaXN0b3J5Rm9yd2FyZCgpIHtcbiAgICBpZiAoUHJvY2Vzcy5hY3RpdmVQcm9jZXNzLmhpc3RvcnlNYW5hZ2VyLmNhblJvbGxGb3J3YXJkKSB7XG4gICAgICBQcm9jZXNzLmFjdGl2ZVByb2Nlc3MuaGlzdG9yeU1hbmFnZXIucm9sbEZvcndhcmQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog5oyJ5b2T5YmN5r+A5rS755qE6YCJ5oup6L+H5ruk5Zmo57G75Z6L77yM6YCJ5Lit5bm257qi6Imy6auY5Lqu5b2T5YmN6KeG5Y+j5Lit5pi+56S655qE5omA5pyJ5a+55bqU5Yeg5L2V5YWD57SgXG4gICAqL1xuICBzZWxlY3RBbGwoKSB7XG4gICAgLy9cbiAgICBsZXQgdmlld2VyID0gdGhpcy52aWV3ZXIgYXMgVmlld2VyO1xuICAgIHZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgc3dpdGNoICh2aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlcikge1xuICAgICAgLy9cbiAgICAgIGNhc2UgU2VsZWN0b3JGaWxpdGVyLkpvaW50OlxuICAgICAgICB0aGlzLnNlbGVjdEFsbEpvaW50cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2VsZWN0b3JGaWxpdGVyLk1lbWJlcjpcbiAgICAgICAgdGhpcy5zZWxlY3RBbGxNZW1iZXJzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTZWxlY3RvckZpbGl0ZXIuUGxhdGU6XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsUGxhdGVzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTZWxlY3RvckZpbGl0ZXIuQWxsOlxuICAgICAgICB0aGlzLnNlbGVjdEFsbEpvaW50cygpO1xuICAgICAgICB0aGlzLnNlbGVjdEFsbE1lbWJlcnMoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RBbGxQbGF0ZXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgLy8g5omT5byA57yW6L6R5ZmoXG5cbiAgLyoqXG4gICAqIOWIm+W7uuinhueCuSjlr7nlvZPliY3op4blj6PmiKrlm74pXG4gICAqIEBwYXJhbSB2aWV3UG9pbnROYW1lIOinhueCueWQjVxuICAgKi9cbiAgY3JlYXRlVmlld1BvaW50KHZpZXdQb2ludE5hbWU6IHN0cmluZykge1xuICAgIC8vIOWIm+W7uuinhueCuVxuICAgICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLmNhZVBhbmVsTWFuYWdlci52aWV3UG9pbnRQYW5lbENhZVxuICAgICAgLmFkZFZpZXdQb2ludCh2aWV3UG9pbnROYW1lKVxuICAgICAgLnRoZW4oKCkgPT4ge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RBbGxKb2ludHMoKSB7XG4gICAgbGV0IGpvaW50cyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJKb2ludE9iamVjdFwiKTtcbiAgICBsZXQga2V5cyA9IG5ldyBBcnJheTxudW1iZXI+KCk7XG4gICAgbGV0IHBhdGhzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgIGpvaW50cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBrZXlzLnB1c2goaXRlbS5zZWdtZW50LmtleSk7XG4gICAgICBwYXRocy5wdXNoKGl0ZW0uc2VnbWVudC5wYXRoKTtcbiAgICB9KTtcbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoa2V5cywgcGF0aHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RBbGxNZW1iZXJzKCkge1xuICAgIC8vXG4gICAgbGV0IG1lbWJlcnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiTWVtYmVyT2JqZWN0XCIpO1xuICAgIGxldCBrZXlzID0gbmV3IEFycmF5PG51bWJlcj4oKTtcbiAgICBsZXQgcGF0aHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgbWVtYmVycy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBrZXlzLnB1c2goaXRlbS5zZWdtZW50LmtleSk7XG4gICAgICBwYXRocy5wdXNoKGl0ZW0uc2VnbWVudC5wYXRoKTtcbiAgICB9KTtcbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoa2V5cywgcGF0aHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RBbGxQbGF0ZXMoKSB7XG4gICAgbGV0IHBsYXRlcyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJQbGF0ZU9iamVjdFwiKTtcbiAgICBsZXQga2V5cyA9IG5ldyBBcnJheTxudW1iZXI+KCk7XG4gICAgbGV0IHBhdGhzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgIHBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBrZXlzLnB1c2goaXRlbS5zZWdtZW50LmtleSk7XG4gICAgICBwYXRocy5wdXNoKGl0ZW0uc2VnbWVudC5wYXRoKTtcbiAgICB9KTtcbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoa2V5cywgcGF0aHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIOafpeaJvuW3suaYvuekuueahOepuumXtOeCuVxuICAgKiBAcGFyYW0gam9pbnROYW1lIOepuumXtOeCueWQjeWtl1xuICAgKi9cbiAgZmluZEpvaW50KGpvaW50TmFtZTogc3RyaW5nKTogSm9pbnRPYmplY3Qge1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcyBhcyBQcm9jZXNzO1xuICAgIGxldCBybyA9IHByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLmpvaW50Tm9kZSBhcyBEZXNpZ25CYXNlT2JqZWN0LFxuICAgICAgam9pbnROYW1lXG4gICAgKTtcbiAgICBpZiAocm8gJiYgcm8gaW5zdGFuY2VvZiBKb2ludE9iamVjdCkge1xuICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgICAgdGhpcy52aWV3ZXIubG9jYXRlV29ybGQocm8uc2VnbWVudCk7XG4gICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoXG4gICAgICAgIFtyby5zZWdtZW50LmtleV0sXG4gICAgICAgIFtyby5zZWdtZW50LnBhdGhdXG4gICAgICApO1xuICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgICByZXR1cm4gcm87XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDph43lkb3lkI3nqbrpl7TngrlcbiAgICogQHBhcmFtIG9yaWdpbkpvaW50TmFtZSDljp/lp4vngrnlkI3np7BcbiAgICogQHBhcmFtIG5ld0pvaW50TmFtZSDmlrDnmoTngrnlkI3np7BcbiAgICogQHJldHVybnMg6L+U5Zue6YeN5ZG95ZCN55qE57uT5p6c5o+Q56S6XG4gICAqL1xuICByZW5hbWVKb2ludChcbiAgICBvcmlnaW5Kb2ludE5hbWU6IHN0cmluZyxcbiAgICBuZXdKb2ludE5hbWU6IHN0cmluZyxcbiAgICB1c2VOZXh0QXZhbGlhYmxlOiBib29sZWFuXG4gICkge1xuICAgIC8vXG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzIGFzIFByb2Nlc3M7XG5cbiAgICBsZXQgcmVzdWx0ID0ge307XG4gICAgaWYgKCFKb2ludE9iamVjdC5jaGVja05hbWVsZWdhbChuZXdKb2ludE5hbWUpKSB7XG4gICAgICByZXN1bHQgPSAzO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBsZXQgam9pbnROb2RlID0gcHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5qb2ludE5vZGU7XG4gICAgbGV0IHJvID0gcHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgIGpvaW50Tm9kZSxcbiAgICAgIG9yaWdpbkpvaW50TmFtZVxuICAgICk7XG4gICAgaWYgKHJvICYmIHJvIGluc3RhbmNlb2YgSm9pbnRPYmplY3QpIHtcbiAgICAgIGlmICghdXNlTmV4dEF2YWxpYWJsZSkge1xuICAgICAgICBsZXQgbmV3TmFtZVJPID0gcHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgICAgICBqb2ludE5vZGUsXG4gICAgICAgICAgbmV3Sm9pbnROYW1lXG4gICAgICAgICk7XG4gICAgICAgIGlmIChuZXdOYW1lUk8pIHtcbiAgICAgICAgICByZXN1bHQgPSAzICsgXCIsXCIgKyBuZXdKb2ludE5hbWU7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3Sm9pbnROYW1lID0gcHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5uYW1lQXNjZW5kaW5nT3JkZXIoXG4gICAgICAgICAgbmV3Sm9pbnROYW1lLFxuICAgICAgICAgIDEsXG4gICAgICAgICAgcHJvY2Vzcy5uYW1lTWFwSm9pbnRcbiAgICAgICAgKVswXTtcbiAgICAgIH1cblxuICAgICAgcm8ubmFtZSA9IG5ld0pvaW50TmFtZTtcbiAgICAgIC8vIHJvLmlzRHJhd05hbWUgPSB0cnVlO1xuICAgICAgcm8uc2V0TmVlZFVwZGF0ZSgpO1xuICAgICAgLy8gc3VjY2Vzc2Z1bFxuICAgICAgcmVzdWx0ID0gMiArIFwiLFwiICsgb3JpZ2luSm9pbnROYW1lICsgXCIsXCIgKyBuZXdKb2ludE5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IDEgKyBcIixcIiArIG9yaWdpbkpvaW50TmFtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIOafpeaJvuW3suaYvuekuueahOadhuS7tlxuICAgKiBAcGFyYW0gbWVtYmVyTmFtZSDmnYbku7blkI3lrZdcbiAgICovXG4gIGZpbmRNZW1iZXIobWVtYmVyTmFtZTogc3RyaW5nKTogTWVtYmVyT2JqZWN0IHtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcblxuICAgIGxldCBybyA9IHByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICBwcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLm1lbWJlck5vZGUgYXMgRGVzaWduQmFzZU9iamVjdCxcbiAgICAgIG1lbWJlck5hbWVcbiAgICApO1xuICAgIGlmIChybyAmJiBybyBpbnN0YW5jZW9mIE1lbWJlck9iamVjdCkge1xuICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgICAgdGhpcy52aWV3ZXIubG9jYXRlV29ybGQocm8uc2VnbWVudCk7XG4gICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoXG4gICAgICAgIFtyby5zZWdtZW50LmtleV0sXG4gICAgICAgIFtyby5zZWdtZW50LnBhdGhdXG4gICAgICApO1xuICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgICByZXR1cm4gcm87XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDpgJrov4fmnYbku7blkI3np7Dnu4Tpq5jkuq7mnYbku7ZcbiAgICogQHBhcmFtIG5hbWVzXG4gICAqL1xuICBoaWdobGlnaHRNZW1iZXJCeU5hbWVzKG5hbWVzOiBzdHJpbmdbXSkge1xuICAgIC8vXG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzIGFzIFByb2Nlc3M7XG5cbiAgICBsZXQga2V5cyA9IFtdO1xuICAgIGxldCBwYXRocyA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IG9iaiA9IHByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICAgIHByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZSxcbiAgICAgICAgbmFtZXNbaV1cbiAgICAgICk7XG5cbiAgICAgIGlmIChvYmopIHtcbiAgICAgICAga2V5cy5wdXNoKG9iai5zZWdtZW50LmtleSk7XG4gICAgICAgIHBhdGhzLnB1c2gob2JqLnNlZ21lbnQucGF0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZyhcIuaJvuS4jeWIsFwiICsgbmFtZXNbaV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoa2V5cywgcGF0aHMpO1xuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDpgJrov4fmnb/lkI3np7Dnu4Tpq5jkuq7mnb8uXG4gICAqIEBwYXJhbSBuYW1lc1xuICAgKi9cbiAgaGlnaGxpZ2h0UGxhdGVCeU5hbWVzKG5hbWVzOiBzdHJpbmdbXSkge1xuICAgIC8vXG4gICAgbGV0IGtleXMgPSBbXTtcbiAgICBsZXQgcGF0aHMgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBvYmogPSAoXG4gICAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2Vzc1xuICAgICAgKS5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgICAgKHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcykuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIucGxhdGVOb2RlLFxuICAgICAgICBuYW1lc1tpXVxuICAgICAgKTtcblxuICAgICAgaWYgKG9iaikge1xuICAgICAgICBrZXlzLnB1c2gob2JqLnNlZ21lbnQua2V5KTtcbiAgICAgICAgcGF0aHMucHVzaChvYmouc2VnbWVudC5wYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwi5om+5LiN5YiwXCIgKyBuYW1lc1tpXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0S2V5cyhrZXlzLCBwYXRocyk7XG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOafpeaJvuW3suaYvuekuueahOadv1xuICAgKiBAcGFyYW0gcGxhdGVOYW1lIOadv+WQjeensFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZmluZFBsYXRlKHBsYXRlTmFtZTogc3RyaW5nKSB7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzIGFzIFByb2Nlc3M7XG5cbiAgICBsZXQgcm8gPSBwcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgcHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5wbGF0ZU5vZGUgYXMgRGVzaWduQmFzZU9iamVjdCxcbiAgICAgIHBsYXRlTmFtZVxuICAgICk7XG4gICAgaWYgKHJvICYmIHJvIGluc3RhbmNlb2YgUGxhdGVPYmplY3QpIHtcbiAgICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcbiAgICAgIHRoaXMudmlld2VyLmxvY2F0ZVdvcmxkKHJvLnNlZ21lbnQpO1xuICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RBbmRIaWdobGlnaHRLZXlzKFxuICAgICAgICBbcm8uc2VnbWVudC5rZXldLFxuICAgICAgICBbcm8uc2VnbWVudC5wYXRoXVxuICAgICAgKTtcbiAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgICAgcmV0dXJuIHJvO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyAvKipcbiAgLy8gICog6L+U5ZueQ0FF57uT5p6E5qCR55qE5pWw5o2uLlxuICAvLyAgKiBAcmV0dXJuc1xuICAvLyAgKi9cbiAgLy8gZ2V0U3RydWN0dXJlVHJlZURhdGEoKTogc3RyaW5nIHtcbiAgLy8gICAvL1xuICAvLyAgIGxldCByb290Tm9kZSA9ICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXJcbiAgLy8gICAgIC5yb290Tm9kZTtcbiAgLy8gICBsZXQgbW9kZWxEYXRhID0gSlNPTi5zdHJpbmdpZnkoXG4gIC8vICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLnBlcnNpc3RlbmNlTWFuYWdlci5zYXZlKHJvb3ROb2RlKVxuICAvLyAgICk7XG4gIC8vICAgcmV0dXJuIG1vZGVsRGF0YTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiDov5Tlm55DQUXnu5PmnoTmoJHnmoTmlbDmja4uXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRTdHJ1Y3R1cmVUcmVlRGF0YSgpIHtcbiAgICAvL1xuICAgIGxldCByb290Tm9kZSA9ICh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLnN0cnVjdHVyZVRyZWVNYW5hZ2VyLnJvb3ROb2RlO1xuICAgIHJldHVybiByb290Tm9kZTtcbiAgfVxuXG4gIGdldE1lbWJlckdydXBzKCkge1xuICAgIC8vIOadhuS7tuaIqumdoue7hOWQjeWtl+WIl+ihqFxuICAgIGxldCBncnVwTmFtZUxpc3QgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgbGV0IGdydXBPYmplY3RHcm91cCA9XG4gICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXCLmnYbku7bmiKrpnaLnu4RcIik7XG4gICAgaWYgKGdydXBPYmplY3RHcm91cCkge1xuICAgICAgZ3J1cE9iamVjdEdyb3VwLmNoaWxkT2JqZWN0cy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgZ3J1cE5hbWVMaXN0LnB1c2goaXRlbS5uYW1lKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBncnVwTmFtZUxpc3Q7XG4gIH1cblxuICAvKipcbiAgICog57uT5p6E5qCR5re75Yqg6IqC54K5LlxuICAgKi9cbiAgYWRkU3RydWN0dXJlTm9kZShwYXJlbnQ6IExvbmdhbi5SZW5kZXJPYmplY3QsIHJvOiBEZXNpZ25CYXNlT2JqZWN0KSB7XG4gICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QocGFyZW50LCBybyk7XG4gIH1cblxuICAvKipcbiAgICog57uT5p6E5qCR5re75Yqg6IqC54K5LlxuICAgKi9cbiAgcmVtb3ZlU3RydWN0dXJlTm9kZShybzogRGVzaWduQmFzZU9iamVjdCkge1xuICAgIHRoaXMudmlld2VyLnByb2Nlc3MucmVtb3ZlUmVuZGVyT2JqZWN0KHJvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rmtbfnlJ/nianljprluqbmjInpq5jnqIvliIboibLlr7nosaFcbiAgICogQHJldHVybnNcbiAgICovXG4gIGNyZWF0ZU1ncm92T2JqZWN0KCkge1xuICAgIGxldCBtZ3JvdiA9IG5ldyBNZ3Jvdk9iamVjdCgpO1xuICAgIHJldHVybiBtZ3JvdjtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rohZDomoDkvZnph4/mjInpq5jnqIvliIboibLlr7nosaFcbiAgICogQHJldHVybnNcbiAgICovXG4gIGNyZWF0ZUNvcnJ6T2JqZWN0KCkge1xuICAgIGxldCBjb3JyeiA9IG5ldyBDb3Jyek9iamVjdCgpO1xuICAgIHJldHVybiBjb3JyejtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJDaGlsZE9iamVjdHModmlld2VyOiBWaWV3ZXIsIHJvOiBMb25nYW4uUmVuZGVyT2JqZWN0KSB7XG4gICAgaWYgKHJvKSB7XG4gICAgICB3aGlsZSAocm8uY2hpbGRPYmplY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdmlld2VyLnByb2Nlc3MucmVtb3ZlUmVuZGVyT2JqZWN0KHJvLmNoaWxkT2JqZWN0c1swXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g5riF6Zmk5Zy65pmv5qih5Z6L5pWw5o2uXG4gIGNsZWFyQ2FlUmVuZGVyT2JqZWN0KHZpZXdlcjogVmlld2VyKSB7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLm1lbWJlck5vZGVcbiAgICApO1xuICAgIHRoaXMuY2xlYXJDaGlsZE9iamVjdHMoXG4gICAgICB2aWV3ZXIsXG4gICAgICB2aWV3ZXIucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5wbGF0ZU5vZGVcbiAgICApO1xuICAgIHRoaXMuY2xlYXJDaGlsZE9iamVjdHMoXG4gICAgICB2aWV3ZXIsXG4gICAgICB2aWV3ZXIucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5qb2ludE5vZGVcbiAgICApO1xuICAgIHRoaXMuY2xlYXJDaGlsZE9iamVjdHMoXG4gICAgICB2aWV3ZXIsXG4gICAgICB2aWV3ZXIucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5ncnVwTm9kZVxuICAgICk7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnBHcnVwTm9kZVxuICAgICk7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnNlY3Rpb25JbnNOb2RlXG4gICAgKTtcbiAgICB0aGlzLmNsZWFyQ2hpbGRPYmplY3RzKFxuICAgICAgdmlld2VyLFxuICAgICAgdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuc2FjaW5wTm9kZVxuICAgICk7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnNlYXN0YXRlTm9kZVxuICAgICk7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnBpbGVOb2RlXG4gICAgKTtcbiAgICB0aGlzLmNsZWFyQ2hpbGRPYmplY3RzKFxuICAgICAgdmlld2VyLFxuICAgICAgdmlld2VyLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIucGxHcnVwTm9kZVxuICAgICk7XG4gICAgdGhpcy5jbGVhckNoaWxkT2JqZWN0cyhcbiAgICAgIHZpZXdlcixcbiAgICAgIHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnBvc3RSZXN1bHROb2RlXG4gICAgKTtcbiAgfVxuXG4gIC8vIOaMieaIqumdoue7hOWQjeWIhuiJsuW8gOWFs1xuICBwcml2YXRlIGNvbG9yRGl2U3dpdGNoX0dydXBOYW1lKG9uX29mZjogYm9vbGVhbiwgaXNVcGRhdGUgPSB0cnVlKSB7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3M7XG5cbiAgICBsZXQgY29sb3JEaXZpZGVSTyA9IHByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5TmFtZShcbiAgICAgIFwi5oyJ5oiq6Z2i57uE5Y+35YiG6ImyXCJcbiAgICApIGFzIEN1dGxpbmVHcnVwSWRPYmplY3Q7XG4gICAgaWYgKGNvbG9yRGl2aWRlUk8pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sb3JEaXZpZGVSTy5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG9iaiA9IGNvbG9yRGl2aWRlUk8uY2hpbGRPYmplY3RzW2ldIGFzIENvbG9yRGl2R3J1cElkT2JqZWN0O1xuXG4gICAgICAgIGlmIChvYmouY2hlY2tCdXNpbmVzc1N0YXRlSXNBY3RpdmUoKSkge1xuICAgICAgICAgIGlmIChvbl9vZmYpIHtcbiAgICAgICAgICAgIG9iai5hY3RpdmUodmlld2VyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2JqLmluYWN0aXZlKHZpZXdlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChvbl9vZmYpIHtcbiAgICAgICAgbGV0IGN1dGxpbmUgPSB7fTtcblxuICAgICAgICBpZiAoY29sb3JEaXZpZGVSTykge1xuICAgICAgICAgIExlZ2VuZE1hbmFnZS5kZXN0b3J5KHRoaXMuZWxlbWVudEtleSk7XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJcIik7XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiXCIpO1xuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFwiLCB7fSk7XG4gICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY3V0bGluZSA9IGNvbG9yRGl2aWRlUk8uZ2V0Q3V0bGluZSgpO1xuICAgICAgICAgIGxldCBjb21wb25lbnQgPSBMZWdlbmRNYW5hZ2UuY3JlYXRlKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50S2V5LFxuICAgICAgICAgICAgY3V0bGluZSxcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHRoaXMuc2hvd0VuZ2xpc2hUZXh0KSB7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIkNvbG9yZWQgQnkgTWVtYmVyIEdyb3Vwc1wiO1xuICAgICAgICAgICAgY29tcG9uZW50LmxlZnRUZXh0ID0gXCJDb2xvclwiO1xuICAgICAgICAgICAgY29tcG9uZW50LnJpZ2h0VGV4dCA9IFwiTWVtYmVyIEdyb3Vwc1wiO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJDb2xvcmVkIEJ5IE1lbWJlciBHcm91cHNcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRMZWZ0VGV4dFwiLCBcIkNvbG9yXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiTWVtYmVyIEdyb3Vwc1wiKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tcG9uZW50LnRpdGxlID0gXCLmiKrpnaLnu4TliIboibJcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5sZWZ0VGV4dCA9IFwi6aKc6ImyXCI7XG4gICAgICAgICAgICBjb21wb25lbnQucmlnaHRUZXh0ID0gXCLmiKrpnaLnu4TlkI1cIjtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwi5oiq6Z2i57uE5YiG6ImyXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kTGVmdFRleHRcIiwgXCLpopzoibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCLmiKrpnaLnu4TlkI1cIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vICAgc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIGN1dGxpbmUpO1xuICAgICAgICAgIC8vIH0sIDIwKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJcIik7XG4gICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzVXBkYXRlKSB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICBwcml2YXRlIGNvbG9yRGl2U3dpdGNoX0dydXBUaGlja25lc3Mob25fb2ZmOiBib29sZWFuLCBpc1VwZGF0ZSA9IHRydWUpIHtcbiAgICBsZXQgdmlld2VyID0gdGhpcy52aWV3ZXIgYXMgVmlld2VyO1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcztcblxuICAgIGxldCBjb2xvckRpdmlkZVJPID0gcHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLmjInmiKrpnaLlo4HljprliIboibJcIlxuICAgICkgYXMgQ3V0bGluZUdydXBUaGlja25lc3NPYmplY3Q7XG4gICAgaWYgKGNvbG9yRGl2aWRlUk8pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sb3JEaXZpZGVSTy5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG9iaiA9IGNvbG9yRGl2aWRlUk8uY2hpbGRPYmplY3RzW2ldIGFzIENvbG9yRGl2R3J1cFRoaWNrbmVzc09iamVjdDtcbiAgICAgICAgaWYgKG9iai5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICAgICAgb2JqLmFjdGl2ZSh2aWV3ZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYmouaW5hY3RpdmUodmlld2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICBsZXQgY3V0bGluZSA9IHt9O1xuICAgICAgICBpZiAoY29sb3JEaXZpZGVSTykge1xuICAgICAgICAgIExlZ2VuZE1hbmFnZS5kZXN0b3J5KHRoaXMuZWxlbWVudEtleSk7XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCJcIik7XG4gICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY3V0bGluZSA9IGNvbG9yRGl2aWRlUk8uZ2V0Q3V0bGluZSgpO1xuICAgICAgICAgIGxldCBjb21wb25lbnQgPSBMZWdlbmRNYW5hZ2UuY3JlYXRlKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50S2V5LFxuICAgICAgICAgICAgY3V0bGluZSxcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHRoaXMuc2hvd0VuZ2xpc2hUZXh0KSB7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIkNvbG9yZWQgQnkgVGhpY2tuZXNzXCI7XG4gICAgICAgICAgICBjb21wb25lbnQubGVmdFRleHQgPSBcIkNvbG9yXCI7XG4gICAgICAgICAgICBjb21wb25lbnQucmlnaHRUZXh0ID0gXCJUaGlja25lc3MoY20pXCI7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIkNvbG9yZWQgQnkgVGhpY2tuZXNzXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kTGVmdFRleHRcIiwgXCJDb2xvclwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlRoaWNrbmVzcyhjbSlcIik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbXBvbmVudC50aXRsZSA9IFwi5aOB5Y6a5YiG6ImyXCI7XG4gICAgICAgICAgICBjb21wb25lbnQubGVmdFRleHQgPSBcIuminOiJslwiO1xuICAgICAgICAgICAgY29tcG9uZW50LnJpZ2h0VGV4dCA9IFwi5aOB5Y6aKGNtKVwiO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCLlo4HljprliIboibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRMZWZ0VGV4dFwiLCBcIuminOiJslwiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIuWjgeWOmihjbSlcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFwiLCBjdXRsaW5lKTtcbiAgICAgICAgICAvLyB9LCAyMCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFwiLCB7fSk7XG4gICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwiXCIpO1xuICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCJcIik7XG4gICAgICAgIExlZ2VuZE1hbmFnZS5kZXN0b3J5KHRoaXMuZWxlbWVudEtleSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChpc1VwZGF0ZSkgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xvcmREaXZTd2l0Y2hfTWdyb3Yob25fb2ZmOiBib29sZWFuLCBpc1VwZGF0ZSA9IHRydWUpIHtcbiAgICBsZXQgdmlld2VyID0gdGhpcy52aWV3ZXIgYXMgVmlld2VyO1xuICAgIGxldCBwcm9jZXNzID0gdGhpcy52aWV3ZXIucHJvY2VzcztcblxuICAgIGxldCBjb2xvckRpdmlkZVJPID0gcHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLmtbfnlJ/nianljprluqbmjInpq5jnqIvliIboibJcIlxuICAgICkgYXMgRGVzaWduQmFzZU9iamVjdDtcbiAgICBpZiAoY29sb3JEaXZpZGVSTyAmJiBjb2xvckRpdmlkZVJPLmNoZWNrQnVzaW5lc3NTdGF0ZUlzQWN0aXZlKCkpIHtcbiAgICAgIGxldCBvYmogPSBjb2xvckRpdmlkZVJPIGFzIENvbG9yRGl2TUdST1ZPYmplY3Q7XG5cbiAgICAgIGlmIChvbl9vZmYpIHtcbiAgICAgICAgb2JqLmFjdGl2ZSh2aWV3ZXIpO1xuXG4gICAgICAgIGxldCBjdXRsaW5lID0ge307XG4gICAgICAgIGlmIChjb2xvckRpdmlkZVJPKSB7XG4gICAgICAgICAgbGV0IG9iaiA9IGNvbG9yRGl2aWRlUk8gYXMgQ29sb3JEaXZNR1JPVk9iamVjdDtcbiAgICAgICAgICBsZXQgdGhpY2tuZXNzSW5kZXggPSAwO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqLmhlaWdodExpc3QubGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgICAgICAgIGxldCBib3R0b20gPSBvYmouaGVpZ2h0TGlzdFtpXTtcbiAgICAgICAgICAgIGxldCB0b3AgPSBvYmouaGVpZ2h0TGlzdFtpICsgMV07XG4gICAgICAgICAgICBsZXQga2V5ID0gYm90dG9tICsgXCJ+XCIgKyB0b3AgKyBcIu+8mlwiICsgb2JqLnRoaWNrbmVzc1t0aGlja25lc3NJbmRleF07XG5cbiAgICAgICAgICAgIGxldCBjb2xvciA9IFtcbiAgICAgICAgICAgICAgb2JqLmNvbG9yWyhpIC8gMikgKiA0ICsgMF0sXG4gICAgICAgICAgICAgIG9iai5jb2xvclsoaSAvIDIpICogNCArIDFdLFxuICAgICAgICAgICAgICBvYmouY29sb3JbKGkgLyAyKSAqIDQgKyAyXSxcbiAgICAgICAgICAgICAgb2JqLmNvbG9yWyhpIC8gMikgKiA0ICsgM10sXG4gICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICBpZiAoY29sb3JbMF0gPT09IC0xICYmIGNvbG9yWzFdID09PSAtMSAmJiBjb2xvclsyXSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvclswXSAqPSAyNTU7XG4gICAgICAgICAgICBjb2xvclsxXSAqPSAyNTU7XG4gICAgICAgICAgICBjb2xvclsyXSAqPSAyNTU7XG5cbiAgICAgICAgICAgIGN1dGxpbmVba2V5XSA9IGNvbG9yO1xuICAgICAgICAgICAgdGhpY2tuZXNzSW5kZXgrKztcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCJcIik7XG4gICAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcbiAgICAgICAgICBsZXQgY29tcG9uZW50ID0gTGVnZW5kTWFuYWdlLmNyZWF0ZShcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudEtleSxcbiAgICAgICAgICAgIGN1dGxpbmUsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgIFwiXCJcbiAgICAgICAgICApO1xuICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnNob3dFbmdsaXNoVGV4dCkge1xuICAgICAgICAgICAgY29tcG9uZW50LnRpdGxlID0gXCJNYXJpbmUgR3Jvd3RoIFpvbmVzXCI7XG4gICAgICAgICAgICBjb21wb25lbnQubGVmdFRleHQgPSBcIkNvbG9yXCI7XG4gICAgICAgICAgICBjb21wb25lbnQucmlnaHRUZXh0ID0gXCJIZWlnaHQgUmFuZ2UobSk6IFRoaWNrbmVzcyhtbSlcIjtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwiTWFyaW5lIEdyb3d0aCBab25lc1wiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZExlZnRUZXh0XCIsIFwiQ29sb3JcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXG4gICAgICAgICAgICAvLyAgIFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsXG4gICAgICAgICAgICAvLyAgIFwiSGVpZ2h0IFJhbmdlKG0pOiBUaGlja25lc3MobW0pXCJcbiAgICAgICAgICAgIC8vICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwi5rW355Sf54mp5Y6a5bqm5YiG6ImyXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kTGVmdFRleHRcIiwgXCLpopzoibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCLpq5jluqbojIPlm7QobSk6IOWOmuW6pihtbSlcIik7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIua1t+eUn+eJqeWOmuW6puWIhuiJslwiO1xuICAgICAgICAgICAgY29tcG9uZW50LmxlZnRUZXh0ID0gXCLpopzoibJcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5yaWdodFRleHQgPSBcIumrmOW6puiMg+WbtChtKTog5Y6a5bqmKG1tKVwiO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwgY3V0bGluZSk7XG4gICAgICAgICAgLy8gfSwgNTApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYmouaW5hY3RpdmUodmlld2VyKTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJcIik7XG4gICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlwiKTtcbiAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzVXBkYXRlKSB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICBwcml2YXRlIGNvbG9yZERpdlN3aXRjaF9Db3Jyeihvbl9vZmY6IGJvb2xlYW4sIGlzVXBkYXRlID0gdHJ1ZSkge1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzO1xuXG4gICAgbGV0IGNvbG9yRGl2aWRlUk8gPSBwcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXG4gICAgICBcIuiFkOiagOS9memHj+aMiemrmOeoi+WIhuiJslwiXG4gICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuICAgIGlmIChjb2xvckRpdmlkZVJPICYmIGNvbG9yRGl2aWRlUk8uY2hlY2tCdXNpbmVzc1N0YXRlSXNBY3RpdmUoKSkge1xuICAgICAgbGV0IG9iaiA9IGNvbG9yRGl2aWRlUk8gYXMgQ29sb3JEaXZDT1JSWk9iamVjdDtcbiAgICAgIGlmIChvbl9vZmYpIHtcbiAgICAgICAgb2JqLmFjdGl2ZSh2aWV3ZXIpO1xuXG4gICAgICAgIGxldCBjdXRsaW5lID0ge307XG4gICAgICAgIGlmIChjb2xvckRpdmlkZVJPKSB7XG4gICAgICAgICAgbGV0IG9iaiA9IGNvbG9yRGl2aWRlUk8gYXMgQ29sb3JEaXZDT1JSWk9iamVjdDtcbiAgICAgICAgICBsZXQgdGhpY2tuZXNzSW5kZXggPSAwO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqLmhlaWdodExpc3QubGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgICAgICAgIGxldCBib3R0b20gPSBvYmouaGVpZ2h0TGlzdFtpXTtcbiAgICAgICAgICAgIGxldCB0b3AgPSBvYmouaGVpZ2h0TGlzdFtpICsgMV07XG5cbiAgICAgICAgICAgIGxldCBrZXlMZXZlbEJvdHRvbSA9IG9iai5jb3Jyekxpc3RbdGhpY2tuZXNzSW5kZXhdLnRoaWNrbmVzc0JvdHRvbTtcbiAgICAgICAgICAgIGlmICgha2V5TGV2ZWxCb3R0b20pIHtcbiAgICAgICAgICAgICAga2V5TGV2ZWxCb3R0b20gPSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQga2V5TGV2ZWxUb3AgPSBvYmouY29ycnpMaXN0W3RoaWNrbmVzc0luZGV4XS50aGlja25lc3NUb3A7XG4gICAgICAgICAgICBpZiAoIWtleUxldmVsVG9wKSB7XG4gICAgICAgICAgICAgIGtleUxldmVsVG9wID0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGtleSA9XG4gICAgICAgICAgICAgIGJvdHRvbSArIFwiflwiICsgdG9wICsgXCLvvJpcIiArIGtleUxldmVsQm90dG9tICsgXCJ+XCIgKyBrZXlMZXZlbFRvcDtcblxuICAgICAgICAgICAgbGV0IGNvbG9yID0gW1xuICAgICAgICAgICAgICBvYmouY29sb3JbKGkgLyAyKSAqIDQgKyAwXSxcbiAgICAgICAgICAgICAgb2JqLmNvbG9yWyhpIC8gMikgKiA0ICsgMV0sXG4gICAgICAgICAgICAgIG9iai5jb2xvclsoaSAvIDIpICogNCArIDJdLFxuICAgICAgICAgICAgICBvYmouY29sb3JbKGkgLyAyKSAqIDQgKyAzXSxcbiAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgIGlmIChjb2xvclswXSA9PT0gLTEgJiYgY29sb3JbMV0gPT09IC0xICYmIGNvbG9yWzJdID09PSAtMSkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yWzBdICo9IDI1NTtcbiAgICAgICAgICAgIGNvbG9yWzFdICo9IDI1NTtcbiAgICAgICAgICAgIGNvbG9yWzJdICo9IDI1NTtcblxuICAgICAgICAgICAgY3V0bGluZVtrZXldID0gY29sb3I7XG4gICAgICAgICAgICB0aGlja25lc3NJbmRleCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBMZWdlbmRNYW5hZ2UuZGVzdG9yeSh0aGlzLmVsZW1lbnRLZXkpO1xuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFwiLCB7fSk7XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJcIik7XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiXCIpO1xuICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGxldCBjb21wb25lbnQgPSBMZWdlbmRNYW5hZ2UuY3JlYXRlKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50S2V5LFxuICAgICAgICAgICAgY3V0bGluZSxcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHRoaXMuc2hvd0VuZ2xpc2hUZXh0KSB7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIkNvcnJvc2lvbiBab25lc1wiKTtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZExlZnRUZXh0XCIsIFwiQ29sb3JcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXG4gICAgICAgICAgICAvLyAgIFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsXG4gICAgICAgICAgICAvLyAgIFwiSGVpZ2h0IFJhbmdlKG0pOiBUaGlja25lc3MobW0pXCJcbiAgICAgICAgICAgIC8vICk7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIkNvcnJvc2lvbiBab25lc1wiO1xuICAgICAgICAgICAgY29tcG9uZW50LmxlZnRUZXh0ID0gXCJDb2xvclwiO1xuICAgICAgICAgICAgY29tcG9uZW50LnJpZ2h0VGV4dCA9IFwiSGVpZ2h0IFJhbmdlKG0pOiBUaGlja25lc3MobW0pXCI7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwi6IWQ6JqA5L2Z6YeP5YiG6ImyXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kTGVmdFRleHRcIiwgXCLpopzoibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCLpq5jluqbojIPlm7QobSk6IOWOmuW6pihtbSlcIik7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIuiFkOiagOS9memHj+WIhuiJslwiO1xuICAgICAgICAgICAgY29tcG9uZW50LmxlZnRUZXh0ID0gXCLpopzoibJcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5yaWdodFRleHQgPSBcIuWjgemrmOW6puiMg+WbtChtKTog5Y6a5bqmKG1tKVwiO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRcIiwgY3V0bGluZSk7XG4gICAgICAgICAgLy8gfSwgMjApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYmouaW5hY3RpdmUodmlld2VyKTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJcIik7XG4gICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlwiKTtcbiAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzVXBkYXRlKSB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICBwcml2YXRlIGNvbG9yRGl2U3dpdGNoX0NvbXBvbmVudEdyb3VwKG9uX29mZjogYm9vbGVhbiwgaXNVcGRhdGUgPSB0cnVlKSB7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3M7XG5cbiAgICBsZXQgY29tcG9uZW50R3JvdXBzID0gcHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLmnoTku7bliIbnu4TliIboibJcIlxuICAgICkgYXMgRGVzaWduQmFzZU9iamVjdDtcbiAgICBpZiAoY29tcG9uZW50R3JvdXBzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBvbmVudEdyb3Vwcy5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG9iaiA9IGNvbXBvbmVudEdyb3Vwcy5jaGlsZE9iamVjdHNbXG4gICAgICAgICAgaVxuICAgICAgICBdIGFzIENvbG9yRGl2Q29tcG9uZW50R3JvdXBPYmplY3Q7XG5cbiAgICAgICAgaWYgKG9iai5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgdGhpcy5zZXRBbGxDb21wb25lbnRHcm91cFZpc2libGUob2JqLm5hbWUpO1xuXG4gICAgICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICAgICAgb2JqLmFjdGl2ZSh2aWV3ZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYmouaW5hY3RpdmUodmlld2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICBsZXQgY3V0bGluZSA9IHt9O1xuICAgICAgICBpZiAoY29tcG9uZW50R3JvdXBzKSB7XG4gICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlwiKTtcbiAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCJcIik7XG4gICAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcblxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29tcG9uZW50R3JvdXBzLmNoaWxkT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IG9iaiA9IGNvbXBvbmVudEdyb3Vwcy5jaGlsZE9iamVjdHNbXG4gICAgICAgICAgICAgIGlcbiAgICAgICAgICAgIF0gYXMgQ29sb3JEaXZDb21wb25lbnRHcm91cE9iamVjdDtcbiAgICAgICAgICAgIGlmIChvYmouY2hlY2tCdXNpbmVzc1N0YXRlSXNBY3RpdmUoKSkge1xuICAgICAgICAgICAgICBsZXQgY29sb3IgPSBMb25nYW4uZGVlcENsb25lKG9iai5jb2xvcik7XG4gICAgICAgICAgICAgIGN1dGxpbmVbb2JqLm5hbWVdID0gY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGxldCBjb21wb25lbnQgPSBMZWdlbmRNYW5hZ2UuY3JlYXRlKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50S2V5LFxuICAgICAgICAgICAgY3V0bGluZSxcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHRoaXMuc2hvd0VuZ2xpc2hUZXh0KSB7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRUaXRsZVwiLCBcIlNldCBDb2xvcnNcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRMZWZ0VGV4dFwiLCBcIkNvbG9yXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kUmlnaHRUZXh0XCIsIFwiU2V0IE5hbWVcIik7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIlNldCBDb2xvcnNcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5sZWZ0VGV4dCA9IFwiQ29sb3JcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5yaWdodFRleHQgPSBcIlNldCBOYW1lXCI7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFRpdGxlXCIsIFwi6Ieq5a6a5LmJ5p6E5Lu25YiG57uE5YiG6ImyXCIpO1xuICAgICAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kTGVmdFRleHRcIiwgXCLpopzoibJcIik7XG4gICAgICAgICAgICAvLyBzdG9yZS5jb21taXQoXCJzZXRMZWdlbmRSaWdodFRleHRcIiwgXCLliIbnu4TlkI1cIik7XG4gICAgICAgICAgICBjb21wb25lbnQudGl0bGUgPSBcIuiHquWumuS5ieaehOS7tuWIhue7hOWIhuiJslwiO1xuICAgICAgICAgICAgY29tcG9uZW50LmxlZnRUZXh0ID0gXCLpopzoibJcIjtcbiAgICAgICAgICAgIGNvbXBvbmVudC5yaWdodFRleHQgPSBcIuWIhue7hOWQjVwiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFwiLCBjdXRsaW5lKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kXCIsIHt9KTtcbiAgICAgICAgLy8gc3RvcmUuY29tbWl0KFwic2V0TGVnZW5kVGl0bGVcIiwgXCJcIik7XG4gICAgICAgIC8vIHN0b3JlLmNvbW1pdChcInNldExlZ2VuZFJpZ2h0VGV4dFwiLCBcIlwiKTtcbiAgICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkodGhpcy5lbGVtZW50S2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzVXBkYXRlKSB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICBwcml2YXRlIHNldEFsbENvbXBvbmVudEdyb3VwVmlzaWJsZShncm91cE5hbWU6IHN0cmluZykge1xuICAgIGxldCB2aWV3ZXIgPSB0aGlzLnZpZXdlciBhcyBWaWV3ZXI7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzO1xuXG4gICAgbGV0IGNvbXBvbmVudEdyb3VwcyA9IHByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5TmFtZShcbiAgICAgIFwi5p6E5Lu25YiG57uE5YiG6ImyXCJcbiAgICApIGFzIERlc2lnbkJhc2VPYmplY3Q7XG4gICAgaWYgKGNvbXBvbmVudEdyb3Vwcykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21wb25lbnRHcm91cHMuY2hpbGRPYmplY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBvYmogPSBjb21wb25lbnRHcm91cHMuY2hpbGRPYmplY3RzW1xuICAgICAgICAgIGlcbiAgICAgICAgXSBhcyBDb2xvckRpdkNvbXBvbmVudEdyb3VwT2JqZWN0O1xuXG4gICAgICAgIGlmIChvYmoubmFtZSA9PT0gZ3JvdXBOYW1lKSB7XG4gICAgICAgICAgaWYgKG9iai5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgICBvYmouaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIG9iai5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5FZGl0aW5nO1xuICAgICAgICAgICAgb2JqLnNldENoaWxkVmlzaWJsZSh2aWV3ZXIsIHRydWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOWIhuiJsuaYvuekuuW8gOWFs++8jOi+k+WFpeeahOWIhuiJsuaViOaenOi1t+aViO+8jOWFtuS9meWIhuiJsuaViOaenOWFs+mXrS5cbiAgICogQHBhcmFtIHN0YXRlIOaemuS4vuexu+Wei1xuICAgKi9cbiAgY29sb3JTd2l0Y2goc3RhdGU6IFN3aXRjaENvbG9yRGl2aWRlLCBpc1VwZGF0ZSA9IHRydWUpIHtcbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIFN3aXRjaENvbG9yRGl2aWRlLkdydXBOYW1lOlxuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBUaGlja25lc3MoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvcmREaXZTd2l0Y2hfTWdyb3YoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvcmREaXZTd2l0Y2hfQ29ycnooZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9Db21wb25lbnRHcm91cChmYWxzZSwgaXNVcGRhdGUpO1xuXG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfR3J1cE5hbWUodHJ1ZSwgaXNVcGRhdGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3dpdGNoQ29sb3JEaXZpZGUuR3J1cFRoaWNrbmVzczpcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9HcnVwTmFtZShmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9NZ3JvdihmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9Db3JyeihmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0NvbXBvbmVudEdyb3VwKGZhbHNlLCBpc1VwZGF0ZSk7XG5cbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9HcnVwVGhpY2tuZXNzKHRydWUsIGlzVXBkYXRlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN3aXRjaENvbG9yRGl2aWRlLk1ncm92OlxuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBOYW1lKGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfR3J1cFRoaWNrbmVzcyhmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9Db3JyeihmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0NvbXBvbmVudEdyb3VwKGZhbHNlLCBpc1VwZGF0ZSk7XG5cbiAgICAgICAgdGhpcy5jb2xvcmREaXZTd2l0Y2hfTWdyb3YodHJ1ZSwgaXNVcGRhdGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3dpdGNoQ29sb3JEaXZpZGUuQ29ycno6XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfR3J1cE5hbWUoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9HcnVwVGhpY2tuZXNzKGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JkRGl2U3dpdGNoX01ncm92KGZhbHNlLCBpc1VwZGF0ZSk7XG4gICAgICAgIHRoaXMuY29sb3JEaXZTd2l0Y2hfQ29tcG9uZW50R3JvdXAoZmFsc2UsIGlzVXBkYXRlKTtcblxuICAgICAgICB0aGlzLmNvbG9yZERpdlN3aXRjaF9Db3Jyeih0cnVlLCBpc1VwZGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTd2l0Y2hDb2xvckRpdmlkZS5Db21wb25lbnRHcm91cDpcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9HcnVwTmFtZShmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBUaGlja25lc3MoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvcmREaXZTd2l0Y2hfTWdyb3YoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvcmREaXZTd2l0Y2hfQ29ycnooZmFsc2UsIGlzVXBkYXRlKTtcblxuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0NvbXBvbmVudEdyb3VwKHRydWUsIGlzVXBkYXRlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN3aXRjaENvbG9yRGl2aWRlLkNhbmNlbDpcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9HcnVwTmFtZShmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICB0aGlzLmNvbG9yRGl2U3dpdGNoX0dydXBUaGlja25lc3MoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvcmREaXZTd2l0Y2hfTWdyb3YoZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvcmREaXZTd2l0Y2hfQ29ycnooZmFsc2UsIGlzVXBkYXRlKTtcbiAgICAgICAgdGhpcy5jb2xvckRpdlN3aXRjaF9Db21wb25lbnRHcm91cChmYWxzZSwgaXNVcGRhdGUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRTd2l0Y2hDb2xvckRpdmlkZSA9IHN0YXRlOyBcbiAgfVxuXG4gIHJlZnJlc2hDb2xvclN3aXRjaCgpIHtcbiAgICBpZih0aGlzLmN1cnJlbnRTd2l0Y2hDb2xvckRpdmlkZSAhPT0gU3dpdGNoQ29sb3JEaXZpZGUuQ2FuY2VsKSB7XG4gICAgICBsZXQgcmVjb3JkID0gdGhpcy5jdXJyZW50U3dpdGNoQ29sb3JEaXZpZGU7XG4gICAgICB0aGlzLmNvbG9yU3dpdGNoKFN3aXRjaENvbG9yRGl2aWRlLkNhbmNlbCk7XG4gICAgICB0aGlzLmNvbG9yU3dpdGNoKHJlY29yZCk7XG4gICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOafkOS4quWIhue7hOiuvue9ruS6huminOiJsuaXtu+8jOWNleeLrOaYvuekui/pmpDol4/or6XliIbnu4TliIboibLnmoTmlYjmnpxcbiAgICogQHBhcmFtIGdyb3VwTmFtZVxuICAgKiBAcGFyYW0gb25fb2ZmXG4gICAqL1xuICBjb21wb25lbnRHcm91cENvbG9yVmlzaWJsZVN3aXRjaChncm91cE5hbWU6IHN0cmluZywgb25fb2ZmOiBib29sZWFuKSB7XG4gICAgbGV0IHZpZXdlciA9IHRoaXMudmlld2VyIGFzIFZpZXdlcjtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3M7XG5cbiAgICBsZXQgY29tcG9uZW50R3JvdXBzID0gcHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLmnoTku7bliIbnu4TliIboibJcIlxuICAgICkgYXMgRGVzaWduQmFzZU9iamVjdDtcbiAgICBpZiAoY29tcG9uZW50R3JvdXBzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBvbmVudEdyb3Vwcy5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG9iaiA9IGNvbXBvbmVudEdyb3Vwcy5jaGlsZE9iamVjdHNbXG4gICAgICAgICAgaVxuICAgICAgICBdIGFzIENvbG9yRGl2Q29tcG9uZW50R3JvdXBPYmplY3Q7XG5cbiAgICAgICAgaWYgKG9iai5uYW1lID09PSBncm91cE5hbWUpIHtcbiAgICAgICAgICBpZiAob2JqLmNoZWNrQnVzaW5lc3NTdGF0ZUlzQWN0aXZlKCkpIHtcbiAgICAgICAgICAgIG9iai5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5FZGl0aW5nO1xuICAgICAgICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICAgICAgICBvYmouYWN0aXZlKHZpZXdlcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBvYmouaW5hY3RpdmUodmlld2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIG9iai5zZXRDaGlsZFZpc2libGUodmlld2VyLCBvbl9vZmYpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgd2F2ZVN3aXRjaChvbl9vZmY6IGJvb2xlYW4pIHtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcbiAgICBsZXQgd2F2ZSA9IHByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5TmFtZShcIuazoumdolwiKSBhcyBXYXZlT2JqZWN0O1xuICAgIGlmICghd2F2ZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGxldCBjdXJyZW50V2F2ZUl0ZW1PYmplY3QgPSBwcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgd2F2ZSxcbiAgICAgIHRoaXMuY3VycmVudFNlbGVjdFdhdmVJdGVtTmFtZVxuICAgICkgYXMgV2F2ZUl0ZW1PYmplY3Q7XG4gICAgaWYgKGN1cnJlbnRXYXZlSXRlbU9iamVjdCkge1xuICAgICAgaWYgKG9uX29mZikge1xuICAgICAgICBjdXJyZW50V2F2ZUl0ZW1PYmplY3QuYWN0aXZlKHRoaXMudmlld2VyIGFzIFZpZXdlcik7XG4gICAgICAgIHN0b3JlLnN0YXRlLmluZm8gPSBjdXJyZW50V2F2ZUl0ZW1PYmplY3QudG9TdHJpbmcoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnJlbnRXYXZlSXRlbU9iamVjdC5pbmFjdGl2ZSh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpO1xuICAgICAgICBzdG9yZS5zdGF0ZS5pbmZvID0gbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3RvcmUuc3RhdGUuaW5mbyA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWcn+WxguW8gOWFs+aOpeWPo1xuICAgKiBAcGFyYW0gb25fb2ZmXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBib3JlaG9sZVN3aXRjaChvbl9vZmY6IGJvb2xlYW4pIHtcbiAgICBsZXQgcHJvY2VzcyA9IHRoaXMudmlld2VyLnByb2Nlc3MgYXMgUHJvY2VzcztcbiAgICBsZXQgcGFyZW50Tm9kZSA9IHByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5TmFtZShcbiAgICAgIFwi5Zyf5bGC5ZKM5rOi6Z2iXCJcbiAgICApIGFzIERlc2lnbkJhc2VPYmplY3Q7XG4gICAgaWYgKCFwYXJlbnROb2RlKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGxldCBlbGVtZW50S2V5ID0gXCJzb2lsZFwiO1xuICAgIGlmIChwYXJlbnROb2RlICYmIG9uX29mZikge1xuICAgICAgdGhpcy5ib3JlaG9sZUN1dExpbmVEaXNwbGF5ID0gdHJ1ZTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyZW50Tm9kZS5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgKHBhcmVudE5vZGUuY2hpbGRPYmplY3RzW2ldIGFzIEJvcmVob2xlc09iamVjdCkuYWN0aXZlKCk7XG4gICAgICB9XG5cbiAgICAgIExlZ2VuZE1hbmFnZS5jcmVhdGUoXG4gICAgICAgIGVsZW1lbnRLZXksXG4gICAgICAgIHRoaXMuYm9yZWhvbGVMZWdlbmQsXG4gICAgICAgIFwi5Zyf5bGC5pWw5o2uXCIsXG4gICAgICAgIFwi6aKc6ImyXCIsXG4gICAgICAgIFwi5Zyf5bGC5ZCNXCIsXG4gICAgICAgIHtcbiAgICAgICAgICByaWdodDogXCIwcHhcIixcbiAgICAgICAgICBib3R0b206IFwiMHB4XCIsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYm9yZWhvbGVDdXRMaW5lRGlzcGxheSA9IGZhbHNlO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmVudE5vZGUuY2hpbGRPYmplY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIChwYXJlbnROb2RlLmNoaWxkT2JqZWN0c1tpXSBhcyBCb3JlaG9sZXNPYmplY3QpLmluYWN0aXZlKCk7XG4gICAgICB9XG4gICAgICBMZWdlbmRNYW5hZ2UuZGVzdG9yeShlbGVtZW50S2V5KTtcbiAgICB9XG5cbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICAvKipcbiAgICog5qOA5p+l5piv5ZCm5pyJ5qGp5Zyf5pWw5o2uXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjaGVja1BTSSgpIHtcbiAgICBsZXQgZXhpc3QgPSBmYWxzZTtcbiAgICBpZiAoISh0aGlzLnZpZXdlciBhcyBWaWV3ZXIpLmRhdFJlYWRlck1hbmFnZXIucHNpb3B0KSB7XG4gICAgICBjb25zb2xlLmxvZyhcIuayoeacieahqeWcn+aVsOaNri5cIik7XG4gICAgICBleGlzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBleGlzdCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4aXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIOajgOafpeaYr+WQpuWtmOWcqOa1t+WGteaVsOaNrlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY2hlY2tTZWFpbnAoKSB7XG4gICAgbGV0IGV4aXN0ID0gZmFsc2U7XG4gICAgbGV0IHJvID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlUeXBlKFwiU2Vhc3RhdGVMZG9wdFwiKTtcbiAgICBpZiAocm8pIHtcbiAgICAgIGV4aXN0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXhpc3Q7XG4gIH1cblxuICAvKipcbiAgICog5pyJ6ZmQ5YWD5YiH5o2i5pi+56S66ZqQ6JePXG4gICAqL1xuICBmaW5pdGVFbGVtZW50U3dpdGNoKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBsZXQgbWVtYmVycyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJNZW1iZXJPYmplY3RcIik7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgbWVtYmVyID0gbWVtYmVyc1tpXSBhcyBNZW1iZXJPYmplY3Q7XG4gICAgICAgIG1lbWJlci5zZWdtZW50TGVuZ3RoQ29lZmYgPSBNZW1iZXJPYmplY3QuZ19HcmlkUmF0aW87XG4gICAgICAgIGlmIChtZW1iZXIuc2VnbWVudExlbmd0aENvZWZmID09PSAtMSkge1xuICAgICAgICAgIG1lbWJlci5zZWdtZW50TGVuZ3RoQ29lZmYgPSAwLjk7XG4gICAgICAgIH1cbiAgICAgICAgbWVtYmVyLnNldE5lZWRVcGRhdGUoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZW1iZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBtZW1iZXIgPSBtZW1iZXJzW2ldIGFzIE1lbWJlck9iamVjdDtcbiAgICAgICAgbWVtYmVyLnNlZ21lbnRMZW5ndGhDb2VmZiA9IDE7XG4gICAgICAgIG1lbWJlci5zZXROZWVkVXBkYXRlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOe8lui+keminOiJsihyZ2Jh5pWw57uE77yIMC0yNTUp56S65L6L4oCU4oCUWzI1NSwyNTUsMjU1LDFdXG4gICAqIEBwYXJhbSBiYWNrZ3JvdW5kQ29sb3Ig6IOM5pmv6aKc6ImyXG4gICAqIEBwYXJhbSBqb2ludENvbG9yIOepuumXtOeCueminOiJslxuICAgKiBAcGFyYW0gbWVtYmVyQ29sb3JMaW5lIOadhuS7tuminOiJsuKAlOKAlOe6v+WbvlxuICAgKiBAcGFyYW0gbWVtYmVyQ29sb3JGYWNlIOadhuS7tuminOiJsuKAlOKAlOS4iee7tOS9k1xuICAgKiBAcGFyYW0gcGxhdGVDb2xvciDmnb/popzoibJcbiAgICovXG4gIGVkaXRDb2xvcnMoXG4gICAgYmFja2dyb3VuZENvbG9yOiBudW1iZXJbXSxcbiAgICBqb2ludENvbG9yOiBudW1iZXJbXSxcbiAgICBtZW1iZXJDb2xvckxpbmU6IG51bWJlcltdLFxuICAgIG1lbWJlckNvbG9yRmFjZTogbnVtYmVyW10sXG4gICAgcGxhdGVDb2xvcjogbnVtYmVyW11cbiAgKSB7XG4gICAgT2JqZWN0Q29sb3Iuam9pbnRDb2xvciA9IGpvaW50Q29sb3I7XG4gICAgT2JqZWN0Q29sb3IubWVtYmVyRmFjZUNvbG9yID0gbWVtYmVyQ29sb3JGYWNlO1xuICAgIE9iamVjdENvbG9yLm1lbWJlckxpbmVDb2xvciA9IG1lbWJlckNvbG9yTGluZTtcbiAgICBPYmplY3RDb2xvci5wbGF0ZUNvbG9yID0gcGxhdGVDb2xvcjtcblxuICAgIHRoaXMudmlld2VyLmJhY2tncm91bmRDb2xvciA9IGJhY2tncm91bmRDb2xvcjtcblxuICAgIGxldCBqb2ludHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiSm9pbnRPYmplY3RcIik7XG4gICAgam9pbnRzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uc2VnbWVudC5jb2xvci5zZXRNYXJrZXIoam9pbnRDb2xvcik7XG4gICAgfSk7XG5cbiAgICBsZXQgbWVtYmVycyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXG4gICAgICBcIk1lbWJlck9iamVjdFwiXG4gICAgKSBhcyBNZW1iZXJPYmplY3RbXTtcbiAgICBtZW1iZXJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uZmFjZUNvbG9yID0gbWVtYmVyQ29sb3JGYWNlO1xuICAgICAgaXRlbS5saW5lQ29sb3IgPSBtZW1iZXJDb2xvckxpbmU7XG4gICAgICBpdGVtLnNldE5lZWRVcGRhdGUoKTtcbiAgICB9KTtcblxuICAgIGxldCBwbGF0ZXMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFxuICAgICAgXCJQbGF0ZU9iamVjdFwiXG4gICAgKSBhcyBQbGF0ZU9iamVjdFtdO1xuICAgIHBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmZhY2VDb2xvciA9IHBsYXRlQ29sb3I7XG4gICAgICBpdGVtLnNldE5lZWRVcGRhdGUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDpopzoibLlgLznpLrkvos6XCIjZmZmZmZmXCItLS3nmb3oibIuXG4gICAqIEBwYXJhbSBqb2ludExhYmVsIOepuumXtOeCueagh+etvuminOiJslxuICAgKiBAcGFyYW0gbWVtYmVyTGFiZWwg5p2G5Lu25qCH562+6aKc6ImyXG4gICAqIEBwYXJhbSBwbGF0ZUxhYmVsIOadv+agh+etvuminOiJslxuICAgKiBAcGFyYW0gbG9hZExhYmVsIOiNt+i9veminOiJslxuICAgKi9cbiAgZWRpdExhYmVsQ29sb3JzKFxuICAgIGpvaW50TGFiZWw6IHN0cmluZyxcbiAgICBtZW1iZXJMYWJlbDogc3RyaW5nLFxuICAgIHBsYXRlTGFiZWw6IHN0cmluZyxcbiAgICBsb2FkTGFiZWw6IHN0cmluZ1xuICApIHtcbiAgICBPYmplY3RDb2xvci5qb2ludExhYmVsQ29sb3IgPSBqb2ludExhYmVsO1xuICAgIE9iamVjdENvbG9yLm1lbWJlckxhYmVsQ29sb3IgPSBtZW1iZXJMYWJlbDtcbiAgICBPYmplY3RDb2xvci5wbGF0ZUxhYmVsQ29sb3IgPSBwbGF0ZUxhYmVsO1xuICAgIE9iamVjdENvbG9yLmxvYWRMYWJlbENvbG9yID0gbG9hZExhYmVsO1xuXG4gICAgbGV0IGpvaW50cyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXG4gICAgICBcIkpvaW50T2JqZWN0XCJcbiAgICApIGFzIEpvaW50T2JqZWN0W107XG4gICAgam9pbnRzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uaXNEcmF3U3ZnID0gZmFsc2U7XG4gICAgICBpdGVtLmlzRHJhd1N2ZyA9IHRydWU7XG4gICAgfSk7XG5cbiAgICBsZXQgbWVtYmVycyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXG4gICAgICBcIk1lbWJlck9iamVjdFwiXG4gICAgKSBhcyBNZW1iZXJPYmplY3RbXTtcbiAgICBtZW1iZXJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uaXNEcmF3U3ZnID0gZmFsc2U7XG4gICAgICBpdGVtLmlzRHJhd1N2ZyA9IHRydWU7XG4gICAgfSk7XG5cbiAgICBsZXQgcGxhdGVzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcbiAgICAgIFwiUGxhdGVPYmplY3RcIlxuICAgICkgYXMgUGxhdGVPYmplY3RbXTtcbiAgICBwbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5pc0RyYXdTdmcgPSBmYWxzZTtcbiAgICAgIGl0ZW0uaXNEcmF3U3ZnID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHRoaXMudmlld2VyLmV4ZVNjZW5lQ2FtZXJhQ2hhbmdlZChMb25nYW4uTG9uZ2FuQ29yZS5DYW1lcmFDaGFuZ2VUeXBlLlNjYWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDkv67mlLnmiKrpnaJWaWV3ZXLnmoTog4zmma/popzoibLjgIHnur/mnaHpopzoibLjgIHnrq3lpLTpopzoibLjgIHmloflrZfpopzoibJcbiAgICogQHBhcmFtIHNlY3Rpb25WaWV3ZXIg5oiq6Z2iVmlld2Vy5a+56LGhXG4gICAqIEBwYXJhbSBiYWNrZ3JvdW5kQ29sb3Ig6IOM5pmv6aKc6ImyOiBbMjU1LDAsMCwxXVxuICAgKiBAcGFyYW0gbGluZUxhYmVsQ29sb3Ig57q/5p2h6aKc6ImyOiBcIiNmZmZcIlxuICAgKiBAcGFyYW0gYXJyb3dMYWJlbENvbG9yIOeureWktOminOiJsjogXCIjZmZmXCJcbiAgICogQHBhcmFtIHRleHRMYWJlbENvbG9yIOaWh+Wtl+minOiJsjogXCIjZmZmXCJcbiAgICovXG4gIGVkaXRTZWN0aW9uTGFiZWxDb2xvcnMoXG4gICAgc2VjdGlvblZpZXdlcjogU2VjdGlvblZpZXdlcixcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IG51bWJlcltdLFxuICAgIGxpbmVMYWJlbENvbG9yOiBzdHJpbmcsXG4gICAgYXJyb3dMYWJlbENvbG9yOiBzdHJpbmcsXG4gICAgdGV4dExhYmVsQ29sb3I6IHN0cmluZ1xuICApIHtcbiAgICAvL1xuICAgIGlmIChiYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIHNlY3Rpb25WaWV3ZXIuYmFja2dyb3VuZENvbG9yID0gYmFja2dyb3VuZENvbG9yO1xuICAgIH1cbiAgICBpZiAobGluZUxhYmVsQ29sb3IpIHtcbiAgICAgIEluc3RhbmNlU2VjdGlvbk9iamVjdC5saW5lTGFiZWxDb2xvciA9IGxpbmVMYWJlbENvbG9yO1xuICAgIH1cbiAgICBpZiAoYXJyb3dMYWJlbENvbG9yKSB7XG4gICAgICBJbnN0YW5jZVNlY3Rpb25PYmplY3QuYXJyb3dMYWJlbENvbG9yID0gYXJyb3dMYWJlbENvbG9yO1xuICAgIH1cbiAgICBpZiAodGV4dExhYmVsQ29sb3IpIHtcbiAgICAgIEluc3RhbmNlU2VjdGlvbk9iamVjdC50ZXh0TGFiZWxDb2xvciA9IHRleHRMYWJlbENvbG9yO1xuICAgIH1cblxuICAgIGxldCByb290ID0gc2VjdGlvblZpZXdlci5yZW5kZXJPYmplY3Q7XG4gICAgcm9vdD8uY2hpbGRPYmplY3RzLmZvckVhY2goKHNlY3Rpb24pID0+IHtcbiAgICAgIGlmIChzZWN0aW9uIGluc3RhbmNlb2YgU2VjdGlvbk9iamVjdCkge1xuICAgICAgICBsZXQgaXJvID0gc2VjdGlvblZpZXdlci5maW5kSW5zdGFuY2VPYmplY3QoXG4gICAgICAgICAgc2VjdGlvblxuICAgICAgICApIGFzIEluc3RhbmNlU2VjdGlvbk9iamVjdDtcbiAgICAgICAgaWYgKGlybykge1xuICAgICAgICAgIGlyby5yZW1vdmVTdmcoKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlyby5kcmF3U3ZnKCk7XG4gICAgICAgICAgfSwgMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICog5YiH5o2iYWN0aXZlVmlld2VyLlxuICAgKiBAcGFyYW0gZWxlbWVudElkIHZpZXdlcuaJgOWcqOeahOWuueWZqOeahElkLlxuICAgKi9cbiAgc3dpdGNoQWN0aXZlVmlld2VyKGVsZW1lbnRJZDogc3RyaW5nKSB7XG4gICAgbGV0IHByb2Nlc3MgPSB0aGlzLnZpZXdlci5wcm9jZXNzO1xuICAgIHByb2Nlc3Mudmlld2Vycy5mb3JFYWNoKCh2aSkgPT4ge1xuICAgICAgaWYgKHZpLmNvbnRhaW5lci5pZCA9PT0gZWxlbWVudElkKSB7XG4gICAgICAgIHByb2Nlc3MuYWN0aXZlVmlld2VyID0gdmk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmmL7npLrlkITkuKrljoblj7LnmoTlkI3np7AuXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBzaG93SGlzdG9yeUxpc3QoKSB7XG4gICAgbGV0IGhpc3RvcnlNYW5hZ2VyID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5oaXN0b3J5TWFuYWdlcjtcbiAgICBsZXQgbGlzdCA9IGhpc3RvcnlNYW5hZ2VyLnN0YXRlTGlzdDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QuY291bnQoKTsgaSsrKSB7XG4gICAgICBjb25zb2xlLmxvZyhsaXN0Lml0ZW1zW2ldLm5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBsaXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIOWbnua7mi/ph43lgZrljoblj7Lnm7TliLDkuIvmoIflpIQuXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgaGlzdG9yeVJvbGwoaW5kZXg6IG51bWJlcikge1xuICAgIGxldCBoaXN0b3J5TWFuYWdlciA9IHRoaXMudmlld2VyLnByb2Nlc3MuaGlzdG9yeU1hbmFnZXI7XG4gICAgbGV0IGN1cnJlbnRJZHggPSBoaXN0b3J5TWFuYWdlci5jdXJyZW50U3RhdGVJbmRleDtcblxuICAgIGlmIChjdXJyZW50SWR4IDwgaW5kZXgpIHtcbiAgICAgIGxldCB0aW1lID0gaW5kZXggLSBjdXJyZW50SWR4O1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aW1lOyBpKyspIHtcbiAgICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5oaXN0b3J5TWFuYWdlci5yb2xsRm9yd2FyZCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY3VycmVudElkeCA+IGluZGV4KSB7XG4gICAgICBsZXQgdGltZSA9IGN1cnJlbnRJZHggLSBpbmRleDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGltZTsgaSsrKSB7XG4gICAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuaGlzdG9yeU1hbmFnZXIucm9sbEJhY2soKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0aGlzLnNob3dIaXN0b3J5TGlzdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPlumhueebruS4reeahOWFqOmDqOW3peWGteWvueixoVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0TG9hZENvbmRpdGlvbkxpc3QoKSB7XG4gICAgbGV0IGxvYWRDb25kaXRpb25zID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcbiAgICAgIFwiTG9hZENvbmRpdGlvbk9iamVjdFwiXG4gICAgKTtcbiAgICByZXR1cm4gbG9hZENvbmRpdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICog6I635Y+W6aG555uu5Lit55qE5YWo6YOo57uE5ZCI5bel5Ya15a+56LGhXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRMb2FkQ29uZGl0aW9uQ29tYmluZUxpc3QoKSB7XG4gICAgbGV0IG9iamVjdHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiU2Vhc3RhdGVMY29tYlwiKTtcbiAgICByZXR1cm4gb2JqZWN0cztcbiAgfVxuXG4gIC8qKlxuICAgKiDmuIXpmaR2aWV3ZXLnmoRQcm9jZXNz5q6L55WZ5pWw5o2uLlxuICAgKi9cbiAgcmVtb3ZlUHJvY2Vzc0RhdGEoKSB7XG4gICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5jbGVhclJlbmRlck9iamVjdHModHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICog5Yib5bu65rOi5rWB6I236L295a+56LGhXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjcmVhdGVDdXJyTG9hZE9iamVjdCgpIHtcbiAgICBsZXQgY3VyckxvYWQgPSBuZXcgQ3VyckxvYWRPYmplY3QoKTtcbiAgICByZXR1cm4gY3VyckxvYWQ7XG4gIH1cblxuICAvKipcbiAgICog5Yib5bu65ouW5ou957O75pWw5a+56LGhXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjcmVhdGVDZG1SZW5kZXJPYmplY3QoKSB7XG4gICAgbGV0IGNkbU9iamVjdCA9IG5ldyBDZG1SZW5kZXJPYmplY3QoKTtcbiAgICByZXR1cm4gY2RtT2JqZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIOa3u+WKoOeCueiNt+i9vVxuICAgKiBAcGFyYW0gbG9hZENvbmRpdGlvblJPIOW3peWGteWvueixoVxuICAgKiBAcGFyYW0gbG9hZEdyb3VwTmFtZSDojbfovb3nu4TlkI1cbiAgICogQHBhcmFtIHNlbGVjdGVkSm9pbnROYW1lIOaJgOmAieepuumXtOeCueWQjVxuICAgKiBAcGFyYW0gZnhcbiAgICogQHBhcmFtIGZ5XG4gICAqIEBwYXJhbSBmelxuICAgKiBAcGFyYW0gbXhcbiAgICogQHBhcmFtIG15XG4gICAqIEBwYXJhbSBtelxuICAgKi9cbiAgYWRkSm9pbnRMb2FkKFxuICAgIGxvYWRDb25kaXRpb25OYW1lOiBzdHJpbmcsXG4gICAgbG9hZEdyb3VwTmFtZTogc3RyaW5nLFxuICAgIHNlbGVjdGVkSm9pbnROYW1lOiBzdHJpbmcsXG4gICAgZng6IG51bWJlcixcbiAgICBmeTogbnVtYmVyLFxuICAgIGZ6OiBudW1iZXIsXG4gICAgbXg6IG51bWJlcixcbiAgICBteTogbnVtYmVyLFxuICAgIG16OiBudW1iZXJcbiAgKTogbnVtYmVyIHtcbiAgICBsZXQgdmlld2VyID0gdGhpcy52aWV3ZXIgYXMgVmlld2VyO1xuXG4gICAgLy8g5re75Yqg5oiW5L+u5pS55bel5Ya1LlxuICAgIGxldCBwcmV0cmVhdG1lbnRSTyA9IHZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXG4gICAgICBcIuWQjuWkhOeQhuiuoeeul+e7k+aenFwiXG4gICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuXG4gICAgaWYgKCFwcmV0cmVhdG1lbnRSTykge1xuICAgICAgY29uc29sZS5lcnJvcihcIuayoeaciSflkI7lpITnkIborqHnrpfnu5Pmnpwn55qEUk/oioLngrlcIik7XG4gICAgICByZXR1cm4gMjtcbiAgICB9XG5cbiAgICBsZXQgY29uZGl0aW9uUGFyZW50ID0gdmlld2VyLnByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICBwcmV0cmVhdG1lbnRSTyxcbiAgICAgIFwi6I236L295bel5Ya1XCJcbiAgICApIGFzIERlc2lnbkJhc2VPYmplY3Q7XG5cbiAgICBpZiAoIWNvbmRpdGlvblBhcmVudCkge1xuICAgICAgY29uZGl0aW9uUGFyZW50ID0gbmV3IERlc2lnbkJhc2VPYmplY3QoKTtcbiAgICAgIGNvbmRpdGlvblBhcmVudC5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5DcmVhdGluZztcbiAgICAgIGNvbmRpdGlvblBhcmVudC5uYW1lID0gXCLojbfovb3lt6XlhrVcIjtcbiAgICAgIHZpZXdlci5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChwcmV0cmVhdG1lbnRSTywgY29uZGl0aW9uUGFyZW50KTtcbiAgICB9XG5cbiAgICBsZXQgbG9hZENvbmRpdGlvblJPID0gbnVsbDtcbiAgICBsb2FkQ29uZGl0aW9uUk8gPSB2aWV3ZXIucHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgIGNvbmRpdGlvblBhcmVudCxcbiAgICAgIGxvYWRDb25kaXRpb25OYW1lXG4gICAgKSBhcyBMb2FkQ29uZGl0aW9uT2JqZWN0O1xuICAgIGlmICghbG9hZENvbmRpdGlvblJPKSB7XG4gICAgICBsb2FkQ29uZGl0aW9uUk8gPSBuZXcgTG9hZENvbmRpdGlvbk9iamVjdChsb2FkQ29uZGl0aW9uTmFtZSk7XG4gICAgICBsb2FkQ29uZGl0aW9uUk8uYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gICAgICB2aWV3ZXIucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QoY29uZGl0aW9uUGFyZW50LCBsb2FkQ29uZGl0aW9uUk8pO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2FkQ29uZGl0aW9uUk8uYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuRWRpdGluZztcbiAgICB9XG5cbiAgICBsZXQgbG9hZEdyb3VwUk8gPSB2aWV3ZXIucHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgIGxvYWRDb25kaXRpb25STyxcbiAgICAgIGxvYWRHcm91cE5hbWVcbiAgICApIGFzIExvYWRHcm91cE9iamVjdDtcbiAgICBpZiAoIWxvYWRHcm91cFJPKSB7XG4gICAgICBsb2FkR3JvdXBSTyA9IG5ldyBMb2FkR3JvdXBPYmplY3QobG9hZEdyb3VwTmFtZSk7XG4gICAgICBsb2FkR3JvdXBSTy5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5DcmVhdGluZztcbiAgICAgIHZpZXdlci5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChsb2FkQ29uZGl0aW9uUk8sIGxvYWRHcm91cFJPKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9hZEdyb3VwUk8uYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuRWRpdGluZztcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxvYWRHcm91cFJPLmNoaWxkT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGxvYWQgPSBsb2FkR3JvdXBSTy5jaGlsZE9iamVjdHNbaV07XG4gICAgICBpZiAobG9hZCBpbnN0YW5jZW9mIEpvaW50TG9hZE9iamVjdCkge1xuICAgICAgICBpZiAobG9hZC5qb2ludE5hbWUgPT09IHNlbGVjdGVkSm9pbnROYW1lKSB7XG4gICAgICAgICAgLy8g5a+55bqU55qE5bel5Ya144CB5bel5Ya157uE55qE5LiL55qE56m66Ze054K55LiK5bey57uP5a2Y5Zyo54K56I236L29LlxuICAgICAgICAgIHJldHVybiAzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGpvaW50TG9hZCA9IG5ldyBKb2ludExvYWRPYmplY3QobG9hZENvbmRpdGlvblJPLm5hbWUsIGxvYWRHcm91cE5hbWUpO1xuICAgIGpvaW50TG9hZC5uYW1lID0gXCJKb2ludDpcIiArIHNlbGVjdGVkSm9pbnROYW1lO1xuICAgIGpvaW50TG9hZC5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5DcmVhdGluZztcbiAgICBqb2ludExvYWQuam9pbnROYW1lID0gc2VsZWN0ZWRKb2ludE5hbWU7XG5cbiAgICBqb2ludExvYWQuZm9yY2VYRGlyZWN0aW9uID0gZng7XG4gICAgam9pbnRMb2FkLmZvcmNlWURpcmVjdGlvbiA9IGZ5O1xuICAgIGpvaW50TG9hZC5mb3JjZVpEaXJlY3Rpb24gPSBmejtcblxuICAgIGpvaW50TG9hZC5tb21lbnRBYm91dFhBeGlzID0gbXg7XG4gICAgam9pbnRMb2FkLm1vbWVudEFib3V0WUF4aXMgPSBteTtcbiAgICBqb2ludExvYWQubW9tZW50QWJvdXRaQXhpcyA9IG16O1xuXG4gICAgdmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KGxvYWRHcm91cFJPLCBqb2ludExvYWQpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgLyoqXG4gICAqIOe8lui+keeCueiNt+i9vVxuICAgKiBAcGFyYW0gam9pbnRMb2FkIOimgee8lui+keeahOeCueiNt+i9veWvueixoVxuICAgKiBAcGFyYW0gZnhcbiAgICogQHBhcmFtIGZ5XG4gICAqIEBwYXJhbSBmelxuICAgKiBAcGFyYW0gbXhcbiAgICogQHBhcmFtIG15XG4gICAqIEBwYXJhbSBtelxuICAgKi9cbiAgZWRpdEpvaW50TG9hZChcbiAgICBqb2ludExvYWQ6IEpvaW50TG9hZE9iamVjdCxcbiAgICBmeDogbnVtYmVyLFxuICAgIGZ5OiBudW1iZXIsXG4gICAgZno6IG51bWJlcixcbiAgICBteDogbnVtYmVyLFxuICAgIG15OiBudW1iZXIsXG4gICAgbXo6IG51bWJlclxuICApIHtcbiAgICBqb2ludExvYWQuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuRWRpdGluZztcblxuICAgIGpvaW50TG9hZC5mb3JjZVhEaXJlY3Rpb24gPSBmeDtcbiAgICBqb2ludExvYWQuZm9yY2VZRGlyZWN0aW9uID0gZnk7XG4gICAgam9pbnRMb2FkLmZvcmNlWkRpcmVjdGlvbiA9IGZ6O1xuXG4gICAgam9pbnRMb2FkLm1vbWVudEFib3V0WEF4aXMgPSBteDtcbiAgICBqb2ludExvYWQubW9tZW50QWJvdXRZQXhpcyA9IG15O1xuICAgIGpvaW50TG9hZC5tb21lbnRBYm91dFpBeGlzID0gbXo7XG4gIH1cblxuICAvKipcbiAgICog6YCa6L+H6ZK75a2U5ZCN5YiH5o2i5pi+56S655qE6ZK75a2U5Zu+5L6LLlxuICAgKiBAcGFyYW0gYm9yZWhvbGVOYW1lXG4gICAqL1xuICBib3JlaG9sZUNoYW5nZShib3JlaG9sZU5hbWU6IHN0cmluZykge1xuICAgIGxldCBlbGVtZW50S2V5ID0gXCJzb2lsZFwiO1xuICAgIGlmICh0aGlzLmJvcmVob2xlQ3V0TGluZURpc3BsYXkpIHtcbiAgICAgIHRoaXMuYm9yZWhvbGVDdXRMaW5lRGlzcGxheSA9IGZhbHNlO1xuICAgICAgTGVnZW5kTWFuYWdlLmRlc3RvcnkoZWxlbWVudEtleSk7XG4gICAgICBsZXQgY3VycmVudEJvcmVob2xlT2JqZWN0cyA9IHRoaXMuY3VycmVudEJvcmVob2xlT2JqZWN0cztcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50Qm9yZWhvbGVPYmplY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChjdXJyZW50Qm9yZWhvbGVPYmplY3RzW2ldLm5hbWUgPT09IGJvcmVob2xlTmFtZSkge1xuICAgICAgICAgIGN1cnJlbnRCb3JlaG9sZU9iamVjdHNbaV0uY3V0bGllbkFjaXR2ZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5hY3RpdmVCb3JlaG9sZU5hbWUgPSBib3JlaG9sZU5hbWU7XG5cbiAgICAgICAgICB0aGlzLmJvcmVob2xlQ3V0TGluZURpc3BsYXkgPSB0cnVlO1xuICAgICAgICAgIGxldCBjdXRMaW5lTGVnZW5kID0gY3VycmVudEJvcmVob2xlT2JqZWN0c1tpXS5nZUN1dGxpbmUoKTtcbiAgICAgICAgICBMZWdlbmRNYW5hZ2UuY3JlYXRlKFxuICAgICAgICAgICAgZWxlbWVudEtleSxcbiAgICAgICAgICAgIGN1dExpbmVMZWdlbmQsXG4gICAgICAgICAgICBcIuWcn+WxguaVsOaNrlwiLFxuICAgICAgICAgICAgXCLpopzoibJcIixcbiAgICAgICAgICAgIFwi5Zyf5bGC5ZCNXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJpZ2h0OiBcIjBweFwiLFxuICAgICAgICAgICAgICBib3R0b206IFwiMHB4XCIsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50Qm9yZWhvbGVPYmplY3RzW2ldLmN1dGxpZW5BY2l0dmUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUF5Q0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFBQTtBQWlCQTtBQUFBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBRUE7QUFDQTtBQUVBOztBQUlBO0FBa0RBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBR0E7QUFDQTtBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOzs7QUFJQTtBQUVBO0FBRUE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBS0E7O0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBU0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTs7QUFFQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBRUE7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7OztBQUlBO0FBQ0E7QUFLQTtBQUFBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUVBO0FBQ0E7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQXdKQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTs7QUFFQTtBQUtBO0FBQ0E7QUFDQTs7QUFFQTtBQUtBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBUUE7QUFFQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQVFBO0FBTUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBT0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBTUE7QUFDQTtBQUVBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQU1BO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUVBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQW9CQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBR0E7QUFDQTtBQUlBO0FBSUE7QUFJQTtBQUlBO0FBSUE7QUFJQTtBQUlBO0FBSUE7QUFJQTtBQUlBO0FBSUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOzs7QUFRQTtBQUNBOzs7QUFNQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7O0FBUUE7QUFJQTs7O0FBR0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFPQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBS0E7QUFDQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFJQTtBQUNBO0FBQ0E7OztBQUtBO0FBQ0E7QUFJQTs7O0FBR0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBR0E7QUFHQTtBQU9BO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTs7QUFFQTtBQUtBO0FBT0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTs7O0FBS0E7QUFDQTtBQUlBOzs7QUFHQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7OztBQUdBO0FBT0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTs7O0FBS0E7QUFJQTs7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTs7OztBQUlBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBT0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBS0E7Ozs7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBR0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBOztBQUVBOztBQUdBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUlBO0FBQ0E7QUFVQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBU0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFVQTtBQVFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBS0E7QUFNQTtBQUNBO0FBR0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQWNBO0FBV0E7QUFHQTtBQUlBO0FBQ0E7QUFDQTs7QUFHQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFZQTtBQVNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQUE7QUFsL0RBOztBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/commonInterfaceManager.ts\n");
|
|
4035
4035
|
|
|
4036
4036
|
/***/ }),
|
|
4037
4037
|
|
|
@@ -5043,7 +5043,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
5043
5043
|
/*! no static exports found */
|
|
5044
5044
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5045
5045
|
|
|
5046
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-bim-air */ \"./node_modules/gs-bim-air/lib/BimAir.umd.min.js\"), __webpack_require__(/*! ../instancesObjects/instanceRenderObject */ \"./packages/caeDesign/src/gsDevFx/objects/instancesObjects/instanceRenderObject.ts\"), __webpack_require__(/*! ./colorDivBaseObject */ \"./packages/caeDesign/src/gsDevFx/objects/pretreatmentObjects/colorDivBaseObject.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, gs_bim_air_1, instanceRenderObject_1, colorDivBaseObject_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ColorDivHeightObject = void 0;\n var ColorDivHeightObject = function (_super) {\n tslib_1.__extends(ColorDivHeightObject, _super);\n function ColorDivHeightObject() {\n var _this = _super.call(this) || this;\n _this.typeName = \"ColorDivHeightObject\";\n _this.baseHeight = 0;\n _this._heightList = new Array();\n _this._color = new Array();\n _this.members = new Array();\n _this.cloudMembers = new Array();\n _this.instanceTypes.add(\"main\", instanceRenderObject_1.InstanceRenderObject.prototype);\n return _this;\n }\n Object.defineProperty(ColorDivHeightObject.prototype, \"heightList\", {\n get: function get() {\n return this._heightList;\n },\n set: function set(value) {\n this._heightList = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ColorDivHeightObject.prototype, \"color\", {\n get: function get() {\n return this._color;\n },\n set: function set(value) {\n this._color = value;\n },\n enumerable: false,\n configurable: true\n });\n ColorDivHeightObject.prototype.checkHeihgListLegal = function (heightList, colorList) {\n while (!this.checkContinues(heightList)) {\n var index = -1;\n for (var i = 1; i < heightList.length - 1; i += 2) {\n var lastTop = heightList[i];\n var thisBottom = heightList[i + 1];\n if (lastTop !== thisBottom) {\n index = i;\n break;\n }\n }\n if (index !== -1) {\n var tempHeightList = new Array();\n for (var i = 0; i <= index; i++) {\n tempHeightList.push(heightList[i]);\n }\n tempHeightList.push(heightList[index]);\n tempHeightList.push(heightList[index + 1]);\n for (var i = index + 1; i < heightList.length; i++) {\n tempHeightList.push(heightList[i]);\n }\n heightList = tempHeightList;\n var tempColorList = new Array();\n var colorIndex = 4 * (index / 2 + 0.5);\n for (var i = 0; i < colorIndex; i++) {\n tempColorList.push(this.color[i]);\n }\n tempColorList.push(-1);\n tempColorList.push(-1);\n tempColorList.push(-1);\n tempColorList.push(-1);\n for (var i = colorIndex; i < this.color.length; i++) {\n tempColorList.push(this.color[i]);\n }\n colorList = tempColorList;\n }\n }\n return {\n heightList: heightList,\n colorList: colorList\n };\n };\n ColorDivHeightObject.prototype.checkContinues = function (heightList) {\n var isContinous = true;\n for (var i = 1; i < heightList.length - 1; i += 2) {\n var lastTop = heightList[i];\n var thisBottom = heightList[i + 1];\n if (lastTop !== thisBottom) {\n isContinous = false;\n break;\n }\n }\n return isContinous;\n };\n ColorDivHeightObject.prototype.serialize = function () {\n var obj = _super.prototype.serialize.call(this);\n if (this.heightList) {\n obj.heightList = this.heightList;\n }\n if (this.color) {\n obj.color = this.color;\n }\n return obj;\n };\n ColorDivHeightObject.prototype.deserialize = function (obj, pm) {\n _super.prototype.deserialize.call(this, obj, pm);\n if (obj.heightList) {\n this._heightList = obj.heightList;\n }\n if (obj.color) {\n this._color = obj.color;\n }\n };\n ColorDivHeightObject.prototype.active = function (viewer, mudlineElevation) {\n if (mudlineElevation === void 0) {\n mudlineElevation = 0;\n }\n this.baseHeight = 0;\n var heightListPre = tslib_1.__spreadArray([], tslib_1.__read(this.heightList), false);\n for (var i = 0; i < heightListPre.length; i++) {\n heightListPre[i] += mudlineElevation;\n }\n if (this.color.length === 0) {\n for (var i = 0; i < heightListPre.length / 2; i++) {\n var r = Math.random();\n var g = Math.random();\n var b = Math.random();\n this.color.push(r);\n this.color.push(g);\n this.color.push(b);\n this.color.push(1);\n }\n var self_1 = this;\n for (var i = 0; i < self_1.color.length / 4; i++) {\n var color_1 = [self_1.color[4 * i + 0], self_1.color[4 * i + 1], self_1.color[4 * i + 2], self_1.color[4 * i + 3]];\n if (self_1.corrzList) {\n self_1.corrzList[i].color = color_1;\n } else if (self_1.mgrovList) {\n self_1.mgrovList[i].color = color_1;\n }\n }\n }\n var result = this.checkHeihgListLegal(heightListPre, this.color);\n var heightList = result.heightList;\n var color = result.colorList;\n this.members = [];\n this.cloudMembers = [];\n if (heightList && heightList.length > 1) {\n heightList = this.sort(heightList);\n var members = viewer.process.caeRenderObjectTreeManager.memberNode.childObjects;\n for (var i = 0; i < members.length; i++) {\n var member = members[i];\n this.setColorByHeight(viewer, member, heightList, color);\n }\n } else {\n console.log(\"ColorDivGrupIdObject error\");\n }\n viewer.updateDisplay();\n };\n ColorDivHeightObject.prototype.inactive = function (viewer) {\n for (var i = 0; i < this.members.length; i++) {\n this.members[i].visible = true;\n }\n for (var i = 0; i < this.cloudMembers.length; i++) {\n viewer.process.removeRenderObject(this.cloudMembers[i]);\n }\n viewer.updateDisplay();\n };\n ColorDivHeightObject.prototype.sort = function (list) {\n for (var i = 0; i < list.length; i++) {\n for (var j = i; j < list.length; j++) {\n if (list[j] < list[i]) {\n var temp = list[i];\n list[i] = list[j];\n list[j] = temp;\n }\n }\n }\n return list;\n };\n ColorDivHeightObject.prototype.getColorByIndex = function (colors, index) {\n var color = colors.slice(4 * index, 4 * (index + 1));\n return color;\n };\n ColorDivHeightObject.prototype.setColorByHeight = function (viewer, member, heightList, colors) {\n for (var i = 0; i < heightList.length; i++) {\n heightList[i] += this.baseHeight;\n }\n var startPos = member.getStartPosition();\n var endPos = member.getEndPosition();\n var distances = new Array();\n var divColors = new Array();\n var reverseFlag = false;\n var memberBottom = startPos[2];\n var memberTop = endPos[2];\n if (memberBottom > memberTop) {\n reverseFlag = true;\n var temp = memberTop;\n memberTop = memberBottom;\n memberBottom = temp;\n }\n var angle = gs_bim_air_1.Longan.Vector.angle(member.getVector(), new Float32Array([0, 0, 1]));\n for (var i = 0; i < heightList.length; i += 2) {\n var bottom = heightList[i];\n var top_1 = heightList[i + 1];\n if (bottom <= memberBottom && top_1 >= memberTop) {\n var color = this.getColorByIndex(colors, i / 2);\n color = this.checkColorIsTemp(color, member);\n divColors = divColors.concat(color.concat(color));\n distances.push(0);\n distances.push(member.getMemberLength());\n } else if (bottom < memberBottom && top_1 < memberTop && top_1 > memberBottom) {\n distances.push(0);\n distances.push((top_1 - memberBottom) / Math.cos(angle));\n var color = this.getColorByIndex(colors, i / 2);\n color = this.checkColorIsTemp(color, member);\n divColors = divColors.concat(color.concat(color));\n } else if (bottom > memberBottom && top_1 < memberTop) {\n if (distances.length === 0) {\n distances.push(0);\n distances.push((bottom - memberBottom) / Math.cos(angle));\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n }\n distances.push((bottom - memberBottom) / Math.cos(angle));\n distances.push((top_1 - memberBottom) / Math.cos(angle));\n var color = this.getColorByIndex(colors, i / 2);\n color = this.checkColorIsTemp(color, member);\n divColors = divColors.concat(color.concat(color));\n } else if (bottom > memberBottom && top_1 > memberTop && bottom < memberTop) {\n if (distances.length === 0) {\n distances.push(0);\n distances.push((bottom - memberBottom) / Math.cos(angle));\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n }\n distances.push((bottom - memberBottom) / Math.cos(angle));\n distances.push(member.getMemberLength());\n var color = this.getColorByIndex(colors, i / 2);\n color = this.checkColorIsTemp(color, member);\n divColors = divColors.concat(color.concat(color));\n }\n }\n if (distances.length > 0) {\n if (reverseFlag) {\n var tempDivColors = new Array();\n for (var i = divColors.length / 4 - 1; i >= 0; i--) {\n var color = this.getColorByIndex(divColors, i);\n tempDivColors = tempDivColors.concat(color);\n }\n divColors = tempDivColors;\n var tempDistances = new Array();\n for (var i = 0; i < distances.length; i++) {\n tempDistances.push(member.getMemberLength() - distances[distances.length - 1 - i]);\n }\n distances = tempDistances;\n }\n var memberLength = member.getMemberLength();\n if (distances[distances.length - 1] !== memberLength) {\n distances.push(distances[distances.length - 1]);\n distances.push(member.getMemberLength());\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n }\n var resultMembers = viewer.process.cloudMemberTransformManager.createCloudMember(member, distances, divColors);\n if (resultMembers && resultMembers.length > 0) {\n var parentRO = viewer.process.caeRenderObjectTreeManager.tempNode;\n member.visible = false;\n for (var j = 0; j < resultMembers.length; j++) {\n viewer.process.addRenderObject(parentRO, resultMembers[j]);\n resultMembers[j].setNeedUpdate();\n this.cloudMembers.push(resultMembers[j]);\n }\n this.members.push(member);\n }\n }\n };\n ColorDivHeightObject.prototype.checkColorIsTemp = function (color, member) {\n if (color[0] === -1 && color[1] === -1 && color[2] === -1 && color[3] === -1) {\n color[0] = member.faceColor[0] / 255;\n color[1] = member.faceColor[1] / 255;\n color[2] = member.faceColor[2] / 255;\n color[3] = member.faceColor[3];\n }\n return color;\n };\n return ColorDivHeightObject;\n }(colorDivBaseObject_1.ColorDivBaseObject);\n exports.ColorDivHeightObject = ColorDivHeightObject;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2dzRGV2Rngvb2JqZWN0cy9wcmV0cmVhdG1lbnRPYmplY3RzL2NvbG9yRGl2SGVpZ2h0T2JqZWN0LnRzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vW25hbWVdLy4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jb2xvckRpdkhlaWdodE9iamVjdC50cz9hY2ExIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvbmdhbiB9IGZyb20gXCJncy1iaW0tYWlyXCI7XHJcbmltcG9ydCB7IFZpZXdlciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L3ZpZXdlclwiO1xyXG5pbXBvcnQgeyBNZW1iZXJPYmplY3QgfSBmcm9tIFwiLi4vY2FlT2JqZWN0cy9tZW1iZXJPYmplY3RcIjtcclxuaW1wb3J0IHsgSW5zdGFuY2VSZW5kZXJPYmplY3QgfSBmcm9tIFwiLi4vaW5zdGFuY2VzT2JqZWN0cy9pbnN0YW5jZVJlbmRlck9iamVjdFwiO1xyXG5pbXBvcnQgeyBDb2xvckRpdkJhc2VPYmplY3QgfSBmcm9tIFwiLi9jb2xvckRpdkJhc2VPYmplY3RcIjtcclxuLyoqXHJcbiAqIOmrmOeoi+WIhuiJsi5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb2xvckRpdkhlaWdodE9iamVjdCBleHRlbmRzIENvbG9yRGl2QmFzZU9iamVjdCB7XHJcbiAgcHVibGljIHR5cGVOYW1lID0gXCJDb2xvckRpdkhlaWdodE9iamVjdFwiO1xyXG5cclxuICAvLyDpq5jnqIvln7rlh4YuKOS7jua1t+WGteS4reWumuS5iSlcclxuICBwdWJsaWMgYmFzZUhlaWdodCA9IDA7XHJcblxyXG4gIHByb3RlY3RlZCBfaGVpZ2h0TGlzdDogbnVtYmVyW10gPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xyXG4gIHByb3RlY3RlZCBfY29sb3I6IG51bWJlcltdID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICog6KKr6L2s5o2i55qE5p2G5Lu25YiX6KGoXHJcbiAgICovXHJcbiAgbWVtYmVycyA9IG5ldyBBcnJheTxNZW1iZXJPYmplY3Q+KCk7XHJcbiAgLyoqXHJcbiAgICog6L2s5o2i5ZCO55qE5LqR5Zu+5p2G5Lu25YiX6KGoXHJcbiAgICovXHJcbiAgY2xvdWRNZW1iZXJzOiBNZW1iZXJPYmplY3RbXSA9IG5ldyBBcnJheTxNZW1iZXJPYmplY3Q+KCk7XHJcblxyXG4gIGdldCBoZWlnaHRMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hlaWdodExpc3Q7XHJcbiAgfVxyXG5cclxuICBzZXQgaGVpZ2h0TGlzdCh2YWx1ZSkge1xyXG4gICAgdGhpcy5faGVpZ2h0TGlzdCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xyXG4gIH1cclxuXHJcbiAgc2V0IGNvbG9yKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tIZWloZ0xpc3RMZWdhbChoZWlnaHRMaXN0OiBudW1iZXJbXSwgY29sb3JMaXN0OiBudW1iZXJbXSkge1xyXG4gICAgLy8gcmFuZ2UgY2hlY2sgY29udGludW91c1xyXG4gICAgd2hpbGUgKCF0aGlzLmNoZWNrQ29udGludWVzKGhlaWdodExpc3QpKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IC0xO1xyXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGhlaWdodExpc3QubGVuZ3RoIC0gMTsgaSArPSAyKSB7XHJcbiAgICAgICAgLy9cclxuICAgICAgICBsZXQgbGFzdFRvcCA9IGhlaWdodExpc3RbaV07XHJcbiAgICAgICAgbGV0IHRoaXNCb3R0b20gPSBoZWlnaHRMaXN0W2kgKyAxXTtcclxuXHJcbiAgICAgICAgaWYgKGxhc3RUb3AgIT09IHRoaXNCb3R0b20pIHtcclxuICAgICAgICAgIC8vXHJcbiAgICAgICAgICBpbmRleCA9IGk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgICAvL1xyXG4gICAgICAgIGxldCB0ZW1wSGVpZ2h0TGlzdCA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gaW5kZXg7IGkrKykge1xyXG4gICAgICAgICAgdGVtcEhlaWdodExpc3QucHVzaChoZWlnaHRMaXN0W2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGVtcEhlaWdodExpc3QucHVzaChoZWlnaHRMaXN0W2luZGV4XSk7XHJcbiAgICAgICAgdGVtcEhlaWdodExpc3QucHVzaChoZWlnaHRMaXN0W2luZGV4ICsgMV0pO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBpbmRleCArIDE7IGkgPCBoZWlnaHRMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICB0ZW1wSGVpZ2h0TGlzdC5wdXNoKGhlaWdodExpc3RbaV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaGVpZ2h0TGlzdCA9IHRlbXBIZWlnaHRMaXN0O1xyXG5cclxuICAgICAgICBsZXQgdGVtcENvbG9yTGlzdCA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcbiAgICAgICAgbGV0IGNvbG9ySW5kZXggPSA0ICogKGluZGV4IC8gMiArIDAuNSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xvckluZGV4OyBpKyspIHtcclxuICAgICAgICAgIHRlbXBDb2xvckxpc3QucHVzaCh0aGlzLmNvbG9yW2ldKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRlbXBDb2xvckxpc3QucHVzaCgtMSk7XHJcbiAgICAgICAgdGVtcENvbG9yTGlzdC5wdXNoKC0xKTtcclxuICAgICAgICB0ZW1wQ29sb3JMaXN0LnB1c2goLTEpO1xyXG4gICAgICAgIHRlbXBDb2xvckxpc3QucHVzaCgtMSk7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSBjb2xvckluZGV4OyBpIDwgdGhpcy5jb2xvci5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGVtcENvbG9yTGlzdC5wdXNoKHRoaXMuY29sb3JbaV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29sb3JMaXN0ID0gdGVtcENvbG9yTGlzdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IGhlaWdodExpc3QsIGNvbG9yTGlzdCB9O1xyXG4gIH1cclxuXHJcbiAgY2hlY2tDb250aW51ZXMoaGVpZ2h0TGlzdDogbnVtYmVyW10pIHtcclxuICAgIGxldCBpc0NvbnRpbm91cyA9IHRydWU7XHJcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGhlaWdodExpc3QubGVuZ3RoIC0gMTsgaSArPSAyKSB7XHJcbiAgICAgIC8vXHJcbiAgICAgIGxldCBsYXN0VG9wID0gaGVpZ2h0TGlzdFtpXTtcclxuICAgICAgbGV0IHRoaXNCb3R0b20gPSBoZWlnaHRMaXN0W2kgKyAxXTtcclxuXHJcbiAgICAgIGlmIChsYXN0VG9wICE9PSB0aGlzQm90dG9tKSB7XHJcbiAgICAgICAgLy9cclxuICAgICAgICBpc0NvbnRpbm91cyA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlzQ29udGlub3VzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLmluc3RhbmNlVHlwZXMuYWRkKFwibWFpblwiLCBJbnN0YW5jZVJlbmRlck9iamVjdC5wcm90b3R5cGUpO1xyXG4gIH1cclxuXHJcbiAgc2VyaWFsaXplKCkge1xyXG4gICAgbGV0IG9iaiA9IHN1cGVyLnNlcmlhbGl6ZSgpO1xyXG5cclxuICAgIGlmICh0aGlzLmhlaWdodExpc3QpIHtcclxuICAgICAgb2JqLmhlaWdodExpc3QgPSB0aGlzLmhlaWdodExpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29sb3IpIHtcclxuICAgICAgb2JqLmNvbG9yID0gdGhpcy5jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIH1cclxuXHJcbiAgZGVzZXJpYWxpemUob2JqOiBhbnksIHBtPzogTG9uZ2FuLlBlcnNpc3RlbmNlTWFuYWdlcik6IHZvaWQge1xyXG4gICAgc3VwZXIuZGVzZXJpYWxpemUob2JqLCBwbSk7XHJcblxyXG4gICAgaWYgKG9iai5oZWlnaHRMaXN0KSB7XHJcbiAgICAgIHRoaXMuX2hlaWdodExpc3QgPSBvYmouaGVpZ2h0TGlzdDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob2JqLmNvbG9yKSB7XHJcbiAgICAgIHRoaXMuX2NvbG9yID0gb2JqLmNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlKHZpZXdlcjogVmlld2VyLCBtdWRsaW5lRWxldmF0aW9uID0gMCk6IHZvaWQge1xyXG4gICAgdGhpcy5iYXNlSGVpZ2h0ID0gMDtcclxuXHJcbiAgICBsZXQgaGVpZ2h0TGlzdFByZSA9IFsuLi50aGlzLmhlaWdodExpc3RdO1xyXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IGhlaWdodExpc3RQcmUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaGVpZ2h0TGlzdFByZVtpXSArPSBtdWRsaW5lRWxldmF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbG9yLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlaWdodExpc3RQcmUubGVuZ3RoIC8gMjsgaSsrKSB7XHJcbiAgICAgICAgbGV0IHIgPSBNYXRoLnJhbmRvbSgpO1xyXG4gICAgICAgIGxldCBnID0gTWF0aC5yYW5kb20oKTtcclxuICAgICAgICBsZXQgYiA9IE1hdGgucmFuZG9tKCk7XHJcbiAgICAgICAgdGhpcy5jb2xvci5wdXNoKHIpO1xyXG4gICAgICAgIHRoaXMuY29sb3IucHVzaChnKTtcclxuICAgICAgICB0aGlzLmNvbG9yLnB1c2goYik7XHJcbiAgICAgICAgdGhpcy5jb2xvci5wdXNoKDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgc2VsZiA9IHRoaXM7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VsZi5jb2xvci5sZW5ndGggLyA0OyBpKyspIHtcclxuICAgICAgICBsZXQgY29sb3IgPSBbXHJcbiAgICAgICAgICBzZWxmLmNvbG9yWzQgKiBpICsgMF0sXHJcbiAgICAgICAgICBzZWxmLmNvbG9yWzQgKiBpICsgMV0sXHJcbiAgICAgICAgICBzZWxmLmNvbG9yWzQgKiBpICsgMl0sXHJcbiAgICAgICAgICBzZWxmLmNvbG9yWzQgKiBpICsgM10sXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgaWYgKChzZWxmIGFzIGFueSkuY29ycnpMaXN0KSB7XHJcbiAgICAgICAgICAoc2VsZiBhcyBhbnkpLmNvcnJ6TGlzdFtpXS5jb2xvciA9IGNvbG9yO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoKHNlbGYgYXMgYW55KS5tZ3Jvdkxpc3QpIHtcclxuICAgICAgICAgIChzZWxmIGFzIGFueSkubWdyb3ZMaXN0W2ldLmNvbG9yID0gY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5jaGVja0hlaWhnTGlzdExlZ2FsKGhlaWdodExpc3RQcmUsIHRoaXMuY29sb3IpO1xyXG4gICAgbGV0IGhlaWdodExpc3QgPSByZXN1bHQuaGVpZ2h0TGlzdDtcclxuICAgIGxldCBjb2xvciA9IHJlc3VsdC5jb2xvckxpc3Q7XHJcblxyXG4gICAgdGhpcy5tZW1iZXJzID0gW107XHJcbiAgICB0aGlzLmNsb3VkTWVtYmVycyA9IFtdO1xyXG5cclxuICAgIGlmIChoZWlnaHRMaXN0ICYmIGhlaWdodExpc3QubGVuZ3RoID4gMSkge1xyXG4gICAgICAvL1xyXG4gICAgICBoZWlnaHRMaXN0ID0gdGhpcy5zb3J0KGhlaWdodExpc3QpO1xyXG4gICAgICBsZXQgbWVtYmVycyA9IHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLm1lbWJlck5vZGUuY2hpbGRPYmplY3RzO1xyXG5cclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZW1iZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IG1lbWJlciA9IG1lbWJlcnNbaV0gYXMgTWVtYmVyT2JqZWN0O1xyXG4gICAgICAgIHRoaXMuc2V0Q29sb3JCeUhlaWdodCh2aWV3ZXIsIG1lbWJlciwgaGVpZ2h0TGlzdCwgY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkNvbG9yRGl2R3J1cElkT2JqZWN0IGVycm9yXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgfVxyXG5cclxuICBpbmFjdGl2ZSh2aWV3ZXI6IFZpZXdlcikge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1lbWJlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5tZW1iZXJzW2ldLnZpc2libGUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jbG91ZE1lbWJlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdmlld2VyLnByb2Nlc3MucmVtb3ZlUmVuZGVyT2JqZWN0KHRoaXMuY2xvdWRNZW1iZXJzW2ldKTtcclxuICAgIH1cclxuXHJcbiAgICB2aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gIH1cclxuXHJcbiAgc29ydChsaXN0OiBudW1iZXJbXSkge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGZvciAobGV0IGogPSBpOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xyXG4gICAgICAgIGlmIChsaXN0W2pdIDwgbGlzdFtpXSkge1xyXG4gICAgICAgICAgbGV0IHRlbXAgPSBsaXN0W2ldO1xyXG4gICAgICAgICAgbGlzdFtpXSA9IGxpc3Rbal07XHJcbiAgICAgICAgICBsaXN0W2pdID0gdGVtcDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbGlzdDtcclxuICB9XHJcblxyXG4gIGdldENvbG9yQnlJbmRleChjb2xvcnM6IG51bWJlcltdLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICAvL1xyXG4gICAgbGV0IGNvbG9yID0gY29sb3JzLnNsaWNlKDQgKiBpbmRleCwgNCAqIChpbmRleCArIDEpKTtcclxuICAgIHJldHVybiBjb2xvcjtcclxuICB9XHJcblxyXG4gIHNldENvbG9yQnlIZWlnaHQoXHJcbiAgICB2aWV3ZXI6IFZpZXdlcixcclxuICAgIG1lbWJlcjogTWVtYmVyT2JqZWN0LFxyXG4gICAgaGVpZ2h0TGlzdDogbnVtYmVyW10sXHJcbiAgICBjb2xvcnM6IG51bWJlcltdXHJcbiAgKSB7XHJcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgaGVpZ2h0TGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBoZWlnaHRMaXN0W2ldICs9IHRoaXMuYmFzZUhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3RhcnRQb3MgPSBtZW1iZXIuZ2V0U3RhcnRQb3NpdGlvbigpO1xyXG4gICAgbGV0IGVuZFBvcyA9IG1lbWJlci5nZXRFbmRQb3NpdGlvbigpO1xyXG5cclxuICAgIGxldCBkaXN0YW5jZXMgPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xyXG4gICAgbGV0IGRpdkNvbG9ycyA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcblxyXG4gICAgLy8g5p2G5Lu2ZW5k5Zyo5LiL77yMc3RhcnTlnKjkuIouXHJcbiAgICBsZXQgcmV2ZXJzZUZsYWcgPSBmYWxzZTtcclxuICAgIGxldCBtZW1iZXJCb3R0b20gPSBzdGFydFBvc1syXTtcclxuICAgIGxldCBtZW1iZXJUb3AgPSBlbmRQb3NbMl07XHJcbiAgICBpZiAobWVtYmVyQm90dG9tID4gbWVtYmVyVG9wKSB7XHJcbiAgICAgIHJldmVyc2VGbGFnID0gdHJ1ZTtcclxuICAgICAgbGV0IHRlbXAgPSBtZW1iZXJUb3A7XHJcbiAgICAgIG1lbWJlclRvcCA9IG1lbWJlckJvdHRvbTtcclxuICAgICAgbWVtYmVyQm90dG9tID0gdGVtcDtcclxuICAgIH1cclxuXHJcbiAgICAvLyDljLrln5/lnKjmnYbku7blhoXvvIzkuJTkuIrpg6hcclxuICAgIGxldCBhbmdsZSA9IExvbmdhbi5WZWN0b3IuYW5nbGUobWVtYmVyLmdldFZlY3RvcigpLCBuZXcgRmxvYXQzMkFycmF5KFswLCAwLCAxXSkpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoZWlnaHRMaXN0Lmxlbmd0aDsgaSArPSAyKSB7XHJcbiAgICAgIGxldCBib3R0b20gPSBoZWlnaHRMaXN0W2ldO1xyXG4gICAgICBsZXQgdG9wID0gaGVpZ2h0TGlzdFtpICsgMV07XHJcblxyXG4gICAgICBpZiAoYm90dG9tIDw9IG1lbWJlckJvdHRvbSAmJiB0b3AgPj0gbWVtYmVyVG9wKSB7XHJcbiAgICAgICAgLy9cclxuICAgICAgICBsZXQgY29sb3IgPSB0aGlzLmdldENvbG9yQnlJbmRleChjb2xvcnMsIGkgLyAyKTtcclxuICAgICAgICBjb2xvciA9IHRoaXMuY2hlY2tDb2xvcklzVGVtcChjb2xvciwgbWVtYmVyKTtcclxuICAgICAgICBkaXZDb2xvcnMgPSBkaXZDb2xvcnMuY29uY2F0KGNvbG9yLmNvbmNhdChjb2xvcikpO1xyXG5cclxuICAgICAgICBkaXN0YW5jZXMucHVzaCgwKTtcclxuICAgICAgICBkaXN0YW5jZXMucHVzaChtZW1iZXIuZ2V0TWVtYmVyTGVuZ3RoKCkpO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIGJvdHRvbSA8IG1lbWJlckJvdHRvbSAmJlxyXG4gICAgICAgIHRvcCA8IG1lbWJlclRvcCAmJlxyXG4gICAgICAgIHRvcCA+IG1lbWJlckJvdHRvbVxyXG4gICAgICApIHtcclxuICAgICAgICAvLyDljLrln5/lnKjmnYbku7blhoXvvIzkuJTkuIvpg6hcclxuICAgICAgICBkaXN0YW5jZXMucHVzaCgwKTtcclxuICAgICAgICBkaXN0YW5jZXMucHVzaCgodG9wIC0gbWVtYmVyQm90dG9tKSAvIE1hdGguY29zKGFuZ2xlKSk7XHJcblxyXG4gICAgICAgIGxldCBjb2xvciA9IHRoaXMuZ2V0Q29sb3JCeUluZGV4KGNvbG9ycywgaSAvIDIpO1xyXG4gICAgICAgIGNvbG9yID0gdGhpcy5jaGVja0NvbG9ySXNUZW1wKGNvbG9yLCBtZW1iZXIpO1xyXG4gICAgICAgIGRpdkNvbG9ycyA9IGRpdkNvbG9ycy5jb25jYXQoY29sb3IuY29uY2F0KGNvbG9yKSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYm90dG9tID4gbWVtYmVyQm90dG9tICYmIHRvcCA8IG1lbWJlclRvcCkge1xyXG4gICAgICAgIC8vIOWMuuWfn+WcqOadhuS7tuS4remXtFxyXG4gICAgICAgIGlmIChkaXN0YW5jZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICBkaXN0YW5jZXMucHVzaCgwKTtcclxuICAgICAgICAgIGRpc3RhbmNlcy5wdXNoKChib3R0b20gLSBtZW1iZXJCb3R0b20pIC8gTWF0aC5jb3MoYW5nbGUpKTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMF0gLyAyNTUpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclsxXSAvIDI1NSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzJdIC8gMjU1KTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbM10pO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclswXSAvIDI1NSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzFdIC8gMjU1KTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMl0gLyAyNTUpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclszXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXN0YW5jZXMucHVzaCgoYm90dG9tIC0gbWVtYmVyQm90dG9tKSAvIE1hdGguY29zKGFuZ2xlKSk7XHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2goKHRvcCAtIG1lbWJlckJvdHRvbSkgLyBNYXRoLmNvcyhhbmdsZSkpO1xyXG5cclxuICAgICAgICBsZXQgY29sb3IgPSB0aGlzLmdldENvbG9yQnlJbmRleChjb2xvcnMsIGkgLyAyKTtcclxuICAgICAgICBjb2xvciA9IHRoaXMuY2hlY2tDb2xvcklzVGVtcChjb2xvciwgbWVtYmVyKTtcclxuICAgICAgICBkaXZDb2xvcnMgPSBkaXZDb2xvcnMuY29uY2F0KGNvbG9yLmNvbmNhdChjb2xvcikpO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIGJvdHRvbSA+IG1lbWJlckJvdHRvbSAmJlxyXG4gICAgICAgIHRvcCA+IG1lbWJlclRvcCAmJlxyXG4gICAgICAgIGJvdHRvbSA8IG1lbWJlclRvcFxyXG4gICAgICApIHtcclxuICAgICAgICBpZiAoZGlzdGFuY2VzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgZGlzdGFuY2VzLnB1c2goMCk7XHJcbiAgICAgICAgICBkaXN0YW5jZXMucHVzaCgoYm90dG9tIC0gbWVtYmVyQm90dG9tKSAvIE1hdGguY29zKGFuZ2xlKSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzBdIC8gMjU1KTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMV0gLyAyNTUpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclsyXSAvIDI1NSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzNdKTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMF0gLyAyNTUpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclsxXSAvIDI1NSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzJdIC8gMjU1KTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbM10pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2goKGJvdHRvbSAtIG1lbWJlckJvdHRvbSkgLyBNYXRoLmNvcyhhbmdsZSkpO1xyXG4gICAgICAgIGRpc3RhbmNlcy5wdXNoKG1lbWJlci5nZXRNZW1iZXJMZW5ndGgoKSk7XHJcblxyXG4gICAgICAgIGxldCBjb2xvciA9IHRoaXMuZ2V0Q29sb3JCeUluZGV4KGNvbG9ycywgaSAvIDIpO1xyXG4gICAgICAgIGNvbG9yID0gdGhpcy5jaGVja0NvbG9ySXNUZW1wKGNvbG9yLCBtZW1iZXIpO1xyXG4gICAgICAgIGRpdkNvbG9ycyA9IGRpdkNvbG9ycy5jb25jYXQoY29sb3IuY29uY2F0KGNvbG9yKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGlzdGFuY2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHJldmVyc2VGbGFnKSB7XHJcbiAgICAgICAgbGV0IHRlbXBEaXZDb2xvcnMgPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBkaXZDb2xvcnMubGVuZ3RoIC8gNCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICBsZXQgY29sb3IgPSB0aGlzLmdldENvbG9yQnlJbmRleChkaXZDb2xvcnMsIGkpO1xyXG4gICAgICAgICAgdGVtcERpdkNvbG9ycyA9IHRlbXBEaXZDb2xvcnMuY29uY2F0KGNvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpdkNvbG9ycyA9IHRlbXBEaXZDb2xvcnM7XHJcblxyXG4gICAgICAgIGxldCB0ZW1wRGlzdGFuY2VzID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpc3RhbmNlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGVtcERpc3RhbmNlcy5wdXNoKFxyXG4gICAgICAgICAgICBtZW1iZXIuZ2V0TWVtYmVyTGVuZ3RoKCkgLSBkaXN0YW5jZXNbZGlzdGFuY2VzLmxlbmd0aCAtIDEgLSBpXVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpc3RhbmNlcyA9IHRlbXBEaXN0YW5jZXM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIOmVv+W6puagoemqjO+8jOiLpWRpc3RhbmNl5Yy66Ze057uI54K55LiN5Li6bWVtYmVyLkxlbmd0aO+8jOWImea3u+WKoOmineWklueahGRpc3RhbmNl5Yy66Ze077yM6aKc6Imy5Li65p2G5Lu26buY6K6k5YC8LlxyXG4gICAgICBsZXQgbWVtYmVyTGVuZ3RoID0gbWVtYmVyLmdldE1lbWJlckxlbmd0aCgpO1xyXG4gICAgICBpZiAoZGlzdGFuY2VzW2Rpc3RhbmNlcy5sZW5ndGggLSAxXSAhPT0gbWVtYmVyTGVuZ3RoKSB7XHJcbiAgICAgICAgLy9cclxuICAgICAgICBkaXN0YW5jZXMucHVzaChkaXN0YW5jZXNbZGlzdGFuY2VzLmxlbmd0aCAtIDFdKTtcclxuICAgICAgICBkaXN0YW5jZXMucHVzaChtZW1iZXIuZ2V0TWVtYmVyTGVuZ3RoKCkpO1xyXG4gICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMF0gLyAyNTUpO1xyXG4gICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMV0gLyAyNTUpO1xyXG4gICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMl0gLyAyNTUpO1xyXG4gICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbM10pO1xyXG4gICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMF0gLyAyNTUpO1xyXG4gICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMV0gLyAyNTUpO1xyXG4gICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMl0gLyAyNTUpO1xyXG4gICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbM10pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgcmVzdWx0TWVtYmVycyA9XHJcbiAgICAgICAgdmlld2VyLnByb2Nlc3MuY2xvdWRNZW1iZXJUcmFuc2Zvcm1NYW5hZ2VyLmNyZWF0ZUNsb3VkTWVtYmVyKFxyXG4gICAgICAgICAgbWVtYmVyLFxyXG4gICAgICAgICAgZGlzdGFuY2VzLFxyXG4gICAgICAgICAgZGl2Q29sb3JzXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgIGlmIChyZXN1bHRNZW1iZXJzICYmIHJlc3VsdE1lbWJlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBwYXJlbnRSTyA9IHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLnRlbXBOb2RlO1xyXG5cclxuICAgICAgICBtZW1iZXIudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgcmVzdWx0TWVtYmVycy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgdmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KHBhcmVudFJPLCByZXN1bHRNZW1iZXJzW2pdKTtcclxuICAgICAgICAgIHJlc3VsdE1lbWJlcnNbal0uc2V0TmVlZFVwZGF0ZSgpO1xyXG4gICAgICAgICAgdGhpcy5jbG91ZE1lbWJlcnMucHVzaChyZXN1bHRNZW1iZXJzW2pdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubWVtYmVycy5wdXNoKG1lbWJlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIOajgOafpeminOiJsuaYr+WQpi0xXHJcbiAgY2hlY2tDb2xvcklzVGVtcChjb2xvcjogbnVtYmVyW10sIG1lbWJlcjogTWVtYmVyT2JqZWN0KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbG9yWzBdID09PSAtMSAmJlxyXG4gICAgICBjb2xvclsxXSA9PT0gLTEgJiZcclxuICAgICAgY29sb3JbMl0gPT09IC0xICYmXHJcbiAgICAgIGNvbG9yWzNdID09PSAtMVxyXG4gICAgKSB7XHJcbiAgICAgIC8vXHJcbiAgICAgIGNvbG9yWzBdID0gbWVtYmVyLmZhY2VDb2xvclswXSAvIDI1NTtcclxuICAgICAgY29sb3JbMV0gPSBtZW1iZXIuZmFjZUNvbG9yWzFdIC8gMjU1O1xyXG4gICAgICBjb2xvclsyXSA9IG1lbWJlci5mYWNlQ29sb3JbMl0gLyAyNTU7XHJcbiAgICAgIGNvbG9yWzNdID0gbWVtYmVyLmZhY2VDb2xvclszXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVFBO0FBQUE7QUF1R0E7QUFBQTtBQXRHQTtBQUdBO0FBRUE7QUFDQTtBQUtBO0FBSUE7QUEwRkE7O0FBQ0E7QUF6RkE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7OztBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTs7O0FBSUE7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBR0E7OztBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBOzs7QUFJQTtBQUNBO0FBUUE7QUFDQTtBQUVBO0FBQ0E7O0FBR0E7QUFDQTs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7O0FBR0E7QUFDQTs7QUFFQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFLQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQU1BO0FBQ0E7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBRUE7QUFDQTtBQUNBOztBQUtBOztBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQU9BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBOzs7QUFHQTtBQUdBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQWpaQTs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/gsDevFx/objects/pretreatmentObjects/colorDivHeightObject.ts\n");
|
|
5046
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-bim-air */ \"./node_modules/gs-bim-air/lib/BimAir.umd.min.js\"), __webpack_require__(/*! ../instancesObjects/instanceRenderObject */ \"./packages/caeDesign/src/gsDevFx/objects/instancesObjects/instanceRenderObject.ts\"), __webpack_require__(/*! ./colorDivBaseObject */ \"./packages/caeDesign/src/gsDevFx/objects/pretreatmentObjects/colorDivBaseObject.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, gs_bim_air_1, instanceRenderObject_1, colorDivBaseObject_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ColorDivHeightObject = void 0;\n var ColorDivHeightObject = function (_super) {\n tslib_1.__extends(ColorDivHeightObject, _super);\n function ColorDivHeightObject() {\n var _this = _super.call(this) || this;\n _this.typeName = \"ColorDivHeightObject\";\n _this.baseHeight = 0;\n _this._heightList = new Array();\n _this._color = new Array();\n _this.members = new Array();\n _this.cloudMembers = new Array();\n _this.instanceTypes.add(\"main\", instanceRenderObject_1.InstanceRenderObject.prototype);\n return _this;\n }\n Object.defineProperty(ColorDivHeightObject.prototype, \"heightList\", {\n get: function get() {\n return this._heightList;\n },\n set: function set(value) {\n this._heightList = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ColorDivHeightObject.prototype, \"color\", {\n get: function get() {\n return this._color;\n },\n set: function set(value) {\n this._color = value;\n },\n enumerable: false,\n configurable: true\n });\n ColorDivHeightObject.prototype.checkHeihgListLegal = function (heightList, colorList) {\n while (!this.checkContinues(heightList)) {\n var index = -1;\n for (var i = 1; i < heightList.length - 1; i += 2) {\n var lastTop = heightList[i];\n var thisBottom = heightList[i + 1];\n if (lastTop !== thisBottom) {\n index = i;\n break;\n }\n }\n if (index !== -1) {\n var tempHeightList = new Array();\n for (var i = 0; i <= index; i++) {\n tempHeightList.push(heightList[i]);\n }\n tempHeightList.push(heightList[index]);\n tempHeightList.push(heightList[index + 1]);\n for (var i = index + 1; i < heightList.length; i++) {\n tempHeightList.push(heightList[i]);\n }\n heightList = tempHeightList;\n var tempColorList = new Array();\n var colorIndex = 4 * (index / 2 + 0.5);\n for (var i = 0; i < colorIndex; i++) {\n tempColorList.push(this.color[i]);\n }\n tempColorList.push(-1);\n tempColorList.push(-1);\n tempColorList.push(-1);\n tempColorList.push(-1);\n for (var i = colorIndex; i < this.color.length; i++) {\n tempColorList.push(this.color[i]);\n }\n colorList = tempColorList;\n }\n }\n return {\n heightList: heightList,\n colorList: colorList\n };\n };\n ColorDivHeightObject.prototype.checkContinues = function (heightList) {\n var isContinous = true;\n for (var i = 1; i < heightList.length - 1; i += 2) {\n var lastTop = heightList[i];\n var thisBottom = heightList[i + 1];\n if (lastTop !== thisBottom) {\n isContinous = false;\n break;\n }\n }\n return isContinous;\n };\n ColorDivHeightObject.prototype.serialize = function () {\n var obj = _super.prototype.serialize.call(this);\n if (this.heightList) {\n obj.heightList = this.heightList;\n }\n if (this.color) {\n obj.color = this.color;\n }\n return obj;\n };\n ColorDivHeightObject.prototype.deserialize = function (obj, pm) {\n _super.prototype.deserialize.call(this, obj, pm);\n if (obj.heightList) {\n this._heightList = obj.heightList;\n }\n if (obj.color) {\n this._color = obj.color;\n }\n };\n ColorDivHeightObject.prototype.active = function (viewer, mudlineElevation) {\n if (mudlineElevation === void 0) {\n mudlineElevation = 0;\n }\n this.baseHeight = 0;\n var heightListPre = tslib_1.__spreadArray([], tslib_1.__read(this.heightList), false);\n for (var i = 0; i < heightListPre.length; i++) {\n heightListPre[i] += mudlineElevation;\n }\n if (this.color.length === 0) {\n for (var i = 0; i < heightListPre.length / 2; i++) {\n var r = Math.random();\n var g = Math.random();\n var b = Math.random();\n this.color.push(r);\n this.color.push(g);\n this.color.push(b);\n this.color.push(1);\n }\n var self_1 = this;\n for (var i = 0; i < self_1.color.length / 4; i++) {\n var color_1 = [self_1.color[4 * i + 0], self_1.color[4 * i + 1], self_1.color[4 * i + 2], self_1.color[4 * i + 3]];\n if (self_1.corrzList) {\n self_1.corrzList[i].color = color_1;\n } else if (self_1.mgrovList) {\n self_1.mgrovList[i].color = color_1;\n }\n }\n }\n var result = this.checkHeihgListLegal(heightListPre, this.color);\n var heightList = result.heightList;\n var color = result.colorList;\n this.members = [];\n this.cloudMembers = [];\n if (heightList && heightList.length > 1) {\n heightList = this.sort(heightList);\n var members = viewer.process.caeRenderObjectTreeManager.memberNode.childObjects;\n for (var i = 0; i < members.length; i++) {\n var member = members[i];\n this.setColorByHeight(viewer, member, heightList, color);\n }\n } else {\n console.log(\"ColorDivGrupIdObject error\");\n }\n viewer.updateDisplay();\n };\n ColorDivHeightObject.prototype.inactive = function (viewer) {\n for (var i = 0; i < this.members.length; i++) {\n var iro = viewer.findInstanceObject(this.members[i]);\n if (iro) {\n iro.visible = true;\n }\n }\n for (var i = 0; i < this.cloudMembers.length; i++) {\n viewer.process.removeRenderObject(this.cloudMembers[i]);\n }\n viewer.updateDisplay();\n };\n ColorDivHeightObject.prototype.sort = function (list) {\n for (var i = 0; i < list.length; i++) {\n for (var j = i; j < list.length; j++) {\n if (list[j] < list[i]) {\n var temp = list[i];\n list[i] = list[j];\n list[j] = temp;\n }\n }\n }\n return list;\n };\n ColorDivHeightObject.prototype.getColorByIndex = function (colors, index) {\n var color = colors.slice(4 * index, 4 * (index + 1));\n return color;\n };\n ColorDivHeightObject.prototype.setColorByHeight = function (viewer, member, heightList, colors) {\n for (var i = 0; i < heightList.length; i++) {\n heightList[i] += this.baseHeight;\n }\n var startPos = member.getStartPosition();\n var endPos = member.getEndPosition();\n var distances = new Array();\n var divColors = new Array();\n var reverseFlag = false;\n var memberBottom = startPos[2];\n var memberTop = endPos[2];\n if (memberBottom > memberTop) {\n reverseFlag = true;\n var temp = memberTop;\n memberTop = memberBottom;\n memberBottom = temp;\n }\n var angle = gs_bim_air_1.Longan.Vector.angle(member.getVector(), new Float32Array([0, 0, 1]));\n for (var i = 0; i < heightList.length; i += 2) {\n var bottom = heightList[i];\n var top_1 = heightList[i + 1];\n if (bottom <= memberBottom && top_1 >= memberTop) {\n var color = this.getColorByIndex(colors, i / 2);\n color = this.checkColorIsTemp(color, member);\n divColors = divColors.concat(color.concat(color));\n distances.push(0);\n distances.push(member.getMemberLength());\n } else if (bottom < memberBottom && top_1 < memberTop && top_1 > memberBottom) {\n distances.push(0);\n distances.push((top_1 - memberBottom) / Math.cos(angle));\n var color = this.getColorByIndex(colors, i / 2);\n color = this.checkColorIsTemp(color, member);\n divColors = divColors.concat(color.concat(color));\n } else if (bottom > memberBottom && top_1 < memberTop) {\n if (distances.length === 0) {\n distances.push(0);\n distances.push((bottom - memberBottom) / Math.cos(angle));\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n }\n distances.push((bottom - memberBottom) / Math.cos(angle));\n distances.push((top_1 - memberBottom) / Math.cos(angle));\n var color = this.getColorByIndex(colors, i / 2);\n color = this.checkColorIsTemp(color, member);\n divColors = divColors.concat(color.concat(color));\n } else if (bottom > memberBottom && top_1 > memberTop && bottom < memberTop) {\n if (distances.length === 0) {\n distances.push(0);\n distances.push((bottom - memberBottom) / Math.cos(angle));\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n }\n distances.push((bottom - memberBottom) / Math.cos(angle));\n distances.push(member.getMemberLength());\n var color = this.getColorByIndex(colors, i / 2);\n color = this.checkColorIsTemp(color, member);\n divColors = divColors.concat(color.concat(color));\n }\n }\n if (distances.length > 0) {\n if (reverseFlag) {\n var tempDivColors = new Array();\n for (var i = divColors.length / 4 - 1; i >= 0; i--) {\n var color = this.getColorByIndex(divColors, i);\n tempDivColors = tempDivColors.concat(color);\n }\n divColors = tempDivColors;\n var tempDistances = new Array();\n for (var i = 0; i < distances.length; i++) {\n tempDistances.push(member.getMemberLength() - distances[distances.length - 1 - i]);\n }\n distances = tempDistances;\n }\n var memberLength = member.getMemberLength();\n if (distances[distances.length - 1] !== memberLength) {\n distances.push(distances[distances.length - 1]);\n distances.push(member.getMemberLength());\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n divColors.push(member.faceColor[0] / 255);\n divColors.push(member.faceColor[1] / 255);\n divColors.push(member.faceColor[2] / 255);\n divColors.push(member.faceColor[3]);\n }\n var resultMembers = viewer.process.cloudMemberTransformManager.createCloudMember(member, distances, divColors);\n if (resultMembers && resultMembers.length > 0) {\n var parentRO = viewer.process.caeRenderObjectTreeManager.tempNode;\n var iro = viewer.findInstanceObject(member);\n if (iro) {\n iro.visible = false;\n }\n for (var j = 0; j < resultMembers.length; j++) {\n viewer.process.addRenderObject(parentRO, resultMembers[j]);\n resultMembers[j].setNeedUpdate();\n this.cloudMembers.push(resultMembers[j]);\n }\n this.members.push(member);\n }\n }\n };\n ColorDivHeightObject.prototype.checkColorIsTemp = function (color, member) {\n if (color[0] === -1 && color[1] === -1 && color[2] === -1 && color[3] === -1) {\n color[0] = member.faceColor[0] / 255;\n color[1] = member.faceColor[1] / 255;\n color[2] = member.faceColor[2] / 255;\n color[3] = member.faceColor[3];\n }\n return color;\n };\n return ColorDivHeightObject;\n }(colorDivBaseObject_1.ColorDivBaseObject);\n exports.ColorDivHeightObject = ColorDivHeightObject;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL2dzRGV2Rngvb2JqZWN0cy9wcmV0cmVhdG1lbnRPYmplY3RzL2NvbG9yRGl2SGVpZ2h0T2JqZWN0LnRzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vW25hbWVdLy4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy9nc0RldkZ4L29iamVjdHMvcHJldHJlYXRtZW50T2JqZWN0cy9jb2xvckRpdkhlaWdodE9iamVjdC50cz9hY2ExIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvbmdhbiB9IGZyb20gXCJncy1iaW0tYWlyXCI7XHJcbmltcG9ydCB7IFZpZXdlciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L3ZpZXdlclwiO1xyXG5pbXBvcnQgeyBNZW1iZXJPYmplY3QgfSBmcm9tIFwiLi4vY2FlT2JqZWN0cy9tZW1iZXJPYmplY3RcIjtcclxuaW1wb3J0IHsgSW5zdGFuY2VSZW5kZXJPYmplY3QgfSBmcm9tIFwiLi4vaW5zdGFuY2VzT2JqZWN0cy9pbnN0YW5jZVJlbmRlck9iamVjdFwiO1xyXG5pbXBvcnQgeyBDb2xvckRpdkJhc2VPYmplY3QgfSBmcm9tIFwiLi9jb2xvckRpdkJhc2VPYmplY3RcIjtcclxuLyoqXHJcbiAqIOmrmOeoi+WIhuiJsi5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb2xvckRpdkhlaWdodE9iamVjdCBleHRlbmRzIENvbG9yRGl2QmFzZU9iamVjdCB7XHJcbiAgcHVibGljIHR5cGVOYW1lID0gXCJDb2xvckRpdkhlaWdodE9iamVjdFwiO1xyXG5cclxuICAvLyDpq5jnqIvln7rlh4YuKOS7jua1t+WGteS4reWumuS5iSlcclxuICBwdWJsaWMgYmFzZUhlaWdodCA9IDA7XHJcblxyXG4gIHByb3RlY3RlZCBfaGVpZ2h0TGlzdDogbnVtYmVyW10gPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xyXG4gIHByb3RlY3RlZCBfY29sb3I6IG51bWJlcltdID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICog6KKr6L2s5o2i55qE5p2G5Lu25YiX6KGoXHJcbiAgICovXHJcbiAgbWVtYmVycyA9IG5ldyBBcnJheTxNZW1iZXJPYmplY3Q+KCk7XHJcbiAgLyoqXHJcbiAgICog6L2s5o2i5ZCO55qE5LqR5Zu+5p2G5Lu25YiX6KGoXHJcbiAgICovXHJcbiAgY2xvdWRNZW1iZXJzOiBNZW1iZXJPYmplY3RbXSA9IG5ldyBBcnJheTxNZW1iZXJPYmplY3Q+KCk7XHJcblxyXG4gIGdldCBoZWlnaHRMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hlaWdodExpc3Q7XHJcbiAgfVxyXG5cclxuICBzZXQgaGVpZ2h0TGlzdCh2YWx1ZSkge1xyXG4gICAgdGhpcy5faGVpZ2h0TGlzdCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xyXG4gIH1cclxuXHJcbiAgc2V0IGNvbG9yKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tIZWloZ0xpc3RMZWdhbChoZWlnaHRMaXN0OiBudW1iZXJbXSwgY29sb3JMaXN0OiBudW1iZXJbXSkge1xyXG4gICAgLy8gcmFuZ2UgY2hlY2sgY29udGludW91c1xyXG4gICAgd2hpbGUgKCF0aGlzLmNoZWNrQ29udGludWVzKGhlaWdodExpc3QpKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IC0xO1xyXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGhlaWdodExpc3QubGVuZ3RoIC0gMTsgaSArPSAyKSB7XHJcbiAgICAgICAgLy9cclxuICAgICAgICBsZXQgbGFzdFRvcCA9IGhlaWdodExpc3RbaV07XHJcbiAgICAgICAgbGV0IHRoaXNCb3R0b20gPSBoZWlnaHRMaXN0W2kgKyAxXTtcclxuXHJcbiAgICAgICAgaWYgKGxhc3RUb3AgIT09IHRoaXNCb3R0b20pIHtcclxuICAgICAgICAgIC8vXHJcbiAgICAgICAgICBpbmRleCA9IGk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgICAvL1xyXG4gICAgICAgIGxldCB0ZW1wSGVpZ2h0TGlzdCA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gaW5kZXg7IGkrKykge1xyXG4gICAgICAgICAgdGVtcEhlaWdodExpc3QucHVzaChoZWlnaHRMaXN0W2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGVtcEhlaWdodExpc3QucHVzaChoZWlnaHRMaXN0W2luZGV4XSk7XHJcbiAgICAgICAgdGVtcEhlaWdodExpc3QucHVzaChoZWlnaHRMaXN0W2luZGV4ICsgMV0pO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBpbmRleCArIDE7IGkgPCBoZWlnaHRMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICB0ZW1wSGVpZ2h0TGlzdC5wdXNoKGhlaWdodExpc3RbaV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaGVpZ2h0TGlzdCA9IHRlbXBIZWlnaHRMaXN0O1xyXG5cclxuICAgICAgICBsZXQgdGVtcENvbG9yTGlzdCA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcbiAgICAgICAgbGV0IGNvbG9ySW5kZXggPSA0ICogKGluZGV4IC8gMiArIDAuNSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xvckluZGV4OyBpKyspIHtcclxuICAgICAgICAgIHRlbXBDb2xvckxpc3QucHVzaCh0aGlzLmNvbG9yW2ldKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRlbXBDb2xvckxpc3QucHVzaCgtMSk7XHJcbiAgICAgICAgdGVtcENvbG9yTGlzdC5wdXNoKC0xKTtcclxuICAgICAgICB0ZW1wQ29sb3JMaXN0LnB1c2goLTEpO1xyXG4gICAgICAgIHRlbXBDb2xvckxpc3QucHVzaCgtMSk7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSBjb2xvckluZGV4OyBpIDwgdGhpcy5jb2xvci5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGVtcENvbG9yTGlzdC5wdXNoKHRoaXMuY29sb3JbaV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29sb3JMaXN0ID0gdGVtcENvbG9yTGlzdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IGhlaWdodExpc3QsIGNvbG9yTGlzdCB9O1xyXG4gIH1cclxuXHJcbiAgY2hlY2tDb250aW51ZXMoaGVpZ2h0TGlzdDogbnVtYmVyW10pIHtcclxuICAgIGxldCBpc0NvbnRpbm91cyA9IHRydWU7XHJcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGhlaWdodExpc3QubGVuZ3RoIC0gMTsgaSArPSAyKSB7XHJcbiAgICAgIC8vXHJcbiAgICAgIGxldCBsYXN0VG9wID0gaGVpZ2h0TGlzdFtpXTtcclxuICAgICAgbGV0IHRoaXNCb3R0b20gPSBoZWlnaHRMaXN0W2kgKyAxXTtcclxuXHJcbiAgICAgIGlmIChsYXN0VG9wICE9PSB0aGlzQm90dG9tKSB7XHJcbiAgICAgICAgLy9cclxuICAgICAgICBpc0NvbnRpbm91cyA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlzQ29udGlub3VzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLmluc3RhbmNlVHlwZXMuYWRkKFwibWFpblwiLCBJbnN0YW5jZVJlbmRlck9iamVjdC5wcm90b3R5cGUpO1xyXG4gIH1cclxuXHJcbiAgc2VyaWFsaXplKCkge1xyXG4gICAgbGV0IG9iaiA9IHN1cGVyLnNlcmlhbGl6ZSgpO1xyXG5cclxuICAgIGlmICh0aGlzLmhlaWdodExpc3QpIHtcclxuICAgICAgb2JqLmhlaWdodExpc3QgPSB0aGlzLmhlaWdodExpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29sb3IpIHtcclxuICAgICAgb2JqLmNvbG9yID0gdGhpcy5jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIH1cclxuXHJcbiAgZGVzZXJpYWxpemUob2JqOiBhbnksIHBtPzogTG9uZ2FuLlBlcnNpc3RlbmNlTWFuYWdlcik6IHZvaWQge1xyXG4gICAgc3VwZXIuZGVzZXJpYWxpemUob2JqLCBwbSk7XHJcblxyXG4gICAgaWYgKG9iai5oZWlnaHRMaXN0KSB7XHJcbiAgICAgIHRoaXMuX2hlaWdodExpc3QgPSBvYmouaGVpZ2h0TGlzdDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob2JqLmNvbG9yKSB7XHJcbiAgICAgIHRoaXMuX2NvbG9yID0gb2JqLmNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlKHZpZXdlcjogVmlld2VyLCBtdWRsaW5lRWxldmF0aW9uID0gMCk6IHZvaWQge1xyXG4gICAgdGhpcy5iYXNlSGVpZ2h0ID0gMDtcclxuXHJcbiAgICBsZXQgaGVpZ2h0TGlzdFByZSA9IFsuLi50aGlzLmhlaWdodExpc3RdO1xyXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IGhlaWdodExpc3RQcmUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaGVpZ2h0TGlzdFByZVtpXSArPSBtdWRsaW5lRWxldmF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbG9yLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlaWdodExpc3RQcmUubGVuZ3RoIC8gMjsgaSsrKSB7XHJcbiAgICAgICAgbGV0IHIgPSBNYXRoLnJhbmRvbSgpO1xyXG4gICAgICAgIGxldCBnID0gTWF0aC5yYW5kb20oKTtcclxuICAgICAgICBsZXQgYiA9IE1hdGgucmFuZG9tKCk7XHJcbiAgICAgICAgdGhpcy5jb2xvci5wdXNoKHIpO1xyXG4gICAgICAgIHRoaXMuY29sb3IucHVzaChnKTtcclxuICAgICAgICB0aGlzLmNvbG9yLnB1c2goYik7XHJcbiAgICAgICAgdGhpcy5jb2xvci5wdXNoKDEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgc2VsZiA9IHRoaXM7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VsZi5jb2xvci5sZW5ndGggLyA0OyBpKyspIHtcclxuICAgICAgICBsZXQgY29sb3IgPSBbXHJcbiAgICAgICAgICBzZWxmLmNvbG9yWzQgKiBpICsgMF0sXHJcbiAgICAgICAgICBzZWxmLmNvbG9yWzQgKiBpICsgMV0sXHJcbiAgICAgICAgICBzZWxmLmNvbG9yWzQgKiBpICsgMl0sXHJcbiAgICAgICAgICBzZWxmLmNvbG9yWzQgKiBpICsgM10sXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgaWYgKChzZWxmIGFzIGFueSkuY29ycnpMaXN0KSB7XHJcbiAgICAgICAgICAoc2VsZiBhcyBhbnkpLmNvcnJ6TGlzdFtpXS5jb2xvciA9IGNvbG9yO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoKHNlbGYgYXMgYW55KS5tZ3Jvdkxpc3QpIHtcclxuICAgICAgICAgIChzZWxmIGFzIGFueSkubWdyb3ZMaXN0W2ldLmNvbG9yID0gY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5jaGVja0hlaWhnTGlzdExlZ2FsKGhlaWdodExpc3RQcmUsIHRoaXMuY29sb3IpO1xyXG4gICAgbGV0IGhlaWdodExpc3QgPSByZXN1bHQuaGVpZ2h0TGlzdDtcclxuICAgIGxldCBjb2xvciA9IHJlc3VsdC5jb2xvckxpc3Q7XHJcblxyXG4gICAgdGhpcy5tZW1iZXJzID0gW107XHJcbiAgICB0aGlzLmNsb3VkTWVtYmVycyA9IFtdO1xyXG5cclxuICAgIGlmIChoZWlnaHRMaXN0ICYmIGhlaWdodExpc3QubGVuZ3RoID4gMSkge1xyXG4gICAgICAvL1xyXG4gICAgICBoZWlnaHRMaXN0ID0gdGhpcy5zb3J0KGhlaWdodExpc3QpO1xyXG4gICAgICBsZXQgbWVtYmVycyA9IHZpZXdlci5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLm1lbWJlck5vZGUuY2hpbGRPYmplY3RzO1xyXG5cclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZW1iZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IG1lbWJlciA9IG1lbWJlcnNbaV0gYXMgTWVtYmVyT2JqZWN0O1xyXG4gICAgICAgIHRoaXMuc2V0Q29sb3JCeUhlaWdodCh2aWV3ZXIsIG1lbWJlciwgaGVpZ2h0TGlzdCwgY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkNvbG9yRGl2R3J1cElkT2JqZWN0IGVycm9yXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgfVxyXG5cclxuICBpbmFjdGl2ZSh2aWV3ZXI6IFZpZXdlcikge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1lbWJlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGlybyA9IHZpZXdlci5maW5kSW5zdGFuY2VPYmplY3QodGhpcy5tZW1iZXJzW2ldKTtcclxuICAgICAgaWYoaXJvKSB7XHJcbiAgICAgICAgaXJvLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHRoaXMubWVtYmVyc1tpXS52aXNpYmxlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2xvdWRNZW1iZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHZpZXdlci5wcm9jZXNzLnJlbW92ZVJlbmRlck9iamVjdCh0aGlzLmNsb3VkTWVtYmVyc1tpXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICB9XHJcblxyXG4gIHNvcnQobGlzdDogbnVtYmVyW10pIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBmb3IgKGxldCBqID0gaTsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICBpZiAobGlzdFtqXSA8IGxpc3RbaV0pIHtcclxuICAgICAgICAgIGxldCB0ZW1wID0gbGlzdFtpXTtcclxuICAgICAgICAgIGxpc3RbaV0gPSBsaXN0W2pdO1xyXG4gICAgICAgICAgbGlzdFtqXSA9IHRlbXA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxpc3Q7XHJcbiAgfVxyXG5cclxuICBnZXRDb2xvckJ5SW5kZXgoY29sb3JzOiBudW1iZXJbXSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgLy9cclxuICAgIGxldCBjb2xvciA9IGNvbG9ycy5zbGljZSg0ICogaW5kZXgsIDQgKiAoaW5kZXggKyAxKSk7XHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG5cclxuICBzZXRDb2xvckJ5SGVpZ2h0KFxyXG4gICAgdmlld2VyOiBWaWV3ZXIsXHJcbiAgICBtZW1iZXI6IE1lbWJlck9iamVjdCxcclxuICAgIGhlaWdodExpc3Q6IG51bWJlcltdLFxyXG4gICAgY29sb3JzOiBudW1iZXJbXVxyXG4gICkge1xyXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IGhlaWdodExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaGVpZ2h0TGlzdFtpXSArPSB0aGlzLmJhc2VIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHN0YXJ0UG9zID0gbWVtYmVyLmdldFN0YXJ0UG9zaXRpb24oKTtcclxuICAgIGxldCBlbmRQb3MgPSBtZW1iZXIuZ2V0RW5kUG9zaXRpb24oKTtcclxuXHJcbiAgICBsZXQgZGlzdGFuY2VzID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICAgIGxldCBkaXZDb2xvcnMgPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xyXG5cclxuICAgIC8vIOadhuS7tmVuZOWcqOS4i++8jHN0YXJ05Zyo5LiKLlxyXG4gICAgbGV0IHJldmVyc2VGbGFnID0gZmFsc2U7XHJcbiAgICBsZXQgbWVtYmVyQm90dG9tID0gc3RhcnRQb3NbMl07XHJcbiAgICBsZXQgbWVtYmVyVG9wID0gZW5kUG9zWzJdO1xyXG4gICAgaWYgKG1lbWJlckJvdHRvbSA+IG1lbWJlclRvcCkge1xyXG4gICAgICByZXZlcnNlRmxhZyA9IHRydWU7XHJcbiAgICAgIGxldCB0ZW1wID0gbWVtYmVyVG9wO1xyXG4gICAgICBtZW1iZXJUb3AgPSBtZW1iZXJCb3R0b207XHJcbiAgICAgIG1lbWJlckJvdHRvbSA9IHRlbXA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8g5Yy65Z+f5Zyo5p2G5Lu25YaF77yM5LiU5LiK6YOoXHJcbiAgICBsZXQgYW5nbGUgPSBMb25nYW4uVmVjdG9yLmFuZ2xlKG1lbWJlci5nZXRWZWN0b3IoKSwgbmV3IEZsb2F0MzJBcnJheShbMCwgMCwgMV0pKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGVpZ2h0TGlzdC5sZW5ndGg7IGkgKz0gMikge1xyXG4gICAgICBsZXQgYm90dG9tID0gaGVpZ2h0TGlzdFtpXTtcclxuICAgICAgbGV0IHRvcCA9IGhlaWdodExpc3RbaSArIDFdO1xyXG5cclxuICAgICAgaWYgKGJvdHRvbSA8PSBtZW1iZXJCb3R0b20gJiYgdG9wID49IG1lbWJlclRvcCkge1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgbGV0IGNvbG9yID0gdGhpcy5nZXRDb2xvckJ5SW5kZXgoY29sb3JzLCBpIC8gMik7XHJcbiAgICAgICAgY29sb3IgPSB0aGlzLmNoZWNrQ29sb3JJc1RlbXAoY29sb3IsIG1lbWJlcik7XHJcbiAgICAgICAgZGl2Q29sb3JzID0gZGl2Q29sb3JzLmNvbmNhdChjb2xvci5jb25jYXQoY29sb3IpKTtcclxuXHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2goMCk7XHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2gobWVtYmVyLmdldE1lbWJlckxlbmd0aCgpKTtcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBib3R0b20gPCBtZW1iZXJCb3R0b20gJiZcclxuICAgICAgICB0b3AgPCBtZW1iZXJUb3AgJiZcclxuICAgICAgICB0b3AgPiBtZW1iZXJCb3R0b21cclxuICAgICAgKSB7XHJcbiAgICAgICAgLy8g5Yy65Z+f5Zyo5p2G5Lu25YaF77yM5LiU5LiL6YOoXHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2goMCk7XHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2goKHRvcCAtIG1lbWJlckJvdHRvbSkgLyBNYXRoLmNvcyhhbmdsZSkpO1xyXG5cclxuICAgICAgICBsZXQgY29sb3IgPSB0aGlzLmdldENvbG9yQnlJbmRleChjb2xvcnMsIGkgLyAyKTtcclxuICAgICAgICBjb2xvciA9IHRoaXMuY2hlY2tDb2xvcklzVGVtcChjb2xvciwgbWVtYmVyKTtcclxuICAgICAgICBkaXZDb2xvcnMgPSBkaXZDb2xvcnMuY29uY2F0KGNvbG9yLmNvbmNhdChjb2xvcikpO1xyXG4gICAgICB9IGVsc2UgaWYgKGJvdHRvbSA+IG1lbWJlckJvdHRvbSAmJiB0b3AgPCBtZW1iZXJUb3ApIHtcclxuICAgICAgICAvLyDljLrln5/lnKjmnYbku7bkuK3pl7RcclxuICAgICAgICBpZiAoZGlzdGFuY2VzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgZGlzdGFuY2VzLnB1c2goMCk7XHJcbiAgICAgICAgICBkaXN0YW5jZXMucHVzaCgoYm90dG9tIC0gbWVtYmVyQm90dG9tKSAvIE1hdGguY29zKGFuZ2xlKSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzBdIC8gMjU1KTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMV0gLyAyNTUpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclsyXSAvIDI1NSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzNdKTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMF0gLyAyNTUpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclsxXSAvIDI1NSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzJdIC8gMjU1KTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbM10pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2goKGJvdHRvbSAtIG1lbWJlckJvdHRvbSkgLyBNYXRoLmNvcyhhbmdsZSkpO1xyXG4gICAgICAgIGRpc3RhbmNlcy5wdXNoKCh0b3AgLSBtZW1iZXJCb3R0b20pIC8gTWF0aC5jb3MoYW5nbGUpKTtcclxuXHJcbiAgICAgICAgbGV0IGNvbG9yID0gdGhpcy5nZXRDb2xvckJ5SW5kZXgoY29sb3JzLCBpIC8gMik7XHJcbiAgICAgICAgY29sb3IgPSB0aGlzLmNoZWNrQ29sb3JJc1RlbXAoY29sb3IsIG1lbWJlcik7XHJcbiAgICAgICAgZGl2Q29sb3JzID0gZGl2Q29sb3JzLmNvbmNhdChjb2xvci5jb25jYXQoY29sb3IpKTtcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBib3R0b20gPiBtZW1iZXJCb3R0b20gJiZcclxuICAgICAgICB0b3AgPiBtZW1iZXJUb3AgJiZcclxuICAgICAgICBib3R0b20gPCBtZW1iZXJUb3BcclxuICAgICAgKSB7XHJcbiAgICAgICAgaWYgKGRpc3RhbmNlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgIGRpc3RhbmNlcy5wdXNoKDApO1xyXG4gICAgICAgICAgZGlzdGFuY2VzLnB1c2goKGJvdHRvbSAtIG1lbWJlckJvdHRvbSkgLyBNYXRoLmNvcyhhbmdsZSkpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclswXSAvIDI1NSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzFdIC8gMjU1KTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMl0gLyAyNTUpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclszXSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzBdIC8gMjU1KTtcclxuICAgICAgICAgIGRpdkNvbG9ycy5wdXNoKG1lbWJlci5mYWNlQ29sb3JbMV0gLyAyNTUpO1xyXG4gICAgICAgICAgZGl2Q29sb3JzLnB1c2gobWVtYmVyLmZhY2VDb2xvclsyXSAvIDI1NSk7XHJcbiAgICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzNdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpc3RhbmNlcy5wdXNoKChib3R0b20gLSBtZW1iZXJCb3R0b20pIC8gTWF0aC5jb3MoYW5nbGUpKTtcclxuICAgICAgICBkaXN0YW5jZXMucHVzaChtZW1iZXIuZ2V0TWVtYmVyTGVuZ3RoKCkpO1xyXG5cclxuICAgICAgICBsZXQgY29sb3IgPSB0aGlzLmdldENvbG9yQnlJbmRleChjb2xvcnMsIGkgLyAyKTtcclxuICAgICAgICBjb2xvciA9IHRoaXMuY2hlY2tDb2xvcklzVGVtcChjb2xvciwgbWVtYmVyKTtcclxuICAgICAgICBkaXZDb2xvcnMgPSBkaXZDb2xvcnMuY29uY2F0KGNvbG9yLmNvbmNhdChjb2xvcikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRpc3RhbmNlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmIChyZXZlcnNlRmxhZykge1xyXG4gICAgICAgIGxldCB0ZW1wRGl2Q29sb3JzID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gZGl2Q29sb3JzLmxlbmd0aCAvIDQgLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgbGV0IGNvbG9yID0gdGhpcy5nZXRDb2xvckJ5SW5kZXgoZGl2Q29sb3JzLCBpKTtcclxuICAgICAgICAgIHRlbXBEaXZDb2xvcnMgPSB0ZW1wRGl2Q29sb3JzLmNvbmNhdChjb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXZDb2xvcnMgPSB0ZW1wRGl2Q29sb3JzO1xyXG5cclxuICAgICAgICBsZXQgdGVtcERpc3RhbmNlcyA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaXN0YW5jZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRlbXBEaXN0YW5jZXMucHVzaChcclxuICAgICAgICAgICAgbWVtYmVyLmdldE1lbWJlckxlbmd0aCgpIC0gZGlzdGFuY2VzW2Rpc3RhbmNlcy5sZW5ndGggLSAxIC0gaV1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXN0YW5jZXMgPSB0ZW1wRGlzdGFuY2VzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyDplb/luqbmoKHpqozvvIzoi6VkaXN0YW5jZeWMuumXtOe7iOeCueS4jeS4um1lbWJlci5MZW5ndGjvvIzliJnmt7vliqDpop3lpJbnmoRkaXN0YW5jZeWMuumXtO+8jOminOiJsuS4uuadhuS7tum7mOiupOWAvC5cclxuICAgICAgbGV0IG1lbWJlckxlbmd0aCA9IG1lbWJlci5nZXRNZW1iZXJMZW5ndGgoKTtcclxuICAgICAgaWYgKGRpc3RhbmNlc1tkaXN0YW5jZXMubGVuZ3RoIC0gMV0gIT09IG1lbWJlckxlbmd0aCkge1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2goZGlzdGFuY2VzW2Rpc3RhbmNlcy5sZW5ndGggLSAxXSk7XHJcbiAgICAgICAgZGlzdGFuY2VzLnB1c2gobWVtYmVyLmdldE1lbWJlckxlbmd0aCgpKTtcclxuICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzBdIC8gMjU1KTtcclxuICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzFdIC8gMjU1KTtcclxuICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzJdIC8gMjU1KTtcclxuICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzNdKTtcclxuICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzBdIC8gMjU1KTtcclxuICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzFdIC8gMjU1KTtcclxuICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzJdIC8gMjU1KTtcclxuICAgICAgICBkaXZDb2xvcnMucHVzaChtZW1iZXIuZmFjZUNvbG9yWzNdKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IHJlc3VsdE1lbWJlcnMgPVxyXG4gICAgICAgIHZpZXdlci5wcm9jZXNzLmNsb3VkTWVtYmVyVHJhbnNmb3JtTWFuYWdlci5jcmVhdGVDbG91ZE1lbWJlcihcclxuICAgICAgICAgIG1lbWJlcixcclxuICAgICAgICAgIGRpc3RhbmNlcyxcclxuICAgICAgICAgIGRpdkNvbG9yc1xyXG4gICAgICAgICk7XHJcblxyXG4gICAgICBpZiAocmVzdWx0TWVtYmVycyAmJiByZXN1bHRNZW1iZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBsZXQgcGFyZW50Uk8gPSB2aWV3ZXIucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci50ZW1wTm9kZTtcclxuXHJcbiAgICAgICAgbGV0IGlybyA9IHZpZXdlci5maW5kSW5zdGFuY2VPYmplY3QobWVtYmVyKTtcclxuICAgICAgICBpZihpcm8pIHtcclxuICAgICAgICAgIGlyby52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgcmVzdWx0TWVtYmVycy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgdmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KHBhcmVudFJPLCByZXN1bHRNZW1iZXJzW2pdKTtcclxuICAgICAgICAgIHJlc3VsdE1lbWJlcnNbal0uc2V0TmVlZFVwZGF0ZSgpO1xyXG4gICAgICAgICAgdGhpcy5jbG91ZE1lbWJlcnMucHVzaChyZXN1bHRNZW1iZXJzW2pdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubWVtYmVycy5wdXNoKG1lbWJlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIOajgOafpeminOiJsuaYr+WQpi0xXHJcbiAgY2hlY2tDb2xvcklzVGVtcChjb2xvcjogbnVtYmVyW10sIG1lbWJlcjogTWVtYmVyT2JqZWN0KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbG9yWzBdID09PSAtMSAmJlxyXG4gICAgICBjb2xvclsxXSA9PT0gLTEgJiZcclxuICAgICAgY29sb3JbMl0gPT09IC0xICYmXHJcbiAgICAgIGNvbG9yWzNdID09PSAtMVxyXG4gICAgKSB7XHJcbiAgICAgIC8vXHJcbiAgICAgIGNvbG9yWzBdID0gbWVtYmVyLmZhY2VDb2xvclswXSAvIDI1NTtcclxuICAgICAgY29sb3JbMV0gPSBtZW1iZXIuZmFjZUNvbG9yWzFdIC8gMjU1O1xyXG4gICAgICBjb2xvclsyXSA9IG1lbWJlci5mYWNlQ29sb3JbMl0gLyAyNTU7XHJcbiAgICAgIGNvbG9yWzNdID0gbWVtYmVyLmZhY2VDb2xvclszXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVFBO0FBQUE7QUF1R0E7QUFBQTtBQXRHQTtBQUdBO0FBRUE7QUFDQTtBQUtBO0FBSUE7QUEwRkE7O0FBQ0E7QUF6RkE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7OztBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTs7O0FBSUE7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBR0E7OztBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBOzs7QUFJQTtBQUNBO0FBUUE7QUFDQTtBQUVBO0FBQ0E7O0FBR0E7QUFDQTs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7O0FBR0E7QUFDQTs7QUFFQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFLQTtBQUNBOztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUtBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBTUE7QUFDQTs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBOzs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7O0FBS0E7O0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBT0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTs7O0FBR0E7QUFHQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQUE7QUF4WkE7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/gsDevFx/objects/pretreatmentObjects/colorDivHeightObject.ts\n");
|
|
5047
5047
|
|
|
5048
5048
|
/***/ }),
|
|
5049
5049
|
|
|
@@ -6643,7 +6643,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
6643
6643
|
/*! no static exports found */
|
|
6644
6644
|
/***/ (function(module, exports, __webpack_require__) {
|
|
6645
6645
|
|
|
6646
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/memberObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/cameraMouse */ \"./packages/caeDesign/src/gsDevFx/operators/cameraMouse.ts\"), __webpack_require__(/*! ../commandComponent */ \"./packages/caeDesign/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! ./memberConfig */ \"./packages/caeDesign/src/viewerWrapper/commands/createMember/memberConfig.ts\"), __webpack_require__(/*! ../../../gsDevFx/commands/commandSelect */ \"./packages/caeDesign/src/gsDevFx/commands/commandSelect.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/cAEObjectPreSelector */ \"./packages/caeDesign/src/gsDevFx/operators/cAEObjectPreSelector.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/caeObjectSelector */ \"./packages/caeDesign/src/gsDevFx/operators/caeObjectSelector.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/jointObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/jointObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/managers/interfaceManagers/selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! vue */ \"vue\"), __webpack_require__(/*! gs-bim-air */ \"./node_modules/gs-bim-air/lib/BimAir.umd.min.js\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, memberObject_1, cameraMouse_1, commandComponent_1, memberConfig_1, commandSelect_1, cAEObjectPreSelector_1, caeObjectSelector_1, gs_ceec_design_1, jointObject_1, selectionInterfaceManager_1, vue_1, gs_bim_air_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n memberConfig_1 = tslib_1.__importDefault(memberConfig_1);\n vue_1 = tslib_1.__importDefault(vue_1);\n var FocusOption;\n (function (FocusOption) {\n FocusOption[\"first\"] = \"first\";\n FocusOption[\"second\"] = \"second\";\n })(FocusOption || (FocusOption = {}));\n var CommandCreateMember = function (_super) {\n tslib_1.__extends(CommandCreateMember, _super);\n function CommandCreateMember() {\n var _this = _super.call(this) || this;\n _this.typeName = \"CommandCreateMember\";\n _this.preSelector = null;\n _this.caeObjectSelector = null;\n _this.noConfirmRecordObjects = new Array();\n _this.currentFocus = FocusOption.first;\n return _this;\n }\n CommandCreateMember.prototype.begin = function () {\n this.changeOperators();\n this.config = new memberConfig_1.default();\n this.config.show();\n };\n CommandCreateMember.prototype.restore = function () {\n this.changeOperators();\n this.config.show();\n };\n CommandCreateMember.prototype.changeOperators = function () {\n var _this = this;\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.preSelector = new cAEObjectPreSelector_1.CAEObjectPreSelector();\n this.viewer.operatorManager.add(this.preSelector);\n this.viewer.selectionInterfaceManager.selectorFilter = selectionInterfaceManager_1.SelectorFiliter.Joint;\n this.caeObjectSelector = new caeObjectSelector_1.CAEObjectSelector();\n this.viewer.operatorManager.add(this.caeObjectSelector);\n this.caeObjectSelector.lButtonUp.add(function () {\n setTimeout(function () {\n _this.updatePanel();\n }, 0);\n });\n };\n CommandCreateMember.prototype.end = function () {\n this.config.hide();\n _super.prototype.end.call(this);\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n var commandSelect = new commandSelect_1.CommandSelect();\n this.process.commandManager.execute(commandSelect);\n };\n CommandCreateMember.prototype.commandOk = function () {\n var _this = this;\n var data = this.config.properties.items[0].data;\n if (data.selectedPoints.listOptions.list.length === 0) {\n data.tip.value = 1;\n data.selectedPoints.listOptions.list = [];\n return;\n }\n if (data.selectedPoints.listOptions.list.length === 1) {\n data.tip.value = 4;\n data.selectedPoints.listOptions.list = [];\n return;\n }\n var list = data.selectedPoints.listOptions.list;\n for (var i = 0; i < list.length; i++) {\n if (!list[i]) {\n data.tip.value = 4;\n return;\n }\n }\n var jointNames = new Array();\n for (var i = 0; i < data.selectedPoints.listOptions.list.length; i++) {\n jointNames.push(data.selectedPoints.listOptions.list[i].label);\n }\n var joints = new gs_bim_air_1.Longan.List();\n for (var i = 0; i < jointNames.length; i++) {\n var joint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, jointNames[i]);\n if (joint) {\n if (joint instanceof jointObject_1.JointObject) {\n joints.add(joint);\n }\n } else {\n data.tip.value = 2 + \",\" + jointNames[i];\n data.selectedPoints.listOptions.list = [];\n return;\n }\n }\n var buildWay = data.buildWay.value;\n var memberObjects = new Array();\n for (var i = 0; i < joints.count(); i += 2) {\n var start = joints.items[i];\n var end = joints.items[i + 1];\n if (start && end) {\n var memberObject = new memberObject_1.MemberObject();\n memberObject.businessState = gs_ceec_design_1.BusinessState.Creating;\n memberObject.offsetOption = \"\";\n if (memberObject_1.MemberAdditionalProperty.getInstance().useDefaultProperty === true) {\n memberObject.additionalProperty = memberObject_1.MemberAdditionalProperty.getInstance();\n }\n memberObject.start = start;\n memberObject.end = end;\n var seletedGrupId = data.sectionGroup.value;\n var grupObj = this.viewer.process.findRenderObjectById(seletedGrupId);\n memberObject.grup = grupObj;\n memberObject.name = start.name + \"-\" + end.name;\n this.process.addRenderObject(this.process.caeRenderObjectTreeManager.memberNode, memberObject);\n memberObject.setNeedUpdate();\n memberObjects.push(memberObject);\n }\n }\n this.viewer.addState(null, memberObjects, function (stateItem) {\n if (stateItem.newObj) {\n for (var i = 0; i < memberObjects.length; i++) {\n memberObjects[i].tempCreate(_this.viewer);\n }\n } else {\n for (var i = 0; i < memberObjects.length; i++) {\n memberObjects[i].tempDelete(_this.viewer);\n }\n }\n _this.viewer.updateDisplay();\n }, \"创建杆件\");\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.caeObjectSelector.selectedRenderObjects.clear();\n this.updatePanel();\n this.viewer.viewInterfaceManager.resetMemberView();\n this.viewer.updateDisplay();\n data.tip.value = 3;\n if (buildWay === \"1\") {\n var list_1 = this.config.properties.items[0].data.selectedPoints.listOptions.list;\n var backUpLabel = list_1[1].label;\n vue_1.default.set(list_1, \"0\", {\n label: backUpLabel\n });\n vue_1.default.set(list_1, \"1\", {\n label: \"\"\n });\n this.currentFocus = FocusOption.second;\n }\n };\n CommandCreateMember.prototype.firstActive = function () {\n this.currentFocus = FocusOption.first;\n };\n CommandCreateMember.prototype.secondActive = function () {\n this.currentFocus = FocusOption.second;\n };\n CommandCreateMember.prototype.updatePanel = function () {\n if (this.viewer.selectionInterfaceManager.selectorFilter === selectionInterfaceManager_1.SelectorFiliter.Joint && !this.caeObjectSelector.isMultiSelect) {\n var objects = this.caeObjectSelector.selectedRenderObjects;\n if (objects.count() > 0) {\n var object = objects.items[0];\n var list = this.config.properties.items[0].data.selectedPoints.listOptions.list;\n if (this.currentFocus === FocusOption.first) {\n vue_1.default.set(list, \"0\", {\n value: object.id,\n label: object.name\n });\n } else if (this.currentFocus === FocusOption.second) {\n vue_1.default.set(list, \"1\", {\n value: object.id,\n label: object.name\n });\n }\n }\n }\n };\n return CommandCreateMember;\n }(commandComponent_1.CommandComponent);\n exports.default = CommandCreateMember;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvY3JlYXRlTWVtYmVyL2NvbW1hbmRDcmVhdGVNZW1iZXIudHMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvY3JlYXRlTWVtYmVyL2NvbW1hbmRDcmVhdGVNZW1iZXIudHM/OWRlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW1iZXJQcm9wZXJ0eSB9IGZyb20gXCIuLy4uLy4uLy4uL2dzRGV2RngvcHJvcGVydHlDb21wb25lbnRzL21lbWJlclByb3BlcnR5XCI7XG5pbXBvcnQge1xuICBNZW1iZXJBZGRpdGlvbmFsUHJvcGVydHksXG4gIE1lbWJlck9iamVjdCxcbn0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL21lbWJlck9iamVjdFwiO1xuaW1wb3J0IHsgQ2FtZXJhTW91c2UgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcbmltcG9ydCB7IENvbW1hbmRDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tbWFuZENvbXBvbmVudFwiO1xuaW1wb3J0IE1lbWJlckNvbmZpZyBmcm9tIFwiLi9tZW1iZXJDb25maWdcIjtcbmltcG9ydCB7IEdydXBPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvZ3J1cE9iamVjdFwiO1xuaW1wb3J0IHsgQ29tbWFuZFNlbGVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L2NvbW1hbmRzL2NvbW1hbmRTZWxlY3RcIjtcbmltcG9ydCB7IENBRU9iamVjdFByZVNlbGVjdG9yIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL2NBRU9iamVjdFByZVNlbGVjdG9yXCI7XG5pbXBvcnQgeyBDQUVPYmplY3RTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jYWVPYmplY3RTZWxlY3RvclwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgSm9pbnRPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvam9pbnRPYmplY3RcIjtcbmltcG9ydCB7IFNlbGVjdG9yRmlsaXRlciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L21hbmFnZXJzL2ludGVyZmFjZU1hbmFnZXJzL3NlbGVjdGlvbkludGVyZmFjZU1hbmFnZXJcIjtcbmltcG9ydCBWdWUgZnJvbSBcInZ1ZVwiO1xuaW1wb3J0IHsgTG9uZ2FuIH0gZnJvbSBcImdzLWJpbS1haXJcIjtcblxuZW51bSBGb2N1c09wdGlvbiB7XG4gIGZpcnN0ID0gXCJmaXJzdFwiLFxuICBzZWNvbmQgPSBcInNlY29uZFwiLFxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21tYW5kQ3JlYXRlTWVtYmVyIGV4dGVuZHMgQ29tbWFuZENvbXBvbmVudCB7XG4gIHR5cGVOYW1lOiBzdHJpbmcgPSBcIkNvbW1hbmRDcmVhdGVNZW1iZXJcIjtcblxuICBwcmVTZWxlY3RvcjogQ0FFT2JqZWN0UHJlU2VsZWN0b3IgPSBudWxsO1xuICBjYWVPYmplY3RTZWxlY3RvcjogQ0FFT2JqZWN0U2VsZWN0b3IgPSBudWxsO1xuICBjcmVhdGVPcHRpb247XG4gIGNvbmZpZzogTWVtYmVyQ29uZmlnO1xuXG4gIG5vQ29uZmlybVJlY29yZE9iamVjdHMgPSBuZXcgQXJyYXk8TWVtYmVyT2JqZWN0PigpO1xuICBjdXJyZW50Rm9jdXMgPSBGb2N1c09wdGlvbi5maXJzdDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcblxuICAgIHRoaXMuY29uZmlnID0gbmV3IE1lbWJlckNvbmZpZygpO1xuICAgIHRoaXMuY29uZmlnLnNob3coKTtcblxuICAgIC8vIHRoaXMudmlld2VyLm9uV2luZG93S2V5RG93bi5hZGQoKHZpZXdlciwgZSkgPT4ge1xuICAgIC8vICAgbGV0IGV2OiBhbnkgPSBlLnVpRXZlbnQ7XG4gICAgLy8gICBsZXQga2V5ID0gZXYua2V5O1xuXG4gICAgLy8gICBpZiAoa2V5ID09PSBcInFcIikge1xuICAgIC8vICAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLmZpcnN0O1xuICAgIC8vICAgfVxuXG4gICAgLy8gICBpZiAoa2V5ID09PSBcIndcIikge1xuICAgIC8vICAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLnNlY29uZDtcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgfVxuXG4gIHJlc3RvcmUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcbiAgICB0aGlzLmNvbmZpZy5zaG93KCk7XG5cbiAgICAvLyByZXN0b3JlIHNlbGVjdG9yXG4gICAgLy8g5oGi5aSN6YCJ5oup5Zmo5pWw5o2uLlxuICB9XG5cbiAgY2hhbmdlT3BlcmF0b3JzKCk6IHZvaWQge1xuICAgIC8vIOi/m+WFpeWRveS7pOWJjea4heepuumAieS4reS4jumrmOS6ri5cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgLy8g5riF56m65pON5L2c5ZmoLlxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5jbGVhcigpO1xuICAgIC8vIOa3u+WKoOaRhOWDj+acuuaTjeS9nOWZqFxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IENhbWVyYU1vdXNlKCkpO1xuXG4gICAgLy8g5re75YqgQ0FF5a+56LGh6aKE6YCJ5oup5ZmoXG4gICAgdGhpcy5wcmVTZWxlY3RvciA9IG5ldyBDQUVPYmplY3RQcmVTZWxlY3RvcigpO1xuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQodGhpcy5wcmVTZWxlY3Rvcik7XG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlciA9XG4gICAgICBTZWxlY3RvckZpbGl0ZXIuSm9pbnQ7XG5cbiAgICB0aGlzLmNhZU9iamVjdFNlbGVjdG9yID0gbmV3IENBRU9iamVjdFNlbGVjdG9yKCk7XG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZCh0aGlzLmNhZU9iamVjdFNlbGVjdG9yKTtcblxuICAgIC8vdGhpcy5jYWVPYmplY3RTZWxlY3Rvci5pc011bHRpU2VsZWN0ID0gdHJ1ZTtcblxuICAgIHRoaXMuY2FlT2JqZWN0U2VsZWN0b3IubEJ1dHRvblVwLmFkZCgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVQYW5lbCgpO1xuXG4gICAgICAgIC8vIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgICAgICAvLyBsZXQgbm9DbGlja0NvbmZpcm06IGJvb2xlYW4gPSBkYXRhLm5vQ2xpY2tDb25maXJtLnZhbHVlO1xuICAgICAgICAvLyBpZiAobm9DbGlja0NvbmZpcm0pIHtcbiAgICAgICAgLy8gICB0aGlzLmNvbW1hbmRPa1dpdGhOb0NvbmZpcm0oKTtcbiAgICAgICAgLy8gfVxuICAgICAgfSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBlbmQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcuaGlkZSgpO1xuICAgIHN1cGVyLmVuZCgpO1xuXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgIGxldCBjb21tYW5kU2VsZWN0ID0gbmV3IENvbW1hbmRTZWxlY3QoKTtcbiAgICB0aGlzLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIuZXhlY3V0ZShjb21tYW5kU2VsZWN0KTtcbiAgfVxuXG4gIC8vIGNvbW1hbmRPa1dpdGhOb0NvbmZpcm0oKTogdm9pZCB7XG4gIC8vICAgY29uc29sZS5sb2coXCJjb25maWc6XCIsIHRoaXMuY29uZmlnKTtcbiAgLy8gICBsZXQgY29uZmlnOiBNZW1iZXJDb25maWcgPSB0aGlzLmNvbmZpZztcbiAgLy8gICBsZXQgZGF0YSA9IChjb25maWcucHJvcGVydGllcy5pdGVtc1swXSBhcyBNZW1iZXJQcm9wZXJ0eSkuZGF0YTtcblxuICAvLyAgIGxldCBidWlsZFdheSA9IGRhdGEuYnVpbGRXYXkudmFsdWU7XG5cbiAgLy8gICBsZXQgc2VsZWN0ZWRKb2ludE9iamVjdHMgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgLy8gICBpZiAoc2VsZWN0ZWRKb2ludE9iamVjdHMuY291bnQoKSA+IDEpIHtcbiAgLy8gICAgIHRoaXMubm9Db25maXJtUmVjb3JkT2JqZWN0cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gIC8vICAgICAgIGl0ZW0uZGVsZXRlKCk7XG4gIC8vICAgICB9KTtcbiAgLy8gICAgIHRoaXMubm9Db25maXJtUmVjb3JkT2JqZWN0cyA9IG5ldyBBcnJheTxNZW1iZXJPYmplY3Q+KCk7XG5cblxuICAvLyAgICAgbGV0IG1lbWJlck9iamVjdHMgPSBuZXcgQXJyYXk8TWVtYmVyT2JqZWN0PigpO1xuICAvLyAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWxlY3RlZEpvaW50T2JqZWN0cy5jb3VudCgpOyBpICs9IDIpIHtcbiAgLy8gICAgICAgbGV0IHN0YXJ0ID0gc2VsZWN0ZWRKb2ludE9iamVjdHMuaXRlbXNbaV07XG4gIC8vICAgICAgIGxldCBlbmQgPSBzZWxlY3RlZEpvaW50T2JqZWN0cy5pdGVtc1tpICsgMV07XG5cbiAgLy8gICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAvLyAgICAgICAgIGxldCBtZW1iZXJPYmplY3Q6IE1lbWJlck9iamVjdCA9IG5ldyBNZW1iZXJPYmplY3QoKTtcbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3QuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gIC8vICAgICAgICAgbWVtYmVyT2JqZWN0Lm9mZnNldE9wdGlvbiA9IFwiXCI7XG5cbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3Quc3RhcnQgPSBzdGFydCBhcyBKb2ludE9iamVjdDtcbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3QuZW5kID0gZW5kIGFzIEpvaW50T2JqZWN0O1xuICAvLyAgICAgICAgIGxldCBzZWxldGVkR3J1cElkID0gZGF0YS5zZWN0aW9uR3JvdXAudmFsdWU7XG4gIC8vICAgICAgICAgbGV0IGdydXBPYmo6IEdydXBPYmplY3QgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeUlkKFxuICAvLyAgICAgICAgICAgc2VsZXRlZEdydXBJZFxuICAvLyAgICAgICAgICkgYXMgR3J1cE9iamVjdDtcbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3QuZ3J1cCA9IGdydXBPYmo7XG4gIC8vICAgICAgICAgbWVtYmVyT2JqZWN0Lm5hbWUgPSBzdGFydC5uYW1lICsgXCItXCIgKyBlbmQubmFtZTtcblxuICAvLyAgICAgICAgIGlmIChcbiAgLy8gICAgICAgICAgIE1lbWJlckFkZGl0aW9uYWxQcm9wZXJ0eS5nZXRJbnN0YW5jZSgpLnVzZURlZmF1bHRQcm9wZXJ0eSA9PT0gdHJ1ZVxuICAvLyAgICAgICAgICkge1xuICAvLyAgICAgICAgICAgbWVtYmVyT2JqZWN0LmFkZGl0aW9uYWxQcm9wZXJ0eSA9XG4gIC8vICAgICAgICAgICAgIE1lbWJlckFkZGl0aW9uYWxQcm9wZXJ0eS5nZXRJbnN0YW5jZSgpO1xuICAvLyAgICAgICAgIH1cblxuICAvLyAgICAgICAgIHRoaXMucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QoXG4gIC8vICAgICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZSxcbiAgLy8gICAgICAgICAgIG1lbWJlck9iamVjdFxuICAvLyAgICAgICAgICk7XG4gIC8vICAgICAgICAgbWVtYmVyT2JqZWN0LnNldE5lZWRVcGRhdGUoKTtcbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3RzLnB1c2gobWVtYmVyT2JqZWN0KTtcblxuICAvLyAgICAgICAgIHRoaXMubm9Db25maXJtUmVjb3JkT2JqZWN0cy5wdXNoKG1lbWJlck9iamVjdCk7XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cblxuICAvLyAgICAgLy8gYWRkIGhpc3RvcnlcbiAgLy8gICAgIHRoaXMudmlld2VyLmFkZFN0YXRlKFxuICAvLyAgICAgICBudWxsLFxuICAvLyAgICAgICBtZW1iZXJPYmplY3RzLFxuICAvLyAgICAgICAoc3RhdGVJdGVtKSA9PiB7XG4gIC8vICAgICAgICAgaWYgKHN0YXRlSXRlbS5uZXdPYmopIHtcbiAgLy8gICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVyT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAvLyAgICAgICAgICAgICBtZW1iZXJPYmplY3RzW2ldLnRlbXBDcmVhdGUodGhpcy52aWV3ZXIpO1xuICAvLyAgICAgICAgICAgfVxuICAvLyAgICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1lbWJlck9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgICAgICAgICAgbWVtYmVyT2JqZWN0c1tpXS50ZW1wRGVsZXRlKHRoaXMudmlld2VyKTtcbiAgLy8gICAgICAgICAgIH1cbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICAvLyAgICAgICB9LFxuICAvLyAgICAgICBcIuWIm+W7uuadhuS7tlwiXG4gIC8vICAgICApO1xuICAvLyAgIH1cblxuICAvLyAgIHRoaXMudXBkYXRlUGFuZWwoKTtcbiAgLy8gICAvLyB0aGlzLnZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5yZXNldFZpZXcoKTtcbiAgLy8gICB0aGlzLnZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5yZXNldE1lbWJlclZpZXcoKTtcbiAgLy8gICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG5cbiAgLy8gICBkYXRhLnRpcC52YWx1ZSA9IDM7XG5cbiAgLy8gICBpZihidWlsZFdheSA9PT0gXCIxXCIpIHtcbiAgLy8gICAgIGxldCBsaXN0ID1cbiAgLy8gICAgICAgdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3Q7XG4gIC8vICAgICAgIFZ1ZS5zZXQobGlzdCwgXCIwXCIsIHtcbiAgLy8gICAgICAgICB2YWx1ZTogbGlzdFsxXS52YWx1ZSxcbiAgLy8gICAgICAgICBsYWJlbDogbGlzdFsxXS5sYWJlbCxcbiAgLy8gICAgICAgfSk7XG4gIC8vICAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLnNlY29uZDtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBjb21tYW5kT2soKTogdm9pZCB7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgaWYgKGRhdGEuc2VsZWN0ZWRQb2ludHMubGlzdE9wdGlvbnMubGlzdC5sZW5ndGggPT09IDApIHtcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gMTtcbiAgICAgIGRhdGEuc2VsZWN0ZWRQb2ludHMubGlzdE9wdGlvbnMubGlzdCA9IFtdO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICBkYXRhLnRpcC52YWx1ZSA9IDQ7XG4gICAgICBkYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3QgPSBbXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbGlzdCA9IGRhdGEuc2VsZWN0ZWRQb2ludHMubGlzdE9wdGlvbnMubGlzdDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghbGlzdFtpXSkge1xuICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgam9pbnROYW1lcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIGpvaW50TmFtZXMucHVzaChkYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3RbaV0ubGFiZWwpO1xuICAgIH1cbiAgICBsZXQgam9pbnRzID0gbmV3IExvbmdhbi5MaXN0PEpvaW50T2JqZWN0PigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgam9pbnROYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGpvaW50ID0gdGhpcy5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuam9pbnROb2RlLFxuICAgICAgICBqb2ludE5hbWVzW2ldXG4gICAgICApO1xuICAgICAgaWYgKGpvaW50KSB7XG4gICAgICAgIGlmIChqb2ludCBpbnN0YW5jZW9mIEpvaW50T2JqZWN0KSB7XG4gICAgICAgICAgam9pbnRzLmFkZChqb2ludCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEudGlwLnZhbHVlID0gMiArIFwiLFwiICsgam9pbnROYW1lc1tpXTtcbiAgICAgICAgZGF0YS5zZWxlY3RlZFBvaW50cy5saXN0T3B0aW9ucy5saXN0ID0gW107XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsZXQgc2VsZWN0ZWRKb2ludE9iamVjdHMgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgICAvLyBpZiAoc2VsZWN0ZWRKb2ludE9iamVjdHMuY291bnQoKSA+IDEpIHtcbiAgICBsZXQgYnVpbGRXYXkgPSBkYXRhLmJ1aWxkV2F5LnZhbHVlO1xuXG4gICAgbGV0IG1lbWJlck9iamVjdHMgPSBuZXcgQXJyYXk8TWVtYmVyT2JqZWN0PigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgam9pbnRzLmNvdW50KCk7IGkgKz0gMikge1xuICAgICAgbGV0IHN0YXJ0ID0gam9pbnRzLml0ZW1zW2ldO1xuICAgICAgbGV0IGVuZCA9IGpvaW50cy5pdGVtc1tpICsgMV07XG5cbiAgICAgIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICAgICAgbGV0IG1lbWJlck9iamVjdDogTWVtYmVyT2JqZWN0ID0gbmV3IE1lbWJlck9iamVjdCgpO1xuICAgICAgICBtZW1iZXJPYmplY3QuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gICAgICAgIG1lbWJlck9iamVjdC5vZmZzZXRPcHRpb24gPSBcIlwiO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBNZW1iZXJBZGRpdGlvbmFsUHJvcGVydHkuZ2V0SW5zdGFuY2UoKS51c2VEZWZhdWx0UHJvcGVydHkgPT09IHRydWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWVtYmVyT2JqZWN0LmFkZGl0aW9uYWxQcm9wZXJ0eSA9XG4gICAgICAgICAgICBNZW1iZXJBZGRpdGlvbmFsUHJvcGVydHkuZ2V0SW5zdGFuY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1lbWJlck9iamVjdC5zdGFydCA9IHN0YXJ0IGFzIEpvaW50T2JqZWN0O1xuICAgICAgICBtZW1iZXJPYmplY3QuZW5kID0gZW5kIGFzIEpvaW50T2JqZWN0O1xuICAgICAgICBsZXQgc2VsZXRlZEdydXBJZCA9IGRhdGEuc2VjdGlvbkdyb3VwLnZhbHVlO1xuICAgICAgICBsZXQgZ3J1cE9iajogR3J1cE9iamVjdCA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5SWQoXG4gICAgICAgICAgc2VsZXRlZEdydXBJZFxuICAgICAgICApIGFzIEdydXBPYmplY3Q7XG4gICAgICAgIG1lbWJlck9iamVjdC5ncnVwID0gZ3J1cE9iajtcbiAgICAgICAgbWVtYmVyT2JqZWN0Lm5hbWUgPSBzdGFydC5uYW1lICsgXCItXCIgKyBlbmQubmFtZTtcbiAgICAgICAgdGhpcy5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChcbiAgICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZSxcbiAgICAgICAgICBtZW1iZXJPYmplY3RcbiAgICAgICAgKTtcbiAgICAgICAgbWVtYmVyT2JqZWN0LnNldE5lZWRVcGRhdGUoKTtcblxuICAgICAgICBtZW1iZXJPYmplY3RzLnB1c2gobWVtYmVyT2JqZWN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhZGQgaGlzdG9yeVxuICAgIHRoaXMudmlld2VyLmFkZFN0YXRlKG51bGwsIG1lbWJlck9iamVjdHMsIChzdGF0ZUl0ZW0pID0+IHtcbiAgICAgIGlmIChzdGF0ZUl0ZW0ubmV3T2JqKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVyT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIG1lbWJlck9iamVjdHNbaV0udGVtcENyZWF0ZSh0aGlzLnZpZXdlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVyT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIG1lbWJlck9iamVjdHNbaV0udGVtcERlbGV0ZSh0aGlzLnZpZXdlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICB9LCBcIuWIm+W7uuadhuS7tlwiKTtcbiAgICAvLyB9XG5cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy5jYWVPYmplY3RTZWxlY3Rvci5zZWxlY3RlZFJlbmRlck9iamVjdHMuY2xlYXIoKTtcbiAgICB0aGlzLnVwZGF0ZVBhbmVsKCk7XG5cbiAgICAvLyB0aGlzLnZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5yZXNldFZpZXcoKTtcbiAgICB0aGlzLnZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5yZXNldE1lbWJlclZpZXcoKTtcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gICAgZGF0YS50aXAudmFsdWUgPSAzO1xuXG4gICAgaWYoYnVpbGRXYXkgPT09IFwiMVwiKSB7XG4gICAgICBsZXQgbGlzdCA9XG4gICAgICAgIHRoaXMuY29uZmlnLnByb3BlcnRpZXMuaXRlbXNbMF0uZGF0YS5zZWxlY3RlZFBvaW50cy5saXN0T3B0aW9ucy5saXN0O1xuICAgICAgICBsZXQgYmFja1VwTGFiZWwgPSBsaXN0WzFdLmxhYmVsO1xuICAgICAgICBWdWUuc2V0KGxpc3QsIFwiMFwiLCB7XG4gICAgICAgICAgbGFiZWw6IGJhY2tVcExhYmVsXG4gICAgICAgIH0pO1xuICAgICAgICBWdWUuc2V0KGxpc3QsIFwiMVwiLCB7XG4gICAgICAgICAgbGFiZWw6IFwiXCJcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLnNlY29uZDtcbiAgICB9XG4gIH1cblxuICAvLyDmv4DmtLvngrlBXG4gIGZpcnN0QWN0aXZlKCkge1xuICAgIHRoaXMuY3VycmVudEZvY3VzID0gRm9jdXNPcHRpb24uZmlyc3Q7XG4gIH1cbiAgLy8g5r+A5rS754K5QlxuICBzZWNvbmRBY3RpdmUoKSB7XG4gICAgdGhpcy5jdXJyZW50Rm9jdXMgPSBGb2N1c09wdGlvbi5zZWNvbmQ7XG4gIH1cblxuICB1cGRhdGVQYW5lbCgpIHtcbiAgICAvLyBpZiAoXG4gICAgLy8gICB0aGlzLnZpZXdlci5zZWxlY3Rpb25JbnRlcmZhY2VNYW5hZ2VyLnNlbGVjdG9yRmlsdGVyID09PVxuICAgIC8vICAgU2VsZWN0b3JGaWxpdGVyLkpvaW50XG4gICAgLy8gKSB7XG4gICAgLy8gICAvLyDmm7TmlrDpnaLmnb/nmoTpgInkuK3ngrnliJfooaguXG4gICAgLy8gICB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGEuc2VsZWN0ZWRQb2ludHMubGlzdE9wdGlvbnMubGlzdCA9IFtdO1xuICAgIC8vICAgbGV0IG9iamVjdHMgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgICAvLyAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5jb3VudCgpOyBpKyspIHtcbiAgICAvLyAgICAgbGV0IG9iamVjdCA9IG9iamVjdHMuaXRlbXNbaV07XG4gICAgLy8gICAgIHRoaXMuY29uZmlnLnByb3BlcnRpZXMuaXRlbXNbMF0uZGF0YS5zZWxlY3RlZFBvaW50cy5saXN0T3B0aW9ucy5saXN0LnB1c2goXG4gICAgLy8gICAgICAge1xuICAgIC8vICAgICAgICAgdmFsdWU6IG9iamVjdC5pZCxcbiAgICAvLyAgICAgICAgIGxhYmVsOiBvYmplY3QubmFtZSxcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgICk7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlciA9PT1cbiAgICAgICAgU2VsZWN0b3JGaWxpdGVyLkpvaW50ICYmXG4gICAgICAhdGhpcy5jYWVPYmplY3RTZWxlY3Rvci5pc011bHRpU2VsZWN0XG4gICAgKSB7XG4gICAgICAvLyDmm7TmlrDpnaLmnb/nmoTpgInkuK3ngrnliJfooaguXG4gICAgICBsZXQgb2JqZWN0cyA9IHRoaXMuY2FlT2JqZWN0U2VsZWN0b3Iuc2VsZWN0ZWRSZW5kZXJPYmplY3RzO1xuICAgICAgaWYgKG9iamVjdHMuY291bnQoKSA+IDApIHtcbiAgICAgICAgbGV0IG9iamVjdCA9IG9iamVjdHMuaXRlbXNbMF07XG4gICAgICAgIGxldCBsaXN0ID1cbiAgICAgICAgICB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGEuc2VsZWN0ZWRQb2ludHMubGlzdE9wdGlvbnMubGlzdDtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEZvY3VzID09PSBGb2N1c09wdGlvbi5maXJzdCkge1xuICAgICAgICAgIFZ1ZS5zZXQobGlzdCwgXCIwXCIsIHtcbiAgICAgICAgICAgIHZhbHVlOiBvYmplY3QuaWQsXG4gICAgICAgICAgICBsYWJlbDogb2JqZWN0Lm5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50Rm9jdXMgPT09IEZvY3VzT3B0aW9uLnNlY29uZCkge1xuICAgICAgICAgIFZ1ZS5zZXQobGlzdCwgXCIxXCIsIHtcbiAgICAgICAgICAgIHZhbHVlOiBvYmplY3QuaWQsXG4gICAgICAgICAgICBsYWJlbDogb2JqZWN0Lm5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFrQkE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFXQTtBQUFBO0FBVkE7QUFFQTtBQUNBO0FBSUE7QUFDQTs7QUFJQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBY0E7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUVBO0FBQUE7QUFFQTtBQUNBO0FBR0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBNEZBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUlBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQU1BO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBQUVBOzs7QUFLQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBbUJBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFBQTs7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/createMember/commandCreateMember.ts\n");
|
|
6646
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/memberObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/cameraMouse */ \"./packages/caeDesign/src/gsDevFx/operators/cameraMouse.ts\"), __webpack_require__(/*! ../commandComponent */ \"./packages/caeDesign/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! ./memberConfig */ \"./packages/caeDesign/src/viewerWrapper/commands/createMember/memberConfig.ts\"), __webpack_require__(/*! ../../../gsDevFx/commands/commandSelect */ \"./packages/caeDesign/src/gsDevFx/commands/commandSelect.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/cAEObjectPreSelector */ \"./packages/caeDesign/src/gsDevFx/operators/cAEObjectPreSelector.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/caeObjectSelector */ \"./packages/caeDesign/src/gsDevFx/operators/caeObjectSelector.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/caeObjects/jointObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/jointObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/managers/interfaceManagers/selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! vue */ \"vue\"), __webpack_require__(/*! gs-bim-air */ \"./node_modules/gs-bim-air/lib/BimAir.umd.min.js\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, memberObject_1, cameraMouse_1, commandComponent_1, memberConfig_1, commandSelect_1, cAEObjectPreSelector_1, caeObjectSelector_1, gs_ceec_design_1, jointObject_1, selectionInterfaceManager_1, vue_1, gs_bim_air_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n memberConfig_1 = tslib_1.__importDefault(memberConfig_1);\n vue_1 = tslib_1.__importDefault(vue_1);\n var FocusOption;\n (function (FocusOption) {\n FocusOption[\"first\"] = \"first\";\n FocusOption[\"second\"] = \"second\";\n })(FocusOption || (FocusOption = {}));\n var CommandCreateMember = function (_super) {\n tslib_1.__extends(CommandCreateMember, _super);\n function CommandCreateMember() {\n var _this = _super.call(this) || this;\n _this.typeName = \"CommandCreateMember\";\n _this.preSelector = null;\n _this.caeObjectSelector = null;\n _this.noConfirmRecordObjects = new Array();\n _this.currentFocus = FocusOption.first;\n return _this;\n }\n CommandCreateMember.prototype.begin = function () {\n this.changeOperators();\n this.config = new memberConfig_1.default();\n this.config.show();\n };\n CommandCreateMember.prototype.restore = function () {\n this.changeOperators();\n this.config.show();\n };\n CommandCreateMember.prototype.changeOperators = function () {\n var _this = this;\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.preSelector = new cAEObjectPreSelector_1.CAEObjectPreSelector();\n this.viewer.operatorManager.add(this.preSelector);\n this.viewer.selectionInterfaceManager.selectorFilter = selectionInterfaceManager_1.SelectorFiliter.Joint;\n this.caeObjectSelector = new caeObjectSelector_1.CAEObjectSelector();\n this.viewer.operatorManager.add(this.caeObjectSelector);\n this.caeObjectSelector.lButtonUp.add(function () {\n setTimeout(function () {\n _this.updatePanel();\n }, 0);\n });\n };\n CommandCreateMember.prototype.end = function () {\n this.config.hide();\n _super.prototype.end.call(this);\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n var commandSelect = new commandSelect_1.CommandSelect();\n this.process.commandManager.execute(commandSelect);\n };\n CommandCreateMember.prototype.commandOk = function () {\n var _this = this;\n var data = this.config.properties.items[0].data;\n if (data.selectedPoints.listOptions.list.length === 0) {\n data.tip.value = 1;\n data.selectedPoints.listOptions.list = [];\n return;\n }\n if (data.selectedPoints.listOptions.list.length === 1) {\n data.tip.value = 4;\n data.selectedPoints.listOptions.list = [];\n return;\n }\n var list = data.selectedPoints.listOptions.list;\n for (var i = 0; i < list.length; i++) {\n if (!list[i]) {\n data.tip.value = 4;\n return;\n }\n }\n var jointNames = new Array();\n for (var i = 0; i < data.selectedPoints.listOptions.list.length; i++) {\n jointNames.push(data.selectedPoints.listOptions.list[i].label);\n }\n var joints = new gs_bim_air_1.Longan.List();\n for (var i = 0; i < jointNames.length; i++) {\n var joint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, jointNames[i]);\n if (joint) {\n if (joint instanceof jointObject_1.JointObject) {\n joints.add(joint);\n }\n } else {\n data.tip.value = 2 + \",\" + jointNames[i];\n data.selectedPoints.listOptions.list = [];\n return;\n }\n }\n var buildWay = data.buildWay.value;\n var memberObjects = new Array();\n for (var i = 0; i < joints.count(); i += 2) {\n var start = joints.items[i];\n var end = joints.items[i + 1];\n if (start && end) {\n var memberObject = new memberObject_1.MemberObject();\n memberObject.businessState = gs_ceec_design_1.BusinessState.Creating;\n memberObject.offsetOption = \"\";\n if (memberObject_1.MemberAdditionalProperty.getInstance().useDefaultProperty === true) {\n memberObject.additionalProperty = memberObject_1.MemberAdditionalProperty.getInstance();\n }\n memberObject.start = start;\n memberObject.end = end;\n var seletedGrupId = data.sectionGroup.value;\n var grupObj = this.viewer.process.findRenderObjectById(seletedGrupId);\n memberObject.grup = grupObj;\n memberObject.name = start.name + \"-\" + end.name;\n this.process.addRenderObject(this.process.caeRenderObjectTreeManager.memberNode, memberObject);\n memberObject.setNeedUpdate();\n memberObjects.push(memberObject);\n }\n }\n this.viewer.addState(null, memberObjects, function (stateItem) {\n if (stateItem.newObj) {\n for (var i = 0; i < memberObjects.length; i++) {\n memberObjects[i].tempCreate(_this.viewer);\n }\n } else {\n for (var i = 0; i < memberObjects.length; i++) {\n memberObjects[i].tempDelete(_this.viewer);\n }\n }\n _this.viewer.updateDisplay();\n }, \"创建杆件\");\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.caeObjectSelector.selectedRenderObjects.clear();\n this.updatePanel();\n this.viewer.viewInterfaceManager.resetMemberView();\n this.viewer.commonInterfaceManager.refreshColorSwitch();\n this.viewer.updateDisplay();\n data.tip.value = 3;\n if (buildWay === \"1\") {\n var list_1 = this.config.properties.items[0].data.selectedPoints.listOptions.list;\n var backUpLabel = list_1[1].label;\n vue_1.default.set(list_1, \"0\", {\n label: backUpLabel\n });\n vue_1.default.set(list_1, \"1\", {\n label: \"\"\n });\n this.currentFocus = FocusOption.second;\n }\n };\n CommandCreateMember.prototype.firstActive = function () {\n this.currentFocus = FocusOption.first;\n };\n CommandCreateMember.prototype.secondActive = function () {\n this.currentFocus = FocusOption.second;\n };\n CommandCreateMember.prototype.updatePanel = function () {\n if (this.viewer.selectionInterfaceManager.selectorFilter === selectionInterfaceManager_1.SelectorFiliter.Joint && !this.caeObjectSelector.isMultiSelect) {\n var objects = this.caeObjectSelector.selectedRenderObjects;\n if (objects.count() > 0) {\n var object = objects.items[0];\n var list = this.config.properties.items[0].data.selectedPoints.listOptions.list;\n if (this.currentFocus === FocusOption.first) {\n vue_1.default.set(list, \"0\", {\n value: object.id,\n label: object.name\n });\n } else if (this.currentFocus === FocusOption.second) {\n vue_1.default.set(list, \"1\", {\n value: object.id,\n label: object.name\n });\n }\n }\n }\n };\n return CommandCreateMember;\n }(commandComponent_1.CommandComponent);\n exports.default = CommandCreateMember;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvY3JlYXRlTWVtYmVyL2NvbW1hbmRDcmVhdGVNZW1iZXIudHMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvY3JlYXRlTWVtYmVyL2NvbW1hbmRDcmVhdGVNZW1iZXIudHM/OWRlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW1iZXJQcm9wZXJ0eSB9IGZyb20gXCIuLy4uLy4uLy4uL2dzRGV2RngvcHJvcGVydHlDb21wb25lbnRzL21lbWJlclByb3BlcnR5XCI7XG5pbXBvcnQge1xuICBNZW1iZXJBZGRpdGlvbmFsUHJvcGVydHksXG4gIE1lbWJlck9iamVjdCxcbn0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL21lbWJlck9iamVjdFwiO1xuaW1wb3J0IHsgQ2FtZXJhTW91c2UgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcbmltcG9ydCB7IENvbW1hbmRDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tbWFuZENvbXBvbmVudFwiO1xuaW1wb3J0IE1lbWJlckNvbmZpZyBmcm9tIFwiLi9tZW1iZXJDb25maWdcIjtcbmltcG9ydCB7IEdydXBPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvZ3J1cE9iamVjdFwiO1xuaW1wb3J0IHsgQ29tbWFuZFNlbGVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L2NvbW1hbmRzL2NvbW1hbmRTZWxlY3RcIjtcbmltcG9ydCB7IENBRU9iamVjdFByZVNlbGVjdG9yIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL2NBRU9iamVjdFByZVNlbGVjdG9yXCI7XG5pbXBvcnQgeyBDQUVPYmplY3RTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jYWVPYmplY3RTZWxlY3RvclwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgSm9pbnRPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvam9pbnRPYmplY3RcIjtcbmltcG9ydCB7IFNlbGVjdG9yRmlsaXRlciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L21hbmFnZXJzL2ludGVyZmFjZU1hbmFnZXJzL3NlbGVjdGlvbkludGVyZmFjZU1hbmFnZXJcIjtcbmltcG9ydCBWdWUgZnJvbSBcInZ1ZVwiO1xuaW1wb3J0IHsgTG9uZ2FuIH0gZnJvbSBcImdzLWJpbS1haXJcIjtcblxuZW51bSBGb2N1c09wdGlvbiB7XG4gIGZpcnN0ID0gXCJmaXJzdFwiLFxuICBzZWNvbmQgPSBcInNlY29uZFwiLFxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21tYW5kQ3JlYXRlTWVtYmVyIGV4dGVuZHMgQ29tbWFuZENvbXBvbmVudCB7XG4gIHR5cGVOYW1lOiBzdHJpbmcgPSBcIkNvbW1hbmRDcmVhdGVNZW1iZXJcIjtcblxuICBwcmVTZWxlY3RvcjogQ0FFT2JqZWN0UHJlU2VsZWN0b3IgPSBudWxsO1xuICBjYWVPYmplY3RTZWxlY3RvcjogQ0FFT2JqZWN0U2VsZWN0b3IgPSBudWxsO1xuICBjcmVhdGVPcHRpb247XG4gIGNvbmZpZzogTWVtYmVyQ29uZmlnO1xuXG4gIG5vQ29uZmlybVJlY29yZE9iamVjdHMgPSBuZXcgQXJyYXk8TWVtYmVyT2JqZWN0PigpO1xuICBjdXJyZW50Rm9jdXMgPSBGb2N1c09wdGlvbi5maXJzdDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcblxuICAgIHRoaXMuY29uZmlnID0gbmV3IE1lbWJlckNvbmZpZygpO1xuICAgIHRoaXMuY29uZmlnLnNob3coKTtcblxuICAgIC8vIHRoaXMudmlld2VyLm9uV2luZG93S2V5RG93bi5hZGQoKHZpZXdlciwgZSkgPT4ge1xuICAgIC8vICAgbGV0IGV2OiBhbnkgPSBlLnVpRXZlbnQ7XG4gICAgLy8gICBsZXQga2V5ID0gZXYua2V5O1xuXG4gICAgLy8gICBpZiAoa2V5ID09PSBcInFcIikge1xuICAgIC8vICAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLmZpcnN0O1xuICAgIC8vICAgfVxuXG4gICAgLy8gICBpZiAoa2V5ID09PSBcIndcIikge1xuICAgIC8vICAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLnNlY29uZDtcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgfVxuXG4gIHJlc3RvcmUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcbiAgICB0aGlzLmNvbmZpZy5zaG93KCk7XG5cbiAgICAvLyByZXN0b3JlIHNlbGVjdG9yXG4gICAgLy8g5oGi5aSN6YCJ5oup5Zmo5pWw5o2uLlxuICB9XG5cbiAgY2hhbmdlT3BlcmF0b3JzKCk6IHZvaWQge1xuICAgIC8vIOi/m+WFpeWRveS7pOWJjea4heepuumAieS4reS4jumrmOS6ri5cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgLy8g5riF56m65pON5L2c5ZmoLlxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5jbGVhcigpO1xuICAgIC8vIOa3u+WKoOaRhOWDj+acuuaTjeS9nOWZqFxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IENhbWVyYU1vdXNlKCkpO1xuXG4gICAgLy8g5re75YqgQ0FF5a+56LGh6aKE6YCJ5oup5ZmoXG4gICAgdGhpcy5wcmVTZWxlY3RvciA9IG5ldyBDQUVPYmplY3RQcmVTZWxlY3RvcigpO1xuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQodGhpcy5wcmVTZWxlY3Rvcik7XG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlciA9XG4gICAgICBTZWxlY3RvckZpbGl0ZXIuSm9pbnQ7XG5cbiAgICB0aGlzLmNhZU9iamVjdFNlbGVjdG9yID0gbmV3IENBRU9iamVjdFNlbGVjdG9yKCk7XG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZCh0aGlzLmNhZU9iamVjdFNlbGVjdG9yKTtcblxuICAgIC8vdGhpcy5jYWVPYmplY3RTZWxlY3Rvci5pc011bHRpU2VsZWN0ID0gdHJ1ZTtcblxuICAgIHRoaXMuY2FlT2JqZWN0U2VsZWN0b3IubEJ1dHRvblVwLmFkZCgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVQYW5lbCgpO1xuXG4gICAgICAgIC8vIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgICAgICAvLyBsZXQgbm9DbGlja0NvbmZpcm06IGJvb2xlYW4gPSBkYXRhLm5vQ2xpY2tDb25maXJtLnZhbHVlO1xuICAgICAgICAvLyBpZiAobm9DbGlja0NvbmZpcm0pIHtcbiAgICAgICAgLy8gICB0aGlzLmNvbW1hbmRPa1dpdGhOb0NvbmZpcm0oKTtcbiAgICAgICAgLy8gfVxuICAgICAgfSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBlbmQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcuaGlkZSgpO1xuICAgIHN1cGVyLmVuZCgpO1xuXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgIGxldCBjb21tYW5kU2VsZWN0ID0gbmV3IENvbW1hbmRTZWxlY3QoKTtcbiAgICB0aGlzLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIuZXhlY3V0ZShjb21tYW5kU2VsZWN0KTtcbiAgfVxuXG4gIC8vIGNvbW1hbmRPa1dpdGhOb0NvbmZpcm0oKTogdm9pZCB7XG4gIC8vICAgY29uc29sZS5sb2coXCJjb25maWc6XCIsIHRoaXMuY29uZmlnKTtcbiAgLy8gICBsZXQgY29uZmlnOiBNZW1iZXJDb25maWcgPSB0aGlzLmNvbmZpZztcbiAgLy8gICBsZXQgZGF0YSA9IChjb25maWcucHJvcGVydGllcy5pdGVtc1swXSBhcyBNZW1iZXJQcm9wZXJ0eSkuZGF0YTtcblxuICAvLyAgIGxldCBidWlsZFdheSA9IGRhdGEuYnVpbGRXYXkudmFsdWU7XG5cbiAgLy8gICBsZXQgc2VsZWN0ZWRKb2ludE9iamVjdHMgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgLy8gICBpZiAoc2VsZWN0ZWRKb2ludE9iamVjdHMuY291bnQoKSA+IDEpIHtcbiAgLy8gICAgIHRoaXMubm9Db25maXJtUmVjb3JkT2JqZWN0cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gIC8vICAgICAgIGl0ZW0uZGVsZXRlKCk7XG4gIC8vICAgICB9KTtcbiAgLy8gICAgIHRoaXMubm9Db25maXJtUmVjb3JkT2JqZWN0cyA9IG5ldyBBcnJheTxNZW1iZXJPYmplY3Q+KCk7XG5cblxuICAvLyAgICAgbGV0IG1lbWJlck9iamVjdHMgPSBuZXcgQXJyYXk8TWVtYmVyT2JqZWN0PigpO1xuICAvLyAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWxlY3RlZEpvaW50T2JqZWN0cy5jb3VudCgpOyBpICs9IDIpIHtcbiAgLy8gICAgICAgbGV0IHN0YXJ0ID0gc2VsZWN0ZWRKb2ludE9iamVjdHMuaXRlbXNbaV07XG4gIC8vICAgICAgIGxldCBlbmQgPSBzZWxlY3RlZEpvaW50T2JqZWN0cy5pdGVtc1tpICsgMV07XG5cbiAgLy8gICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAvLyAgICAgICAgIGxldCBtZW1iZXJPYmplY3Q6IE1lbWJlck9iamVjdCA9IG5ldyBNZW1iZXJPYmplY3QoKTtcbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3QuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gIC8vICAgICAgICAgbWVtYmVyT2JqZWN0Lm9mZnNldE9wdGlvbiA9IFwiXCI7XG5cbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3Quc3RhcnQgPSBzdGFydCBhcyBKb2ludE9iamVjdDtcbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3QuZW5kID0gZW5kIGFzIEpvaW50T2JqZWN0O1xuICAvLyAgICAgICAgIGxldCBzZWxldGVkR3J1cElkID0gZGF0YS5zZWN0aW9uR3JvdXAudmFsdWU7XG4gIC8vICAgICAgICAgbGV0IGdydXBPYmo6IEdydXBPYmplY3QgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeUlkKFxuICAvLyAgICAgICAgICAgc2VsZXRlZEdydXBJZFxuICAvLyAgICAgICAgICkgYXMgR3J1cE9iamVjdDtcbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3QuZ3J1cCA9IGdydXBPYmo7XG4gIC8vICAgICAgICAgbWVtYmVyT2JqZWN0Lm5hbWUgPSBzdGFydC5uYW1lICsgXCItXCIgKyBlbmQubmFtZTtcblxuICAvLyAgICAgICAgIGlmIChcbiAgLy8gICAgICAgICAgIE1lbWJlckFkZGl0aW9uYWxQcm9wZXJ0eS5nZXRJbnN0YW5jZSgpLnVzZURlZmF1bHRQcm9wZXJ0eSA9PT0gdHJ1ZVxuICAvLyAgICAgICAgICkge1xuICAvLyAgICAgICAgICAgbWVtYmVyT2JqZWN0LmFkZGl0aW9uYWxQcm9wZXJ0eSA9XG4gIC8vICAgICAgICAgICAgIE1lbWJlckFkZGl0aW9uYWxQcm9wZXJ0eS5nZXRJbnN0YW5jZSgpO1xuICAvLyAgICAgICAgIH1cblxuICAvLyAgICAgICAgIHRoaXMucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QoXG4gIC8vICAgICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZSxcbiAgLy8gICAgICAgICAgIG1lbWJlck9iamVjdFxuICAvLyAgICAgICAgICk7XG4gIC8vICAgICAgICAgbWVtYmVyT2JqZWN0LnNldE5lZWRVcGRhdGUoKTtcbiAgLy8gICAgICAgICBtZW1iZXJPYmplY3RzLnB1c2gobWVtYmVyT2JqZWN0KTtcblxuICAvLyAgICAgICAgIHRoaXMubm9Db25maXJtUmVjb3JkT2JqZWN0cy5wdXNoKG1lbWJlck9iamVjdCk7XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cblxuICAvLyAgICAgLy8gYWRkIGhpc3RvcnlcbiAgLy8gICAgIHRoaXMudmlld2VyLmFkZFN0YXRlKFxuICAvLyAgICAgICBudWxsLFxuICAvLyAgICAgICBtZW1iZXJPYmplY3RzLFxuICAvLyAgICAgICAoc3RhdGVJdGVtKSA9PiB7XG4gIC8vICAgICAgICAgaWYgKHN0YXRlSXRlbS5uZXdPYmopIHtcbiAgLy8gICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVyT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAvLyAgICAgICAgICAgICBtZW1iZXJPYmplY3RzW2ldLnRlbXBDcmVhdGUodGhpcy52aWV3ZXIpO1xuICAvLyAgICAgICAgICAgfVxuICAvLyAgICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1lbWJlck9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgICAgICAgICAgbWVtYmVyT2JqZWN0c1tpXS50ZW1wRGVsZXRlKHRoaXMudmlld2VyKTtcbiAgLy8gICAgICAgICAgIH1cbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICAvLyAgICAgICB9LFxuICAvLyAgICAgICBcIuWIm+W7uuadhuS7tlwiXG4gIC8vICAgICApO1xuICAvLyAgIH1cblxuICAvLyAgIHRoaXMudXBkYXRlUGFuZWwoKTtcbiAgLy8gICAvLyB0aGlzLnZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5yZXNldFZpZXcoKTtcbiAgLy8gICB0aGlzLnZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5yZXNldE1lbWJlclZpZXcoKTtcbiAgLy8gICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG5cbiAgLy8gICBkYXRhLnRpcC52YWx1ZSA9IDM7XG5cbiAgLy8gICBpZihidWlsZFdheSA9PT0gXCIxXCIpIHtcbiAgLy8gICAgIGxldCBsaXN0ID1cbiAgLy8gICAgICAgdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3Q7XG4gIC8vICAgICAgIFZ1ZS5zZXQobGlzdCwgXCIwXCIsIHtcbiAgLy8gICAgICAgICB2YWx1ZTogbGlzdFsxXS52YWx1ZSxcbiAgLy8gICAgICAgICBsYWJlbDogbGlzdFsxXS5sYWJlbCxcbiAgLy8gICAgICAgfSk7XG4gIC8vICAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLnNlY29uZDtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBjb21tYW5kT2soKTogdm9pZCB7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgaWYgKGRhdGEuc2VsZWN0ZWRQb2ludHMubGlzdE9wdGlvbnMubGlzdC5sZW5ndGggPT09IDApIHtcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gMTtcbiAgICAgIGRhdGEuc2VsZWN0ZWRQb2ludHMubGlzdE9wdGlvbnMubGlzdCA9IFtdO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICBkYXRhLnRpcC52YWx1ZSA9IDQ7XG4gICAgICBkYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3QgPSBbXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbGlzdCA9IGRhdGEuc2VsZWN0ZWRQb2ludHMubGlzdE9wdGlvbnMubGlzdDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghbGlzdFtpXSkge1xuICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgam9pbnROYW1lcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIGpvaW50TmFtZXMucHVzaChkYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3RbaV0ubGFiZWwpO1xuICAgIH1cbiAgICBsZXQgam9pbnRzID0gbmV3IExvbmdhbi5MaXN0PEpvaW50T2JqZWN0PigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgam9pbnROYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGpvaW50ID0gdGhpcy5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuam9pbnROb2RlLFxuICAgICAgICBqb2ludE5hbWVzW2ldXG4gICAgICApO1xuICAgICAgaWYgKGpvaW50KSB7XG4gICAgICAgIGlmIChqb2ludCBpbnN0YW5jZW9mIEpvaW50T2JqZWN0KSB7XG4gICAgICAgICAgam9pbnRzLmFkZChqb2ludCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEudGlwLnZhbHVlID0gMiArIFwiLFwiICsgam9pbnROYW1lc1tpXTtcbiAgICAgICAgZGF0YS5zZWxlY3RlZFBvaW50cy5saXN0T3B0aW9ucy5saXN0ID0gW107XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsZXQgc2VsZWN0ZWRKb2ludE9iamVjdHMgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgICAvLyBpZiAoc2VsZWN0ZWRKb2ludE9iamVjdHMuY291bnQoKSA+IDEpIHtcbiAgICBsZXQgYnVpbGRXYXkgPSBkYXRhLmJ1aWxkV2F5LnZhbHVlO1xuXG4gICAgbGV0IG1lbWJlck9iamVjdHMgPSBuZXcgQXJyYXk8TWVtYmVyT2JqZWN0PigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgam9pbnRzLmNvdW50KCk7IGkgKz0gMikge1xuICAgICAgbGV0IHN0YXJ0ID0gam9pbnRzLml0ZW1zW2ldO1xuICAgICAgbGV0IGVuZCA9IGpvaW50cy5pdGVtc1tpICsgMV07XG5cbiAgICAgIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICAgICAgbGV0IG1lbWJlck9iamVjdDogTWVtYmVyT2JqZWN0ID0gbmV3IE1lbWJlck9iamVjdCgpO1xuICAgICAgICBtZW1iZXJPYmplY3QuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gICAgICAgIG1lbWJlck9iamVjdC5vZmZzZXRPcHRpb24gPSBcIlwiO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBNZW1iZXJBZGRpdGlvbmFsUHJvcGVydHkuZ2V0SW5zdGFuY2UoKS51c2VEZWZhdWx0UHJvcGVydHkgPT09IHRydWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWVtYmVyT2JqZWN0LmFkZGl0aW9uYWxQcm9wZXJ0eSA9XG4gICAgICAgICAgICBNZW1iZXJBZGRpdGlvbmFsUHJvcGVydHkuZ2V0SW5zdGFuY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1lbWJlck9iamVjdC5zdGFydCA9IHN0YXJ0IGFzIEpvaW50T2JqZWN0O1xuICAgICAgICBtZW1iZXJPYmplY3QuZW5kID0gZW5kIGFzIEpvaW50T2JqZWN0O1xuICAgICAgICBsZXQgc2VsZXRlZEdydXBJZCA9IGRhdGEuc2VjdGlvbkdyb3VwLnZhbHVlO1xuICAgICAgICBsZXQgZ3J1cE9iajogR3J1cE9iamVjdCA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5SWQoXG4gICAgICAgICAgc2VsZXRlZEdydXBJZFxuICAgICAgICApIGFzIEdydXBPYmplY3Q7XG4gICAgICAgIG1lbWJlck9iamVjdC5ncnVwID0gZ3J1cE9iajtcbiAgICAgICAgbWVtYmVyT2JqZWN0Lm5hbWUgPSBzdGFydC5uYW1lICsgXCItXCIgKyBlbmQubmFtZTtcbiAgICAgICAgdGhpcy5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChcbiAgICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZSxcbiAgICAgICAgICBtZW1iZXJPYmplY3RcbiAgICAgICAgKTtcbiAgICAgICAgbWVtYmVyT2JqZWN0LnNldE5lZWRVcGRhdGUoKTtcblxuICAgICAgICBtZW1iZXJPYmplY3RzLnB1c2gobWVtYmVyT2JqZWN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhZGQgaGlzdG9yeVxuICAgIHRoaXMudmlld2VyLmFkZFN0YXRlKG51bGwsIG1lbWJlck9iamVjdHMsIChzdGF0ZUl0ZW0pID0+IHtcbiAgICAgIGlmIChzdGF0ZUl0ZW0ubmV3T2JqKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVyT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIG1lbWJlck9iamVjdHNbaV0udGVtcENyZWF0ZSh0aGlzLnZpZXdlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWVtYmVyT2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIG1lbWJlck9iamVjdHNbaV0udGVtcERlbGV0ZSh0aGlzLnZpZXdlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICB9LCBcIuWIm+W7uuadhuS7tlwiKTtcbiAgICAvLyB9XG5cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy5jYWVPYmplY3RTZWxlY3Rvci5zZWxlY3RlZFJlbmRlck9iamVjdHMuY2xlYXIoKTtcbiAgICB0aGlzLnVwZGF0ZVBhbmVsKCk7XG5cbiAgICAvLyB0aGlzLnZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5yZXNldFZpZXcoKTtcbiAgICB0aGlzLnZpZXdlci52aWV3SW50ZXJmYWNlTWFuYWdlci5yZXNldE1lbWJlclZpZXcoKTtcbiAgICB0aGlzLnZpZXdlci5jb21tb25JbnRlcmZhY2VNYW5hZ2VyLnJlZnJlc2hDb2xvclN3aXRjaCgpO1xuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICBkYXRhLnRpcC52YWx1ZSA9IDM7XG5cbiAgICBpZihidWlsZFdheSA9PT0gXCIxXCIpIHtcbiAgICAgIGxldCBsaXN0ID1cbiAgICAgICAgdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3Q7XG4gICAgICAgIGxldCBiYWNrVXBMYWJlbCA9IGxpc3RbMV0ubGFiZWw7XG4gICAgICAgIFZ1ZS5zZXQobGlzdCwgXCIwXCIsIHtcbiAgICAgICAgICBsYWJlbDogYmFja1VwTGFiZWxcbiAgICAgICAgfSk7XG4gICAgICAgIFZ1ZS5zZXQobGlzdCwgXCIxXCIsIHtcbiAgICAgICAgICBsYWJlbDogXCJcIlxuICAgICAgICB9KTtcbiAgICAgIHRoaXMuY3VycmVudEZvY3VzID0gRm9jdXNPcHRpb24uc2Vjb25kO1xuICAgIH1cbiAgfVxuXG4gIC8vIOa/gOa0u+eCuUFcbiAgZmlyc3RBY3RpdmUoKSB7XG4gICAgdGhpcy5jdXJyZW50Rm9jdXMgPSBGb2N1c09wdGlvbi5maXJzdDtcbiAgfVxuICAvLyDmv4DmtLvngrlCXG4gIHNlY29uZEFjdGl2ZSgpIHtcbiAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLnNlY29uZDtcbiAgfVxuXG4gIHVwZGF0ZVBhbmVsKCkge1xuICAgIC8vIGlmIChcbiAgICAvLyAgIHRoaXMudmlld2VyLnNlbGVjdGlvbkludGVyZmFjZU1hbmFnZXIuc2VsZWN0b3JGaWx0ZXIgPT09XG4gICAgLy8gICBTZWxlY3RvckZpbGl0ZXIuSm9pbnRcbiAgICAvLyApIHtcbiAgICAvLyAgIC8vIOabtOaWsOmdouadv+eahOmAieS4reeCueWIl+ihqC5cbiAgICAvLyAgIHRoaXMuY29uZmlnLnByb3BlcnRpZXMuaXRlbXNbMF0uZGF0YS5zZWxlY3RlZFBvaW50cy5saXN0T3B0aW9ucy5saXN0ID0gW107XG4gICAgLy8gICBsZXQgb2JqZWN0cyA9IHRoaXMuY2FlT2JqZWN0U2VsZWN0b3Iuc2VsZWN0ZWRSZW5kZXJPYmplY3RzO1xuICAgIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmplY3RzLmNvdW50KCk7IGkrKykge1xuICAgIC8vICAgICBsZXQgb2JqZWN0ID0gb2JqZWN0cy5pdGVtc1tpXTtcbiAgICAvLyAgICAgdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhLnNlbGVjdGVkUG9pbnRzLmxpc3RPcHRpb25zLmxpc3QucHVzaChcbiAgICAvLyAgICAgICB7XG4gICAgLy8gICAgICAgICB2YWx1ZTogb2JqZWN0LmlkLFxuICAgIC8vICAgICAgICAgbGFiZWw6IG9iamVjdC5uYW1lLFxuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgKTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25JbnRlcmZhY2VNYW5hZ2VyLnNlbGVjdG9yRmlsdGVyID09PVxuICAgICAgICBTZWxlY3RvckZpbGl0ZXIuSm9pbnQgJiZcbiAgICAgICF0aGlzLmNhZU9iamVjdFNlbGVjdG9yLmlzTXVsdGlTZWxlY3RcbiAgICApIHtcbiAgICAgIC8vIOabtOaWsOmdouadv+eahOmAieS4reeCueWIl+ihqC5cbiAgICAgIGxldCBvYmplY3RzID0gdGhpcy5jYWVPYmplY3RTZWxlY3Rvci5zZWxlY3RlZFJlbmRlck9iamVjdHM7XG4gICAgICBpZiAob2JqZWN0cy5jb3VudCgpID4gMCkge1xuICAgICAgICBsZXQgb2JqZWN0ID0gb2JqZWN0cy5pdGVtc1swXTtcbiAgICAgICAgbGV0IGxpc3QgPVxuICAgICAgICAgIHRoaXMuY29uZmlnLnByb3BlcnRpZXMuaXRlbXNbMF0uZGF0YS5zZWxlY3RlZFBvaW50cy5saXN0T3B0aW9ucy5saXN0O1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50Rm9jdXMgPT09IEZvY3VzT3B0aW9uLmZpcnN0KSB7XG4gICAgICAgICAgVnVlLnNldChsaXN0LCBcIjBcIiwge1xuICAgICAgICAgICAgdmFsdWU6IG9iamVjdC5pZCxcbiAgICAgICAgICAgIGxhYmVsOiBvYmplY3QubmFtZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRGb2N1cyA9PT0gRm9jdXNPcHRpb24uc2Vjb25kKSB7XG4gICAgICAgICAgVnVlLnNldChsaXN0LCBcIjFcIiwge1xuICAgICAgICAgICAgdmFsdWU6IG9iamVjdC5pZCxcbiAgICAgICAgICAgIGxhYmVsOiBvYmplY3QubmFtZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQWtCQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQVdBO0FBQUE7QUFWQTtBQUVBO0FBQ0E7QUFJQTtBQUNBOztBQUlBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFjQTtBQUVBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7QUFBQTtBQUVBO0FBQ0E7QUFHQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUE0RkE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBTUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7OztBQUtBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQW1CQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQUE7OztBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/createMember/commandCreateMember.ts\n");
|
|
6647
6647
|
|
|
6648
6648
|
/***/ }),
|
|
6649
6649
|
|
|
@@ -7622,7 +7622,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
7622
7622
|
/*! no static exports found */
|
|
7623
7623
|
/***/ (function(module, exports, __webpack_require__) {
|
|
7624
7624
|
|
|
7625
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cameraMouse */ \"./packages/caeDesign/src/gsDevFx/operators/cameraMouse.ts\"), __webpack_require__(/*! ../../commandComponent */ \"./packages/caeDesign/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cAEObjectPreSelector */ \"./packages/caeDesign/src/gsDevFx/operators/cAEObjectPreSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/caeObjectSelector */ \"./packages/caeDesign/src/gsDevFx/operators/caeObjectSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/commands/commandSelect */ \"./packages/caeDesign/src/gsDevFx/commands/commandSelect.ts\"), __webpack_require__(/*! ../../../../gsDevFx/managers/interfaceManagers/selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! ./setAndShowWGTMEMConfig */ \"./packages/caeDesign/src/viewerWrapper/commands/pretreatment/setAndShowWGTMEM/setAndShowWGTMEMConfig.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/pretreatment/wgtmemObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/wgtmemObject.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/memberObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../../store */ \"./packages/caeDesign/src/store/index.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! gs-bim-air */ \"./node_modules/gs-bim-air/lib/BimAir.umd.min.js\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cameraMouse_1, commandComponent_1, cAEObjectPreSelector_1, caeObjectSelector_1, commandSelect_1, selectionInterfaceManager_1, setAndShowWGTMEMConfig_1, wgtmemObject_1, memberObject_1, gs_ceec_design_1, store_1, gs_ceec_design_2, gs_bim_air_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n setAndShowWGTMEMConfig_1 = tslib_1.__importDefault(setAndShowWGTMEMConfig_1);\n store_1 = tslib_1.__importDefault(store_1);\n var Mode;\n (function (Mode) {\n Mode[Mode[\"Add\"] = 0] = \"Add\";\n Mode[Mode[\"Edit\"] = 1] = \"Edit\";\n })(Mode || (Mode = {}));\n var CommandSetAndShowWGTMEM = function (_super) {\n tslib_1.__extends(CommandSetAndShowWGTMEM, _super);\n function CommandSetAndShowWGTMEM() {\n var _this = _super.call(this) || this;\n _this.typeName = \"CommandSetAndShowWGTMEM\";\n _this.preSelector = null;\n _this.caeObjectSelector = null;\n _this.currentModel = Mode.Add;\n _this.currentSelectIndex = -1;\n _this.currentSelectId = null;\n return _this;\n }\n CommandSetAndShowWGTMEM.prototype.begin = function () {\n var _this = this;\n this.changeOperators();\n console.log(\"CommandSetAndShowWGTMEM\");\n this.config = new setAndShowWGTMEMConfig_1.default();\n this.config.show();\n var data = this.config.properties.items[0].data;\n setTimeout(function () {\n data.weightID.value = \"ANODE\";\n }, 20);\n this.setWGTMEMObjectsVisible(true);\n this.viewer.updateDisplay();\n this.config.changeData = function () {\n console.log(\"data change\");\n var paraData = data.size.value;\n if (paraData) {\n _this.setInPutDisable(data, true);\n var obj = JSON.parse(paraData);\n data.A.value = obj.A;\n data.B1.value = obj.B1;\n data.B2.value = obj.B2;\n data.C.value = obj.C;\n data.D.value = obj.D;\n data.F.value = obj.F;\n data.H.value = obj.H;\n data.G.value = obj.G;\n } else {\n _this.setInPutDisable(data, false);\n }\n };\n this.config.editObjData = function () {\n console.log(\"选择已有牺牲阳极进行编辑\");\n _this.selectWGTMEMChange();\n };\n this.refreshAllAnodes();\n };\n CommandSetAndShowWGTMEM.prototype.restore = function () {\n this.changeOperators();\n this.config.show();\n };\n CommandSetAndShowWGTMEM.prototype.changeOperators = function () {\n var _this = this;\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.preSelector = new cAEObjectPreSelector_1.CAEObjectPreSelector();\n this.viewer.operatorManager.add(this.preSelector);\n this.viewer.selectionInterfaceManager.selectorFilter = selectionInterfaceManager_1.SelectorFiliter.Member;\n this.caeObjectSelector = new caeObjectSelector_1.CAEObjectSelector();\n this.viewer.operatorManager.add(this.caeObjectSelector);\n this.caeObjectSelector.lButtonUp.add(function () {\n setTimeout(function () {\n _this.updatePanel();\n }, 0);\n });\n };\n CommandSetAndShowWGTMEM.prototype.setInPutDisable = function (data, disabled) {\n data.A.inputOptions.disabled = disabled;\n data.B1.inputOptions.disabled = disabled;\n data.B2.inputOptions.disabled = disabled;\n data.C.inputOptions.disabled = disabled;\n data.D.inputOptions.disabled = disabled;\n data.F.inputOptions.disabled = disabled;\n data.H.inputOptions.disabled = disabled;\n data.G.inputOptions.disabled = disabled;\n };\n CommandSetAndShowWGTMEM.prototype.end = function () {\n this.config.hide();\n _super.prototype.end.call(this);\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.setWGTMEMObjectsVisible(false);\n this.viewer.updateDisplay();\n var commandSelect = new commandSelect_1.CommandSelect();\n this.process.commandManager.execute(commandSelect);\n };\n CommandSetAndShowWGTMEM.prototype.commandOk = function () {\n console.log(\"config:\", this.config);\n var config = this.config;\n var data = config.properties.items[0].data;\n var weightGroupID = data.weightGroupID.value;\n if (!weightGroupID) {\n data.tip.value = 9;\n return;\n }\n if (!data.A.value || !data.B1.value || !data.B2.value || !data.C.value || !data.D.value || !data.F.value || !data.H.value || !data.G.value) {\n data.tip.value = 17;\n return;\n }\n if (data.angle.value > 180 || data.angle.value < -180) {\n data.tip.value = 19;\n return;\n }\n var legal = this.checkNamelegal(weightGroupID);\n if (!legal) {\n data.tip.value = 10;\n return;\n }\n if (!data.distributionModes.value) {\n data.tip.value = 16;\n return;\n }\n if (isNaN(Number(data.anodeWeight.value)) || Number(data.anodeWeight.value) < 0) {\n data.tip.value = 11;\n return;\n }\n if (data.distributionModes.value === \"1\" && (isNaN(Number(data.distributionCount.value)) || Number(data.distributionCount.value) < 1)) {\n data.tip.value = 12;\n return;\n }\n if (data.distributionModes.value === \"2\" && (isNaN(Number(data.distributionAverageInterval.value)) || Number(data.distributionAverageInterval.value <= 0))) {\n data.tip.value = 13;\n return;\n }\n if (data.distributionModes.value === \"3\") {\n var intervalString = data.distributionCustomInterval.value;\n var array = intervalString.split(\",\");\n for (var i = 0; i < array.length; i++) {\n if (isNaN(Number(array[i])) || Number(array[i]) <= 0) {\n data.tip.value = 14;\n return;\n }\n }\n }\n if (this.currentModel === Mode.Edit) {\n if (this.currentModel === Mode.Edit) {\n var wgtmemObject = null;\n if (data.allAnodes.value) {\n var wgtmemObjectId = data.allAnodes.value;\n wgtmemObject = this.process.findRenderObjectById(wgtmemObjectId);\n wgtmemObject.businessState = gs_ceec_design_2.BusinessState.Editing;\n } else {\n console.log(\"error: data.allAnodes.value is null\");\n return;\n }\n wgtmemObject.weightGroupID = data.weightGroupID.value;\n wgtmemObject.weightID = data.weightID.value;\n wgtmemObject.size = data.size.value;\n wgtmemObject.weightValue = Number(data.anodeWeight.value);\n wgtmemObject.density = Number(data.density.value);\n wgtmemObject.para_A = data.A.value;\n wgtmemObject.para_B1 = data.B1.value;\n wgtmemObject.para_B2 = data.B2.value;\n wgtmemObject.para_C = data.C.value;\n wgtmemObject.para_D = data.D.value;\n wgtmemObject.para_F = data.F.value;\n wgtmemObject.para_H = data.H.value;\n wgtmemObject.para_G = data.G.value;\n wgtmemObject.angle = data.angle.value;\n wgtmemObject.distance = data.distance.value;\n wgtmemObject.setNeedUpdate();\n data.tip.value = 1;\n }\n } else {\n var selectedMembers = data.selectedMembers;\n var selectedObjects = new gs_bim_air_1.Longan.List();\n for (var i = 0; i < selectedMembers.listOptions.list.length; i++) {\n var objectName = selectedMembers.listOptions.list[i].value;\n var object = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.memberNode, objectName);\n if (object) {\n selectedObjects.add(object);\n }\n }\n if (selectedObjects.count() > 0) {\n var pretreatmentRO = this.viewer.process.findRenderObjectByName(\"前处理可视化辅助\");\n var wgtmemParentObject = this.viewer.process.findCaeObjectByNameInChildObject(pretreatmentRO, \"牺牲阳极定义与显示\");\n if (!wgtmemParentObject) {\n wgtmemParentObject = new gs_ceec_design_1.DesignBaseObject();\n wgtmemParentObject.businessState = gs_ceec_design_2.BusinessState.Creating;\n wgtmemParentObject.name = \"牺牲阳极定义与显示\";\n this.process.addRenderObject(pretreatmentRO, wgtmemParentObject);\n }\n for (var i = 0; i < selectedObjects.count(); i++) {\n var selectedMember = selectedObjects.items[i];\n var memberLen = selectedMember.getMemberLength();\n var distributionModes = data.distributionModes.value;\n var distances = [];\n if (distributionModes === \"1\") {\n if (!data.distributionCount.value) {\n data.tip.value = 2;\n return;\n }\n var wgtCount = Number(data.distributionCount.value) + 1;\n wgtCount = Math.floor(wgtCount);\n var step = memberLen / wgtCount;\n for (var j = 1; j < wgtCount; j++) {\n distances.push(j * step);\n }\n if (step > memberLen) {\n data.tip.value = 18;\n return;\n }\n } else if (distributionModes === \"2\") {\n if (!data.distributionAverageInterval.value) {\n data.tip.value = 3;\n return;\n }\n var counter = 1;\n var step = Number(data.distributionAverageInterval.value);\n while (counter * step <= memberLen) {\n distances.push(counter * step);\n counter++;\n }\n } else if (distributionModes === \"3\") {\n if (!data.distributionCustomInterval.value) {\n data.tip.value = 4;\n return;\n }\n var intervalString = data.distributionCustomInterval.value;\n var array = intervalString.split(\",\");\n for (var j = 0; j < array.length; j++) {\n var pos = Number(array[j]);\n if (pos <= memberLen) {\n distances.push(Number(array[j]));\n } else {\n data.tip.value = 18;\n return;\n }\n }\n }\n var disStart = distances[0];\n var disEnd = distances[distances.length - 1];\n var D = data.D.value / 1000;\n if (D / 2 > disStart) {\n data.tip.value = 18;\n return;\n }\n if (D / 2 > memberLen - disEnd) {\n data.tip.value = 18;\n return;\n }\n for (var j = 0; j < distances.length; j++) {\n var wgtmemObject = null;\n wgtmemObject = new wgtmemObject_1.WGTMEMObject();\n wgtmemObject.businessState = gs_ceec_design_2.BusinessState.Creating;\n wgtmemObject.memberJointA = selectedMember.start.name;\n wgtmemObject.memberJointB = selectedMember.end.name;\n wgtmemObject.angle = data.angle.value;\n wgtmemObject.distance = distances[j];\n wgtmemObject.weightGroupID = data.weightGroupID.value;\n wgtmemObject.size = data.size.value;\n wgtmemObject.weightID = \"ANODE\";\n wgtmemObject.weightValue = Number(data.anodeWeight.value);\n wgtmemObject.density = Number(data.density.value);\n wgtmemObject.para_A = data.A.value;\n wgtmemObject.para_B1 = data.B1.value;\n wgtmemObject.para_B2 = data.B2.value;\n wgtmemObject.para_C = data.C.value;\n wgtmemObject.para_D = data.D.value;\n wgtmemObject.para_F = data.F.value;\n wgtmemObject.para_H = data.H.value;\n wgtmemObject.para_G = data.G.value;\n if (data.size.value) {\n var obj = JSON.parse(data.size.value);\n wgtmemObject.name = selectedMember.name + \"-\" + obj.name;\n } else {\n wgtmemObject.name = selectedMember.name + \"-\";\n }\n this.process.addRenderObject(wgtmemParentObject, wgtmemObject);\n wgtmemObject.setNeedUpdate();\n }\n }\n this.refreshAllAnodes();\n data.tip.value = 1;\n } else {\n data.tip.value = 15;\n return;\n }\n }\n store_1.default.commit(\"structureTree/updateTreeData\", [this.viewer.structureTreeManager.rootNode]);\n this.viewer.updateDisplay();\n };\n CommandSetAndShowWGTMEM.prototype.checkNamelegal = function (name) {\n var reg = /^[A-Z0-9]*$/;\n if (!reg.test(name) || name.trimEnd().length > 4) {\n console.log(\"牺牲阳极组名不符合规范\");\n return false;\n }\n return true;\n };\n CommandSetAndShowWGTMEM.prototype.setWGTMEMObjectsVisible = function (visible) {\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n objects.forEach(function (obj) {\n if (obj.checkBusinessStateIsActive()) {\n obj.visible = visible;\n }\n obj.setNeedUpdate();\n });\n };\n CommandSetAndShowWGTMEM.prototype.refreshAllAnodes = function () {\n var data = this.config.properties.items[0].data;\n data.allAnodes.selectOptions.selections = [];\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n objects.forEach(function (obj) {\n if (obj instanceof gs_ceec_design_1.DesignBaseObject) {\n if (obj.checkBusinessStateIsActive()) {\n data.allAnodes.selectOptions.selections.push({\n label: obj.name,\n value: obj.id\n });\n }\n }\n });\n console.log(\"array:\", data);\n };\n CommandSetAndShowWGTMEM.prototype.getAllAnodes = function () {\n var result = new Array();\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n for (var i = 0; i < objects.length; i++) {\n if (objects[i].checkBusinessStateIsActive()) {\n if (objects[i].memberJointA && objects[i].memberJointB) {\n result.push(objects[i]);\n }\n }\n }\n return result;\n };\n CommandSetAndShowWGTMEM.prototype.getWeightGroupIDArray = function () {\n var result = new Array();\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n for (var i = 0; i < objects.length; i++) {\n if (objects[i].checkBusinessStateIsActive()) {\n var groupID = objects[i].weightGroupID;\n if (result.indexOf(groupID) === -1) {\n result.push(groupID);\n }\n }\n }\n return result;\n };\n CommandSetAndShowWGTMEM.prototype.selectWGTMEMChange = function () {\n console.log(\"选择牺牲阳极\");\n var data = this.config.properties.items[0].data;\n var objId = data.allAnodes.value;\n if (!objId) {\n data.tip.value = 8;\n return;\n }\n var obj = this.process.findRenderObjectById(objId);\n if (obj) {\n this.currentSelectId = obj.id;\n data.selectedMembers.listOptions.list = [];\n data.selectedMembers.listOptions.list.push({\n label: obj.member.name,\n value: obj.member.name\n });\n data.selectedMembers.value = obj.member.name;\n data.weightGroupID.value = obj.weightGroupID;\n data.weightID.value = obj.weightID;\n data.anodeWeight.value = obj.weightValue;\n data.isInclude.value = obj.isInclude;\n data.density.value = obj.density;\n data.angle.value = obj.angle;\n data.A.value = obj.para_A;\n data.B1.value = obj.para_B1;\n data.B2.value = obj.para_B2;\n data.C.value = obj.para_C;\n data.D.value = obj.para_D;\n data.F.value = obj.para_F;\n data.H.value = obj.para_H;\n data.G.value = obj.para_G;\n data.distance.value = obj.distance;\n this.currentModel = Mode.Edit;\n data.tip.value = 7;\n } else {\n this.currentSelectId = null;\n console.log(\"error: obj is null\");\n }\n };\n CommandSetAndShowWGTMEM.prototype.deleteCurrentWGTMEMS = function (indexs) {\n console.log(\"删除当前选中的牺牲阳极\");\n var data = this.config.properties.items[0].data;\n if (indexs.length === 0) {\n data.tip.value = 6;\n return;\n }\n var deletedWGTMEMS = new Array();\n for (var i = 0; i < indexs.length; i++) {\n var objId = data.allAnodes.selectOptions.selections[indexs[i]].value;\n var obj = this.process.findRenderObjectById(objId);\n if (obj) {\n deletedWGTMEMS.push(obj);\n if (obj.id === this.currentSelectId) {\n this.clearConfig();\n }\n }\n }\n for (var i = 0; i < deletedWGTMEMS.length; i++) {\n deletedWGTMEMS[i].tempDelete(this.viewer);\n }\n this.refreshAllAnodes();\n this.viewer.updateDisplay();\n data.tip.value = 5;\n };\n CommandSetAndShowWGTMEM.prototype.clearConfig = function () {\n var data = this.config.properties.items[0].data;\n data.selectedMembers.value = null;\n data.selectedMembers.listOptions.list = [];\n data.selectedMembers.value = null;\n data.weightGroupID.value = null;\n data.anodeWeight.value = null;\n data.distributionModes.value = null;\n data.distributionCount.value = null;\n data.distributionAverageInterval.value = null;\n data.distributionCustomInterval.value = null;\n data.isInclude.value = false;\n data.density.value = null;\n data.angle.value = null;\n data.A.value = null;\n data.B1.value = null;\n data.B2.value = null;\n data.C.value = null;\n data.D.value = null;\n data.F.value = null;\n data.H.value = null;\n data.G.value = null;\n data.distance.value = null;\n };\n CommandSetAndShowWGTMEM.prototype.updatePanel = function () {\n if (this.viewer.selectionInterfaceManager.selectorFilter === selectionInterfaceManager_1.SelectorFiliter.Member) {\n var data = this.config.properties.items[0].data;\n data.selectedMembers.listOptions.list = [];\n var objects = this.caeObjectSelector.selectedRenderObjects;\n if (objects.count() > 0) {\n for (var i = 0; i < objects.count(); i++) {\n var object = objects.items[i];\n if (object instanceof memberObject_1.MemberObject) {\n data.selectedMembers.listOptions.list.push({\n label: object.name,\n value: object.name\n });\n }\n if (object instanceof wgtmemObject_1.WGTMEMObject) {\n data.allAnodes.value = object.id;\n this.selectWGTMEMChange();\n }\n }\n }\n }\n };\n CommandSetAndShowWGTMEM.prototype.computeWeightValue = function () {\n var config = this.config;\n var data = config.properties.items[0].data;\n var A = data.A.value / 1000;\n var B1 = data.B1.value / 1000;\n var B2 = data.B2.value / 1000;\n var C = data.C.value / 1000;\n var D = data.D.value / 1000;\n var F = data.F.value / 1000;\n var H = data.H.value / 1000;\n var G = data.G.value / 1000;\n var rOuter = (D - A) / 2;\n var rInner = rOuter - 0.005;\n var legLength = H + (D - A) / 2;\n var legDensity = 7850;\n var vOuter = Math.PI * rOuter * rOuter * legLength;\n var vInner = Math.PI * rInner * rInner * legLength;\n var vLeg = vOuter - vInner;\n var legWeight = vLeg * legDensity;\n legWeight *= 2;\n var alDensity = 2700;\n var BCenter = (B1 + B2) / 2;\n var A1 = A / (BCenter / B1);\n var A2 = A / (BCenter / B2);\n var xTop = A1;\n var yTop = B1;\n var xBottom = A2;\n var yBottom = B2;\n var s1 = xTop * yTop;\n var s2 = xBottom * yBottom;\n var s0 = BCenter * A;\n var v = (s1 + s2 + 4 * s0) * C / 6;\n var weight = v * alDensity * 0.9;\n var result = weight + legWeight;\n console.log(\"阳极质量:\", result);\n return result;\n };\n return CommandSetAndShowWGTMEM;\n }(commandComponent_1.CommandComponent);\n exports.default = CommandSetAndShowWGTMEM;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3NldEFuZFNob3dXR1RNRU0vY29tbWFuZFNldEFuZFNob3dXR1RNRU0udHMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3NldEFuZFNob3dXR1RNRU0vY29tbWFuZFNldEFuZFNob3dXR1RNRU0udHM/MDYyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW1lcmFNb3VzZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jYW1lcmFNb3VzZVwiO1xuaW1wb3J0IHsgQ29tbWFuZENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21tYW5kQ29tcG9uZW50XCI7XG5pbXBvcnQgeyBDQUVPYmplY3RQcmVTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jQUVPYmplY3RQcmVTZWxlY3RvclwiO1xuaW1wb3J0IHsgQ0FFT2JqZWN0U2VsZWN0b3IgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY2FlT2JqZWN0U2VsZWN0b3JcIjtcbmltcG9ydCB7IENvbW1hbmRTZWxlY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9jb21tYW5kcy9jb21tYW5kU2VsZWN0XCI7XG5pbXBvcnQgeyBTZWxlY3RvckZpbGl0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9tYW5hZ2Vycy9pbnRlcmZhY2VNYW5hZ2Vycy9zZWxlY3Rpb25JbnRlcmZhY2VNYW5hZ2VyXCI7XG5pbXBvcnQgU2V0QW5kU2hvd1dHVE1FTUNvbmZpZyBmcm9tIFwiLi9zZXRBbmRTaG93V0dUTUVNQ29uZmlnXCI7XG5pbXBvcnQgeyBXR1RNRU1PYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvcHJldHJlYXRtZW50L3dndG1lbU9iamVjdFwiO1xuaW1wb3J0IHsgTWVtYmVyT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL21lbWJlck9iamVjdFwiO1xuaW1wb3J0IHsgRGVzaWduQmFzZU9iamVjdCB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHN0b3JlIGZyb20gXCIuLi8uLi8uLi8uLi9zdG9yZVwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgSW50ZXJmYWNlUHJvcGVydHkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9wcm9wZXJ0eUNvbXBvbmVudHMvcHJvcGVydHlDb21wb25lbnRcIjtcbmltcG9ydCB7IExvbmdhbiB9IGZyb20gXCJncy1iaW0tYWlyXCI7XG5cbmVudW0gTW9kZSB7XG4gIEFkZCxcbiAgRWRpdCxcbn1cblxuLyoqXG4gKiDnibrnibLpmLPmnoHlrprkuYnkuI7mmL7npLrlkb3ku6RcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWFuZFNldEFuZFNob3dXR1RNRU0gZXh0ZW5kcyBDb21tYW5kQ29tcG9uZW50IHtcbiAgdHlwZU5hbWU6IHN0cmluZyA9IFwiQ29tbWFuZFNldEFuZFNob3dXR1RNRU1cIjtcbiAgcHJlU2VsZWN0b3I6IENBRU9iamVjdFByZVNlbGVjdG9yID0gbnVsbDtcbiAgY2FlT2JqZWN0U2VsZWN0b3I6IENBRU9iamVjdFNlbGVjdG9yID0gbnVsbDtcbiAgY29uZmlnOiBTZXRBbmRTaG93V0dUTUVNQ29uZmlnO1xuXG4gIGN1cnJlbnRNb2RlbDogTW9kZSA9IE1vZGUuQWRkO1xuICBjdXJyZW50U2VsZWN0SW5kZXggPSAtMTtcbiAgY3VycmVudFNlbGVjdElkID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcblxuICAgIGNvbnNvbGUubG9nKFwiQ29tbWFuZFNldEFuZFNob3dXR1RNRU1cIik7XG4gICAgdGhpcy5jb25maWcgPSBuZXcgU2V0QW5kU2hvd1dHVE1FTUNvbmZpZygpO1xuICAgIHRoaXMuY29uZmlnLnNob3coKTtcblxuICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZGF0YS53ZWlnaHRJRC52YWx1ZSA9IFwiQU5PREVcIjtcbiAgICB9LCAyMCk7XG5cbiAgICB0aGlzLnNldFdHVE1FTU9iamVjdHNWaXNpYmxlKHRydWUpO1xuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgIHRoaXMuY29uZmlnLmNoYW5nZURhdGEgPSAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhcImRhdGEgY2hhbmdlXCIpO1xuICAgICAgbGV0IHBhcmFEYXRhID0gZGF0YS5zaXplLnZhbHVlO1xuICAgICAgaWYgKHBhcmFEYXRhKSB7XG4gICAgICAgIHRoaXMuc2V0SW5QdXREaXNhYmxlKGRhdGEsIHRydWUpO1xuICAgICAgICBsZXQgb2JqID0gSlNPTi5wYXJzZShwYXJhRGF0YSk7XG4gICAgICAgIGRhdGEuQS52YWx1ZSA9IG9iai5BO1xuICAgICAgICBkYXRhLkIxLnZhbHVlID0gb2JqLkIxO1xuICAgICAgICBkYXRhLkIyLnZhbHVlID0gb2JqLkIyO1xuICAgICAgICBkYXRhLkMudmFsdWUgPSBvYmouQztcbiAgICAgICAgZGF0YS5ELnZhbHVlID0gb2JqLkQ7XG4gICAgICAgIGRhdGEuRi52YWx1ZSA9IG9iai5GO1xuICAgICAgICBkYXRhLkgudmFsdWUgPSBvYmouSDtcbiAgICAgICAgZGF0YS5HLnZhbHVlID0gb2JqLkc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldEluUHV0RGlzYWJsZShkYXRhLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMuY29uZmlnLmVkaXRPYmpEYXRhID0gKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coXCLpgInmi6nlt7LmnInnibrnibLpmLPmnoHov5vooYznvJbovpFcIik7XG4gICAgICB0aGlzLnNlbGVjdFdHVE1FTUNoYW5nZSgpO1xuICAgIH07XG5cbiAgICB0aGlzLnJlZnJlc2hBbGxBbm9kZXMoKTtcblxuICAgIC8vIGxldCBzZWxmID0gdGhpcztcbiAgICAvLyB0aGlzLnZpZXdlci5vbldpbmRvd0tleURvd24uYWRkKCh2aWV3ZXIsIGUpID0+IHtcbiAgICAvLyAgIGxldCBldjogYW55ID0gZS51aUV2ZW50O1xuICAgIC8vICAgbGV0IGtleSA9IGV2LmtleTtcblxuICAgIC8vICAgaWYgKGtleSA9PT0gXCJiXCIpIHtcbiAgICAvLyAgICAgc2VsZi5kZWxldGVDdXJyZW50V0dUTUVNUyhbMV0pO1xuICAgIC8vICAgfVxuXG4gICAgLy8gICBpZiAoa2V5ID09PSBcImNcIikge1xuICAgIC8vICAgICBzZWxmLmNvbXB1dGVXZWlnaHRWYWx1ZSgpO1xuICAgIC8vICAgfVxuICAgIC8vIH0pO1xuICB9XG5cbiAgcmVzdG9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZU9wZXJhdG9ycygpO1xuICAgIHRoaXMuY29uZmlnLnNob3coKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGFuZ2VPcGVyYXRvcnMoKTogdm9pZCB7XG4gICAgLy8g6L+b5YWl5ZG95Luk5YmN5riF56m66YCJ5Lit5LiO6auY5LquLlxuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG5cbiAgICAvLyDmuIXnqbrmk43kvZzlmaguXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmNsZWFyKCk7XG4gICAgLy8g5re75Yqg5pGE5YOP5py65pON5L2c5ZmoXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZChuZXcgQ2FtZXJhTW91c2UoKSk7XG5cbiAgICAvLyDmt7vliqBDQUXlr7nosaHpooTpgInmi6nlmahcbiAgICB0aGlzLnByZVNlbGVjdG9yID0gbmV3IENBRU9iamVjdFByZVNlbGVjdG9yKCk7XG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZCh0aGlzLnByZVNlbGVjdG9yKTtcbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25JbnRlcmZhY2VNYW5hZ2VyLnNlbGVjdG9yRmlsdGVyID1cbiAgICAgIFNlbGVjdG9yRmlsaXRlci5NZW1iZXI7XG5cbiAgICB0aGlzLmNhZU9iamVjdFNlbGVjdG9yID0gbmV3IENBRU9iamVjdFNlbGVjdG9yKCk7XG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZCh0aGlzLmNhZU9iamVjdFNlbGVjdG9yKTtcblxuICAgIHRoaXMuY2FlT2JqZWN0U2VsZWN0b3IubEJ1dHRvblVwLmFkZCgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVQYW5lbCgpO1xuICAgICAgfSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldEluUHV0RGlzYWJsZShkYXRhOiBJbnRlcmZhY2VQcm9wZXJ0eSwgZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBkYXRhLkEuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgZGF0YS5CMS5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkIyLmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuQy5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkQuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgZGF0YS5GLmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuSC5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkcuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cblxuICBlbmQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcuaGlkZSgpO1xuICAgIHN1cGVyLmVuZCgpO1xuXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIHRoaXMuc2V0V0dUTUVNT2JqZWN0c1Zpc2libGUoZmFsc2UpO1xuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgbGV0IGNvbW1hbmRTZWxlY3QgPSBuZXcgQ29tbWFuZFNlbGVjdCgpO1xuICAgIHRoaXMucHJvY2Vzcy5jb21tYW5kTWFuYWdlci5leGVjdXRlKGNvbW1hbmRTZWxlY3QpO1xuICB9XG5cbiAgY29tbWFuZE9rKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKFwiY29uZmlnOlwiLCB0aGlzLmNvbmZpZyk7XG4gICAgbGV0IGNvbmZpZzogU2V0QW5kU2hvd1dHVE1FTUNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICAgIGxldCBkYXRhID0gY29uZmlnLnByb3BlcnRpZXMuaXRlbXNbMF0uZGF0YTtcblxuICAgIGxldCB3ZWlnaHRHcm91cElEID0gZGF0YS53ZWlnaHRHcm91cElELnZhbHVlO1xuICAgIGlmICghd2VpZ2h0R3JvdXBJRCkge1xuICAgICAgZGF0YS50aXAudmFsdWUgPSA5O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFkYXRhLkEudmFsdWUgfHxcbiAgICAgICFkYXRhLkIxLnZhbHVlIHx8XG4gICAgICAhZGF0YS5CMi52YWx1ZSB8fFxuICAgICAgIWRhdGEuQy52YWx1ZSB8fFxuICAgICAgIWRhdGEuRC52YWx1ZSB8fFxuICAgICAgIWRhdGEuRi52YWx1ZSB8fFxuICAgICAgIWRhdGEuSC52YWx1ZSB8fFxuICAgICAgIWRhdGEuRy52YWx1ZVxuICAgICkge1xuICAgICAgLy8g5Lu75LiA5Liq5bC65a+45rKh5pyJ6L6T5YWl5YC8XG4gICAgICBkYXRhLnRpcC52YWx1ZSA9IDE3O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmKGRhdGEuYW5nbGUudmFsdWUgPiAxODAgfHwgZGF0YS5hbmdsZS52YWx1ZSA8IC0xODApIHtcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gMTk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGxlZ2FsID0gdGhpcy5jaGVja05hbWVsZWdhbCh3ZWlnaHRHcm91cElEKTtcbiAgICBpZiAoIWxlZ2FsKSB7XG4gICAgICBkYXRhLnRpcC52YWx1ZSA9IDEwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghZGF0YS5kaXN0cmlidXRpb25Nb2Rlcy52YWx1ZSkge1xuICAgICAgLy8gZGlzdHJpYnV0aW9uTW9kZXPmsqHmnInlgLxcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gMTY7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaXNOYU4oTnVtYmVyKGRhdGEuYW5vZGVXZWlnaHQudmFsdWUpKSB8fFxuICAgICAgTnVtYmVyKGRhdGEuYW5vZGVXZWlnaHQudmFsdWUpIDwgMFxuICAgICkge1xuICAgICAgLy8g6Ziz5p6B6LSo6YeP5LiN6IO95bCP5LqOMFxuICAgICAgZGF0YS50aXAudmFsdWUgPSAxMTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBkYXRhLmRpc3RyaWJ1dGlvbk1vZGVzLnZhbHVlID09PSBcIjFcIiAmJlxuICAgICAgKGlzTmFOKE51bWJlcihkYXRhLmRpc3RyaWJ1dGlvbkNvdW50LnZhbHVlKSkgfHxcbiAgICAgICAgTnVtYmVyKGRhdGEuZGlzdHJpYnV0aW9uQ291bnQudmFsdWUpIDwgMSlcbiAgICApIHtcbiAgICAgIC8vIOaVsOmHj+S4jeiDveWwj+S6jjFcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gMTI7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZGF0YS5kaXN0cmlidXRpb25Nb2Rlcy52YWx1ZSA9PT0gXCIyXCIgJiZcbiAgICAgIChpc05hTihOdW1iZXIoZGF0YS5kaXN0cmlidXRpb25BdmVyYWdlSW50ZXJ2YWwudmFsdWUpKSB8fFxuICAgICAgICBOdW1iZXIoZGF0YS5kaXN0cmlidXRpb25BdmVyYWdlSW50ZXJ2YWwudmFsdWUgPD0gMCkpXG4gICAgKSB7XG4gICAgICAvLyDlnYfljIDpl7TpmpTlv4XpobvlpKfkuo4wXG4gICAgICBkYXRhLnRpcC52YWx1ZSA9IDEzO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkYXRhLmRpc3RyaWJ1dGlvbk1vZGVzLnZhbHVlID09PSBcIjNcIikge1xuICAgICAgbGV0IGludGVydmFsU3RyaW5nID0gZGF0YS5kaXN0cmlidXRpb25DdXN0b21JbnRlcnZhbC52YWx1ZSBhcyBzdHJpbmc7XG4gICAgICBsZXQgYXJyYXkgPSBpbnRlcnZhbFN0cmluZy5zcGxpdChcIixcIik7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpc05hTihOdW1iZXIoYXJyYXlbaV0pKSB8fCBOdW1iZXIoYXJyYXlbaV0pIDw9IDApIHtcbiAgICAgICAgICAvLyDpl7TpmpTkuI3og73lsI/kuo4wXG4gICAgICAgICAgZGF0YS50aXAudmFsdWUgPSAxNDtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jdXJyZW50TW9kZWwgPT09IE1vZGUuRWRpdCkge1xuICAgICAgaWYgKHRoaXMuY3VycmVudE1vZGVsID09PSBNb2RlLkVkaXQpIHtcbiAgICAgICAgLy8g57yW6L6R54m654my6Ziz5p6B5pWw5o2uLlxuICAgICAgICBsZXQgd2d0bWVtT2JqZWN0OiBXR1RNRU1PYmplY3QgPSBudWxsO1xuXG4gICAgICAgIGlmIChkYXRhLmFsbEFub2Rlcy52YWx1ZSkge1xuICAgICAgICAgIGxldCB3Z3RtZW1PYmplY3RJZCA9IGRhdGEuYWxsQW5vZGVzLnZhbHVlO1xuICAgICAgICAgIHdndG1lbU9iamVjdCA9IHRoaXMucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlJZChcbiAgICAgICAgICAgIHdndG1lbU9iamVjdElkXG4gICAgICAgICAgKSBhcyBXR1RNRU1PYmplY3Q7XG4gICAgICAgICAgd2d0bWVtT2JqZWN0LmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkVkaXRpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvcjogZGF0YS5hbGxBbm9kZXMudmFsdWUgaXMgbnVsbFwiKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB3Z3RtZW1PYmplY3Qud2VpZ2h0R3JvdXBJRCA9IGRhdGEud2VpZ2h0R3JvdXBJRC52YWx1ZTtcbiAgICAgICAgd2d0bWVtT2JqZWN0LndlaWdodElEID0gZGF0YS53ZWlnaHRJRC52YWx1ZTtcbiAgICAgICAgd2d0bWVtT2JqZWN0LnNpemUgPSBkYXRhLnNpemUudmFsdWU7XG5cbiAgICAgICAgd2d0bWVtT2JqZWN0LndlaWdodFZhbHVlID0gTnVtYmVyKGRhdGEuYW5vZGVXZWlnaHQudmFsdWUpO1xuICAgICAgICB3Z3RtZW1PYmplY3QuZGVuc2l0eSA9IE51bWJlcihkYXRhLmRlbnNpdHkudmFsdWUpO1xuXG4gICAgICAgIHdndG1lbU9iamVjdC5wYXJhX0EgPSBkYXRhLkEudmFsdWU7XG4gICAgICAgIHdndG1lbU9iamVjdC5wYXJhX0IxID0gZGF0YS5CMS52YWx1ZTtcbiAgICAgICAgd2d0bWVtT2JqZWN0LnBhcmFfQjIgPSBkYXRhLkIyLnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9DID0gZGF0YS5DLnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9EID0gZGF0YS5ELnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9GID0gZGF0YS5GLnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9IID0gZGF0YS5ILnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9HID0gZGF0YS5HLnZhbHVlO1xuXG4gICAgICAgIHdndG1lbU9iamVjdC5hbmdsZSA9IGRhdGEuYW5nbGUudmFsdWU7XG4gICAgICAgIHdndG1lbU9iamVjdC5kaXN0YW5jZSA9IGRhdGEuZGlzdGFuY2UudmFsdWU7XG5cbiAgICAgICAgd2d0bWVtT2JqZWN0LnNldE5lZWRVcGRhdGUoKTtcbiAgICAgICAgZGF0YS50aXAudmFsdWUgPSAxO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgc2VsZWN0ZWRNZW1iZXJzID0gZGF0YS5zZWxlY3RlZE1lbWJlcnM7XG4gICAgICBsZXQgc2VsZWN0ZWRPYmplY3RzID0gbmV3IExvbmdhbi5MaXN0PE1lbWJlck9iamVjdD4oKTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VsZWN0ZWRNZW1iZXJzLmxpc3RPcHRpb25zLmxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG9iamVjdE5hbWUgPSBzZWxlY3RlZE1lbWJlcnMubGlzdE9wdGlvbnMubGlzdFtpXS52YWx1ZTtcbiAgICAgICAgbGV0IG9iamVjdCA9IHRoaXMucHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZSxcbiAgICAgICAgICBvYmplY3ROYW1lXG4gICAgICAgICkgYXMgTWVtYmVyT2JqZWN0O1xuICAgICAgICBpZiAob2JqZWN0KSB7XG4gICAgICAgICAgc2VsZWN0ZWRPYmplY3RzLmFkZChvYmplY3QpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzZWxlY3RlZE9iamVjdHMuY291bnQoKSA+IDApIHtcbiAgICAgICAgbGV0IHByZXRyZWF0bWVudFJPID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgICAgIFwi5YmN5aSE55CG5Y+v6KeG5YyW6L6F5YqpXCJcbiAgICAgICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuICAgICAgICBsZXQgd2d0bWVtUGFyZW50T2JqZWN0ID1cbiAgICAgICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICAgICAgcHJldHJlYXRtZW50Uk8sXG4gICAgICAgICAgICBcIueJuueJsumYs+aegeWumuS5ieS4juaYvuekulwiXG4gICAgICAgICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuXG4gICAgICAgIGlmICghd2d0bWVtUGFyZW50T2JqZWN0KSB7XG4gICAgICAgICAgd2d0bWVtUGFyZW50T2JqZWN0ID0gbmV3IERlc2lnbkJhc2VPYmplY3QoKTtcbiAgICAgICAgICB3Z3RtZW1QYXJlbnRPYmplY3QuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gICAgICAgICAgd2d0bWVtUGFyZW50T2JqZWN0Lm5hbWUgPSBcIueJuueJsumYs+aegeWumuS5ieS4juaYvuekulwiO1xuICAgICAgICAgIHRoaXMucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QocHJldHJlYXRtZW50Uk8sIHdndG1lbVBhcmVudE9iamVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdGVkT2JqZWN0cy5jb3VudCgpOyBpKyspIHtcbiAgICAgICAgICBsZXQgc2VsZWN0ZWRNZW1iZXIgPSBzZWxlY3RlZE9iamVjdHMuaXRlbXNbaV0gYXMgTWVtYmVyT2JqZWN0O1xuICAgICAgICAgIGxldCBtZW1iZXJMZW4gPSBzZWxlY3RlZE1lbWJlci5nZXRNZW1iZXJMZW5ndGgoKTtcblxuICAgICAgICAgIGxldCBkaXN0cmlidXRpb25Nb2RlcyA9IGRhdGEuZGlzdHJpYnV0aW9uTW9kZXMudmFsdWU7XG4gICAgICAgICAgbGV0IGRpc3RhbmNlcyA9IFtdO1xuICAgICAgICAgIGlmIChkaXN0cmlidXRpb25Nb2RlcyA9PT0gXCIxXCIpIHtcbiAgICAgICAgICAgIGlmICghZGF0YS5kaXN0cmlidXRpb25Db3VudC52YWx1ZSkge1xuICAgICAgICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDI7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCB3Z3RDb3VudCA9IE51bWJlcihkYXRhLmRpc3RyaWJ1dGlvbkNvdW50LnZhbHVlKSArIDE7XG4gICAgICAgICAgICB3Z3RDb3VudCA9IE1hdGguZmxvb3Iod2d0Q291bnQpO1xuICAgICAgICAgICAgbGV0IHN0ZXAgPSBtZW1iZXJMZW4gLyB3Z3RDb3VudDtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgd2d0Q291bnQ7IGorKykge1xuICAgICAgICAgICAgICBkaXN0YW5jZXMucHVzaChqICogc3RlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZihzdGVwID4gbWVtYmVyTGVuKSB7XG4gICAgICAgICAgICAgIGRhdGEudGlwLnZhbHVlID0gMTg7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKGRpc3RyaWJ1dGlvbk1vZGVzID09PSBcIjJcIikge1xuICAgICAgICAgICAgaWYgKCFkYXRhLmRpc3RyaWJ1dGlvbkF2ZXJhZ2VJbnRlcnZhbC52YWx1ZSkge1xuICAgICAgICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDM7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBjb3VudGVyID0gMTtcbiAgICAgICAgICAgIGxldCBzdGVwID0gTnVtYmVyKGRhdGEuZGlzdHJpYnV0aW9uQXZlcmFnZUludGVydmFsLnZhbHVlKTtcbiAgICAgICAgICAgIHdoaWxlIChjb3VudGVyICogc3RlcCA8PSBtZW1iZXJMZW4pIHtcbiAgICAgICAgICAgICAgZGlzdGFuY2VzLnB1c2goY291bnRlciAqIHN0ZXApO1xuICAgICAgICAgICAgICBjb3VudGVyKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChkaXN0cmlidXRpb25Nb2RlcyA9PT0gXCIzXCIpIHtcbiAgICAgICAgICAgIGlmICghZGF0YS5kaXN0cmlidXRpb25DdXN0b21JbnRlcnZhbC52YWx1ZSkge1xuICAgICAgICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDQ7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBpbnRlcnZhbFN0cmluZyA9IGRhdGEuZGlzdHJpYnV0aW9uQ3VzdG9tSW50ZXJ2YWxcbiAgICAgICAgICAgICAgLnZhbHVlIGFzIHN0cmluZztcbiAgICAgICAgICAgIGxldCBhcnJheSA9IGludGVydmFsU3RyaW5nLnNwbGl0KFwiLFwiKTtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYXJyYXkubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgbGV0IHBvcyA9IE51bWJlcihhcnJheVtqXSk7XG4gICAgICAgICAgICAgIGlmKHBvcyA8PSBtZW1iZXJMZW4pIHtcbiAgICAgICAgICAgICAgICBkaXN0YW5jZXMucHVzaChOdW1iZXIoYXJyYXlbal0pKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyDlhbbkuK3mn5DkuKrlgLzotornlYwuXG4gICAgICAgICAgICAgICAgZGF0YS50aXAudmFsdWUgPSAxODtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICAgIC8vIOajgOafpeesrOS4gOS4quWSjOacgOWQjuS4gOS4qumYs+aegeaYr+WQpui2iui/h+adhuS7ti5cbiAgICAgICAgICBsZXQgZGlzU3RhcnQgPSBkaXN0YW5jZXNbMF07XG4gICAgICAgICAgbGV0IGRpc0VuZCA9IGRpc3RhbmNlc1tkaXN0YW5jZXMubGVuZ3RoICAtIDFdO1xuICAgICAgICAgIGxldCBEID0gZGF0YS5ELnZhbHVlIC8gMTAwMDtcbiAgICAgICAgICBpZihEIC8gMiA+IGRpc1N0YXJ0KSB7XG4gICAgICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDE4O1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZihEIC8gMiA+IG1lbWJlckxlbiAtIGRpc0VuZCkge1xuICAgICAgICAgICAgZGF0YS50aXAudmFsdWUgPSAxODtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyDmt7vliqDnibrnibLpmLPmnoHmlbDmja4uXG4gICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkaXN0YW5jZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGxldCB3Z3RtZW1PYmplY3Q6IFdHVE1FTU9iamVjdCA9IG51bGw7XG5cbiAgICAgICAgICAgIHdndG1lbU9iamVjdCA9IG5ldyBXR1RNRU1PYmplY3QoKTtcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5DcmVhdGluZztcblxuICAgICAgICAgICAgd2d0bWVtT2JqZWN0Lm1lbWJlckpvaW50QSA9IHNlbGVjdGVkTWVtYmVyLnN0YXJ0Lm5hbWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QubWVtYmVySm9pbnRCID0gc2VsZWN0ZWRNZW1iZXIuZW5kLm5hbWU7XG5cbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5hbmdsZSA9IGRhdGEuYW5nbGUudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QuZGlzdGFuY2UgPSBkaXN0YW5jZXNbal07XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3Qud2VpZ2h0R3JvdXBJRCA9IGRhdGEud2VpZ2h0R3JvdXBJRC52YWx1ZTtcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5zaXplID0gZGF0YS5zaXplLnZhbHVlO1xuXG4gICAgICAgICAgICAvLyB3Z3RtZW1PYmplY3Qud2VpZ2h0SUQgPSBkYXRhLndlaWdodElELnZhbHVlO1xuICAgICAgICAgICAgd2d0bWVtT2JqZWN0LndlaWdodElEID0gXCJBTk9ERVwiO1xuICAgICAgICAgICAgLy8gd2d0bWVtT2JqZWN0LndlaWdodFZhbHVlID0gMzEwLjA7XG4gICAgICAgICAgICAvLyB3Z3RtZW1PYmplY3QuZGVuc2l0eSA9IDIuNztcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC53ZWlnaHRWYWx1ZSA9IE51bWJlcihkYXRhLmFub2RlV2VpZ2h0LnZhbHVlKTtcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5kZW5zaXR5ID0gTnVtYmVyKGRhdGEuZGVuc2l0eS52YWx1ZSk7XG5cbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5wYXJhX0EgPSBkYXRhLkEudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9CMSA9IGRhdGEuQjEudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9CMiA9IGRhdGEuQjIudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9DID0gZGF0YS5DLnZhbHVlO1xuICAgICAgICAgICAgd2d0bWVtT2JqZWN0LnBhcmFfRCA9IGRhdGEuRC52YWx1ZTtcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5wYXJhX0YgPSBkYXRhLkYudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9IID0gZGF0YS5ILnZhbHVlO1xuICAgICAgICAgICAgd2d0bWVtT2JqZWN0LnBhcmFfRyA9IGRhdGEuRy52YWx1ZTtcblxuICAgICAgICAgICAgaWYgKGRhdGEuc2l6ZS52YWx1ZSkge1xuICAgICAgICAgICAgICBsZXQgb2JqID0gSlNPTi5wYXJzZShkYXRhLnNpemUudmFsdWUpO1xuICAgICAgICAgICAgICB3Z3RtZW1PYmplY3QubmFtZSA9IHNlbGVjdGVkTWVtYmVyLm5hbWUgKyBcIi1cIiArIG9iai5uYW1lO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgd2d0bWVtT2JqZWN0Lm5hbWUgPSBzZWxlY3RlZE1lbWJlci5uYW1lICsgXCItXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KHdndG1lbVBhcmVudE9iamVjdCwgd2d0bWVtT2JqZWN0KTtcblxuICAgICAgICAgICAgd2d0bWVtT2JqZWN0LnNldE5lZWRVcGRhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxBbm9kZXMoKTtcblxuICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDE1O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g5pu05paw5bem5L6n57uT5p6E5qCRXG4gICAgc3RvcmUuY29tbWl0KFwic3RydWN0dXJlVHJlZS91cGRhdGVUcmVlRGF0YVwiLCBbXG4gICAgICB0aGlzLnZpZXdlci5zdHJ1Y3R1cmVUcmVlTWFuYWdlci5yb290Tm9kZSxcbiAgICBdKTtcblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tOYW1lbGVnYWwobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IHJlZyA9IC9eW0EtWjAtOV0qJC87XG4gICAgaWYgKCFyZWcudGVzdChuYW1lKSB8fCBuYW1lLnRyaW1FbmQoKS5sZW5ndGggPiA0KSB7XG4gICAgICBjb25zb2xlLmxvZyhcIueJuueJsumYs+aegee7hOWQjeS4jeespuWQiOinhOiMg1wiKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIHNldFdHVE1FTU9iamVjdHNWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBsZXQgb2JqZWN0cyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJXR1RNRU1PYmplY3RcIikgYXMgYW55O1xuICAgIG9iamVjdHMuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICAvLyBvYmoudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgaWYob2JqLmNoZWNrQnVzaW5lc3NTdGF0ZUlzQWN0aXZlKCkpIHtcbiAgICAgICAgb2JqLnZpc2libGUgPSB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgb2JqLnNldE5lZWRVcGRhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlZnJlc2hBbGxBbm9kZXMoKSB7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgZGF0YS5hbGxBbm9kZXMuc2VsZWN0T3B0aW9ucy5zZWxlY3Rpb25zID0gW107XG5cbiAgICBsZXQgb2JqZWN0cyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXG4gICAgICBcIldHVE1FTU9iamVjdFwiXG4gICAgKSBhcyBXR1RNRU1PYmplY3RbXTtcbiAgICBvYmplY3RzLmZvckVhY2goKG9iaikgPT4ge1xuICAgICAgaWYob2JqIGluc3RhbmNlb2YgRGVzaWduQmFzZU9iamVjdCkge1xuICAgICAgICBpZihvYmouY2hlY2tCdXNpbmVzc1N0YXRlSXNBY3RpdmUoKSkge1xuICAgICAgICAgIGRhdGEuYWxsQW5vZGVzLnNlbGVjdE9wdGlvbnMuc2VsZWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIGxhYmVsOiBvYmoubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBvYmouaWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKFwiYXJyYXk6XCIsIGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIOi/lOWbnuWFqOmDqOeJuueJsumYs+aegeeahOaVsOe7hFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0QWxsQW5vZGVzKCkge1xuICAgIGxldCByZXN1bHQgPSBuZXcgQXJyYXk8V0dUTUVNT2JqZWN0PigpO1xuXG4gICAgbGV0IG9iamVjdHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFxuICAgICAgXCJXR1RNRU1PYmplY3RcIlxuICAgICkgYXMgV0dUTUVNT2JqZWN0W107XG5cbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYob2JqZWN0c1tpXS5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgIGlmKG9iamVjdHNbaV0ubWVtYmVySm9pbnRBICYmIG9iamVjdHNbaV0ubWVtYmVySm9pbnRCKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2gob2JqZWN0c1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIOi/lOWbnuWFqOmDqOmYs+aegei0qOmHj+e7hOWQjeeahOaVsOe7hFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0V2VpZ2h0R3JvdXBJREFycmF5KCkge1xuICAgIGxldCByZXN1bHQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGxldCBvYmplY3RzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcbiAgICAgIFwiV0dUTUVNT2JqZWN0XCJcbiAgICApIGFzIFdHVE1FTU9iamVjdFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYob2JqZWN0c1tpXS5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgIGxldCBncm91cElEID0gb2JqZWN0c1tpXS53ZWlnaHRHcm91cElEO1xuICAgICAgICBpZiAocmVzdWx0LmluZGV4T2YoZ3JvdXBJRCkgPT09IC0xKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goZ3JvdXBJRCk7XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNlbGVjdFdHVE1FTUNoYW5nZSgpIHtcbiAgICBjb25zb2xlLmxvZyhcIumAieaLqeeJuueJsumYs+aegVwiKTtcblxuICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgIGxldCBvYmpJZCA9IGRhdGEuYWxsQW5vZGVzLnZhbHVlO1xuICAgIGlmICghb2JqSWQpIHtcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gODtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgb2JqID0gdGhpcy5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeUlkKG9iaklkKSBhcyBXR1RNRU1PYmplY3Q7XG4gICAgaWYgKG9iaikge1xuICAgICAgdGhpcy5jdXJyZW50U2VsZWN0SWQgPSBvYmouaWQ7XG5cbiAgICAgIGRhdGEuc2VsZWN0ZWRNZW1iZXJzLmxpc3RPcHRpb25zLmxpc3QgPSBbXTtcbiAgICAgIGRhdGEuc2VsZWN0ZWRNZW1iZXJzLmxpc3RPcHRpb25zLmxpc3QucHVzaCh7XG4gICAgICAgIGxhYmVsOiBvYmoubWVtYmVyLm5hbWUsXG4gICAgICAgIHZhbHVlOiBvYmoubWVtYmVyLm5hbWUsXG4gICAgICB9KTtcbiAgICAgIGRhdGEuc2VsZWN0ZWRNZW1iZXJzLnZhbHVlID0gb2JqLm1lbWJlci5uYW1lO1xuICAgICAgZGF0YS53ZWlnaHRHcm91cElELnZhbHVlID0gb2JqLndlaWdodEdyb3VwSUQ7XG4gICAgICBkYXRhLndlaWdodElELnZhbHVlID0gb2JqLndlaWdodElEO1xuICAgICAgZGF0YS5hbm9kZVdlaWdodC52YWx1ZSA9IG9iai53ZWlnaHRWYWx1ZTtcbiAgICAgIGRhdGEuaXNJbmNsdWRlLnZhbHVlID0gb2JqLmlzSW5jbHVkZTtcbiAgICAgIGRhdGEuZGVuc2l0eS52YWx1ZSA9IG9iai5kZW5zaXR5O1xuICAgICAgZGF0YS5hbmdsZS52YWx1ZSA9IG9iai5hbmdsZTtcbiAgICAgIGRhdGEuQS52YWx1ZSA9IG9iai5wYXJhX0E7XG4gICAgICBkYXRhLkIxLnZhbHVlID0gb2JqLnBhcmFfQjE7XG4gICAgICBkYXRhLkIyLnZhbHVlID0gb2JqLnBhcmFfQjI7XG4gICAgICBkYXRhLkMudmFsdWUgPSBvYmoucGFyYV9DO1xuICAgICAgZGF0YS5ELnZhbHVlID0gb2JqLnBhcmFfRDtcbiAgICAgIGRhdGEuRi52YWx1ZSA9IG9iai5wYXJhX0Y7XG4gICAgICBkYXRhLkgudmFsdWUgPSBvYmoucGFyYV9IO1xuICAgICAgZGF0YS5HLnZhbHVlID0gb2JqLnBhcmFfRztcbiAgICAgIGRhdGEuZGlzdGFuY2UudmFsdWUgPSBvYmouZGlzdGFuY2U7XG5cbiAgICAgIHRoaXMuY3VycmVudE1vZGVsID0gTW9kZS5FZGl0O1xuICAgICAgZGF0YS50aXAudmFsdWUgPSA3O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZWxlY3RJZCA9IG51bGw7XG4gICAgICBjb25zb2xlLmxvZyhcImVycm9yOiBvYmogaXMgbnVsbFwiKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVDdXJyZW50V0dUTUVNUyhpbmRleHM6IG51bWJlcltdKSB7XG4gICAgY29uc29sZS5sb2coXCLliKDpmaTlvZPliY3pgInkuK3nmoTnibrnibLpmLPmnoFcIik7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG5cbiAgICBpZiAoaW5kZXhzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGF0YS50aXAudmFsdWUgPSA2O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBkZWxldGVkV0dUTUVNUyA9IG5ldyBBcnJheTxXR1RNRU1PYmplY3Q+KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRleHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBvYmpJZCA9IGRhdGEuYWxsQW5vZGVzLnNlbGVjdE9wdGlvbnMuc2VsZWN0aW9uc1tpbmRleHNbaV1dLnZhbHVlO1xuICAgICAgbGV0IG9iaiA9IHRoaXMucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlJZChvYmpJZCkgYXMgV0dUTUVNT2JqZWN0O1xuICAgICAgaWYgKG9iaikge1xuICAgICAgICBkZWxldGVkV0dUTUVNUy5wdXNoKG9iaik7XG4gICAgICAgIGlmKG9iai5pZCA9PT0gdGhpcy5jdXJyZW50U2VsZWN0SWQpIHtcbiAgICAgICAgICAvL2NsZWFyIGNvbmZpZy5cbiAgICAgICAgICB0aGlzLmNsZWFyQ29uZmlnKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlbGV0ZWRXR1RNRU1TLmxlbmd0aDsgaSsrKSB7XG4gICAgICBkZWxldGVkV0dUTUVNU1tpXS50ZW1wRGVsZXRlKHRoaXMudmlld2VyKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlZnJlc2hBbGxBbm9kZXMoKTtcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG5cbiAgICBkYXRhLnRpcC52YWx1ZSA9IDU7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyQ29uZmlnKCkge1xuICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgIGRhdGEuc2VsZWN0ZWRNZW1iZXJzLnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLnNlbGVjdGVkTWVtYmVycy5saXN0T3B0aW9ucy5saXN0ID0gW107XG4gICAgZGF0YS5zZWxlY3RlZE1lbWJlcnMudmFsdWUgPSBudWxsO1xuICAgIGRhdGEud2VpZ2h0R3JvdXBJRC52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS53ZWlnaHRJRC52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5hbm9kZVdlaWdodC52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5kaXN0cmlidXRpb25Nb2Rlcy52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5kaXN0cmlidXRpb25Db3VudC52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5kaXN0cmlidXRpb25BdmVyYWdlSW50ZXJ2YWwudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuZGlzdHJpYnV0aW9uQ3VzdG9tSW50ZXJ2YWwudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuaXNJbmNsdWRlLnZhbHVlID0gZmFsc2U7XG4gICAgZGF0YS5kZW5zaXR5LnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLmFuZ2xlLnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLkEudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuQjEudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuQjIudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuQy52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5ELnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLkYudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuSC52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5HLnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLmRpc3RhbmNlLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUGFuZWwoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlciA9PT1cbiAgICAgIFNlbGVjdG9yRmlsaXRlci5NZW1iZXJcbiAgICApIHtcbiAgICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgICAgLy8g5pu05paw6Z2i5p2/55qE6YCJ5Lit54K55YiX6KGoLlxuICAgICAgZGF0YS5zZWxlY3RlZE1lbWJlcnMubGlzdE9wdGlvbnMubGlzdCA9XG4gICAgICAgIFtdO1xuICAgICAgbGV0IG9iamVjdHMgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgICAgIGlmIChvYmplY3RzLmNvdW50KCkgPiAwKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5jb3VudCgpOyBpKyspIHtcbiAgICAgICAgICBsZXQgb2JqZWN0ID0gb2JqZWN0cy5pdGVtc1tpXTtcbiAgICAgICAgICBpZiAob2JqZWN0IGluc3RhbmNlb2YgTWVtYmVyT2JqZWN0KSB7XG4gICAgICAgICAgICBkYXRhLnNlbGVjdGVkTWVtYmVycy5saXN0T3B0aW9ucy5saXN0LnB1c2goXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogb2JqZWN0Lm5hbWUsXG4gICAgICAgICAgICAgICAgdmFsdWU6IG9iamVjdC5uYW1lLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZihvYmplY3QgaW5zdGFuY2VvZiBXR1RNRU1PYmplY3QpIHtcbiAgICAgICAgICAgIGRhdGEuYWxsQW5vZGVzLnZhbHVlID0gb2JqZWN0LmlkO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RXR1RNRU1DaGFuZ2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog6K6h566X6Ziz5p6B6LSo6YePKGtnKVxuICAgKi9cbiAgcHVibGljIGNvbXB1dGVXZWlnaHRWYWx1ZSgpIHtcbiAgICBsZXQgY29uZmlnOiBTZXRBbmRTaG93V0dUTUVNQ29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgbGV0IGRhdGEgPSBjb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuXG4gICAgbGV0IEEgPSBkYXRhLkEudmFsdWUgLyAxMDAwO1xuICAgIGxldCBCMSA9IGRhdGEuQjEudmFsdWUvIDEwMDA7XG4gICAgbGV0IEIyID0gZGF0YS5CMi52YWx1ZS8gMTAwMDtcbiAgICBsZXQgQyA9IGRhdGEuQy52YWx1ZS8gMTAwMDtcbiAgICBsZXQgRCA9IGRhdGEuRC52YWx1ZS8gMTAwMDtcbiAgICBsZXQgRiA9IGRhdGEuRi52YWx1ZS8gMTAwMDtcbiAgICBsZXQgSCA9IGRhdGEuSC52YWx1ZS8gMTAwMDtcbiAgICBsZXQgRyA9IGRhdGEuRy52YWx1ZS8gMTAwMDtcblxuICAgIC8vIOaUr+iEmuS4reW/g+e6v+mVv+W6pi5cbiAgICBsZXQgck91dGVyID0gKEQgLSBBKSAvIDI7XG4gICAgbGV0IHJJbm5lciA9IHJPdXRlciAtIDAuMDA1O1xuICAgIGxldCBsZWdMZW5ndGggPSAoSCArIChEIC0gQSkgLyAyKTtcbiAgICBsZXQgbGVnRGVuc2l0eSA9IDc4NTA7XG5cbiAgICBsZXQgdk91dGVyID0gTWF0aC5QSSAqIHJPdXRlciAqIHJPdXRlciAqIGxlZ0xlbmd0aDtcbiAgICBsZXQgdklubmVyID0gTWF0aC5QSSAqIHJJbm5lciAqIHJJbm5lciAqIGxlZ0xlbmd0aDtcbiAgICBsZXQgdkxlZyA9IHZPdXRlciAtIHZJbm5lcjtcbiAgICBsZXQgbGVnV2VpZ2h0ID0gdkxlZyAqIGxlZ0RlbnNpdHk7XG4gICAgLy8g5pSv6ISa5pyJ5Lik5LiqXG4gICAgbGVnV2VpZ2h0ICo9IDI7XG4gICAgIFxuXG4gICAgLy8g6ZOd6IqvXG4gICAgbGV0IGFsRGVuc2l0eSA9IDI3MDA7XG4gICAgbGV0IEJDZW50ZXIgPSAoQjEgKyBCMikgLyAyO1xuICAgIGxldCBBMSA9IEEgLyAoQkNlbnRlciAvIEIxKTtcbiAgICBsZXQgQTIgPSBBIC8gKEJDZW50ZXIgLyBCMik7XG5cbiAgICBsZXQgeFRvcCA9ICBBMTtcbiAgICBsZXQgeVRvcCA9IEIxO1xuICAgIGxldCB4Qm90dG9tID0gQTI7XG4gICAgbGV0IHlCb3R0b20gPSBCMjtcblxuICAgIGxldCBzMSA9IHhUb3AgKiB5VG9wO1xuICAgIGxldCBzMiA9IHhCb3R0b20gKiB5Qm90dG9tO1xuICAgIGxldCBzMCA9IEJDZW50ZXIgKiBBO1xuICAgIGxldCB2ID0gKHMxICsgczIgKyA0ICogczApICogQyAvIDY7XG4gICAgbGV0IHdlaWdodCA9IHYgKiBhbERlbnNpdHkgKiAwLjk7XG5cbiAgICBsZXQgcmVzdWx0ID0gd2VpZ2h0ICsgbGVnV2VpZ2h0O1xuICAgIGNvbnNvbGUubG9nKFwi6Ziz5p6B6LSo6YeP77yaXCIsIHJlc3VsdCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQWVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUFBO0FBVUE7QUFBQTtBQVRBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTs7QUFJQTtBQUVBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQWVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUdBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBV0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFFQTtBQUNBOztBQUdBO0FBS0E7QUFDQTs7QUFHQTtBQU1BO0FBQ0E7O0FBR0E7QUFNQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOzs7O0FBS0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBOzs7QUFJQTtBQUNBO0FBR0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBOzs7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFLQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBRUE7QUFDQTtBQU1BO0FBQ0E7QUFFQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBS0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7O0FBS0E7QUFDQTs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUtBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/pretreatment/setAndShowWGTMEM/commandSetAndShowWGTMEM.ts\n");
|
|
7625
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cameraMouse */ \"./packages/caeDesign/src/gsDevFx/operators/cameraMouse.ts\"), __webpack_require__(/*! ../../commandComponent */ \"./packages/caeDesign/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cAEObjectPreSelector */ \"./packages/caeDesign/src/gsDevFx/operators/cAEObjectPreSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/caeObjectSelector */ \"./packages/caeDesign/src/gsDevFx/operators/caeObjectSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/commands/commandSelect */ \"./packages/caeDesign/src/gsDevFx/commands/commandSelect.ts\"), __webpack_require__(/*! ../../../../gsDevFx/managers/interfaceManagers/selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! ./setAndShowWGTMEMConfig */ \"./packages/caeDesign/src/viewerWrapper/commands/pretreatment/setAndShowWGTMEM/setAndShowWGTMEMConfig.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/pretreatment/wgtmemObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/wgtmemObject.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/memberObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../../store */ \"./packages/caeDesign/src/store/index.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! gs-bim-air */ \"./node_modules/gs-bim-air/lib/BimAir.umd.min.js\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cameraMouse_1, commandComponent_1, cAEObjectPreSelector_1, caeObjectSelector_1, commandSelect_1, selectionInterfaceManager_1, setAndShowWGTMEMConfig_1, wgtmemObject_1, memberObject_1, gs_ceec_design_1, store_1, gs_ceec_design_2, gs_bim_air_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n setAndShowWGTMEMConfig_1 = tslib_1.__importDefault(setAndShowWGTMEMConfig_1);\n store_1 = tslib_1.__importDefault(store_1);\n var Mode;\n (function (Mode) {\n Mode[Mode[\"Add\"] = 0] = \"Add\";\n Mode[Mode[\"Edit\"] = 1] = \"Edit\";\n })(Mode || (Mode = {}));\n var CommandSetAndShowWGTMEM = function (_super) {\n tslib_1.__extends(CommandSetAndShowWGTMEM, _super);\n function CommandSetAndShowWGTMEM() {\n var _this = _super.call(this) || this;\n _this.typeName = \"CommandSetAndShowWGTMEM\";\n _this.preSelector = null;\n _this.caeObjectSelector = null;\n _this.currentModel = Mode.Add;\n _this.currentSelectIndex = -1;\n _this.currentSelectId = null;\n return _this;\n }\n CommandSetAndShowWGTMEM.prototype.begin = function () {\n var _this = this;\n this.changeOperators();\n console.log(\"CommandSetAndShowWGTMEM\");\n this.config = new setAndShowWGTMEMConfig_1.default();\n this.config.show();\n var data = this.config.properties.items[0].data;\n setTimeout(function () {\n data.weightID.value = \"ANODE\";\n }, 20);\n this.setWGTMEMObjectsVisible(true);\n this.viewer.updateDisplay();\n this.config.changeData = function () {\n console.log(\"data change\");\n var paraData = data.size.value;\n if (paraData) {\n _this.setInPutDisable(data, true);\n var obj = JSON.parse(paraData);\n data.A.value = obj.A;\n data.B1.value = obj.B1;\n data.B2.value = obj.B2;\n data.C.value = obj.C;\n data.D.value = obj.D;\n data.F.value = obj.F;\n data.H.value = obj.H;\n data.G.value = obj.G;\n } else {\n _this.setInPutDisable(data, false);\n }\n };\n this.config.editObjData = function () {\n console.log(\"选择已有牺牲阳极进行编辑\");\n _this.selectWGTMEMChange();\n };\n this.refreshAllAnodes();\n };\n CommandSetAndShowWGTMEM.prototype.restore = function () {\n this.changeOperators();\n this.config.show();\n };\n CommandSetAndShowWGTMEM.prototype.changeOperators = function () {\n var _this = this;\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.preSelector = new cAEObjectPreSelector_1.CAEObjectPreSelector();\n this.viewer.operatorManager.add(this.preSelector);\n this.viewer.selectionInterfaceManager.selectorFilter = selectionInterfaceManager_1.SelectorFiliter.Member;\n this.caeObjectSelector = new caeObjectSelector_1.CAEObjectSelector();\n this.viewer.operatorManager.add(this.caeObjectSelector);\n this.caeObjectSelector.lButtonUp.add(function () {\n setTimeout(function () {\n _this.updatePanel();\n }, 0);\n });\n };\n CommandSetAndShowWGTMEM.prototype.setInPutDisable = function (data, disabled) {\n data.A.inputOptions.disabled = disabled;\n data.B1.inputOptions.disabled = disabled;\n data.B2.inputOptions.disabled = disabled;\n data.C.inputOptions.disabled = disabled;\n data.D.inputOptions.disabled = disabled;\n data.F.inputOptions.disabled = disabled;\n data.H.inputOptions.disabled = disabled;\n data.G.inputOptions.disabled = disabled;\n };\n CommandSetAndShowWGTMEM.prototype.end = function () {\n this.config.hide();\n _super.prototype.end.call(this);\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.setWGTMEMObjectsVisible(false);\n this.viewer.updateDisplay();\n var commandSelect = new commandSelect_1.CommandSelect();\n this.process.commandManager.execute(commandSelect);\n };\n CommandSetAndShowWGTMEM.prototype.commandOk = function () {\n console.log(\"config:\", this.config);\n var config = this.config;\n var data = config.properties.items[0].data;\n var weightGroupID = data.weightGroupID.value;\n if (!weightGroupID) {\n data.tip.value = 9;\n return;\n }\n if (!data.A.value || !data.B1.value || !data.B2.value || !data.C.value || !data.D.value || !data.F.value || !data.H.value || !data.G.value) {\n data.tip.value = 17;\n return;\n }\n if (data.angle.value > 180 || data.angle.value < -180) {\n data.tip.value = 19;\n return;\n }\n var legal = this.checkNamelegal(weightGroupID);\n if (!legal) {\n data.tip.value = 10;\n return;\n }\n if (!data.distributionModes.value) {\n data.tip.value = 16;\n return;\n }\n if (isNaN(Number(data.anodeWeight.value)) || Number(data.anodeWeight.value) < 0) {\n data.tip.value = 11;\n return;\n }\n if (data.distributionModes.value === \"1\" && (isNaN(Number(data.distributionCount.value)) || Number(data.distributionCount.value) < 1)) {\n data.tip.value = 12;\n return;\n }\n if (data.distributionModes.value === \"2\" && (isNaN(Number(data.distributionAverageInterval.value)) || Number(data.distributionAverageInterval.value <= 0))) {\n data.tip.value = 13;\n return;\n }\n if (data.distributionModes.value === \"3\") {\n var intervalString = data.distributionCustomInterval.value;\n var array = intervalString.split(\",\");\n for (var i = 0; i < array.length; i++) {\n if (isNaN(Number(array[i])) || Number(array[i]) <= 0) {\n data.tip.value = 14;\n return;\n }\n }\n }\n if (this.currentModel === Mode.Edit) {\n if (this.currentModel === Mode.Edit) {\n var wgtmemObject = null;\n if (data.allAnodes.value) {\n var wgtmemObjectId = data.allAnodes.value;\n wgtmemObject = this.process.findRenderObjectById(wgtmemObjectId);\n wgtmemObject.businessState = gs_ceec_design_2.BusinessState.Editing;\n } else {\n console.log(\"error: data.allAnodes.value is null\");\n return;\n }\n wgtmemObject.weightGroupID = data.weightGroupID.value;\n wgtmemObject.weightID = data.weightID.value;\n wgtmemObject.size = data.size.value;\n wgtmemObject.weightValue = Number(data.anodeWeight.value);\n wgtmemObject.density = Number(data.density.value);\n wgtmemObject.para_A = data.A.value;\n wgtmemObject.para_B1 = data.B1.value;\n wgtmemObject.para_B2 = data.B2.value;\n wgtmemObject.para_C = data.C.value;\n wgtmemObject.para_D = data.D.value;\n wgtmemObject.para_F = data.F.value;\n wgtmemObject.para_H = data.H.value;\n wgtmemObject.para_G = data.G.value;\n wgtmemObject.angle = data.angle.value;\n wgtmemObject.distance = data.distance.value;\n wgtmemObject.setNeedUpdate();\n data.tip.value = 1;\n }\n } else {\n var selectedMembers = data.selectedMembers;\n var selectedObjects = new gs_bim_air_1.Longan.List();\n for (var i = 0; i < selectedMembers.listOptions.list.length; i++) {\n var objectName = selectedMembers.listOptions.list[i].value;\n var object = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.memberNode, objectName);\n if (object) {\n selectedObjects.add(object);\n }\n }\n if (selectedObjects.count() > 0) {\n var pretreatmentRO = this.viewer.process.findRenderObjectByName(\"前处理可视化辅助\");\n var wgtmemParentObject = this.viewer.process.findCaeObjectByNameInChildObject(pretreatmentRO, \"牺牲阳极定义与显示\");\n if (!wgtmemParentObject) {\n wgtmemParentObject = new gs_ceec_design_1.DesignBaseObject();\n wgtmemParentObject.businessState = gs_ceec_design_2.BusinessState.Creating;\n wgtmemParentObject.name = \"牺牲阳极定义与显示\";\n this.process.addRenderObject(pretreatmentRO, wgtmemParentObject);\n }\n for (var i = 0; i < selectedObjects.count(); i++) {\n var selectedMember = selectedObjects.items[i];\n var memberLen = selectedMember.getMemberLength();\n var distributionModes = data.distributionModes.value;\n var distances = [];\n if (distributionModes === \"1\") {\n if (!data.distributionCount.value) {\n data.tip.value = 2;\n return;\n }\n var wgtCount = Number(data.distributionCount.value) + 1;\n wgtCount = Math.floor(wgtCount);\n var step = memberLen / wgtCount;\n for (var j = 1; j < wgtCount; j++) {\n distances.push(j * step);\n }\n if (step > memberLen) {\n data.tip.value = 18;\n return;\n }\n } else if (distributionModes === \"2\") {\n if (!data.distributionAverageInterval.value) {\n data.tip.value = 3;\n return;\n }\n var counter = 1;\n var step = Number(data.distributionAverageInterval.value);\n while (counter * step <= memberLen) {\n distances.push(counter * step);\n counter++;\n }\n } else if (distributionModes === \"3\") {\n if (!data.distributionCustomInterval.value) {\n data.tip.value = 4;\n return;\n }\n var intervalString = data.distributionCustomInterval.value;\n var array = intervalString.split(\",\");\n for (var j = 0; j < array.length; j++) {\n var pos = Number(array[j]);\n if (pos <= memberLen) {\n distances.push(Number(array[j]));\n } else {\n data.tip.value = 18;\n return;\n }\n }\n }\n var disStart = distances[0];\n var disEnd = distances[distances.length - 1];\n var D = data.D.value / 1000;\n if (D / 2 > disStart) {\n data.tip.value = 18;\n return;\n }\n if (D / 2 > memberLen - disEnd) {\n data.tip.value = 18;\n return;\n }\n for (var j = 0; j < distances.length; j++) {\n var wgtmemObject = null;\n wgtmemObject = new wgtmemObject_1.WGTMEMObject();\n wgtmemObject.businessState = gs_ceec_design_2.BusinessState.Creating;\n wgtmemObject.memberJointA = selectedMember.start.name;\n wgtmemObject.memberJointB = selectedMember.end.name;\n wgtmemObject.angle = data.angle.value;\n wgtmemObject.distance = distances[j];\n wgtmemObject.weightGroupID = data.weightGroupID.value;\n wgtmemObject.size = data.size.value;\n wgtmemObject.weightID = \"ANODE\";\n wgtmemObject.weightValue = Number(data.anodeWeight.value);\n wgtmemObject.density = Number(data.density.value);\n wgtmemObject.para_A = data.A.value;\n wgtmemObject.para_B1 = data.B1.value;\n wgtmemObject.para_B2 = data.B2.value;\n wgtmemObject.para_C = data.C.value;\n wgtmemObject.para_D = data.D.value;\n wgtmemObject.para_F = data.F.value;\n wgtmemObject.para_H = data.H.value;\n wgtmemObject.para_G = data.G.value;\n if (data.size.value) {\n var obj = JSON.parse(data.size.value);\n wgtmemObject.name = selectedMember.name + \"-\" + obj.name;\n } else {\n wgtmemObject.name = selectedMember.name + \"-\";\n }\n this.process.addRenderObject(wgtmemParentObject, wgtmemObject);\n wgtmemObject.setNeedUpdate();\n }\n }\n this.refreshAllAnodes();\n data.tip.value = 1;\n } else {\n data.tip.value = 15;\n return;\n }\n }\n store_1.default.commit(\"structureTree/updateTreeData\", [this.viewer.structureTreeManager.rootNode]);\n this.viewer.updateDisplay();\n };\n CommandSetAndShowWGTMEM.prototype.checkNamelegal = function (name) {\n var reg = /^[A-Z0-9]*$/;\n if (!reg.test(name) || name.trimEnd().length > 4) {\n console.log(\"牺牲阳极组名不符合规范\");\n return false;\n }\n return true;\n };\n CommandSetAndShowWGTMEM.prototype.setWGTMEMObjectsVisible = function (visible) {\n var _this = this;\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n objects.forEach(function (obj) {\n if (obj.checkBusinessStateIsActive()) {\n var iro = _this.viewer.findInstanceObject(obj);\n iro.visible = visible;\n }\n obj.setNeedUpdate();\n });\n };\n CommandSetAndShowWGTMEM.prototype.refreshAllAnodes = function () {\n var data = this.config.properties.items[0].data;\n data.allAnodes.selectOptions.selections = [];\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n objects.forEach(function (obj) {\n if (obj instanceof gs_ceec_design_1.DesignBaseObject) {\n if (obj.checkBusinessStateIsActive()) {\n data.allAnodes.selectOptions.selections.push({\n label: obj.name,\n value: obj.id\n });\n }\n }\n });\n console.log(\"array:\", data);\n };\n CommandSetAndShowWGTMEM.prototype.getAllAnodes = function () {\n var result = new Array();\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n for (var i = 0; i < objects.length; i++) {\n if (objects[i].checkBusinessStateIsActive()) {\n if (objects[i].memberJointA && objects[i].memberJointB) {\n result.push(objects[i]);\n }\n }\n }\n return result;\n };\n CommandSetAndShowWGTMEM.prototype.getWeightGroupIDArray = function () {\n var result = new Array();\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n for (var i = 0; i < objects.length; i++) {\n if (objects[i].checkBusinessStateIsActive()) {\n var groupID = objects[i].weightGroupID;\n if (result.indexOf(groupID) === -1) {\n result.push(groupID);\n }\n }\n }\n return result;\n };\n CommandSetAndShowWGTMEM.prototype.selectWGTMEMChange = function () {\n console.log(\"选择牺牲阳极\");\n var data = this.config.properties.items[0].data;\n var objId = data.allAnodes.value;\n if (!objId) {\n data.tip.value = 8;\n return;\n }\n var obj = this.process.findRenderObjectById(objId);\n if (obj) {\n this.currentSelectId = obj.id;\n data.selectedMembers.listOptions.list = [];\n data.selectedMembers.listOptions.list.push({\n label: obj.member.name,\n value: obj.member.name\n });\n data.selectedMembers.value = obj.member.name;\n data.weightGroupID.value = obj.weightGroupID;\n data.weightID.value = obj.weightID;\n data.anodeWeight.value = obj.weightValue;\n data.isInclude.value = obj.isInclude;\n data.density.value = obj.density;\n data.angle.value = obj.angle;\n data.A.value = obj.para_A;\n data.B1.value = obj.para_B1;\n data.B2.value = obj.para_B2;\n data.C.value = obj.para_C;\n data.D.value = obj.para_D;\n data.F.value = obj.para_F;\n data.H.value = obj.para_H;\n data.G.value = obj.para_G;\n data.distance.value = obj.distance;\n this.currentModel = Mode.Edit;\n data.tip.value = 7;\n } else {\n this.currentSelectId = null;\n console.log(\"error: obj is null\");\n }\n };\n CommandSetAndShowWGTMEM.prototype.deleteCurrentWGTMEMS = function (indexs) {\n console.log(\"删除当前选中的牺牲阳极\");\n var data = this.config.properties.items[0].data;\n if (indexs.length === 0) {\n data.tip.value = 6;\n return;\n }\n var deletedWGTMEMS = new Array();\n for (var i = 0; i < indexs.length; i++) {\n var objId = data.allAnodes.selectOptions.selections[indexs[i]].value;\n var obj = this.process.findRenderObjectById(objId);\n if (obj) {\n deletedWGTMEMS.push(obj);\n if (obj.id === this.currentSelectId) {\n this.clearConfig();\n }\n }\n }\n for (var i = 0; i < deletedWGTMEMS.length; i++) {\n deletedWGTMEMS[i].tempDelete(this.viewer);\n }\n this.refreshAllAnodes();\n this.viewer.updateDisplay();\n data.tip.value = 5;\n };\n CommandSetAndShowWGTMEM.prototype.clearConfig = function () {\n var data = this.config.properties.items[0].data;\n data.selectedMembers.value = null;\n data.selectedMembers.listOptions.list = [];\n data.selectedMembers.value = null;\n data.weightGroupID.value = null;\n data.anodeWeight.value = null;\n data.distributionModes.value = null;\n data.distributionCount.value = null;\n data.distributionAverageInterval.value = null;\n data.distributionCustomInterval.value = null;\n data.isInclude.value = false;\n data.density.value = null;\n data.angle.value = null;\n data.A.value = null;\n data.B1.value = null;\n data.B2.value = null;\n data.C.value = null;\n data.D.value = null;\n data.F.value = null;\n data.H.value = null;\n data.G.value = null;\n data.distance.value = null;\n };\n CommandSetAndShowWGTMEM.prototype.updatePanel = function () {\n if (this.viewer.selectionInterfaceManager.selectorFilter === selectionInterfaceManager_1.SelectorFiliter.Member) {\n var data = this.config.properties.items[0].data;\n data.selectedMembers.listOptions.list = [];\n var objects = this.caeObjectSelector.selectedRenderObjects;\n if (objects.count() > 0) {\n for (var i = 0; i < objects.count(); i++) {\n var object = objects.items[i];\n if (object instanceof memberObject_1.MemberObject) {\n data.selectedMembers.listOptions.list.push({\n label: object.name,\n value: object.name\n });\n }\n if (object instanceof wgtmemObject_1.WGTMEMObject) {\n data.allAnodes.value = object.id;\n this.selectWGTMEMChange();\n }\n }\n }\n }\n };\n CommandSetAndShowWGTMEM.prototype.computeWeightValue = function () {\n var config = this.config;\n var data = config.properties.items[0].data;\n var A = data.A.value / 1000;\n var B1 = data.B1.value / 1000;\n var B2 = data.B2.value / 1000;\n var C = data.C.value / 1000;\n var D = data.D.value / 1000;\n var F = data.F.value / 1000;\n var H = data.H.value / 1000;\n var G = data.G.value / 1000;\n var rOuter = (D - A) / 2;\n var rInner = rOuter - 0.005;\n var legLength = H + (D - A) / 2;\n var legDensity = 7850;\n var vOuter = Math.PI * rOuter * rOuter * legLength;\n var vInner = Math.PI * rInner * rInner * legLength;\n var vLeg = vOuter - vInner;\n var legWeight = vLeg * legDensity;\n legWeight *= 2;\n var alDensity = 2700;\n var BCenter = (B1 + B2) / 2;\n var A1 = A / (BCenter / B1);\n var A2 = A / (BCenter / B2);\n var xTop = A1;\n var yTop = B1;\n var xBottom = A2;\n var yBottom = B2;\n var s1 = xTop * yTop;\n var s2 = xBottom * yBottom;\n var s0 = BCenter * A;\n var v = (s1 + s2 + 4 * s0) * C / 6;\n var weight = v * alDensity * 0.9;\n var result = weight + legWeight;\n console.log(\"阳极质量:\", result);\n return result;\n };\n return CommandSetAndShowWGTMEM;\n }(commandComponent_1.CommandComponent);\n exports.default = CommandSetAndShowWGTMEM;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3NldEFuZFNob3dXR1RNRU0vY29tbWFuZFNldEFuZFNob3dXR1RNRU0udHMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3NldEFuZFNob3dXR1RNRU0vY29tbWFuZFNldEFuZFNob3dXR1RNRU0udHM/MDYyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW1lcmFNb3VzZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jYW1lcmFNb3VzZVwiO1xuaW1wb3J0IHsgQ29tbWFuZENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21tYW5kQ29tcG9uZW50XCI7XG5pbXBvcnQgeyBDQUVPYmplY3RQcmVTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jQUVPYmplY3RQcmVTZWxlY3RvclwiO1xuaW1wb3J0IHsgQ0FFT2JqZWN0U2VsZWN0b3IgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY2FlT2JqZWN0U2VsZWN0b3JcIjtcbmltcG9ydCB7IENvbW1hbmRTZWxlY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9jb21tYW5kcy9jb21tYW5kU2VsZWN0XCI7XG5pbXBvcnQgeyBTZWxlY3RvckZpbGl0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9tYW5hZ2Vycy9pbnRlcmZhY2VNYW5hZ2Vycy9zZWxlY3Rpb25JbnRlcmZhY2VNYW5hZ2VyXCI7XG5pbXBvcnQgU2V0QW5kU2hvd1dHVE1FTUNvbmZpZyBmcm9tIFwiLi9zZXRBbmRTaG93V0dUTUVNQ29uZmlnXCI7XG5pbXBvcnQgeyBXR1RNRU1PYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvcHJldHJlYXRtZW50L3dndG1lbU9iamVjdFwiO1xuaW1wb3J0IHsgTWVtYmVyT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL21lbWJlck9iamVjdFwiO1xuaW1wb3J0IHsgRGVzaWduQmFzZU9iamVjdCB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHN0b3JlIGZyb20gXCIuLi8uLi8uLi8uLi9zdG9yZVwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgSW50ZXJmYWNlUHJvcGVydHkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9wcm9wZXJ0eUNvbXBvbmVudHMvcHJvcGVydHlDb21wb25lbnRcIjtcbmltcG9ydCB7IExvbmdhbiB9IGZyb20gXCJncy1iaW0tYWlyXCI7XG5cbmVudW0gTW9kZSB7XG4gIEFkZCxcbiAgRWRpdCxcbn1cblxuLyoqXG4gKiDnibrnibLpmLPmnoHlrprkuYnkuI7mmL7npLrlkb3ku6RcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWFuZFNldEFuZFNob3dXR1RNRU0gZXh0ZW5kcyBDb21tYW5kQ29tcG9uZW50IHtcbiAgdHlwZU5hbWU6IHN0cmluZyA9IFwiQ29tbWFuZFNldEFuZFNob3dXR1RNRU1cIjtcbiAgcHJlU2VsZWN0b3I6IENBRU9iamVjdFByZVNlbGVjdG9yID0gbnVsbDtcbiAgY2FlT2JqZWN0U2VsZWN0b3I6IENBRU9iamVjdFNlbGVjdG9yID0gbnVsbDtcbiAgY29uZmlnOiBTZXRBbmRTaG93V0dUTUVNQ29uZmlnO1xuXG4gIGN1cnJlbnRNb2RlbDogTW9kZSA9IE1vZGUuQWRkO1xuICBjdXJyZW50U2VsZWN0SW5kZXggPSAtMTtcbiAgY3VycmVudFNlbGVjdElkID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcblxuICAgIGNvbnNvbGUubG9nKFwiQ29tbWFuZFNldEFuZFNob3dXR1RNRU1cIik7XG4gICAgdGhpcy5jb25maWcgPSBuZXcgU2V0QW5kU2hvd1dHVE1FTUNvbmZpZygpO1xuICAgIHRoaXMuY29uZmlnLnNob3coKTtcblxuICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZGF0YS53ZWlnaHRJRC52YWx1ZSA9IFwiQU5PREVcIjtcbiAgICB9LCAyMCk7XG5cbiAgICB0aGlzLnNldFdHVE1FTU9iamVjdHNWaXNpYmxlKHRydWUpO1xuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgIHRoaXMuY29uZmlnLmNoYW5nZURhdGEgPSAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhcImRhdGEgY2hhbmdlXCIpO1xuICAgICAgbGV0IHBhcmFEYXRhID0gZGF0YS5zaXplLnZhbHVlO1xuICAgICAgaWYgKHBhcmFEYXRhKSB7XG4gICAgICAgIHRoaXMuc2V0SW5QdXREaXNhYmxlKGRhdGEsIHRydWUpO1xuICAgICAgICBsZXQgb2JqID0gSlNPTi5wYXJzZShwYXJhRGF0YSk7XG4gICAgICAgIGRhdGEuQS52YWx1ZSA9IG9iai5BO1xuICAgICAgICBkYXRhLkIxLnZhbHVlID0gb2JqLkIxO1xuICAgICAgICBkYXRhLkIyLnZhbHVlID0gb2JqLkIyO1xuICAgICAgICBkYXRhLkMudmFsdWUgPSBvYmouQztcbiAgICAgICAgZGF0YS5ELnZhbHVlID0gb2JqLkQ7XG4gICAgICAgIGRhdGEuRi52YWx1ZSA9IG9iai5GO1xuICAgICAgICBkYXRhLkgudmFsdWUgPSBvYmouSDtcbiAgICAgICAgZGF0YS5HLnZhbHVlID0gb2JqLkc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldEluUHV0RGlzYWJsZShkYXRhLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMuY29uZmlnLmVkaXRPYmpEYXRhID0gKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coXCLpgInmi6nlt7LmnInnibrnibLpmLPmnoHov5vooYznvJbovpFcIik7XG4gICAgICB0aGlzLnNlbGVjdFdHVE1FTUNoYW5nZSgpO1xuICAgIH07XG5cbiAgICB0aGlzLnJlZnJlc2hBbGxBbm9kZXMoKTtcblxuICAgIC8vIGxldCBzZWxmID0gdGhpcztcbiAgICAvLyB0aGlzLnZpZXdlci5vbldpbmRvd0tleURvd24uYWRkKCh2aWV3ZXIsIGUpID0+IHtcbiAgICAvLyAgIGxldCBldjogYW55ID0gZS51aUV2ZW50O1xuICAgIC8vICAgbGV0IGtleSA9IGV2LmtleTtcblxuICAgIC8vICAgaWYgKGtleSA9PT0gXCJiXCIpIHtcbiAgICAvLyAgICAgc2VsZi5kZWxldGVDdXJyZW50V0dUTUVNUyhbMV0pO1xuICAgIC8vICAgfVxuXG4gICAgLy8gICBpZiAoa2V5ID09PSBcImNcIikge1xuICAgIC8vICAgICBzZWxmLmNvbXB1dGVXZWlnaHRWYWx1ZSgpO1xuICAgIC8vICAgfVxuICAgIC8vIH0pO1xuICB9XG5cbiAgcmVzdG9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZU9wZXJhdG9ycygpO1xuICAgIHRoaXMuY29uZmlnLnNob3coKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGFuZ2VPcGVyYXRvcnMoKTogdm9pZCB7XG4gICAgLy8g6L+b5YWl5ZG95Luk5YmN5riF56m66YCJ5Lit5LiO6auY5LquLlxuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG5cbiAgICAvLyDmuIXnqbrmk43kvZzlmaguXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmNsZWFyKCk7XG4gICAgLy8g5re75Yqg5pGE5YOP5py65pON5L2c5ZmoXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZChuZXcgQ2FtZXJhTW91c2UoKSk7XG5cbiAgICAvLyDmt7vliqBDQUXlr7nosaHpooTpgInmi6nlmahcbiAgICB0aGlzLnByZVNlbGVjdG9yID0gbmV3IENBRU9iamVjdFByZVNlbGVjdG9yKCk7XG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZCh0aGlzLnByZVNlbGVjdG9yKTtcbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25JbnRlcmZhY2VNYW5hZ2VyLnNlbGVjdG9yRmlsdGVyID1cbiAgICAgIFNlbGVjdG9yRmlsaXRlci5NZW1iZXI7XG5cbiAgICB0aGlzLmNhZU9iamVjdFNlbGVjdG9yID0gbmV3IENBRU9iamVjdFNlbGVjdG9yKCk7XG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZCh0aGlzLmNhZU9iamVjdFNlbGVjdG9yKTtcblxuICAgIHRoaXMuY2FlT2JqZWN0U2VsZWN0b3IubEJ1dHRvblVwLmFkZCgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVQYW5lbCgpO1xuICAgICAgfSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldEluUHV0RGlzYWJsZShkYXRhOiBJbnRlcmZhY2VQcm9wZXJ0eSwgZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBkYXRhLkEuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgZGF0YS5CMS5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkIyLmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuQy5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkQuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgZGF0YS5GLmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuSC5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkcuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cblxuICBlbmQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcuaGlkZSgpO1xuICAgIHN1cGVyLmVuZCgpO1xuXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIHRoaXMuc2V0V0dUTUVNT2JqZWN0c1Zpc2libGUoZmFsc2UpO1xuXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgbGV0IGNvbW1hbmRTZWxlY3QgPSBuZXcgQ29tbWFuZFNlbGVjdCgpO1xuICAgIHRoaXMucHJvY2Vzcy5jb21tYW5kTWFuYWdlci5leGVjdXRlKGNvbW1hbmRTZWxlY3QpO1xuICB9XG5cbiAgY29tbWFuZE9rKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKFwiY29uZmlnOlwiLCB0aGlzLmNvbmZpZyk7XG4gICAgbGV0IGNvbmZpZzogU2V0QW5kU2hvd1dHVE1FTUNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICAgIGxldCBkYXRhID0gY29uZmlnLnByb3BlcnRpZXMuaXRlbXNbMF0uZGF0YTtcblxuICAgIGxldCB3ZWlnaHRHcm91cElEID0gZGF0YS53ZWlnaHRHcm91cElELnZhbHVlO1xuICAgIGlmICghd2VpZ2h0R3JvdXBJRCkge1xuICAgICAgZGF0YS50aXAudmFsdWUgPSA5O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFkYXRhLkEudmFsdWUgfHxcbiAgICAgICFkYXRhLkIxLnZhbHVlIHx8XG4gICAgICAhZGF0YS5CMi52YWx1ZSB8fFxuICAgICAgIWRhdGEuQy52YWx1ZSB8fFxuICAgICAgIWRhdGEuRC52YWx1ZSB8fFxuICAgICAgIWRhdGEuRi52YWx1ZSB8fFxuICAgICAgIWRhdGEuSC52YWx1ZSB8fFxuICAgICAgIWRhdGEuRy52YWx1ZVxuICAgICkge1xuICAgICAgLy8g5Lu75LiA5Liq5bC65a+45rKh5pyJ6L6T5YWl5YC8XG4gICAgICBkYXRhLnRpcC52YWx1ZSA9IDE3O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmKGRhdGEuYW5nbGUudmFsdWUgPiAxODAgfHwgZGF0YS5hbmdsZS52YWx1ZSA8IC0xODApIHtcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gMTk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGxlZ2FsID0gdGhpcy5jaGVja05hbWVsZWdhbCh3ZWlnaHRHcm91cElEKTtcbiAgICBpZiAoIWxlZ2FsKSB7XG4gICAgICBkYXRhLnRpcC52YWx1ZSA9IDEwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghZGF0YS5kaXN0cmlidXRpb25Nb2Rlcy52YWx1ZSkge1xuICAgICAgLy8gZGlzdHJpYnV0aW9uTW9kZXPmsqHmnInlgLxcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gMTY7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaXNOYU4oTnVtYmVyKGRhdGEuYW5vZGVXZWlnaHQudmFsdWUpKSB8fFxuICAgICAgTnVtYmVyKGRhdGEuYW5vZGVXZWlnaHQudmFsdWUpIDwgMFxuICAgICkge1xuICAgICAgLy8g6Ziz5p6B6LSo6YeP5LiN6IO95bCP5LqOMFxuICAgICAgZGF0YS50aXAudmFsdWUgPSAxMTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBkYXRhLmRpc3RyaWJ1dGlvbk1vZGVzLnZhbHVlID09PSBcIjFcIiAmJlxuICAgICAgKGlzTmFOKE51bWJlcihkYXRhLmRpc3RyaWJ1dGlvbkNvdW50LnZhbHVlKSkgfHxcbiAgICAgICAgTnVtYmVyKGRhdGEuZGlzdHJpYnV0aW9uQ291bnQudmFsdWUpIDwgMSlcbiAgICApIHtcbiAgICAgIC8vIOaVsOmHj+S4jeiDveWwj+S6jjFcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gMTI7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZGF0YS5kaXN0cmlidXRpb25Nb2Rlcy52YWx1ZSA9PT0gXCIyXCIgJiZcbiAgICAgIChpc05hTihOdW1iZXIoZGF0YS5kaXN0cmlidXRpb25BdmVyYWdlSW50ZXJ2YWwudmFsdWUpKSB8fFxuICAgICAgICBOdW1iZXIoZGF0YS5kaXN0cmlidXRpb25BdmVyYWdlSW50ZXJ2YWwudmFsdWUgPD0gMCkpXG4gICAgKSB7XG4gICAgICAvLyDlnYfljIDpl7TpmpTlv4XpobvlpKfkuo4wXG4gICAgICBkYXRhLnRpcC52YWx1ZSA9IDEzO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkYXRhLmRpc3RyaWJ1dGlvbk1vZGVzLnZhbHVlID09PSBcIjNcIikge1xuICAgICAgbGV0IGludGVydmFsU3RyaW5nID0gZGF0YS5kaXN0cmlidXRpb25DdXN0b21JbnRlcnZhbC52YWx1ZSBhcyBzdHJpbmc7XG4gICAgICBsZXQgYXJyYXkgPSBpbnRlcnZhbFN0cmluZy5zcGxpdChcIixcIik7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpc05hTihOdW1iZXIoYXJyYXlbaV0pKSB8fCBOdW1iZXIoYXJyYXlbaV0pIDw9IDApIHtcbiAgICAgICAgICAvLyDpl7TpmpTkuI3og73lsI/kuo4wXG4gICAgICAgICAgZGF0YS50aXAudmFsdWUgPSAxNDtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jdXJyZW50TW9kZWwgPT09IE1vZGUuRWRpdCkge1xuICAgICAgaWYgKHRoaXMuY3VycmVudE1vZGVsID09PSBNb2RlLkVkaXQpIHtcbiAgICAgICAgLy8g57yW6L6R54m654my6Ziz5p6B5pWw5o2uLlxuICAgICAgICBsZXQgd2d0bWVtT2JqZWN0OiBXR1RNRU1PYmplY3QgPSBudWxsO1xuXG4gICAgICAgIGlmIChkYXRhLmFsbEFub2Rlcy52YWx1ZSkge1xuICAgICAgICAgIGxldCB3Z3RtZW1PYmplY3RJZCA9IGRhdGEuYWxsQW5vZGVzLnZhbHVlO1xuICAgICAgICAgIHdndG1lbU9iamVjdCA9IHRoaXMucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlJZChcbiAgICAgICAgICAgIHdndG1lbU9iamVjdElkXG4gICAgICAgICAgKSBhcyBXR1RNRU1PYmplY3Q7XG4gICAgICAgICAgd2d0bWVtT2JqZWN0LmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkVkaXRpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvcjogZGF0YS5hbGxBbm9kZXMudmFsdWUgaXMgbnVsbFwiKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB3Z3RtZW1PYmplY3Qud2VpZ2h0R3JvdXBJRCA9IGRhdGEud2VpZ2h0R3JvdXBJRC52YWx1ZTtcbiAgICAgICAgd2d0bWVtT2JqZWN0LndlaWdodElEID0gZGF0YS53ZWlnaHRJRC52YWx1ZTtcbiAgICAgICAgd2d0bWVtT2JqZWN0LnNpemUgPSBkYXRhLnNpemUudmFsdWU7XG5cbiAgICAgICAgd2d0bWVtT2JqZWN0LndlaWdodFZhbHVlID0gTnVtYmVyKGRhdGEuYW5vZGVXZWlnaHQudmFsdWUpO1xuICAgICAgICB3Z3RtZW1PYmplY3QuZGVuc2l0eSA9IE51bWJlcihkYXRhLmRlbnNpdHkudmFsdWUpO1xuXG4gICAgICAgIHdndG1lbU9iamVjdC5wYXJhX0EgPSBkYXRhLkEudmFsdWU7XG4gICAgICAgIHdndG1lbU9iamVjdC5wYXJhX0IxID0gZGF0YS5CMS52YWx1ZTtcbiAgICAgICAgd2d0bWVtT2JqZWN0LnBhcmFfQjIgPSBkYXRhLkIyLnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9DID0gZGF0YS5DLnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9EID0gZGF0YS5ELnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9GID0gZGF0YS5GLnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9IID0gZGF0YS5ILnZhbHVlO1xuICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9HID0gZGF0YS5HLnZhbHVlO1xuXG4gICAgICAgIHdndG1lbU9iamVjdC5hbmdsZSA9IGRhdGEuYW5nbGUudmFsdWU7XG4gICAgICAgIHdndG1lbU9iamVjdC5kaXN0YW5jZSA9IGRhdGEuZGlzdGFuY2UudmFsdWU7XG5cbiAgICAgICAgd2d0bWVtT2JqZWN0LnNldE5lZWRVcGRhdGUoKTtcbiAgICAgICAgZGF0YS50aXAudmFsdWUgPSAxO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgc2VsZWN0ZWRNZW1iZXJzID0gZGF0YS5zZWxlY3RlZE1lbWJlcnM7XG4gICAgICBsZXQgc2VsZWN0ZWRPYmplY3RzID0gbmV3IExvbmdhbi5MaXN0PE1lbWJlck9iamVjdD4oKTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VsZWN0ZWRNZW1iZXJzLmxpc3RPcHRpb25zLmxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG9iamVjdE5hbWUgPSBzZWxlY3RlZE1lbWJlcnMubGlzdE9wdGlvbnMubGlzdFtpXS52YWx1ZTtcbiAgICAgICAgbGV0IG9iamVjdCA9IHRoaXMucHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIubWVtYmVyTm9kZSxcbiAgICAgICAgICBvYmplY3ROYW1lXG4gICAgICAgICkgYXMgTWVtYmVyT2JqZWN0O1xuICAgICAgICBpZiAob2JqZWN0KSB7XG4gICAgICAgICAgc2VsZWN0ZWRPYmplY3RzLmFkZChvYmplY3QpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzZWxlY3RlZE9iamVjdHMuY291bnQoKSA+IDApIHtcbiAgICAgICAgbGV0IHByZXRyZWF0bWVudFJPID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgICAgIFwi5YmN5aSE55CG5Y+v6KeG5YyW6L6F5YqpXCJcbiAgICAgICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuICAgICAgICBsZXQgd2d0bWVtUGFyZW50T2JqZWN0ID1cbiAgICAgICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICAgICAgcHJldHJlYXRtZW50Uk8sXG4gICAgICAgICAgICBcIueJuueJsumYs+aegeWumuS5ieS4juaYvuekulwiXG4gICAgICAgICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuXG4gICAgICAgIGlmICghd2d0bWVtUGFyZW50T2JqZWN0KSB7XG4gICAgICAgICAgd2d0bWVtUGFyZW50T2JqZWN0ID0gbmV3IERlc2lnbkJhc2VPYmplY3QoKTtcbiAgICAgICAgICB3Z3RtZW1QYXJlbnRPYmplY3QuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuQ3JlYXRpbmc7XG4gICAgICAgICAgd2d0bWVtUGFyZW50T2JqZWN0Lm5hbWUgPSBcIueJuueJsumYs+aegeWumuS5ieS4juaYvuekulwiO1xuICAgICAgICAgIHRoaXMucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QocHJldHJlYXRtZW50Uk8sIHdndG1lbVBhcmVudE9iamVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdGVkT2JqZWN0cy5jb3VudCgpOyBpKyspIHtcbiAgICAgICAgICBsZXQgc2VsZWN0ZWRNZW1iZXIgPSBzZWxlY3RlZE9iamVjdHMuaXRlbXNbaV0gYXMgTWVtYmVyT2JqZWN0O1xuICAgICAgICAgIGxldCBtZW1iZXJMZW4gPSBzZWxlY3RlZE1lbWJlci5nZXRNZW1iZXJMZW5ndGgoKTtcblxuICAgICAgICAgIGxldCBkaXN0cmlidXRpb25Nb2RlcyA9IGRhdGEuZGlzdHJpYnV0aW9uTW9kZXMudmFsdWU7XG4gICAgICAgICAgbGV0IGRpc3RhbmNlcyA9IFtdO1xuICAgICAgICAgIGlmIChkaXN0cmlidXRpb25Nb2RlcyA9PT0gXCIxXCIpIHtcbiAgICAgICAgICAgIGlmICghZGF0YS5kaXN0cmlidXRpb25Db3VudC52YWx1ZSkge1xuICAgICAgICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDI7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCB3Z3RDb3VudCA9IE51bWJlcihkYXRhLmRpc3RyaWJ1dGlvbkNvdW50LnZhbHVlKSArIDE7XG4gICAgICAgICAgICB3Z3RDb3VudCA9IE1hdGguZmxvb3Iod2d0Q291bnQpO1xuICAgICAgICAgICAgbGV0IHN0ZXAgPSBtZW1iZXJMZW4gLyB3Z3RDb3VudDtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgd2d0Q291bnQ7IGorKykge1xuICAgICAgICAgICAgICBkaXN0YW5jZXMucHVzaChqICogc3RlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZihzdGVwID4gbWVtYmVyTGVuKSB7XG4gICAgICAgICAgICAgIGRhdGEudGlwLnZhbHVlID0gMTg7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKGRpc3RyaWJ1dGlvbk1vZGVzID09PSBcIjJcIikge1xuICAgICAgICAgICAgaWYgKCFkYXRhLmRpc3RyaWJ1dGlvbkF2ZXJhZ2VJbnRlcnZhbC52YWx1ZSkge1xuICAgICAgICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDM7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBjb3VudGVyID0gMTtcbiAgICAgICAgICAgIGxldCBzdGVwID0gTnVtYmVyKGRhdGEuZGlzdHJpYnV0aW9uQXZlcmFnZUludGVydmFsLnZhbHVlKTtcbiAgICAgICAgICAgIHdoaWxlIChjb3VudGVyICogc3RlcCA8PSBtZW1iZXJMZW4pIHtcbiAgICAgICAgICAgICAgZGlzdGFuY2VzLnB1c2goY291bnRlciAqIHN0ZXApO1xuICAgICAgICAgICAgICBjb3VudGVyKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChkaXN0cmlidXRpb25Nb2RlcyA9PT0gXCIzXCIpIHtcbiAgICAgICAgICAgIGlmICghZGF0YS5kaXN0cmlidXRpb25DdXN0b21JbnRlcnZhbC52YWx1ZSkge1xuICAgICAgICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDQ7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBpbnRlcnZhbFN0cmluZyA9IGRhdGEuZGlzdHJpYnV0aW9uQ3VzdG9tSW50ZXJ2YWxcbiAgICAgICAgICAgICAgLnZhbHVlIGFzIHN0cmluZztcbiAgICAgICAgICAgIGxldCBhcnJheSA9IGludGVydmFsU3RyaW5nLnNwbGl0KFwiLFwiKTtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYXJyYXkubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgbGV0IHBvcyA9IE51bWJlcihhcnJheVtqXSk7XG4gICAgICAgICAgICAgIGlmKHBvcyA8PSBtZW1iZXJMZW4pIHtcbiAgICAgICAgICAgICAgICBkaXN0YW5jZXMucHVzaChOdW1iZXIoYXJyYXlbal0pKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyDlhbbkuK3mn5DkuKrlgLzotornlYwuXG4gICAgICAgICAgICAgICAgZGF0YS50aXAudmFsdWUgPSAxODtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICAgIC8vIOajgOafpeesrOS4gOS4quWSjOacgOWQjuS4gOS4qumYs+aegeaYr+WQpui2iui/h+adhuS7ti5cbiAgICAgICAgICBsZXQgZGlzU3RhcnQgPSBkaXN0YW5jZXNbMF07XG4gICAgICAgICAgbGV0IGRpc0VuZCA9IGRpc3RhbmNlc1tkaXN0YW5jZXMubGVuZ3RoICAtIDFdO1xuICAgICAgICAgIGxldCBEID0gZGF0YS5ELnZhbHVlIC8gMTAwMDtcbiAgICAgICAgICBpZihEIC8gMiA+IGRpc1N0YXJ0KSB7XG4gICAgICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDE4O1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZihEIC8gMiA+IG1lbWJlckxlbiAtIGRpc0VuZCkge1xuICAgICAgICAgICAgZGF0YS50aXAudmFsdWUgPSAxODtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyDmt7vliqDnibrnibLpmLPmnoHmlbDmja4uXG4gICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkaXN0YW5jZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGxldCB3Z3RtZW1PYmplY3Q6IFdHVE1FTU9iamVjdCA9IG51bGw7XG5cbiAgICAgICAgICAgIHdndG1lbU9iamVjdCA9IG5ldyBXR1RNRU1PYmplY3QoKTtcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5DcmVhdGluZztcblxuICAgICAgICAgICAgd2d0bWVtT2JqZWN0Lm1lbWJlckpvaW50QSA9IHNlbGVjdGVkTWVtYmVyLnN0YXJ0Lm5hbWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QubWVtYmVySm9pbnRCID0gc2VsZWN0ZWRNZW1iZXIuZW5kLm5hbWU7XG5cbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5hbmdsZSA9IGRhdGEuYW5nbGUudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QuZGlzdGFuY2UgPSBkaXN0YW5jZXNbal07XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3Qud2VpZ2h0R3JvdXBJRCA9IGRhdGEud2VpZ2h0R3JvdXBJRC52YWx1ZTtcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5zaXplID0gZGF0YS5zaXplLnZhbHVlO1xuXG4gICAgICAgICAgICAvLyB3Z3RtZW1PYmplY3Qud2VpZ2h0SUQgPSBkYXRhLndlaWdodElELnZhbHVlO1xuICAgICAgICAgICAgd2d0bWVtT2JqZWN0LndlaWdodElEID0gXCJBTk9ERVwiO1xuICAgICAgICAgICAgLy8gd2d0bWVtT2JqZWN0LndlaWdodFZhbHVlID0gMzEwLjA7XG4gICAgICAgICAgICAvLyB3Z3RtZW1PYmplY3QuZGVuc2l0eSA9IDIuNztcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC53ZWlnaHRWYWx1ZSA9IE51bWJlcihkYXRhLmFub2RlV2VpZ2h0LnZhbHVlKTtcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5kZW5zaXR5ID0gTnVtYmVyKGRhdGEuZGVuc2l0eS52YWx1ZSk7XG5cbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5wYXJhX0EgPSBkYXRhLkEudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9CMSA9IGRhdGEuQjEudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9CMiA9IGRhdGEuQjIudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9DID0gZGF0YS5DLnZhbHVlO1xuICAgICAgICAgICAgd2d0bWVtT2JqZWN0LnBhcmFfRCA9IGRhdGEuRC52YWx1ZTtcbiAgICAgICAgICAgIHdndG1lbU9iamVjdC5wYXJhX0YgPSBkYXRhLkYudmFsdWU7XG4gICAgICAgICAgICB3Z3RtZW1PYmplY3QucGFyYV9IID0gZGF0YS5ILnZhbHVlO1xuICAgICAgICAgICAgd2d0bWVtT2JqZWN0LnBhcmFfRyA9IGRhdGEuRy52YWx1ZTtcblxuICAgICAgICAgICAgaWYgKGRhdGEuc2l6ZS52YWx1ZSkge1xuICAgICAgICAgICAgICBsZXQgb2JqID0gSlNPTi5wYXJzZShkYXRhLnNpemUudmFsdWUpO1xuICAgICAgICAgICAgICB3Z3RtZW1PYmplY3QubmFtZSA9IHNlbGVjdGVkTWVtYmVyLm5hbWUgKyBcIi1cIiArIG9iai5uYW1lO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgd2d0bWVtT2JqZWN0Lm5hbWUgPSBzZWxlY3RlZE1lbWJlci5uYW1lICsgXCItXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KHdndG1lbVBhcmVudE9iamVjdCwgd2d0bWVtT2JqZWN0KTtcblxuICAgICAgICAgICAgd2d0bWVtT2JqZWN0LnNldE5lZWRVcGRhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlZnJlc2hBbGxBbm9kZXMoKTtcblxuICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDE1O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g5pu05paw5bem5L6n57uT5p6E5qCRXG4gICAgc3RvcmUuY29tbWl0KFwic3RydWN0dXJlVHJlZS91cGRhdGVUcmVlRGF0YVwiLCBbXG4gICAgICB0aGlzLnZpZXdlci5zdHJ1Y3R1cmVUcmVlTWFuYWdlci5yb290Tm9kZSxcbiAgICBdKTtcblxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tOYW1lbGVnYWwobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IHJlZyA9IC9eW0EtWjAtOV0qJC87XG4gICAgaWYgKCFyZWcudGVzdChuYW1lKSB8fCBuYW1lLnRyaW1FbmQoKS5sZW5ndGggPiA0KSB7XG4gICAgICBjb25zb2xlLmxvZyhcIueJuueJsumYs+aegee7hOWQjeS4jeespuWQiOinhOiMg1wiKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIHNldFdHVE1FTU9iamVjdHNWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBsZXQgb2JqZWN0cyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJXR1RNRU1PYmplY3RcIikgYXMgYW55O1xuICAgIG9iamVjdHMuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICBpZihvYmouY2hlY2tCdXNpbmVzc1N0YXRlSXNBY3RpdmUoKSkge1xuICAgICAgICBsZXQgaXJvID0gdGhpcy52aWV3ZXIuZmluZEluc3RhbmNlT2JqZWN0KG9iaik7XG4gICAgICAgIGlyby52aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgLy8gb2JqLnZpc2libGUgPSB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgb2JqLnNldE5lZWRVcGRhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlZnJlc2hBbGxBbm9kZXMoKSB7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgZGF0YS5hbGxBbm9kZXMuc2VsZWN0T3B0aW9ucy5zZWxlY3Rpb25zID0gW107XG5cbiAgICBsZXQgb2JqZWN0cyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXG4gICAgICBcIldHVE1FTU9iamVjdFwiXG4gICAgKSBhcyBXR1RNRU1PYmplY3RbXTtcbiAgICBvYmplY3RzLmZvckVhY2goKG9iaikgPT4ge1xuICAgICAgaWYob2JqIGluc3RhbmNlb2YgRGVzaWduQmFzZU9iamVjdCkge1xuICAgICAgICBpZihvYmouY2hlY2tCdXNpbmVzc1N0YXRlSXNBY3RpdmUoKSkge1xuICAgICAgICAgIGRhdGEuYWxsQW5vZGVzLnNlbGVjdE9wdGlvbnMuc2VsZWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIGxhYmVsOiBvYmoubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBvYmouaWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKFwiYXJyYXk6XCIsIGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIOi/lOWbnuWFqOmDqOeJuueJsumYs+aegeeahOaVsOe7hFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0QWxsQW5vZGVzKCkge1xuICAgIGxldCByZXN1bHQgPSBuZXcgQXJyYXk8V0dUTUVNT2JqZWN0PigpO1xuXG4gICAgbGV0IG9iamVjdHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFxuICAgICAgXCJXR1RNRU1PYmplY3RcIlxuICAgICkgYXMgV0dUTUVNT2JqZWN0W107XG5cbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYob2JqZWN0c1tpXS5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgIGlmKG9iamVjdHNbaV0ubWVtYmVySm9pbnRBICYmIG9iamVjdHNbaV0ubWVtYmVySm9pbnRCKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2gob2JqZWN0c1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIOi/lOWbnuWFqOmDqOmYs+aegei0qOmHj+e7hOWQjeeahOaVsOe7hFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0V2VpZ2h0R3JvdXBJREFycmF5KCkge1xuICAgIGxldCByZXN1bHQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGxldCBvYmplY3RzID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0c0J5VHlwZShcbiAgICAgIFwiV0dUTUVNT2JqZWN0XCJcbiAgICApIGFzIFdHVE1FTU9iamVjdFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYob2JqZWN0c1tpXS5jaGVja0J1c2luZXNzU3RhdGVJc0FjdGl2ZSgpKSB7XG4gICAgICAgIGxldCBncm91cElEID0gb2JqZWN0c1tpXS53ZWlnaHRHcm91cElEO1xuICAgICAgICBpZiAocmVzdWx0LmluZGV4T2YoZ3JvdXBJRCkgPT09IC0xKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goZ3JvdXBJRCk7XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNlbGVjdFdHVE1FTUNoYW5nZSgpIHtcbiAgICBjb25zb2xlLmxvZyhcIumAieaLqeeJuueJsumYs+aegVwiKTtcblxuICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgIGxldCBvYmpJZCA9IGRhdGEuYWxsQW5vZGVzLnZhbHVlO1xuICAgIGlmICghb2JqSWQpIHtcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gODtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgb2JqID0gdGhpcy5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeUlkKG9iaklkKSBhcyBXR1RNRU1PYmplY3Q7XG4gICAgaWYgKG9iaikge1xuICAgICAgdGhpcy5jdXJyZW50U2VsZWN0SWQgPSBvYmouaWQ7XG5cbiAgICAgIGRhdGEuc2VsZWN0ZWRNZW1iZXJzLmxpc3RPcHRpb25zLmxpc3QgPSBbXTtcbiAgICAgIGRhdGEuc2VsZWN0ZWRNZW1iZXJzLmxpc3RPcHRpb25zLmxpc3QucHVzaCh7XG4gICAgICAgIGxhYmVsOiBvYmoubWVtYmVyLm5hbWUsXG4gICAgICAgIHZhbHVlOiBvYmoubWVtYmVyLm5hbWUsXG4gICAgICB9KTtcbiAgICAgIGRhdGEuc2VsZWN0ZWRNZW1iZXJzLnZhbHVlID0gb2JqLm1lbWJlci5uYW1lO1xuICAgICAgZGF0YS53ZWlnaHRHcm91cElELnZhbHVlID0gb2JqLndlaWdodEdyb3VwSUQ7XG4gICAgICBkYXRhLndlaWdodElELnZhbHVlID0gb2JqLndlaWdodElEO1xuICAgICAgZGF0YS5hbm9kZVdlaWdodC52YWx1ZSA9IG9iai53ZWlnaHRWYWx1ZTtcbiAgICAgIGRhdGEuaXNJbmNsdWRlLnZhbHVlID0gb2JqLmlzSW5jbHVkZTtcbiAgICAgIGRhdGEuZGVuc2l0eS52YWx1ZSA9IG9iai5kZW5zaXR5O1xuICAgICAgZGF0YS5hbmdsZS52YWx1ZSA9IG9iai5hbmdsZTtcbiAgICAgIGRhdGEuQS52YWx1ZSA9IG9iai5wYXJhX0E7XG4gICAgICBkYXRhLkIxLnZhbHVlID0gb2JqLnBhcmFfQjE7XG4gICAgICBkYXRhLkIyLnZhbHVlID0gb2JqLnBhcmFfQjI7XG4gICAgICBkYXRhLkMudmFsdWUgPSBvYmoucGFyYV9DO1xuICAgICAgZGF0YS5ELnZhbHVlID0gb2JqLnBhcmFfRDtcbiAgICAgIGRhdGEuRi52YWx1ZSA9IG9iai5wYXJhX0Y7XG4gICAgICBkYXRhLkgudmFsdWUgPSBvYmoucGFyYV9IO1xuICAgICAgZGF0YS5HLnZhbHVlID0gb2JqLnBhcmFfRztcbiAgICAgIGRhdGEuZGlzdGFuY2UudmFsdWUgPSBvYmouZGlzdGFuY2U7XG5cbiAgICAgIHRoaXMuY3VycmVudE1vZGVsID0gTW9kZS5FZGl0O1xuICAgICAgZGF0YS50aXAudmFsdWUgPSA3O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZWxlY3RJZCA9IG51bGw7XG4gICAgICBjb25zb2xlLmxvZyhcImVycm9yOiBvYmogaXMgbnVsbFwiKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVDdXJyZW50V0dUTUVNUyhpbmRleHM6IG51bWJlcltdKSB7XG4gICAgY29uc29sZS5sb2coXCLliKDpmaTlvZPliY3pgInkuK3nmoTnibrnibLpmLPmnoFcIik7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG5cbiAgICBpZiAoaW5kZXhzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGF0YS50aXAudmFsdWUgPSA2O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBkZWxldGVkV0dUTUVNUyA9IG5ldyBBcnJheTxXR1RNRU1PYmplY3Q+KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRleHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBvYmpJZCA9IGRhdGEuYWxsQW5vZGVzLnNlbGVjdE9wdGlvbnMuc2VsZWN0aW9uc1tpbmRleHNbaV1dLnZhbHVlO1xuICAgICAgbGV0IG9iaiA9IHRoaXMucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlJZChvYmpJZCkgYXMgV0dUTUVNT2JqZWN0O1xuICAgICAgaWYgKG9iaikge1xuICAgICAgICBkZWxldGVkV0dUTUVNUy5wdXNoKG9iaik7XG4gICAgICAgIGlmKG9iai5pZCA9PT0gdGhpcy5jdXJyZW50U2VsZWN0SWQpIHtcbiAgICAgICAgICAvL2NsZWFyIGNvbmZpZy5cbiAgICAgICAgICB0aGlzLmNsZWFyQ29uZmlnKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlbGV0ZWRXR1RNRU1TLmxlbmd0aDsgaSsrKSB7XG4gICAgICBkZWxldGVkV0dUTUVNU1tpXS50ZW1wRGVsZXRlKHRoaXMudmlld2VyKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlZnJlc2hBbGxBbm9kZXMoKTtcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG5cbiAgICBkYXRhLnRpcC52YWx1ZSA9IDU7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyQ29uZmlnKCkge1xuICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgIGRhdGEuc2VsZWN0ZWRNZW1iZXJzLnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLnNlbGVjdGVkTWVtYmVycy5saXN0T3B0aW9ucy5saXN0ID0gW107XG4gICAgZGF0YS5zZWxlY3RlZE1lbWJlcnMudmFsdWUgPSBudWxsO1xuICAgIGRhdGEud2VpZ2h0R3JvdXBJRC52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS53ZWlnaHRJRC52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5hbm9kZVdlaWdodC52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5kaXN0cmlidXRpb25Nb2Rlcy52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5kaXN0cmlidXRpb25Db3VudC52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5kaXN0cmlidXRpb25BdmVyYWdlSW50ZXJ2YWwudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuZGlzdHJpYnV0aW9uQ3VzdG9tSW50ZXJ2YWwudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuaXNJbmNsdWRlLnZhbHVlID0gZmFsc2U7XG4gICAgZGF0YS5kZW5zaXR5LnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLmFuZ2xlLnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLkEudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuQjEudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuQjIudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuQy52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5ELnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLkYudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuSC52YWx1ZSA9IG51bGw7XG4gICAgZGF0YS5HLnZhbHVlID0gbnVsbDtcbiAgICBkYXRhLmRpc3RhbmNlLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUGFuZWwoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlciA9PT1cbiAgICAgIFNlbGVjdG9yRmlsaXRlci5NZW1iZXJcbiAgICApIHtcbiAgICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgICAgLy8g5pu05paw6Z2i5p2/55qE6YCJ5Lit54K55YiX6KGoLlxuICAgICAgZGF0YS5zZWxlY3RlZE1lbWJlcnMubGlzdE9wdGlvbnMubGlzdCA9XG4gICAgICAgIFtdO1xuICAgICAgbGV0IG9iamVjdHMgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgICAgIGlmIChvYmplY3RzLmNvdW50KCkgPiAwKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5jb3VudCgpOyBpKyspIHtcbiAgICAgICAgICBsZXQgb2JqZWN0ID0gb2JqZWN0cy5pdGVtc1tpXTtcbiAgICAgICAgICBpZiAob2JqZWN0IGluc3RhbmNlb2YgTWVtYmVyT2JqZWN0KSB7XG4gICAgICAgICAgICBkYXRhLnNlbGVjdGVkTWVtYmVycy5saXN0T3B0aW9ucy5saXN0LnB1c2goXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogb2JqZWN0Lm5hbWUsXG4gICAgICAgICAgICAgICAgdmFsdWU6IG9iamVjdC5uYW1lLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZihvYmplY3QgaW5zdGFuY2VvZiBXR1RNRU1PYmplY3QpIHtcbiAgICAgICAgICAgIGRhdGEuYWxsQW5vZGVzLnZhbHVlID0gb2JqZWN0LmlkO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RXR1RNRU1DaGFuZ2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog6K6h566X6Ziz5p6B6LSo6YePKGtnKVxuICAgKi9cbiAgcHVibGljIGNvbXB1dGVXZWlnaHRWYWx1ZSgpIHtcbiAgICBsZXQgY29uZmlnOiBTZXRBbmRTaG93V0dUTUVNQ29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgbGV0IGRhdGEgPSBjb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuXG4gICAgbGV0IEEgPSBkYXRhLkEudmFsdWUgLyAxMDAwO1xuICAgIGxldCBCMSA9IGRhdGEuQjEudmFsdWUvIDEwMDA7XG4gICAgbGV0IEIyID0gZGF0YS5CMi52YWx1ZS8gMTAwMDtcbiAgICBsZXQgQyA9IGRhdGEuQy52YWx1ZS8gMTAwMDtcbiAgICBsZXQgRCA9IGRhdGEuRC52YWx1ZS8gMTAwMDtcbiAgICBsZXQgRiA9IGRhdGEuRi52YWx1ZS8gMTAwMDtcbiAgICBsZXQgSCA9IGRhdGEuSC52YWx1ZS8gMTAwMDtcbiAgICBsZXQgRyA9IGRhdGEuRy52YWx1ZS8gMTAwMDtcblxuICAgIC8vIOaUr+iEmuS4reW/g+e6v+mVv+W6pi5cbiAgICBsZXQgck91dGVyID0gKEQgLSBBKSAvIDI7XG4gICAgbGV0IHJJbm5lciA9IHJPdXRlciAtIDAuMDA1O1xuICAgIGxldCBsZWdMZW5ndGggPSAoSCArIChEIC0gQSkgLyAyKTtcbiAgICBsZXQgbGVnRGVuc2l0eSA9IDc4NTA7XG5cbiAgICBsZXQgdk91dGVyID0gTWF0aC5QSSAqIHJPdXRlciAqIHJPdXRlciAqIGxlZ0xlbmd0aDtcbiAgICBsZXQgdklubmVyID0gTWF0aC5QSSAqIHJJbm5lciAqIHJJbm5lciAqIGxlZ0xlbmd0aDtcbiAgICBsZXQgdkxlZyA9IHZPdXRlciAtIHZJbm5lcjtcbiAgICBsZXQgbGVnV2VpZ2h0ID0gdkxlZyAqIGxlZ0RlbnNpdHk7XG4gICAgLy8g5pSv6ISa5pyJ5Lik5LiqXG4gICAgbGVnV2VpZ2h0ICo9IDI7XG4gICAgIFxuXG4gICAgLy8g6ZOd6IqvXG4gICAgbGV0IGFsRGVuc2l0eSA9IDI3MDA7XG4gICAgbGV0IEJDZW50ZXIgPSAoQjEgKyBCMikgLyAyO1xuICAgIGxldCBBMSA9IEEgLyAoQkNlbnRlciAvIEIxKTtcbiAgICBsZXQgQTIgPSBBIC8gKEJDZW50ZXIgLyBCMik7XG5cbiAgICBsZXQgeFRvcCA9ICBBMTtcbiAgICBsZXQgeVRvcCA9IEIxO1xuICAgIGxldCB4Qm90dG9tID0gQTI7XG4gICAgbGV0IHlCb3R0b20gPSBCMjtcblxuICAgIGxldCBzMSA9IHhUb3AgKiB5VG9wO1xuICAgIGxldCBzMiA9IHhCb3R0b20gKiB5Qm90dG9tO1xuICAgIGxldCBzMCA9IEJDZW50ZXIgKiBBO1xuICAgIGxldCB2ID0gKHMxICsgczIgKyA0ICogczApICogQyAvIDY7XG4gICAgbGV0IHdlaWdodCA9IHYgKiBhbERlbnNpdHkgKiAwLjk7XG5cbiAgICBsZXQgcmVzdWx0ID0gd2VpZ2h0ICsgbGVnV2VpZ2h0O1xuICAgIGNvbnNvbGUubG9nKFwi6Ziz5p6B6LSo6YeP77yaXCIsIHJlc3VsdCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQWVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUFBO0FBVUE7QUFBQTtBQVRBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTs7QUFJQTtBQUVBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQWVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUdBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBV0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFFQTtBQUNBOztBQUdBO0FBS0E7QUFDQTs7QUFHQTtBQU1BO0FBQ0E7O0FBR0E7QUFNQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOzs7O0FBS0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBOzs7QUFJQTtBQUNBO0FBR0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBOzs7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFLQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUVBO0FBQ0E7QUFNQTtBQUNBO0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUtBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBS0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7OztBQUtBO0FBQ0E7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFLQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7OztBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/pretreatment/setAndShowWGTMEM/commandSetAndShowWGTMEM.ts\n");
|
|
7626
7626
|
|
|
7627
7627
|
/***/ }),
|
|
7628
7628
|
|
|
@@ -7644,7 +7644,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
7644
7644
|
/*! no static exports found */
|
|
7645
7645
|
/***/ (function(module, exports, __webpack_require__) {
|
|
7646
7646
|
|
|
7647
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cameraMouse */ \"./packages/caeDesign/src/gsDevFx/operators/cameraMouse.ts\"), __webpack_require__(/*! ../../commandComponent */ \"./packages/caeDesign/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cAEObjectPreSelector */ \"./packages/caeDesign/src/gsDevFx/operators/cAEObjectPreSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/caeObjectSelector */ \"./packages/caeDesign/src/gsDevFx/operators/caeObjectSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/commands/commandSelect */ \"./packages/caeDesign/src/gsDevFx/commands/commandSelect.ts\"), __webpack_require__(/*! ../../../../gsDevFx/managers/interfaceManagers/selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! ./showWGTMEMDataConfig */ \"./packages/caeDesign/src/viewerWrapper/commands/pretreatment/showWGTMEMData/showWGTMEMDataConfig.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/pretreatment/wgtmemObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/wgtmemObject.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/memberObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cameraMouse_1, commandComponent_1, cAEObjectPreSelector_1, caeObjectSelector_1, commandSelect_1, selectionInterfaceManager_1, showWGTMEMDataConfig_1, wgtmemObject_1, memberObject_1, gs_ceec_design_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n showWGTMEMDataConfig_1 = tslib_1.__importDefault(showWGTMEMDataConfig_1);\n var CommandShowWGTMEMData = function (_super) {\n tslib_1.__extends(CommandShowWGTMEMData, _super);\n function CommandShowWGTMEMData() {\n var _this = _super.call(this) || this;\n _this.typeName = \"CommandShowWGTMEMData\";\n _this.preSelector = null;\n _this.caeObjectSelector = null;\n return _this;\n }\n CommandShowWGTMEMData.prototype.begin = function () {\n var _this = this;\n this.changeOperators();\n console.log(\"CommandShowWGTMEMData\");\n this.config = new showWGTMEMDataConfig_1.default();\n this.config.show();\n var data = this.config.properties.items[0].data;\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n if (objects) {\n data.WGTMEMList.selectOptions.selections = objects.map(function (item) {\n return {\n label: item.name,\n value: item.id\n };\n });\n }\n var members = this.viewer.process.findRenderObjectByName(\"杆件\");\n if (members) {\n data.member.selectOptions.selections = members.childObjects.map(function (item) {\n return {\n label: item.name,\n value: item.id\n };\n });\n }\n this.config.changeData = function () {\n console.log(\"data change\");\n var roID = data.WGTMEMList.value;\n var obj = _this.viewer.process.findRenderObjectById(roID);\n _this.selectWGTMEMObjectChanged(obj);\n if (obj instanceof wgtmemObject_1.WGTMEMObject) {\n _this.viewer.selectionManager.clearAllSelectionAndHighlight();\n _this.viewer.selectionManager.selectAndHighlightKeys([obj.segment.key], [obj.segment.path]);\n _this.viewer.updateDisplay();\n }\n };\n this.config.sizeChangeData = function () {\n console.log(\"data change\");\n var paraData = data.size.value;\n if (paraData) {\n var obj = JSON.parse(paraData);\n data.A.value = obj.A;\n data.B1.value = obj.B1;\n data.B2.value = obj.B2;\n data.C.value = obj.C;\n data.D.value = obj.D;\n data.F.value = obj.F;\n data.H.value = obj.H;\n data.G.value = obj.G;\n }\n };\n this.setWGTMEMObjectsVisible(true);\n this.viewer.updateDisplay();\n };\n CommandShowWGTMEMData.prototype.restore = function () {\n this.changeOperators();\n this.config.show();\n };\n CommandShowWGTMEMData.prototype.changeOperators = function () {\n var _this = this;\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.preSelector = new cAEObjectPreSelector_1.CAEObjectPreSelector();\n this.viewer.operatorManager.add(this.preSelector);\n this.viewer.selectionInterfaceManager.selectorFilter = selectionInterfaceManager_1.SelectorFiliter.All;\n this.caeObjectSelector = new caeObjectSelector_1.CAEObjectSelector();\n this.viewer.operatorManager.add(this.caeObjectSelector);\n this.caeObjectSelector.lButtonUp.add(function () {\n setTimeout(function () {\n _this.updatePanel();\n }, 0);\n });\n };\n CommandShowWGTMEMData.prototype.end = function () {\n this.config.hide();\n _super.prototype.end.call(this);\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.setWGTMEMObjectsVisible(false);\n this.viewer.updateDisplay();\n var commandSelect = new commandSelect_1.CommandSelect();\n this.process.commandManager.execute(commandSelect);\n };\n CommandShowWGTMEMData.prototype.commandOk = function () {\n console.log(\"config:\", this.config);\n var data = this.config.properties.items[0].data;\n var roID = data.WGTMEMList.value;\n var ro = this.viewer.process.findRenderObjectById(roID);\n if (ro && ro instanceof wgtmemObject_1.WGTMEMObject) {\n ro.businessState = gs_ceec_design_1.BusinessState.Editing;\n ro.weightGroupID = data.weightGroupID.value;\n ro.weightID = data.weightID.value;\n ro.distance = Number(data.distance.value);\n var memberID = data.member.value;\n var member = this.viewer.process.findRenderObjectById(memberID);\n if (member && member instanceof memberObject_1.MemberObject) {\n ro.memberJointA = member.start.name;\n ro.memberJointB = member.end.name;\n }\n ro.angle = Number(data.angle.value);\n ro.size = data.size.value;\n ro.para_A = data.A.value;\n ro.para_B1 = data.B1.value;\n ro.para_B2 = data.B2.value;\n ro.para_C = data.C.value;\n ro.para_D = data.D.value;\n ro.para_F = data.F.value;\n ro.para_G = data.G.value;\n ro.para_H = data.H.value;\n ro.setNeedUpdate();\n }\n this.viewer.updateDisplay();\n };\n CommandShowWGTMEMData.prototype.updatePanel = function () {\n var selectedROs = this.caeObjectSelector.selectedRenderObjects;\n if (selectedROs.count() > 0) {\n var ro = selectedROs.items[0];\n this.selectWGTMEMObjectChanged(ro);\n }\n };\n CommandShowWGTMEMData.prototype.selectWGTMEMObjectChanged = function (ro) {\n if (ro instanceof wgtmemObject_1.WGTMEMObject) {\n var data = this.config.properties.items[0].data;\n data.weightGroupID.value = ro.weightGroupID;\n data.weightID.value = ro.weightID;\n data.angle.value = ro.angle;\n data.size.value = ro.size;\n data.member.value = ro.member.id;\n data.distance.value = ro.distance;\n data.WGTMEMList.value = ro.id;\n data.A.value = ro.para_A;\n data.B1.value = ro.para_B1;\n data.B2.value = ro.para_B2;\n data.C.value = ro.para_C;\n data.D.value = ro.para_D;\n data.F.value = ro.para_F;\n data.H.value = ro.para_H;\n data.G.value = ro.para_G;\n }\n };\n CommandShowWGTMEMData.prototype.setInPutDisable = function (data, disabled) {\n data.A.inputOptions.disabled = disabled;\n data.B1.inputOptions.disabled = disabled;\n data.B2.inputOptions.disabled = disabled;\n data.C.inputOptions.disabled = disabled;\n data.D.inputOptions.disabled = disabled;\n data.F.inputOptions.disabled = disabled;\n data.H.inputOptions.disabled = disabled;\n data.G.inputOptions.disabled = disabled;\n };\n CommandShowWGTMEMData.prototype.setWGTMEMObjectsVisible = function (visible) {\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n objects.forEach(function (obj) {\n obj.visible = visible;\n if (visible) {\n obj.setNeedUpdate();\n }\n });\n };\n return CommandShowWGTMEMData;\n }(commandComponent_1.CommandComponent);\n exports.default = CommandShowWGTMEMData;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3Nob3dXR1RNRU1EYXRhL2NvbW1hbmRTaG93V0dUTUVNRGF0YS50cy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvdmlld2VyV3JhcHBlci9jb21tYW5kcy9wcmV0cmVhdG1lbnQvc2hvd1dHVE1FTURhdGEvY29tbWFuZFNob3dXR1RNRU1EYXRhLnRzP2YyNmUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FtZXJhTW91c2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcbmltcG9ydCB7IENvbW1hbmRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tbWFuZENvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ0FFT2JqZWN0UHJlU2VsZWN0b3IgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY0FFT2JqZWN0UHJlU2VsZWN0b3JcIjtcbmltcG9ydCB7IENBRU9iamVjdFNlbGVjdG9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL2NhZU9iamVjdFNlbGVjdG9yXCI7XG5pbXBvcnQgeyBDb21tYW5kU2VsZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2RngvY29tbWFuZHMvY29tbWFuZFNlbGVjdFwiO1xuaW1wb3J0IHsgU2VsZWN0b3JGaWxpdGVyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2RngvbWFuYWdlcnMvaW50ZXJmYWNlTWFuYWdlcnMvc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlclwiO1xuaW1wb3J0IFNob3dXR1RNRU1EYXRhQ29uZmlnIGZyb20gXCIuL3Nob3dXR1RNRU1EYXRhQ29uZmlnXCI7XG5pbXBvcnQgeyBXR1RNRU1PYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvcHJldHJlYXRtZW50L3dndG1lbU9iamVjdFwiO1xuaW1wb3J0IHsgTWVtYmVyT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL21lbWJlck9iamVjdFwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgSW50ZXJmYWNlUHJvcGVydHkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9wcm9wZXJ0eUNvbXBvbmVudHMvcHJvcGVydHlDb21wb25lbnRcIjtcbmltcG9ydCB7IExvbmdhbiB9IGZyb20gXCJncy1iaW0tYWlyXCI7XG5cbi8qKlxuICog54m654my6Ziz5p6B5bGe5oCn5p+l55yL5LiO57yW6L6R5ZG95LukXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRTaG93V0dUTUVNRGF0YSBleHRlbmRzIENvbW1hbmRDb21wb25lbnQge1xuICB0eXBlTmFtZTogc3RyaW5nID0gXCJDb21tYW5kU2hvd1dHVE1FTURhdGFcIjtcbiAgcHJlU2VsZWN0b3I6IENBRU9iamVjdFByZVNlbGVjdG9yID0gbnVsbDtcbiAgY2FlT2JqZWN0U2VsZWN0b3I6IENBRU9iamVjdFNlbGVjdG9yID0gbnVsbDtcbiAgY29uZmlnOiBTaG93V0dUTUVNRGF0YUNvbmZpZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcblxuICAgIGNvbnNvbGUubG9nKFwiQ29tbWFuZFNob3dXR1RNRU1EYXRhXCIpO1xuICAgIHRoaXMuY29uZmlnID0gbmV3IFNob3dXR1RNRU1EYXRhQ29uZmlnKCk7XG4gICAgdGhpcy5jb25maWcuc2hvdygpO1xuXG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgbGV0IG9iamVjdHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiV0dUTUVNT2JqZWN0XCIpO1xuICAgIGlmIChvYmplY3RzKSB7XG4gICAgICBkYXRhLldHVE1FTUxpc3Quc2VsZWN0T3B0aW9ucy5zZWxlY3Rpb25zID0gb2JqZWN0cy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYWJlbDogaXRlbS5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBpdGVtLmlkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IG1lbWJlcnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXCLmnYbku7ZcIik7XG4gICAgaWYgKG1lbWJlcnMpIHtcbiAgICAgIGRhdGEubWVtYmVyLnNlbGVjdE9wdGlvbnMuc2VsZWN0aW9ucyA9IG1lbWJlcnMuY2hpbGRPYmplY3RzLm1hcChcbiAgICAgICAgKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLmlkLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcuY2hhbmdlRGF0YSA9ICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKFwiZGF0YSBjaGFuZ2VcIik7XG4gICAgICBsZXQgcm9JRCA9IGRhdGEuV0dUTUVNTGlzdC52YWx1ZTtcbiAgICAgIGxldCBvYmogPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeUlkKHJvSUQpO1xuICAgICAgdGhpcy5zZWxlY3RXR1RNRU1PYmplY3RDaGFuZ2VkKG9iaik7XG5cbiAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBXR1RNRU1PYmplY3QpIHtcbiAgICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoXG4gICAgICAgICAgW29iai5zZWdtZW50LmtleV0sXG4gICAgICAgICAgW29iai5zZWdtZW50LnBhdGhdXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5jb25maWcuc2l6ZUNoYW5nZURhdGEgPSAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhcImRhdGEgY2hhbmdlXCIpO1xuICAgICAgbGV0IHBhcmFEYXRhID0gZGF0YS5zaXplLnZhbHVlO1xuICAgICAgaWYgKHBhcmFEYXRhKSB7XG4gICAgICAgIGxldCBvYmogPSBKU09OLnBhcnNlKHBhcmFEYXRhKTtcbiAgICAgICAgZGF0YS5BLnZhbHVlID0gb2JqLkE7XG4gICAgICAgIGRhdGEuQjEudmFsdWUgPSBvYmouQjE7XG4gICAgICAgIGRhdGEuQjIudmFsdWUgPSBvYmouQjI7XG4gICAgICAgIGRhdGEuQy52YWx1ZSA9IG9iai5DO1xuICAgICAgICBkYXRhLkQudmFsdWUgPSBvYmouRDtcbiAgICAgICAgZGF0YS5GLnZhbHVlID0gb2JqLkY7XG4gICAgICAgIGRhdGEuSC52YWx1ZSA9IG9iai5IO1xuICAgICAgICBkYXRhLkcudmFsdWUgPSBvYmouRztcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5zZXRXR1RNRU1PYmplY3RzVmlzaWJsZSh0cnVlKTtcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICByZXN0b3JlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlT3BlcmF0b3JzKCk7XG4gICAgdGhpcy5jb25maWcuc2hvdygpO1xuICB9XG5cbiAgY2hhbmdlT3BlcmF0b3JzKCk6IHZvaWQge1xuICAgIC8vIOi/m+WFpeWRveS7pOWJjea4heepuumAieS4reS4jumrmOS6ri5cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgLy8g5riF56m65pON5L2c5ZmoLlxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5jbGVhcigpO1xuICAgIC8vIOa3u+WKoOaRhOWDj+acuuaTjeS9nOWZqFxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IENhbWVyYU1vdXNlKCkpO1xuXG4gICAgLy8g5re75YqgQ0FF5a+56LGh6aKE6YCJ5oup5ZmoXG4gICAgdGhpcy5wcmVTZWxlY3RvciA9IG5ldyBDQUVPYmplY3RQcmVTZWxlY3RvcigpO1xuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQodGhpcy5wcmVTZWxlY3Rvcik7XG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlciA9IFNlbGVjdG9yRmlsaXRlci5BbGw7XG5cbiAgICB0aGlzLmNhZU9iamVjdFNlbGVjdG9yID0gbmV3IENBRU9iamVjdFNlbGVjdG9yKCk7XG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZCh0aGlzLmNhZU9iamVjdFNlbGVjdG9yKTtcblxuICAgIHRoaXMuY2FlT2JqZWN0U2VsZWN0b3IubEJ1dHRvblVwLmFkZCgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVQYW5lbCgpO1xuICAgICAgfSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBlbmQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcuaGlkZSgpO1xuICAgIHN1cGVyLmVuZCgpO1xuXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIHRoaXMuc2V0V0dUTUVNT2JqZWN0c1Zpc2libGUoZmFsc2UpO1xuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgIGxldCBjb21tYW5kU2VsZWN0ID0gbmV3IENvbW1hbmRTZWxlY3QoKTtcbiAgICB0aGlzLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIuZXhlY3V0ZShjb21tYW5kU2VsZWN0KTtcbiAgfVxuXG4gIGNvbW1hbmRPaygpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcImNvbmZpZzpcIiwgdGhpcy5jb25maWcpO1xuXG4gICAgLy8g5pu05pawV0dUTUVNT2JqZWN055qE5pWw5o2u77yM5bm2cmVuZGVyLlxuICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgIGxldCByb0lEID0gZGF0YS5XR1RNRU1MaXN0LnZhbHVlO1xuICAgIGxldCBybyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5SWQocm9JRCk7XG4gICAgaWYgKHJvICYmIHJvIGluc3RhbmNlb2YgV0dUTUVNT2JqZWN0KSB7XG4gICAgICByby5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5FZGl0aW5nO1xuICAgICAgLy9cbiAgICAgIHJvLndlaWdodEdyb3VwSUQgPSBkYXRhLndlaWdodEdyb3VwSUQudmFsdWU7XG4gICAgICByby53ZWlnaHRJRCA9IGRhdGEud2VpZ2h0SUQudmFsdWU7XG4gICAgICByby5kaXN0YW5jZSA9IE51bWJlcihkYXRhLmRpc3RhbmNlLnZhbHVlKTtcbiAgICAgIGxldCBtZW1iZXJJRCA9IGRhdGEubWVtYmVyLnZhbHVlO1xuICAgICAgbGV0IG1lbWJlciA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5SWQobWVtYmVySUQpO1xuICAgICAgaWYgKG1lbWJlciAmJiBtZW1iZXIgaW5zdGFuY2VvZiBNZW1iZXJPYmplY3QpIHtcbiAgICAgICAgcm8ubWVtYmVySm9pbnRBID0gbWVtYmVyLnN0YXJ0Lm5hbWU7XG4gICAgICAgIHJvLm1lbWJlckpvaW50QiA9IG1lbWJlci5lbmQubmFtZTtcbiAgICAgIH1cbiAgICAgIHJvLmFuZ2xlID0gTnVtYmVyKGRhdGEuYW5nbGUudmFsdWUpO1xuICAgICAgcm8uc2l6ZSA9IGRhdGEuc2l6ZS52YWx1ZTtcblxuICAgICAgcm8ucGFyYV9BID0gZGF0YS5BLnZhbHVlO1xuICAgICAgcm8ucGFyYV9CMSA9IGRhdGEuQjEudmFsdWU7XG4gICAgICByby5wYXJhX0IyID0gZGF0YS5CMi52YWx1ZTtcbiAgICAgIHJvLnBhcmFfQyA9IGRhdGEuQy52YWx1ZTtcbiAgICAgIHJvLnBhcmFfRCA9IGRhdGEuRC52YWx1ZTtcbiAgICAgIHJvLnBhcmFfRiA9IGRhdGEuRi52YWx1ZTtcbiAgICAgIHJvLnBhcmFfRyA9IGRhdGEuRy52YWx1ZTtcbiAgICAgIHJvLnBhcmFfSCA9IGRhdGEuSC52YWx1ZTtcblxuICAgICAgLy8gaWYgKGRhdGEuc2l6ZS52YWx1ZSkge1xuICAgICAgLy8gICBsZXQgb2JqID0gSlNPTi5wYXJzZShkYXRhLnNpemUudmFsdWUpO1xuICAgICAgLy8gICByby5uYW1lID0gbWVtYmVyLm5hbWUgKyBcIi1cIiArIG9iai5uYW1lO1xuICAgICAgLy8gfSBlbHNlIHtcbiAgICAgIC8vICAgcm8ubmFtZSA9IG1lbWJlci5uYW1lICsgXCItXCI7XG4gICAgICAvLyB9XG5cbiAgICAgIHJvLnNldE5lZWRVcGRhdGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICB1cGRhdGVQYW5lbCgpIHtcbiAgICBsZXQgc2VsZWN0ZWRST3MgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgICBpZiAoc2VsZWN0ZWRST3MuY291bnQoKSA+IDApIHtcbiAgICAgIGxldCBybyA9IHNlbGVjdGVkUk9zLml0ZW1zWzBdO1xuXG4gICAgICB0aGlzLnNlbGVjdFdHVE1FTU9iamVjdENoYW5nZWQocm8pO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFdHVE1FTU9iamVjdENoYW5nZWQocm86IExvbmdhbi5SZW5kZXJPYmplY3QpIHtcbiAgICAvL1xuICAgIGlmIChybyBpbnN0YW5jZW9mIFdHVE1FTU9iamVjdCkge1xuICAgICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgICBkYXRhLndlaWdodEdyb3VwSUQudmFsdWUgPSByby53ZWlnaHRHcm91cElEO1xuICAgICAgZGF0YS53ZWlnaHRJRC52YWx1ZSA9IHJvLndlaWdodElEO1xuICAgICAgZGF0YS5hbmdsZS52YWx1ZSA9IHJvLmFuZ2xlO1xuICAgICAgZGF0YS5zaXplLnZhbHVlID0gcm8uc2l6ZTtcbiAgICAgIGRhdGEubWVtYmVyLnZhbHVlID0gcm8ubWVtYmVyLmlkO1xuICAgICAgZGF0YS5kaXN0YW5jZS52YWx1ZSA9IHJvLmRpc3RhbmNlO1xuICAgICAgZGF0YS5XR1RNRU1MaXN0LnZhbHVlID0gcm8uaWQ7XG5cbiAgICAgIGRhdGEuQS52YWx1ZSA9IHJvLnBhcmFfQTtcbiAgICAgIGRhdGEuQjEudmFsdWUgPSByby5wYXJhX0IxO1xuICAgICAgZGF0YS5CMi52YWx1ZSA9IHJvLnBhcmFfQjI7XG4gICAgICBkYXRhLkMudmFsdWUgPSByby5wYXJhX0M7XG4gICAgICBkYXRhLkQudmFsdWUgPSByby5wYXJhX0Q7XG4gICAgICBkYXRhLkYudmFsdWUgPSByby5wYXJhX0Y7XG4gICAgICBkYXRhLkgudmFsdWUgPSByby5wYXJhX0g7XG4gICAgICBkYXRhLkcudmFsdWUgPSByby5wYXJhX0c7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5QdXREaXNhYmxlKGRhdGE6IEludGVyZmFjZVByb3BlcnR5LCBkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIC8vIGRhdGEuQS52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS5CMS52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS5CMi52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS5DLnZhbHVlID0gbnVsbDtcbiAgICAvLyBkYXRhLkQudmFsdWUgPSBudWxsO1xuICAgIC8vIGRhdGEuRi52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS5ILnZhbHVlID0gbnVsbDtcbiAgICAvLyBkYXRhLkcudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuQS5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkIxLmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuQjIuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgZGF0YS5DLmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuRC5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkYuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgZGF0YS5ILmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuRy5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gIHNldFdHVE1FTU9iamVjdHNWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBsZXQgb2JqZWN0cyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJXR1RNRU1PYmplY3RcIikgYXMgYW55O1xuICAgIG9iamVjdHMuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICBvYmoudmlzaWJsZSA9IHZpc2libGU7XG4gICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICBvYmouc2V0TmVlZFVwZGF0ZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFnQkE7QUFBQTtBQU1BO0FBQUE7QUFMQTtBQUNBO0FBQ0E7O0FBS0E7QUFFQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSUE7O0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUVBO0FBQ0E7QUFHQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBOztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUE7OztBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/pretreatment/showWGTMEMData/commandShowWGTMEMData.ts\n");
|
|
7647
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cameraMouse */ \"./packages/caeDesign/src/gsDevFx/operators/cameraMouse.ts\"), __webpack_require__(/*! ../../commandComponent */ \"./packages/caeDesign/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cAEObjectPreSelector */ \"./packages/caeDesign/src/gsDevFx/operators/cAEObjectPreSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/caeObjectSelector */ \"./packages/caeDesign/src/gsDevFx/operators/caeObjectSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/commands/commandSelect */ \"./packages/caeDesign/src/gsDevFx/commands/commandSelect.ts\"), __webpack_require__(/*! ../../../../gsDevFx/managers/interfaceManagers/selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! ./showWGTMEMDataConfig */ \"./packages/caeDesign/src/viewerWrapper/commands/pretreatment/showWGTMEMData/showWGTMEMDataConfig.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/pretreatment/wgtmemObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/wgtmemObject.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/memberObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cameraMouse_1, commandComponent_1, cAEObjectPreSelector_1, caeObjectSelector_1, commandSelect_1, selectionInterfaceManager_1, showWGTMEMDataConfig_1, wgtmemObject_1, memberObject_1, gs_ceec_design_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n showWGTMEMDataConfig_1 = tslib_1.__importDefault(showWGTMEMDataConfig_1);\n var CommandShowWGTMEMData = function (_super) {\n tslib_1.__extends(CommandShowWGTMEMData, _super);\n function CommandShowWGTMEMData() {\n var _this = _super.call(this) || this;\n _this.typeName = \"CommandShowWGTMEMData\";\n _this.preSelector = null;\n _this.caeObjectSelector = null;\n return _this;\n }\n CommandShowWGTMEMData.prototype.begin = function () {\n var _this = this;\n this.changeOperators();\n console.log(\"CommandShowWGTMEMData\");\n this.config = new showWGTMEMDataConfig_1.default();\n this.config.show();\n var data = this.config.properties.items[0].data;\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n if (objects) {\n data.WGTMEMList.selectOptions.selections = objects.map(function (item) {\n return {\n label: item.name,\n value: item.id\n };\n });\n }\n var members = this.viewer.process.findRenderObjectByName(\"杆件\");\n if (members) {\n data.member.selectOptions.selections = members.childObjects.map(function (item) {\n return {\n label: item.name,\n value: item.id\n };\n });\n }\n this.config.changeData = function () {\n console.log(\"data change\");\n var roID = data.WGTMEMList.value;\n var obj = _this.viewer.process.findRenderObjectById(roID);\n _this.selectWGTMEMObjectChanged(obj);\n if (obj instanceof wgtmemObject_1.WGTMEMObject) {\n _this.viewer.selectionManager.clearAllSelectionAndHighlight();\n _this.viewer.selectionManager.selectAndHighlightKeys([obj.segment.key], [obj.segment.path]);\n _this.viewer.updateDisplay();\n }\n };\n this.config.sizeChangeData = function () {\n console.log(\"data change\");\n var paraData = data.size.value;\n if (paraData) {\n var obj = JSON.parse(paraData);\n data.A.value = obj.A;\n data.B1.value = obj.B1;\n data.B2.value = obj.B2;\n data.C.value = obj.C;\n data.D.value = obj.D;\n data.F.value = obj.F;\n data.H.value = obj.H;\n data.G.value = obj.G;\n }\n };\n this.setWGTMEMObjectsVisible(true);\n this.viewer.updateDisplay();\n };\n CommandShowWGTMEMData.prototype.restore = function () {\n this.changeOperators();\n this.config.show();\n };\n CommandShowWGTMEMData.prototype.changeOperators = function () {\n var _this = this;\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.preSelector = new cAEObjectPreSelector_1.CAEObjectPreSelector();\n this.viewer.operatorManager.add(this.preSelector);\n this.viewer.selectionInterfaceManager.selectorFilter = selectionInterfaceManager_1.SelectorFiliter.All;\n this.caeObjectSelector = new caeObjectSelector_1.CAEObjectSelector();\n this.viewer.operatorManager.add(this.caeObjectSelector);\n this.caeObjectSelector.lButtonUp.add(function () {\n setTimeout(function () {\n _this.updatePanel();\n }, 0);\n });\n };\n CommandShowWGTMEMData.prototype.end = function () {\n this.config.hide();\n _super.prototype.end.call(this);\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.setWGTMEMObjectsVisible(false);\n this.viewer.updateDisplay();\n var commandSelect = new commandSelect_1.CommandSelect();\n this.process.commandManager.execute(commandSelect);\n };\n CommandShowWGTMEMData.prototype.commandOk = function () {\n console.log(\"config:\", this.config);\n var data = this.config.properties.items[0].data;\n var roID = data.WGTMEMList.value;\n var ro = this.viewer.process.findRenderObjectById(roID);\n if (ro && ro instanceof wgtmemObject_1.WGTMEMObject) {\n ro.businessState = gs_ceec_design_1.BusinessState.Editing;\n ro.weightGroupID = data.weightGroupID.value;\n ro.weightID = data.weightID.value;\n ro.distance = Number(data.distance.value);\n var memberID = data.member.value;\n var member = this.viewer.process.findRenderObjectById(memberID);\n if (member && member instanceof memberObject_1.MemberObject) {\n ro.memberJointA = member.start.name;\n ro.memberJointB = member.end.name;\n }\n ro.angle = Number(data.angle.value);\n ro.size = data.size.value;\n ro.para_A = data.A.value;\n ro.para_B1 = data.B1.value;\n ro.para_B2 = data.B2.value;\n ro.para_C = data.C.value;\n ro.para_D = data.D.value;\n ro.para_F = data.F.value;\n ro.para_G = data.G.value;\n ro.para_H = data.H.value;\n ro.setNeedUpdate();\n }\n this.viewer.updateDisplay();\n };\n CommandShowWGTMEMData.prototype.updatePanel = function () {\n var selectedROs = this.caeObjectSelector.selectedRenderObjects;\n if (selectedROs.count() > 0) {\n var ro = selectedROs.items[0];\n this.selectWGTMEMObjectChanged(ro);\n }\n };\n CommandShowWGTMEMData.prototype.selectWGTMEMObjectChanged = function (ro) {\n if (ro instanceof wgtmemObject_1.WGTMEMObject) {\n var data = this.config.properties.items[0].data;\n data.weightGroupID.value = ro.weightGroupID;\n data.weightID.value = ro.weightID;\n data.angle.value = ro.angle;\n data.size.value = ro.size;\n data.member.value = ro.member.id;\n data.distance.value = ro.distance;\n data.WGTMEMList.value = ro.id;\n data.A.value = ro.para_A;\n data.B1.value = ro.para_B1;\n data.B2.value = ro.para_B2;\n data.C.value = ro.para_C;\n data.D.value = ro.para_D;\n data.F.value = ro.para_F;\n data.H.value = ro.para_H;\n data.G.value = ro.para_G;\n }\n };\n CommandShowWGTMEMData.prototype.setInPutDisable = function (data, disabled) {\n data.A.inputOptions.disabled = disabled;\n data.B1.inputOptions.disabled = disabled;\n data.B2.inputOptions.disabled = disabled;\n data.C.inputOptions.disabled = disabled;\n data.D.inputOptions.disabled = disabled;\n data.F.inputOptions.disabled = disabled;\n data.H.inputOptions.disabled = disabled;\n data.G.inputOptions.disabled = disabled;\n };\n CommandShowWGTMEMData.prototype.setWGTMEMObjectsVisible = function (visible) {\n var _this = this;\n var objects = this.viewer.process.findRenderObjectsByType(\"WGTMEMObject\");\n objects.forEach(function (obj) {\n var iro = _this.viewer.findInstanceObject(obj);\n iro.visible = visible;\n if (visible) {\n obj.setNeedUpdate();\n }\n });\n };\n return CommandShowWGTMEMData;\n }(commandComponent_1.CommandComponent);\n exports.default = CommandShowWGTMEMData;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3Nob3dXR1RNRU1EYXRhL2NvbW1hbmRTaG93V0dUTUVNRGF0YS50cy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1tuYW1lXS8uL3BhY2thZ2VzL2NhZURlc2lnbi9zcmMvdmlld2VyV3JhcHBlci9jb21tYW5kcy9wcmV0cmVhdG1lbnQvc2hvd1dHVE1FTURhdGEvY29tbWFuZFNob3dXR1RNRU1EYXRhLnRzP2YyNmUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FtZXJhTW91c2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcbmltcG9ydCB7IENvbW1hbmRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tbWFuZENvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ0FFT2JqZWN0UHJlU2VsZWN0b3IgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY0FFT2JqZWN0UHJlU2VsZWN0b3JcIjtcbmltcG9ydCB7IENBRU9iamVjdFNlbGVjdG9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL2NhZU9iamVjdFNlbGVjdG9yXCI7XG5pbXBvcnQgeyBDb21tYW5kU2VsZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2RngvY29tbWFuZHMvY29tbWFuZFNlbGVjdFwiO1xuaW1wb3J0IHsgU2VsZWN0b3JGaWxpdGVyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2RngvbWFuYWdlcnMvaW50ZXJmYWNlTWFuYWdlcnMvc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlclwiO1xuaW1wb3J0IFNob3dXR1RNRU1EYXRhQ29uZmlnIGZyb20gXCIuL3Nob3dXR1RNRU1EYXRhQ29uZmlnXCI7XG5pbXBvcnQgeyBXR1RNRU1PYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvcHJldHJlYXRtZW50L3dndG1lbU9iamVjdFwiO1xuaW1wb3J0IHsgTWVtYmVyT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL21lbWJlck9iamVjdFwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgSW50ZXJmYWNlUHJvcGVydHkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9wcm9wZXJ0eUNvbXBvbmVudHMvcHJvcGVydHlDb21wb25lbnRcIjtcbmltcG9ydCB7IExvbmdhbiB9IGZyb20gXCJncy1iaW0tYWlyXCI7XG5cbi8qKlxuICog54m654my6Ziz5p6B5bGe5oCn5p+l55yL5LiO57yW6L6R5ZG95LukXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRTaG93V0dUTUVNRGF0YSBleHRlbmRzIENvbW1hbmRDb21wb25lbnQge1xuICB0eXBlTmFtZTogc3RyaW5nID0gXCJDb21tYW5kU2hvd1dHVE1FTURhdGFcIjtcbiAgcHJlU2VsZWN0b3I6IENBRU9iamVjdFByZVNlbGVjdG9yID0gbnVsbDtcbiAgY2FlT2JqZWN0U2VsZWN0b3I6IENBRU9iamVjdFNlbGVjdG9yID0gbnVsbDtcbiAgY29uZmlnOiBTaG93V0dUTUVNRGF0YUNvbmZpZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcblxuICAgIGNvbnNvbGUubG9nKFwiQ29tbWFuZFNob3dXR1RNRU1EYXRhXCIpO1xuICAgIHRoaXMuY29uZmlnID0gbmV3IFNob3dXR1RNRU1EYXRhQ29uZmlnKCk7XG4gICAgdGhpcy5jb25maWcuc2hvdygpO1xuXG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgbGV0IG9iamVjdHMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RzQnlUeXBlKFwiV0dUTUVNT2JqZWN0XCIpO1xuICAgIGlmIChvYmplY3RzKSB7XG4gICAgICBkYXRhLldHVE1FTUxpc3Quc2VsZWN0T3B0aW9ucy5zZWxlY3Rpb25zID0gb2JqZWN0cy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYWJlbDogaXRlbS5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBpdGVtLmlkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IG1lbWJlcnMgPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeU5hbWUoXCLmnYbku7ZcIik7XG4gICAgaWYgKG1lbWJlcnMpIHtcbiAgICAgIGRhdGEubWVtYmVyLnNlbGVjdE9wdGlvbnMuc2VsZWN0aW9ucyA9IG1lbWJlcnMuY2hpbGRPYmplY3RzLm1hcChcbiAgICAgICAgKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLmlkLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcuY2hhbmdlRGF0YSA9ICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKFwiZGF0YSBjaGFuZ2VcIik7XG4gICAgICBsZXQgcm9JRCA9IGRhdGEuV0dUTUVNTGlzdC52YWx1ZTtcbiAgICAgIGxldCBvYmogPSB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeUlkKHJvSUQpO1xuICAgICAgdGhpcy5zZWxlY3RXR1RNRU1PYmplY3RDaGFuZ2VkKG9iaik7XG5cbiAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBXR1RNRU1PYmplY3QpIHtcbiAgICAgICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodEtleXMoXG4gICAgICAgICAgW29iai5zZWdtZW50LmtleV0sXG4gICAgICAgICAgW29iai5zZWdtZW50LnBhdGhdXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5jb25maWcuc2l6ZUNoYW5nZURhdGEgPSAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhcImRhdGEgY2hhbmdlXCIpO1xuICAgICAgbGV0IHBhcmFEYXRhID0gZGF0YS5zaXplLnZhbHVlO1xuICAgICAgaWYgKHBhcmFEYXRhKSB7XG4gICAgICAgIGxldCBvYmogPSBKU09OLnBhcnNlKHBhcmFEYXRhKTtcbiAgICAgICAgZGF0YS5BLnZhbHVlID0gb2JqLkE7XG4gICAgICAgIGRhdGEuQjEudmFsdWUgPSBvYmouQjE7XG4gICAgICAgIGRhdGEuQjIudmFsdWUgPSBvYmouQjI7XG4gICAgICAgIGRhdGEuQy52YWx1ZSA9IG9iai5DO1xuICAgICAgICBkYXRhLkQudmFsdWUgPSBvYmouRDtcbiAgICAgICAgZGF0YS5GLnZhbHVlID0gb2JqLkY7XG4gICAgICAgIGRhdGEuSC52YWx1ZSA9IG9iai5IO1xuICAgICAgICBkYXRhLkcudmFsdWUgPSBvYmouRztcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5zZXRXR1RNRU1PYmplY3RzVmlzaWJsZSh0cnVlKTtcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICByZXN0b3JlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlT3BlcmF0b3JzKCk7XG4gICAgdGhpcy5jb25maWcuc2hvdygpO1xuICB9XG5cbiAgY2hhbmdlT3BlcmF0b3JzKCk6IHZvaWQge1xuICAgIC8vIOi/m+WFpeWRveS7pOWJjea4heepuumAieS4reS4jumrmOS6ri5cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgLy8g5riF56m65pON5L2c5ZmoLlxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5jbGVhcigpO1xuICAgIC8vIOa3u+WKoOaRhOWDj+acuuaTjeS9nOWZqFxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IENhbWVyYU1vdXNlKCkpO1xuXG4gICAgLy8g5re75YqgQ0FF5a+56LGh6aKE6YCJ5oup5ZmoXG4gICAgdGhpcy5wcmVTZWxlY3RvciA9IG5ldyBDQUVPYmplY3RQcmVTZWxlY3RvcigpO1xuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQodGhpcy5wcmVTZWxlY3Rvcik7XG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlciA9IFNlbGVjdG9yRmlsaXRlci5BbGw7XG5cbiAgICB0aGlzLmNhZU9iamVjdFNlbGVjdG9yID0gbmV3IENBRU9iamVjdFNlbGVjdG9yKCk7XG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZCh0aGlzLmNhZU9iamVjdFNlbGVjdG9yKTtcblxuICAgIHRoaXMuY2FlT2JqZWN0U2VsZWN0b3IubEJ1dHRvblVwLmFkZCgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVQYW5lbCgpO1xuICAgICAgfSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBlbmQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcuaGlkZSgpO1xuICAgIHN1cGVyLmVuZCgpO1xuXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIHRoaXMuc2V0V0dUTUVNT2JqZWN0c1Zpc2libGUoZmFsc2UpO1xuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgIGxldCBjb21tYW5kU2VsZWN0ID0gbmV3IENvbW1hbmRTZWxlY3QoKTtcbiAgICB0aGlzLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIuZXhlY3V0ZShjb21tYW5kU2VsZWN0KTtcbiAgfVxuXG4gIGNvbW1hbmRPaygpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcImNvbmZpZzpcIiwgdGhpcy5jb25maWcpO1xuXG4gICAgLy8g5pu05pawV0dUTUVNT2JqZWN055qE5pWw5o2u77yM5bm2cmVuZGVyLlxuICAgIGxldCBkYXRhID0gdGhpcy5jb25maWcucHJvcGVydGllcy5pdGVtc1swXS5kYXRhO1xuICAgIGxldCByb0lEID0gZGF0YS5XR1RNRU1MaXN0LnZhbHVlO1xuICAgIGxldCBybyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5SWQocm9JRCk7XG4gICAgaWYgKHJvICYmIHJvIGluc3RhbmNlb2YgV0dUTUVNT2JqZWN0KSB7XG4gICAgICByby5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5FZGl0aW5nO1xuICAgICAgLy9cbiAgICAgIHJvLndlaWdodEdyb3VwSUQgPSBkYXRhLndlaWdodEdyb3VwSUQudmFsdWU7XG4gICAgICByby53ZWlnaHRJRCA9IGRhdGEud2VpZ2h0SUQudmFsdWU7XG4gICAgICByby5kaXN0YW5jZSA9IE51bWJlcihkYXRhLmRpc3RhbmNlLnZhbHVlKTtcbiAgICAgIGxldCBtZW1iZXJJRCA9IGRhdGEubWVtYmVyLnZhbHVlO1xuICAgICAgbGV0IG1lbWJlciA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdEJ5SWQobWVtYmVySUQpO1xuICAgICAgaWYgKG1lbWJlciAmJiBtZW1iZXIgaW5zdGFuY2VvZiBNZW1iZXJPYmplY3QpIHtcbiAgICAgICAgcm8ubWVtYmVySm9pbnRBID0gbWVtYmVyLnN0YXJ0Lm5hbWU7XG4gICAgICAgIHJvLm1lbWJlckpvaW50QiA9IG1lbWJlci5lbmQubmFtZTtcbiAgICAgIH1cbiAgICAgIHJvLmFuZ2xlID0gTnVtYmVyKGRhdGEuYW5nbGUudmFsdWUpO1xuICAgICAgcm8uc2l6ZSA9IGRhdGEuc2l6ZS52YWx1ZTtcblxuICAgICAgcm8ucGFyYV9BID0gZGF0YS5BLnZhbHVlO1xuICAgICAgcm8ucGFyYV9CMSA9IGRhdGEuQjEudmFsdWU7XG4gICAgICByby5wYXJhX0IyID0gZGF0YS5CMi52YWx1ZTtcbiAgICAgIHJvLnBhcmFfQyA9IGRhdGEuQy52YWx1ZTtcbiAgICAgIHJvLnBhcmFfRCA9IGRhdGEuRC52YWx1ZTtcbiAgICAgIHJvLnBhcmFfRiA9IGRhdGEuRi52YWx1ZTtcbiAgICAgIHJvLnBhcmFfRyA9IGRhdGEuRy52YWx1ZTtcbiAgICAgIHJvLnBhcmFfSCA9IGRhdGEuSC52YWx1ZTtcblxuICAgICAgLy8gaWYgKGRhdGEuc2l6ZS52YWx1ZSkge1xuICAgICAgLy8gICBsZXQgb2JqID0gSlNPTi5wYXJzZShkYXRhLnNpemUudmFsdWUpO1xuICAgICAgLy8gICByby5uYW1lID0gbWVtYmVyLm5hbWUgKyBcIi1cIiArIG9iai5uYW1lO1xuICAgICAgLy8gfSBlbHNlIHtcbiAgICAgIC8vICAgcm8ubmFtZSA9IG1lbWJlci5uYW1lICsgXCItXCI7XG4gICAgICAvLyB9XG5cbiAgICAgIHJvLnNldE5lZWRVcGRhdGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XG4gIH1cblxuICB1cGRhdGVQYW5lbCgpIHtcbiAgICBsZXQgc2VsZWN0ZWRST3MgPSB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLnNlbGVjdGVkUmVuZGVyT2JqZWN0cztcbiAgICBpZiAoc2VsZWN0ZWRST3MuY291bnQoKSA+IDApIHtcbiAgICAgIGxldCBybyA9IHNlbGVjdGVkUk9zLml0ZW1zWzBdO1xuXG4gICAgICB0aGlzLnNlbGVjdFdHVE1FTU9iamVjdENoYW5nZWQocm8pO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFdHVE1FTU9iamVjdENoYW5nZWQocm86IExvbmdhbi5SZW5kZXJPYmplY3QpIHtcbiAgICAvL1xuICAgIGlmIChybyBpbnN0YW5jZW9mIFdHVE1FTU9iamVjdCkge1xuICAgICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgICBkYXRhLndlaWdodEdyb3VwSUQudmFsdWUgPSByby53ZWlnaHRHcm91cElEO1xuICAgICAgZGF0YS53ZWlnaHRJRC52YWx1ZSA9IHJvLndlaWdodElEO1xuICAgICAgZGF0YS5hbmdsZS52YWx1ZSA9IHJvLmFuZ2xlO1xuICAgICAgZGF0YS5zaXplLnZhbHVlID0gcm8uc2l6ZTtcbiAgICAgIGRhdGEubWVtYmVyLnZhbHVlID0gcm8ubWVtYmVyLmlkO1xuICAgICAgZGF0YS5kaXN0YW5jZS52YWx1ZSA9IHJvLmRpc3RhbmNlO1xuICAgICAgZGF0YS5XR1RNRU1MaXN0LnZhbHVlID0gcm8uaWQ7XG5cbiAgICAgIGRhdGEuQS52YWx1ZSA9IHJvLnBhcmFfQTtcbiAgICAgIGRhdGEuQjEudmFsdWUgPSByby5wYXJhX0IxO1xuICAgICAgZGF0YS5CMi52YWx1ZSA9IHJvLnBhcmFfQjI7XG4gICAgICBkYXRhLkMudmFsdWUgPSByby5wYXJhX0M7XG4gICAgICBkYXRhLkQudmFsdWUgPSByby5wYXJhX0Q7XG4gICAgICBkYXRhLkYudmFsdWUgPSByby5wYXJhX0Y7XG4gICAgICBkYXRhLkgudmFsdWUgPSByby5wYXJhX0g7XG4gICAgICBkYXRhLkcudmFsdWUgPSByby5wYXJhX0c7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5QdXREaXNhYmxlKGRhdGE6IEludGVyZmFjZVByb3BlcnR5LCBkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIC8vIGRhdGEuQS52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS5CMS52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS5CMi52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS5DLnZhbHVlID0gbnVsbDtcbiAgICAvLyBkYXRhLkQudmFsdWUgPSBudWxsO1xuICAgIC8vIGRhdGEuRi52YWx1ZSA9IG51bGw7XG4gICAgLy8gZGF0YS5ILnZhbHVlID0gbnVsbDtcbiAgICAvLyBkYXRhLkcudmFsdWUgPSBudWxsO1xuICAgIGRhdGEuQS5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkIxLmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuQjIuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgZGF0YS5DLmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuRC5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBkYXRhLkYuaW5wdXRPcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgZGF0YS5ILmlucHV0T3B0aW9ucy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIGRhdGEuRy5pbnB1dE9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gIHNldFdHVE1FTU9iamVjdHNWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBsZXQgb2JqZWN0cyA9IHRoaXMudmlld2VyLnByb2Nlc3MuZmluZFJlbmRlck9iamVjdHNCeVR5cGUoXCJXR1RNRU1PYmplY3RcIikgYXMgYW55O1xuICAgIG9iamVjdHMuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICBsZXQgaXJvID0gdGhpcy52aWV3ZXIuZmluZEluc3RhbmNlT2JqZWN0KG9iaik7XG4gICAgICBpcm8udmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAvLyBvYmoudmlzaWJsZSA9IHZpc2libGU7XG4gICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICBvYmouc2V0TmVlZFVwZGF0ZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFnQkE7QUFBQTtBQU1BO0FBQUE7QUFMQTtBQUNBO0FBQ0E7O0FBS0E7QUFFQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSUE7O0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUVBO0FBQ0E7QUFHQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBOztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBOzs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/pretreatment/showWGTMEMData/commandShowWGTMEMData.ts\n");
|
|
7648
7648
|
|
|
7649
7649
|
/***/ }),
|
|
7650
7650
|
|
|
@@ -7688,7 +7688,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
7688
7688
|
/*! no static exports found */
|
|
7689
7689
|
/***/ (function(module, exports, __webpack_require__) {
|
|
7690
7690
|
|
|
7691
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cameraMouse */ \"./packages/caeDesign/src/gsDevFx/operators/cameraMouse.ts\"), __webpack_require__(/*! ../../commandComponent */ \"./packages/caeDesign/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cAEObjectPreSelector */ \"./packages/caeDesign/src/gsDevFx/operators/cAEObjectPreSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/caeObjectSelector */ \"./packages/caeDesign/src/gsDevFx/operators/caeObjectSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/commands/commandSelect */ \"./packages/caeDesign/src/gsDevFx/commands/commandSelect.ts\"), __webpack_require__(/*! ../../../../gsDevFx/managers/interfaceManagers/selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! ./surfaceDefinitionEditConfig */ \"./packages/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/surfaceDefinitionEditConfig.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/jointObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/jointObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../../utility/utility */ \"./packages/caeDesign/src/utility/utility.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cameraMouse_1, commandComponent_1, cAEObjectPreSelector_1, caeObjectSelector_1, commandSelect_1, selectionInterfaceManager_1, surfaceDefinitionEditConfig_1, jointObject_1, gs_ceec_design_1, gs_ceec_design_2, utility_1, surfaceDefinitionObject_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n surfaceDefinitionEditConfig_1 = tslib_1.__importDefault(surfaceDefinitionEditConfig_1);\n var FocusOption;\n (function (FocusOption) {\n FocusOption[\"originJoint\"] = \"originJoint\";\n FocusOption[\"localXJoint\"] = \"localXJoint\";\n FocusOption[\"localYJoint\"] = \"localYJoint\";\n FocusOption[\"boundary\"] = \"boundary\";\n })(FocusOption || (FocusOption = {}));\n var CommandSurfaceDefinitionEdit = function (_super) {\n tslib_1.__extends(CommandSurfaceDefinitionEdit, _super);\n function CommandSurfaceDefinitionEdit() {\n var _this = _super.call(this) || this;\n _this.typeName = \"CommandSurfaceDefinitionEdit\";\n _this.preSelector = null;\n _this.caeObjectSelector = null;\n _this.expectFilter = selectionInterfaceManager_1.SelectorFiliter.Joint;\n _this.currentFocus = FocusOption.originJoint;\n return _this;\n }\n CommandSurfaceDefinitionEdit.prototype.begin = function () {\n this.changeOperators();\n this.config = new surfaceDefinitionEditConfig_1.default();\n this.config.show();\n };\n CommandSurfaceDefinitionEdit.prototype.restore = function () {\n this.changeOperators();\n this.config.show();\n this.config.refreshCenterIdList();\n };\n CommandSurfaceDefinitionEdit.prototype.end = function () {\n this.config.hide();\n _super.prototype.end.call(this);\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n var commandSelect = new commandSelect_1.CommandSelect();\n this.process.commandManager.execute(commandSelect);\n };\n CommandSurfaceDefinitionEdit.prototype.commandOk = function () {\n var e_1, _a;\n var _this = this;\n var pretreatmentRO = this.viewer.process.findRenderObjectByName(\"前处理可视化辅助\");\n var surfaceParent = this.process.findCaeObjectByNameInChildObject(pretreatmentRO, \"表面定义\");\n if (!surfaceParent) {\n surfaceParent = new gs_ceec_design_1.DesignBaseObject();\n surfaceParent.businessState = gs_ceec_design_2.BusinessState.Creating;\n surfaceParent.name = \"表面定义\";\n this.process.addRenderObject(pretreatmentRO, surfaceParent);\n } else {\n surfaceParent.businessState = gs_ceec_design_2.BusinessState.Editing;\n for (var i = 0; i < surfaceParent.childObjects.length; i++) {\n var item = surfaceParent.childObjects[i];\n if (item instanceof surfaceDefinitionObject_1.SurfaceDefinitionObject) {\n item.tempDelete(this.viewer);\n item.businessState = gs_ceec_design_2.BusinessState.Deleting;\n }\n }\n }\n var data = this.config.properties.items[0].data;\n data.tip.value = null;\n var surfaceList = this.config.surfaceList;\n console.log(\"表面定义编辑\", this.config, surfaceList);\n var hasError = false;\n if (surfaceList.length === 0) {\n data.tip.value = 8;\n return;\n }\n try {\n for (var surfaceList_1 = tslib_1.__values(surfaceList), surfaceList_1_1 = surfaceList_1.next(); !surfaceList_1_1.done; surfaceList_1_1 = surfaceList_1.next()) {\n var item = surfaceList_1_1.value;\n var originJoint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, item.originJointName);\n var localXJoint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, item.localXJointName);\n var localYJoint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, item.localYJointName);\n if (!originJoint) {\n data.tip.value = \"3,\".concat(item.originJointName);\n hasError = true;\n break;\n }\n if (!localXJoint) {\n data.tip.value = \"3,\".concat(item.localXJointName);\n hasError = true;\n break;\n }\n if (!localYJoint) {\n data.tip.value = \"3,\".concat(item.localYJointName);\n hasError = true;\n break;\n }\n if (item.outOfPlaneTolerance <= 0) {\n data.tip.value = 4;\n }\n var boundaryJointValue = [];\n for (var i = 1; i <= 14; i++) {\n if (item.boundaryJoints[\"boundryJoint\".concat(i, \"st\")]) {\n boundaryJointValue.push(item.boundaryJoints[\"boundryJoint\".concat(i, \"st\")]);\n }\n }\n console.log(\"boundaryJointValue\", boundaryJointValue, boundaryJointValue.length);\n if (boundaryJointValue.length > 0) {\n if (boundaryJointValue.length > 14) {\n data.tip.value = 5;\n hasError = true;\n break;\n }\n if (boundaryJointValue.length < 3) {\n data.tip.value = 6;\n hasError = true;\n break;\n }\n }\n if (hasError) return;\n var errorBoundaryJoint = new Array();\n for (var i = 0; i < boundaryJointValue.length; i++) {\n var jointName = boundaryJointValue[i];\n var joint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, jointName);\n if (!joint) {\n errorBoundaryJoint.push(jointName);\n }\n }\n if (errorBoundaryJoint && (errorBoundaryJoint === null || errorBoundaryJoint === void 0 ? void 0 : errorBoundaryJoint.length)) {\n var errorBoundaryJointStr = errorBoundaryJoint.join(\",\");\n data.tip.value = \"3,\".concat(errorBoundaryJointStr);\n hasError = true;\n break;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (surfaceList_1_1 && !surfaceList_1_1.done && (_a = surfaceList_1.return)) _a.call(surfaceList_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n if (hasError) return;\n surfaceList.forEach(function (item) {\n var surfaceDefinition = new surfaceDefinitionObject_1.SurfaceDefinitionObject(item.surfaceID);\n surfaceDefinition.businessState = gs_ceec_design_2.BusinessState.Creating;\n surfaceDefinition.surfaceID = item.surfaceID;\n surfaceDefinition.originJointName = item.originJointName;\n surfaceDefinition.localXJointName = item.localXJointName;\n surfaceDefinition.localYJointName = item.localYJointName;\n surfaceDefinition.outOfPlaneTolerance = (0, utility_1.CaeNumber)(item.outOfPlaneTolerance);\n surfaceDefinition.loadDistuibutionType = item.loadDistuibutionType;\n surfaceDefinition.boundaryJoints = item.boundaryJoints;\n _this.process.addRenderObject(surfaceParent, surfaceDefinition);\n });\n data.tip.value = 8;\n console.log(\"表面定义编辑commandOk\", data, this.config);\n };\n CommandSurfaceDefinitionEdit.prototype.changeOperators = function () {\n var _this = this;\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.preSelector = new cAEObjectPreSelector_1.CAEObjectPreSelector();\n this.viewer.operatorManager.add(this.preSelector);\n this.viewer.selectionInterfaceManager.selectorFilter = this.expectFilter;\n this.caeObjectSelector = new caeObjectSelector_1.CAEObjectSelector();\n this.viewer.operatorManager.add(this.caeObjectSelector);\n this.caeObjectSelector.lButtonUp.add(function () {\n setTimeout(function () {\n _this.updatePanel();\n }, 0);\n });\n };\n CommandSurfaceDefinitionEdit.prototype.updatePanel = function () {\n var _this = this;\n if (this.viewer.selectionInterfaceManager.selectorFilter === this.expectFilter) {\n var data = this.config.properties.items[0].data;\n var activeSurfaceID_1 = data.activeSurfaceID.value;\n this.config.surfaceList.forEach(function (item) {\n if (item.surfaceID !== activeSurfaceID_1) return;\n var objects = _this.caeObjectSelector.selectedRenderObjects;\n if (objects.count() > 0) {\n var object = objects.items[0];\n if (_this.currentFocus === FocusOption.boundary) {\n for (var i = 1; i <= 14; i++) {\n item.boundaryJoints[\"boundryJoint\".concat(i, \"st\")] = \"\";\n }\n var count = Math.min(objects.count(), 14);\n for (var i = 0; i < count; i++) {\n var info = objects.items[i];\n var boundryname = \"boundryJoint\".concat(i + 1, \"st\");\n if (info instanceof jointObject_1.JointObject) {\n item.boundaryJoints[boundryname] = info.name;\n }\n }\n } else if (_this.currentFocus === FocusOption.originJoint) {\n item.originJointName = object.name;\n } else if (_this.currentFocus === FocusOption.localXJoint) {\n item.localXJointName = object.name;\n } else if (_this.currentFocus === FocusOption.localYJoint) {\n item.localYJointName = object.name;\n }\n }\n });\n }\n };\n CommandSurfaceDefinitionEdit.prototype.originJointActive = function () {\n console.log(\"originJointActive\");\n this.currentFocus = FocusOption.originJoint;\n };\n CommandSurfaceDefinitionEdit.prototype.localXJointActive = function () {\n this.currentFocus = FocusOption.localXJoint;\n };\n CommandSurfaceDefinitionEdit.prototype.localYJointActive = function () {\n this.currentFocus = FocusOption.localYJoint;\n };\n CommandSurfaceDefinitionEdit.prototype.boundaryActive = function () {\n this.currentFocus = FocusOption.boundary;\n };\n return CommandSurfaceDefinitionEdit;\n }(commandComponent_1.CommandComponent);\n exports.default = CommandSurfaceDefinitionEdit;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3N1cmZhY2VEZWZpbml0aW9uRWRpdC9jb21tYW5kU3VyZmFjZURlZmluaXRpb25FZGl0LnRzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vW25hbWVdLy4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL2NvbW1hbmRzL3ByZXRyZWF0bWVudC9zdXJmYWNlRGVmaW5pdGlvbkVkaXQvY29tbWFuZFN1cmZhY2VEZWZpbml0aW9uRWRpdC50cz9jMzMwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbWVyYU1vdXNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL2NhbWVyYU1vdXNlXCI7XG5pbXBvcnQgeyBDb21tYW5kQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbW1hbmRDb21wb25lbnRcIjtcbmltcG9ydCB7IENBRU9iamVjdFByZVNlbGVjdG9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL2NBRU9iamVjdFByZVNlbGVjdG9yXCI7XG5pbXBvcnQgeyBDQUVPYmplY3RTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jYWVPYmplY3RTZWxlY3RvclwiO1xuaW1wb3J0IHsgQ29tbWFuZFNlbGVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L2NvbW1hbmRzL2NvbW1hbmRTZWxlY3RcIjtcbmltcG9ydCB7IFNlbGVjdG9yRmlsaXRlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L21hbmFnZXJzL2ludGVyZmFjZU1hbmFnZXJzL3NlbGVjdGlvbkludGVyZmFjZU1hbmFnZXJcIjtcbmltcG9ydCBTdXJmYWNlRGVmaW5pdGlvbkVkaXRDb25maWcgZnJvbSBcIi4vc3VyZmFjZURlZmluaXRpb25FZGl0Q29uZmlnXCI7XG5pbXBvcnQgeyBKb2ludE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9qb2ludE9iamVjdFwiO1xuaW1wb3J0IHsgRGVzaWduQmFzZU9iamVjdCB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgQ2FlTnVtYmVyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxpdHkvdXRpbGl0eVwiO1xuaW1wb3J0IHsgU3VyZmFjZURlZmluaXRpb25PYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvcHJldHJlYXRtZW50L3N1cmZhY2VEZWZpbml0aW9uT2JqZWN0XCI7XG5cbmVudW0gRm9jdXNPcHRpb24ge1xuICBvcmlnaW5Kb2ludCA9IFwib3JpZ2luSm9pbnRcIixcbiAgbG9jYWxYSm9pbnQgPSBcImxvY2FsWEpvaW50XCIsXG4gIGxvY2FsWUpvaW50ID0gXCJsb2NhbFlKb2ludFwiLFxuICBib3VuZGFyeSA9IFwiYm91bmRhcnlcIixcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRTdXJmYWNlRGVmaW5pdGlvbkVkaXQgZXh0ZW5kcyBDb21tYW5kQ29tcG9uZW50IHtcbiAgdHlwZU5hbWU6IHN0cmluZyA9IFwiQ29tbWFuZFN1cmZhY2VEZWZpbml0aW9uRWRpdFwiO1xuXG4gIGNvbmZpZzogU3VyZmFjZURlZmluaXRpb25FZGl0Q29uZmlnO1xuICBwcmVTZWxlY3RvcjogQ0FFT2JqZWN0UHJlU2VsZWN0b3IgPSBudWxsO1xuICBjYWVPYmplY3RTZWxlY3RvcjogQ0FFT2JqZWN0U2VsZWN0b3IgPSBudWxsO1xuICBleHBlY3RGaWx0ZXIgPSBTZWxlY3RvckZpbGl0ZXIuSm9pbnQ7XG4gIGN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLm9yaWdpbkpvaW50O1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcbiAgICB0aGlzLmNvbmZpZyA9IG5ldyBTdXJmYWNlRGVmaW5pdGlvbkVkaXRDb25maWcoKTtcbiAgICB0aGlzLmNvbmZpZy5zaG93KCk7XG4gIH1cbiAgcmVzdG9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZU9wZXJhdG9ycygpO1xuICAgIHRoaXMuY29uZmlnLnNob3coKTtcbiAgICB0aGlzLmNvbmZpZy5yZWZyZXNoQ2VudGVySWRMaXN0KCk7XG4gIH1cbiAgZW5kKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnLmhpZGUoKTtcbiAgICBzdXBlci5lbmQoKTtcbiAgICAvLyDmuIXnqbrlvZPliY3miYDmnInpgInkuK3kuI7pq5jkuq7vvIzlubbliLfmlrDop4blm75cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICAgIC8vIOWIh+aNouWbnum7mOiupOmAieaLqeWRveS7pFxuICAgIGxldCBjb21tYW5kU2VsZWN0ID0gbmV3IENvbW1hbmRTZWxlY3QoKTtcbiAgICB0aGlzLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIuZXhlY3V0ZShjb21tYW5kU2VsZWN0KTtcbiAgfVxuICBjb21tYW5kT2soKTogdm9pZCB7XG4gICAgLy8g5Zyo5b2T5YmN5qih5Z6L5pW05Liq6IqC54K55qCR5LiK5Yib5bu65LiA5Liq5Zue6L2s5Lit5b+D6IqC54K5XG4gICAgbGV0IHByZXRyZWF0bWVudFJPID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLliY3lpITnkIblj6/op4bljJbovoXliqlcIlxuICAgICkgYXMgRGVzaWduQmFzZU9iamVjdDtcblxuICAgIGxldCBzdXJmYWNlUGFyZW50ID0gdGhpcy5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgcHJldHJlYXRtZW50Uk8sXG4gICAgICBcIuihqOmdouWumuS5iVwiXG4gICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuICAgIGlmICghc3VyZmFjZVBhcmVudCkge1xuICAgICAgc3VyZmFjZVBhcmVudCA9IG5ldyBEZXNpZ25CYXNlT2JqZWN0KCk7XG4gICAgICBzdXJmYWNlUGFyZW50LmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkNyZWF0aW5nO1xuICAgICAgc3VyZmFjZVBhcmVudC5uYW1lID0gXCLooajpnaLlrprkuYlcIjtcbiAgICAgIHRoaXMucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QocHJldHJlYXRtZW50Uk8sIHN1cmZhY2VQYXJlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyDmt7vliqDkuYvliY3lhYjliKDpmaRcbiAgICAgIHN1cmZhY2VQYXJlbnQuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuRWRpdGluZztcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3VyZmFjZVBhcmVudC5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHN1cmZhY2VQYXJlbnQuY2hpbGRPYmplY3RzW2ldO1xuICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFN1cmZhY2VEZWZpbml0aW9uT2JqZWN0KSB7XG4gICAgICAgICAgLy8g5ZCO5Y+w5Li05pe25Yig6ZmkXG4gICAgICAgICAgaXRlbS50ZW1wRGVsZXRlKHRoaXMudmlld2VyKTtcbiAgICAgICAgICBpdGVtLmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgZGF0YS50aXAudmFsdWUgPSBudWxsO1xuICAgIGNvbnN0IHN1cmZhY2VMaXN0ID0gdGhpcy5jb25maWcuc3VyZmFjZUxpc3Q7XG4gICAgY29uc29sZS5sb2coXCLooajpnaLlrprkuYnnvJbovpFcIiwgdGhpcy5jb25maWcsIHN1cmZhY2VMaXN0KTtcbiAgICBsZXQgaGFzRXJyb3IgPSBmYWxzZTsgLy8g5qCH5b+X5L2NXG4gICAgaWYgKHN1cmZhY2VMaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGF0YS50aXAudmFsdWUgPSA4OyAvLyDmsqHmnInooajpnaLlrprkuYlcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHN1cmZhY2VMaXN0KSB7XG4gICAgICAvLyDmoKHpqozovpPlhaXnmoTngrnmmK/lkKblrZjlnKhcbiAgICAgIGxldCBvcmlnaW5Kb2ludCA9IHRoaXMucHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgICAgdGhpcy5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLmpvaW50Tm9kZSxcbiAgICAgICAgaXRlbS5vcmlnaW5Kb2ludE5hbWVcbiAgICAgICk7XG4gICAgICBsZXQgbG9jYWxYSm9pbnQgPSB0aGlzLnByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICAgIHRoaXMucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5qb2ludE5vZGUsXG4gICAgICAgIGl0ZW0ubG9jYWxYSm9pbnROYW1lXG4gICAgICApO1xuICAgICAgbGV0IGxvY2FsWUpvaW50ID0gdGhpcy5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuam9pbnROb2RlLFxuICAgICAgICBpdGVtLmxvY2FsWUpvaW50TmFtZVxuICAgICAgKTtcbiAgICAgIGlmICghb3JpZ2luSm9pbnQpIHtcbiAgICAgICAgZGF0YS50aXAudmFsdWUgPSBgMywke2l0ZW0ub3JpZ2luSm9pbnROYW1lfWA7XG4gICAgICAgIGhhc0Vycm9yID0gdHJ1ZTsgLy8g6K6+572u5qCH5b+X5L2N5Li6dHJ1ZVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmICghbG9jYWxYSm9pbnQpIHtcbiAgICAgICAgZGF0YS50aXAudmFsdWUgPSBgMywke2l0ZW0ubG9jYWxYSm9pbnROYW1lfWA7XG4gICAgICAgIGhhc0Vycm9yID0gdHJ1ZTsgLy8g6K6+572u5qCH5b+X5L2N5Li6dHJ1ZVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmICghbG9jYWxZSm9pbnQpIHtcbiAgICAgICAgZGF0YS50aXAudmFsdWUgPSBgMywke2l0ZW0ubG9jYWxZSm9pbnROYW1lfWA7XG4gICAgICAgIGhhc0Vycm9yID0gdHJ1ZTsgLy8g6K6+572u5qCH5b+X5L2N5Li6dHJ1ZVxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgLy8g5qOA6aqM5a655beu5piv5ZCm5aSn5LqOMFxuICAgICAgaWYgKGl0ZW0ub3V0T2ZQbGFuZVRvbGVyYW5jZSA8PSAwKSB7XG4gICAgICAgIGRhdGEudGlwLnZhbHVlID0gNDtcbiAgICAgIH1cbiAgICAgIGxldCBib3VuZGFyeUpvaW50VmFsdWUgPSBbXTtcbiAgICAgIC8vIOi+ueeVjOiKgueCuSjpnZ7lv4Xloasp77yM5aaC5p6c6YCJ5oup5LqG77yM5pyA5aSa6YCJ5oupMTTkuKrngrks5pyA5bCR6YCJ5oupM+S4qlxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMTQ7IGkrKykge1xuICAgICAgICBpZiAoaXRlbS5ib3VuZGFyeUpvaW50c1tgYm91bmRyeUpvaW50JHtpfXN0YF0pIHtcbiAgICAgICAgICBib3VuZGFyeUpvaW50VmFsdWUucHVzaChpdGVtLmJvdW5kYXJ5Sm9pbnRzW2Bib3VuZHJ5Sm9pbnQke2l9c3RgXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBcImJvdW5kYXJ5Sm9pbnRWYWx1ZVwiLFxuICAgICAgICBib3VuZGFyeUpvaW50VmFsdWUsXG4gICAgICAgIGJvdW5kYXJ5Sm9pbnRWYWx1ZS5sZW5ndGhcbiAgICAgICk7XG5cbiAgICAgIGlmIChib3VuZGFyeUpvaW50VmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoYm91bmRhcnlKb2ludFZhbHVlLmxlbmd0aCA+IDE0KSB7XG4gICAgICAgICAgZGF0YS50aXAudmFsdWUgPSA1O1xuICAgICAgICAgIGhhc0Vycm9yID0gdHJ1ZTsgLy8g6K6+572u5qCH5b+X5L2N5Li6dHJ1ZVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChib3VuZGFyeUpvaW50VmFsdWUubGVuZ3RoIDwgMykge1xuICAgICAgICAgIGRhdGEudGlwLnZhbHVlID0gNjtcbiAgICAgICAgICBoYXNFcnJvciA9IHRydWU7IC8vIOiuvue9ruagh+W/l+S9jeS4unRydWVcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGhhc0Vycm9yKSByZXR1cm47XG4gICAgICAvLyDovrnnlYzoioLngrnnmoTlkIjms5XmgKfmoKHpqoxcbiAgICAgIGxldCBlcnJvckJvdW5kYXJ5Sm9pbnQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBib3VuZGFyeUpvaW50VmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgam9pbnROYW1lID0gYm91bmRhcnlKb2ludFZhbHVlW2ldO1xuICAgICAgICBsZXQgam9pbnQgPSB0aGlzLnByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICAgICAgdGhpcy5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLmpvaW50Tm9kZSxcbiAgICAgICAgICBqb2ludE5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFqb2ludCkge1xuICAgICAgICAgIGVycm9yQm91bmRhcnlKb2ludC5wdXNoKGpvaW50TmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChlcnJvckJvdW5kYXJ5Sm9pbnQgJiYgZXJyb3JCb3VuZGFyeUpvaW50Py5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZXJyb3JCb3VuZGFyeUpvaW50U3RyID0gZXJyb3JCb3VuZGFyeUpvaW50LmpvaW4oXCIsXCIpO1xuICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IGAzLCR7ZXJyb3JCb3VuZGFyeUpvaW50U3RyfWA7XG4gICAgICAgIGhhc0Vycm9yID0gdHJ1ZTsgLy8g6K6+572u5qCH5b+X5L2N5Li6dHJ1ZVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8g5qCh6aqM57uT5p2fXG4gICAgaWYgKGhhc0Vycm9yKSByZXR1cm47XG4gICAgLy8g5re75Yqg5Yiw5a+55bqU6IqC54K55pWw5LitXG4gICAgc3VyZmFjZUxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgbGV0IHN1cmZhY2VEZWZpbml0aW9uID0gbmV3IFN1cmZhY2VEZWZpbml0aW9uT2JqZWN0KGl0ZW0uc3VyZmFjZUlEKTtcbiAgICAgIHN1cmZhY2VEZWZpbml0aW9uLmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkNyZWF0aW5nO1xuICAgICAgc3VyZmFjZURlZmluaXRpb24uc3VyZmFjZUlEID0gaXRlbS5zdXJmYWNlSUQ7XG4gICAgICBzdXJmYWNlRGVmaW5pdGlvbi5vcmlnaW5Kb2ludE5hbWUgPSBpdGVtLm9yaWdpbkpvaW50TmFtZTtcbiAgICAgIHN1cmZhY2VEZWZpbml0aW9uLmxvY2FsWEpvaW50TmFtZSA9IGl0ZW0ubG9jYWxYSm9pbnROYW1lO1xuICAgICAgc3VyZmFjZURlZmluaXRpb24ubG9jYWxZSm9pbnROYW1lID0gaXRlbS5sb2NhbFlKb2ludE5hbWU7XG4gICAgICBzdXJmYWNlRGVmaW5pdGlvbi5vdXRPZlBsYW5lVG9sZXJhbmNlID0gQ2FlTnVtYmVyKFxuICAgICAgICBpdGVtLm91dE9mUGxhbmVUb2xlcmFuY2VcbiAgICAgICk7XG4gICAgICBzdXJmYWNlRGVmaW5pdGlvbi5sb2FkRGlzdHVpYnV0aW9uVHlwZSA9IGl0ZW0ubG9hZERpc3R1aWJ1dGlvblR5cGU7XG4gICAgICBzdXJmYWNlRGVmaW5pdGlvbi5ib3VuZGFyeUpvaW50cyA9IGl0ZW0uYm91bmRhcnlKb2ludHM7XG4gICAgICAvLyDmjqjlhaXliLDoioLngrnmoJHkuIrnmoTooajpnaLlrprkuYnnmoRfY2hpbGRPYmplY3RzXG4gICAgICB0aGlzLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KHN1cmZhY2VQYXJlbnQsIHN1cmZhY2VEZWZpbml0aW9uKTtcbiAgICB9KTtcbiAgICAvLyDliJvlu7rlm57ovazkuK3lv4PmiJDlip9cbiAgICBkYXRhLnRpcC52YWx1ZSA9IDg7XG4gICAgY29uc29sZS5sb2coXCLooajpnaLlrprkuYnnvJbovpFjb21tYW5kT2tcIiwgZGF0YSwgdGhpcy5jb25maWcpO1xuICB9XG4gIC8vIOWIh+aNouW9k+WJjeWRveS7pOaJgOmcgOaTjeS9nOWZqO+8iOiuvue9rum8oOagh+ihjOS4uu+8iVxuICBjaGFuZ2VPcGVyYXRvcnMoKTogdm9pZCB7XG4gICAgLy8g6L+b5YWl5ZG95Luk5YmN5riF56m66YCJ5Lit5LiO6auY5LquLlxuICAgIC8vIOi/m+WFpeWRveS7pOWJjea4heepuumAieS4reS4jumrmOS6ri5cbiAgICAvLyB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgLy8gdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuXG4gICAgLy8g5riF56m65pON5L2c5ZmoLlxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5jbGVhcigpO1xuICAgIC8vIOa3u+WKoOaTjeS9nOWZqFxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IENhbWVyYU1vdXNlKCkpO1xuXG4gICAgLy8g5Yid5aeL5YyW6aKE6YCJ5pON5L2c5ZmoXG4gICAgdGhpcy5wcmVTZWxlY3RvciA9IG5ldyBDQUVPYmplY3RQcmVTZWxlY3RvcigpO1xuICAgIC8vIOa3u+WKoOmihOmAieaTjeS9nOWZqFxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQodGhpcy5wcmVTZWxlY3Rvcik7XG5cbiAgICAvLyDorr7nva7ov4fmu6TlmajvvIzku4XlhYHorrjpgInkuK0gSm9pbnQg57G75Z6L5a+56LGhXG4gICAgdGhpcy52aWV3ZXIuc2VsZWN0aW9uSW50ZXJmYWNlTWFuYWdlci5zZWxlY3RvckZpbHRlciA9IHRoaXMuZXhwZWN0RmlsdGVyO1xuXG4gICAgLy8g5Yid5aeL5YyW54K55Ye76YCJ5oup5ZmoXG4gICAgdGhpcy5jYWVPYmplY3RTZWxlY3RvciA9IG5ldyBDQUVPYmplY3RTZWxlY3RvcigpO1xuICAgIC8vIOa3u+WKoOeCueWHu+mAieaLqeWZqFxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQodGhpcy5jYWVPYmplY3RTZWxlY3Rvcik7XG5cbiAgICB0aGlzLmNhZU9iamVjdFNlbGVjdG9yLmxCdXR0b25VcC5hZGQoKCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlUGFuZWwoKTtcbiAgICAgIH0sIDApO1xuICAgIH0pO1xuICB9XG4gIHVwZGF0ZVBhbmVsKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbkludGVyZmFjZU1hbmFnZXIuc2VsZWN0b3JGaWx0ZXIgPT09IHRoaXMuZXhwZWN0RmlsdGVyXG4gICAgKSB7XG4gICAgICAvLyDmm7TmlrDpnaLmnb/nmoTovrnnlYzoioLngrnliJfooaguXG4gICAgICBsZXQgZGF0YSA9IHRoaXMuY29uZmlnLnByb3BlcnRpZXMuaXRlbXNbMF0uZGF0YTtcbiAgICAgIGxldCBhY3RpdmVTdXJmYWNlSUQgPSBkYXRhLmFjdGl2ZVN1cmZhY2VJRC52YWx1ZTtcblxuICAgICAgdGhpcy5jb25maWcuc3VyZmFjZUxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpZiAoaXRlbS5zdXJmYWNlSUQgIT09IGFjdGl2ZVN1cmZhY2VJRCkgcmV0dXJuO1xuICAgICAgICAvLyDmm7TmlrDpnaLmnb/nmoTpgInkuK3ngrnliJfooaguXG4gICAgICAgIGxldCBvYmplY3RzID0gdGhpcy5jYWVPYmplY3RTZWxlY3Rvci5zZWxlY3RlZFJlbmRlck9iamVjdHM7XG4gICAgICAgIGlmIChvYmplY3RzLmNvdW50KCkgPiAwKSB7XG4gICAgICAgICAgbGV0IG9iamVjdCA9IG9iamVjdHMuaXRlbXNbMF07XG5cbiAgICAgICAgICAvLyDmm7TmlrDpgInkuK3nmoTovrnnlYzoioLngrlcbiAgICAgICAgICBpZiAodGhpcy5jdXJyZW50Rm9jdXMgPT09IEZvY3VzT3B0aW9uLmJvdW5kYXJ5KSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxNDsgaSsrKSB7XG4gICAgICAgICAgICAgIGl0ZW0uYm91bmRhcnlKb2ludHNbYGJvdW5kcnlKb2ludCR7aX1zdGBdID0gXCJcIjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8g5YaN5YaZ5YWlIEpvaW50T2JqZWN0IOaVsOaNru+8jOacgOWkmuWPquiDveiuvue9riAxNCDkuKpcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gTWF0aC5taW4ob2JqZWN0cy5jb3VudCgpLCAxNCk7IC8vIOmZkOWItuacgOWkp+S4ujE0XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgbGV0IGluZm8gPSBvYmplY3RzLml0ZW1zW2ldO1xuICAgICAgICAgICAgICBjb25zdCBib3VuZHJ5bmFtZSA9IGBib3VuZHJ5Sm9pbnQke2kgKyAxfXN0YDtcbiAgICAgICAgICAgICAgaWYgKGluZm8gaW5zdGFuY2VvZiBKb2ludE9iamVjdCkge1xuICAgICAgICAgICAgICAgIGl0ZW0uYm91bmRhcnlKb2ludHNbYm91bmRyeW5hbWVdID0gaW5mby5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRGb2N1cyA9PT0gRm9jdXNPcHRpb24ub3JpZ2luSm9pbnQpIHtcbiAgICAgICAgICAgIC8vIOabtOaWsOmAieS4reeahOWOn+eCueeCuVxuICAgICAgICAgICAgaXRlbS5vcmlnaW5Kb2ludE5hbWUgPSBvYmplY3QubmFtZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudEZvY3VzID09PSBGb2N1c09wdGlvbi5sb2NhbFhKb2ludCkge1xuICAgICAgICAgICAgLy8g5pu05paw6YCJ5Lit55qE5Y6f54K554K5XG4gICAgICAgICAgICBpdGVtLmxvY2FsWEpvaW50TmFtZSA9IG9iamVjdC5uYW1lO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50Rm9jdXMgPT09IEZvY3VzT3B0aW9uLmxvY2FsWUpvaW50KSB7XG4gICAgICAgICAgICAvLyDmm7TmlrDpgInkuK3nmoTljp/ngrnngrlcbiAgICAgICAgICAgIGl0ZW0ubG9jYWxZSm9pbnROYW1lID0gb2JqZWN0Lm5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvcmlnaW5Kb2ludEFjdGl2ZSgpIHtcbiAgICBjb25zb2xlLmxvZyhcIm9yaWdpbkpvaW50QWN0aXZlXCIpO1xuXG4gICAgdGhpcy5jdXJyZW50Rm9jdXMgPSBGb2N1c09wdGlvbi5vcmlnaW5Kb2ludDtcbiAgfVxuICBsb2NhbFhKb2ludEFjdGl2ZSgpIHtcbiAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLmxvY2FsWEpvaW50O1xuICB9XG4gIGxvY2FsWUpvaW50QWN0aXZlKCkge1xuICAgIHRoaXMuY3VycmVudEZvY3VzID0gRm9jdXNPcHRpb24ubG9jYWxZSm9pbnQ7XG4gIH1cbiAgYm91bmRhcnlBY3RpdmUoKSB7XG4gICAgdGhpcy5jdXJyZW50Rm9jdXMgPSBGb2N1c09wdGlvbi5ib3VuZGFyeTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBYUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBUUE7QUFBQTtBQVBBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFBQTtBQUVBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFFQTtBQUFBO0FBRUE7QUFJQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFPQTtBQUVBO0FBR0E7QUFFQTtBQUdBO0FBR0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBOzs7QUFHQTs7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/commandSurfaceDefinitionEdit.ts\n");
|
|
7691
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cameraMouse */ \"./packages/caeDesign/src/gsDevFx/operators/cameraMouse.ts\"), __webpack_require__(/*! ../../commandComponent */ \"./packages/caeDesign/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/cAEObjectPreSelector */ \"./packages/caeDesign/src/gsDevFx/operators/cAEObjectPreSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/operators/caeObjectSelector */ \"./packages/caeDesign/src/gsDevFx/operators/caeObjectSelector.ts\"), __webpack_require__(/*! ../../../../gsDevFx/commands/commandSelect */ \"./packages/caeDesign/src/gsDevFx/commands/commandSelect.ts\"), __webpack_require__(/*! ../../../../gsDevFx/managers/interfaceManagers/selectionInterfaceManager */ \"./packages/caeDesign/src/gsDevFx/managers/interfaceManagers/selectionInterfaceManager.ts\"), __webpack_require__(/*! ./surfaceDefinitionEditConfig */ \"./packages/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/surfaceDefinitionEditConfig.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\"), __webpack_require__(/*! ../../../../utility/utility */ \"./packages/caeDesign/src/utility/utility.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cameraMouse_1, commandComponent_1, cAEObjectPreSelector_1, caeObjectSelector_1, commandSelect_1, selectionInterfaceManager_1, surfaceDefinitionEditConfig_1, gs_ceec_design_1, gs_ceec_design_2, utility_1, surfaceDefinitionObject_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n surfaceDefinitionEditConfig_1 = tslib_1.__importDefault(surfaceDefinitionEditConfig_1);\n var FocusOption;\n (function (FocusOption) {\n FocusOption[\"originJoint\"] = \"originJoint\";\n FocusOption[\"localXJoint\"] = \"localXJoint\";\n FocusOption[\"localYJoint\"] = \"localYJoint\";\n FocusOption[\"boundary\"] = \"boundary\";\n })(FocusOption || (FocusOption = {}));\n var CommandSurfaceDefinitionEdit = function (_super) {\n tslib_1.__extends(CommandSurfaceDefinitionEdit, _super);\n function CommandSurfaceDefinitionEdit() {\n var _this = _super.call(this) || this;\n _this.typeName = \"CommandSurfaceDefinitionEdit\";\n _this.preSelector = null;\n _this.caeObjectSelector = null;\n _this.expectFilter = selectionInterfaceManager_1.SelectorFiliter.Joint;\n _this.currentFocus = FocusOption.originJoint;\n return _this;\n }\n CommandSurfaceDefinitionEdit.prototype.begin = function () {\n this.changeOperators();\n this.config = new surfaceDefinitionEditConfig_1.default();\n this.config.show();\n };\n CommandSurfaceDefinitionEdit.prototype.restore = function () {\n this.changeOperators();\n this.config.show();\n this.config.refreshCenterIdList();\n };\n CommandSurfaceDefinitionEdit.prototype.end = function () {\n this.config.hide();\n _super.prototype.end.call(this);\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n var commandSelect = new commandSelect_1.CommandSelect();\n this.process.commandManager.execute(commandSelect);\n };\n CommandSurfaceDefinitionEdit.prototype.commandOk = function () {\n var e_1, _a;\n var _this = this;\n var pretreatmentRO = this.viewer.process.findRenderObjectByName(\"前处理可视化辅助\");\n var surfaceParent = this.process.findCaeObjectByNameInChildObject(pretreatmentRO, \"表面定义\");\n if (!surfaceParent) {\n surfaceParent = new gs_ceec_design_1.DesignBaseObject();\n surfaceParent.businessState = gs_ceec_design_2.BusinessState.Creating;\n surfaceParent.name = \"表面定义\";\n this.process.addRenderObject(pretreatmentRO, surfaceParent);\n } else {\n surfaceParent.businessState = gs_ceec_design_2.BusinessState.Editing;\n for (var i = 0; i < surfaceParent.childObjects.length; i++) {\n var item = surfaceParent.childObjects[i];\n if (item instanceof surfaceDefinitionObject_1.SurfaceDefinitionObject) {\n item.tempDelete(this.viewer);\n item.businessState = gs_ceec_design_2.BusinessState.Deleting;\n }\n }\n }\n var data = this.config.properties.items[0].data;\n data.tip.value = null;\n var surfaceList = this.config.surfaceList;\n var hasError = false;\n if (surfaceList.length === 0) {\n data.tip.value = 8;\n return;\n }\n try {\n for (var surfaceList_1 = tslib_1.__values(surfaceList), surfaceList_1_1 = surfaceList_1.next(); !surfaceList_1_1.done; surfaceList_1_1 = surfaceList_1.next()) {\n var item = surfaceList_1_1.value;\n var originJoint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, item.originJointName);\n var localXJoint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, item.localXJointName);\n var localYJoint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, item.localYJointName);\n if (!originJoint) {\n data.tip.value = \"3,\".concat(item.originJointName);\n hasError = true;\n break;\n }\n if (!localXJoint) {\n data.tip.value = \"3,\".concat(item.localXJointName);\n hasError = true;\n break;\n }\n if (!localYJoint) {\n data.tip.value = \"3,\".concat(item.localYJointName);\n hasError = true;\n break;\n }\n if (item.outOfPlaneTolerance <= 0) {\n data.tip.value = 4;\n }\n var boundryJointValue = [];\n for (var i = 1; i <= 14; i++) {\n if (item.boundaryJoints[\"boundryJoint\".concat(i, \"st\")]) {\n boundryJointValue.push(item.boundaryJoints[\"boundryJoint\".concat(i, \"st\")]);\n }\n }\n if (boundryJointValue.length > 0) {\n if (boundryJointValue.length > 14) {\n data.tip.value = 5;\n hasError = true;\n break;\n }\n if (boundryJointValue.length < 3) {\n data.tip.value = 6;\n hasError = true;\n break;\n }\n }\n if (hasError) return;\n var errorBoundaryJoint = new Array();\n for (var i = 0; i < boundryJointValue.length; i++) {\n var jointName = boundryJointValue[i];\n var joint = this.process.findCaeObjectByNameInChildObject(this.process.caeRenderObjectTreeManager.jointNode, jointName);\n if (!joint) {\n errorBoundaryJoint.push(jointName);\n }\n }\n if (errorBoundaryJoint && (errorBoundaryJoint === null || errorBoundaryJoint === void 0 ? void 0 : errorBoundaryJoint.length)) {\n var errorBoundaryJointStr = errorBoundaryJoint.join(\",\");\n data.tip.value = \"3,\".concat(errorBoundaryJointStr);\n hasError = true;\n break;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (surfaceList_1_1 && !surfaceList_1_1.done && (_a = surfaceList_1.return)) _a.call(surfaceList_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n if (hasError) return;\n surfaceList.forEach(function (item) {\n var surfaceDefinition = new surfaceDefinitionObject_1.SurfaceDefinitionObject(item.surfaceID);\n surfaceDefinition.businessState = gs_ceec_design_2.BusinessState.Creating;\n surfaceDefinition.surfaceID = item.surfaceID;\n surfaceDefinition.originJointName = item.originJointName;\n surfaceDefinition.localXJointName = item.localXJointName;\n surfaceDefinition.localYJointName = item.localYJointName;\n surfaceDefinition.outOfPlaneTolerance = (0, utility_1.CaeNumber)(item.outOfPlaneTolerance);\n surfaceDefinition.loadDistuibutionType = item.loadDistuibutionType;\n surfaceDefinition.boundaryJoints = item.boundaryJoints;\n _this.process.addRenderObject(surfaceParent, surfaceDefinition);\n });\n data.tip.value = 8;\n console.log(\"表面定义编辑commandOk\", data, this.config);\n };\n CommandSurfaceDefinitionEdit.prototype.changeOperators = function () {\n var _this = this;\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.preSelector = new cAEObjectPreSelector_1.CAEObjectPreSelector();\n this.viewer.operatorManager.add(this.preSelector);\n this.viewer.selectionInterfaceManager.selectorFilter = this.expectFilter;\n this.caeObjectSelector = new caeObjectSelector_1.CAEObjectSelector();\n this.viewer.operatorManager.add(this.caeObjectSelector);\n this.caeObjectSelector.lButtonUp.add(function () {\n setTimeout(function () {\n _this.updatePanel();\n }, 0);\n });\n };\n CommandSurfaceDefinitionEdit.prototype.updatePanel = function () {\n if (this.viewer.selectionInterfaceManager.selectorFilter === this.expectFilter) {\n var data = this.config.properties.items[0].data;\n var objects = this.caeObjectSelector.selectedRenderObjects;\n if (objects.count() > 0) {\n var object = objects.items[0];\n var boundaryInfo = {\n boundryJoint1st: '',\n boundryJoint2st: '',\n boundryJoint3st: '',\n boundryJoint4st: '',\n boundryJoint5st: '',\n boundryJoint6st: '',\n boundryJoint7st: '',\n boundryJoint8st: '',\n boundryJoint9st: '',\n boundryJoint10st: '',\n boundryJoint11st: '',\n boundryJoint12st: '',\n boundryJoint13st: '',\n boundryJoint14st: ''\n };\n if (this.currentFocus === FocusOption.boundary) {\n for (var i = 1; i <= 14; i++) {\n boundaryInfo[\"boundryJoint\".concat(i, \"st\")] = \"\";\n }\n var count = Math.min(objects.count(), 14);\n for (var i = 0; i < count; i++) {\n var info = objects.items[i];\n var boundryname = \"boundryJoint\".concat(i + 1, \"st\");\n boundaryInfo[boundryname] = info.name;\n }\n data.boundaryJoints.value = boundaryInfo;\n } else if (this.currentFocus === FocusOption.originJoint) {\n data.originJointName.value = object.name;\n } else if (this.currentFocus === FocusOption.localXJoint) {\n data.localXJointName.value = object.name;\n } else if (this.currentFocus === FocusOption.localYJoint) {\n data.localYJointName.value = object.name;\n }\n }\n }\n };\n CommandSurfaceDefinitionEdit.prototype.originJointActive = function () {\n this.currentFocus = FocusOption.originJoint;\n };\n CommandSurfaceDefinitionEdit.prototype.localXJointActive = function () {\n this.currentFocus = FocusOption.localXJoint;\n };\n CommandSurfaceDefinitionEdit.prototype.localYJointActive = function () {\n this.currentFocus = FocusOption.localYJoint;\n };\n CommandSurfaceDefinitionEdit.prototype.boundaryActive = function () {\n this.currentFocus = FocusOption.boundary;\n };\n CommandSurfaceDefinitionEdit.prototype.updateSurfaceInfo = function () {\n var data = this.config.properties.items[0].data;\n data.boundaryJoints.value = {\n boundryJoint1st: '',\n boundryJoint2st: '',\n boundryJoint3st: '',\n boundryJoint4st: '',\n boundryJoint5st: '',\n boundryJoint6st: '',\n boundryJoint7st: '',\n boundryJoint8st: '',\n boundryJoint9st: '',\n boundryJoint10st: '',\n boundryJoint11st: '',\n boundryJoint12st: '',\n boundryJoint13st: '',\n boundryJoint14st: ''\n };\n data.originJointName.value = '';\n data.localXJointName.value = '';\n data.localYJointName.value = '';\n };\n return CommandSurfaceDefinitionEdit;\n }(commandComponent_1.CommandComponent);\n exports.default = CommandSurfaceDefinitionEdit;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3N1cmZhY2VEZWZpbml0aW9uRWRpdC9jb21tYW5kU3VyZmFjZURlZmluaXRpb25FZGl0LnRzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vW25hbWVdLy4vcGFja2FnZXMvY2FlRGVzaWduL3NyYy92aWV3ZXJXcmFwcGVyL2NvbW1hbmRzL3ByZXRyZWF0bWVudC9zdXJmYWNlRGVmaW5pdGlvbkVkaXQvY29tbWFuZFN1cmZhY2VEZWZpbml0aW9uRWRpdC50cz9jMzMwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbWVyYU1vdXNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL2NhbWVyYU1vdXNlXCI7XG5pbXBvcnQgeyBDb21tYW5kQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbW1hbmRDb21wb25lbnRcIjtcbmltcG9ydCB7IENBRU9iamVjdFByZVNlbGVjdG9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL2NBRU9iamVjdFByZVNlbGVjdG9yXCI7XG5pbXBvcnQgeyBDQUVPYmplY3RTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jYWVPYmplY3RTZWxlY3RvclwiO1xuaW1wb3J0IHsgQ29tbWFuZFNlbGVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L2NvbW1hbmRzL2NvbW1hbmRTZWxlY3RcIjtcbmltcG9ydCB7IFNlbGVjdG9yRmlsaXRlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L21hbmFnZXJzL2ludGVyZmFjZU1hbmFnZXJzL3NlbGVjdGlvbkludGVyZmFjZU1hbmFnZXJcIjtcbmltcG9ydCBTdXJmYWNlRGVmaW5pdGlvbkVkaXRDb25maWcgZnJvbSBcIi4vc3VyZmFjZURlZmluaXRpb25FZGl0Q29uZmlnXCI7XG5pbXBvcnQgeyBKb2ludE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY2FlT2JqZWN0cy9qb2ludE9iamVjdFwiO1xuaW1wb3J0IHsgRGVzaWduQmFzZU9iamVjdCB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuaW1wb3J0IHsgQ2FlTnVtYmVyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxpdHkvdXRpbGl0eVwiO1xuaW1wb3J0IHsgU3VyZmFjZURlZmluaXRpb25PYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NhZU9iamVjdHMvcHJldHJlYXRtZW50L3N1cmZhY2VEZWZpbml0aW9uT2JqZWN0XCI7XG5cbmVudW0gRm9jdXNPcHRpb24ge1xuICBvcmlnaW5Kb2ludCA9IFwib3JpZ2luSm9pbnRcIixcbiAgbG9jYWxYSm9pbnQgPSBcImxvY2FsWEpvaW50XCIsXG4gIGxvY2FsWUpvaW50ID0gXCJsb2NhbFlKb2ludFwiLFxuICBib3VuZGFyeSA9IFwiYm91bmRhcnlcIixcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRTdXJmYWNlRGVmaW5pdGlvbkVkaXQgZXh0ZW5kcyBDb21tYW5kQ29tcG9uZW50IHtcbiAgdHlwZU5hbWU6IHN0cmluZyA9IFwiQ29tbWFuZFN1cmZhY2VEZWZpbml0aW9uRWRpdFwiO1xuXG4gIGNvbmZpZzogU3VyZmFjZURlZmluaXRpb25FZGl0Q29uZmlnO1xuICBwcmVTZWxlY3RvcjogQ0FFT2JqZWN0UHJlU2VsZWN0b3IgPSBudWxsO1xuICBjYWVPYmplY3RTZWxlY3RvcjogQ0FFT2JqZWN0U2VsZWN0b3IgPSBudWxsO1xuICBleHBlY3RGaWx0ZXIgPSBTZWxlY3RvckZpbGl0ZXIuSm9pbnQ7XG4gIGN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLm9yaWdpbkpvaW50O1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYmVnaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VPcGVyYXRvcnMoKTtcbiAgICB0aGlzLmNvbmZpZyA9IG5ldyBTdXJmYWNlRGVmaW5pdGlvbkVkaXRDb25maWcoKTtcbiAgICB0aGlzLmNvbmZpZy5zaG93KCk7XG4gIH1cbiAgcmVzdG9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZU9wZXJhdG9ycygpO1xuICAgIHRoaXMuY29uZmlnLnNob3coKTtcbiAgICB0aGlzLmNvbmZpZy5yZWZyZXNoQ2VudGVySWRMaXN0KCk7XG4gIH1cbiAgZW5kKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnLmhpZGUoKTtcbiAgICBzdXBlci5lbmQoKTtcbiAgICAvLyDmuIXnqbrlvZPliY3miYDmnInpgInkuK3kuI7pq5jkuq7vvIzlubbliLfmlrDop4blm75cbiAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xuICAgIC8vIOWIh+aNouWbnum7mOiupOmAieaLqeWRveS7pFxuICAgIGxldCBjb21tYW5kU2VsZWN0ID0gbmV3IENvbW1hbmRTZWxlY3QoKTtcbiAgICB0aGlzLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIuZXhlY3V0ZShjb21tYW5kU2VsZWN0KTtcbiAgfVxuICBjb21tYW5kT2soKTogdm9pZCB7XG4gICAgLy8g5Zyo5b2T5YmN5qih5Z6L5pW05Liq6IqC54K55qCR5LiK5Yib5bu65LiA5Liq5Zue6L2s5Lit5b+D6IqC54K5XG4gICAgbGV0IHByZXRyZWF0bWVudFJPID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFxuICAgICAgXCLliY3lpITnkIblj6/op4bljJbovoXliqlcIlxuICAgICkgYXMgRGVzaWduQmFzZU9iamVjdDtcblxuICAgIGxldCBzdXJmYWNlUGFyZW50ID0gdGhpcy5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgcHJldHJlYXRtZW50Uk8sXG4gICAgICBcIuihqOmdouWumuS5iVwiXG4gICAgKSBhcyBEZXNpZ25CYXNlT2JqZWN0O1xuICAgIGlmICghc3VyZmFjZVBhcmVudCkge1xuICAgICAgc3VyZmFjZVBhcmVudCA9IG5ldyBEZXNpZ25CYXNlT2JqZWN0KCk7XG4gICAgICBzdXJmYWNlUGFyZW50LmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkNyZWF0aW5nO1xuICAgICAgc3VyZmFjZVBhcmVudC5uYW1lID0gXCLooajpnaLlrprkuYlcIjtcbiAgICAgIHRoaXMucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QocHJldHJlYXRtZW50Uk8sIHN1cmZhY2VQYXJlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyDmt7vliqDkuYvliY3lhYjliKDpmaRcbiAgICAgIHN1cmZhY2VQYXJlbnQuYnVzaW5lc3NTdGF0ZSA9IEJ1c2luZXNzU3RhdGUuRWRpdGluZztcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3VyZmFjZVBhcmVudC5jaGlsZE9iamVjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHN1cmZhY2VQYXJlbnQuY2hpbGRPYmplY3RzW2ldO1xuICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFN1cmZhY2VEZWZpbml0aW9uT2JqZWN0KSB7XG4gICAgICAgICAgLy8g5ZCO5Y+w5Li05pe25Yig6ZmkXG4gICAgICAgICAgaXRlbS50ZW1wRGVsZXRlKHRoaXMudmlld2VyKTtcbiAgICAgICAgICBpdGVtLmJ1c2luZXNzU3RhdGUgPSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgZGF0YS50aXAudmFsdWUgPSBudWxsO1xuICAgIGNvbnN0IHN1cmZhY2VMaXN0ID0gdGhpcy5jb25maWcuc3VyZmFjZUxpc3Q7XG4gICAgbGV0IGhhc0Vycm9yID0gZmFsc2U7IC8vIOagh+W/l+S9jVxuICAgIGlmIChzdXJmYWNlTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICAgIGRhdGEudGlwLnZhbHVlID0gODsgLy8g5rKh5pyJ6KGo6Z2i5a6a5LmJXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBzdXJmYWNlTGlzdCkge1xuICAgICAgLy8g5qCh6aqM6L6T5YWl55qE54K55piv5ZCm5a2Y5ZyoXG4gICAgICBsZXQgb3JpZ2luSm9pbnQgPSB0aGlzLnByb2Nlc3MuZmluZENhZU9iamVjdEJ5TmFtZUluQ2hpbGRPYmplY3QoXG4gICAgICAgIHRoaXMucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5qb2ludE5vZGUsXG4gICAgICAgIGl0ZW0ub3JpZ2luSm9pbnROYW1lXG4gICAgICApO1xuICAgICAgbGV0IGxvY2FsWEpvaW50ID0gdGhpcy5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICB0aGlzLnByb2Nlc3MuY2FlUmVuZGVyT2JqZWN0VHJlZU1hbmFnZXIuam9pbnROb2RlLFxuICAgICAgICBpdGVtLmxvY2FsWEpvaW50TmFtZVxuICAgICAgKTtcbiAgICAgIGxldCBsb2NhbFlKb2ludCA9IHRoaXMucHJvY2Vzcy5maW5kQ2FlT2JqZWN0QnlOYW1lSW5DaGlsZE9iamVjdChcbiAgICAgICAgdGhpcy5wcm9jZXNzLmNhZVJlbmRlck9iamVjdFRyZWVNYW5hZ2VyLmpvaW50Tm9kZSxcbiAgICAgICAgaXRlbS5sb2NhbFlKb2ludE5hbWVcbiAgICAgICk7XG4gICAgICBpZiAoIW9yaWdpbkpvaW50KSB7XG4gICAgICAgIGRhdGEudGlwLnZhbHVlID0gYDMsJHtpdGVtLm9yaWdpbkpvaW50TmFtZX1gO1xuICAgICAgICBoYXNFcnJvciA9IHRydWU7IC8vIOiuvue9ruagh+W/l+S9jeS4unRydWVcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoIWxvY2FsWEpvaW50KSB7XG4gICAgICAgIGRhdGEudGlwLnZhbHVlID0gYDMsJHtpdGVtLmxvY2FsWEpvaW50TmFtZX1gO1xuICAgICAgICBoYXNFcnJvciA9IHRydWU7IC8vIOiuvue9ruagh+W/l+S9jeS4unRydWVcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoIWxvY2FsWUpvaW50KSB7XG4gICAgICAgIGRhdGEudGlwLnZhbHVlID0gYDMsJHtpdGVtLmxvY2FsWUpvaW50TmFtZX1gO1xuICAgICAgICBoYXNFcnJvciA9IHRydWU7IC8vIOiuvue9ruagh+W/l+S9jeS4unRydWVcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIC8vIOajgOmqjOWuueW3ruaYr+WQpuWkp+S6jjBcbiAgICAgIGlmIChpdGVtLm91dE9mUGxhbmVUb2xlcmFuY2UgPD0gMCkge1xuICAgICAgICBkYXRhLnRpcC52YWx1ZSA9IDQ7XG4gICAgICB9XG4gICAgICBsZXQgYm91bmRyeUpvaW50VmFsdWUgPSBbXTtcbiAgICAgIC8vIOi+ueeVjOiKgueCuSjpnZ7lv4Xloasp77yM5aaC5p6c6YCJ5oup5LqG77yM5pyA5aSa6YCJ5oupMTTkuKrngrks5pyA5bCR6YCJ5oupM+S4qlxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMTQ7IGkrKykge1xuICAgICAgICBpZiAoaXRlbS5ib3VuZGFyeUpvaW50c1tgYm91bmRyeUpvaW50JHtpfXN0YF0pIHtcbiAgICAgICAgICBib3VuZHJ5Sm9pbnRWYWx1ZS5wdXNoKGl0ZW0uYm91bmRhcnlKb2ludHNbYGJvdW5kcnlKb2ludCR7aX1zdGBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIGlmIChib3VuZHJ5Sm9pbnRWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChib3VuZHJ5Sm9pbnRWYWx1ZS5sZW5ndGggPiAxNCkge1xuICAgICAgICAgIGRhdGEudGlwLnZhbHVlID0gNTtcbiAgICAgICAgICBoYXNFcnJvciA9IHRydWU7IC8vIOiuvue9ruagh+W/l+S9jeS4unRydWVcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm91bmRyeUpvaW50VmFsdWUubGVuZ3RoIDwgMykge1xuICAgICAgICAgIGRhdGEudGlwLnZhbHVlID0gNjtcbiAgICAgICAgICBoYXNFcnJvciA9IHRydWU7IC8vIOiuvue9ruagh+W/l+S9jeS4unRydWVcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGhhc0Vycm9yKSByZXR1cm47XG4gICAgICAvLyDovrnnlYzoioLngrnnmoTlkIjms5XmgKfmoKHpqoxcbiAgICAgIGxldCBlcnJvckJvdW5kYXJ5Sm9pbnQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBib3VuZHJ5Sm9pbnRWYWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBqb2ludE5hbWUgPSBib3VuZHJ5Sm9pbnRWYWx1ZVtpXTtcbiAgICAgICAgbGV0IGpvaW50ID0gdGhpcy5wcm9jZXNzLmZpbmRDYWVPYmplY3RCeU5hbWVJbkNoaWxkT2JqZWN0KFxuICAgICAgICAgIHRoaXMucHJvY2Vzcy5jYWVSZW5kZXJPYmplY3RUcmVlTWFuYWdlci5qb2ludE5vZGUsXG4gICAgICAgICAgam9pbnROYW1lXG4gICAgICAgICk7XG4gICAgICAgIGlmICgham9pbnQpIHtcbiAgICAgICAgICBlcnJvckJvdW5kYXJ5Sm9pbnQucHVzaChqb2ludE5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZXJyb3JCb3VuZGFyeUpvaW50ICYmIGVycm9yQm91bmRhcnlKb2ludD8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGVycm9yQm91bmRhcnlKb2ludFN0ciA9IGVycm9yQm91bmRhcnlKb2ludC5qb2luKFwiLFwiKTtcbiAgICAgICAgZGF0YS50aXAudmFsdWUgPSBgMywke2Vycm9yQm91bmRhcnlKb2ludFN0cn1gO1xuICAgICAgICBoYXNFcnJvciA9IHRydWU7IC8vIOiuvue9ruagh+W/l+S9jeS4unRydWVcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIOagoemqjOe7k+adn1xuICAgIGlmIChoYXNFcnJvcikgcmV0dXJuO1xuICAgIC8vIOa3u+WKoOWIsOWvueW6lOiKgueCueaVsOS4rVxuICAgIHN1cmZhY2VMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGxldCBzdXJmYWNlRGVmaW5pdGlvbiA9IG5ldyBTdXJmYWNlRGVmaW5pdGlvbk9iamVjdChpdGVtLnN1cmZhY2VJRCk7XG4gICAgICBzdXJmYWNlRGVmaW5pdGlvbi5idXNpbmVzc1N0YXRlID0gQnVzaW5lc3NTdGF0ZS5DcmVhdGluZztcbiAgICAgIHN1cmZhY2VEZWZpbml0aW9uLnN1cmZhY2VJRCA9IGl0ZW0uc3VyZmFjZUlEO1xuICAgICAgc3VyZmFjZURlZmluaXRpb24ub3JpZ2luSm9pbnROYW1lID0gaXRlbS5vcmlnaW5Kb2ludE5hbWU7XG4gICAgICBzdXJmYWNlRGVmaW5pdGlvbi5sb2NhbFhKb2ludE5hbWUgPSBpdGVtLmxvY2FsWEpvaW50TmFtZTtcbiAgICAgIHN1cmZhY2VEZWZpbml0aW9uLmxvY2FsWUpvaW50TmFtZSA9IGl0ZW0ubG9jYWxZSm9pbnROYW1lO1xuICAgICAgc3VyZmFjZURlZmluaXRpb24ub3V0T2ZQbGFuZVRvbGVyYW5jZSA9IENhZU51bWJlcihcbiAgICAgICAgaXRlbS5vdXRPZlBsYW5lVG9sZXJhbmNlXG4gICAgICApO1xuICAgICAgc3VyZmFjZURlZmluaXRpb24ubG9hZERpc3R1aWJ1dGlvblR5cGUgPSBpdGVtLmxvYWREaXN0dWlidXRpb25UeXBlO1xuICAgICAgc3VyZmFjZURlZmluaXRpb24uYm91bmRhcnlKb2ludHMgPSBpdGVtLmJvdW5kYXJ5Sm9pbnRzO1xuICAgICAgLy8g5o6o5YWl5Yiw6IqC54K55qCR5LiK55qE6KGo6Z2i5a6a5LmJ55qEX2NoaWxkT2JqZWN0c1xuICAgICAgdGhpcy5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChzdXJmYWNlUGFyZW50LCBzdXJmYWNlRGVmaW5pdGlvbik7XG4gICAgfSk7XG4gICAgLy8g5Yib5bu65Zue6L2s5Lit5b+D5oiQ5YqfXG4gICAgZGF0YS50aXAudmFsdWUgPSA4O1xuICAgIGNvbnNvbGUubG9nKFwi6KGo6Z2i5a6a5LmJ57yW6L6RY29tbWFuZE9rXCIsIGRhdGEsIHRoaXMuY29uZmlnKTtcbiAgfVxuICAvLyDliIfmjaLlvZPliY3lkb3ku6TmiYDpnIDmk43kvZzlmajvvIjorr7nva7pvKDmoIfooYzkuLrvvIlcbiAgY2hhbmdlT3BlcmF0b3JzKCk6IHZvaWQge1xuICAgIC8vIOi/m+WFpeWRveS7pOWJjea4heepuumAieS4reS4jumrmOS6ri5cbiAgICAvLyDov5vlhaXlkb3ku6TliY3muIXnqbrpgInkuK3kuI7pq5jkuq4uXG4gICAgLy8gdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xuICAgIC8vIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcblxuICAgIC8vIOa4heepuuaTjeS9nOWZqC5cbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuY2xlYXIoKTtcbiAgICAvLyDmt7vliqDmk43kvZzlmahcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuYWRkKG5ldyBDYW1lcmFNb3VzZSgpKTtcblxuICAgIC8vIOWIneWni+WMlumihOmAieaTjeS9nOWZqFxuICAgIHRoaXMucHJlU2VsZWN0b3IgPSBuZXcgQ0FFT2JqZWN0UHJlU2VsZWN0b3IoKTtcbiAgICAvLyDmt7vliqDpooTpgInmk43kvZzlmahcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuYWRkKHRoaXMucHJlU2VsZWN0b3IpO1xuXG4gICAgLy8g6K6+572u6L+H5ruk5Zmo77yM5LuF5YWB6K646YCJ5LitIEpvaW50IOexu+Wei+WvueixoVxuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbkludGVyZmFjZU1hbmFnZXIuc2VsZWN0b3JGaWx0ZXIgPSB0aGlzLmV4cGVjdEZpbHRlcjtcblxuICAgIC8vIOWIneWni+WMlueCueWHu+mAieaLqeWZqFxuICAgIHRoaXMuY2FlT2JqZWN0U2VsZWN0b3IgPSBuZXcgQ0FFT2JqZWN0U2VsZWN0b3IoKTtcbiAgICAvLyDmt7vliqDngrnlh7vpgInmi6nlmahcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuYWRkKHRoaXMuY2FlT2JqZWN0U2VsZWN0b3IpO1xuXG4gICAgdGhpcy5jYWVPYmplY3RTZWxlY3Rvci5sQnV0dG9uVXAuYWRkKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZVBhbmVsKCk7XG4gICAgICB9LCAwKTtcbiAgICB9KTtcbiAgfVxuICB1cGRhdGVQYW5lbCgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnZpZXdlci5zZWxlY3Rpb25JbnRlcmZhY2VNYW5hZ2VyLnNlbGVjdG9yRmlsdGVyID09PSB0aGlzLmV4cGVjdEZpbHRlclxuICAgICkge1xuICAgICAgLy8g5pu05paw6Z2i5p2/55qE6L6555WM6IqC54K55YiX6KGoLlxuICAgICAgbGV0IGRhdGEgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzLml0ZW1zWzBdLmRhdGE7XG4gICAgICAvLyDmm7TmlrDpnaLmnb/nmoTpgInkuK3ngrnliJfooaguXG4gICAgICBsZXQgb2JqZWN0cyA9IHRoaXMuY2FlT2JqZWN0U2VsZWN0b3Iuc2VsZWN0ZWRSZW5kZXJPYmplY3RzO1xuICAgICAgaWYgKG9iamVjdHMuY291bnQoKSA+IDApIHtcbiAgICAgICAgbGV0IG9iamVjdCA9IG9iamVjdHMuaXRlbXNbMF07XG4gICAgICAgIGxldCBib3VuZGFyeUluZm8gPSB7XG4gICAgICAgICAgYm91bmRyeUpvaW50MXN0OiAnJyxcbiAgICAgICAgICBib3VuZHJ5Sm9pbnQyc3Q6ICcnLFxuICAgICAgICAgIGJvdW5kcnlKb2ludDNzdDogJycsXG4gICAgICAgICAgYm91bmRyeUpvaW50NHN0OiAnJyxcbiAgICAgICAgICBib3VuZHJ5Sm9pbnQ1c3Q6ICcnLFxuICAgICAgICAgIGJvdW5kcnlKb2ludDZzdDogJycsXG4gICAgICAgICAgYm91bmRyeUpvaW50N3N0OiAnJyxcbiAgICAgICAgICBib3VuZHJ5Sm9pbnQ4c3Q6ICcnLFxuICAgICAgICAgIGJvdW5kcnlKb2ludDlzdDogJycsXG4gICAgICAgICAgYm91bmRyeUpvaW50MTBzdDogJycsXG4gICAgICAgICAgYm91bmRyeUpvaW50MTFzdDogJycsXG4gICAgICAgICAgYm91bmRyeUpvaW50MTJzdDogJycsXG4gICAgICAgICAgYm91bmRyeUpvaW50MTNzdDogJycsXG4gICAgICAgICAgYm91bmRyeUpvaW50MTRzdDogJydcbiAgICAgICAgfTtcbiAgICAgICAgLy8g5pu05paw6YCJ5Lit55qE6L6555WM6IqC54K5XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRGb2N1cyA9PT0gRm9jdXNPcHRpb24uYm91bmRhcnkpIHtcbiAgICAgICAgICAvLyDliJ3lp4vljJYgMTQg5Liq56m655qE6L6555WMIEpvaW50XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMTQ7IGkrKykge1xuICAgICAgICAgICAgYm91bmRhcnlJbmZvW2Bib3VuZHJ5Sm9pbnQke2l9c3RgXSA9IFwiXCJcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8g5YaN5YaZ5YWlIEpvaW50T2JqZWN0IOaVsOaNru+8jOacgOWkmuWPquiDveiuvue9riAxNCDkuKpcbiAgICAgICAgICBjb25zdCBjb3VudCA9IE1hdGgubWluKG9iamVjdHMuY291bnQoKSwgMTQpOyAvLyDpmZDliLbmnIDlpKfkuLoxNFxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgICAgICAgICAgbGV0IGluZm8gPSBvYmplY3RzLml0ZW1zW2ldO1xuICAgICAgICAgICAgY29uc3QgYm91bmRyeW5hbWUgPSBgYm91bmRyeUpvaW50JHtpICsgMX1zdGA7XG4gICAgICAgICAgICBib3VuZGFyeUluZm9bYm91bmRyeW5hbWVdID0gaW5mby5uYW1lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRhdGEuYm91bmRhcnlKb2ludHMudmFsdWUgPSBib3VuZGFyeUluZm87XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50Rm9jdXMgPT09IEZvY3VzT3B0aW9uLm9yaWdpbkpvaW50KSB7XG4gICAgICAgICAgLy8g5pu05paw6YCJ5Lit55qE5Y6f54K554K5XG4gICAgICAgICAgZGF0YS5vcmlnaW5Kb2ludE5hbWUudmFsdWUgPSBvYmplY3QubmFtZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRGb2N1cyA9PT0gRm9jdXNPcHRpb24ubG9jYWxYSm9pbnQpIHtcbiAgICAgICAgICAvLyDmm7TmlrDpgInkuK3nmoTljp/ngrnngrlcbiAgICAgICAgICBkYXRhLmxvY2FsWEpvaW50TmFtZS52YWx1ZSA9IG9iamVjdC5uYW1lO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudEZvY3VzID09PSBGb2N1c09wdGlvbi5sb2NhbFlKb2ludCkge1xuICAgICAgICAgIC8vIOabtOaWsOmAieS4reeahOWOn+eCueeCuVxuICAgICAgICAgIGRhdGEubG9jYWxZSm9pbnROYW1lLnZhbHVlID0gb2JqZWN0Lm5hbWU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgb3JpZ2luSm9pbnRBY3RpdmUoKSB7XG4gICAgdGhpcy5jdXJyZW50Rm9jdXMgPSBGb2N1c09wdGlvbi5vcmlnaW5Kb2ludDtcbiAgfVxuICBsb2NhbFhKb2ludEFjdGl2ZSgpIHtcbiAgICB0aGlzLmN1cnJlbnRGb2N1cyA9IEZvY3VzT3B0aW9uLmxvY2FsWEpvaW50O1xuICB9XG4gIGxvY2FsWUpvaW50QWN0aXZlKCkge1xuICAgIHRoaXMuY3VycmVudEZvY3VzID0gRm9jdXNPcHRpb24ubG9jYWxZSm9pbnQ7XG4gIH1cbiAgYm91bmRhcnlBY3RpdmUoKSB7XG4gICAgdGhpcy5jdXJyZW50Rm9jdXMgPSBGb2N1c09wdGlvbi5ib3VuZGFyeTtcbiAgfVxuICB1cGRhdGVTdXJmYWNlSW5mbygpIHtcbiAgICBsZXQgZGF0YSA9IHRoaXMuY29uZmlnLnByb3BlcnRpZXMuaXRlbXNbMF0uZGF0YTtcbiAgICBkYXRhLmJvdW5kYXJ5Sm9pbnRzLnZhbHVlID0ge1xuICAgICAgYm91bmRyeUpvaW50MXN0OiAnJyxcbiAgICAgIGJvdW5kcnlKb2ludDJzdDogJycsXG4gICAgICBib3VuZHJ5Sm9pbnQzc3Q6ICcnLFxuICAgICAgYm91bmRyeUpvaW50NHN0OiAnJyxcbiAgICAgIGJvdW5kcnlKb2ludDVzdDogJycsXG4gICAgICBib3VuZHJ5Sm9pbnQ2c3Q6ICcnLFxuICAgICAgYm91bmRyeUpvaW50N3N0OiAnJyxcbiAgICAgIGJvdW5kcnlKb2ludDhzdDogJycsXG4gICAgICBib3VuZHJ5Sm9pbnQ5c3Q6ICcnLFxuICAgICAgYm91bmRyeUpvaW50MTBzdDogJycsXG4gICAgICBib3VuZHJ5Sm9pbnQxMXN0OiAnJyxcbiAgICAgIGJvdW5kcnlKb2ludDEyc3Q6ICcnLFxuICAgICAgYm91bmRyeUpvaW50MTNzdDogJycsXG4gICAgICBib3VuZHJ5Sm9pbnQxNHN0OiAnJ1xuICAgIH1cbiAgICBkYXRhLm9yaWdpbkpvaW50TmFtZS52YWx1ZSA9ICcnXG4gICAgZGF0YS5sb2NhbFhKb2ludE5hbWUudmFsdWUgPSAnJ1xuICAgIGRhdGEubG9jYWxZSm9pbnROYW1lLnZhbHVlID0gJydcblxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFhQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRQTtBQUFBO0FBUEE7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUFBO0FBRUE7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFFQTtBQUFBO0FBRUE7QUFJQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFDQTs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBT0E7QUFFQTtBQUdBO0FBRUE7QUFHQTtBQUdBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBOzs7O0FBTUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7OztBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/commandSurfaceDefinitionEdit.ts\n");
|
|
7692
7692
|
|
|
7693
7693
|
/***/ }),
|
|
7694
7694
|
|
|
@@ -7699,7 +7699,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
7699
7699
|
/*! no static exports found */
|
|
7700
7700
|
/***/ (function(module, exports, __webpack_require__) {
|
|
7701
7701
|
|
|
7702
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../../gsDevFx/process */ \"./packages/caeDesign/src/gsDevFx/process.ts\"), __webpack_require__(/*! ../../../../gsDevFx/propertyComponents/config */ \"./packages/caeDesign/src/gsDevFx/propertyComponents/config.ts\"), __webpack_require__(/*! ../../../../gsDevFx/propertyComponents/propertyComponent */ \"./packages/caeDesign/src/gsDevFx/propertyComponents/propertyComponent.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, process_1, config_1, propertyComponent_1, surfaceDefinitionObject_1, gs_ceec_design_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var SurfaceDefinitionConfig = function (_super) {\n tslib_1.__extends(SurfaceDefinitionConfig, _super);\n function SurfaceDefinitionConfig() {\n var _this = _super.call(this) || this;\n _this.surfaceList = null;\n _this.activeSurfaceID = {\n value: null,\n name: \"当前选中的表面ID\"\n };\n var property = new propertyComponent_1.PropertyComponent();\n property.name = \"编辑表面定义\";\n _this.surfaceList = new Array();\n property.data = {\n activeSurfaceID: _this.activeSurfaceID,\n tip: {\n name: \"提示\",\n value: null\n }\n };\n _this.properties.add(property);\n _this.refreshCenterIdList();\n console.log(\"进入编辑表面定义\");\n return _this;\n }\n SurfaceDefinitionConfig.prototype.refreshCenterIdList = function () {\n var _a;\n this.surfaceList = [];\n var grupGroup = process_1.Process.activeProcess.findRenderObjectByName(\"表面定义\");\n if (grupGroup && ((_a = grupGroup === null || grupGroup === void 0 ? void 0 : grupGroup.childObjects) === null || _a === void 0 ? void 0 : _a.length)) {\n for (var i = 0; i < grupGroup.childObjects.length; i++) {\n var child = grupGroup.childObjects[i];\n if (child instanceof surfaceDefinitionObject_1.SurfaceDefinitionObject && child.checkBusinessStateIsActive() && child.lastBusinessState !== gs_ceec_design_1.BusinessState.Deleting && child.lastBusinessState !== gs_ceec_design_1.BusinessState.Dead) {\n this.surfaceList.push(child);\n }\n }\n }\n if (!this.activeSurfaceID.value && this.surfaceList.length > 0) {\n this.activeSurfaceID.value = this.surfaceList[0].surfaceID;\n }\n console.log(\"赋值初始表面定义编辑节点\", this.surfaceList, this.activeSurfaceID.value);\n };\n return SurfaceDefinitionConfig;\n }(config_1.Config);\n exports.default = SurfaceDefinitionConfig;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3N1cmZhY2VEZWZpbml0aW9uRWRpdC9zdXJmYWNlRGVmaW5pdGlvbkVkaXRDb25maWcudHMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3N1cmZhY2VEZWZpbml0aW9uRWRpdC9zdXJmYWNlRGVmaW5pdGlvbkVkaXRDb25maWcudHM/
|
|
7702
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../../gsDevFx/process */ \"./packages/caeDesign/src/gsDevFx/process.ts\"), __webpack_require__(/*! ../../../../gsDevFx/propertyComponents/config */ \"./packages/caeDesign/src/gsDevFx/propertyComponents/config.ts\"), __webpack_require__(/*! ../../../../gsDevFx/propertyComponents/propertyComponent */ \"./packages/caeDesign/src/gsDevFx/propertyComponents/propertyComponent.ts\"), __webpack_require__(/*! ../../../../gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject */ \"./packages/caeDesign/src/gsDevFx/objects/caeObjects/pretreatment/surfaceDefinitionObject.ts\"), __webpack_require__(/*! gs-ceec-design */ \"./packages/ceecDesign/src/index.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, process_1, config_1, propertyComponent_1, surfaceDefinitionObject_1, gs_ceec_design_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var SurfaceDefinitionConfig = function (_super) {\n tslib_1.__extends(SurfaceDefinitionConfig, _super);\n function SurfaceDefinitionConfig() {\n var _this = _super.call(this) || this;\n _this.surfaceList = null;\n _this.activeSurfaceID = {\n value: null,\n name: \"当前选中的表面ID\"\n };\n var property = new propertyComponent_1.PropertyComponent();\n property.name = \"编辑表面定义\";\n _this.surfaceList = new Array();\n property.data = {\n activeSurfaceID: _this.activeSurfaceID,\n originJointName: {\n name: \"原点节点名称\",\n value: null\n },\n localXJointName: {\n name: \"局部X轴节点名称\",\n value: null\n },\n localYJointName: {\n name: \"局部Y轴节点名称\",\n value: null\n },\n boundaryJoints: {\n name: \"边界节点名称\",\n value: {}\n },\n tip: {\n name: \"提示\",\n value: null\n }\n };\n _this.properties.add(property);\n _this.refreshCenterIdList();\n console.log(\"进入编辑表面定义\");\n return _this;\n }\n SurfaceDefinitionConfig.prototype.refreshCenterIdList = function () {\n var _a;\n this.surfaceList = [];\n var grupGroup = process_1.Process.activeProcess.findRenderObjectByName(\"表面定义\");\n if (grupGroup && ((_a = grupGroup === null || grupGroup === void 0 ? void 0 : grupGroup.childObjects) === null || _a === void 0 ? void 0 : _a.length)) {\n for (var i = 0; i < grupGroup.childObjects.length; i++) {\n var child = grupGroup.childObjects[i];\n if (child instanceof surfaceDefinitionObject_1.SurfaceDefinitionObject && child.checkBusinessStateIsActive() && child.lastBusinessState !== gs_ceec_design_1.BusinessState.Deleting && child.lastBusinessState !== gs_ceec_design_1.BusinessState.Dead) {\n this.surfaceList.push(child);\n }\n }\n }\n if (!this.activeSurfaceID.value && this.surfaceList.length > 0) {\n this.activeSurfaceID.value = this.surfaceList[0].surfaceID;\n }\n console.log(\"赋值初始表面定义编辑节点\", this.surfaceList, this.activeSurfaceID.value);\n };\n return SurfaceDefinitionConfig;\n }(config_1.Config);\n exports.default = SurfaceDefinitionConfig;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3N1cmZhY2VEZWZpbml0aW9uRWRpdC9zdXJmYWNlRGVmaW5pdGlvbkVkaXRDb25maWcudHMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9wYWNrYWdlcy9jYWVEZXNpZ24vc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvcHJldHJlYXRtZW50L3N1cmZhY2VEZWZpbml0aW9uRWRpdC9zdXJmYWNlRGVmaW5pdGlvbkVkaXRDb25maWcudHM/NGVkMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9jZXNzIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2RngvcHJvY2Vzc1wiO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2RngvcHJvcGVydHlDb21wb25lbnRzL2NvbmZpZ1wiO1xuaW1wb3J0IHsgUHJvcGVydHlDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZ3NEZXZGeC9wcm9wZXJ0eUNvbXBvbmVudHMvcHJvcGVydHlDb21wb25lbnRcIjtcbmltcG9ydCB7IFN1cmZhY2VEZWZpbml0aW9uT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jYWVPYmplY3RzL3ByZXRyZWF0bWVudC9zdXJmYWNlRGVmaW5pdGlvbk9iamVjdFwiO1xuaW1wb3J0IHsgQnVzaW5lc3NTdGF0ZSB9IGZyb20gXCJncy1jZWVjLWRlc2lnblwiO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3VyZmFjZURlZmluaXRpb25Db25maWcgZXh0ZW5kcyBDb25maWcge1xuXG4gIHN1cmZhY2VMaXN0OiBTdXJmYWNlRGVmaW5pdGlvbk9iamVjdFtdID0gbnVsbDtcbiAgYWN0aXZlU3VyZmFjZUlEOiB7IHZhbHVlOiBhbnk7IG5hbWU6IHN0cmluZyB9ID0geyB2YWx1ZTogbnVsbCwgbmFtZTogXCLlvZPliY3pgInkuK3nmoTooajpnaJJRFwiIH07XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgbGV0IHByb3BlcnR5ID0gbmV3IFByb3BlcnR5Q29tcG9uZW50KCk7XG4gICAgcHJvcGVydHkubmFtZSA9IFwi57yW6L6R6KGo6Z2i5a6a5LmJXCI7XG4gICAgdGhpcy5zdXJmYWNlTGlzdCA9IG5ldyBBcnJheTxTdXJmYWNlRGVmaW5pdGlvbk9iamVjdD4oKTtcbiAgICBwcm9wZXJ0eS5kYXRhID0ge1xuICAgICAgYWN0aXZlU3VyZmFjZUlEOiB0aGlzLmFjdGl2ZVN1cmZhY2VJRCxcbiAgICAgIG9yaWdpbkpvaW50TmFtZTp7XG4gICAgICAgIG5hbWU6IFwi5Y6f54K56IqC54K55ZCN56ewXCIsXG4gICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgfSxcbiAgICAgIGxvY2FsWEpvaW50TmFtZToge1xuICAgICAgICBuYW1lOiBcIuWxgOmDqFjovbToioLngrnlkI3np7BcIixcbiAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICB9LFxuICAgICAgbG9jYWxZSm9pbnROYW1lOiB7XG4gICAgICAgIG5hbWU6IFwi5bGA6YOoWei9tOiKgueCueWQjeensFwiLFxuICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgIH0sXG4gICAgICBib3VuZGFyeUpvaW50czp7XG4gICAgICAgIG5hbWU6IFwi6L6555WM6IqC54K55ZCN56ewXCIsXG4gICAgICAgIHZhbHVlOiB7fSxcbiAgICAgIH0sXG4gICAgICB0aXA6IHtcbiAgICAgICAgbmFtZTogXCLmj5DnpLpcIixcbiAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5wcm9wZXJ0aWVzLmFkZChwcm9wZXJ0eSk7XG4gICAgdGhpcy5yZWZyZXNoQ2VudGVySWRMaXN0KCk7XG4gICAgY29uc29sZS5sb2coXCLov5vlhaXnvJbovpHooajpnaLlrprkuYlcIik7XG4gIH1cbiAgcmVmcmVzaENlbnRlcklkTGlzdCgpIHtcbiAgICB0aGlzLnN1cmZhY2VMaXN0ID0gW107XG4gICAgLy8g6I635Y+W5b2T5YmN5qih5Z6L55qE6KGo6Z2i5a6a5LmJ6IqC54K5XG4gICAgbGV0IGdydXBHcm91cCA9IFByb2Nlc3MuYWN0aXZlUHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlOYW1lKFwi6KGo6Z2i5a6a5LmJXCIpO1xuICAgIGlmIChncnVwR3JvdXAgJiYgZ3J1cEdyb3VwPy5jaGlsZE9iamVjdHM/Lmxlbmd0aCkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncnVwR3JvdXAuY2hpbGRPYmplY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBjaGlsZCA9IGdydXBHcm91cC5jaGlsZE9iamVjdHNbaV07XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjaGlsZCBpbnN0YW5jZW9mIFN1cmZhY2VEZWZpbml0aW9uT2JqZWN0ICYmXG4gICAgICAgICAgY2hpbGQuY2hlY2tCdXNpbmVzc1N0YXRlSXNBY3RpdmUoKSAmJlxuICAgICAgICAgIGNoaWxkLmxhc3RCdXNpbmVzc1N0YXRlICE9PSBCdXNpbmVzc1N0YXRlLkRlbGV0aW5nICYmXG4gICAgICAgICAgY2hpbGQubGFzdEJ1c2luZXNzU3RhdGUgIT09IEJ1c2luZXNzU3RhdGUuRGVhZFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnN1cmZhY2VMaXN0LnB1c2goY2hpbGQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdGhpcy5hY3RpdmVTdXJmYWNlSUQudmFsdWUgJiYgdGhpcy5zdXJmYWNlTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFjdGl2ZVN1cmZhY2VJRC52YWx1ZSA9IHRoaXMuc3VyZmFjZUxpc3RbMF0uc3VyZmFjZUlEO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZyhcIui1i+WAvOWIneWni+ihqOmdouWumuS5iee8lui+keiKgueCuVwiLCB0aGlzLnN1cmZhY2VMaXN0LCB0aGlzLmFjdGl2ZVN1cmZhY2VJRC52YWx1ZSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0E7QUFBQTtBQUlBO0FBQUE7QUFGQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7O0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7Ozs7QUFJQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBOzs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./packages/caeDesign/src/viewerWrapper/commands/pretreatment/surfaceDefinitionEdit/surfaceDefinitionEditConfig.ts\n");
|
|
7703
7703
|
|
|
7704
7704
|
/***/ }),
|
|
7705
7705
|
|