@simpleangularcontrols/sac-common 16.0.0-rc.1 → 16.0.0-rc.2
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 +8 -16
- package/common/basemodelcontrol.d.ts +2 -2
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/esm2022/common/basemodelcontrol.mjs +3 -4
- package/fesm2022/simpleangularcontrols-sac-common.mjs +2 -3
- package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/package.json +1 -1
- package/simpleangularcontrols-sac-common-16.0.0-rc.2.tgz +0 -0
- package/simpleangularcontrols-sac-common-13.0.0-rc.1.tgz +0 -0
- package/simpleangularcontrols-sac-common-16.0.0-rc.1.tgz +0 -0
package/README.md
CHANGED
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
# SimpleAngularControls - Common
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Documentation
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The package only provides the logic for the controls. It can be used to create an implementation of the controls
|
|
6
|
+
controls. Corresponding base classes are provided for all controls.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
> Note: Don't forget to add `--project sac-common` or else it will be added to the default project in your `angular.json` file.
|
|
8
|
+
## Installation
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Do the follow steps to add
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
* add `@simpleangularcontrols/sac-common` dependencies from npm
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Project
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test sac-common` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
16
|
+
For more information, follow us on GitHub: https://github.com/simpleangularcontrols
|
|
@@ -192,9 +192,9 @@ export declare abstract class SacBaseModelControl<VALUE> implements ControlValue
|
|
|
192
192
|
set inlineerrorenabled(value: boolean | null);
|
|
193
193
|
get inlineerrorenabled(): boolean | null;
|
|
194
194
|
/**
|
|
195
|
-
*
|
|
195
|
+
* Returns whether the inline error messages are active for this control.
|
|
196
196
|
*/
|
|
197
|
-
get
|
|
197
|
+
get isinlineerrorenabled(): boolean;
|
|
198
198
|
static ɵfac: i0.ɵɵFactoryDeclaration<SacBaseModelControl<any>, [{ host: true; }, null]>;
|
|
199
199
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SacBaseModelControl<any>, never, never, { "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelsize": { "alias": "labelsize"; "required": false; }; "disablelabel": { "alias": "disablelabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isadaptivelabel": { "alias": "isadaptivelabel"; "required": false; }; "islanguagespecific": { "alias": "islanguagespecific"; "required": false; }; "value": { "alias": "value"; "required": false; }; "inlineerrorenabled": { "alias": "inlineerrorenabled"; "required": false; }; }, {}, never, never, false, never>;
|
|
200
200
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basemodelcontrol.d.ts","sourceRoot":"","sources":["../../../projects/sac-common/src/common/basemodelcontrol.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"basemodelcontrol.d.ts","sourceRoot":"","sources":["../../../projects/sac-common/src/common/basemodelcontrol.ts"],"names":[],"mappings":"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"}
|
|
@@ -294,7 +294,6 @@ class SacBaseModelControl {
|
|
|
294
294
|
observer.complete();
|
|
295
295
|
});
|
|
296
296
|
}
|
|
297
|
-
console.log('Step4: ' + JSON.stringify(errors));
|
|
298
297
|
const errorItem = errors[keys[0]];
|
|
299
298
|
// Validation Parameters
|
|
300
299
|
const parameters = {};
|
|
@@ -329,9 +328,9 @@ class SacBaseModelControl {
|
|
|
329
328
|
return this._inlineerrorenabled;
|
|
330
329
|
}
|
|
331
330
|
/**
|
|
332
|
-
*
|
|
331
|
+
* Returns whether the inline error messages are active for this control.
|
|
333
332
|
*/
|
|
334
|
-
get
|
|
333
|
+
get isinlineerrorenabled() {
|
|
335
334
|
if (this.parent?.IsInlineErrorEnabled === null ||
|
|
336
335
|
this.parent?.IsInlineErrorEnabled === undefined) {
|
|
337
336
|
return this._inlineerrorenabled;
|
|
@@ -366,4 +365,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
366
365
|
}], inlineerrorenabled: [{
|
|
367
366
|
type: Input
|
|
368
367
|
}] } });
|
|
369
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZW1vZGVsY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBSUwsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixTQUFTLEdBR1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWxDLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsdUJBQXVCLEdBQ3hCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUczRDs7R0FFRztBQUNILE1BQ3NCLG1CQUFtQjtJQWdDdkM7O09BRUc7SUFDSCxJQUFhLEtBQUssQ0FBQyxDQUFTO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRDs7T0FFRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBdUJEOztPQUVHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVELGFBQWE7SUFFYixzQkFBc0I7SUFFdEI7Ozs7O09BS0c7SUFDSCxZQUFvQixNQUFxQixFQUFVLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUEzRXJFOztXQUVHO1FBQ08sa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFVakMsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUU1QixhQUFh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b0IsS0FBSyxLQUFLO1lBQzFDLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxLQUFLLENBQ25DLENBQUM7SUFDSixDQUFDOytHQS9hbUIsbUJBQW1CO21HQUFuQixtQkFBbUI7O1NBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUR4QyxTQUFTOzswQkFxRkssSUFBSTttRUFyRFIsSUFBSTtzQkFBWixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBY0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBbUpGLEtBQUs7c0JBRFIsS0FBSztnQkFrTUYsa0JBQWtCO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbiAgRm9ybUNvbnRyb2xOYW1lLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBOZ0NvbnRyb2wsXHJcbiAgVmFsaWRhdGlvbkVycm9ycyxcclxuICBWYWxpZGF0b3IsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNhY0Zvcm1Db21tb24gfSBmcm9tICcuLi9jb250cm9scy9mb3JtL2Zvcm0nO1xyXG5pbXBvcnQgeyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi9wdWJsaWNfYXBpJztcclxuaW1wb3J0IHtcclxuICBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSxcclxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XHJcblxyXG4vKipcclxuICogQWJzdHJhY3QgS2xhc3NlIGbDvHIgU2FjQmFzZU1vZGVsQ29udHJvbC4gSW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXRcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQmFzZU1vZGVsQ29udHJvbDxWQUxVRT5cclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uSW5pdFxyXG57XHJcbiAgLy8gI3JlZ2lvbiBQcml2YXRlIFZhcmlhYmxlc1xyXG5cclxuICAvKipcclxuICAgKiBQYXJlbnQgRm9ybXVsYXJcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcGFyZW50OiBTYWNGb3JtQ29tbW9uO1xyXG4gIC8qKlxyXG4gICAqIFNhY01vZGVsIEZvcm0gaXN0IGRpc2FibGVkXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9kaXNhYmxlZEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBuZ0NvbnRyb2xcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgbmdDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xyXG5cclxuICBwcml2YXRlIF9sYWJlbDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0IGRlbiBMYWJlbCBUZXh0XHJcbiAgICovXHJcbiAgQElucHV0KCkgc2V0IGxhYmVsKHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5fbGFiZWwgPSB2O1xyXG4gICAgdGhpcy5VcGRhdGVMYWJlbFRvQ29udHJvbCgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgZGVuIExhYmVsIFRleHRcclxuICAgKi9cclxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkaWUgTGFiZWxncsO2c2VcclxuICAgKi9cclxuICBASW5wdXQoKSBsYWJlbHNpemU6IG51bWJlciA9IHVuZGVmaW5lZDtcclxuICAvKipcclxuICAgKiBEZWFrdGl2aWVydCBkYXMgTGFiZWwgaW0gVGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlbGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBEZWFrdGl2aWVydCBkYXMgSW5wdXQgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogS29udHJvbGllcnQsIG9iIGRhcyBMYWJlbCBhZGFwdGl2ZSBpc3RcclxuICAgKi9cclxuICBASW5wdXQoKSBpc2FkYXB0aXZlbGFiZWw6IGJvb2xlYW4gPSB1bmRlZmluZWQ7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0LCBvYiBkYXMgQ29udHJvbCBTcHJhY2hzcGV6aWZpc2NoIGlzdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGlzbGFuZ3VhZ2VzcGVjaWZpYzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgb2IgZGFzIENvbnRyb2wgZGlzYWJsZWQgaXN0XHJcbiAgICovXHJcbiAgZ2V0IGlzZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWRGb3JtIHx8IHRoaXMuZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBJbmplY3QgZGVzIEZvcm11bGFyc1xyXG4gICAqIEBwYXJlbnQgU2FjRm9ybUNvbW1vblxyXG4gICAqIEBpbmplY3RvciBJbmplY3RvclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcGFyZW50OiBTYWNGb3JtQ29tbW9uLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XHJcbiAgICB0aGlzLmxuZ1Jlc291cmNlU2VydmljZSA9IGluamVjdG9yLmdldChcclxuICAgICAgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZXJuZSBWYXJpYWJsZSwgZGllIGRlbiBXZXJ0IGRlcyBDb250cm9scyBow6RsdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfdmFsdWU6IFZBTFVFID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9vbkNoYW5nZTogKCkgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQm9vbGVhbiBQcm9wZXJ0eSBkaXJ0eTsgZGVmYXVsdCBXZXJ0IC0gZmFsc2VcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgX2RpcnR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvb2xlYW4gUHJvcGVydHkgdG91Y2hlZDsgZGVmYXVsdCBXZXJ0IC0gZmFsc2VcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgX3RvdWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5saW5lZXJyb3JlbmFibGVkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBDb250cm9sIEV2ZW50c1xyXG5cclxuICAvKipcclxuICAgKiBJbml0IEV2ZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvLyByZWNlaXZlIGZvcm0gdmlhIGZvcm1jb250cm9sbmFtZSBvciBmb3JtY29udHJvbCBpbnN0YW5jZVxyXG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgaWYgKGZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmluamVjdG9yLmdldChGb3JtR3JvdXBEaXJlY3RpdmUsIG51bGwpO1xyXG4gICAgICB0aGlzLm5nQ29udHJvbCA9IGZvcm0uZ2V0Q29udHJvbChmb3JtQ29udHJvbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbCA9IGZvcm1Db250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuVXBkYXRlTGFiZWxUb0NvbnRyb2woKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIExhYmVsIFNpemUgdm9uIEZvcm11bGFyIGxlc2VuXHJcbiAgICAgKi9cclxuICAgIGlmICh0aGlzLmxhYmVsc2l6ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnBhcmVudD8ubGFiZWxzaXplICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmxhYmVsc2l6ZSA9IHRoaXMucGFyZW50LmxhYmVsc2l6ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxhYmVsc2l6ZSA9IDQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkYXB0aXZlIExhYmVsIGZyb20gRm9ybVxyXG4gICAgICovXHJcbiAgICBpZiAodGhpcy5pc2FkYXB0aXZlbGFiZWwgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodGhpcy5wYXJlbnQ/LmlzYWRhcHRpdmVsYWJlbCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5pc2FkYXB0aXZlbGFiZWwgPSB0aGlzLnBhcmVudC5pc2FkYXB0aXZlbGFiZWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc2FkYXB0aXZlbGFiZWwgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuT25DbGFzc0luaXQoKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBJbXBsZW1lbnRhdGlvbiBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG5cclxuICAvKipcclxuICAgKiBMZWVyZSBJbXBsZW1lbnRhdGlvbiB2b24gXCJwcm9wYWdhdGVDaGFuZ2VcIi4gTXVzcyBnZW1hY2h0IHdlcmRlbiwgZGFtaXQga2VpbiBGZWhsZXIgZW50c3RlaHRcclxuICAgKi9cclxuICBwcm9wYWdhdGVDaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZVRvdWNoXCIuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHJvcGFnYXRlVG91Y2g6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlLCBkYW1pdCBhbmRlcmUgQ29udHJvbHMgw6RuZGVydW5nZW4gaW0gQ29udHJvbCBtaXRiZWtvbW1lbiBrw7ZubmVuXHJcbiAgICogWnVyIMOEbmRlcnVuZ3NpbmZvIGRpZSBNZXRob2RlIHByb3BhZ2F0ZUNoYW5nZSBhdWZydWZlbi5cclxuICAgKi9cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gKG9iaikgPT4gZm4ob2JqKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBtaXRiZWtvbW1lbiwgd2VubiBkYXMgQ29udHJvbCBha3RpdmllcnQgKEZvY3VzKSB3aXJkLlxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlVG91Y2ggPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB6dW0gc2NocmVpYmVuIHZvbiBXZXJ0ZW4gYXVzIGRlbSBNb2RlbCBpbiBkYXMgQ29udHJvbFxyXG4gICAqL1xyXG4gIHdyaXRlVmFsdWUodmFsdWU6IFZBTFVFKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0enQgZGFzIENvbnRyb2wgYXVmIERpc2FibGVkXHJcbiAgICovXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZEZvcm0gPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIENvbnRyb2wgVmFsdWVcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IE1ldGhvZGUgZsO8ciBOZ01vZGVsIEJpbmRpbmcgaW4gSHRtbCBNYXJrdXBcclxuICAgKiBJbnB1dCB3aXJkIGJlbsO2dGlndCwgZGFtaXQgZGVyIFdlcnQgYXVjaCDDvGJlciBkYXMgTWFya3VwIGdlc2V0enQgd2VyZGVuIGthbm4uXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgdmFsdWUodjogVkFMVUUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMuQ29udmVydElucHV0VmFsdWUodik7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgTWV0aG9kZSBmw7xyIE5nTW9kZWwgQmluZGluZyBpbiBIdG1sIE1hcmt1cFxyXG4gICAqL1xyXG4gIGdldCB2YWx1ZSgpOiBWQUxVRSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGRpZSBkZW4gV2VydCBkZXMgSW5wdXRzIHNldHp0XHJcbiAgICovXHJcbiAgc2V0VmFsdWUodjogVkFMVUUpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2O1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIEludGVybmFsIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogQmVyZWNobmV0IGRpZSBCcmVpdGUgZGVzIExhYmVsc1xyXG4gICAqL1xyXG4gIGdldCBfaW5wdXRzaXplKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gMTIgLSB0aGlzLmxhYmVsc2l6ZTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgSGVscGVyIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIGNhbiBiZSB1c2VkIHRvIFNldCBQcm9wZXJ0aWVzIGF0IENsYXNzIEluaXRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgT25DbGFzc0luaXQoKTogdm9pZCB7fVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBEZWNpbWFsIFN5bWJvbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBHZXREZWNpbWFsU3ltYm9sKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJy4nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIGNhbiBPdmVyd3JpdGVuIGluIFBhcmVudCBDbGFzc2VzXHJcbiAgICogQHBhcmFtIHZhbHVlIFdlcnQgd2VsY2hlciBpbiBkZW4ga29ycmVrdGVuIFR5cCBrb252ZXJ0aWVydCB3ZXJkZW4gc29sbFxyXG4gICAqIEByZXR1cm5zIFdlcnQgaW0ga29ycmVrdGVuIFR5cFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBDb252ZXJ0SW5wdXRWYWx1ZSh2YWx1ZTogVkFMVUUpOiBWQUxVRSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFVwZGF0ZUxhYmVsVG9Db250cm9sKCk6IHZvaWQge1xyXG4gICAgLy8gSEFDSzogQWRkIGFkZGl0aW9uIHByb3BlcnR5IHRvIEZvcm1Db250cm9sLiBDYW4gYmUgZml4ZWQgaWYgc29sdXRpb24gZm9yIHRpY2tldDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTk2ODZcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICAoXHJcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wgYXMgdW5rbm93biBhcyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb25cclxuICAgICAgKS5jb250cm9sbGFiZWwgPSB0aGlzLmxhYmVsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gVmFsaWRhdGlvbiBCYXNlXHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRvciBNZXRob2RlXHJcbiAgICovXHJcbiAgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgY29uc3QgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gdGhpcy52YWxpZGF0ZURhdGEoYyk7XHJcbiAgICByZXR1cm4gZXJyb3I7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBYnN0cmFrdGUgVmFsaWRhdG9yIE1ldGhvZGVcclxuICAgKi9cclxuICBhYnN0cmFjdCB2YWxpZGF0ZURhdGEoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgcmVnaXN0cmllcnQgw4RuZGVydW5nZW4gYmVpIGRlciBWYWxpZGllcnVuZ1xyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBCb29sZWFuIFdlcnQgZsO8ciBkaXJ0eVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgZGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fZGlydHkgPSB0aGlzLm5nQ29udHJvbC5kaXJ0eTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fZGlydHk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBCb29sZWFuIFdlcnQgZsO8ciB0b3VjaGVkXHJcbiAgICovXHJcbiAgcHVibGljIGdldCB0b3VjaGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX3RvdWNoZWQgPSB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl90b3VjaGVkO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBib29sZWFuIFdlcnQgd2VubiBGb3JtIGludmFsaWQgb2RlciBuaWNodCBpbnZhbGlkIGlzdFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMubmdDb250cm9sICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wgIT09IG51bGwgJiZcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wuaW52YWxpZFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IGJvb2xlYW4gdG91Y2hlZCA9IHRydWVcclxuICAgKi9cclxuICBvblRvdWNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdG91Y2hlZCA9IHRydWU7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIGVyZ2lidCBFcnJvciBhbmhhbmQgdm9uIGdlZ2ViZW5lbiBLcml0ZXJpZW5cclxuICAgKi9cclxuICBHZXRFcnJvck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbC5lcnJvcnMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLm5nQ29udHJvbC5lcnJvcnMgPT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCgnJyk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0gdGhpcy5uZ0NvbnRyb2wuZXJyb3JzO1xyXG5cclxuICAgIGlmIChlcnJvcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxzdHJpbmc+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoJycpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoZXJyb3JzKTtcclxuXHJcbiAgICBpZiAoa2V5cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KCcnKTtcclxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLmxvZygnU3RlcDQ6ICcgKyBKU09OLnN0cmluZ2lmeShlcnJvcnMpKTtcclxuXHJcbiAgICBjb25zdCBlcnJvckl0ZW06IFZhbGlkYXRpb25FcnJvckl0ZW0gPSBlcnJvcnNba2V5c1swXV07XHJcblxyXG4gICAgLy8gVmFsaWRhdGlvbiBQYXJhbWV0ZXJzXHJcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0ge307XHJcbiAgICBpZiAoZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IG51bGwgJiYgZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBlcnJvckl0ZW0ucGFyYW1ldGVycy5mb3JFYWNoKCh2LCBrKSA9PiB7XHJcbiAgICAgICAgcGFyYW1ldGVyc1trXSA9IHY7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IGVycm9ySXRlbS5maWVsZE5hbWU7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgZXJyb3JJdGVtLmVycm9yTWVzc2FnZUtleSxcclxuICAgICAgcGFyYW1ldGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFrdHVhbGlzaWVydCBkZW4gTmdNb2RlbCBXZXJ0IHVuZCBkaWUgR8O8bHRpZ2tlaXQgZGVzIFZhbGlkYXRvcnMgZGVzIENvbnRyb2xzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIFVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWt0aXZpZXJ0IG9kZXIgRGVha3RpdmllcnQgZGllIElubGluZSBFcnJvcnMgZsO8ciBkYXMgQ29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlubGluZWVycm9yZW5hYmxlZCh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZCA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGlubGluZWVycm9yZW5hYmxlZCgpOiBib29sZWFuIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5saW5lZXJyb3JlbmFibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2lidCB6dXLDvGNrLCBvYiBkaWUgSW5saW5lIEVycm9yIE1lbGR1bmdlbiBmw7xyIGRpZXNlbSBDb250cm9sIGFrdGl2IHNpbmQuXHJcbiAgICovXHJcbiAgZ2V0IElzSW5saW5lRXJyb3JFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnBhcmVudD8uSXNJbmxpbmVFcnJvckVuYWJsZWQgPT09IG51bGwgfHxcclxuICAgICAgdGhpcy5wYXJlbnQ/LklzSW5saW5lRXJyb3JFbmFibGVkID09PSB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5faW5saW5lZXJyb3JlbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMucGFyZW50LklzSW5saW5lRXJyb3JFbmFibGVkICE9PSBmYWxzZSAmJlxyXG4gICAgICB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQgIT09IGZhbHNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIl19
|
|
368
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZW1vZGVsY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBSUwsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixTQUFTLEdBR1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWxDLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsdUJBQXVCLEdBQ3hCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUczRDs7R0FFRztBQUNILE1BQ3NCLG1CQUFtQjtJQWdDdkM7O09BRUc7SUFDSCxJQUFhLEtBQUssQ0FBQyxDQUFTO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRDs7T0FFRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBdUJEOztPQUVHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVELGFBQWE7SUFFYixzQkFBc0I7SUFFdEI7Ozs7O09BS0c7SUFDSCxZQUFvQixNQUFxQixFQUFVLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUEzRXJFOztXQUVHO1FBQ08sa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFVakMsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUU1QixhQUFh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QkFBbUI7bUdBQW5CLG1CQUFtQjs7U0FBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBRHhDLFNBQVM7OzBCQXFGSyxJQUFJO21FQXJEUixJQUFJO3NCQUFaLEtBQUs7Z0JBSU8sS0FBSztzQkFBakIsS0FBSztnQkFjRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxlQUFlO3NCQUF2QixLQUFLO2dCQUlHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFtSkYsS0FBSztzQkFEUixLQUFLO2dCQWdNRixrQkFBa0I7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBGb3JtQ29udHJvbE5hbWUsXHJcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG4gIE5nQ29udHJvbCxcclxuICBWYWxpZGF0aW9uRXJyb3JzLFxyXG4gIFZhbGlkYXRvcixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2FjRm9ybUNvbW1vbiB9IGZyb20gJy4uL2NvbnRyb2xzL2Zvcm0vZm9ybSc7XHJcbmltcG9ydCB7IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjTG9jYWxpc2F0aW9uU2VydmljZSc7XHJcbmltcG9ydCB7IElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvbiB9IGZyb20gJy4uL3B1YmxpY19hcGknO1xyXG5pbXBvcnQge1xyXG4gIFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlLFxyXG4gIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxyXG59IGZyb20gJy4uL3NlcnZpY2VzL3NhYy1sb2NhbGlzYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi91dGlsaXRpZXMvY29udmVydGlvbic7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvckl0ZW0gfSBmcm9tICcuLi92YWxpZGF0aW9uJztcclxuXHJcbi8qKlxyXG4gKiBBYnN0cmFjdCBLbGFzc2UgZsO8ciBTYWNCYXNlTW9kZWxDb250cm9sLiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uSW5pdFxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNCYXNlTW9kZWxDb250cm9sPFZBTFVFPlxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25Jbml0XHJcbntcclxuICAvLyAjcmVnaW9uIFByaXZhdGUgVmFyaWFibGVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcmVudCBGb3JtdWxhclxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBwYXJlbnQ6IFNhY0Zvcm1Db21tb247XHJcbiAgLyoqXHJcbiAgICogU2FjTW9kZWwgRm9ybSBpc3QgZGlzYWJsZWRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgX2Rpc2FibGVkRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIG5nQ29udHJvbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBuZ0NvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGbDvHIgRXJyb3IgTG9jYWxpc2F0aW9uXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGxuZ1Jlc291cmNlU2VydmljZTogSVNhY0xvY2FsaXNhdGlvblNlcnZpY2U7XHJcblxyXG4gIHByaXZhdGUgX2xhYmVsOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogTmFtZSBkZXMgQ29udHJvbHNcclxuICAgKi9cclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSAnJztcclxuICAvKipcclxuICAgKiBEZWZpbmllcnQgZGVuIExhYmVsIFRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSBzZXQgbGFiZWwodjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9sYWJlbCA9IHY7XHJcbiAgICB0aGlzLlVwZGF0ZUxhYmVsVG9Db250cm9sKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBkZW4gTGFiZWwgVGV4dFxyXG4gICAqL1xyXG4gIGdldCBsYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xhYmVsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5pZXJ0IGRpZSBMYWJlbGdyw7ZzZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsc2l6ZTogbnVtYmVyID0gdW5kZWZpbmVkO1xyXG4gIC8qKlxyXG4gICAqIERlYWt0aXZpZXJ0IGRhcyBMYWJlbCBpbSBUZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVsYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIERlYWt0aXZpZXJ0IGRhcyBJbnB1dCBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBLb250cm9saWVydCwgb2IgZGFzIExhYmVsIGFkYXB0aXZlIGlzdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGlzYWRhcHRpdmVsYWJlbDogYm9vbGVhbiA9IHVuZGVmaW5lZDtcclxuICAvKipcclxuICAgKiBEZWZpbmllcnQsIG9iIGRhcyBDb250cm9sIFNwcmFjaHNwZXppZmlzY2ggaXN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgaXNsYW5ndWFnZXNwZWNpZmljOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaWVydCBvYiBkYXMgQ29udHJvbCBkaXNhYmxlZCBpc3RcclxuICAgKi9cclxuICBnZXQgaXNkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZEZvcm0gfHwgdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvclxyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICogQHBhcmVudCBTYWNGb3JtQ29tbW9uXHJcbiAgICogQGluamVjdG9yIEluamVjdG9yXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwYXJlbnQ6IFNhY0Zvcm1Db21tb24sIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcclxuICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlcm5lIFZhcmlhYmxlLCBkaWUgZGVuIFdlcnQgZGVzIENvbnRyb2xzIGjDpGx0XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF92YWx1ZTogVkFMVUUgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3JcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgX29uQ2hhbmdlOiAoKSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IGRpcnR5OyBkZWZhdWx0IFdlcnQgLSBmYWxzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfZGlydHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQm9vbGVhbiBQcm9wZXJ0eSB0b3VjaGVkOyBkZWZhdWx0IFdlcnQgLSBmYWxzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBfdG91Y2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBJbmxpbmUgRXJyb3JzIGbDvHIgZGFzIENvbnRyb2xcclxuICAgKi9cclxuICBwcml2YXRlIF9pbmxpbmVlcnJvcmVuYWJsZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIENvbnRyb2wgRXZlbnRzXHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXQgRXZlbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIHJlY2VpdmUgZm9ybSB2aWEgZm9ybWNvbnRyb2xuYW1lIG9yIGZvcm1jb250cm9sIGluc3RhbmNlXHJcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XHJcbiAgICBpZiAoZm9ybUNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbE5hbWUpIHtcclxuICAgICAgY29uc3QgZm9ybSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEZvcm1Hcm91cERpcmVjdGl2ZSwgbnVsbCk7XHJcbiAgICAgIHRoaXMubmdDb250cm9sID0gZm9ybS5nZXRDb250cm9sKGZvcm1Db250cm9sKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sID0gZm9ybUNvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5VcGRhdGVMYWJlbFRvQ29udHJvbCgpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTGFiZWwgU2l6ZSB2b24gRm9ybXVsYXIgbGVzZW5cclxuICAgICAqL1xyXG4gICAgaWYgKHRoaXMubGFiZWxzaXplID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKHRoaXMucGFyZW50Py5sYWJlbHNpemUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMubGFiZWxzaXplID0gdGhpcy5wYXJlbnQubGFiZWxzaXplO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGFiZWxzaXplID0gNDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRhcHRpdmUgTGFiZWwgZnJvbSBGb3JtXHJcbiAgICAgKi9cclxuICAgIGlmICh0aGlzLmlzYWRhcHRpdmVsYWJlbCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnBhcmVudD8uaXNhZGFwdGl2ZWxhYmVsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmlzYWRhcHRpdmVsYWJlbCA9IHRoaXMucGFyZW50LmlzYWRhcHRpdmVsYWJlbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzYWRhcHRpdmVsYWJlbCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5PbkNsYXNzSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIEltcGxlbWVudGF0aW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcblxyXG4gIC8qKlxyXG4gICAqIExlZXJlIEltcGxlbWVudGF0aW9uIHZvbiBcInByb3BhZ2F0ZUNoYW5nZVwiLiBNdXNzIGdlbWFjaHQgd2VyZGVuLCBkYW1pdCBrZWluIEZlaGxlciBlbnRzdGVodFxyXG4gICAqL1xyXG4gIHByb3BhZ2F0ZUNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgLyoqXHJcbiAgICogTGVlcmUgSW1wbGVtZW50YXRpb24gdm9uIFwicHJvcGFnYXRlVG91Y2hcIi4gTXVzcyBnZW1hY2h0IHdlcmRlbiwgZGFtaXQga2VpbiBGZWhsZXIgZW50c3RlaHRcclxuICAgKi9cclxuICBwcm9wYWdhdGVUb3VjaDogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBpbSBDb250cm9sIG1pdGJla29tbWVuIGvDtm5uZW5cclxuICAgKiBadXIgw4RuZGVydW5nc2luZm8gZGllIE1ldGhvZGUgcHJvcGFnYXRlQ2hhbmdlIGF1ZnJ1ZmVuLlxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSwgZGFtaXQgYW5kZXJlIENvbnRyb2xzIMOkbmRlcnVuZ2VuIG1pdGJla29tbWVuLCB3ZW5uIGRhcyBDb250cm9sIGFrdGl2aWVydCAoRm9jdXMpIHdpcmQuXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVUb3VjaCA9IChvYmopID0+IGZuKG9iaik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHp1bSBzY2hyZWliZW4gdm9uIFdlcnRlbiBhdXMgZGVtIE1vZGVsIGluIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogVkFMVUUpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXR6dCBkYXMgQ29udHJvbCBhdWYgRGlzYWJsZWRcclxuICAgKi9cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkRm9ybSA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIC8vICNyZWdpb24gQ29udHJvbCBWYWx1ZVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgTWV0aG9kZSBmw7xyIE5nTW9kZWwgQmluZGluZyBpbiBIdG1sIE1hcmt1cFxyXG4gICAqIElucHV0IHdpcmQgYmVuw7Z0aWd0LCBkYW1pdCBkZXIgV2VydCBhdWNoIMO8YmVyIGRhcyBNYXJrdXAgZ2VzZXR6dCB3ZXJkZW4ga2Fubi5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZSh2OiBWQUxVRSkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5Db252ZXJ0SW5wdXRWYWx1ZSh2KTtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBNZXRob2RlIGbDvHIgTmdNb2RlbCBCaW5kaW5nIGluIEh0bWwgTWFya3VwXHJcbiAgICovXHJcbiAgZ2V0IHZhbHVlKCk6IFZBTFVFIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZGllIGRlbiBXZXJ0IGRlcyBJbnB1dHMgc2V0enRcclxuICAgKi9cclxuICBzZXRWYWx1ZSh2OiBWQUxVRSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIC8vICNyZWdpb24gSW50ZXJuYWwgUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBCZXJlY2huZXQgZGllIEJyZWl0ZSBkZXMgTGFiZWxzXHJcbiAgICovXHJcbiAgZ2V0IF9pbnB1dHNpemUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAxMiAtIHRoaXMubGFiZWxzaXplO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBIZWxwZXIgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgY2FuIGJlIHVzZWQgdG8gU2V0IFByb3BlcnRpZXMgYXQgQ2xhc3MgSW5pdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBPbkNsYXNzSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IERlY2ltYWwgU3ltYm9sXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIEdldERlY2ltYWxTeW1ib2woKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnLic7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgY2FuIE92ZXJ3cml0ZW4gaW4gUGFyZW50IENsYXNzZXNcclxuICAgKiBAcGFyYW0gdmFsdWUgV2VydCB3ZWxjaGVyIGluIGRlbiBrb3JyZWt0ZW4gVHlwIGtvbnZlcnRpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICogQHJldHVybnMgV2VydCBpbSBrb3JyZWt0ZW4gVHlwXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIENvbnZlcnRJbnB1dFZhbHVlKHZhbHVlOiBWQUxVRSk6IFZBTFVFIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgVXBkYXRlTGFiZWxUb0NvbnRyb2woKTogdm9pZCB7XHJcbiAgICAvLyBIQUNLOiBBZGQgYWRkaXRpb24gcHJvcGVydHkgdG8gRm9ybUNvbnRyb2wuIENhbiBiZSBmaXhlZCBpZiBzb2x1dGlvbiBmb3IgdGlja2V0OiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xOTY4NlxyXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XHJcbiAgICAgIChcclxuICAgICAgICB0aGlzLm5nQ29udHJvbCBhcyB1bmtub3duIGFzIElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvblxyXG4gICAgICApLmNvbnRyb2xsYWJlbCA9IHRoaXMubGFiZWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBWYWxpZGF0aW9uIEJhc2VcclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIE1ldGhvZGVcclxuICAgKi9cclxuICB2YWxpZGF0ZShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBjb25zdCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSB0aGlzLnZhbGlkYXRlRGF0YShjKTtcclxuICAgIHJldHVybiBlcnJvcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFic3RyYWt0ZSBWYWxpZGF0b3IgTWV0aG9kZVxyXG4gICAqL1xyXG4gIGFic3RyYWN0IHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSByZWdpc3RyaWVydCDDhG5kZXJ1bmdlbiBiZWkgZGVyIFZhbGlkaWVydW5nXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IEJvb2xlYW4gV2VydCBmw7xyIGRpcnR5XHJcbiAgICovXHJcbiAgcHVibGljIGdldCBkaXJ0eSgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9kaXJ0eSA9IHRoaXMubmdDb250cm9sLmRpcnR5O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl9kaXJ0eTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IEJvb2xlYW4gV2VydCBmw7xyIHRvdWNoZWRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHRvdWNoZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fdG91Y2hlZCA9IHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3RvdWNoZWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IGJvb2xlYW4gV2VydCB3ZW5uIEZvcm0gaW52YWxpZCBvZGVyIG5pY2h0IGludmFsaWQgaXN0XHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICB0aGlzLm5nQ29udHJvbCAhPT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLm5nQ29udHJvbC5pbnZhbGlkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSBlcmdpYnQgYm9vbGVhbiB0b3VjaGVkID0gdHJ1ZVxyXG4gICAqL1xyXG4gIG9uVG91Y2goKTogdm9pZCB7XHJcbiAgICB0aGlzLl90b3VjaGVkID0gdHJ1ZTtcclxuICAgIHRoaXMucHJvcGFnYXRlVG91Y2goKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgZXJnaWJ0IEVycm9yIGFuaGFuZCB2b24gZ2VnZWJlbmVuIEtyaXRlcmllblxyXG4gICAqL1xyXG4gIEdldEVycm9yTWVzc2FnZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sLmVycm9ycyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubmdDb250cm9sLmVycm9ycyA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KCcnKTtcclxuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSB0aGlzLm5nQ29udHJvbC5lcnJvcnM7XHJcblxyXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCgnJyk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhlcnJvcnMpO1xyXG5cclxuICAgIGlmIChrZXlzLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxzdHJpbmc+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoJycpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVycm9ySXRlbTogVmFsaWRhdGlvbkVycm9ySXRlbSA9IGVycm9yc1trZXlzWzBdXTtcclxuXHJcbiAgICAvLyBWYWxpZGF0aW9uIFBhcmFtZXRlcnNcclxuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7fTtcclxuICAgIGlmIChlcnJvckl0ZW0ucGFyYW1ldGVycyAhPT0gbnVsbCAmJiBlcnJvckl0ZW0ucGFyYW1ldGVycyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGVycm9ySXRlbS5wYXJhbWV0ZXJzLmZvckVhY2goKHYsIGspID0+IHtcclxuICAgICAgICBwYXJhbWV0ZXJzW2tdID0gdjtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwYXJhbWV0ZXJzWydGSUVMRCddID0gZXJyb3JJdGVtLmZpZWxkTmFtZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKFxyXG4gICAgICBlcnJvckl0ZW0uZXJyb3JNZXNzYWdlS2V5LFxyXG4gICAgICBwYXJhbWV0ZXJzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWt0dWFsaXNpZXJ0IGRlbiBOZ01vZGVsIFdlcnQgdW5kIGRpZSBHw7xsdGlna2VpdCBkZXMgVmFsaWRhdG9ycyBkZXMgQ29udHJvbHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgVXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBa3RpdmllcnQgb2RlciBEZWFrdGl2aWVydCBkaWUgSW5saW5lIEVycm9ycyBmw7xyIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaW5saW5lZXJyb3JlbmFibGVkKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5faW5saW5lZXJyb3JlbmFibGVkID0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2lubGluZWVycm9yZW5hYmxlZCA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgaW5saW5lZXJyb3JlbmFibGVkKCk6IGJvb2xlYW4gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGlubGluZSBlcnJvciBtZXNzYWdlcyBhcmUgYWN0aXZlIGZvciB0aGlzIGNvbnRyb2wuXHJcbiAgICovXHJcbiAgZ2V0IGlzaW5saW5lZXJyb3JlbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnBhcmVudD8uSXNJbmxpbmVFcnJvckVuYWJsZWQgPT09IG51bGwgfHxcclxuICAgICAgdGhpcy5wYXJlbnQ/LklzSW5saW5lRXJyb3JFbmFibGVkID09PSB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5faW5saW5lZXJyb3JlbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMucGFyZW50LklzSW5saW5lRXJyb3JFbmFibGVkICE9PSBmYWxzZSAmJlxyXG4gICAgICB0aGlzLl9pbmxpbmVlcnJvcmVuYWJsZWQgIT09IGZhbHNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIl19
|
|
@@ -1336,7 +1336,6 @@ class SacBaseModelControl {
|
|
|
1336
1336
|
observer.complete();
|
|
1337
1337
|
});
|
|
1338
1338
|
}
|
|
1339
|
-
console.log('Step4: ' + JSON.stringify(errors));
|
|
1340
1339
|
const errorItem = errors[keys[0]];
|
|
1341
1340
|
// Validation Parameters
|
|
1342
1341
|
const parameters = {};
|
|
@@ -1371,9 +1370,9 @@ class SacBaseModelControl {
|
|
|
1371
1370
|
return this._inlineerrorenabled;
|
|
1372
1371
|
}
|
|
1373
1372
|
/**
|
|
1374
|
-
*
|
|
1373
|
+
* Returns whether the inline error messages are active for this control.
|
|
1375
1374
|
*/
|
|
1376
|
-
get
|
|
1375
|
+
get isinlineerrorenabled() {
|
|
1377
1376
|
if (this.parent?.IsInlineErrorEnabled === null ||
|
|
1378
1377
|
this.parent?.IsInlineErrorEnabled === undefined) {
|
|
1379
1378
|
return this._inlineerrorenabled;
|