@alauda/ui 6.3.5-beta.2 → 6.3.6-beta.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.
Files changed (38) hide show
  1. package/autocomplete/autocomplete.module.d.ts +5 -4
  2. package/button/button.component.d.ts +1 -0
  3. package/checkbox/checkbox.component.d.ts +2 -2
  4. package/dropdown/dropdown.directive.d.ts +1 -0
  5. package/esm2020/autocomplete/autocomplete.module.mjs +5 -2
  6. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +4 -3
  7. package/esm2020/button/button.component.mjs +11 -4
  8. package/esm2020/checkbox/checkbox.component.mjs +10 -7
  9. package/esm2020/dialog/dialog.component.mjs +3 -3
  10. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +3 -3
  11. package/esm2020/dropdown/dropdown.directive.mjs +12 -4
  12. package/esm2020/form/common-form.mjs +15 -6
  13. package/esm2020/icon/icon.component.mjs +6 -3
  14. package/esm2020/input/input.component.mjs +13 -4
  15. package/esm2020/input/tags-input/tags-input.component.mjs +5 -5
  16. package/esm2020/radio/base-radio.mjs +9 -3
  17. package/esm2020/select/multi-select/multi-select.component.mjs +7 -7
  18. package/esm2020/select/option/option.component.mjs +9 -3
  19. package/esm2020/select/select.component.mjs +3 -3
  20. package/esm2020/time-picker/panel/panel.component.mjs +5 -5
  21. package/esm2020/utils/e2e-attribute-binding.directive.mjs +33 -0
  22. package/esm2020/utils/fn.mjs +10 -1
  23. package/esm2020/utils/index.mjs +2 -1
  24. package/fesm2015/alauda-ui.mjs +133 -42
  25. package/fesm2015/alauda-ui.mjs.map +1 -1
  26. package/fesm2020/alauda-ui.mjs +133 -42
  27. package/fesm2020/alauda-ui.mjs.map +1 -1
  28. package/form/common-form.d.ts +4 -2
  29. package/input/input.component.d.ts +1 -0
  30. package/input/tags-input/tags-input.component.d.ts +1 -1
  31. package/package.json +1 -1
  32. package/radio/base-radio.d.ts +1 -0
  33. package/select/multi-select/multi-select.component.d.ts +1 -1
  34. package/select/option/option.component.d.ts +1 -0
  35. package/time-picker/panel/panel.component.d.ts +1 -1
  36. package/utils/e2e-attribute-binding.directive.d.ts +10 -0
  37. package/utils/fn.d.ts +1 -0
  38. package/utils/index.d.ts +1 -0
@@ -28,10 +28,10 @@ export class DropdownButtonComponent {
28
28
  }
29
29
  }
