mmhglobal-dynamicform 2.7.2 → 2.8.0
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 +7 -0
- package/esm2020/lib/components/fieldbase.component.mjs +5 -3
- package/esm2020/lib/components/inputfieldbase.component.mjs +7 -1
- package/esm2020/lib/services/component-error-handler.service.mjs +4 -6
- package/esm2020/lib/zinput-container/zinput-container.component.mjs +2 -2
- package/esm2020/lib/znumeric/znumeric.component.mjs +51 -3
- package/fesm2015/mmhglobal-dynamicform.mjs +62 -10
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +62 -10
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/components/fieldbase.component.d.ts +4 -1
- package/lib/components/inputfieldbase.component.d.ts +2 -0
- package/lib/znumeric/znumeric.component.d.ts +8 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.13.
|
|
4
4
|
|
|
5
5
|
## Changelog
|
|
6
|
+
`2.8.0`<br/>
|
|
7
|
+
[znumeric] - Auto disable Min and Max value validator if component is not visible.<br/>
|
|
8
|
+
[field-base] - Avoid registering component for parent class: zinput-container.<br/>
|
|
9
|
+
|
|
10
|
+
`2.7.3`<br/>
|
|
11
|
+
[inputfieldbase] - Add missing setMinValue, setMaxValue event triggering catered for znumeric component.
|
|
12
|
+
|
|
6
13
|
`2.7.2`<br/>
|
|
7
14
|
[ztree] - Added TreeListInitiallyExpandedDataIds to set default nodes to expand.<br/>
|
|
8
15
|
[texteditor] - Implemented Field Element property (Options) to control pasteCleanupSettings.<br/>
|
|
@@ -34,11 +34,13 @@ export class FieldBase {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
initComponent() {
|
|
37
|
+
initComponent(options) {
|
|
38
38
|
this.isLoading = true;
|
|
39
39
|
this.componentProperties = this.componentProperties || new ZComponentProperties();
|
|
40
40
|
ZComponentHelper.setComponentProperties(this);
|
|
41
|
-
|
|
41
|
+
if (!(options && options.isRegisterComponent == false)) {
|
|
42
|
+
ZComponentHelper.registerComponent(this);
|
|
43
|
+
}
|
|
42
44
|
this.componentService.setComponentAdditionalProperties(this);
|
|
43
45
|
this.componentService.setCompStylesByIndex(this);
|
|
44
46
|
this.data.ComponentStyleType = this.data.ComponentStyleType || "style1";
|
|
@@ -98,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
98
100
|
}], componentProperties: [{
|
|
99
101
|
type: Input
|
|
100
102
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUk1QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQ3ZDLE1BQU0saUJBQWlCLENBQUM7OztBQU96QixnREFBZ0Q7QUFDaEQsTUFBTSxPQUFPLFNBQVM7SUFTcEIsWUFDUyxnQkFBbUM7UUFBbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUhyQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBbURqQixjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1C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L1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7XHJcbiAgRm9udEF3ZVNvbWVTZXJ2aWNlLFxyXG4gIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBaRmllbGQsIFpHcm91cFxyXG59IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IGFwcC1lcnJvciwgemdhdWdlLCB6cHJvZ3Jlc3NiYXIsIHpyZXBvcnRcclxuZXhwb3J0IGNsYXNzIEZpZWxkQmFzZSB7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGNvbnRhaW5lckZpZWxkOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgY29tcG9uZW50UHJvcGVydGllczogWkNvbXBvbmVudFByb3BlcnRpZXM7XHJcblxyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluaXRDb21wb25lbnQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcyA9IHRoaXMuY29tcG9uZW50UHJvcGVydGllcyB8fCBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29tcG9uZW50QWRkaXRpb25hbFByb3BlcnRpZXModGhpcyk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29tcFN0eWxlc0J5SW5kZXgodGhpcyk7XHJcbiAgICB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlID0gdGhpcy5kYXRhLkNvbXBvbmVudFN0eWxlVHlwZSB8fCBcInN0eWxlMVwiO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKFt0aGlzLmNvbXBvbmVudFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50RmllbGQodGhpcy5kYXRhLCB0aGlzLmdyb3VwKSwgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnRyYW5zbGF0ZUNvbXBvbmVudFByb3BlcnRpZXModGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCB0aGlzLmdyb3VwKV0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwSW5uZXJGaWVsZCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNb2JpbGVTY3JlZW4oKSB7XHJcbiAgICBjb25zdCB2ID0gWkNvbXBvbmVudEhlbHBlci5pc01vYmlsZVNjcmVlbigpO1xyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBgJHtaQ29tcG9uZW50SGVscGVyLmdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSl9ICR7ZGF0YS5EaXZDbGFzc30gJHtkYXRhLkNsYXNzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTdHlsZShzdHlsZTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pY29uID0gaWNvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbFRleHQobGFiZWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsID0gbGFiZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29udGFpbmVyU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KHRoaXMsIGluZCwgc3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVuYWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGNvbnN0IGZjID0gdGhpcy5ncm91cD8uZm9ybT8uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIGlmIChmYykge1xyXG4gICAgICBzdGF0dXMgPyBmYy5lbmFibGUoKSA6IGZjLmRpc2FibGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gIXN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJlcXVpcmUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZCA9IHN0YXR1cztcclxuICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuVHlwZSA9PT0gJ3p0ZXh0ZWRpdG9yJykge1xyXG4gICAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBaQ29tcG9uZW50SGVscGVyLnJlcXVpcmVkVmFsaWRhdG9yX1dpdGhvdXRXaGl0ZVNwYWNlc19UZXh0RWRpdG9yKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBaQ29tcG9uZW50SGVscGVyLnJlcXVpcmVkVmFsaWRhdG9yX1dpdGhvdXRXaGl0ZVNwYWNlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWU6IGFueSwgZm9udEF3ZXNvbWVTZXJ2aWNlOiBGb250QXdlU29tZVNlcnZpY2UpIHtcclxuICAgIGNvbnN0IGljb25OYW1lVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoaWNvbk5hbWUsIHRoaXMuZ3JvdXApO1xyXG4gICAgaWYgKGljb25OYW1lVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWVWYWx1ZSwgZm9udEF3ZXNvbWVTZXJ2aWNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpY29uTmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVFZGl0TW9kZSgpIHtcclxuICAgIHRoaXMuZGF0YVtgX0VkaXRNb2RlYF0udmFsdWUgPSAhdGhpcy5kYXRhW2BfRWRpdE1vZGVgXS52YWx1ZTtcclxuICB9XHJcbn1cclxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUk1QyxPQUFPLEVBRUwsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQ3ZDLE1BQU0saUJBQWlCLENBQUM7OztBQU96QixnREFBZ0Q7QUFDaEQsTUFBTSxPQUFPLFNBQVM7SUFTcEIsWUFDUyxnQkFBbUM7UUFBbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUhyQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBcURqQixjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1C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QXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7XHJcbiAgRm9udEF3ZVNvbWVTZXJ2aWNlLFxyXG4gIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBaRmllbGQsIFpHcm91cFxyXG59IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IGFwcC1lcnJvciwgemdhdWdlLCB6cHJvZ3Jlc3NiYXIsIHpyZXBvcnRcclxuZXhwb3J0IGNsYXNzIEZpZWxkQmFzZSB7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGNvbnRhaW5lckZpZWxkOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgY29tcG9uZW50UHJvcGVydGllczogWkNvbXBvbmVudFByb3BlcnRpZXM7XHJcblxyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluaXRDb21wb25lbnQob3B0aW9ucz86IEZpZWxkU2V0dXBPcHRpb24pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzID0gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzIHx8IG5ldyBaQ29tcG9uZW50UHJvcGVydGllcygpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgaWYgKCEob3B0aW9ucyAmJiBvcHRpb25zLmlzUmVnaXN0ZXJDb21wb25lbnQgPT0gZmFsc2UpKSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29tcG9uZW50QWRkaXRpb25hbFByb3BlcnRpZXModGhpcyk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29tcFN0eWxlc0J5SW5kZXgodGhpcyk7XHJcbiAgICB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlID0gdGhpcy5kYXRhLkNvbXBvbmVudFN0eWxlVHlwZSB8fCBcInN0eWxlMVwiO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKFt0aGlzLmNvbXBvbmVudFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50RmllbGQodGhpcy5kYXRhLCB0aGlzLmdyb3VwKSwgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnRyYW5zbGF0ZUNvbXBvbmVudFByb3BlcnRpZXModGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCB0aGlzLmdyb3VwKV0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwSW5uZXJGaWVsZCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNb2JpbGVTY3JlZW4oKSB7XHJcbiAgICBjb25zdCB2ID0gWkNvbXBvbmVudEhlbHBlci5pc01vYmlsZVNjcmVlbigpO1xyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBgJHtaQ29tcG9uZW50SGVscGVyLmdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSl9ICR7ZGF0YS5EaXZDbGFzc30gJHtkYXRhLkNsYXNzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTdHlsZShzdHlsZTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pY29uID0gaWNvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbFRleHQobGFiZWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsID0gbGFiZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29udGFpbmVyU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KHRoaXMsIGluZCwgc3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVuYWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGNvbnN0IGZjID0gdGhpcy5ncm91cD8uZm9ybT8uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIGlmIChmYykge1xyXG4gICAgICBzdGF0dXMgPyBmYy5lbmFibGUoKSA6IGZjLmRpc2FibGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gIXN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJlcXVpcmUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZCA9IHN0YXR1cztcclxuICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuVHlwZSA9PT0gJ3p0ZXh0ZWRpdG9yJykge1xyXG4gICAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBaQ29tcG9uZW50SGVscGVyLnJlcXVpcmVkVmFsaWRhdG9yX1dpdGhvdXRXaGl0ZVNwYWNlc19UZXh0RWRpdG9yKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBaQ29tcG9uZW50SGVscGVyLnJlcXVpcmVkVmFsaWRhdG9yX1dpdGhvdXRXaGl0ZVNwYWNlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWU6IGFueSwgZm9udEF3ZXNvbWVTZXJ2aWNlOiBGb250QXdlU29tZVNlcnZpY2UpIHtcclxuICAgIGNvbnN0IGljb25OYW1lVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoaWNvbk5hbWUsIHRoaXMuZ3JvdXApO1xyXG4gICAgaWYgKGljb25OYW1lVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWVWYWx1ZSwgZm9udEF3ZXNvbWVTZXJ2aWNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpY29uTmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVFZGl0TW9kZSgpIHtcclxuICAgIHRoaXMuZGF0YVtgX0VkaXRNb2RlYF0udmFsdWUgPSAhdGhpcy5kYXRhW2BfRWRpdE1vZGVgXS52YWx1ZTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTZXR1cE9wdGlvbiB7XHJcbiAgaXNSZWdpc3RlckNvbXBvbmVudD86IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -59,6 +59,12 @@ export class InputFieldBase extends FieldBase {
|
|
|
59
59
|
setAddOnValue(addOns) {
|
|
60
60
|
this.triggerContainerEvent.emit({ type: 'setAddOnValue', data: addOns });
|
|
61
61
|
}
|
|
62
|
+
setMinValue(newValue) {
|
|
63
|
+
this.triggerContainerEvent.emit({ type: 'setMinValue', newValue: newValue });
|
|
64
|
+
}
|
|
65
|
+
setMaxValue(newValue) {
|
|
66
|
+
this.triggerContainerEvent.emit({ type: 'setMaxValue', newValue: newValue });
|
|
67
|
+
}
|
|
62
68
|
triggerEvent(type, target, event, fieldValue) {
|
|
63
69
|
if (target) {
|
|
64
70
|
this.group.subject.next({
|
|
@@ -209,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
209
215
|
type: Output,
|
|
210
216
|
args: ['triggerContainerEvent']
|
|
211
217
|
}] } });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dGZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSw2QkFBNkI7QUFFN0IsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9ELDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUF5QixNQUFNLGlCQUFpQixDQUFDOzs7QUFPMUUsMklBQTJJO0FBQzNJLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUczQyxZQUNTLGdCQUFtQztRQUUxQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUZqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBSFgsMEJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFNL0YsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFVLEVBQUUsVUFBZ0I7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVSxFQUFFLFVBQWdCO1FBQzVDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8s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QUFDOzsyR0E3TlUsY0FBYzsrRkFBZCxjQUFjLHdJQUpmLEVBQUU7MkZBSUQsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt3R0FJa0MscUJBQXFCO3NCQUFyRCxNQUFNO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgaW50ZXJ2YWwsIG9mLCBzd2l0Y2hNYXAsIHRha2VXaGlsZSwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgRmllbGRCYXNlIH0gZnJvbSBcIi4vZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudE91dHB1dEV2ZW50IH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuXHJcbi8vIEZvcjogemNoZWNrYm94LCB6Y2hpcCwgemRhdGV0aW1lLCB6aW1nLCB6aW5wdXQtY29udGFpbmVyLCB6bGFiZWwsIHpudW1lcmljLCB6cG9zdHNlbGVjdGlucHV0LCB6c2VsZWN0bXVsdGlwbGUsIHp0ZXh0LCB6dGV4dGFyZWEsIHp1cGxvYWRcclxuZXhwb3J0IGNsYXNzIElucHV0RmllbGRCYXNlIGV4dGVuZHMgRmllbGRCYXNlIHtcclxuICBAT3V0cHV0KCd0cmlnZ2VyQ29udGFpbmVyRXZlbnQnKSB0cmlnZ2VyQ29udGFpbmVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjb21wb25lbnRTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGljayhldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICB0aGlzLnRyaWdnZXJFdmVudChcImlucHV0ZmllbGQtb25DbGlja1wiLCB0aGlzLmRhdGEuT25DbGljaywgZXZlbnQsIGZpZWxkVmFsdWUgfHwgZXZlbnRbJ09uQ2xpY2snXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2VDQyhldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldE1vZGVsVmFsdWUodGhpcy5kYXRhLkNDVmFsdWUsIHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIHRoaXMuZ3JvdXApO1xyXG4gICAgdGhpcy50cmlnZ2VyRXZlbnQoXCJpbnB1dGZpZWxkLW9uQ2hhbmdlQ0NcIiwgdGhpcy5kYXRhLkNDT25DaGFuZ2UsIGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLlN1YlR5cGUgJiYgdGhpcy5kYXRhLlN1YlR5cGUgPT09ICd6dWRmJykge1xyXG4gICAgICB0aGlzLmhhbmRsZVp1ZGZDaGFuZ2UoZXZlbnQsIGZpZWxkVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRNb2RlbFZhbHVlKHRoaXMuZGF0YSwgdGhpcy5nZXRGaWVsZFZhbHVlKGV2ZW50LCBmaWVsZFZhbHVlKSwgdGhpcy5ncm91cCk7XHJcbiAgICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkNoYW5nZVwiLCB0aGlzLmRhdGEuT25DaGFuZ2UsIGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkl0ZW1DbGljayhldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICB0aGlzLnRyaWdnZXJFdmVudChcImlucHV0ZmllbGQtb25JdGVtQ2xpY2tcIiwgdGhpcy5kYXRhLk9uSXRlbUNsaWNrLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25JY29uQ2xpY2soY2xpY2tBY3Rpb25FeHByOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkljb25DbGlja1wiLCBjbGlja0FjdGlvbkV4cHIsIG51bGwsIHRoaXMuZ3JvdXAuek1vZGVsW3RoaXMuZGF0YS5WYWx1ZV0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFJlYWRPbmx5VmFsdWUoKSB7XHJcbiAgICBjb25zdCByZWFkT25seVZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5SZWFkT25seSk7XHJcbiAgICBpZiAodHlwZW9mIHJlYWRPbmx5VmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSByZWFkT25seVZhbHVlLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICByZXR1cm4gY2FsbEZ1bmModGhpcy5ncm91cCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJc1JlcXVpcmVkVmFsdWUoKSB7XHJcbiAgICBjb25zdCBJc1JlcXVpcmVkVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLklzUmVxdWlyZWQpO1xyXG4gICAgaWYgKHR5cGVvZiBJc1JlcXVpcmVkVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBJc1JlcXVpcmVkVmFsdWUuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgIHJldHVybiBjYWxsRnVuYyh0aGlzLmdyb3VwKTtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gSXNSZXF1aXJlZFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50TW9kZWxWYWx1ZSh0aGlzLmRhdGEsIHZhbHVlLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRBZGRPblZhbHVlKGFkZE9ucz86IGFueSkge1xyXG4gICAgdGhpcy50cmlnZ2VyQ29udGFpbmVyRXZlbnQuZW1pdCh7IHR5cGU6ICdzZXRBZGRPblZhbHVlJywgZGF0YTogYWRkT25zIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJFdmVudCh0eXBlOiBzdHJpbmcsIHRhcmdldDogYW55LCBldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgIHRhcmdldDogdGFyZ2V0LFxyXG4gICAgICAgIGV2ZW50LFxyXG4gICAgICAgIGRhdGE6IHsgdmFsdWU6IHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIGZpZWxkOiB0aGlzLmRhdGEsIGNvbXA6IHRoaXMgfVxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpZWxkVmFsdWUoZXZlbnQ6IGFueSwgZmllbGRWYWx1ZT86IGFueSkge1xyXG4gICAgaWYgKGZpZWxkVmFsdWUgPT0gbnVsbCB8fCBmaWVsZFZhbHVlID09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gZXZlbnQ/LnZhbHVlIHx8IGV2ZW50Py50YXJnZXQ/LnZhbHVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmllbGRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlWnVkZkNoYW5nZShldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBjb25zdCB6dWRmRmllbGRWYWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgICBjb25zdCB6dWRmU2NvcGUgPSBaQ29tcG9uZW50SGVscGVyLmdldFp1ZGZTY29wZSh0aGlzLmdyb3VwLCB0aGlzLmRhdGEuVmFsdWUpO1xyXG5cclxuICAgIGlmICghenVkZlNjb3BlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCd6dWRmIHNjb3BlIGlzIG51bGwgZm9yIGZpZWxkIG9uY2hhbmdlLicpO1xyXG4gICAgfVxyXG5cclxuICAgIHp1ZGZTY29wZS56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSA9IHp1ZGZGaWVsZFZhbHVlO1xyXG4gICAgb2Yoe30pLnBpcGUoXHJcbiAgICAgIHRhcChyZXMgPT4ge1xyXG4gICAgICAgIGlmICh6dWRmU2NvcGUubGlua2VkQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICB0aGlzLmNhc2NhZGluZ0hhbmRsaW5nKHp1ZGZTY29wZSwgdGhpcy5kYXRhLlZhbHVlLCBmaWVsZFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAocmVzID0+IHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhWydBdXRvUG9wdWxhdGVDaGlsZEZpZWxkVmFsdWUnXSkge1xyXG4gICAgICAgICAgLy8gWlVERi4gQXV0byBQb3B1bGF0ZSBjaGlsZCBmaWVsZCB2YWx1ZVxyXG4gICAgICAgICAgY29uc3QgY2hpbGRGaWVsZHMgPSB0aGlzLmRhdGFbJ0NoaWxkRmllbGRzJ107XHJcbiAgICAgICAgICBpZiAoY2hpbGRGaWVsZHMpIHtcclxuICAgICAgICAgICAgbGV0IHNlbGVjdGVkRGF0YU9wdGlvbiA9IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgLy8gZ2V0IHRoZSBzZWxlY3RlZCBkYXRhIGZ1bGwgaW5mb1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGFPcHRpb24gPSB0aGlzLmdyb3VwLnpEYXRhW3RoaXMuZGF0YVsnWkRhdGFPcHRpb25OYW1lJ11dO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoZGF0YU9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgZGF0YU9wdGlvbi5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24uSWQgPT09IGZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZERhdGFPcHRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBzZXQgdG8gYWxsIHJlbGF0ZWQgek1vZGUgb2YgdGhlIGRyb3Bkb3duXHJcbiAgICAgICAgICAgIGxldCBmZzogRm9ybUdyb3VwID0genVkZlNjb3BlLmZvcm0gYXMgRm9ybUdyb3VwO1xyXG4gICAgICAgICAgICBjaGlsZEZpZWxkcy5mb3JFYWNoKGNoaWxkRmllbGQgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIHJlbW92ZSBzeW1ib2wuXHJcbiAgICAgICAgICAgICAgbGV0IGNoaWxkRmllbGROYW1lID0gZW5jb2RlVVJJKGNoaWxkRmllbGQucmVwbGFjZSgvW15hLXowLTldL2dpLCBcIlwiKSk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZmllbGRNb2RlbE5hbWUgPSB0aGlzLmRhdGEuTmFtZSArIGNoaWxkRmllbGROYW1lO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHpNb2RlbHMgPSB6dWRmU2NvcGUuek1vZGVsO1xyXG5cclxuICAgICAgICAgICAgICBjb25zdCBjaGlsZENvbXBvbmVudCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0Q29tcG9uZW50KHRoaXMuZ3JvdXAsICd0ZXh0XycgKyBmaWVsZE1vZGVsTmFtZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGNoaWxkQ29tcG9uZW50WydkYXRhJ11bJ1JlYWRPbmx5J10gJiYgIWZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIC8vIGNsZWFyIGNoaWxkIGZpZWxkIGlmIG9ubHkgcmVhZG9ubHkgaXMgdHJ1ZS5cclxuICAgICAgICAgICAgICAgIHpNb2RlbHNbZmllbGRNb2RlbE5hbWVdID0gIWZpZWxkVmFsdWUgPyBudWxsIDogc2VsZWN0ZWREYXRhT3B0aW9uID8gc2VsZWN0ZWREYXRhT3B0aW9uW2NoaWxkRmllbGROYW1lXSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRGF0YU9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICB6TW9kZWxzW2ZpZWxkTW9kZWxOYW1lXSA9IHNlbGVjdGVkRGF0YU9wdGlvbltjaGlsZEZpZWxkTmFtZV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGZnLnBhdGNoVmFsdWUoek1vZGVscyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcChyZXMgPT4ge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50TmFtZSA9ICd0cmlnZ2VyVmFsaWRhdGlvbic7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXApIHtcclxuICAgICAgICAgIGlmICh0aGlzLmdyb3VwW2V2ZW50TmFtZV0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBbZXZlbnROYW1lXSh0aGlzLmdyb3VwLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih7fSk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnRyaWdnZXJFdmVudChcImlucHV0ZmllbGQtb25DaGFuZ2VcIiwgdGhpcy5kYXRhLk9uQ2hhbmdlLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FzY2FkaW5nSGFuZGxpbmcoenVkZlNjb3BlOiBhbnksIGZpZWxkTmFtZTogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBjb25zdCBsaW5rZWRDb21wb25lbnRTY29wZSA9IHp1ZGZTY29wZS5saW5rZWRDb21wb25lbnQ7XHJcbiAgICAvLyAjMSBjaGVjayBpcyB0aGUgb25jaGFuZ2UgY29tcG9uZW50IGxpbmtlZCB0byBvdGhlciBjb21wb25lbnQuXHJcbiAgICAvLyAjMiBpZiBsaW5rZWQgdG8gb3RoZXIgY29tcG9uZW50KGxldHMgY2FsbCBpdCBjaGlsZCBjb21wb25lbnQpLFxyXG4gICAgLy8gICAgYmFzZSBvbiB0aGUgbGlua2VkQ29tcG9uZW50U2NvcGUgdmFsdWUsIGZpbmQgdGhlIGNoaWxkIGNvbXBvbmVudC5cclxuICAgIC8vICMzIGtlZXAgdGhlIG9yaWdpbmFsIFNlbGVjdE9wdGlvbnMgaW4gdGhlIGNvbXBvbmVudC5cclxuICAgIC8vICM0IGNsZWFyIHRoZSBjaGlsZCB6bW9kZWwgYW5kIGZpbHRlciB0aGUgY2hpbGQgY29tcG9uZW50IG9wdGlvbnMuXHJcbiAgICAvLyAjNSBhdXRvIHNlbGVjdCBkZWZhdWx0IHptb2RlbCBpZiBvbmx5IGhhdmUgMSBvcHRpb24gYW5kIGlzIHJlcXVpcmVkLlxyXG4gICAgLy8gIzYgaGFuZGxlIGNoaWxkIG5lc3RlZCBsaW5rZWQgY29tcG9uZW50LlxyXG4gICAgbGlua2VkQ29tcG9uZW50U2NvcGUuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgY29uc3QgZGF0YVZhbHVlU2VnbWVudHMgPSBmaWVsZE5hbWUuc3BsaXQoJ18nKTtcclxuICAgICAgY29uc3QgbGlua2VkQ29tcG9uZW50U2VnbWVudHMgPSBpdGVtLmxpbmtlZENvbXBvbmVudC5zcGxpdCgnXycpO1xyXG4gICAgICBsZXQgaXNMaW5rZWRDb21wb25lbnQgPSBmYWxzZTtcclxuXHJcbiAgICAgIC8vIGNoZWNrIGlzIGl0IGxpbmtlZGNvbXBvbmVudFxyXG4gICAgICBpZiAobGlua2VkQ29tcG9uZW50U2VnbWVudHMubGVuZ3RoID4gMSAmJiBkYXRhVmFsdWVTZWdtZW50cy5sZW5ndGggPiAzKSB7XHJcbiAgICAgICAgY29uc3QgbGFzdFR3b1NlZ21lbnRzID0gZGF0YVZhbHVlU2VnbWVudHMuc2xpY2UoLTIpLmpvaW4oJ18nKTtcclxuICAgICAgICBpZiAobGlua2VkQ29tcG9uZW50U2VnbWVudHMuam9pbignXycpID09PSBsYXN0VHdvU2VnbWVudHMpIHtcclxuICAgICAgICAgIGlzTGlua2VkQ29tcG9uZW50ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobGlua2VkQ29tcG9uZW50U2VnbWVudHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgY29uc3QgbGFzdFNlZ21lbnQgPSBkYXRhVmFsdWVTZWdtZW50c1tkYXRhVmFsdWVTZWdtZW50cy5sZW5ndGggLSAxXTtcclxuICAgICAgICBpZiAobGlua2VkQ29tcG9uZW50U2VnbWVudHNbMF0gPT09IGxhc3RTZWdtZW50KSB7XHJcbiAgICAgICAgICBpc0xpbmtlZENvbXBvbmVudCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXNMaW5rZWRDb21wb25lbnQpIHtcclxuICAgICAgICBjb25zdCBjaGlsZENvbXBvbmVudCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0Q29tcG9uZW50QnlWYWx1ZSh0aGlzLmdyb3VwLCBpdGVtLnZhbHVlKTtcclxuICAgICAgICBjb25zdCBvcmlnaW5hbFNlbGVjdE9wdGlvbnMgPSBjaGlsZENvbXBvbmVudC5kYXRhWydvcmlnaW5hbFNlbGVjdE9wdGlvbnMnXSA/PyBPYmplY3QuYXNzaWduKFtdLCBjaGlsZENvbXBvbmVudC5kYXRhLlNlbGVjdE9wdGlvbnMpO1xyXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0aW9uT3B0aW9ucyA9IG9yaWdpbmFsU2VsZWN0T3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi5wYXJlbnRFeHByZXNzaW9uID09IGZpZWxkVmFsdWUpO1xyXG5cclxuICAgICAgICAvL2NoaWxkQ29tcG9uZW50LmNsZWFyRGF0YSgpOyAvL3VuYWJsZSB0byB1c2UgY2xlYXJEYXRhLiBub3QgaGFuZGxlZCBmb3IgenVkZiB0eXBlXHJcbiAgICAgICAgLy8gbWFudWFsbCBwYXRjaCB0aGUgY29tcG9uZW50IGZvcm1jb250cm9sIHZhbHVlXHJcbiAgICAgICAgY29uc3QgenVkZkZvcm0gPSB6dWRmU2NvcGUuZm9ybSBhcyBGb3JtR3JvdXA7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50Rm9ybUNvbnRyb2wgPSB6dWRmRm9ybS5jb250cm9sc1tpdGVtLnZhbHVlXSBhcyBGb3JtQ29udHJvbDtcclxuICAgICAgICB6dWRmU2NvcGUuek1vZGVsW2l0ZW0udmFsdWVdID0gbnVsbDtcclxuICAgICAgICBjb21wb25lbnRGb3JtQ29udHJvbC5wYXRjaFZhbHVlKHp1ZGZTY29wZS56TW9kZWxbaXRlbS52YWx1ZV0pO1xyXG5cclxuICAgICAgICBjaGlsZENvbXBvbmVudC5kYXRhWydvcmlnaW5hbFNlbGVjdE9wdGlvbnMnXSA9IG9yaWdpbmFsU2VsZWN0T3B0aW9ucztcclxuICAgICAgICBjaGlsZENvbXBvbmVudC5zZXRTZWxlY3RPcHRpb24oZmlsdGVyZWRTZWxlY3Rpb25PcHRpb25zKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IGRyb3Bkb3duIHNlbGVjdGVkIHZhbHVlIGlmIG9ubHkgMSBvcHRpb24uXHJcbiAgICAgICAgY29uc3QgY2hpbGRDb21wb25lbnRUeXBlID0gY2hpbGRDb21wb25lbnQuZGF0YS5UeXBlO1xyXG4gICAgICAgIGlmIChmaWx0ZXJlZFNlbGVjdGlvbk9wdGlvbnMubGVuZ3RoID09PSAxICYmIGNoaWxkQ29tcG9uZW50LmRhdGEuSXNSZXF1aXJlZCAmJiAoY2hpbGRDb21wb25lbnRUeXBlID09PSAnenVpc2VsZWN0bXVsdGlwbGUnIHx8IGNoaWxkQ29tcG9uZW50VHlwZSA9PT0gJ3pzZWxlY3RtdWx0aXBsZScpKSB7XHJcbiAgICAgICAgICB6dWRmU2NvcGUuek1vZGVsW2l0ZW0udmFsdWVdID0gZmlsdGVyZWRTZWxlY3Rpb25PcHRpb25zWzBdW2NoaWxkQ29tcG9uZW50Lml0ZW1WYWx1ZUZpZWxkXTtcclxuICAgICAgICAgIGNvbXBvbmVudEZvcm1Db250cm9sLnBhdGNoVmFsdWUoenVkZlNjb3BlLnpNb2RlbFtpdGVtLnZhbHVlXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBsb29wIGNoaWxkcmVuIGluY2FzZSBvZiBuZXN0ZWQgY2hpbGQuXHJcbiAgICAgICAgY29uc3QgY2hpbGRDb21wb25lbnRWYWx1ZVNlZ21lbnRzID0gY2hpbGRDb21wb25lbnQuZGF0YS5WYWx1ZS5zcGxpdCgnXycpO1xyXG4gICAgICAgIHRoaXMuY2FzY2FkaW5nSGFuZGxpbmcoenVkZlNjb3BlLCBjaGlsZENvbXBvbmVudFZhbHVlU2VnbWVudHNbY2hpbGRDb21wb25lbnRWYWx1ZVNlZ21lbnRzLmxlbmd0aCAtIDFdLCB6dWRmU2NvcGUuek1vZGVsW2l0ZW0udmFsdWVdKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBmb2N1c09uRGVmYXVsdChmb2N1c0Z1bmN0aW9uOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuSXNGb2N1cykge1xyXG4gICAgICBsZXQgY291bnRlciA9IDA7XHJcbiAgICAgIGxldCBpc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgICAgaW50ZXJ2YWwoNTAwKS5waXBlKFxyXG4gICAgICAgIHRha2VXaGlsZSh4ID0+IGNvdW50ZXIgPCA1ICYmICFpc0ZvY3VzZWQpLFxyXG4gICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICBpc0ZvY3VzZWQgPSBmb2N1c0Z1bmN0aW9uKCk7XHJcbiAgICAgICAgICBjb3VudGVyKys7XHJcbiAgICAgICAgfSlcclxuICAgICAgKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dGZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSw2QkFBNkI7QUFFN0IsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9ELDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUF5QixNQUFNLGlCQUFpQixDQUFDOzs7QUFPMUUsMklBQTJJO0FBQzNJLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUczQyxZQUNTLGdCQUFtQztRQUUxQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUZqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBSFgsMEJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFNL0YsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFVLEVBQUUsVUFBZ0I7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVSxFQUFFLFVBQWdCO1FBQzVDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8s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QUcsS0FBSyxDQUFDO1lBQ3RCLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2hCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDekMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDUCxTQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNmO0lBQ0gsQ0FBQzs7MkdBck9VLGNBQWM7K0ZBQWQsY0FBYyx3SUFKZixFQUFFOzJGQUlELGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7d0dBSWtDLHFCQUFxQjtzQkFBckQsTUFBTTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IGludGVydmFsLCBvZiwgc3dpdGNoTWFwLCB0YWtlV2hpbGUsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpjaGVja2JveCwgemNoaXAsIHpkYXRldGltZSwgemltZywgemlucHV0LWNvbnRhaW5lciwgemxhYmVsLCB6bnVtZXJpYywgenBvc3RzZWxlY3RpbnB1dCwgenNlbGVjdG11bHRpcGxlLCB6dGV4dCwgenRleHRhcmVhLCB6dXBsb2FkXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgQE91dHB1dCgndHJpZ2dlckNvbnRhaW5lckV2ZW50JykgdHJpZ2dlckNvbnRhaW5lckV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IGFueSwgZmllbGRWYWx1ZT86IGFueSkge1xyXG4gICAgdGhpcy50cmlnZ2VyRXZlbnQoXCJpbnB1dGZpZWxkLW9uQ2xpY2tcIiwgdGhpcy5kYXRhLk9uQ2xpY2ssIGV2ZW50LCBmaWVsZFZhbHVlIHx8IGV2ZW50WydPbkNsaWNrJ10pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlQ0MoZXZlbnQ6IGFueSwgZmllbGRWYWx1ZT86IGFueSkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRNb2RlbFZhbHVlKHRoaXMuZGF0YS5DQ1ZhbHVlLCB0aGlzLmdldEZpZWxkVmFsdWUoZXZlbnQsIGZpZWxkVmFsdWUpLCB0aGlzLmdyb3VwKTtcclxuICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkNoYW5nZUNDXCIsIHRoaXMuZGF0YS5DQ09uQ2hhbmdlLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2UoZXZlbnQ6IGFueSwgZmllbGRWYWx1ZT86IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5TdWJUeXBlICYmIHRoaXMuZGF0YS5TdWJUeXBlID09PSAnenVkZicpIHtcclxuICAgICAgdGhpcy5oYW5kbGVadWRmQ2hhbmdlKGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50TW9kZWxWYWx1ZSh0aGlzLmRhdGEsIHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIHRoaXMuZ3JvdXApO1xyXG4gICAgICB0aGlzLnRyaWdnZXJFdmVudChcImlucHV0ZmllbGQtb25DaGFuZ2VcIiwgdGhpcy5kYXRhLk9uQ2hhbmdlLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25JdGVtQ2xpY2soZXZlbnQ6IGFueSwgZmllbGRWYWx1ZT86IGFueSkge1xyXG4gICAgdGhpcy50cmlnZ2VyRXZlbnQoXCJpbnB1dGZpZWxkLW9uSXRlbUNsaWNrXCIsIHRoaXMuZGF0YS5Pbkl0ZW1DbGljaywgZXZlbnQsIGZpZWxkVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uSWNvbkNsaWNrKGNsaWNrQWN0aW9uRXhwcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRyaWdnZXJFdmVudChcImlucHV0ZmllbGQtb25JY29uQ2xpY2tcIiwgY2xpY2tBY3Rpb25FeHByLCBudWxsLCB0aGlzLmdyb3VwLnpNb2RlbFt0aGlzLmRhdGEuVmFsdWVdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSZWFkT25seVZhbHVlKCkge1xyXG4gICAgY29uc3QgcmVhZE9ubHlWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuUmVhZE9ubHkpO1xyXG4gICAgaWYgKHR5cGVvZiByZWFkT25seVZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gcmVhZE9ubHlWYWx1ZS5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgcmV0dXJuIGNhbGxGdW5jKHRoaXMuZ3JvdXApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlYWRPbmx5VmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SXNSZXF1aXJlZFZhbHVlKCkge1xyXG4gICAgY29uc3QgSXNSZXF1aXJlZFZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5Jc1JlcXVpcmVkKTtcclxuICAgIGlmICh0eXBlb2YgSXNSZXF1aXJlZFZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gSXNSZXF1aXJlZFZhbHVlLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICByZXR1cm4gY2FsbEZ1bmModGhpcy5ncm91cCk7XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIElzUmVxdWlyZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudE1vZGVsVmFsdWUodGhpcy5kYXRhLCB2YWx1ZSwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0QWRkT25WYWx1ZShhZGRPbnM/OiBhbnkpIHtcclxuICAgIHRoaXMudHJpZ2dlckNvbnRhaW5lckV2ZW50LmVtaXQoeyB0eXBlOiAnc2V0QWRkT25WYWx1ZScsIGRhdGE6IGFkZE9ucyB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRNaW5WYWx1ZShuZXdWYWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnRyaWdnZXJDb250YWluZXJFdmVudC5lbWl0KHsgdHlwZTogJ3NldE1pblZhbHVlJywgbmV3VmFsdWU6IG5ld1ZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldE1heFZhbHVlKG5ld1ZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMudHJpZ2dlckNvbnRhaW5lckV2ZW50LmVtaXQoeyB0eXBlOiAnc2V0TWF4VmFsdWUnLCBuZXdWYWx1ZTogbmV3VmFsdWUgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJpZ2dlckV2ZW50KHR5cGU6IHN0cmluZywgdGFyZ2V0OiBhbnksIGV2ZW50OiBhbnksIGZpZWxkVmFsdWU/OiBhbnkpIHtcclxuICAgIGlmICh0YXJnZXQpIHtcclxuICAgICAgdGhpcy5ncm91cC5zdWJqZWN0Lm5leHQoe1xyXG4gICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgICAgdGFyZ2V0OiB0YXJnZXQsXHJcbiAgICAgICAgZXZlbnQsXHJcbiAgICAgICAgZGF0YTogeyB2YWx1ZTogdGhpcy5nZXRGaWVsZFZhbHVlKGV2ZW50LCBmaWVsZFZhbHVlKSwgZmllbGQ6IHRoaXMuZGF0YSwgY29tcDogdGhpcyB9XHJcbiAgICAgIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RmllbGRWYWx1ZShldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAoZmllbGRWYWx1ZSA9PSBudWxsIHx8IGZpZWxkVmFsdWUgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBldmVudD8udmFsdWUgfHwgZXZlbnQ/LnRhcmdldD8udmFsdWVcclxuICAgIH1cclxuICAgIHJldHVybiBmaWVsZFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVadWRmQ2hhbmdlKGV2ZW50OiBhbnksIGZpZWxkVmFsdWU/OiBhbnkpIHtcclxuICAgIGNvbnN0IHp1ZGZGaWVsZFZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlKGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICAgIGNvbnN0IHp1ZGZTY29wZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0WnVkZlNjb3BlKHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSk7XHJcblxyXG4gICAgaWYgKCF6dWRmU2NvcGUpIHtcclxuICAgICAgY29uc29sZS5sb2coJ3p1ZGYgc2NvcGUgaXMgbnVsbCBmb3IgZmllbGQgb25jaGFuZ2UuJyk7XHJcbiAgICB9XHJcblxyXG4gICAgenVkZlNjb3BlLnpNb2RlbFt0aGlzLmRhdGEuVmFsdWVdID0genVkZkZpZWxkVmFsdWU7XHJcbiAgICBvZih7fSkucGlwZShcclxuICAgICAgdGFwKHJlcyA9PiB7XHJcbiAgICAgICAgaWYgKHp1ZGZTY29wZS5saW5rZWRDb21wb25lbnQpIHtcclxuICAgICAgICAgIHRoaXMuY2FzY2FkaW5nSGFuZGxpbmcoenVkZlNjb3BlLCB0aGlzLmRhdGEuVmFsdWUsIGZpZWxkVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRhcChyZXMgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFbJ0F1dG9Qb3B1bGF0ZUNoaWxkRmllbGRWYWx1ZSddKSB7XHJcbiAgICAgICAgICAvLyBaVURGLiBBdXRvIFBvcHVsYXRlIGNoaWxkIGZpZWxkIHZhbHVlXHJcbiAgICAgICAgICBjb25zdCBjaGlsZEZpZWxkcyA9IHRoaXMuZGF0YVsnQ2hpbGRGaWVsZHMnXTtcclxuICAgICAgICAgIGlmIChjaGlsZEZpZWxkcykge1xyXG4gICAgICAgICAgICBsZXQgc2VsZWN0ZWREYXRhT3B0aW9uID0gbnVsbDtcclxuICAgICAgICAgICAgaWYgKGZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgICAvLyBnZXQgdGhlIHNlbGVjdGVkIGRhdGEgZnVsbCBpbmZvXHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YU9wdGlvbiA9IHRoaXMuZ3JvdXAuekRhdGFbdGhpcy5kYXRhWydaRGF0YU9wdGlvbk5hbWUnXV07XHJcblxyXG4gICAgICAgICAgICAgIGlmIChkYXRhT3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhT3B0aW9uLmZvckVhY2gob3B0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi5JZCA9PT0gZmllbGRWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRGF0YU9wdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIHNldCB0byBhbGwgcmVsYXRlZCB6TW9kZSBvZiB0aGUgZHJvcGRvd25cclxuICAgICAgICAgICAgbGV0IGZnOiBGb3JtR3JvdXAgPSB6dWRmU2NvcGUuZm9ybSBhcyBGb3JtR3JvdXA7XHJcbiAgICAgICAgICAgIGNoaWxkRmllbGRzLmZvckVhY2goY2hpbGRGaWVsZCA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gcmVtb3ZlIHN5bWJvbC5cclxuICAgICAgICAgICAgICBsZXQgY2hpbGRGaWVsZE5hbWUgPSBlbmNvZGVVUkkoY2hpbGRGaWVsZC5yZXBsYWNlKC9bXmEtejAtOV0vZ2ksIFwiXCIpKTtcclxuICAgICAgICAgICAgICBjb25zdCBmaWVsZE1vZGVsTmFtZSA9IHRoaXMuZGF0YS5OYW1lICsgY2hpbGRGaWVsZE5hbWU7XHJcbiAgICAgICAgICAgICAgY29uc3Qgek1vZGVscyA9IHp1ZGZTY29wZS56TW9kZWw7XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkQ29tcG9uZW50ID0gWkNvbXBvbmVudEhlbHBlci5nZXRDb21wb25lbnQodGhpcy5ncm91cCwgJ3RleHRfJyArIGZpZWxkTW9kZWxOYW1lKTtcclxuICAgICAgICAgICAgICBpZiAoY2hpbGRDb21wb25lbnRbJ2RhdGEnXVsnUmVhZE9ubHknXSAmJiAhZmllbGRWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gY2xlYXIgY2hpbGQgZmllbGQgaWYgb25seSByZWFkb25seSBpcyB0cnVlLlxyXG4gICAgICAgICAgICAgICAgek1vZGVsc1tmaWVsZE1vZGVsTmFtZV0gPSAhZmllbGRWYWx1ZSA/IG51bGwgOiBzZWxlY3RlZERhdGFPcHRpb24gPyBzZWxlY3RlZERhdGFPcHRpb25bY2hpbGRGaWVsZE5hbWVdIDogbnVsbDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWREYXRhT3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgIHpNb2RlbHNbZmllbGRNb2RlbE5hbWVdID0gc2VsZWN0ZWREYXRhT3B0aW9uW2NoaWxkRmllbGROYW1lXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZmcucGF0Y2hWYWx1ZSh6TW9kZWxzKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKHJlcyA9PiB7XHJcbiAgICAgICAgY29uc3QgZXZlbnROYW1lID0gJ3RyaWdnZXJWYWxpZGF0aW9uJztcclxuICAgICAgICBpZiAodGhpcy5ncm91cCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZ3JvdXBbZXZlbnROYW1lXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ncm91cFtldmVudE5hbWVdKHRoaXMuZ3JvdXAsIGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkNoYW5nZVwiLCB0aGlzLmRhdGEuT25DaGFuZ2UsIGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYXNjYWRpbmdIYW5kbGluZyh6dWRmU2NvcGU6IGFueSwgZmllbGROYW1lOiBhbnksIGZpZWxkVmFsdWU/OiBhbnkpIHtcclxuICAgIGNvbnN0IGxpbmtlZENvbXBvbmVudFNjb3BlID0genVkZlNjb3BlLmxpbmtlZENvbXBvbmVudDtcclxuICAgIC8vICMxIGNoZWNrIGlzIHRoZSBvbmNoYW5nZSBjb21wb25lbnQgbGlua2VkIHRvIG90aGVyIGNvbXBvbmVudC5cclxuICAgIC8vICMyIGlmIGxpbmtlZCB0byBvdGhlciBjb21wb25lbnQobGV0cyBjYWxsIGl0IGNoaWxkIGNvbXBvbmVudCksXHJcbiAgICAvLyAgICBiYXNlIG9uIHRoZSBsaW5rZWRDb21wb25lbnRTY29wZSB2YWx1ZSwgZmluZCB0aGUgY2hpbGQgY29tcG9uZW50LlxyXG4gICAgLy8gIzMga2VlcCB0aGUgb3JpZ2luYWwgU2VsZWN0T3B0aW9ucyBpbiB0aGUgY29tcG9uZW50LlxyXG4gICAgLy8gIzQgY2xlYXIgdGhlIGNoaWxkIHptb2RlbCBhbmQgZmlsdGVyIHRoZSBjaGlsZCBjb21wb25lbnQgb3B0aW9ucy5cclxuICAgIC8vICM1IGF1dG8gc2VsZWN0IGRlZmF1bHQgem1vZGVsIGlmIG9ubHkgaGF2ZSAxIG9wdGlvbiBhbmQgaXMgcmVxdWlyZWQuXHJcbiAgICAvLyAjNiBoYW5kbGUgY2hpbGQgbmVzdGVkIGxpbmtlZCBjb21wb25lbnQuXHJcbiAgICBsaW5rZWRDb21wb25lbnRTY29wZS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBkYXRhVmFsdWVTZWdtZW50cyA9IGZpZWxkTmFtZS5zcGxpdCgnXycpO1xyXG4gICAgICBjb25zdCBsaW5rZWRDb21wb25lbnRTZWdtZW50cyA9IGl0ZW0ubGlua2VkQ29tcG9uZW50LnNwbGl0KCdfJyk7XHJcbiAgICAgIGxldCBpc0xpbmtlZENvbXBvbmVudCA9IGZhbHNlO1xyXG5cclxuICAgICAgLy8gY2hlY2sgaXMgaXQgbGlua2VkY29tcG9uZW50XHJcbiAgICAgIGlmIChsaW5rZWRDb21wb25lbnRTZWdtZW50cy5sZW5ndGggPiAxICYmIGRhdGFWYWx1ZVNlZ21lbnRzLmxlbmd0aCA+IDMpIHtcclxuICAgICAgICBjb25zdCBsYXN0VHdvU2VnbWVudHMgPSBkYXRhVmFsdWVTZWdtZW50cy5zbGljZSgtMikuam9pbignXycpO1xyXG4gICAgICAgIGlmIChsaW5rZWRDb21wb25lbnRTZWdtZW50cy5qb2luKCdfJykgPT09IGxhc3RUd29TZWdtZW50cykge1xyXG4gICAgICAgICAgaXNMaW5rZWRDb21wb25lbnQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChsaW5rZWRDb21wb25lbnRTZWdtZW50cy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICBjb25zdCBsYXN0U2VnbWVudCA9IGRhdGFWYWx1ZVNlZ21lbnRzW2RhdGFWYWx1ZVNlZ21lbnRzLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIGlmIChsaW5rZWRDb21wb25lbnRTZWdtZW50c1swXSA9PT0gbGFzdFNlZ21lbnQpIHtcclxuICAgICAgICAgIGlzTGlua2VkQ29tcG9uZW50ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpc0xpbmtlZENvbXBvbmVudCkge1xyXG4gICAgICAgIGNvbnN0IGNoaWxkQ29tcG9uZW50ID0gWkNvbXBvbmVudEhlbHBlci5nZXRDb21wb25lbnRCeVZhbHVlKHRoaXMuZ3JvdXAsIGl0ZW0udmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsU2VsZWN0T3B0aW9ucyA9IGNoaWxkQ29tcG9uZW50LmRhdGFbJ29yaWdpbmFsU2VsZWN0T3B0aW9ucyddID8/IE9iamVjdC5hc3NpZ24oW10sIGNoaWxkQ29tcG9uZW50LmRhdGEuU2VsZWN0T3B0aW9ucyk7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyZWRTZWxlY3Rpb25PcHRpb25zID0gb3JpZ2luYWxTZWxlY3RPcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLnBhcmVudEV4cHJlc3Npb24gPT0gZmllbGRWYWx1ZSk7XHJcblxyXG4gICAgICAgIC8vY2hpbGRDb21wb25lbnQuY2xlYXJEYXRhKCk7IC8vdW5hYmxlIHRvIHVzZSBjbGVhckRhdGEuIG5vdCBoYW5kbGVkIGZvciB6dWRmIHR5cGVcclxuICAgICAgICAvLyBtYW51YWxsIHBhdGNoIHRoZSBjb21wb25lbnQgZm9ybWNvbnRyb2wgdmFsdWVcclxuICAgICAgICBjb25zdCB6dWRmRm9ybSA9IHp1ZGZTY29wZS5mb3JtIGFzIEZvcm1Hcm91cDtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRGb3JtQ29udHJvbCA9IHp1ZGZGb3JtLmNvbnRyb2xzW2l0ZW0udmFsdWVdIGFzIEZvcm1Db250cm9sO1xyXG4gICAgICAgIHp1ZGZTY29wZS56TW9kZWxbaXRlbS52YWx1ZV0gPSBudWxsO1xyXG4gICAgICAgIGNvbXBvbmVudEZvcm1Db250cm9sLnBhdGNoVmFsdWUoenVkZlNjb3BlLnpNb2RlbFtpdGVtLnZhbHVlXSk7XHJcblxyXG4gICAgICAgIGNoaWxkQ29tcG9uZW50LmRhdGFbJ29yaWdpbmFsU2VsZWN0T3B0aW9ucyddID0gb3JpZ2luYWxTZWxlY3RPcHRpb25zO1xyXG4gICAgICAgIGNoaWxkQ29tcG9uZW50LnNldFNlbGVjdE9wdGlvbihmaWx0ZXJlZFNlbGVjdGlvbk9wdGlvbnMpO1xyXG5cclxuICAgICAgICAvLyBzZXQgZHJvcGRvd24gc2VsZWN0ZWQgdmFsdWUgaWYgb25seSAxIG9wdGlvbi5cclxuICAgICAgICBjb25zdCBjaGlsZENvbXBvbmVudFR5cGUgPSBjaGlsZENvbXBvbmVudC5kYXRhLlR5cGU7XHJcbiAgICAgICAgaWYgKGZpbHRlcmVkU2VsZWN0aW9uT3B0aW9ucy5sZW5ndGggPT09IDEgJiYgY2hpbGRDb21wb25lbnQuZGF0YS5Jc1JlcXVpcmVkICYmIChjaGlsZENvbXBvbmVudFR5cGUgPT09ICd6dWlzZWxlY3RtdWx0aXBsZScgfHwgY2hpbGRDb21wb25lbnRUeXBlID09PSAnenNlbGVjdG11bHRpcGxlJykpIHtcclxuICAgICAgICAgIHp1ZGZTY29wZS56TW9kZWxbaXRlbS52YWx1ZV0gPSBmaWx0ZXJlZFNlbGVjdGlvbk9wdGlvbnNbMF1bY2hpbGRDb21wb25lbnQuaXRlbVZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgY29tcG9uZW50Rm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh6dWRmU2NvcGUuek1vZGVsW2l0ZW0udmFsdWVdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGxvb3AgY2hpbGRyZW4gaW5jYXNlIG9mIG5lc3RlZCBjaGlsZC5cclxuICAgICAgICBjb25zdCBjaGlsZENvbXBvbmVudFZhbHVlU2VnbWVudHMgPSBjaGlsZENvbXBvbmVudC5kYXRhLlZhbHVlLnNwbGl0KCdfJyk7XHJcbiAgICAgICAgdGhpcy5jYXNjYWRpbmdIYW5kbGluZyh6dWRmU2NvcGUsIGNoaWxkQ29tcG9uZW50VmFsdWVTZWdtZW50c1tjaGlsZENvbXBvbmVudFZhbHVlU2VnbWVudHMubGVuZ3RoIC0gMV0sIHp1ZGZTY29wZS56TW9kZWxbaXRlbS52YWx1ZV0pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGZvY3VzT25EZWZhdWx0KGZvY3VzRnVuY3Rpb246IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5Jc0ZvY3VzKSB7XHJcbiAgICAgIGxldCBjb3VudGVyID0gMDtcclxuICAgICAgbGV0IGlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgICBpbnRlcnZhbCg1MDApLnBpcGUoXHJcbiAgICAgICAgdGFrZVdoaWxlKHggPT4gY291bnRlciA8IDUgJiYgIWlzRm9jdXNlZCksXHJcbiAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgIGlzRm9jdXNlZCA9IGZvY3VzRnVuY3Rpb24oKTtcclxuICAgICAgICAgIGNvdW50ZXIrKztcclxuICAgICAgICB9KVxyXG4gICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -78,16 +78,14 @@ export class ComponentErrorHandlerService {
|
|
|
78
78
|
errorMessage = `Enter a valid email address for {{T_FieldName}}`;
|
|
79
79
|
break;
|
|
80
80
|
case 'min':
|
|
81
|
-
case 'max':
|
|
82
|
-
errorMessage = '';
|
|
83
|
-
break;
|
|
84
81
|
case 'minError':
|
|
85
82
|
errorMessage = `{{T_FieldName}} must be equal or more than {{T_MinValue}}`;
|
|
86
|
-
Object.assign(translationVariables, { T_MinValue: errorDetail[errorType].minValue });
|
|
83
|
+
Object.assign(translationVariables, { T_MinValue: errorDetail[errorType].minValue || errorDetail[errorType].min });
|
|
87
84
|
break;
|
|
85
|
+
case 'max':
|
|
88
86
|
case 'maxError':
|
|
89
87
|
errorMessage = `{{T_FieldName}} must be equal or less than {{T_MaxValue}}`;
|
|
90
|
-
Object.assign(translationVariables, { T_MaxValue: errorDetail[errorType].maxValue });
|
|
88
|
+
Object.assign(translationVariables, { T_MaxValue: errorDetail[errorType].maxValue || errorDetail[errorType].max });
|
|
91
89
|
break;
|
|
92
90
|
default:
|
|
93
91
|
console.warn(`Field Error is not properly handled : ${ZComponentHelper.getFieldLabel(fields, controlName)}`);
|
|
@@ -118,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
118
116
|
providedIn: 'root',
|
|
119
117
|
}]
|
|
120
118
|
}], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i1.TranslationService }]; } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3NlcnZpY2VzL2NvbXBvbmVudC1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFvRCxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUtoRSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFlBQW9CLFlBQTBCLEVBQVUsa0JBQXNDO1FBQTFFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFJLENBQUM7SUFFNUYseUJBQXlCLENBQUMsS0FBYSxFQUFFLFNBQXFCO1FBQ25FLFNBQVMsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztRQUVwQyxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUQsU0FBUyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztZQUN6QywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMs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QUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRixNQUFLO1lBQ1A7Z0JBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzdHLFlBQVksR0FBRyxnQ0FBZ0MsQ0FBQztnQkFDaEQsTUFBTTtTQUNUO1FBRUQsT0FBTztZQUNMLFlBQVk7WUFDWixvQkFBb0I7U0FDRCxDQUFDO0lBQ3hCLENBQUM7SUFFTywwQkFBMEIsQ0FBQyxJQUFZO1FBQzdDLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxtQkFBbUIsQ0FBQztZQUN6QixLQUFLLDBCQUEwQixDQUFDO1lBQ2hDLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQztZQUNsQjtnQkFDRSxPQUFPLE9BQU8sQ0FBQztTQUNsQjtJQUNILENBQUM7O3lIQXBIVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIFRyYW5zbGF0aW9uU2VydmljZSwgWkZpZWxkLCBaR3JvdXAsIFpDb21wb25lbnRIZWxwZXIgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50RXJyb3JIYW5kbGVyU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UpIHsgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Zvcm1Hcm91cEVycm9yTWVzc2FnZShncm91cDogWkdyb3VwLCBmb3JtR3JvdXA/OiBGb3JtR3JvdXApIHtcclxuICAgIGZvcm1Hcm91cCA9IGZvcm1Hcm91cCB8fCBncm91cC5mb3JtO1xyXG5cclxuICAgIG9mKHRoaXMuZ2V0RXJyb3JNZXNzYWdlRm9ySW52YWxpZElucHV0KGdyb3VwLCBmb3JtR3JvdXApKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKGVyck1lc3NhZ2VUcmFuc2xhdGlvbklucHV0KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzID0gbmV3IEFycmF5PE9ic2VydmFibGU8YW55Pj4oKTtcclxuICAgICAgICBlcnJNZXNzYWdlVHJhbnNsYXRpb25JbnB1dC5mb3JFYWNoKGRhdGEgPT4ge1xyXG4gICAgICAgICAgb2JzLnB1c2godGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZVRleHQoZGF0YS5lcnJvck1lc3NhZ2UsIHsgdHJhbnNsYXRpb25WYXJpYWJsZXM6IGRhdGEudHJhbnNsYXRpb25WYXJpYWJsZXMgfSkpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKG9icyk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoZmllbGRFcnJvck1lc3NhZ2VzID0+IHtcclxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBmaWVsZEVycm9yTWVzc2FnZXMuam9pbihcIjxici8+XCIpO1xyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dPa2F5KCdGb3JtIHZhbGlkYXRpb24gZmFpbGVkJywgZXJyb3JNZXNzYWdlLCBbJ2NvbC00J10pO1xyXG4gICAgICAgIGNvbnNvbGUud2FybihcIkZvcm0gVmFsaWRhdGlvbiBnb3QgZXJyb3Iocyk6XCIsIGVycm9yTWVzc2FnZSk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEVycm9yTWVzc2FnZUZvckludmFsaWRJbnB1dChncm91cDogWkdyb3VwLCBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsIGNvbnRyb2xOYW1lPzogc3RyaW5nKTogQXJyYXk8VHJhbnNsYXRpb25JbnB1dD4ge1xyXG4gICAgZm9ybUdyb3VwID0gZm9ybUdyb3VwIHx8IGdyb3VwLmZvcm07XHJcblxyXG4gICAgaWYgKGNvbnRyb2xOYW1lKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RFcnJvck1lc3NhZ2VGcm9tQ29udHJvbChmb3JtR3JvdXAsIGNvbnRyb2xOYW1lLCBncm91cCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGFsbEZvcm1Db250cm9sRXJyb3JNZXNzYWdlcyA9IG5ldyBBcnJheTxUcmFuc2xhdGlvbklucHV0PigpO1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKSkge1xyXG4gICAgICBjb25zdCBmb3JtQ29udHJvbEVycm9yTWVzc2FnZXMgPSB0aGlzLmV4dHJhY3RFcnJvck1lc3NhZ2VGcm9tQ29udHJvbChmb3JtR3JvdXAsIGtleSwgZ3JvdXApO1xyXG4gICAgICBhbGxGb3JtQ29udHJvbEVycm9yTWVzc2FnZXMgPSBhbGxGb3JtQ29udHJvbEVycm9yTWVzc2FnZXMuY29uY2F0KGZvcm1Db250cm9sRXJyb3JNZXNzYWdlcyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYWxsRm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHRyYWN0RXJyb3JNZXNzYWdlRnJvbUNvbnRyb2woZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGtleTogc3RyaW5nLCBncm91cDogWkdyb3VwKTogQXJyYXk8VHJhbnNsYXRpb25JbnB1dD4ge1xyXG4gICAgY29uc3QgZXJyb3JNc2dBcnIgPSBuZXcgQXJyYXk8VHJhbnNsYXRpb25JbnB1dD4oKTtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGtleSk7XHJcbiAgICBjb25zdCBjb250cm9sRXJyb3JzID0gY29udHJvbD8uZXJyb3JzO1xyXG5cclxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2xFcnJvcnMpIHtcclxuICAgICAgY29uc3QgZXJyb3JUeXBlcyA9IE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpO1xyXG4gICAgICBmb3IgKGNvbnN0IGVycm9yVHlwZSBvZiBlcnJvclR5cGVzKSB7XHJcbiAgICAgICAgbGV0IGVyck1lc3NhZ2UgPSBudWxsO1xyXG4gICAgICAgIGlmIChrZXkuaW5jbHVkZXMoJ3p1ZGZfJykpIHtcclxuICAgICAgICAgIGNvbnN0IHp1ZGYgPSBaQ29tcG9uZW50SGVscGVyLmdldFp1ZGZCeUNvbXBvbmVudChncm91cCwga2V5KTtcclxuICAgICAgICAgIGVyck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZUJ5RXJyb3JUeXBlKGVycm9yVHlwZSwga2V5LCB6dWRmWydkYXRhJ11bJ1ZhbHVlJ10sIGNvbnRyb2xFcnJvcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGVyck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZUJ5RXJyb3JUeXBlKGVycm9yVHlwZSwga2V5LCBncm91cC5maWVsZHMsIGNvbnRyb2xFcnJvcnMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGVyck1lc3NhZ2UuZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgICAgICBlcnJvck1zZ0Fyci5wdXNoKGVyck1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZXJyb3JNc2dBcnI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVycm9yTWVzc2FnZUJ5RXJyb3JUeXBlKGVycm9yVHlwZTogYW55LCBjb250cm9sTmFtZTogc3RyaW5nLCBmaWVsZHM6IFpGaWVsZFtdLCBlcnJvckRldGFpbDogYW55KTogVHJhbnNsYXRpb25JbnB1dCB7XHJcbiAgICBjb25zdCBmaWVsZCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRGcm9tRmllbGRzQnlWYWx1ZShmaWVsZHMsIGNvbnRyb2xOYW1lKTtcclxuICAgIGxldCBlcnJvck1lc3NhZ2UgPSBcIlwiO1xyXG4gICAgY29uc3QgdHJhbnNsYXRpb25WYXJpYWJsZXMgPSB7IFRfRmllbGROYW1lOiBaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkTGFiZWwoZmllbGRzLCBjb250cm9sTmFtZSkgfTtcclxuICAgIHN3aXRjaCAoZXJyb3JUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBgJHt0aGlzLmdldEVycm9yTXNnQWN0aW9uX1JlcXVpcmVkKGZpZWxkLlR5cGUpfSB0aGUge3tUX0ZpZWxkTmFtZX19YDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWlubGVuZ3RoJzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBge3tUX0ZpZWxkTmFtZX19IG11c3QgYmUgbW9yZSB0aGFuIHt7VF9NaW5MZW5ndGh9fSBjaGFyYWN0ZXJzYDtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRyYW5zbGF0aW9uVmFyaWFibGVzLCB7IFRfTWluTGVuZ3RoOiBlcnJvckRldGFpbFtlcnJvclR5cGVdLnJlcXVpcmVkTGVuZ3RoIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtYXhsZW5ndGgnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGB7e1RfRmllbGROYW1lfX0gbXVzdCBiZSBsZXNzIHRoYW4ge3tUX01heExlbmd0aH19IGNoYXJhY3RlcnNgO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odHJhbnNsYXRpb25WYXJpYWJsZXMsIHsgVF9NYXhMZW5ndGg6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ucmVxdWlyZWRMZW5ndGggfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2VtYWlsJzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBgRW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIGZvciB7e1RfRmllbGROYW1lfX1gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtaW4nOlxyXG4gICAgICBjYXNlICdtYXgnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9ICcnO1xyXG4gICAgICAgIGJyZWFrXHJcbiAgICAgIGNhc2UgJ21pbkVycm9yJzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBge3tUX0ZpZWxkTmFtZX19IG11c3QgYmUgZXF1YWwgb3IgbW9yZSB0aGFuIHt7VF9NaW5WYWx1ZX19YDtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRyYW5zbGF0aW9uVmFyaWFibGVzLCB7IFRfTWluVmFsdWU6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ubWluVmFsdWUgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21heEVycm9yJzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBge3tUX0ZpZWxkTmFtZX19IG11c3QgYmUgZXF1YWwgb3IgbGVzcyB0aGFuIHt7VF9NYXhWYWx1ZX19YDtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRyYW5zbGF0aW9uVmFyaWFibGVzLCB7IFRfTWF4VmFsdWU6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ubWF4VmFsdWUgfSk7XHJcbiAgICAgICAgYnJlYWtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBjb25zb2xlLndhcm4oYEZpZWxkIEVycm9yIGlzIG5vdCBwcm9wZXJseSBoYW5kbGVkIDogJHtaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkTGFiZWwoZmllbGRzLCBjb250cm9sTmFtZSl9YCk7XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYEludmFsaWQgRmllbGQ6IHt7VF9GaWVsZE5hbWV9fWA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXJyb3JNZXNzYWdlLFxyXG4gICAgICB0cmFuc2xhdGlvblZhcmlhYmxlc1xyXG4gICAgfSBhcyBUcmFuc2xhdGlvbklucHV0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFcnJvck1zZ0FjdGlvbl9SZXF1aXJlZCh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3p1aXNlbGVjdG11bHRpcGxlJzpcclxuICAgICAgY2FzZSAnenVpc2VsZWN0bXVsdGlwbGVfYnV0dG9uJzpcclxuICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICByZXR1cm4gXCJDaG9vc2VcIjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gXCJFbnRlclwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbklucHV0IHtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICB0cmFuc2xhdGlvblZhcmlhYmxlcz86IGFueTtcclxufVxyXG4iXX0=
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3NlcnZpY2VzL2NvbXBvbmVudC1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFvRCxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUtoRSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFlBQW9CLFlBQTBCLEVBQVUsa0JBQXNDO1FBQTFFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFJLENBQUM7SUFFNUYseUJBQXlCLENBQUMsS0FBYSxFQUFFLFNBQXFCO1FBQ25FLFNBQVMsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztRQUVwQyxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUQsU0FBUyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztZQUN6QywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMs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LEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDbkgsTUFBSztZQUNQO2dCQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMseUNBQXlDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RyxZQUFZLEdBQUcsZ0NBQWdDLENBQUM7Z0JBQ2hELE1BQU07U0FDVDtRQUVELE9BQU87WUFDTCxZQUFZO1lBQ1osb0JBQW9CO1NBQ0QsQ0FBQztJQUN4QixDQUFDO0lBRU8sMEJBQTBCLENBQUMsSUFBWTtRQUM3QyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssbUJBQW1CLENBQUM7WUFDekIsS0FBSywwQkFBMEIsQ0FBQztZQUNoQyxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxRQUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxPQUFPLENBQUM7U0FDbEI7SUFDSCxDQUFDOzt5SEFsSFUsNEJBQTRCOzZIQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTsyRkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBUcmFuc2xhdGlvblNlcnZpY2UsIFpGaWVsZCwgWkdyb3VwLCBaQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIHNob3dGb3JtR3JvdXBFcnJvck1lc3NhZ2UoZ3JvdXA6IFpHcm91cCwgZm9ybUdyb3VwPzogRm9ybUdyb3VwKSB7XHJcbiAgICBmb3JtR3JvdXAgPSBmb3JtR3JvdXAgfHwgZ3JvdXAuZm9ybTtcclxuXHJcbiAgICBvZih0aGlzLmdldEVycm9yTWVzc2FnZUZvckludmFsaWRJbnB1dChncm91cCwgZm9ybUdyb3VwKSkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKChlcnJNZXNzYWdlVHJhbnNsYXRpb25JbnB1dCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9icyA9IG5ldyBBcnJheTxPYnNlcnZhYmxlPGFueT4+KCk7XHJcbiAgICAgICAgZXJyTWVzc2FnZVRyYW5zbGF0aW9uSW5wdXQuZm9yRWFjaChkYXRhID0+IHtcclxuICAgICAgICAgIG9icy5wdXNoKHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLiR0cmFuc2xhdGVUZXh0KGRhdGEuZXJyb3JNZXNzYWdlLCB7IHRyYW5zbGF0aW9uVmFyaWFibGVzOiBkYXRhLnRyYW5zbGF0aW9uVmFyaWFibGVzIH0pKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihvYnMpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGFwKGZpZWxkRXJyb3JNZXNzYWdlcyA9PiB7XHJcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZmllbGRFcnJvck1lc3NhZ2VzLmpvaW4oXCI8YnIvPlwiKTtcclxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93T2theSgnRm9ybSB2YWxpZGF0aW9uIGZhaWxlZCcsIGVycm9yTWVzc2FnZSwgWydjb2wtNCddKTtcclxuICAgICAgICBjb25zb2xlLndhcm4oXCJGb3JtIFZhbGlkYXRpb24gZ290IGVycm9yKHMpOlwiLCBlcnJvck1lc3NhZ2UpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2VGb3JJbnZhbGlkSW5wdXQoZ3JvdXA6IFpHcm91cCwgZm9ybUdyb3VwPzogRm9ybUdyb3VwLCBjb250cm9sTmFtZT86IHN0cmluZyk6IEFycmF5PFRyYW5zbGF0aW9uSW5wdXQ+IHtcclxuICAgIGZvcm1Hcm91cCA9IGZvcm1Hcm91cCB8fCBncm91cC5mb3JtO1xyXG5cclxuICAgIGlmIChjb250cm9sTmFtZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5leHRyYWN0RXJyb3JNZXNzYWdlRnJvbUNvbnRyb2woZm9ybUdyb3VwLCBjb250cm9sTmFtZSwgZ3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBhbGxGb3JtQ29udHJvbEVycm9yTWVzc2FnZXMgPSBuZXcgQXJyYXk8VHJhbnNsYXRpb25JbnB1dD4oKTtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykpIHtcclxuICAgICAgY29uc3QgZm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzID0gdGhpcy5leHRyYWN0RXJyb3JNZXNzYWdlRnJvbUNvbnRyb2woZm9ybUdyb3VwLCBrZXksIGdyb3VwKTtcclxuICAgICAgYWxsRm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzID0gYWxsRm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzLmNvbmNhdChmb3JtQ29udHJvbEVycm9yTWVzc2FnZXMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFsbEZvcm1Db250cm9sRXJyb3JNZXNzYWdlcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cDogRm9ybUdyb3VwLCBrZXk6IHN0cmluZywgZ3JvdXA6IFpHcm91cCk6IEFycmF5PFRyYW5zbGF0aW9uSW5wdXQ+IHtcclxuICAgIGNvbnN0IGVycm9yTXNnQXJyID0gbmV3IEFycmF5PFRyYW5zbGF0aW9uSW5wdXQ+KCk7XHJcbiAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xyXG4gICAgY29uc3QgY29udHJvbEVycm9ycyA9IGNvbnRyb2w/LmVycm9ycztcclxuXHJcbiAgICBpZiAoY29udHJvbCAmJiBjb250cm9sRXJyb3JzKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yVHlwZXMgPSBPYmplY3Qua2V5cyhjb250cm9sRXJyb3JzKTtcclxuICAgICAgZm9yIChjb25zdCBlcnJvclR5cGUgb2YgZXJyb3JUeXBlcykge1xyXG4gICAgICAgIGxldCBlcnJNZXNzYWdlID0gbnVsbDtcclxuICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKCd6dWRmXycpKSB7XHJcbiAgICAgICAgICBjb25zdCB6dWRmID0gWkNvbXBvbmVudEhlbHBlci5nZXRadWRmQnlDb21wb25lbnQoZ3JvdXAsIGtleSk7XHJcbiAgICAgICAgICBlcnJNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2VCeUVycm9yVHlwZShlcnJvclR5cGUsIGtleSwgenVkZlsnZGF0YSddWydWYWx1ZSddLCBjb250cm9sRXJyb3JzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBlcnJNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2VCeUVycm9yVHlwZShlcnJvclR5cGUsIGtleSwgZ3JvdXAuZmllbGRzLCBjb250cm9sRXJyb3JzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlcnJNZXNzYWdlLmVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgZXJyb3JNc2dBcnIucHVzaChlcnJNZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9yTXNnQXJyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFcnJvck1lc3NhZ2VCeUVycm9yVHlwZShlcnJvclR5cGU6IGFueSwgY29udHJvbE5hbWU6IHN0cmluZywgZmllbGRzOiBaRmllbGRbXSwgZXJyb3JEZXRhaWw6IGFueSk6IFRyYW5zbGF0aW9uSW5wdXQge1xyXG4gICAgY29uc3QgZmllbGQgPSBaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkRnJvbUZpZWxkc0J5VmFsdWUoZmllbGRzLCBjb250cm9sTmFtZSk7XHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gXCJcIjtcclxuICAgIGNvbnN0IHRyYW5zbGF0aW9uVmFyaWFibGVzID0geyBUX0ZpZWxkTmFtZTogWkNvbXBvbmVudEhlbHBlci5nZXRGaWVsZExhYmVsKGZpZWxkcywgY29udHJvbE5hbWUpIH07XHJcbiAgICBzd2l0Y2ggKGVycm9yVHlwZSkge1xyXG4gICAgICBjYXNlICdyZXF1aXJlZCc6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7dGhpcy5nZXRFcnJvck1zZ0FjdGlvbl9SZXF1aXJlZChmaWVsZC5UeXBlKX0gdGhlIHt7VF9GaWVsZE5hbWV9fWA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21pbmxlbmd0aCc6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYHt7VF9GaWVsZE5hbWV9fSBtdXN0IGJlIG1vcmUgdGhhbiB7e1RfTWluTGVuZ3RofX0gY2hhcmFjdGVyc2A7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0cmFuc2xhdGlvblZhcmlhYmxlcywgeyBUX01pbkxlbmd0aDogZXJyb3JEZXRhaWxbZXJyb3JUeXBlXS5yZXF1aXJlZExlbmd0aCB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWF4bGVuZ3RoJzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBge3tUX0ZpZWxkTmFtZX19IG11c3QgYmUgbGVzcyB0aGFuIHt7VF9NYXhMZW5ndGh9fSBjaGFyYWN0ZXJzYDtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRyYW5zbGF0aW9uVmFyaWFibGVzLCB7IFRfTWF4TGVuZ3RoOiBlcnJvckRldGFpbFtlcnJvclR5cGVdLnJlcXVpcmVkTGVuZ3RoIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdlbWFpbCc6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYEVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyBmb3Ige3tUX0ZpZWxkTmFtZX19YDtcclxuICAgICAgICBicmVha1xyXG4gICAgICBjYXNlICdtaW4nOlxyXG4gICAgICBjYXNlICdtaW5FcnJvcic6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYHt7VF9GaWVsZE5hbWV9fSBtdXN0IGJlIGVxdWFsIG9yIG1vcmUgdGhhbiB7e1RfTWluVmFsdWV9fWA7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0cmFuc2xhdGlvblZhcmlhYmxlcywgeyBUX01pblZhbHVlOiBlcnJvckRldGFpbFtlcnJvclR5cGVdLm1pblZhbHVlIHx8IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ubWluIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtYXgnOlxyXG4gICAgICBjYXNlICdtYXhFcnJvcic6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYHt7VF9GaWVsZE5hbWV9fSBtdXN0IGJlIGVxdWFsIG9yIGxlc3MgdGhhbiB7e1RfTWF4VmFsdWV9fWA7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0cmFuc2xhdGlvblZhcmlhYmxlcywgeyBUX01heFZhbHVlOiBlcnJvckRldGFpbFtlcnJvclR5cGVdLm1heFZhbHVlIHx8IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ubWF4IH0pO1xyXG4gICAgICAgIGJyZWFrXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgY29uc29sZS53YXJuKGBGaWVsZCBFcnJvciBpcyBub3QgcHJvcGVybHkgaGFuZGxlZCA6ICR7WkNvbXBvbmVudEhlbHBlci5nZXRGaWVsZExhYmVsKGZpZWxkcywgY29udHJvbE5hbWUpfWApO1xyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGBJbnZhbGlkIEZpZWxkOiB7e1RfRmllbGROYW1lfX1gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGVycm9yTWVzc2FnZSxcclxuICAgICAgdHJhbnNsYXRpb25WYXJpYWJsZXNcclxuICAgIH0gYXMgVHJhbnNsYXRpb25JbnB1dDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RXJyb3JNc2dBY3Rpb25fUmVxdWlyZWQodHlwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICd6dWlzZWxlY3RtdWx0aXBsZSc6XHJcbiAgICAgIGNhc2UgJ3p1aXNlbGVjdG11bHRpcGxlX2J1dHRvbic6XHJcbiAgICAgIGNhc2UgJ3NlbGVjdCc6XHJcbiAgICAgICAgcmV0dXJuIFwiQ2hvb3NlXCI7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIFwiRW50ZXJcIjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsYXRpb25JbnB1dCB7XHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgdHJhbnNsYXRpb25WYXJpYWJsZXM/OiBhbnk7XHJcbn1cclxuIl19
|
|
@@ -44,7 +44,7 @@ export class ZInputContainerComponent extends FieldBase {
|
|
|
44
44
|
this.ztexteditor_type = ['ztexteditor'];
|
|
45
45
|
}
|
|
46
46
|
ngOnInit() {
|
|
47
|
-
super.initComponent().pipe(tap(() => {
|
|
47
|
+
super.initComponent({ isRegisterComponent: false }).pipe(tap(() => {
|
|
48
48
|
this.setAddOnValue();
|
|
49
49
|
this.componentService.setEditMode(this);
|
|
50
50
|
this.data.zlayout = this.data.zlayout || (this.containerField ? this.containerField.zlayout : "row");
|
|
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
81
81
|
type: Component,
|
|
82
82
|
args: [{ selector: "app-zinput-container", template: "<div class=\"mobile-input-container e1tag-container-style\" *ngIf=\"isMobileScreen() && !isLoading\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <ion-item [formGroup]=\"form\" class=\"e1tag-container-style1\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getIon_InvalidClass(form, data)\" [style]=\"componentProperties.containerStyle.style1\">\r\n <ion-label [attr.for]=\"data.Value\" class=\"input-label e1tag-container-style2\"\r\n *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\"\r\n [position]=\"data.LabelPosition ? data.LabelPosition : 'stacked'\"\r\n [style]=\"componentProperties.containerStyle.style2\">\r\n {{componentProperties.label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n color=\"danger\" class=\"required-icon\">*</ion-text>\r\n </ion-label>\r\n <div class=\"input-value-field\">\r\n <div class=\"input-fields-options\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n </div>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <!-- <app-field-suffix-element [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\"></app-field-suffix-element> -->\r\n </div>\r\n </ion-item>\r\n</div>\r\n\r\n<div class=\"desktop-input-container e1tag-container-style\" [formGroup]=\"form\"\r\n [style]=\"componentProperties.containerStyle.style\"\r\n *ngIf=\"!isMobileScreen() && !isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [fxLayout]=\"data.FieldLayoutType !== 1 ? 'column' : 'row'\"\r\n fxLayoutAlign=\"space-between stretch\" [class.editMode]=\"(data['_EditMode'].value)\">\r\n <kendo-label class=\"input-label e1tag-container-style1\" [for]=\"data.Name\" [text]=\"componentProperties.label\"\r\n *ngIf=\"data.ShowLabel\" [style]=\"componentProperties.containerStyle.style1\"\r\n [fxFlex]=\"componentProperties.labelFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.labelFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.labelFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.labelFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.labelFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.labelFlexLayoutSize.xl\">\r\n <kendo-label *ngIf=\"data['_EditMode'].value && (!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n text=\"*\" class=\"required-icon\">\r\n </kendo-label>\r\n <app-input-field-addons class=\"addon-top e1tag-container-style7\" [position]=\"'top'\" [addOn]=\"inputFieldAddOn.top\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </kendo-label>\r\n <div class=\"input-value-container e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2\"\r\n [fxFlex]=\"componentProperties.fieldFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.fieldFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.fieldFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.fieldFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.fieldFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.fieldFlexLayoutSize.xl\">\r\n <div *ngIf=\"data['_EditMode'].value\" class=\"input-value-field e1tag-container-style3\"\r\n [style]=\"componentProperties.containerStyle.style3\">\r\n <!-- TODO: Add 1 more layer for this switch case-->\r\n <app-input-field-addons class=\"addon-left e1tag-container-style7\" [position]=\"'left'\"\r\n [addOn]=\"inputFieldAddOn.left\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <div class=\"input-fields-options e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n </div>\r\n <app-input-field-addons class=\"addon-right e1tag-container-style7\" [position]=\"'right'\"\r\n [addOn]=\"inputFieldAddOn.right\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </div>\r\n <app-input-field-addons class=\"addon-bottom e1tag-container-style7\" [position]=\"'bottom'\"\r\n [addOn]=\"inputFieldAddOn.bottom\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <kendo-label class=\"input-value e1tag-container-style6\" *ngIf=\"!(data['_EditMode'].value)\"\r\n [style]=\"componentProperties.containerStyle.style6\"\r\n [text]=\"group.zModel[data.Value] | inputText : data: group | async\"></kendo-label>\r\n </div>\r\n</div>\r\n", styles: [".required-icon{color:var(--ion-color-danger);padding-left:3px}.desktop-input-container{padding:8px 0;min-height:calc(var(--input-field-height) + 5px)!important;margin:1px 0;display:inline-flex}.desktop-input-container .input-label{font-size:var(--content-font-size);display:flex;padding-left:20px}.desktop-input-container>.input-value-container{margin:auto}.desktop-input-container>.input-value-container .input-value-field{display:flex}.desktop-input-container>.input-value-container .input-value-field .input-fields-options{flex-grow:10}.desktop-input-container>.input-value-container .input-value-field app-field-suffix-icon{margin:auto}.desktop-input-container>.input-value-container .input-value{font-size:calc(var(--content-font-size) + 2px);font-weight:600;margin-top:3px}.desktop-input-container.style1 .input-value-container{margin-left:0;padding-right:25px}.desktop-input-container.style1 .input-label{margin:3px 0}.desktop-input-container.style2 .input-value-container{width:100%;margin-top:3px;padding:0 25px 0 20px}.desktop-input-container.style2 .input-label{margin-top:0}.desktop-input-container .addon-right{margin:auto 0;padding-bottom:4px}.desktop-input-container.editMode.style1 .input-label{margin:6px 0 0}.mobile-input-container .input-value-field{width:100%}.tooltipsinfo-icon{padding-left:10px;color:var(--ion-color-primary-tint)}\n"] }]
|
|
83
83
|
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBYyxnQkFBZ0IsRUFBaUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVM5RixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQWNyRCxZQUNTLGdCQUFtQztRQUUxQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUZqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBZHJDLG9CQUFlLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFdEQsZUFBVSxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENB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KiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCwgWkZpZWxkIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJzsgXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXppbnB1dC1jb250YWluZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgcHVibGljIGlucHV0RmllbGRBZGRPbiA9IHsgdG9wOiB7fSwgbGVmdDoge30sIHJpZ2h0OiB7fSwgYm90dG9tOiB7fSB9O1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgenRleHRfdHlwZSA9IFsnbnVtYmVyJywgJ251bWVyaWMnLCAnZGF0ZScsICdlbWFpbCcsICdwYXNzd29yZCcsICdzZWFyY2gnLCAndGVsJywgJ3RleHQnLCAndXJsJywgJ2N1cnJlbmN5J107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpzZWxlY3RfdHlwZSA9IFsnenVpc2VsZWN0bXVsdGlwbGUnLCAnenVpc2VsZWN0bXVsdGlwbGVfYnV0dG9uJywgJ3NlbGVjdCddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6ZGF0ZV90eXBlID0gWyd6ZGF0ZScsICd6dGltZScsICd6ZGF0ZXRpbWUnLCAnenNob3J0ZGF0ZScsICd6dWlkYXRldGltZScsICd6dWl0aW1lJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpwb3N0c2VsZWN0aW5wdXRfdHlwZSA9IFsncG9zdF9zZWxlY3RfaW5wdXQnLCAncHJlX3NlbGVjdF9pbnB1dCcsICd6cGhvbmVfY291bnRyeWNvZGUnXTtcclxuICBwdWJsaWMgcmVhZG9ubHkgemNoZWNrYm94X3R5cGUgPSBbJ2NoZWNrYm94J107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpudW1lcmljX3R5cGUgPSBbJ3pudW1lcmljJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHRleHRhcmVhX3R5cGUgPSBbJ3RleHRhcmVhJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHp1cGxvYWRfdHlwZSA9IFsnenVwbG9hZCddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6aW1nX3R5cGUgPSBbJ3ppbWcnXTtcclxuICBwdWJsaWMgcmVhZG9ubHkgenRleHRlZGl0b3JfdHlwZSA9IFsnenRleHRlZGl0b3InXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldEFkZE9uVmFsdWUoKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0RWRpdE1vZGUodGhpcyk7XHJcbiAgICAgICAgdGhpcy5kYXRhLnpsYXlvdXQgPSB0aGlzLmRhdGEuemxheW91dCB8fCAodGhpcy5jb250YWluZXJGaWVsZCA/IHRoaXMuY29udGFpbmVyRmllbGQuemxheW91dCA6IFwicm93XCIpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pKVxyXG4gICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBgc3R5bGUke2RhdGEuRmllbGRMYXlvdXRUeXBlfSAke3N1cGVyLmdldENsYXNzKGZvcm0sIGRhdGEpfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJpZ2dlckNvbnRhaW5lckV2ZW50KGV2ZW50OiBaQ29tcG9uZW50T3V0cHV0RXZlbnQpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gXCJzZXRBZGRPblZhbHVlXCIpIHtcclxuICAgICAgICB0aGlzLnNldEFkZE9uVmFsdWUoZXZlbnQuZGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QWRkT25WYWx1ZShhZGRPbnM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGlucHV0RmllbGRBZGRPbkdyb3VwVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoYWRkT25zIHx8IHRoaXMuZGF0YS5JbnB1dEZpZWxkQWRkT25zIGFzIGFueSwgdGhpcy5ncm91cCk7XHJcbiAgICBjb25zdCBhZGRPblZhbHVlID0gaW5wdXRGaWVsZEFkZE9uR3JvdXBWYWx1ZSB8fCBhZGRPbnMgfHwgdGhpcy5kYXRhLklucHV0RmllbGRBZGRPbnM7XHJcbiAgICBpZiAoYWRkT25WYWx1ZSAmJiBBcnJheS5pc0FycmF5KGFkZE9uVmFsdWUpKSB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMuaW5wdXRGaWVsZEFkZE9uKSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRGaWVsZEFkZE9uW2tleV0gPSBhZGRPblZhbHVlLmZpbmQoaSA9PiBpLlBvc2l0aW9uID09PSBrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2JpbGUtaW5wdXQtY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiICpuZ0lmPVwiaXNNb2JpbGVTY3JlZW4oKSAmJiAhaXNMb2FkaW5nXCJcclxuICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiPlxyXG4gIDxpb24taXRlbSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTFcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSlcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIj5cclxuICAgIDxpb24tbGFiZWwgW2F0dHIuZm9yXT1cImRhdGEuVmFsdWVcIiBjbGFzcz1cImlucHV0LWxhYmVsIGUxdGFnLWNvbnRhaW5lci1zdHlsZTJcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuU2hvd0xhYmVsID09PSB1bmRlZmluZWQgfHwgZGF0YS5TaG93TGFiZWxcIlxyXG4gICAgICAgICAgICAgICBbcG9zaXRpb25dPVwiZGF0YS5MYWJlbFBvc2l0aW9uID8gZGF0YS5MYWJlbFBvc2l0aW9uIDogJ3N0YWNrZWQnXCJcclxuICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyXCI+XHJcbiAgICAgIHt7Y29tcG9uZW50UHJvcGVydGllcy5sYWJlbH19XHJcbiAgICAgIDxpb24tdGV4dCAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkKVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwicmVxdWlyZWQtaWNvblwiPio8L2lvbi10ZXh0PlxyXG4gICAgPC9pb24tbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdmFsdWUtZmllbGRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkcy1vcHRpb25zXCI+XHJcbiAgICAgICAgPGFwcC16dGV4dCAqbmdJZj1cInp0ZXh0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp0ZXh0PlxyXG4gICAgICAgIDxhcHAtenNlbGVjdG11bHRpcGxlICpuZ0lmPVwienNlbGVjdF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpzZWxlY3RtdWx0aXBsZT5cclxuICAgICAgICA8YXBwLXpkYXRldGltZSAqbmdJZj1cInpkYXRlX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemRhdGV0aW1lPlxyXG4gICAgICAgIDxhcHAtenBvc3RzZWxlY3RpbnB1dCAqbmdJZj1cInpwb3N0c2VsZWN0aW5wdXRfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpwb3N0c2VsZWN0aW5wdXQ+XHJcbiAgICAgICAgPGFwcC16Y2hlY2tib3ggKm5nSWY9XCJ6Y2hlY2tib3hfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16Y2hlY2tib3g+XHJcbiAgICAgICAgPGFwcC16bnVtZXJpYyAqbmdJZj1cInpudW1lcmljX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpudW1lcmljPlxyXG4gICAgICAgIDxhcHAtenRleHRhcmVhICpuZ0lmPVwidGV4dGFyZWFfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dGFyZWE+XHJcbiAgICAgICAgPGFwcC16dXBsb2FkICpuZ0lmPVwienVwbG9hZF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenVwbG9hZD5cclxuICAgICAgICA8YXBwLXppbWcgKm5nSWY9XCJ6aW1nX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16aW1nPlxyXG4gICAgICAgIDxhcHAtenRleHRlZGl0b3IgKm5nSWY9XCJ6dGV4dGVkaXRvcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dGVkaXRvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxhcHAtZXJyb3IgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPCEtLSA8YXBwLWZpZWxkLXN1ZmZpeC1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCJcclxuICAgICAgICBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCI+PC9hcHAtZmllbGQtc3VmZml4LWVsZW1lbnQ+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9pb24taXRlbT5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiZGVza3RvcC1pbnB1dC1jb250YWluZXIgZTF0YWctY29udGFpbmVyLXN0eWxlXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCJcclxuICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiXHJcbiAgICAgKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKSAmJiAhaXNMb2FkaW5nICYmICghIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoZm9ybSwgZGF0YSlcIiBbZnhMYXlvdXRdPVwiZGF0YS5GaWVsZExheW91dFR5cGUgIT09IDEgPyAnY29sdW1uJyA6ICdyb3cnXCJcclxuICAgICBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdHJldGNoXCIgW2NsYXNzLmVkaXRNb2RlXT1cIihkYXRhWydfRWRpdE1vZGUnXS52YWx1ZSlcIj5cclxuICA8a2VuZG8tbGFiZWwgY2xhc3M9XCJpbnB1dC1sYWJlbCBlMXRhZy1jb250YWluZXItc3R5bGUxXCIgW2Zvcl09XCJkYXRhLk5hbWVcIiBbdGV4dF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhLlNob3dMYWJlbFwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMVwiXHJcbiAgICAgICAgICAgICAgIFtmeEZsZXhdPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbEZsZXhMYXlvdXRTaXplLmFsbFwiIFtmeEZsZXgueHNdPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbEZsZXhMYXlvdXRTaXplLnhzXCJcclxuICAgICAgICAgICAgICAgW2Z4RmxleC5zbV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUuc21cIiBbZnhGbGV4Lm1kXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxGbGV4TGF5b3V0U2l6ZS5tZFwiXHJcbiAgICAgICAgICAgICAgIFtmeEZsZXgubGddPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbEZsZXhMYXlvdXRTaXplLmxnXCIgW2Z4RmxleC54bF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUueGxcIj5cclxuICAgIDxrZW5kby1sYWJlbCAqbmdJZj1cImRhdGFbJ19FZGl0TW9kZSddLnZhbHVlICYmICghIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkKVwiXHJcbiAgICAgICAgICAgICAgICAgdGV4dD1cIipcIiBjbGFzcz1cInJlcXVpcmVkLWljb25cIj5cclxuICAgIDwva2VuZG8tbGFiZWw+XHJcbiAgICA8YXBwLWlucHV0LWZpZWxkLWFkZG9ucyBjbGFzcz1cImFkZG9uLXRvcCBlMXRhZy1jb250YWluZXItc3R5bGU3XCIgW3Bvc2l0aW9uXT1cIid0b3AnXCIgW2FkZE9uXT1cImlucHV0RmllbGRBZGRPbi50b3BcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlN1wiPlxyXG4gICAgPC9hcHAtaW5wdXQtZmllbGQtYWRkb25zPlxyXG4gIDwva2VuZG8tbGFiZWw+XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LXZhbHVlLWNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGUyXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyXCJcclxuICAgICAgIFtmeEZsZXhdPVwiY29tcG9uZW50UHJvcGVydGllcy5maWVsZEZsZXhMYXlvdXRTaXplLmFsbFwiIFtmeEZsZXgueHNdPVwiY29tcG9uZW50UHJvcGVydGllcy5maWVsZEZsZXhMYXlvdXRTaXplLnhzXCJcclxuICAgICAgIFtmeEZsZXguc21dPVwiY29tcG9uZW50UHJvcGVydGllcy5maWVsZEZsZXhMYXlvdXRTaXplLnNtXCIgW2Z4RmxleC5tZF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUubWRcIlxyXG4gICAgICAgW2Z4RmxleC5sZ109XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUubGdcIiBbZnhGbGV4LnhsXT1cImNvbXBvbmVudFByb3BlcnRpZXMuZmllbGRGbGV4TGF5b3V0U2l6ZS54bFwiPlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGFbJ19FZGl0TW9kZSddLnZhbHVlXCIgY2xhc3M9XCJpbnB1dC12YWx1ZS1maWVsZCBlMXRhZy1jb250YWluZXItc3R5bGUzXCJcclxuICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUzXCI+XHJcbiAgICAgIDwhLS0gVE9ETzogQWRkIDEgbW9yZSBsYXllciBmb3IgdGhpcyBzd2l0Y2ggY2FzZS0tPlxyXG4gICAgICA8YXBwLWlucHV0LWZpZWxkLWFkZG9ucyBjbGFzcz1cImFkZG9uLWxlZnQgZTF0YWctY29udGFpbmVyLXN0eWxlN1wiIFtwb3NpdGlvbl09XCInbGVmdCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkT25dPVwiaW5wdXRGaWVsZEFkZE9uLmxlZnRcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTdcIj5cclxuICAgICAgPC9hcHAtaW5wdXQtZmllbGQtYWRkb25zPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZmllbGRzLW9wdGlvbnMgZTF0YWctY29udGFpbmVyLXN0eWxlNFwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNFwiPlxyXG4gICAgICAgIDxhcHAtenRleHQgKm5nSWY9XCJ6dGV4dF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dD5cclxuICAgICAgICA8YXBwLXpzZWxlY3RtdWx0aXBsZSAqbmdJZj1cInpzZWxlY3RfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16c2VsZWN0bXVsdGlwbGU+XHJcbiAgICAgICAgPGFwcC16ZGF0ZXRpbWUgKm5nSWY9XCJ6ZGF0ZV90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpkYXRldGltZT5cclxuICAgICAgICA8YXBwLXpwb3N0c2VsZWN0aW5wdXQgKm5nSWY9XCJ6cG9zdHNlbGVjdGlucHV0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16cG9zdHNlbGVjdGlucHV0PlxyXG4gICAgICAgIDxhcHAtemNoZWNrYm94ICpuZ0lmPVwiemNoZWNrYm94X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemNoZWNrYm94PlxyXG4gICAgICAgIDxhcHAtem51bWVyaWMgKm5nSWY9XCJ6bnVtZXJpY190eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16bnVtZXJpYz5cclxuICAgICAgICA8YXBwLXp0ZXh0YXJlYSAqbmdJZj1cInRleHRhcmVhX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenRleHRhcmVhPlxyXG4gICAgICAgIDxhcHAtenVwbG9hZCAqbmdJZj1cInp1cGxvYWRfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp1cGxvYWQ+XHJcbiAgICAgICAgPGFwcC16aW1nICpuZ0lmPVwiemltZ190eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemltZz5cclxuICAgICAgICA8YXBwLXp0ZXh0ZWRpdG9yICpuZ0lmPVwienRleHRlZGl0b3JfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenRleHRlZGl0b3I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLWlucHV0LWZpZWxkLWFkZG9ucyBjbGFzcz1cImFkZG9uLXJpZ2h0IGUxdGFnLWNvbnRhaW5lci1zdHlsZTdcIiBbcG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24ucmlnaHRcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTdcIj5cclxuICAgICAgPC9hcHAtaW5wdXQtZmllbGQtYWRkb25zPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXBwLWlucHV0LWZpZWxkLWFkZG9ucyBjbGFzcz1cImFkZG9uLWJvdHRvbSBlMXRhZy1jb250YWluZXItc3R5bGU3XCIgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24uYm90dG9tXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlN1wiPlxyXG4gICAgPC9hcHAtaW5wdXQtZmllbGQtYWRkb25zPlxyXG4gICAgPGFwcC1lcnJvciBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiPjwvYXBwLWVycm9yPlxyXG4gICAgPGtlbmRvLWxhYmVsIGNsYXNzPVwiaW5wdXQtdmFsdWUgZTF0YWctY29udGFpbmVyLXN0eWxlNlwiICpuZ0lmPVwiIShkYXRhWydfRWRpdE1vZGUnXS52YWx1ZSlcIlxyXG4gICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNlwiXHJcbiAgICAgICAgICAgICAgICAgW3RleHRdPVwiZ3JvdXAuek1vZGVsW2RhdGEuVmFsdWVdIHwgaW5wdXRUZXh0IDogZGF0YTogZ3JvdXAgfCBhc3luY1wiPjwva2VuZG8tbGFiZWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBYyxnQkFBZ0IsRUFBaUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVM5RixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQWNyRCxZQUNTLGdCQUFtQztRQUUxQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUZqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBZHJDLG9CQUFlLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFdEQsZUFBVSxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENB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QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgRmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudE91dHB1dEV2ZW50LCBaRmllbGQgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16aW5wdXQtY29udGFpbmVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaSW5wdXRDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIHB1YmxpYyBpbnB1dEZpZWxkQWRkT24gPSB7IHRvcDoge30sIGxlZnQ6IHt9LCByaWdodDoge30sIGJvdHRvbToge30gfTtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHp0ZXh0X3R5cGUgPSBbJ251bWJlcicsICdudW1lcmljJywgJ2RhdGUnLCAnZW1haWwnLCAncGFzc3dvcmQnLCAnc2VhcmNoJywgJ3RlbCcsICd0ZXh0JywgJ3VybCcsICdjdXJyZW5jeSddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6c2VsZWN0X3R5cGUgPSBbJ3p1aXNlbGVjdG11bHRpcGxlJywgJ3p1aXNlbGVjdG11bHRpcGxlX2J1dHRvbicsICdzZWxlY3QnXTtcclxuICBwdWJsaWMgcmVhZG9ubHkgemRhdGVfdHlwZSA9IFsnemRhdGUnLCAnenRpbWUnLCAnemRhdGV0aW1lJywgJ3pzaG9ydGRhdGUnLCAnenVpZGF0ZXRpbWUnLCAnenVpdGltZSddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6cG9zdHNlbGVjdGlucHV0X3R5cGUgPSBbJ3Bvc3Rfc2VsZWN0X2lucHV0JywgJ3ByZV9zZWxlY3RfaW5wdXQnLCAnenBob25lX2NvdW50cnljb2RlJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpjaGVja2JveF90eXBlID0gWydjaGVja2JveCddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6bnVtZXJpY190eXBlID0gWyd6bnVtZXJpYyddO1xyXG4gIHB1YmxpYyByZWFkb25seSB0ZXh0YXJlYV90eXBlID0gWyd0ZXh0YXJlYSddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6dXBsb2FkX3R5cGUgPSBbJ3p1cGxvYWQnXTtcclxuICBwdWJsaWMgcmVhZG9ubHkgemltZ190eXBlID0gWyd6aW1nJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHp0ZXh0ZWRpdG9yX3R5cGUgPSBbJ3p0ZXh0ZWRpdG9yJ107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCh7IGlzUmVnaXN0ZXJDb21wb25lbnQ6IGZhbHNlIH0pLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRBZGRPblZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnNldEVkaXRNb2RlKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuZGF0YS56bGF5b3V0ID0gdGhpcy5kYXRhLnpsYXlvdXQgfHwgKHRoaXMuY29udGFpbmVyRmllbGQgPyB0aGlzLmNvbnRhaW5lckZpZWxkLnpsYXlvdXQgOiBcInJvd1wiKTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9KSlcclxuICAgICAgLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXJGb3JGaWVsZCh0aGlzLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gYHN0eWxlJHtkYXRhLkZpZWxkTGF5b3V0VHlwZX0gJHtzdXBlci5nZXRDbGFzcyhmb3JtLCBkYXRhKX1gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyaWdnZXJDb250YWluZXJFdmVudChldmVudDogWkNvbXBvbmVudE91dHB1dEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IFwic2V0QWRkT25WYWx1ZVwiKSB7XHJcbiAgICAgICAgdGhpcy5zZXRBZGRPblZhbHVlKGV2ZW50LmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEFkZE9uVmFsdWUoYWRkT25zPzogYW55KSB7XHJcbiAgICBjb25zdCBpbnB1dEZpZWxkQWRkT25Hcm91cFZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGFkZE9ucyB8fCB0aGlzLmRhdGEuSW5wdXRGaWVsZEFkZE9ucyBhcyBhbnksIHRoaXMuZ3JvdXApO1xyXG4gICAgY29uc3QgYWRkT25WYWx1ZSA9IGlucHV0RmllbGRBZGRPbkdyb3VwVmFsdWUgfHwgYWRkT25zIHx8IHRoaXMuZGF0YS5JbnB1dEZpZWxkQWRkT25zO1xyXG4gICAgaWYgKGFkZE9uVmFsdWUgJiYgQXJyYXkuaXNBcnJheShhZGRPblZhbHVlKSkge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh0aGlzLmlucHV0RmllbGRBZGRPbikpIHtcclxuICAgICAgICB0aGlzLmlucHV0RmllbGRBZGRPbltrZXldID0gYWRkT25WYWx1ZS5maW5kKGkgPT4gaS5Qb3NpdGlvbiA9PT0ga2V5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibW9iaWxlLWlucHV0LWNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGVcIiAqbmdJZj1cImlzTW9iaWxlU2NyZWVuKCkgJiYgIWlzTG9hZGluZ1wiXHJcbiAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIj5cclxuICA8aW9uLWl0ZW0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUxXCJcclxuICAgICAgICAgICAgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJnZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUxXCI+XHJcbiAgICA8aW9uLWxhYmVsIFthdHRyLmZvcl09XCJkYXRhLlZhbHVlXCIgY2xhc3M9XCJpbnB1dC1sYWJlbCBlMXRhZy1jb250YWluZXItc3R5bGUyXCJcclxuICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhLlNob3dMYWJlbCA9PT0gdW5kZWZpbmVkIHx8IGRhdGEuU2hvd0xhYmVsXCJcclxuICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cImRhdGEuTGFiZWxQb3NpdGlvbiA/IGRhdGEuTGFiZWxQb3NpdGlvbiA6ICdzdGFja2VkJ1wiXHJcbiAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMlwiPlxyXG4gICAgICB7e2NvbXBvbmVudFByb3BlcnRpZXMubGFiZWx9fVxyXG4gICAgICA8aW9uLXRleHQgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZClcIlxyXG4gICAgICAgICAgICAgICAgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cInJlcXVpcmVkLWljb25cIj4qPC9pb24tdGV4dD5cclxuICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXZhbHVlLWZpZWxkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1maWVsZHMtb3B0aW9uc1wiPlxyXG4gICAgICAgIDxhcHAtenRleHQgKm5nSWY9XCJ6dGV4dF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dD5cclxuICAgICAgICA8YXBwLXpzZWxlY3RtdWx0aXBsZSAqbmdJZj1cInpzZWxlY3RfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16c2VsZWN0bXVsdGlwbGU+XHJcbiAgICAgICAgPGFwcC16ZGF0ZXRpbWUgKm5nSWY9XCJ6ZGF0ZV90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpkYXRldGltZT5cclxuICAgICAgICA8YXBwLXpwb3N0c2VsZWN0aW5wdXQgKm5nSWY9XCJ6cG9zdHNlbGVjdGlucHV0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16cG9zdHNlbGVjdGlucHV0PlxyXG4gICAgICAgIDxhcHAtemNoZWNrYm94ICpuZ0lmPVwiemNoZWNrYm94X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemNoZWNrYm94PlxyXG4gICAgICAgIDxhcHAtem51bWVyaWMgKm5nSWY9XCJ6bnVtZXJpY190eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16bnVtZXJpYz5cclxuICAgICAgICA8YXBwLXp0ZXh0YXJlYSAqbmdJZj1cInRleHRhcmVhX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenRleHRhcmVhPlxyXG4gICAgICAgIDxhcHAtenVwbG9hZCAqbmdJZj1cInp1cGxvYWRfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp1cGxvYWQ+XHJcbiAgICAgICAgPGFwcC16aW1nICpuZ0lmPVwiemltZ190eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemltZz5cclxuICAgICAgICA8YXBwLXp0ZXh0ZWRpdG9yICpuZ0lmPVwienRleHRlZGl0b3JfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenRleHRlZGl0b3I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLWVycm9yIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwhLS0gPGFwcC1maWVsZC1zdWZmaXgtZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiPjwvYXBwLWZpZWxkLXN1ZmZpeC1lbGVtZW50PiAtLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvaW9uLWl0ZW0+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImRlc2t0b3AtaW5wdXQtY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiXHJcbiAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIlxyXG4gICAgICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgIWlzTG9hZGluZyAmJiAoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIlxyXG4gICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKGZvcm0sIGRhdGEpXCIgW2Z4TGF5b3V0XT1cImRhdGEuRmllbGRMYXlvdXRUeXBlICE9PSAxID8gJ2NvbHVtbicgOiAncm93J1wiXHJcbiAgICAgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RyZXRjaFwiIFtjbGFzcy5lZGl0TW9kZV09XCIoZGF0YVsnX0VkaXRNb2RlJ10udmFsdWUpXCI+XHJcbiAgPGtlbmRvLWxhYmVsIGNsYXNzPVwiaW5wdXQtbGFiZWwgZTF0YWctY29udGFpbmVyLXN0eWxlMVwiIFtmb3JdPVwiZGF0YS5OYW1lXCIgW3RleHRdPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5TaG93TGFiZWxcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIlxyXG4gICAgICAgICAgICAgICBbZnhGbGV4XT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxGbGV4TGF5b3V0U2l6ZS5hbGxcIiBbZnhGbGV4LnhzXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxGbGV4TGF5b3V0U2l6ZS54c1wiXHJcbiAgICAgICAgICAgICAgIFtmeEZsZXguc21dPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbEZsZXhMYXlvdXRTaXplLnNtXCIgW2Z4RmxleC5tZF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUubWRcIlxyXG4gICAgICAgICAgICAgICBbZnhGbGV4LmxnXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxGbGV4TGF5b3V0U2l6ZS5sZ1wiIFtmeEZsZXgueGxdPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbEZsZXhMYXlvdXRTaXplLnhsXCI+XHJcbiAgICA8a2VuZG8tbGFiZWwgKm5nSWY9XCJkYXRhWydfRWRpdE1vZGUnXS52YWx1ZSAmJiAoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZClcIlxyXG4gICAgICAgICAgICAgICAgIHRleHQ9XCIqXCIgY2xhc3M9XCJyZXF1aXJlZC1pY29uXCI+XHJcbiAgICA8L2tlbmRvLWxhYmVsPlxyXG4gICAgPGFwcC1pbnB1dC1maWVsZC1hZGRvbnMgY2xhc3M9XCJhZGRvbi10b3AgZTF0YWctY29udGFpbmVyLXN0eWxlN1wiIFtwb3NpdGlvbl09XCIndG9wJ1wiIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24udG9wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTdcIj5cclxuICAgIDwvYXBwLWlucHV0LWZpZWxkLWFkZG9ucz5cclxuICA8L2tlbmRvLWxhYmVsPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC12YWx1ZS1jb250YWluZXIgZTF0YWctY29udGFpbmVyLXN0eWxlMlwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMlwiXHJcbiAgICAgICBbZnhGbGV4XT1cImNvbXBvbmVudFByb3BlcnRpZXMuZmllbGRGbGV4TGF5b3V0U2l6ZS5hbGxcIiBbZnhGbGV4LnhzXT1cImNvbXBvbmVudFByb3BlcnRpZXMuZmllbGRGbGV4TGF5b3V0U2l6ZS54c1wiXHJcbiAgICAgICBbZnhGbGV4LnNtXT1cImNvbXBvbmVudFByb3BlcnRpZXMuZmllbGRGbGV4TGF5b3V0U2l6ZS5zbVwiIFtmeEZsZXgubWRdPVwiY29tcG9uZW50UHJvcGVydGllcy5maWVsZEZsZXhMYXlvdXRTaXplLm1kXCJcclxuICAgICAgIFtmeEZsZXgubGddPVwiY29tcG9uZW50UHJvcGVydGllcy5maWVsZEZsZXhMYXlvdXRTaXplLmxnXCIgW2Z4RmxleC54bF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUueGxcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhWydfRWRpdE1vZGUnXS52YWx1ZVwiIGNsYXNzPVwiaW5wdXQtdmFsdWUtZmllbGQgZTF0YWctY29udGFpbmVyLXN0eWxlM1wiXHJcbiAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlM1wiPlxyXG4gICAgICA8IS0tIFRPRE86IEFkZCAxIG1vcmUgbGF5ZXIgZm9yIHRoaXMgc3dpdGNoIGNhc2UtLT5cclxuICAgICAgPGFwcC1pbnB1dC1maWVsZC1hZGRvbnMgY2xhc3M9XCJhZGRvbi1sZWZ0IGUxdGFnLWNvbnRhaW5lci1zdHlsZTdcIiBbcG9zaXRpb25dPVwiJ2xlZnQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZE9uXT1cImlucHV0RmllbGRBZGRPbi5sZWZ0XCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU3XCI+XHJcbiAgICAgIDwvYXBwLWlucHV0LWZpZWxkLWFkZG9ucz5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkcy1vcHRpb25zIGUxdGFnLWNvbnRhaW5lci1zdHlsZTRcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTRcIj5cclxuICAgICAgICA8YXBwLXp0ZXh0ICpuZ0lmPVwienRleHRfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenRleHQ+XHJcbiAgICAgICAgPGFwcC16c2VsZWN0bXVsdGlwbGUgKm5nSWY9XCJ6c2VsZWN0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenNlbGVjdG11bHRpcGxlPlxyXG4gICAgICAgIDxhcHAtemRhdGV0aW1lICpuZ0lmPVwiemRhdGVfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16ZGF0ZXRpbWU+XHJcbiAgICAgICAgPGFwcC16cG9zdHNlbGVjdGlucHV0ICpuZ0lmPVwienBvc3RzZWxlY3RpbnB1dF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenBvc3RzZWxlY3RpbnB1dD5cclxuICAgICAgICA8YXBwLXpjaGVja2JveCAqbmdJZj1cInpjaGVja2JveF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpjaGVja2JveD5cclxuICAgICAgICA8YXBwLXpudW1lcmljICpuZ0lmPVwiem51bWVyaWNfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtem51bWVyaWM+XHJcbiAgICAgICAgPGFwcC16dGV4dGFyZWEgKm5nSWY9XCJ0ZXh0YXJlYV90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp0ZXh0YXJlYT5cclxuICAgICAgICA8YXBwLXp1cGxvYWQgKm5nSWY9XCJ6dXBsb2FkX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dXBsb2FkPlxyXG4gICAgICAgIDxhcHAtemltZyAqbmdJZj1cInppbWdfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXppbWc+XHJcbiAgICAgICAgPGFwcC16dGV4dGVkaXRvciAqbmdJZj1cInp0ZXh0ZWRpdG9yX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp0ZXh0ZWRpdG9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGFwcC1pbnB1dC1maWVsZC1hZGRvbnMgY2xhc3M9XCJhZGRvbi1yaWdodCBlMXRhZy1jb250YWluZXItc3R5bGU3XCIgW3Bvc2l0aW9uXT1cIidyaWdodCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkT25dPVwiaW5wdXRGaWVsZEFkZE9uLnJpZ2h0XCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU3XCI+XHJcbiAgICAgIDwvYXBwLWlucHV0LWZpZWxkLWFkZG9ucz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGFwcC1pbnB1dC1maWVsZC1hZGRvbnMgY2xhc3M9XCJhZGRvbi1ib3R0b20gZTF0YWctY29udGFpbmVyLXN0eWxlN1wiIFtwb3NpdGlvbl09XCInYm90dG9tJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkT25dPVwiaW5wdXRGaWVsZEFkZE9uLmJvdHRvbVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTdcIj5cclxuICAgIDwvYXBwLWlucHV0LWZpZWxkLWFkZG9ucz5cclxuICAgIDxhcHAtZXJyb3IgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIj48L2FwcC1lcnJvcj5cclxuICAgIDxrZW5kby1sYWJlbCBjbGFzcz1cImlucHV0LXZhbHVlIGUxdGFnLWNvbnRhaW5lci1zdHlsZTZcIiAqbmdJZj1cIiEoZGF0YVsnX0VkaXRNb2RlJ10udmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTZcIlxyXG4gICAgICAgICAgICAgICAgIFt0ZXh0XT1cImdyb3VwLnpNb2RlbFtkYXRhLlZhbHVlXSB8IGlucHV0VGV4dCA6IGRhdGE6IGdyb3VwIHwgYXN5bmNcIj48L2tlbmRvLWxhYmVsPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|