30
30
  DropdownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DropdownButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- DropdownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DropdownButtonComponent, selector: "aui-dropdown-button", inputs: { type: "type", plain: "plain", size: "size", loading: "loading", disabled: "disabled" }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], ngImport: i0, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i3.DropdownDirective, selector: "[auiDropdown]", inputs: ["auiDropdownClass", "auiDropdownDisabled", "auiDropdownPosition", "auiDropdownTrigger", "auiDropdown", "auiDropdownContext", "auiDropdownHideOnClick"], outputs: ["auiDropdownShow", "auiDropdownHide"], exportAs: ["auiDropdown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
+ DropdownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DropdownButtonComponent, selector: "aui-dropdown-button", inputs: { type: "type", plain: "plain", size: "size", loading: "loading", disabled: "disabled" }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], ngImport: i0, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n data-test=\"DROPDOWN-BUTTON/\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i3.DropdownDirective, selector: "[auiDropdown]", inputs: ["auiDropdownClass", "auiDropdownDisabled", "auiDropdownPosition", "auiDropdownTrigger", "auiDropdown", "auiDropdownContext", "auiDropdownHideOnClick"], outputs: ["auiDropdownShow", "auiDropdownHide"], exportAs: ["auiDropdown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DropdownButtonComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'aui-dropdown-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"] }]
34
+ args: [{ selector: 'aui-dropdown-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n data-test=\"DROPDOWN-BUTTON/\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"] }]
35
35
  }], propDecorators: { type: [{
36
36
  type: Input
37
37
  }], plain: [{
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
48
48
  type: ContentChild,
49
49
  args: [MenuComponent, { static: true }]
50
50
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFPLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBVXZELE1BQU0sT0FBTyx1QkFBdUI7SUFScEM7UUFTRSxRQUFHLEdBQVEsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFHM0MsU0FBSSxHQUFlLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFHdEMsVUFBSyxHQUFHLElBQUksQ0FBQztRQUdiLFNBQUksR0FBa0IsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUczQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBWWhCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQVNoQyxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBQzNCO0lBcEJDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsR0FBaUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBUUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQztJQUNwQyxDQUFDOztvSEFoQ1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsd09BMkJwQixhQUFhLDhEQ2xEN0Isc21CQXlCQTsyRkRGYSx1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUs7OEJBTTFCLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUs7Z0JBVU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLElBQUk7c0JBREgsWUFBWTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnV0dG9uVHlwZSB9IGZyb20gJy4uLy4uL2J1dHRvbi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCZW0sIGJ1aWxkQmVtLCBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51L21lbnUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWRyb3Bkb3duLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkJ1dHRvbkNvbXBvbmVudCB7XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1kcm9wZG93bi1idXR0b24nKTtcblxuICBASW5wdXQoKVxuICB0eXBlOiBCdXR0b25UeXBlID0gQnV0dG9uVHlwZS5EZWZhdWx0O1xuXG4gIEBJbnB1dCgpXG4gIHBsYWluID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzaXplOiBDb21wb25lbnRTaXplID0gQ29tcG9uZW50U2l6ZS5NZWRpdW07XG5cbiAgQElucHV0KClcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoTWVudUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgbWVudTogTWVudUNvbXBvbmVudDtcblxuICBnZXQgZGlzYWJsZVRyaWdnZXIoKSB7XG4gICAgcmV0dXJuICF0aGlzLm1lbnU/Lmhhc0VuYWJsZWRJdGVtO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbn1cbiIsIjxkaXYgW2NsYXNzXT1cImJlbS5ibG9jayhzaXplKVwiPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJhdWktZHJvcGRvd24tYnV0dG9uX19jb250ZW50XCJcbiAgICBbYXVpLWJ1dHRvbl09XCJ0eXBlXCJcbiAgICBbcGxhaW5dPVwicGxhaW5cIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJhdWktZHJvcGRvd24tYnV0dG9uX190cmlnZ2VyXCJcbiAgICBbYXVpLWJ1dHRvbl09XCJ0eXBlXCJcbiAgICBbcGxhaW5dPVwicGxhaW5cIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFthdWlEcm9wZG93bl09XCJtZW51XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVRyaWdnZXJcIlxuICA+XG4gICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9kb3duXCI+PC9hdWktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFPLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBVXZELE1BQU0sT0FBTyx1QkFBdUI7SUFScEM7UUFTRSxRQUFHLEdBQVEsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFHM0MsU0FBSSxHQUFlLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFHdEMsVUFBSyxHQUFHLElBQUksQ0FBQztRQUdiLFNBQUksR0FBa0IsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUczQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBWWhCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQVNoQyxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBQzNCO0lBcEJDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsR0FBaUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBUUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQztJQUNwQyxDQUFDOztvSEFoQ1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsd09BMkJwQixhQUFhLDhEQ2xEN0IsMG9CQTBCQTsyRkRIYSx1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUs7OEJBTTFCLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUs7Z0JBVU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLElBQUk7c0JBREgsWUFBWTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnV0dG9uVHlwZSB9IGZyb20gJy4uLy4uL2J1dHRvbi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCZW0sIGJ1aWxkQmVtLCBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51L21lbnUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWRyb3Bkb3duLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkJ1dHRvbkNvbXBvbmVudCB7XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1kcm9wZG93bi1idXR0b24nKTtcblxuICBASW5wdXQoKVxuICB0eXBlOiBCdXR0b25UeXBlID0gQnV0dG9uVHlwZS5EZWZhdWx0O1xuXG4gIEBJbnB1dCgpXG4gIHBsYWluID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzaXplOiBDb21wb25lbnRTaXplID0gQ29tcG9uZW50U2l6ZS5NZWRpdW07XG5cbiAgQElucHV0KClcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoTWVudUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgbWVudTogTWVudUNvbXBvbmVudDtcblxuICBnZXQgZGlzYWJsZVRyaWdnZXIoKSB7XG4gICAgcmV0dXJuICF0aGlzLm1lbnU/Lmhhc0VuYWJsZWRJdGVtO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbn1cbiIsIjxkaXYgW2NsYXNzXT1cImJlbS5ibG9jayhzaXplKVwiPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJhdWktZHJvcGRvd24tYnV0dG9uX19jb250ZW50XCJcbiAgICBbYXVpLWJ1dHRvbl09XCJ0eXBlXCJcbiAgICBbcGxhaW5dPVwicGxhaW5cIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgZGF0YS10ZXN0PVwiRFJPUERPV04tQlVUVE9OL1wiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJhdWktZHJvcGRvd24tYnV0dG9uX190cmlnZ2VyXCJcbiAgICBbYXVpLWJ1dHRvbl09XCJ0eXBlXCJcbiAgICBbcGxhaW5dPVwicGxhaW5cIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFthdWlEcm9wZG93bl09XCJtZW51XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVRyaWdnZXJcIlxuICA+XG4gICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9kb3duXCI+PC9hdWktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +1,7 @@
1
- import { Directive, EventEmitter, Input, Output, } from '@angular/core';
1
+ import { Directive, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
2
2
  import { debounceTime } from 'rxjs/operators';
3
3
  import { BaseTooltip, TooltipTrigger, TooltipType, } from '../tooltip/public-api';
4
+ import { simplifyStringToTestId } from '../utils';
4
5
  import { DropdownActiveDirective } from './dropdown-active.directive';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/cdk/overlay";
@@ -15,6 +16,10 @@ export class DropdownDirective extends BaseTooltip {
15
16
  this.position = 'bottom end';
16
17
  this.trigger = TooltipTrigger.Click;
17
18
  }
19
+ get testId() {
20
+ return ('AUI-DROPDOWN/' +
21
+ simplifyStringToTestId(this.elRef.nativeElement.textContent));
22
+ }
18
23
  get menu() {
19
24
  return this._menu;
20
25
  }
@@ -40,7 +45,7 @@ export class DropdownDirective extends BaseTooltip {
40
45
  }
41
46
  }
42
47
  DropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DropdownDirective, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
43
- DropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: DropdownDirective, selector: "[auiDropdown]", inputs: { class: ["auiDropdownClass", "class"], disabled: ["auiDropdownDisabled", "disabled"], position: ["auiDropdownPosition", "position"], trigger: ["auiDropdownTrigger", "trigger"], menu: ["auiDropdown", "menu"], lazyContentContext: ["auiDropdownContext", "lazyContentContext"], hideOnClick: ["auiDropdownHideOnClick", "hideOnClick"] }, outputs: { show: "auiDropdownShow", hide: "auiDropdownHide" }, providers: [
48
+ DropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: DropdownDirective, selector: "[auiDropdown]", inputs: { class: ["auiDropdownClass", "class"], disabled: ["auiDropdownDisabled", "disabled"], position: ["auiDropdownPosition", "position"], trigger: ["auiDropdownTrigger", "trigger"], menu: ["auiDropdown", "menu"], lazyContentContext: ["auiDropdownContext", "lazyContentContext"], hideOnClick: ["auiDropdownHideOnClick", "hideOnClick"] }, outputs: { show: "auiDropdownShow", hide: "auiDropdownHide" }, host: { properties: { "attr.data-test": "this.testId" } }, providers: [
44
49
  {
45
50
  provide: BaseTooltip,
46
51
  useExisting: DropdownDirective,
@@ -64,7 +69,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
64
69
  },
65
70
  ],
66
71
  }]
67
- }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { menu: [{
72
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { testId: [{
73
+ type: HostBinding,
74
+ args: ['attr.data-test']
75
+ }], menu: [{
68
76
  type: Input,
69
77
  args: ['auiDropdown']
70
78
  }], lazyContentContext: [{
@@ -80,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
80
88
  type: Output,
81
89
  args: ['auiDropdownHide']
82
90
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBbUJ0RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQTRCaEQsWUFDRSxPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsS0FBaUIsRUFDakIsUUFBbUIsRUFDbkIsR0FBc0IsRUFDdEIsTUFBYztRQUVkLEtBQUssQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFsQnhELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBR25CLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2hDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBYXZDLElBQUksdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzVFLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQXhDRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQUs7UUFDWixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBK0JELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzdDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQXhEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw0YkFQakI7UUFDVDtZQUNFLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFdBQVcsRUFBRSxpQkFBaUI7U0FDL0I7S0FDRjsyRkFFVSxpQkFBaUI7a0JBaEI3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsTUFBTSxFQUFFO3dCQUNOLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qiw4QkFBOEI7d0JBQzlCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxXQUFXOzRCQUNwQixXQUFXLG1CQUFtQjt5QkFDL0I7cUJBQ0Y7aUJBQ0Y7bU9BR0ssSUFBSTtzQkFEUCxLQUFLO3VCQUFDLGFBQWE7Z0JBY3BCLGtCQUFrQjtzQkFEakIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSWxCLFdBQVc7c0JBRG5CLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUl0QixJQUFJO3NCQURaLE1BQU07dUJBQUMsaUJBQWlCO2dCQUloQixJQUFJO3NCQURaLE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IG5vLW91dHB1dC1yZW5hbWVcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBCYXNlVG9vbHRpcCxcbiAgVG9vbHRpcFRyaWdnZXIsXG4gIFRvb2x0aXBUeXBlLFxufSBmcm9tICcuLi90b29sdGlwL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQgeyBEcm9wZG93bkFjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tYWN0aXZlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51L21lbnUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aURyb3Bkb3duXScsXG4gIGV4cG9ydEFzOiAnYXVpRHJvcGRvd24nLFxuICBpbnB1dHM6IFtcbiAgICAnY2xhc3M6YXVpRHJvcGRvd25DbGFzcycsXG4gICAgJ2Rpc2FibGVkOmF1aURyb3Bkb3duRGlzYWJsZWQnLFxuICAgICdwb3NpdGlvbjphdWlEcm9wZG93blBvc2l0aW9uJyxcbiAgICAndHJpZ2dlcjphdWlEcm9wZG93blRyaWdnZXInLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBCYXNlVG9vbHRpcCxcbiAgICAgIHVzZUV4aXN0aW5nOiBEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkRpcmVjdGl2ZSBleHRlbmRzIEJhc2VUb29sdGlwIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdhdWlEcm9wZG93bicpXG4gIGdldCBtZW51KCkge1xuICAgIHJldHVybiB0aGlzLl9tZW51O1xuICB9XG5cbiAgc2V0IG1lbnUodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuX21lbnUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbWVudSA9IHZhbHVlO1xuICAgIHRoaXMuY29udGVudCA9IHZhbHVlLnRlbXBsYXRlO1xuICB9XG5cbiAgQElucHV0KCdhdWlEcm9wZG93bkNvbnRleHQnKVxuICBsYXp5Q29udGVudENvbnRleHQ6IGFueTtcblxuICBASW5wdXQoJ2F1aURyb3Bkb3duSGlkZU9uQ2xpY2snKVxuICBvdmVycmlkZSBoaWRlT25DbGljayA9IHRydWU7XG5cbiAgQE91dHB1dCgnYXVpRHJvcGRvd25TaG93JylcbiAgb3ZlcnJpZGUgc2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCdhdWlEcm9wZG93bkhpZGUnKVxuICBvdmVycmlkZSBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgX21lbnU6IE1lbnVDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgc3VwZXIob3ZlcmxheSwgdmlld0NvbnRhaW5lclJlZiwgZWxSZWYsIHJlbmRlcmVyLCBjZHIsIG5nWm9uZSk7XG4gICAgbmV3IERyb3Bkb3duQWN0aXZlRGlyZWN0aXZlKHRoaXMsIGVsUmVmLCByZW5kZXJlcikuY3VzdG9tQ2xhc3MgPSAnaXNBY3RpdmUnO1xuICAgIHRoaXMudHlwZSA9IFRvb2x0aXBUeXBlLlBsYWluO1xuICAgIHRoaXMucG9zaXRpb24gPSAnYm90dG9tIGVuZCc7XG4gICAgdGhpcy50cmlnZ2VyID0gVG9vbHRpcFRyaWdnZXIuQ2xpY2s7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3cucGlwZShkZWJvdW5jZVRpbWUoMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5tZW51LmxhenlDb250ZW50KSB7XG4gICAgICAgIHRoaXMubWVudS5sYXp5Q29udGVudC5hdHRhY2godGhpcy5sYXp5Q29udGVudENvbnRleHQpO1xuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmhpZGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm1lbnUubGF6eUNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5tZW51LmxhenlDb250ZW50LmRldGFjaCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUNMLFdBQVcsRUFDWCxjQUFjLEVBQ2QsV0FBVyxHQUNaLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFtQnRFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBb0NoRCxZQUNFLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFpQixFQUNqQixRQUFtQixFQUNuQixHQUFzQixFQUN0QixNQUFjO1FBRWQsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQWxCeEQsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHaEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFhdkMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDNUUsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBaERELElBQ0ksTUFBTTtRQUNSLE9BQU8sQ0FDTCxlQUFlO1lBQ2Ysc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQzdELENBQUM7SUFDSixDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLO1FBQ1osSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQStCRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs4R0FoRVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsdWZBUGpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsV0FBVztZQUNwQixXQUFXLEVBQUUsaUJBQWlCO1NBQy9CO0tBQ0Y7MkZBRVUsaUJBQWlCO2tCQWhCN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLE1BQU0sRUFBRTt3QkFDTix3QkFBd0I7d0JBQ3hCLDhCQUE4Qjt3QkFDOUIsOEJBQThCO3dCQUM5Qiw0QkFBNEI7cUJBQzdCO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsV0FBVyxtQkFBbUI7eUJBQy9CO3FCQUNGO2lCQUNGO21PQUdLLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBU3pCLElBQUk7c0JBRFAsS0FBSzt1QkFBQyxhQUFhO2dCQWNwQixrQkFBa0I7c0JBRGpCLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUlsQixXQUFXO3NCQURuQixLQUFLO3VCQUFDLHdCQUF3QjtnQkFJdEIsSUFBSTtzQkFEWixNQUFNO3VCQUFDLGlCQUFpQjtnQkFJaEIsSUFBSTtzQkFEWixNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOiBuby1vdXRwdXQtcmVuYW1lXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIEJhc2VUb29sdGlwLFxuICBUb29sdGlwVHJpZ2dlcixcbiAgVG9vbHRpcFR5cGUsXG59IGZyb20gJy4uL3Rvb2x0aXAvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBzaW1wbGlmeVN0cmluZ1RvVGVzdElkIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBEcm9wZG93bkFjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tYWN0aXZlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51L21lbnUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aURyb3Bkb3duXScsXG4gIGV4cG9ydEFzOiAnYXVpRHJvcGRvd24nLFxuICBpbnB1dHM6IFtcbiAgICAnY2xhc3M6YXVpRHJvcGRvd25DbGFzcycsXG4gICAgJ2Rpc2FibGVkOmF1aURyb3Bkb3duRGlzYWJsZWQnLFxuICAgICdwb3NpdGlvbjphdWlEcm9wZG93blBvc2l0aW9uJyxcbiAgICAndHJpZ2dlcjphdWlEcm9wZG93blRyaWdnZXInLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBCYXNlVG9vbHRpcCxcbiAgICAgIHVzZUV4aXN0aW5nOiBEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkRpcmVjdGl2ZSBleHRlbmRzIEJhc2VUb29sdGlwIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdCcpXG4gIGdldCB0ZXN0SWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICdBVUktRFJPUERPV04vJyArXG4gICAgICBzaW1wbGlmeVN0cmluZ1RvVGVzdElkKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudClcbiAgICApO1xuICB9XG5cbiAgQElucHV0KCdhdWlEcm9wZG93bicpXG4gIGdldCBtZW51KCkge1xuICAgIHJldHVybiB0aGlzLl9tZW51O1xuICB9XG5cbiAgc2V0IG1lbnUodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuX21lbnUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbWVudSA9IHZhbHVlO1xuICAgIHRoaXMuY29udGVudCA9IHZhbHVlLnRlbXBsYXRlO1xuICB9XG5cbiAgQElucHV0KCdhdWlEcm9wZG93bkNvbnRleHQnKVxuICBsYXp5Q29udGVudENvbnRleHQ6IGFueTtcblxuICBASW5wdXQoJ2F1aURyb3Bkb3duSGlkZU9uQ2xpY2snKVxuICBvdmVycmlkZSBoaWRlT25DbGljayA9IHRydWU7XG5cbiAgQE91dHB1dCgnYXVpRHJvcGRvd25TaG93JylcbiAgb3ZlcnJpZGUgc2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCdhdWlEcm9wZG93bkhpZGUnKVxuICBvdmVycmlkZSBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgX21lbnU6IE1lbnVDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgc3VwZXIob3ZlcmxheSwgdmlld0NvbnRhaW5lclJlZiwgZWxSZWYsIHJlbmRlcmVyLCBjZHIsIG5nWm9uZSk7XG4gICAgbmV3IERyb3Bkb3duQWN0aXZlRGlyZWN0aXZlKHRoaXMsIGVsUmVmLCByZW5kZXJlcikuY3VzdG9tQ2xhc3MgPSAnaXNBY3RpdmUnO1xuICAgIHRoaXMudHlwZSA9IFRvb2x0aXBUeXBlLlBsYWluO1xuICAgIHRoaXMucG9zaXRpb24gPSAnYm90dG9tIGVuZCc7XG4gICAgdGhpcy50cmlnZ2VyID0gVG9vbHRpcFRyaWdnZXIuQ2xpY2s7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3cucGlwZShkZWJvdW5jZVRpbWUoMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5tZW51LmxhenlDb250ZW50KSB7XG4gICAgICAgIHRoaXMubWVudS5sYXp5Q29udGVudC5hdHRhY2godGhpcy5sYXp5Q29udGVudENvbnRleHQpO1xuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmhpZGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm1lbnUubGF6eUNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5tZW51LmxhenlDb250ZW50LmRldGFjaCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Directive, EventEmitter, Input, Output, } from '@angular/core';
1
+ import { Directive, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
2
2
  import { ReplaySubject } from 'rxjs';
3
3
  import { coerceAttrBoolean } from '../utils';
4
4
  import * as i0 from "@angular/core";
@@ -8,8 +8,9 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  // tslint:disable-next-line:directive-class-suffix
10
10
  export class CommonFormControl {
11
- constructor(cdr) {
11
+ constructor(cdr, elementRef) {
12
12
  this.cdr = cdr;
13
+ this.elementRef = elementRef;
13
14
  this.valueChange = new EventEmitter();
14
15
  this._disabled = false;
15
16
  this.model = null;
@@ -25,6 +26,11 @@ export class CommonFormControl {
25
26
  set disabled(val) {
26
27
  this._disabled = coerceAttrBoolean(val);
27
28
  }
29
+ get testId() {
30
+ return ('AUI-FORM-CONTROL/' +
31
+ (this.elementRef.nativeElement.getAttribute('formControlName') ||
32
+ this.elementRef.nativeElement.getAttribute('name')));
33
+ }
28
34
  get readonly() {
29
35
  return this.disabled;
30
36
  }
@@ -71,12 +77,15 @@ export class CommonFormControl {
71
77
  return model;
72
78
  }
73
79
  }
74
- CommonFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CommonFormControl, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
75
- CommonFormControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: CommonFormControl, inputs: { disabled: "disabled", readonly: "readonly", propValue: ["value", "propValue"] }, outputs: { valueChange: "valueChange" }, ngImport: i0 });
80
+ CommonFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CommonFormControl, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
81
+ CommonFormControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.3", type: CommonFormControl, inputs: { disabled: "disabled", readonly: "readonly", propValue: ["value", "propValue"] }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.data-test": "this.testId" } }, ngImport: i0 });
76
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CommonFormControl, decorators: [{
77
83
  type: Directive
78
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
84
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { disabled: [{
79
85
  type: Input
86
+ }], testId: [{
87
+ type: HostBinding,
88
+ args: ['attr.data-test']
80
89
  }], readonly: [{
81
90
  type: Input
82
91
  }], propValue: [{
@@ -89,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
89
98
  * @deprecated use {@link CommonFormControl} instead
90
99
  */
91
100
  export const CommonForm = CommonFormControl;
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybS9jb21tb24tZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUU3Qzs7O0dBR0c7QUFFSCxrREFBa0Q7QUFDbEQsTUFBTSxPQUFPLGlCQUFpQjtJQTJDNUIsWUFBc0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFWNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBSyxDQUFDO1FBSzVCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFMUIsVUFBSyxHQUFNLElBQUksQ0FBQztRQUNoQixXQUFNLEdBQUcsSUFBSSxhQUFhLENBQUksQ0FBQyxDQUFDLENBQUM7UUFHL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUEvQ0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFpQjtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQUc7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFvQkQsZ0JBQWdCLENBQUMsRUFBa0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFRO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFRO1FBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQVE7UUFDeEIsT0FBTyxLQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFRO1FBQ3pCLE9BQU8sS0FBWSxDQUFDO0lBQ3RCLENBQUM7OzhHQXJGVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUY3QixTQUFTO3dHQUlKLFFBQVE7c0JBRFgsS0FBSztnQkFVRixRQUFRO3NCQURYLEtBQUs7Z0JBVUYsU0FBUztzQkFEWixLQUFLO3VCQUFDLE9BQU87Z0JBY2QsV0FBVztzQkFEVixNQUFNOztBQXdEVDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgY29lcmNlQXR0ckJvb2xlYW4gfSBmcm9tICcuLi91dGlscyc7XG5cbi8qKlxuICogZm9ybSBjb250cm9sIOWGhemDqOS4jeS/neaMgSB2YWx1ZSDlsZ7mgKfvvIzlvZPkuI3kvb/nlKggbmdNb2RlbCDml7blj6/ku6XpgJrov4cgWyh2YWx1ZSldIOWunueOsOWPjOWQkee7keWumu+8m1xuICog5Lmf5Y+v5Lul5YiG5Yir5Lyg5YWlIHZhbHVlIOWSjCDnm5HlkKwgdmFsdWVDaGFuZ2Ug5LqL5Lu25Lul5a6e546w6Zi75pat55So5oi35pON5L2c55qE5Yqf6IO944CCXG4gKi9cbkBEaXJlY3RpdmUoKVxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBDb21tb25Gb3JtQ29udHJvbDxWLCBNID0gVj4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgcmVhZG9ubHkodmFsKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHZhbDtcbiAgfVxuXG4gIEBJbnB1dCgndmFsdWUnKVxuICBnZXQgcHJvcFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9wcm9wVmFsdWU7XG4gIH1cblxuICBzZXQgcHJvcFZhbHVlKHZhbCkge1xuICAgIGlmICh2YWwgPT09IHRoaXMuX3Byb3BWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9wcm9wVmFsdWUgPSB2YWw7XG4gICAgdGhpcy53cml0ZVZhbHVlKHZhbCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFY+KCk7XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlOiAoXzogVikgPT4gdm9pZDtcbiAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfcHJvcFZhbHVlOiBWO1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIG1vZGVsOiBNID0gbnVsbDtcbiAgbW9kZWwkID0gbmV3IFJlcGxheVN1YmplY3Q8TT4oMSk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLm1vZGVsJC5zdWJzY3JpYmUobW9kZWwgPT4ge1xuICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogVikgPT4gdm9pZCkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogVikge1xuICAgIHRoaXMubW9kZWwkLm5leHQodGhpcy52YWx1ZUluKHZhbHVlKSk7XG4gIH1cblxuICBlbWl0TW9kZWwobW9kZWw6IE0pIHtcbiAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLm1vZGVsT3V0KG1vZGVsKSk7XG4gIH1cblxuICBlbWl0VmFsdWUodmFsdWU6IFYpIHtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbHVlSW4odmFsdWU6IFYpOiBNIHtcbiAgICByZXR1cm4gdmFsdWUgYXMgYW55O1xuICB9XG5cbiAgcHJvdGVjdGVkIG1vZGVsT3V0KG1vZGVsOiBNKTogViB7XG4gICAgcmV0dXJuIG1vZGVsIGFzIGFueTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgQ29tbW9uRm9ybUNvbnRyb2x9IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IENvbW1vbkZvcm0gPSBDb21tb25Gb3JtQ29udHJvbDtcbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybS9jb21tb24tZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFN0M7OztHQUdHO0FBRUgsa0RBQWtEO0FBQ2xELE1BQU0sT0FBTyxpQkFBaUI7SUFvRDVCLFlBQXNCLEdBQXNCLEVBQWtCLFVBQW1DO1FBQTNFLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQWtCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBVmpHLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUs1QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLFVBQUssR0FBTSxJQUFJLENBQUM7UUFDaEIsV0FBTSxHQUFHLElBQUksYUFBYSxDQUFJLENBQUMsQ0FBQyxDQUFDO1FBRy9CLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBeERELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsR0FBaUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ1IsT0FBTyxDQUNMLG1CQUFtQjtZQUNuQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ3RELENBQUM7SUFDSixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFHO1FBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsR0FBRztRQUNmLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBb0JELGdCQUFnQixDQUFDLEVBQWtCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBUTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFRO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBUTtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVTLE9BQU8sQ0FBQyxLQUFRO1FBQ3hCLE9BQU8sS0FBWSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxRQUFRLENBQUMsS0FBUTtRQUN6QixPQUFPLEtBQVksQ0FBQztJQUN0QixDQUFDOzs4R0E5RlUsaUJBQWlCO2tHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFGN0IsU0FBUztpSUFJSixRQUFRO3NCQURYLEtBQUs7Z0JBVUYsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFVekIsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxPQUFPO2dCQWNkLFdBQVc7c0JBRFYsTUFBTTs7QUF3RFQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBmb3JtIGNvbnRyb2wg5YaF6YOo5LiN5L+d5oyBIHZhbHVlIOWxnuaAp++8jOW9k+S4jeS9v+eUqCBuZ01vZGVsIOaXtuWPr+S7pemAmui/hyBbKHZhbHVlKV0g5a6e546w5Y+M5ZCR57uR5a6a77ybXG4gKiDkuZ/lj6/ku6XliIbliKvkvKDlhaUgdmFsdWUg5ZKMIOebkeWQrCB2YWx1ZUNoYW5nZSDkuovku7bku6Xlrp7njrDpmLvmlq3nlKjmiLfmk43kvZznmoTlip/og73jgIJcbiAqL1xuQERpcmVjdGl2ZSgpXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIENvbW1vbkZvcm1Db250cm9sPFYsIE0gPSBWPiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRlc3QnKVxuICBnZXQgdGVzdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgICdBVUktRk9STS1DT05UUk9MLycgK1xuICAgICAgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZm9ybUNvbnRyb2xOYW1lJykgfHxcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCduYW1lJykpXG4gICAgKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCByZWFkb25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCByZWFkb25seSh2YWwpIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdmFsO1xuICB9XG5cbiAgQElucHV0KCd2YWx1ZScpXG4gIGdldCBwcm9wVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb3BWYWx1ZTtcbiAgfVxuXG4gIHNldCBwcm9wVmFsdWUodmFsKSB7XG4gICAgaWYgKHZhbCA9PT0gdGhpcy5fcHJvcFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3Byb3BWYWx1ZSA9IHZhbDtcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Vj4oKTtcblxuICBwcm90ZWN0ZWQgb25DaGFuZ2U6IChfOiBWKSA9PiB2b2lkO1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIF9wcm9wVmFsdWU6IFY7XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgbW9kZWw6IE0gPSBudWxsO1xuICBtb2RlbCQgPSBuZXcgUmVwbGF5U3ViamVjdDxNPigxKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCkge1xuICAgIHRoaXMubW9kZWwkLnN1YnNjcmliZShtb2RlbCA9PiB7XG4gICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBWKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBWKSB7XG4gICAgdGhpcy5tb2RlbCQubmV4dCh0aGlzLnZhbHVlSW4odmFsdWUpKTtcbiAgfVxuXG4gIGVtaXRNb2RlbChtb2RlbDogTSkge1xuICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMubW9kZWxPdXQobW9kZWwpKTtcbiAgfVxuXG4gIGVtaXRWYWx1ZSh2YWx1ZTogVikge1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsdWVJbih2YWx1ZTogVik6IE0ge1xuICAgIHJldHVybiB2YWx1ZSBhcyBhbnk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbW9kZWxPdXQobW9kZWw6IE0pOiBWIHtcbiAgICByZXR1cm4gbW9kZWwgYXMgYW55O1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBDb21tb25Gb3JtQ29udHJvbH0gaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQ29tbW9uRm9ybSA9IENvbW1vbkZvcm1Db250cm9sO1xuIl19
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
2
2
  import { buildBem, handlePixel } from '../utils';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./icon-register.service";
@@ -39,11 +39,14 @@ export class IconComponent {
39
39
  }
40
40
  }
41
41
  IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: IconComponent, deps: [{ token: i1.IconRegisterService }], target: i0.ɵɵFactoryTarget.Component });
42
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: IconComponent, selector: "aui-icon", inputs: { icon: "icon", light: "light", dark: "dark", link: "link", margin: "margin", size: "size", color: "color", background: "background", backgroundColor: "backgroundColor" }, ngImport: i0, template: "<svg\n *ngIf=\"icon === 'spinner'; else icons\"\n [attr.class]=\"getClass('aui-icon-spinner')\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n viewBox=\"0 0 200 200\"\n>\n <defs>\n <linearGradient\n [attr.id]=\"'right-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"150\"\n y1=\"20\"\n x2=\"150\"\n y2=\"180\"\n >\n <stop offset=\"0\" style=\"stop-color: #000\" />\n <stop offset=\"1\" style=\"stop-color: #808080\" />\n </linearGradient>\n <linearGradient\n [attr.id]=\"'left-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"50\"\n y1=\"0\"\n x2=\"50\"\n y2=\"180\"\n >\n <stop offset=\"0\" style=\"stop-color: #fff\" />\n <stop offset=\"1\" style=\"stop-color: #808080\" />\n </linearGradient>\n <mask [attr.id]=\"'mask-' + id\">\n <g>\n <path\n [attr.fill]=\"'url(#right-' + id + ')'\"\n d=\"M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z\"\n />\n <path\n [attr.fill]=\"'url(#left-' + id + ')'\"\n d=\"M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z\"\n />\n </g>\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"200\"\n height=\"200\"\n [attr.mask]=\"'url(#mask-' + id + ')'\"\n />\n</svg>\n\n<ng-template #icons>\n <svg\n *ngIf=\"getIconId(icon ? icon : ([light, dark] | auiThemePicker)) as iconId\"\n [ngClass]=\"getClass(iconId)\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n >\n <rect\n *ngIf=\"background\"\n class=\"aui-icon__background\"\n [ngClass]=\"background\"\n [attr.fill]=\"backgroundColor\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n x=\"0\"\n y=\"0\"\n ></rect>\n <use [attr.xlink:href]=\"link + '#' + iconId\"></use>\n </svg>\n</ng-template>\n", styles: ["aui-icon{vertical-align:bottom}.aui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor}.aui-icon__background{width:1em;height:1em;fill:#fff}.aui-icon__background.circle{-webkit-clip-path:circle(45%);clip-path:circle(45%)}.aui-icon__background.triangle{-webkit-clip-path:polygon(50% 10%,90% 90%,10% 90%);clip-path:polygon(50% 10%,90% 90%,10% 90%)}.aui-icon--left{margin-left:var(--aui-spacing-s)}.aui-icon--right{margin-right:var(--aui-spacing-s)}.aui-icon-spinner{animation:rotating .5s linear infinite}aui-icon+aui-icon>.aui-icon{margin-left:var(--aui-spacing-s)}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "auiThemePicker": i3.ThemePickerPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
42
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: IconComponent, selector: "aui-icon", inputs: { icon: "icon", light: "light", dark: "dark", link: "link", margin: "margin", size: "size", color: "color", background: "background", backgroundColor: "backgroundColor" }, host: { properties: { "attr.data-test": "this.icon" } }, ngImport: i0, template: "<svg\n *ngIf=\"icon === 'spinner'; else icons\"\n [attr.class]=\"getClass('aui-icon-spinner')\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n viewBox=\"0 0 200 200\"\n>\n <defs>\n <linearGradient\n [attr.id]=\"'right-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"150\"\n y1=\"20\"\n x2=\"150\"\n y2=\"180\"\n >\n <stop offset=\"0\" style=\"stop-color: #000\" />\n <stop offset=\"1\" style=\"stop-color: #808080\" />\n </linearGradient>\n <linearGradient\n [attr.id]=\"'left-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"50\"\n y1=\"0\"\n x2=\"50\"\n y2=\"180\"\n >\n <stop offset=\"0\" style=\"stop-color: #fff\" />\n <stop offset=\"1\" style=\"stop-color: #808080\" />\n </linearGradient>\n <mask [attr.id]=\"'mask-' + id\">\n <g>\n <path\n [attr.fill]=\"'url(#right-' + id + ')'\"\n d=\"M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z\"\n />\n <path\n [attr.fill]=\"'url(#left-' + id + ')'\"\n d=\"M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z\"\n />\n </g>\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"200\"\n height=\"200\"\n [attr.mask]=\"'url(#mask-' + id + ')'\"\n />\n</svg>\n\n<ng-template #icons>\n <svg\n *ngIf=\"getIconId(icon ? icon : ([light, dark] | auiThemePicker)) as iconId\"\n [ngClass]=\"getClass(iconId)\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n >\n <rect\n *ngIf=\"background\"\n class=\"aui-icon__background\"\n [ngClass]=\"background\"\n [attr.fill]=\"backgroundColor\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n x=\"0\"\n y=\"0\"\n ></rect>\n <use [attr.xlink:href]=\"link + '#' + iconId\"></use>\n </svg>\n</ng-template>\n", styles: ["aui-icon{vertical-align:bottom}.aui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor}.aui-icon__background{width:1em;height:1em;fill:#fff}.aui-icon__background.circle{-webkit-clip-path:circle(45%);clip-path:circle(45%)}.aui-icon__background.triangle{-webkit-clip-path:polygon(50% 10%,90% 90%,10% 90%);clip-path:polygon(50% 10%,90% 90%,10% 90%)}.aui-icon--left{margin-left:var(--aui-spacing-s)}.aui-icon--right{margin-right:var(--aui-spacing-s)}.aui-icon-spinner{animation:rotating .5s linear infinite}aui-icon+aui-icon>.aui-icon{margin-left:var(--aui-spacing-s)}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "auiThemePicker": i3.ThemePickerPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: IconComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'aui-icon', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<svg\n *ngIf=\"icon === 'spinner'; else icons\"\n [attr.class]=\"getClass('aui-icon-spinner')\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n viewBox=\"0 0 200 200\"\n>\n <defs>\n <linearGradient\n [attr.id]=\"'right-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"150\"\n y1=\"20\"\n x2=\"150\"\n y2=\"180\"\n >\n <stop offset=\"0\" style=\"stop-color: #000\" />\n <stop offset=\"1\" style=\"stop-color: #808080\" />\n </linearGradient>\n <linearGradient\n [attr.id]=\"'left-' + id\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"50\"\n y1=\"0\"\n x2=\"50\"\n y2=\"180\"\n >\n <stop offset=\"0\" style=\"stop-color: #fff\" />\n <stop offset=\"1\" style=\"stop-color: #808080\" />\n </linearGradient>\n <mask [attr.id]=\"'mask-' + id\">\n <g>\n <path\n [attr.fill]=\"'url(#right-' + id + ')'\"\n d=\"M100,0v20c44.1,0,80,35.9,80,80c0,44.1-35.9,80-80,80v20c55.2,0,100-44.8,100-100S155.2,0,100,0z\"\n />\n <path\n [attr.fill]=\"'url(#left-' + id + ')'\"\n d=\"M20,100c0-44.1,35.9-80,80-80V0C44.8,0,0,44.8,0,100s44.8,100,100,100v-20C55.9,180,20,144.1,20,100z\"\n />\n </g>\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"200\"\n height=\"200\"\n [attr.mask]=\"'url(#mask-' + id + ')'\"\n />\n</svg>\n\n<ng-template #icons>\n <svg\n *ngIf=\"getIconId(icon ? icon : ([light, dark] | auiThemePicker)) as iconId\"\n [ngClass]=\"getClass(iconId)\"\n [style.fill]=\"color\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n >\n <rect\n *ngIf=\"background\"\n class=\"aui-icon__background\"\n [ngClass]=\"background\"\n [attr.fill]=\"backgroundColor\"\n [style.width]=\"getWidth()\"\n [style.height]=\"getHeight()\"\n x=\"0\"\n y=\"0\"\n ></rect>\n <use [attr.xlink:href]=\"link + '#' + iconId\"></use>\n </svg>\n</ng-template>\n", styles: ["aui-icon{vertical-align:bottom}.aui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor}.aui-icon__background{width:1em;height:1em;fill:#fff}.aui-icon__background.circle{-webkit-clip-path:circle(45%);clip-path:circle(45%)}.aui-icon__background.triangle{-webkit-clip-path:polygon(50% 10%,90% 90%,10% 90%);clip-path:polygon(50% 10%,90% 90%,10% 90%)}.aui-icon--left{margin-left:var(--aui-spacing-s)}.aui-icon--right{margin-right:var(--aui-spacing-s)}.aui-icon-spinner{animation:rotating .5s linear infinite}aui-icon+aui-icon>.aui-icon{margin-left:var(--aui-spacing-s)}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
46
46
  }], ctorParameters: function () { return [{ type: i1.IconRegisterService }]; }, propDecorators: { icon: [{
47
+ type: HostBinding,
48
+ args: ['attr.data-test']
49
+ }, {
47
50
  type: Input
48
51
  }], light: [{
49
52
  type: Input
@@ -62,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
62
65
  }], backgroundColor: [{
63
66
  type: Input
64
67
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQU8sUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFJdEQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBVVgsTUFBTSxPQUFPLGFBQWE7SUFnQ3hCLFlBQTZCLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBckJyRSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBaUJWLFFBQUcsR0FBUSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsT0FBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBRThELENBQUM7SUFFakUsU0FBUyxDQUFDLElBQVk7UUFDNUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdEUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVU7UUFDakIsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNoRCxDQUFDOzswR0E5RFUsYUFBYTs4RkFBYixhQUFhLG9PQ3JCMUIsNGdFQTBFQTsyRkRyRGEsYUFBYTtrQkFSekIsU0FBUzsrQkFDRSxVQUFVLGlCQUdMLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7MEdBSTFCLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSwgaGFuZGxlUGl4ZWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IEljb25SZWdpc3RlclNlcnZpY2UgfSBmcm9tICcuL2ljb24tcmVnaXN0ZXIuc2VydmljZSc7XG5cbmxldCBpZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGljb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsaWdodDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGRhcms6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsaW5rID0gJyc7XG5cbiAgQElucHV0KClcbiAgbWFyZ2luOiAnbGVmdCcgfCAncmlnaHQnO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBjb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGJhY2tncm91bmQ6ICdjaXJjbGUnIHwgJ3RyaWFuZ2xlJztcblxuICBASW5wdXQoKVxuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcblxuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktaWNvbicpO1xuXG4gIGlkID0gaWQrKztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGljb25SZWdpc3RlclNlcnZpY2U6IEljb25SZWdpc3RlclNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBwYXJzZUljb24oaWNvbjogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgY29uc3QgZGVmYXVsdFByZWZpeCA9IHRoaXMuaWNvblJlZ2lzdGVyU2VydmljZS5nZXREZWZhdWx0SWNvblByZWZpeCgpO1xuICAgIGNvbnN0IGFyciA9IChpY29uIHx8ICcnKS5zcGxpdCgnOicpO1xuICAgIHJldHVybiBhcnIubGVuZ3RoIDwgMiA/IFtkZWZhdWx0UHJlZml4LCBhcnJbMF1dIDogW2FyclswXSwgYXJyWzFdXTtcbiAgfVxuXG4gIGdldFdpZHRoKCkge1xuICAgIGlmICghdGhpcy5zaXplKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBoYW5kbGVQaXhlbCgodGhpcy5zaXplIHx8ICcnKS5zcGxpdCgnLCcpWzBdKTtcbiAgfVxuXG4gIGdldEhlaWdodCgpIHtcbiAgICBpZiAoIXRoaXMuc2l6ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBhcnIgPSAodGhpcy5zaXplIHx8ICcnKS5zcGxpdCgnLCcpO1xuICAgIHJldHVybiBoYW5kbGVQaXhlbChhcnJbMV0gfHwgYXJyWzBdKTtcbiAgfVxuXG4gIGdldEljb25JZChpY29uOiBzdHJpbmcpIHtcbiAgICBjb25zdCBbcHJlZml4LCBuYW1lXSA9IHRoaXMucGFyc2VJY29uKGljb24pO1xuICAgIHJldHVybiBgJHtwcmVmaXh9LSR7bmFtZX1gO1xuICB9XG5cbiAgZ2V0Q2xhc3MoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLmJlbS5ibG9jayh0aGlzLm1hcmdpbil9ICR7aWR9YDtcbiAgfVxufVxuIiwiPHN2Z1xuICAqbmdJZj1cImljb24gPT09ICdzcGlubmVyJzsgZWxzZSBpY29uc1wiXG4gIFthdHRyLmNsYXNzXT1cImdldENsYXNzKCdhdWktaWNvbi1zcGlubmVyJylcIlxuICBbc3R5bGUuZmlsbF09XCJjb2xvclwiXG4gIFtzdHlsZS53aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgW3N0eWxlLmhlaWdodF09XCJnZXRIZWlnaHQoKVwiXG4gIHZpZXdCb3g9XCIwIDAgMjAwIDIwMFwiXG4+XG4gIDxkZWZzPlxuICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgW2F0dHIuaWRdPVwiJ3JpZ2h0LScgKyBpZFwiXG4gICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgeDE9XCIxNTBcIlxuICAgICAgeTE9XCIyMFwiXG4gICAgICB4Mj1cIjE1MFwiXG4gICAgICB5Mj1cIjE4MFwiXG4gICAgPlxuICAgICAgPHN0b3Agb2Zmc2V0PVwiMFwiIHN0eWxlPVwic3RvcC1jb2xvcjogIzAwMFwiIC8+XG4gICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3R5bGU9XCJzdG9wLWNvbG9yOiAjODA4MDgwXCIgLz5cbiAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgW2F0dHIuaWRdPVwiJ2xlZnQtJyArIGlkXCJcbiAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICB4MT1cIjUwXCJcbiAgICAgIHkxPVwiMFwiXG4gICAgICB4Mj1cIjUwXCJcbiAgICAgIHkyPVwiMTgwXCJcbiAgICA+XG4gICAgICA8c3RvcCBvZmZzZXQ9XCIwXCIgc3R5bGU9XCJzdG9wLWNvbG9yOiAjZmZmXCIgLz5cbiAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdHlsZT1cInN0b3AtY29sb3I6ICM4MDgwODBcIiAvPlxuICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgPG1hc2sgW2F0dHIuaWRdPVwiJ21hc2stJyArIGlkXCI+XG4gICAgICA8Zz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBbYXR0ci5maWxsXT1cIid1cmwoI3JpZ2h0LScgKyBpZCArICcpJ1wiXG4gICAgICAgICAgZD1cIk0xMDAsMHYyMGM0NC4xLDAsODAsMzUuOSw4MCw4MGMwLDQ0LjEtMzUuOSw4MC04MCw4MHYyMGM1NS4yLDAsMTAwLTQ0LjgsMTAwLTEwMFMxNTUuMiwwLDEwMCwwelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgW2F0dHIuZmlsbF09XCIndXJsKCNsZWZ0LScgKyBpZCArICcpJ1wiXG4gICAgICAgICAgZD1cIk0yMCwxMDBjMC00NC4xLDM1LjktODAsODAtODBWMEM0NC44LDAsMCw0NC44LDAsMTAwczQ0LjgsMTAwLDEwMCwxMDB2LTIwQzU1LjksMTgwLDIwLDE0NC4xLDIwLDEwMHpcIlxuICAgICAgICAvPlxuICAgICAgPC9nPlxuICAgIDwvbWFzaz5cbiAgPC9kZWZzPlxuICA8cmVjdFxuICAgIHg9XCIwXCJcbiAgICB5PVwiMFwiXG4gICAgd2lkdGg9XCIyMDBcIlxuICAgIGhlaWdodD1cIjIwMFwiXG4gICAgW2F0dHIubWFza109XCIndXJsKCNtYXNrLScgKyBpZCArICcpJ1wiXG4gIC8+XG48L3N2Zz5cblxuPG5nLXRlbXBsYXRlICNpY29ucz5cbiAgPHN2Z1xuICAgICpuZ0lmPVwiZ2V0SWNvbklkKGljb24gPyBpY29uIDogKFtsaWdodCwgZGFya10gfCBhdWlUaGVtZVBpY2tlcikpIGFzIGljb25JZFwiXG4gICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoaWNvbklkKVwiXG4gICAgW3N0eWxlLmZpbGxdPVwiY29sb3JcIlxuICAgIFtzdHlsZS53aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCJcbiAgPlxuICAgIDxyZWN0XG4gICAgICAqbmdJZj1cImJhY2tncm91bmRcIlxuICAgICAgY2xhc3M9XCJhdWktaWNvbl9fYmFja2dyb3VuZFwiXG4gICAgICBbbmdDbGFzc109XCJiYWNrZ3JvdW5kXCJcbiAgICAgIFthdHRyLmZpbGxdPVwiYmFja2dyb3VuZENvbG9yXCJcbiAgICAgIFtzdHlsZS53aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICAgIFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVpZ2h0KClcIlxuICAgICAgeD1cIjBcIlxuICAgICAgeT1cIjBcIlxuICAgID48L3JlY3Q+XG4gICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImxpbmsgKyAnIycgKyBpY29uSWRcIj48L3VzZT5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFPLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBSXRELElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQVVYLE1BQU0sT0FBTyxhQUFhO0lBaUN4QixZQUE2QixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXJCckUsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQWlCVixRQUFHLEdBQVEsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWhDLE9BQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUU4RCxDQUFDO0lBRWpFLFNBQVMsQ0FBQyxJQUFZO1FBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3RFLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVk7UUFDcEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLE9BQU8sR0FBRyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDaEQsQ0FBQzs7MEdBL0RVLGFBQWE7OEZBQWIsYUFBYSw2UkN0QjFCLDRnRUEwRUE7MkZEcERhLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0UsVUFBVSxpQkFHTCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLOzBHQUsxQixJQUFJO3NCQUZILFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFDNUIsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGhhbmRsZVBpeGVsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBJY29uUmVnaXN0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9pY29uLXJlZ2lzdGVyLnNlcnZpY2UnO1xuXG5sZXQgaWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10ZXN0JylcbiAgQElucHV0KClcbiAgaWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxpZ2h0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZGFyazogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxpbmsgPSAnJztcblxuICBASW5wdXQoKVxuICBtYXJnaW46ICdsZWZ0JyB8ICdyaWdodCc7XG5cbiAgQElucHV0KClcbiAgc2l6ZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgYmFja2dyb3VuZDogJ2NpcmNsZScgfCAndHJpYW5nbGUnO1xuXG4gIEBJbnB1dCgpXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuXG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1pY29uJyk7XG5cbiAgaWQgPSBpZCsrO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaWNvblJlZ2lzdGVyU2VydmljZTogSWNvblJlZ2lzdGVyU2VydmljZSkge31cblxuICBwcml2YXRlIHBhcnNlSWNvbihpY29uOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgICBjb25zdCBkZWZhdWx0UHJlZml4ID0gdGhpcy5pY29uUmVnaXN0ZXJTZXJ2aWNlLmdldERlZmF1bHRJY29uUHJlZml4KCk7XG4gICAgY29uc3QgYXJyID0gKGljb24gfHwgJycpLnNwbGl0KCc6Jyk7XG4gICAgcmV0dXJuIGFyci5sZW5ndGggPCAyID8gW2RlZmF1bHRQcmVmaXgsIGFyclswXV0gOiBbYXJyWzBdLCBhcnJbMV1dO1xuICB9XG5cbiAgZ2V0V2lkdGgoKSB7XG4gICAgaWYgKCF0aGlzLnNpemUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKCh0aGlzLnNpemUgfHwgJycpLnNwbGl0KCcsJylbMF0pO1xuICB9XG5cbiAgZ2V0SGVpZ2h0KCkge1xuICAgIGlmICghdGhpcy5zaXplKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGFyciA9ICh0aGlzLnNpemUgfHwgJycpLnNwbGl0KCcsJyk7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKGFyclsxXSB8fCBhcnJbMF0pO1xuICB9XG5cbiAgZ2V0SWNvbklkKGljb246IHN0cmluZykge1xuICAgIGNvbnN0IFtwcmVmaXgsIG5hbWVdID0gdGhpcy5wYXJzZUljb24oaWNvbik7XG4gICAgcmV0dXJuIGAke3ByZWZpeH0tJHtuYW1lfWA7XG4gIH1cblxuICBnZXRDbGFzcyhpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuYmVtLmJsb2NrKHRoaXMubWFyZ2luKX0gJHtpZH1gO1xuICB9XG59XG4iLCI8c3ZnXG4gICpuZ0lmPVwiaWNvbiA9PT0gJ3NwaW5uZXInOyBlbHNlIGljb25zXCJcbiAgW2F0dHIuY2xhc3NdPVwiZ2V0Q2xhc3MoJ2F1aS1pY29uLXNwaW5uZXInKVwiXG4gIFtzdHlsZS5maWxsXT1cImNvbG9yXCJcbiAgW3N0eWxlLndpZHRoXT1cImdldFdpZHRoKClcIlxuICBbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCJcbiAgdmlld0JveD1cIjAgMCAyMDAgMjAwXCJcbj5cbiAgPGRlZnM+XG4gICAgPGxpbmVhckdyYWRpZW50XG4gICAgICBbYXR0ci5pZF09XCIncmlnaHQtJyArIGlkXCJcbiAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICB4MT1cIjE1MFwiXG4gICAgICB5MT1cIjIwXCJcbiAgICAgIHgyPVwiMTUwXCJcbiAgICAgIHkyPVwiMTgwXCJcbiAgICA+XG4gICAgICA8c3RvcCBvZmZzZXQ9XCIwXCIgc3R5bGU9XCJzdG9wLWNvbG9yOiAjMDAwXCIgLz5cbiAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdHlsZT1cInN0b3AtY29sb3I6ICM4MDgwODBcIiAvPlxuICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgPGxpbmVhckdyYWRpZW50XG4gICAgICBbYXR0ci5pZF09XCInbGVmdC0nICsgaWRcIlxuICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgIHgxPVwiNTBcIlxuICAgICAgeTE9XCIwXCJcbiAgICAgIHgyPVwiNTBcIlxuICAgICAgeTI9XCIxODBcIlxuICAgID5cbiAgICAgIDxzdG9wIG9mZnNldD1cIjBcIiBzdHlsZT1cInN0b3AtY29sb3I6ICNmZmZcIiAvPlxuICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0eWxlPVwic3RvcC1jb2xvcjogIzgwODA4MFwiIC8+XG4gICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICA8bWFzayBbYXR0ci5pZF09XCInbWFzay0nICsgaWRcIj5cbiAgICAgIDxnPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIFthdHRyLmZpbGxdPVwiJ3VybCgjcmlnaHQtJyArIGlkICsgJyknXCJcbiAgICAgICAgICBkPVwiTTEwMCwwdjIwYzQ0LjEsMCw4MCwzNS45LDgwLDgwYzAsNDQuMS0zNS45LDgwLTgwLDgwdjIwYzU1LjIsMCwxMDAtNDQuOCwxMDAtMTAwUzE1NS4yLDAsMTAwLDB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBbYXR0ci5maWxsXT1cIid1cmwoI2xlZnQtJyArIGlkICsgJyknXCJcbiAgICAgICAgICBkPVwiTTIwLDEwMGMwLTQ0LjEsMzUuOS04MCw4MC04MFYwQzQ0LjgsMCwwLDQ0LjgsMCwxMDBzNDQuOCwxMDAsMTAwLDEwMHYtMjBDNTUuOSwxODAsMjAsMTQ0LjEsMjAsMTAwelwiXG4gICAgICAgIC8+XG4gICAgICA8L2c+XG4gICAgPC9tYXNrPlxuICA8L2RlZnM+XG4gIDxyZWN0XG4gICAgeD1cIjBcIlxuICAgIHk9XCIwXCJcbiAgICB3aWR0aD1cIjIwMFwiXG4gICAgaGVpZ2h0PVwiMjAwXCJcbiAgICBbYXR0ci5tYXNrXT1cIid1cmwoI21hc2stJyArIGlkICsgJyknXCJcbiAgLz5cbjwvc3ZnPlxuXG48bmctdGVtcGxhdGUgI2ljb25zPlxuICA8c3ZnXG4gICAgKm5nSWY9XCJnZXRJY29uSWQoaWNvbiA/IGljb24gOiAoW2xpZ2h0LCBkYXJrXSB8IGF1aVRoZW1lUGlja2VyKSkgYXMgaWNvbklkXCJcbiAgICBbbmdDbGFzc109XCJnZXRDbGFzcyhpY29uSWQpXCJcbiAgICBbc3R5bGUuZmlsbF09XCJjb2xvclwiXG4gICAgW3N0eWxlLndpZHRoXT1cImdldFdpZHRoKClcIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVpZ2h0KClcIlxuICA+XG4gICAgPHJlY3RcbiAgICAgICpuZ0lmPVwiYmFja2dyb3VuZFwiXG4gICAgICBjbGFzcz1cImF1aS1pY29uX19iYWNrZ3JvdW5kXCJcbiAgICAgIFtuZ0NsYXNzXT1cImJhY2tncm91bmRcIlxuICAgICAgW2F0dHIuZmlsbF09XCJiYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgW3N0eWxlLndpZHRoXT1cImdldFdpZHRoKClcIlxuICAgICAgW3N0eWxlLmhlaWdodF09XCJnZXRIZWlnaHQoKVwiXG4gICAgICB4PVwiMFwiXG4gICAgICB5PVwiMFwiXG4gICAgPjwvcmVjdD5cbiAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwibGluayArICcjJyArIGljb25JZFwiPjwvdXNlPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable sonarjs/no-duplicate-string */
2
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import { ComponentSize } from '../types';
5
5
  import { coerceAttrBoolean } from '../utils';
@@ -18,6 +18,12 @@ export class InputComponent {
18
18
  this.renderer.addClass(this.elementRef.nativeElement, 'aui-input');
19
19
  this.renderer.addClass(this.elementRef.nativeElement, 'aui-input--' + this.size);
20
20
  }
21
+ get testId() {
22
+ return ('AUI-INPUT/' +
23
+ (this.elementRef.nativeElement.getAttribute('formcontrolname') ||
24
+ this.elementRef.nativeElement.getAttribute('name') ||
25
+ ''));
26
+ }
21
27
  get size() {
22
28
  return this._size;
23
29
  }
@@ -49,13 +55,16 @@ export class InputComponent {
49
55
  }
50
56
  }
51
57
  InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
52
- InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: { size: "size", disabled: "disabled" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aui-input[type=number]{-moz-appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
58
+ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: { size: "size", disabled: "disabled" }, host: { properties: { "attr.data-test": "this.testId" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aui-input[type=number]{-moz-appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
53
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: InputComponent, decorators: [{
54
60
  type: Component,
55
61
  args: [{ selector: 'input[aui-input],textarea[aui-input]', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, styles: [".aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aui-input[type=number]{-moz-appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"] }]
56
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { size: [{
62
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { testId: [{
63
+ type: HostBinding,
64
+ args: ['attr.data-test']
65
+ }], size: [{
57
66
  type: Input
58
67
  }], disabled: [{
59
68
  type: Input
60
69
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQVc3QyxNQUFNLE9BQU8sY0FBYztJQWdEekIsWUFDUyxVQUF3QyxFQUM5QixRQUFtQjtRQUQ3QixlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBWjlCLFVBQUssR0FBa0IsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUM1QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXREOztXQUVHO1FBQ0gsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxRQUFtQixDQUFDLENBQUM7UUFNakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUM3QixhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUF4REQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHO1FBQ1YsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQzdCLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDM0U7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MkdBcENVLGNBQWM7K0ZBQWQsY0FBYyw0SEFOZiwyQkFBMkI7MkZBTTFCLGNBQWM7a0JBVDFCLFNBQVM7K0JBRUUsc0NBQXNDLFlBQ3RDLDJCQUEyQixtQkFFcEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSzt5SEFJdEIsSUFBSTtzQkFEUCxLQUFLO2dCQW1CRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb25hcmpzL25vLWR1cGxpY2F0ZS1zdHJpbmcgKi9cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXR0ckJvb2xlYW4gfSBmcm9tICcuLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2lucHV0W2F1aS1pbnB1dF0sdGV4dGFyZWFbYXVpLWlucHV0XScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuXG4gIHNldCBzaXplKHZhbCkge1xuICAgIGlmICghdmFsIHx8IHRoaXMuX3NpemUgPT09IHZhbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnYXVpLWlucHV0LS0nICsgdGhpcy5fc2l6ZSxcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhdWktaW5wdXQtLScgKyB2YWwpO1xuICAgIHRoaXMuX3NpemUgPSB2YWw7XG4gICAgdGhpcy5zaXplJC5uZXh0KHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgY29uc3QgYm9vbGVhblZhbCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gICAgaWYgKGJvb2xlYW5WYWwgPT09IHRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChib29sZWFuVmFsKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgJycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICAgIHRoaXMuX2Rpc2FibGVkID0gYm9vbGVhblZhbDtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGJvb2xlYW5WYWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2l6ZTogQ29tcG9uZW50U2l6ZSA9IENvbXBvbmVudFNpemUuTWVkaXVtO1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb21wb25lbnRTaXplPih0aGlzLnNpemUpO1xuXG4gIC8qKlxuICAgKiB3b3JrYXJvdW5kIGZvciBAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvcHVsbC80MjQyNVxuICAgKi9cbiAgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmRpc2FibGVkIGFzIGJvb2xlYW4pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2F1aS1pbnB1dCcpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICdhdWktaW5wdXQtLScgKyB0aGlzLnNpemUsXG4gICAgKTtcbiAgfVxufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFXN0MsTUFBTSxPQUFPLGNBQWM7SUEwRHpCLFlBQ1MsVUFBd0MsRUFDOUIsUUFBbUI7UUFEN0IsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVo5QixVQUFLLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDNUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUxQixVQUFLLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RDs7V0FFRztRQUNILGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsUUFBbUIsQ0FBQyxDQUFDO1FBTWpFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQzFCLENBQUM7SUFDSixDQUFDO0lBbEVELElBQ0ksTUFBTTtRQUNSLE9BQU8sQ0FDTCxZQUFZO1lBQ1osQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7Z0JBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ2xELEVBQUUsQ0FBQyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHO1FBQ1YsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQzdCLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDM0U7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MkdBOUNVLGNBQWM7K0ZBQWQsY0FBYyx1TEFOZiwyQkFBMkI7MkZBTTFCLGNBQWM7a0JBVDFCLFNBQVM7K0JBRUUsc0NBQXNDLFlBQ3RDLDJCQUEyQixtQkFFcEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSzt5SEFJdEIsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFXekIsSUFBSTtzQkFEUCxLQUFLO2dCQW1CRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb25hcmpzL25vLWR1cGxpY2F0ZS1zdHJpbmcgKi9cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdpbnB1dFthdWktaW5wdXRdLHRleHRhcmVhW2F1aS1pbnB1dF0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdCcpXG4gIGdldCB0ZXN0SWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICdBVUktSU5QVVQvJyArXG4gICAgICAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdmb3JtY29udHJvbG5hbWUnKSB8fFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ25hbWUnKSB8fFxuICAgICAgICAnJylcbiAgICApO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBzZXQgc2l6ZSh2YWwpIHtcbiAgICBpZiAoIXZhbCB8fCB0aGlzLl9zaXplID09PSB2YWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2F1aS1pbnB1dC0tJyArIHRoaXMuX3NpemUsXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYXVpLWlucHV0LS0nICsgdmFsKTtcbiAgICB0aGlzLl9zaXplID0gdmFsO1xuICAgIHRoaXMuc2l6ZSQubmV4dCh2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIGNvbnN0IGJvb2xlYW5WYWwgPSBjb2VyY2VBdHRyQm9vbGVhbih2YWwpO1xuICAgIGlmIChib29sZWFuVmFsID09PSB0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYm9vbGVhblZhbCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xuICAgIH1cbiAgICB0aGlzLl9kaXNhYmxlZCA9IGJvb2xlYW5WYWw7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChib29sZWFuVmFsKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NpemU6IENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29tcG9uZW50U2l6ZT4odGhpcy5zaXplKTtcblxuICAvKipcbiAgICogd29ya2Fyb3VuZCBmb3IgQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L3B1bGwvNDI0MjVcbiAgICovXG4gIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5kaXNhYmxlZCBhcyBib29sZWFuKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhdWktaW5wdXQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnYXVpLWlucHV0LS0nICsgdGhpcy5zaXplLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -11,8 +11,8 @@ import * as i2 from "../../tag/tag.component";
11
11
  import * as i3 from "@angular/common";
12
12
  export const INPUT_ERROR_KEY = 'input_data_error';
13
13
  export class TagsInputComponent extends CommonFormControl {
14
- constructor(cdr, fb, renderer, injector) {
15
- super(cdr);
14
+ constructor(cdr, fb, renderer, injector, elementRef) {
15
+ super(cdr, elementRef);
16
16
  this.fb = fb;
17
17
  this.renderer = renderer;
18
18
  this.injector = injector;
@@ -207,7 +207,7 @@ export class TagsInputComponent extends CommonFormControl {
207
207
  this.inputControl.setValue('');
208
208
  }
209
209
  }
210
- TagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TagsInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
210
+ TagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TagsInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
211
211
  TagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TagsInputComponent, selector: "aui-tags-input", inputs: { placeholder: "placeholder", size: "size", clearable: "clearable", allowRepeat: "allowRepeat", allowEmpty: "allowEmpty", readonlyTags: "readonlyTags", maxRowCount: "maxRowCount", customRowHeight: "customRowHeight", inputValidator: "inputValidator", inputAsyncValidator: "inputAsyncValidator" }, host: { properties: { "style.position": "this.hostPosition", "style.display": "this.hostDisplay" } }, providers: [
212
212
  {
213
213
  provide: NG_VALUE_ACCESSOR,
@@ -224,7 +224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
224
224
  multi: true,
225
225
  },
226
226
  ], template: "<div\n [class]=\"rootClass\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"inputRef.focus()\"\n [style.max-height]=\"maxHeight\"\n>\n <span\n [hidden]=\"model.length || inputRef.value.length\"\n [class]=\"bem.element('placeholder')\"\n >\n {{ placeholder }}\n </span>\n <aui-tag\n *ngFor=\"let tag of model; let index = index; trackBy: trackByValue\"\n type=\"info\"\n [title]=\"tag\"\n [size]=\"tagSize\"\n [round]=\"true\"\n [border]=\"true\"\n [closeable]=\"!(disabled || readonlyTags.includes(tag))\"\n (close)=\"onRemove(index)\"\n >\n {{ tag }}\n </aui-tag>\n <input\n #inputRef\n [class]=\"inputClass\"\n [disabled]=\"disabled\"\n autocomplete=\"off\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput()\"\n />\n <span #inputValueMirror [class]=\"bem.element('mirror')\">{{\n inputRef.value\n }}</span>\n</div>\n", styles: [".aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aui-input[type=number]{-moz-appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n", ".aui-tag{display:inline-flex;align-items:center;border-radius:var(--aui-border-radius-m);border:1px solid transparent;max-width:300px;vertical-align:middle;transition:background-color .3s ease}.aui-tag__content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tag .aui-tag__close .aui-icon{margin-left:4px;border-radius:50%;cursor:pointer;transition:all .3s ease}.aui-tag--large{padding:0 var(--aui-inline-padding-m);height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-tag--large.isRound{border-radius:calc(var(--aui-inline-height-m) / 2)}.aui-tag--medium{padding:0 var(--aui-inline-padding-s);height:var(--aui-inline-height-s);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tag--medium.isRound{border-radius:calc(var(--aui-inline-height-s) / 2)}.aui-tag--small{padding:0 var(--aui-inline-padding-xs);height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tag--small.isRound{border-radius:calc(var(--aui-inline-height-xs) / 2)}.aui-tag--mini{padding:0 var(--aui-inline-padding-xs);height:20px;font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tag--mini.isRound{border-radius:calc(var(--aui-inline-height-xs) / 2)}.aui-tag--primary{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary.hasBorder{border-color:rgb(var(--aui-color-p-2))}.aui-tag--primary.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-p-1))}.aui-tag--primary.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-p-0))}.aui-tag--primary.allowClick:hover{background-color:rgb(var(--aui-color-p-7));cursor:pointer}.aui-tag--primary.allowClick:active{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-p-6));background-color:rgb(var(--aui-color-primary))}.aui-tag--success{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success.hasBorder{border-color:rgb(var(--aui-color-g-2))}.aui-tag--success.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-g-1))}.aui-tag--success.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-g-0))}.aui-tag--success.allowClick:hover{background-color:rgb(var(--aui-color-g-7));cursor:pointer}.aui-tag--success.allowClick:active{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-g-6));background-color:rgb(var(--aui-color-green))}.aui-tag--warning{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning.hasBorder{border-color:rgb(var(--aui-color-y-2))}.aui-tag--warning.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-y-1))}.aui-tag--warning.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-y-0))}.aui-tag--warning.allowClick:hover{background-color:rgb(var(--aui-color-y-7));cursor:pointer}.aui-tag--warning.allowClick:active{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-y-6));background-color:rgb(var(--aui-color-yellow))}.aui-tag--error{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error.hasBorder{border-color:rgb(var(--aui-color-r-2))}.aui-tag--error.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-r-1))}.aui-tag--error.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-r-0))}.aui-tag--error.allowClick:hover{background-color:rgb(var(--aui-color-r-7));cursor:pointer}.aui-tag--error.allowClick:active{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-r-6));background-color:rgb(var(--aui-color-red))}.aui-tag--info{color:rgb(var(--aui-color-n-2));background-color:rgb(var(--aui-color-n-8))}.aui-tag--info.hasBorder{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-button-bg))}.aui-tag--info .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tag.isInvalid{text-decoration:line-through}.aui-tag.isSolid,.aui-tag.isSolid .aui-tag__close .aui-icon:hover{color:#fff}.aui-tag.isSolid.aui-tag--primary{background-color:rgb(var(--aui-color-primary))}.aui-tag.isSolid.aui-tag--success{background-color:rgb(var(--aui-color-green))}.aui-tag.isSolid.aui-tag--warning{background-color:rgb(var(--aui-color-yellow))}.aui-tag.isSolid.aui-tag--error{background-color:rgb(var(--aui-color-red))}.aui-tag.isSolid.aui-tag--info{background-color:rgb(var(--aui-color-button-bg))}.aui-tag.allowClick a{color:inherit}.aui-tag.allowClick:hover{cursor:pointer}aui-tag+aui-tag .aui-tag--large,aui-tag+aui-tag .aui-tag--medium,aui-tag+aui-tag .aui-tag--small{margin-left:var(--aui-spacing-m)}aui-tag+aui-tag .aui-tag--mini{margin-left:6px}\n", ".aui-tags-input{display:inline-block;position:relative;width:100%;color:rgb(var(--aui-color-main-text));vertical-align:middle}.aui-tags-input:hover{cursor:text}.aui-tags-input .aui-tag{max-width:100%}.aui-tags-input.isDisabled{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7));cursor:not-allowed}.aui-tags-input.isDisabled .aui-tag{color:rgb(var(--aui-color-disabled-text));background-color:rgb(var(--aui-color-n-8))}.aui-tags-input__placeholder{display:inline-block;width:100%;color:rgb(var(--aui-color-placeholder-text));vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;margin-left:1px}.aui-tags-input__placeholder[hidden]{display:none}.aui-tags-input__mirror{opacity:0;left:0;z-index:-99;position:absolute;padding-left:1px}.aui-tags-input--large{min-height:var(--aui-inline-height-l);padding:calc((var(--aui-inline-height-l) - 20px) / 2 - 1px) var(--aui-inline-padding-xs) 0;font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l)}.aui-tags-input--large .aui-tag{margin:0 4px calc((var(--aui-inline-height-l) - 20px) / 2 - 1px) 0}.aui-tags-input--medium{min-height:var(--aui-inline-height-m);padding:calc((var(--aui-inline-height-m) - 20px) / 2 - 1px) var(--aui-inline-padding-xs) 0;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-tags-input--medium .aui-tag{margin:0 4px calc((var(--aui-inline-height-m) - 20px) / 2 - 1px) 0}.aui-tags-input--small{min-height:var(--aui-inline-height-s);padding:calc((var(--aui-inline-height-s) - 20px) / 2 - 1px) var(--aui-inline-padding-xs) 0;font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tags-input--small .aui-tag{margin:0 4px calc((var(--aui-inline-height-s) - 20px) / 2 - 1px) 0}.aui-tags-input--mini{min-height:var(--aui-inline-height-xs);padding:calc((var(--aui-inline-height-xs) - 20px) / 2 - 1px) var(--aui-inline-padding-xs) 0;font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s)}.aui-tags-input--mini .aui-tag{margin:0 4px calc((var(--aui-inline-height-xs) - 20px) / 2 - 1px) 0}.aui-tags-input__suffix{position:absolute;top:50%;right:var(--aui-inline-padding-xs);transform:translateY(-50%)}.aui-tags-input .aui-tag.aui-tags-input__input{margin-right:0;padding:0;width:1em;max-width:100%;border:none;outline:none;background:none;color:rgb(var(--aui-color-main-text));font-family:inherit;font-size:inherit}.aui-tags-input .aui-tag.aui-tags-input__input--hidden{opacity:0;width:0;padding:0;margin:0;position:absolute}aui-tags-input.ng-invalid.ng-dirty .aui-input,aui-tags-input.ng-invalid.ng-dirty .aui-tags-input,.ng-submitted aui-tags-input.ng-invalid .aui-input,.ng-submitted aui-tags-input.ng-invalid .aui-tags-input{border-color:rgb(var(--aui-color-red))!important}:root aui-tags-input.ng-invalid.ng-dirty .aui-input:focus,:root aui-tags-input.ng-invalid.ng-dirty .aui-input.isFocused,:root aui-tags-input.ng-invalid.ng-dirty .aui-tags-input:focus,:root aui-tags-input.ng-invalid.ng-dirty .aui-tags-input.isFocused,:root .ng-submitted aui-tags-input.ng-invalid .aui-input:focus,:root .ng-submitted aui-tags-input.ng-invalid .aui-input.isFocused,:root .ng-submitted aui-tags-input.ng-invalid .aui-tags-input:focus,:root .ng-submitted aui-tags-input.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-tags-input.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-tags-input.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=light] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-tags-input.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-tags-input.ng-invalid .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=light] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-tags-input.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-tags-input.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=system] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-tags-input.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-tags-input.ng-invalid .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=system] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-tags-input.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-tags-input.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=dark] aui-tags-input.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-tags-input.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-tags-input.ng-invalid .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-tags-input.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}aui-tags-input.ng-invalid.ng-dirty .aui-input .aui-tags-input__input,aui-tags-input.ng-invalid.ng-dirty .aui-tags-input .aui-tags-input__input,.ng-submitted aui-tags-input.ng-invalid .aui-input .aui-tags-input__input,.ng-submitted aui-tags-input.ng-invalid .aui-tags-input .aui-tags-input__input{color:rgb(var(--aui-color-red))}.aui-tags-input.withHeightLimit{overflow:auto;position:static}.aui-tags-input.withHeightLimit::-webkit-scrollbar{width:4px;height:4px}.aui-tags-input.withHeightLimit::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}\n"] }]
227
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }, { type: i0.Renderer2 }, { type: i0.Injector }]; }, propDecorators: { placeholder: [{
227
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { placeholder: [{
228
228
  type: Input
229
229
  }], size: [{
230
230
  type: Input
@@ -257,4 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
257
257
  type: HostBinding,
258
258
  args: ['style.display']
259
259
  }] } });
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5wdXQvdGFncy1pbnB1dC90YWdzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9pbnB1dC90YWdzLWlucHV0L3RhZ3MtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUVYLEtBQUssRUFJTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEdBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFPLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFFN0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDO0FBcUJsRCxNQUFNLE9BQU8sa0JBQ1gsU0FBUSxpQkFBMkI7SUF5R25DLFlBQ0UsR0FBc0IsRUFDTCxFQUFlLEVBQ2YsUUFBbUIsRUFDbkIsUUFBa0I7UUFFbkMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBSk0sT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQTFHckMsUUFBRyxHQUFRLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBR3RDLGdCQUFXLEdB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LFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixXQUFXO3NCQURkLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBc3luY1ZhbGlkYXRvckZuLFxuICBGb3JtQnVpbGRlcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIE5nQ29udHJvbCxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnMsXG4gIEZvcm1Db250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1vbkZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vZm9ybS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCZW0sIGJ1aWxkQmVtIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBjcmVhdGVXaXRoTWF4Um93Q291bnQgfSBmcm9tICcuL3dpdGgtbWF4LXJvdy1jb3VudCc7XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9FUlJPUl9LRVkgPSAnaW5wdXRfZGF0YV9lcnJvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS10YWdzLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhZ3MtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi4vLi4vaW5wdXQvaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICAgICcuLi8uLi90YWcvdGFnLmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi90YWdzLWlucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRhZ3NJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWdzSW5wdXRDb21wb25lbnRcbiAgZXh0ZW5kcyBDb21tb25Gb3JtQ29udHJvbDxzdHJpbmdbXT5cbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXNcbntcbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLXRhZ3MtaW5wdXQnKTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlciA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcblxuICAvLyBUT0RPOiBpbXBsZW1lbnQgdGhpcyBmZWF0dXJlXG4gIEBJbnB1dCgpXG4gIGNsZWFyYWJsZTogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYWxsb3dSZXBlYXQ6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93RW1wdHk6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5VGFnczogc3RyaW5nW10gfCByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIG1heFJvd0NvdW50ID0gMDtcblxuICBASW5wdXQoKVxuICBjdXN0b21Sb3dIZWlnaHQgPSAwOyAvLyAwOiB1c2UgZGVmYXVsdCBzdHlsZSBjb25zdCB2YWx1ZSwgPiAxOiBmb3IgYGBgdGFnQ2xhc3NGbmBgYCBtYXliZSBhZmZlY3QgbGluZUhlaWdodFxuXG4gIF9pbnB1dFZhbGlkYXRvcjogVmFsaWRhdG9yRm47XG4gIF9pbnB1dEFzeW5jVmFsaWRhdG9yOiBBc3luY1ZhbGlkYXRvckZuO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpbnB1dFZhbGlkYXRvcihmbjogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdKSB7XG4gICAgdGhpcy5faW5wdXRWYWxpZGF0b3IgPSBBcnJheS5pc0FycmF5KGZuKSA/IFZhbGlkYXRvcnMuY29tcG9zZShmbikgOiBmbjtcbiAgfVxuXG4gIGdldCBpbnB1dFZhbGlkYXRvcigpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRWYWxpZGF0b3I7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaW5wdXRBc3luY1ZhbGlkYXRvcihmbjogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSkge1xuICAgIHRoaXMuX2lucHV0QXN5bmNWYWxpZGF0b3IgPSBBcnJheS5pc0FycmF5KGZuKVxuICAgICAgPyBWYWxpZGF0b3JzLmNvbXBvc2VBc3luYyhmbilcbiAgICAgIDogZm47XG4gIH1cblxuICBnZXQgaW5wdXRBc3luY1ZhbGlkYXRvcigpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRBc3luY1ZhbGlkYXRvcjtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRWYWx1ZU1pcnJvcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0VmFsdWVNaXJyb3I6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9zaXRpb24nKVxuICBnZXQgaG9zdFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLndpdGhNYXhSb3dDb3VudC5ob3N0UG9zaXRpb24oKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gIGdldCBob3N0RGlzcGxheSgpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoTWF4Um93Q291bnQuaG9zdERpc3BsYXkoKTtcbiAgfVxuXG4gIGdldCBtYXhIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aE1heFJvd0NvdW50Lm1heEhlaWdodCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3aXRoTWF4Um93Q291bnQgPSBjcmVhdGVXaXRoTWF4Um93Q291bnQodGhpcyk7XG5cbiAgZm9jdXNlZCA9IGZhbHNlO1xuICBvdmVycmlkZSBtb2RlbDogc3RyaW5nW10gPSBbXTtcblxuICAvLyDlhoXnva5mb3JtIGNvbnRyb2zvvIzku4XkvZzmoKHpqozkvb/nlKhcbiAgcmVhZG9ubHkgaW5wdXRDb250cm9sOiBGb3JtQ29udHJvbDtcbiAgLy8g5aSW5bGCIEZvcm1Db250cm9s77yM5omA5pyJ55qE5qCh6aqM6YC76L6R6ZKI5a+56L6T5YWl5pWw5o2uXG4gIGNvbnRyb2xDb250YWluZXI6IE5nQ29udHJvbDtcblxuICBnZXQgcm9vdENsYXNzKCkge1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLnNpemUgfHwgQ29tcG9uZW50U2l6ZS5NZWRpdW07XG4gICAgcmV0dXJuIGBhdWktaW5wdXQgJHt0aGlzLmJlbS5ibG9jayhzaXplKX0gJHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPyAnaXNEaXNhYmxlZCcgOiAnJ1xuICAgIH0gJHt0aGlzLmZvY3VzZWQgPyAnaXNGb2N1c2VkJyA6ICcnfSAke1xuICAgICAgdGhpcy5jbGVhcmFibGUgPyAnaXNDbGVhcmFibGUnIDogJydcbiAgICB9ICR7dGhpcy5tYXhSb3dDb3VudCA+IDAgPyAnd2l0aEhlaWdodExpbWl0JyA6ICcnfWA7XG4gIH1cblxuICBnZXQgdGFnU2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBDb21wb25lbnRTaXplLkxhcmdlXG4gICAgICA/IENvbXBvbmVudFNpemUuTWVkaXVtXG4gICAgICA6IENvbXBvbmVudFNpemUuTWluaTtcbiAgfVxuXG4gIGdldCBpbnB1dENsYXNzKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmJlbS5lbGVtZW50KCdpbnB1dCcsIHtcbiAgICAgIGhpZGRlbjpcbiAgICAgICAgdGhpcy5kaXNhYmxlZCB8fCAoIXRoaXMuZm9jdXNlZCAmJiAhdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudC52YWx1ZSksXG4gICAgfSl9IGF1aS10YWcgYXVpLXRhZy0tJHt0aGlzLnRhZ1NpemV9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICBzdXBlcihjZHIpO1xuICAgIHRoaXMuaW5wdXRDb250cm9sID0gdGhpcy5mYi5jb250cm9sKCcnKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHtcbiAgICBpbnB1dFZhbGlkYXRvcixcbiAgICBpbnB1dEFzeW5jVmFsaWRhdG9yLFxuICAgIGRpc2FibGVkLFxuICB9OiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlucHV0Q29udHJvbFtkaXNhYmxlZC5jdXJyZW50VmFsdWUgPyAnZGlzYWJsZScgOiAnZW5hYmxlJ10oe1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChpbnB1dFZhbGlkYXRvcikge1xuICAgICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmlucHV0VmFsaWRhdG9yKTtcbiAgICB9XG4gICAgaWYgKGlucHV0QXN5bmNWYWxpZGF0b3IpIHtcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldEFzeW5jVmFsaWRhdG9ycyh0aGlzLmlucHV0QXN5bmNWYWxpZGF0b3IpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNvbnRyb2xDb250YWluZXIgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xuICB9XG5cbiAgb25SZW1vdmUoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMubW9kZWxbaW5kZXhdO1xuICAgIGlmICh0YXJnZXQgJiYgdGhpcy5yZWFkb25seVRhZ3MuaW5jbHVkZXModGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLm1vZGVsLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpKTtcbiAgfVxuXG4gIG9uSW5wdXQoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgLy8gbWFrZSBzdXJlIHZhbHVlIHN5bmMgdG8gc3BhbiBlbGVtZW50XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmICghdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICd3aWR0aCcsXG4gICAgICAgICAgdGhpcy5pbnB1dFZhbHVlTWlycm9yLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGggKyAncHgnLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZXJyb3JzPy5bSU5QVVRfRVJST1JfS0VZXSAmJlxuICAgICAgT2JqZWN0LmtleXModGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2wuZXJyb3JzKS5sZW5ndGggPT09IDFcbiAgICApIHtcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sLnNldEVycm9ycyhudWxsKTtcbiAgICB9XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dEVsID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgJiYgaW5wdXRFbC52YWx1ZSA9PT0gJycpIHtcbiAgICAgIHRoaXMub25SZW1vdmUodGhpcy5tb2RlbC5sZW5ndGggLSAxKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5wdXNoVmFsdWUoaW5wdXRFbC52YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0Rm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIG9uSW5wdXRCbHVyKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMucHVzaFZhbHVlKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuICAgIGlmICh0aGlzLm9uVG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG4gIH1cblxuICB0cmFja0J5VmFsdWUoXzogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSW4odjogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgdGhpcy5jbGVhcklucHV0KCk7XG4gICAgcmV0dXJuIHRoaXMuc29ydEJ5UmVhZG9ubHkodiB8fCBbXSk7XG4gIH1cblxuICBwcml2YXRlIHNvcnRCeVJlYWRvbmx5KGl0ZW1zOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5VGFncy5sZW5ndGhcbiAgICAgID8gW1xuICAgICAgICAgIC4uLml0ZW1zLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIGN1cnIpID0+IGFjYy5hZGQoY3VyciksXG4gICAgICAgICAgICBuZXcgU2V0KHRoaXMucmVhZG9ubHlUYWdzKSxcbiAgICAgICAgICApLFxuICAgICAgICBdXG4gICAgICA6IGl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXNoVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5hbGxvd0VtcHR5ICYmICF2YWx1ZSkge1xuICAgICAgdGhpcy5yZW1vdmVJbnB1dENvbnRyb2xFcnJvcigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYWxsb3dSZXBlYXQgJiYgdGhpcy5tb2RlbC5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgICAvLyBpbnB1dENvbnRyb2wg6Ieq6Lqr55qE54q25oCB5Li65ZCM5q2l6K6h566XXG4gICAgdGhpcy5zeW5jQ29udHJvbFN0YXR1cygpO1xuICAgIGlmICh0aGlzLmlucHV0Q29udHJvbC52YWxpZCkge1xuICAgICAgdGhpcy5lbWl0VmFsdWUodGhpcy5tb2RlbC5jb25jYXQodmFsdWUpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRDb250cm9sLnBlbmRpbmcpIHtcbiAgICAgIC8vIFBFTkRJTkcg5ZCO5Y+q5Lya5Y+Y5Li6IFZBTElEIOaIliBJTlZBTElEIOeahOWGs+iurueKtuaAgVxuICAgICAgdGhpcy5pbnB1dENvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5zeW5jQ29udHJvbFN0YXR1cygpO1xuICAgICAgICBpZiAodGhpcy5pbnB1dENvbnRyb2wudmFsaWQpIHtcbiAgICAgICAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLm1vZGVsLmNvbmNhdCh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN5bmNDb250cm9sU3RhdHVzKCkge1xuICAgIGNvbnN0IHsgcGVuZGluZywgdmFsaWQsIGludmFsaWQsIGRpc2FibGVkLCBlcnJvcnMgfSA9IHRoaXMuaW5wdXRDb250cm9sO1xuICAgIGlmICh2YWxpZCkge1xuICAgICAgdGhpcy5yZW1vdmVJbnB1dENvbnRyb2xFcnJvcigpO1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgfSBlbHNlIGlmIChwZW5kaW5nKSB7XG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2wubWFya0FzUGVuZGluZygpO1xuICAgIH0gZWxzZSBpZiAoaW52YWxpZCkge1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2wuc2V0RXJyb3JzKHtcbiAgICAgICAgLi4udGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sPy5lcnJvcnMsXG4gICAgICAgIFtJTlBVVF9FUlJPUl9LRVldOiBlcnJvcnMsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGRpc2FibGVkKSB7XG4gICAgICAvLyDkuI7lvZPliY0gaW5wdXQg5qCh6aqM6ISx56a7XG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUlucHV0Q29udHJvbEVycm9yKCkge1xuICAgIGxldCBlcnJvcnMgPSB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2wuZXJyb3JzO1xuICAgIGlmIChlcnJvcnM/LltJTlBVVF9FUlJPUl9LRVldKSB7XG4gICAgICBkZWxldGUgZXJyb3JzW0lOUFVUX0VSUk9SX0tFWV07XG4gICAgfVxuICAgIGlmIChPYmplY3Qua2V5cyhlcnJvcnMgfHwge30pLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZXJyb3JzID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhcklucHV0KCkge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnKTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cInJvb3RDbGFzc1wiXG4gIChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAoY2xpY2spPVwiaW5wdXRSZWYuZm9jdXMoKVwiXG4gIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1heEhlaWdodFwiXG4+XG4gIDxzcGFuXG4gICAgW2hpZGRlbl09XCJtb2RlbC5sZW5ndGggfHwgaW5wdXRSZWYudmFsdWUubGVuZ3RoXCJcbiAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BsYWNlaG9sZGVyJylcIlxuICA+XG4gICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgPC9zcGFuPlxuICA8YXVpLXRhZ1xuICAgICpuZ0Zvcj1cImxldCB0YWcgb2YgbW9kZWw7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5VmFsdWVcIlxuICAgIHR5cGU9XCJpbmZvXCJcbiAgICBbdGl0bGVdPVwidGFnXCJcbiAgICBbc2l6ZV09XCJ0YWdTaXplXCJcbiAgICBbcm91bmRdPVwidHJ1ZVwiXG4gICAgW2JvcmRlcl09XCJ0cnVlXCJcbiAgICBbY2xvc2VhYmxlXT1cIiEoZGlzYWJsZWQgfHwgcmVhZG9ubHlUYWdzLmluY2x1ZGVzKHRhZykpXCJcbiAgICAoY2xvc2UpPVwib25SZW1vdmUoaW5kZXgpXCJcbiAgPlxuICAgIHt7IHRhZyB9fVxuICA8L2F1aS10YWc+XG4gIDxpbnB1dFxuICAgICNpbnB1dFJlZlxuICAgIFtjbGFzc109XCJpbnB1dENsYXNzXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygpXCJcbiAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiXG4gIC8+XG4gIDxzcGFuICNpbnB1dFZhbHVlTWlycm9yIFtjbGFzc109XCJiZW0uZWxlbWVudCgnbWlycm9yJylcIj57e1xuICAgIGlucHV0UmVmLnZhbHVlXG4gIH19PC9zcGFuPlxuPC9kaXY+XG4iXX0=
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5wdXQvdGFncy1pbnB1dC90YWdzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9pbnB1dC90YWdzLWlucHV0L3RhZ3MtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUVYLEtBQUssRUFJTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEdBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFPLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFFN0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDO0FBcUJsRCxNQUFNLE9BQU8sa0JBQ1gsU0FBUSxpQkFBMkI7SUF5R25DLFlBQ0UsR0FBc0IsRUFDTCxFQUFlLEVBQ2YsUUFBbUIsRUFDbkIsUUFBa0IsRUFDbkMsVUFBbUM7UUFFbkMsS0FBSyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUxOLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUExR3JDLFFBQUcsR0FBUSxRQUFRLENBQUMsZ0JBQWdCLENB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RUFBRTtnQkFJM0MsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgRm9ybUJ1aWxkZXIsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxuICBGb3JtQ29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2Zvcm0vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgY3JlYXRlV2l0aE1heFJvd0NvdW50IH0gZnJvbSAnLi93aXRoLW1heC1yb3ctY291bnQnO1xuXG5leHBvcnQgY29uc3QgSU5QVVRfRVJST1JfS0VZID0gJ2lucHV0X2RhdGFfZXJyb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFncy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWdzLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4uLy4uL2lucHV0L2lucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vdGFnL3RhZy5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vdGFncy1pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUYWdzSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFnc0lucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgQ29tbW9uRm9ybUNvbnRyb2w8c3RyaW5nW10+XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzXG57XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10YWdzLWlucHV0Jyk7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKVxuICBzaXplOiBDb21wb25lbnRTaXplID0gQ29tcG9uZW50U2l6ZS5NZWRpdW07XG5cbiAgLy8gVE9ETzogaW1wbGVtZW50IHRoaXMgZmVhdHVyZVxuICBASW5wdXQoKVxuICBjbGVhcmFibGU6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93UmVwZWF0OiBib29sZWFuIHwgJycgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBhbGxvd0VtcHR5OiBib29sZWFuIHwgJycgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZWFkb25seVRhZ3M6IHN0cmluZ1tdIHwgcmVhZG9ubHkgc3RyaW5nW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBtYXhSb3dDb3VudCA9IDA7XG5cbiAgQElucHV0KClcbiAgY3VzdG9tUm93SGVpZ2h0ID0gMDsgLy8gMDogdXNlIGRlZmF1bHQgc3R5bGUgY29uc3QgdmFsdWUsID4gMTogZm9yIGBgYHRhZ0NsYXNzRm5gYGAgbWF5YmUgYWZmZWN0IGxpbmVIZWlnaHRcblxuICBfaW5wdXRWYWxpZGF0b3I6IFZhbGlkYXRvckZuO1xuICBfaW5wdXRBc3luY1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjtcblxuICBASW5wdXQoKVxuICBzZXQgaW5wdXRWYWxpZGF0b3IoZm46IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSkge1xuICAgIHRoaXMuX2lucHV0VmFsaWRhdG9yID0gQXJyYXkuaXNBcnJheShmbikgPyBWYWxpZGF0b3JzLmNvbXBvc2UoZm4pIDogZm47XG4gIH1cblxuICBnZXQgaW5wdXRWYWxpZGF0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0VmFsaWRhdG9yO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGlucHV0QXN5bmNWYWxpZGF0b3IoZm46IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10pIHtcbiAgICB0aGlzLl9pbnB1dEFzeW5jVmFsaWRhdG9yID0gQXJyYXkuaXNBcnJheShmbilcbiAgICAgID8gVmFsaWRhdG9ycy5jb21wb3NlQXN5bmMoZm4pXG4gICAgICA6IGZuO1xuICB9XG5cbiAgZ2V0IGlucHV0QXN5bmNWYWxpZGF0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0QXN5bmNWYWxpZGF0b3I7XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0VmFsdWVNaXJyb3InLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFZhbHVlTWlycm9yOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvc2l0aW9uJylcbiAgZ2V0IGhvc3RQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoTWF4Um93Q291bnQuaG9zdFBvc2l0aW9uKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICBnZXQgaG9zdERpc3BsYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aE1heFJvd0NvdW50Lmhvc3REaXNwbGF5KCk7XG4gIH1cblxuICBnZXQgbWF4SGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLndpdGhNYXhSb3dDb3VudC5tYXhIZWlnaHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgd2l0aE1heFJvd0NvdW50ID0gY3JlYXRlV2l0aE1heFJvd0NvdW50KHRoaXMpO1xuXG4gIGZvY3VzZWQgPSBmYWxzZTtcbiAgb3ZlcnJpZGUgbW9kZWw6IHN0cmluZ1tdID0gW107XG5cbiAgLy8g5YaF572uZm9ybSBjb250cm9s77yM5LuF5L2c5qCh6aqM5L2/55SoXG4gIHJlYWRvbmx5IGlucHV0Q29udHJvbDogRm9ybUNvbnRyb2w7XG4gIC8vIOWkluWxgiBGb3JtQ29udHJvbO+8jOaJgOacieeahOagoemqjOmAu+i+kemSiOWvuei+k+WFpeaVsOaNrlxuICBjb250cm9sQ29udGFpbmVyOiBOZ0NvbnRyb2w7XG5cbiAgZ2V0IHJvb3RDbGFzcygpIHtcbiAgICBjb25zdCBzaXplID0gdGhpcy5zaXplIHx8IENvbXBvbmVudFNpemUuTWVkaXVtO1xuICAgIHJldHVybiBgYXVpLWlucHV0ICR7dGhpcy5iZW0uYmxvY2soc2l6ZSl9ICR7XG4gICAgICB0aGlzLmRpc2FibGVkID8gJ2lzRGlzYWJsZWQnIDogJydcbiAgICB9ICR7dGhpcy5mb2N1c2VkID8gJ2lzRm9jdXNlZCcgOiAnJ30gJHtcbiAgICAgIHRoaXMuY2xlYXJhYmxlID8gJ2lzQ2xlYXJhYmxlJyA6ICcnXG4gICAgfSAke3RoaXMubWF4Um93Q291bnQgPiAwID8gJ3dpdGhIZWlnaHRMaW1pdCcgOiAnJ31gO1xuICB9XG5cbiAgZ2V0IHRhZ1NpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gQ29tcG9uZW50U2l6ZS5MYXJnZVxuICAgICAgPyBDb21wb25lbnRTaXplLk1lZGl1bVxuICAgICAgOiBDb21wb25lbnRTaXplLk1pbmk7XG4gIH1cblxuICBnZXQgaW5wdXRDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iZW0uZWxlbWVudCgnaW5wdXQnLCB7XG4gICAgICBoaWRkZW46XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgKCF0aGlzLmZvY3VzZWQgJiYgIXRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQudmFsdWUpLFxuICAgIH0pfSBhdWktdGFnIGF1aS10YWctLSR7dGhpcy50YWdTaXplfWA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7XG4gICAgc3VwZXIoY2RyLCBlbGVtZW50UmVmKTtcbiAgICB0aGlzLmlucHV0Q29udHJvbCA9IHRoaXMuZmIuY29udHJvbCgnJyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7XG4gICAgaW5wdXRWYWxpZGF0b3IsXG4gICAgaW5wdXRBc3luY1ZhbGlkYXRvcixcbiAgICBkaXNhYmxlZCxcbiAgfTogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbnB1dENvbnRyb2xbZGlzYWJsZWQuY3VycmVudFZhbHVlID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSddKHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaW5wdXRWYWxpZGF0b3IpIHtcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5pbnB1dFZhbGlkYXRvcik7XG4gICAgfVxuICAgIGlmIChpbnB1dEFzeW5jVmFsaWRhdG9yKSB7XG4gICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy5pbnB1dEFzeW5jVmFsaWRhdG9yKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jb250cm9sQ29udGFpbmVyID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcbiAgfVxuXG4gIG9uUmVtb3ZlKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLm1vZGVsW2luZGV4XTtcbiAgICBpZiAodGFyZ2V0ICYmIHRoaXMucmVhZG9ubHlUYWdzLmluY2x1ZGVzKHRhcmdldCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUodGhpcy5tb2RlbC5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KSk7XG4gIH1cblxuICBvbklucHV0KCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgIC8vIG1ha2Ugc3VyZSB2YWx1ZSBzeW5jIHRvIHNwYW4gZWxlbWVudFxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoIXZhbHVlLmxlbmd0aCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnd2lkdGgnLFxuICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZU1pcnJvci5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRoICsgJ3B4JyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXI/LmNvbnRyb2w/LmVycm9ycz8uW0lOUFVUX0VSUk9SX0tFWV0gJiZcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sLmVycm9ycykubGVuZ3RoID09PSAxXG4gICAgKSB7XG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXRFbCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIGlucHV0RWwudmFsdWUgPT09ICcnKSB7XG4gICAgICB0aGlzLm9uUmVtb3ZlKHRoaXMubW9kZWwubGVuZ3RoIC0gMSk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucHVzaFZhbHVlKGlucHV0RWwudmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dEZvY3VzKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBvbklucHV0Qmx1cihldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLnB1c2hWYWx1ZSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKTtcbiAgICBpZiAodGhpcy5vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeVZhbHVlKF86IG51bWJlciwgdmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUluKHY6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIHRoaXMuY2xlYXJJbnB1dCgpO1xuICAgIHJldHVybiB0aGlzLnNvcnRCeVJlYWRvbmx5KHYgfHwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0QnlSZWFkb25seShpdGVtczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seVRhZ3MubGVuZ3RoXG4gICAgICA/IFtcbiAgICAgICAgICAuLi5pdGVtcy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBjdXJyKSA9PiBhY2MuYWRkKGN1cnIpLFxuICAgICAgICAgICAgbmV3IFNldCh0aGlzLnJlYWRvbmx5VGFncyksXG4gICAgICAgICAgKSxcbiAgICAgICAgXVxuICAgICAgOiBpdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgcHVzaFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuYWxsb3dFbXB0eSAmJiAhdmFsdWUpIHtcbiAgICAgIHRoaXMucmVtb3ZlSW5wdXRDb250cm9sRXJyb3IoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmFsbG93UmVwZWF0ICYmIHRoaXMubW9kZWwuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSk7XG4gICAgLy8gaW5wdXRDb250cm9sIOiHqui6q+eahOeKtuaAgeS4uuWQjOatpeiuoeeul1xuICAgIHRoaXMuc3luY0NvbnRyb2xTdGF0dXMoKTtcbiAgICBpZiAodGhpcy5pbnB1dENvbnRyb2wudmFsaWQpIHtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMubW9kZWwuY29uY2F0KHZhbHVlKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlucHV0Q29udHJvbC5wZW5kaW5nKSB7XG4gICAgICAvLyBQRU5ESU5HIOWQjuWPquS8muWPmOS4uiBWQUxJRCDmiJYgSU5WQUxJRCDnmoTlhrPorq7nirbmgIFcbiAgICAgIHRoaXMuaW5wdXRDb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIHRoaXMuc3luY0NvbnRyb2xTdGF0dXMoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRDb250cm9sLnZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUodGhpcy5tb2RlbC5jb25jYXQodmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzeW5jQ29udHJvbFN0YXR1cygpIHtcbiAgICBjb25zdCB7IHBlbmRpbmcsIHZhbGlkLCBpbnZhbGlkLCBkaXNhYmxlZCwgZXJyb3JzIH0gPSB0aGlzLmlucHV0Q29udHJvbDtcbiAgICBpZiAodmFsaWQpIHtcbiAgICAgIHRoaXMucmVtb3ZlSW5wdXRDb250cm9sRXJyb3IoKTtcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgIH0gZWxzZSBpZiAocGVuZGluZykge1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLm1hcmtBc1BlbmRpbmcoKTtcbiAgICB9IGVsc2UgaWYgKGludmFsaWQpIHtcbiAgICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLnNldEVycm9ycyh7XG4gICAgICAgIC4uLnRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZXJyb3JzLFxuICAgICAgICBbSU5QVVRfRVJST1JfS0VZXTogZXJyb3JzLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChkaXNhYmxlZCkge1xuICAgICAgLy8g5LiO5b2T5YmNIGlucHV0IOagoemqjOiEseemu1xuICAgICAgdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVJbnB1dENvbnRyb2xFcnJvcigpIHtcbiAgICBsZXQgZXJyb3JzID0gdGhpcy5jb250cm9sQ29udGFpbmVyPy5jb250cm9sLmVycm9ycztcbiAgICBpZiAoZXJyb3JzPy5bSU5QVVRfRVJST1JfS0VZXSkge1xuICAgICAgZGVsZXRlIGVycm9yc1tJTlBVVF9FUlJPUl9LRVldO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LmtleXMoZXJyb3JzIHx8IHt9KS5sZW5ndGggPT09IDApIHtcbiAgICAgIGVycm9ycyA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbC5zZXRFcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJJbnB1dCgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJyk7XG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUoJycpO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJyb290Q2xhc3NcIlxuICAobW91c2Vkb3duKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgKGNsaWNrKT1cImlucHV0UmVmLmZvY3VzKClcIlxuICBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRcIlxuPlxuICA8c3BhblxuICAgIFtoaWRkZW5dPVwibW9kZWwubGVuZ3RoIHx8IGlucHV0UmVmLnZhbHVlLmxlbmd0aFwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdwbGFjZWhvbGRlcicpXCJcbiAgPlxuICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gIDwvc3Bhbj5cbiAgPGF1aS10YWdcbiAgICAqbmdGb3I9XCJsZXQgdGFnIG9mIG1vZGVsOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVZhbHVlXCJcbiAgICB0eXBlPVwiaW5mb1wiXG4gICAgW3RpdGxlXT1cInRhZ1wiXG4gICAgW3NpemVdPVwidGFnU2l6ZVwiXG4gICAgW3JvdW5kXT1cInRydWVcIlxuICAgIFtib3JkZXJdPVwidHJ1ZVwiXG4gICAgW2Nsb3NlYWJsZV09XCIhKGRpc2FibGVkIHx8IHJlYWRvbmx5VGFncy5pbmNsdWRlcyh0YWcpKVwiXG4gICAgKGNsb3NlKT1cIm9uUmVtb3ZlKGluZGV4KVwiXG4gID5cbiAgICB7eyB0YWcgfX1cbiAgPC9hdWktdGFnPlxuICA8aW5wdXRcbiAgICAjaW5wdXRSZWZcbiAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXG4gICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAvPlxuICA8c3BhbiAjaW5wdXRWYWx1ZU1pcnJvciBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ21pcnJvcicpXCI+e3tcbiAgICBpbnB1dFJlZi52YWx1ZVxuICB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19