@ethlete/cdk 4.0.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 4.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1093](https://github.com/ethlete-io/ethdk/pull/1093) [`2ae10f5e`](https://github.com/ethlete-io/ethdk/commit/2ae10f5e81feb89ba0a49ff3510df8a2a15e910d) Thanks [@Gw3i](https://github.com/Gw3i)! - Check native inputs if they are never empty and set `et-native-input-is-never-empty` class on it's form field component if true
8
+
3
9
  ## 4.0.4
4
10
 
5
11
  ### Patch Changes
@@ -19,7 +19,7 @@ export class ComboboxComponent extends DecoratedInputBase {
19
19
  this.combobox.setBodyComponent(ComboboxBodyComponent);
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComboboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ComboboxComponent, isStandalone: true, selector: "et-combobox", host: { listeners: { "click": "combobox.selectInputAndOpen()" }, classAttribute: "et-combobox" }, usesInheritance: true, hostDirectives: [{ directive: i1.AnimatedOverlayDirective }, { directive: i2.OverlayCloseBlockerDirective }, { directive: i3.InputDirective, inputs: ["placeholder", "placeholder"] }, { directive: i4.ComboboxDirective, inputs: ["options", "options", "initialValue", "initialValue", "filterInternal", "filterInternal", "loading", "loading", "error", "error", "emptyText", "emptyText", "placeholder", "placeholder", "multiple", "multiple", "bindLabel", "bindLabel", "bindValue", "bindValue", "bindDisabled", "bindDisabled", "allowCustomValues", "allowCustomValues", "selectedOptionComponent", "selectedOptionComponent", "optionComponent", "optionComponent", "bodyErrorComponent", "bodyErrorComponent", "bodyLoadingComponent", "bodyLoadingComponent", "bodyEmptyComponent", "bodyEmptyComponent", "bodyMoreItemsHintComponent", "bodyMoreItemsHintComponent", "showBodyMoreItemsHint", "showBodyMoreItemsHint", "bodyEmptyText", "bodyEmptyText", "bodyMoreItemsHintText", "bodyMoreItemsHintText", "optionComponentInputs", "optionComponentInputs", "selectedOptionComponentInputs", "selectedOptionComponentInputs", "bodyErrorComponentInputs", "bodyErrorComponentInputs", "bodyLoadingComponentInputs", "bodyLoadingComponentInputs", "bodyEmptyComponentInputs", "bodyEmptyComponentInputs", "bodyMoreItemsHintComponentInputs", "bodyMoreItemsHintComponentInputs"], outputs: ["filterChange", "filterChange"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div>\n <div *ngIf=\"combobox.multiple$ | async\" class=\"et-combobox-selected-options\">\n <div\n *ngFor=\"let item of combobox.selectedOptions$ | async; trackBy: combobox.trackByOptionKeyFn\"\n class=\"et-combobox-selected-option\"\n aria-hidden=\"true\"\n >\n <ng-container\n *ngIf=\"\n combobox.customSelectedOptionTpl$ | async as customSelectedOptionTpl;\n else compOrDefaultSelectedOptionLabelTpl\n \"\n >\n <ng-container *ngTemplateOutlet=\"customSelectedOptionTpl; context: { option: item }\" />\n </ng-container>\n\n <ng-template #compOrDefaultSelectedOptionLabelTpl>\n <ng-container\n *ngIf=\"combobox.customSelectedOptionComponent$ | async as comp; else defaultSelectedOptionLabelTpl\"\n >\n <ng-container\n *ngComponentOutlet=\"\n comp;\n inputs: (combobox.combineSelectedOptionWithComponentInputs(item) | async) ?? { option: item }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultSelectedOptionLabelTpl>\n {{ combobox.getOptionLabel(item) | async }}\n </ng-template>\n </ng-template>\n\n <button\n (click)=\"combobox.removeSelectedOption(item); $event.stopPropagation(); combobox.focus()\"\n class=\"et-combobox-selected-option-remove\"\n tabindex=\"-1\"\n >\n x\n </button>\n </div>\n <div class=\"et-combobox-muliple-input\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </div>\n </div>\n\n <ng-template #inputTpl>\n <input\n [disabled]=\"input.disabled\"\n [attr.id]=\"input.id\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n [attr.aria-expanded]=\"combobox.isOpen$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-activedescendant]=\"combobox.activeOptionId$ | async\"\n [attr.aria-controls]=\"(combobox.selectBodyId$ | async) || null\"\n [attr.aria-owns]=\"(combobox.selectBodyId$ | async) || null\"\n (keydown)=\"combobox._processKeydownEvent($event)\"\n (keyup)=\"combobox._processKeyupEvent()\"\n (click)=\"combobox.open()\"\n (blur)=\"combobox._handleBlurEvent()\"\n (input)=\"combobox._processInputEvent($event)\"\n class=\"et-combobox-wrapper\"\n autocomplete=\"off\"\n aria-haspopup=\"listbox\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n type=\"text\"\n value=\"{{ combobox.currentFilter }}\"\n etNativeInputRef\n />\n </ng-template>\n\n <ng-container *ngIf=\"(combobox.multiple$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </ng-container>\n\n <et-chevron-icon class=\"et-combobox-chevron\" />\n</div>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template>\n <ng-content />\n</ng-template>\n", styles: [".et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-from,.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-to{opacity:0;transform:scaleY(0)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-active{transition:transform 125ms var(--ease-out-5),opacity 125ms var(--ease-out-5)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-active{transition:transform 50ms var(--ease-in-5),opacity 50ms var(--ease-in-5)}.et-combobox-body.et-with-default-animation[et-floating-placement^=top] .et-combobox-body-container{transform-origin:bottom}.et-combobox-body.et-with-default-animation[et-floating-placement^=bottom] .et-combobox-body-container{transform-origin:top}.et-combobox-body-container{display:block;background-color:#3d3d3d;color:#fff;max-height:min(200px,var(--et-floating-max-height, 200px));overflow:auto}@supports (overflow: overlay){.et-combobox-body-container{overflow:overlay}}.et-combobox-body{width:100%;display:grid;transform:var(--et-floating-translate);will-change:transform}.et-combobox-option{display:block}:where(.et-combobox-option--active){background-color:#1e1e1e}.et-combobox{display:block;border:1px solid #ccc;padding:15px;position:relative}.et-combobox-chevron{transform:rotate(180deg);display:block;inline-size:15px;block-size:15px;position:absolute;inset-inline-end:15px;inset-block-start:7px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ComboboxComponent, isStandalone: true, selector: "et-combobox", host: { listeners: { "click": "combobox.selectInputAndOpen()" }, classAttribute: "et-combobox" }, usesInheritance: true, hostDirectives: [{ directive: i1.AnimatedOverlayDirective }, { directive: i2.OverlayCloseBlockerDirective }, { directive: i3.InputDirective, inputs: ["placeholder", "placeholder"] }, { directive: i4.ComboboxDirective, inputs: ["options", "options", "initialValue", "initialValue", "filterInternal", "filterInternal", "loading", "loading", "error", "error", "emptyText", "emptyText", "placeholder", "placeholder", "multiple", "multiple", "bindLabel", "bindLabel", "bindValue", "bindValue", "bindDisabled", "bindDisabled", "allowCustomValues", "allowCustomValues", "selectedOptionComponent", "selectedOptionComponent", "optionComponent", "optionComponent", "bodyErrorComponent", "bodyErrorComponent", "bodyLoadingComponent", "bodyLoadingComponent", "bodyEmptyComponent", "bodyEmptyComponent", "bodyMoreItemsHintComponent", "bodyMoreItemsHintComponent", "showBodyMoreItemsHint", "showBodyMoreItemsHint", "bodyEmptyText", "bodyEmptyText", "bodyMoreItemsHintText", "bodyMoreItemsHintText", "optionComponentInputs", "optionComponentInputs", "selectedOptionComponentInputs", "selectedOptionComponentInputs", "bodyErrorComponentInputs", "bodyErrorComponentInputs", "bodyLoadingComponentInputs", "bodyLoadingComponentInputs", "bodyEmptyComponentInputs", "bodyEmptyComponentInputs", "bodyMoreItemsHintComponentInputs", "bodyMoreItemsHintComponentInputs"], outputs: ["filterChange", "filterChange"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div>\n <div *ngIf=\"combobox.multiple$ | async\" class=\"et-combobox-selected-options\">\n <div\n *ngFor=\"let item of combobox.selectedOptions$ | async; trackBy: combobox.trackByOptionKeyFn\"\n class=\"et-combobox-selected-option\"\n aria-hidden=\"true\"\n >\n <ng-container\n *ngIf=\"\n combobox.customSelectedOptionTpl$ | async as customSelectedOptionTpl;\n else compOrDefaultSelectedOptionLabelTpl\n \"\n >\n <ng-container *ngTemplateOutlet=\"customSelectedOptionTpl; context: { option: item }\" />\n </ng-container>\n\n <ng-template #compOrDefaultSelectedOptionLabelTpl>\n <ng-container\n *ngIf=\"combobox.customSelectedOptionComponent$ | async as comp; else defaultSelectedOptionLabelTpl\"\n >\n <ng-container\n *ngComponentOutlet=\"\n comp;\n inputs: (combobox.combineSelectedOptionWithComponentInputs(item) | async) ?? { option: item }\n \"\n />\n </ng-container>\n <ng-template #defaultSelectedOptionLabelTpl>\n {{ combobox.getOptionLabel(item) | async }}\n </ng-template>\n </ng-template>\n\n <button\n (click)=\"combobox.removeSelectedOption(item); $event.stopPropagation(); combobox.focus()\"\n class=\"et-combobox-selected-option-remove\"\n tabindex=\"-1\"\n >\n x\n </button>\n </div>\n <div class=\"et-combobox-muliple-input\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </div>\n </div>\n\n <ng-template #inputTpl>\n <input\n [disabled]=\"input.disabled\"\n [attr.id]=\"input.id\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n [attr.aria-expanded]=\"combobox.isOpen$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-activedescendant]=\"combobox.activeOptionId$ | async\"\n [attr.aria-controls]=\"(combobox.selectBodyId$ | async) || null\"\n [attr.aria-owns]=\"(combobox.selectBodyId$ | async) || null\"\n (keydown)=\"combobox._processKeydownEvent($event)\"\n (keyup)=\"combobox._processKeyupEvent()\"\n (click)=\"combobox.open()\"\n (blur)=\"combobox._handleBlurEvent()\"\n (input)=\"combobox._processInputEvent($event)\"\n class=\"et-combobox-wrapper\"\n autocomplete=\"off\"\n aria-haspopup=\"listbox\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n type=\"text\"\n value=\"{{ combobox.currentFilter }}\"\n etNativeInputRef\n />\n </ng-template>\n\n <ng-container *ngIf=\"(combobox.multiple$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </ng-container>\n\n <et-chevron-icon class=\"et-combobox-chevron\" />\n</div>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template>\n <ng-content />\n</ng-template>\n", styles: [".et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-from,.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-to{opacity:0;transform:scaleY(0)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-active{transition:transform 125ms var(--ease-out-5),opacity 125ms var(--ease-out-5)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-active{transition:transform 50ms var(--ease-in-5),opacity 50ms var(--ease-in-5)}.et-combobox-body.et-with-default-animation[et-floating-placement^=top] .et-combobox-body-container{transform-origin:bottom}.et-combobox-body.et-with-default-animation[et-floating-placement^=bottom] .et-combobox-body-container{transform-origin:top}.et-combobox-body-container{display:block;background-color:#3d3d3d;color:#fff;max-height:min(200px,var(--et-floating-max-height, 200px));overflow:auto}@supports (overflow: overlay){.et-combobox-body-container{overflow:overlay}}.et-combobox-body{width:100%;display:grid;transform:var(--et-floating-translate);will-change:transform}.et-combobox-option{display:block}:where(.et-combobox-option--active){background-color:#1e1e1e}.et-combobox{display:block;border:1px solid #ccc;padding:15px;position:relative}.et-combobox-chevron{transform:rotate(180deg);display:block;inline-size:15px;block-size:15px;position:absolute;inset-inline-end:15px;inset-block-start:7px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComboboxComponent, decorators: [{
25
25
  type: Component,
@@ -73,6 +73,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
73
73
  // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property
74
74
  outputs: ['filterChange'],
75
75
  },
76
- ], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div>\n <div *ngIf=\"combobox.multiple$ | async\" class=\"et-combobox-selected-options\">\n <div\n *ngFor=\"let item of combobox.selectedOptions$ | async; trackBy: combobox.trackByOptionKeyFn\"\n class=\"et-combobox-selected-option\"\n aria-hidden=\"true\"\n >\n <ng-container\n *ngIf=\"\n combobox.customSelectedOptionTpl$ | async as customSelectedOptionTpl;\n else compOrDefaultSelectedOptionLabelTpl\n \"\n >\n <ng-container *ngTemplateOutlet=\"customSelectedOptionTpl; context: { option: item }\" />\n </ng-container>\n\n <ng-template #compOrDefaultSelectedOptionLabelTpl>\n <ng-container\n *ngIf=\"combobox.customSelectedOptionComponent$ | async as comp; else defaultSelectedOptionLabelTpl\"\n >\n <ng-container\n *ngComponentOutlet=\"\n comp;\n inputs: (combobox.combineSelectedOptionWithComponentInputs(item) | async) ?? { option: item }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultSelectedOptionLabelTpl>\n {{ combobox.getOptionLabel(item) | async }}\n </ng-template>\n </ng-template>\n\n <button\n (click)=\"combobox.removeSelectedOption(item); $event.stopPropagation(); combobox.focus()\"\n class=\"et-combobox-selected-option-remove\"\n tabindex=\"-1\"\n >\n x\n </button>\n </div>\n <div class=\"et-combobox-muliple-input\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </div>\n </div>\n\n <ng-template #inputTpl>\n <input\n [disabled]=\"input.disabled\"\n [attr.id]=\"input.id\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n [attr.aria-expanded]=\"combobox.isOpen$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-activedescendant]=\"combobox.activeOptionId$ | async\"\n [attr.aria-controls]=\"(combobox.selectBodyId$ | async) || null\"\n [attr.aria-owns]=\"(combobox.selectBodyId$ | async) || null\"\n (keydown)=\"combobox._processKeydownEvent($event)\"\n (keyup)=\"combobox._processKeyupEvent()\"\n (click)=\"combobox.open()\"\n (blur)=\"combobox._handleBlurEvent()\"\n (input)=\"combobox._processInputEvent($event)\"\n class=\"et-combobox-wrapper\"\n autocomplete=\"off\"\n aria-haspopup=\"listbox\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n type=\"text\"\n value=\"{{ combobox.currentFilter }}\"\n etNativeInputRef\n />\n </ng-template>\n\n <ng-container *ngIf=\"(combobox.multiple$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </ng-container>\n\n <et-chevron-icon class=\"et-combobox-chevron\" />\n</div>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template>\n <ng-content />\n</ng-template>\n", styles: [".et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-from,.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-to{opacity:0;transform:scaleY(0)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-active{transition:transform 125ms var(--ease-out-5),opacity 125ms var(--ease-out-5)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-active{transition:transform 50ms var(--ease-in-5),opacity 50ms var(--ease-in-5)}.et-combobox-body.et-with-default-animation[et-floating-placement^=top] .et-combobox-body-container{transform-origin:bottom}.et-combobox-body.et-with-default-animation[et-floating-placement^=bottom] .et-combobox-body-container{transform-origin:top}.et-combobox-body-container{display:block;background-color:#3d3d3d;color:#fff;max-height:min(200px,var(--et-floating-max-height, 200px));overflow:auto}@supports (overflow: overlay){.et-combobox-body-container{overflow:overlay}}.et-combobox-body{width:100%;display:grid;transform:var(--et-floating-translate);will-change:transform}.et-combobox-option{display:block}:where(.et-combobox-option--active){background-color:#1e1e1e}.et-combobox{display:block;border:1px solid #ccc;padding:15px;position:relative}.et-combobox-chevron{transform:rotate(180deg);display:block;inline-size:15px;block-size:15px;position:absolute;inset-inline-end:15px;inset-block-start:7px}\n"] }]
76
+ ], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div>\n <div *ngIf=\"combobox.multiple$ | async\" class=\"et-combobox-selected-options\">\n <div\n *ngFor=\"let item of combobox.selectedOptions$ | async; trackBy: combobox.trackByOptionKeyFn\"\n class=\"et-combobox-selected-option\"\n aria-hidden=\"true\"\n >\n <ng-container\n *ngIf=\"\n combobox.customSelectedOptionTpl$ | async as customSelectedOptionTpl;\n else compOrDefaultSelectedOptionLabelTpl\n \"\n >\n <ng-container *ngTemplateOutlet=\"customSelectedOptionTpl; context: { option: item }\" />\n </ng-container>\n\n <ng-template #compOrDefaultSelectedOptionLabelTpl>\n <ng-container\n *ngIf=\"combobox.customSelectedOptionComponent$ | async as comp; else defaultSelectedOptionLabelTpl\"\n >\n <ng-container\n *ngComponentOutlet=\"\n comp;\n inputs: (combobox.combineSelectedOptionWithComponentInputs(item) | async) ?? { option: item }\n \"\n />\n </ng-container>\n <ng-template #defaultSelectedOptionLabelTpl>\n {{ combobox.getOptionLabel(item) | async }}\n </ng-template>\n </ng-template>\n\n <button\n (click)=\"combobox.removeSelectedOption(item); $event.stopPropagation(); combobox.focus()\"\n class=\"et-combobox-selected-option-remove\"\n tabindex=\"-1\"\n >\n x\n </button>\n </div>\n <div class=\"et-combobox-muliple-input\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </div>\n </div>\n\n <ng-template #inputTpl>\n <input\n [disabled]=\"input.disabled\"\n [attr.id]=\"input.id\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n [attr.aria-expanded]=\"combobox.isOpen$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-activedescendant]=\"combobox.activeOptionId$ | async\"\n [attr.aria-controls]=\"(combobox.selectBodyId$ | async) || null\"\n [attr.aria-owns]=\"(combobox.selectBodyId$ | async) || null\"\n (keydown)=\"combobox._processKeydownEvent($event)\"\n (keyup)=\"combobox._processKeyupEvent()\"\n (click)=\"combobox.open()\"\n (blur)=\"combobox._handleBlurEvent()\"\n (input)=\"combobox._processInputEvent($event)\"\n class=\"et-combobox-wrapper\"\n autocomplete=\"off\"\n aria-haspopup=\"listbox\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n type=\"text\"\n value=\"{{ combobox.currentFilter }}\"\n etNativeInputRef\n />\n </ng-template>\n\n <ng-container *ngIf=\"(combobox.multiple$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </ng-container>\n\n <et-chevron-icon class=\"et-combobox-chevron\" />\n</div>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template>\n <ng-content />\n</ng-template>\n", styles: [".et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-from,.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-to{opacity:0;transform:scaleY(0)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-active{transition:transform 125ms var(--ease-out-5),opacity 125ms var(--ease-out-5)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-active{transition:transform 50ms var(--ease-in-5),opacity 50ms var(--ease-in-5)}.et-combobox-body.et-with-default-animation[et-floating-placement^=top] .et-combobox-body-container{transform-origin:bottom}.et-combobox-body.et-with-default-animation[et-floating-placement^=bottom] .et-combobox-body-container{transform-origin:top}.et-combobox-body-container{display:block;background-color:#3d3d3d;color:#fff;max-height:min(200px,var(--et-floating-max-height, 200px));overflow:auto}@supports (overflow: overlay){.et-combobox-body-container{overflow:overlay}}.et-combobox-body{width:100%;display:grid;transform:var(--et-floating-translate);will-change:transform}.et-combobox-option{display:block}:where(.et-combobox-option--active){background-color:#1e1e1e}.et-combobox{display:block;border:1px solid #ccc;padding:15px;position:relative}.et-combobox-chevron{transform:rotate(180deg);display:block;inline-size:15px;block-size:15px;position:absolute;inset-inline-end:15px;inset-block-start:7px}\n"] }]
77
77
  }], ctorParameters: function () { return []; } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L2NvbXBvbmVudHMvY29tYm9ib3gvY29tcG9uZW50cy9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9jb21ib2JveC9jb21wb25lbnRzL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBK0R2RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBR3ZEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFIUyxhQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBS25ELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQVBVLGlCQUFpQjttR0FBakIsaUJBQWlCLGdqREN2RTlCLDZrR0F3RkEsOC9DRGxFSSxJQUFJLDZGQUNKLHVCQUF1QiwrSUFDdkIsU0FBUyw4Q0FDVCxvQkFBb0IsNERBRXBCLEtBQUssbUhBQ0wsZ0JBQWdCLG9KQUNoQixpQkFBaUI7OzRGQTBDUixpQkFBaUI7a0JBN0Q3QixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLFNBQVMsRUFBRSwrQkFBK0I7cUJBQzNDLFdBQ1E7d0JBQ1AsSUFBSTt3QkFDSix1QkFBdUI7d0JBQ3ZCLFNBQVM7d0JBQ1Qsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsZ0JBQWdCO3dCQUNoQixpQkFBaUI7cUJBQ2xCLGtCQUNlO3dCQUNkLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQ3REOzRCQUNFLFNBQVMsRUFBRSxpQkFBaUI7NEJBQzVCLE1BQU0sRUFBRTtnQ0FDTixTQUFTO2dDQUNULGNBQWM7Z0NBQ2QsZ0JBQWdCO2dDQUNoQixTQUFTO2dDQUNULE9BQU87Z0NBQ1AsV0FBVztnQ0FDWCxhQUFhO2dDQUNiLFVBQVU7Z0NBQ1YsV0FBVztnQ0FDWCxXQUFXO2dDQUNYLGNBQWM7Z0NBQ2QsbUJBQW1CO2dDQUNuQix5QkFBeUI7Z0NBQ3pCLGlCQUFpQjtnQ0FDakIsb0JBQW9CO2dDQUNwQixzQkFBc0I7Z0NBQ3RCLG9CQUFvQjtnQ0FDcEIsNEJBQTRCO2dDQUM1Qix1QkFBdUI7Z0NBQ3ZCLGVBQWU7Z0NBQ2YsdUJBQXVCO2dDQUN2Qix1QkFBdUI7Z0NBQ3ZCLCtCQUErQjtnQ0FDL0IsMEJBQTBCO2dDQUMxQiw0QkFBNEI7Z0NBQzVCLDBCQUEwQjtnQ0FDMUIsa0NBQWtDOzZCQUNuQzs0QkFDRCx3RUFBd0U7NEJBQ3hFLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQzt5QkFDMUI7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ29tcG9uZW50T3V0bGV0LCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmUsIExldERpcmVjdGl2ZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ2hldnJvbkljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9pY29ucyc7XG5pbXBvcnQgeyBPdmVybGF5Q2xvc2VCbG9ja2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vb3ZlcmxheSc7XG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSwgTmF0aXZlSW5wdXRSZWZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IERlY29yYXRlZElucHV0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IENPTUJPQk9YX1RPS0VOLCBDb21ib2JveERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29tYm9ib3hCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFydGlhbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb21ib2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21ib2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbWJvYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1jb21ib2JveCcsXG4gICAgJyhjbGljayknOiAnY29tYm9ib3guc2VsZWN0SW5wdXRBbmRPcGVuKCknLFxuICB9LFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZSxcbiAgICBBc3luY1BpcGUsXG4gICAgQ2hldnJvbkljb25Db21wb25lbnQsXG4gICAgTGV0RGlyZWN0aXZlLFxuICAgIE5nRm9yLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTmdDb21wb25lbnRPdXRsZXQsXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlLFxuICAgIE92ZXJsYXlDbG9zZUJsb2NrZXJEaXJlY3RpdmUsXG4gICAgeyBkaXJlY3RpdmU6IElucHV0RGlyZWN0aXZlLCBpbnB1dHM6IFsncGxhY2Vob2xkZXInXSB9LFxuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogQ29tYm9ib3hEaXJlY3RpdmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ29wdGlvbnMnLFxuICAgICAgICAnaW5pdGlhbFZhbHVlJyxcbiAgICAgICAgJ2ZpbHRlckludGVybmFsJyxcbiAgICAgICAgJ2xvYWRpbmcnLFxuICAgICAgICAnZXJyb3InLFxuICAgICAgICAnZW1wdHlUZXh0JyxcbiAgICAgICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAgICAgJ211bHRpcGxlJyxcbiAgICAgICAgJ2JpbmRMYWJlbCcsXG4gICAgICAgICdiaW5kVmFsdWUnLFxuICAgICAgICAnYmluZERpc2FibGVkJyxcbiAgICAgICAgJ2FsbG93Q3VzdG9tVmFsdWVzJyxcbiAgICAgICAgJ3NlbGVjdGVkT3B0aW9uQ29tcG9uZW50JyxcbiAgICAgICAgJ29wdGlvbkNvbXBvbmVudCcsXG4gICAgICAgICdib2R5RXJyb3JDb21wb25lbnQnLFxuICAgICAgICAnYm9keUxvYWRpbmdDb21wb25lbnQnLFxuICAgICAgICAnYm9keUVtcHR5Q29tcG9uZW50JyxcbiAgICAgICAgJ2JvZHlNb3JlSXRlbXNIaW50Q29tcG9uZW50JyxcbiAgICAgICAgJ3Nob3dCb2R5TW9yZUl0ZW1zSGludCcsXG4gICAgICAgICdib2R5RW1wdHlUZXh0JyxcbiAgICAgICAgJ2JvZHlNb3JlSXRlbXNIaW50VGV4dCcsXG4gICAgICAgICdvcHRpb25Db21wb25lbnRJbnB1dHMnLFxuICAgICAgICAnc2VsZWN0ZWRPcHRpb25Db21wb25lbnRJbnB1dHMnLFxuICAgICAgICAnYm9keUVycm9yQ29tcG9uZW50SW5wdXRzJyxcbiAgICAgICAgJ2JvZHlMb2FkaW5nQ29tcG9uZW50SW5wdXRzJyxcbiAgICAgICAgJ2JvZHlFbXB0eUNvbXBvbmVudElucHV0cycsXG4gICAgICAgICdib2R5TW9yZUl0ZW1zSGludENvbXBvbmVudElucHV0cycsXG4gICAgICBdLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gICAgICBvdXRwdXRzOiBbJ2ZpbHRlckNoYW5nZSddLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvYm94Q29tcG9uZW50IGV4dGVuZHMgRGVjb3JhdGVkSW5wdXRCYXNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbWJvYm94ID0gaW5qZWN0KENPTUJPQk9YX1RPS0VOKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5jb21ib2JveC5zZXRCb2R5Q29tcG9uZW50KENvbWJvYm94Qm9keUNvbXBvbmVudCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIltldElucHV0UHJlZml4XVwiIC8+XG5cbjxkaXY+XG4gIDxkaXYgKm5nSWY9XCJjb21ib2JveC5tdWx0aXBsZSQgfCBhc3luY1wiIGNsYXNzPVwiZXQtY29tYm9ib3gtc2VsZWN0ZWQtb3B0aW9uc1wiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbWJvYm94LnNlbGVjdGVkT3B0aW9ucyQgfCBhc3luYzsgdHJhY2tCeTogY29tYm9ib3gudHJhY2tCeU9wdGlvbktleUZuXCJcbiAgICAgIGNsYXNzPVwiZXQtY29tYm9ib3gtc2VsZWN0ZWQtb3B0aW9uXCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGNvbWJvYm94LmN1c3RvbVNlbGVjdGVkT3B0aW9uVHBsJCB8IGFzeW5jIGFzIGN1c3RvbVNlbGVjdGVkT3B0aW9uVHBsO1xuICAgICAgICAgIGVsc2UgY29tcE9yRGVmYXVsdFNlbGVjdGVkT3B0aW9uTGFiZWxUcGxcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbVNlbGVjdGVkT3B0aW9uVHBsOyBjb250ZXh0OiB7IG9wdGlvbjogaXRlbSB9XCIgLz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2NvbXBPckRlZmF1bHRTZWxlY3RlZE9wdGlvbkxhYmVsVHBsPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJjb21ib2JveC5jdXN0b21TZWxlY3RlZE9wdGlvbkNvbXBvbmVudCQgfCBhc3luYyBhcyBjb21wOyBlbHNlIGRlZmF1bHRTZWxlY3RlZE9wdGlvbkxhYmVsVHBsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cIlxuICAgICAgICAgICAgICBjb21wO1xuICAgICAgICAgICAgICBpbnB1dHM6IChjb21ib2JveC5jb21iaW5lU2VsZWN0ZWRPcHRpb25XaXRoQ29tcG9uZW50SW5wdXRzKGl0ZW0pIHwgYXN5bmMpID8/IHsgb3B0aW9uOiBpdGVtIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0U2VsZWN0ZWRPcHRpb25MYWJlbFRwbD5cbiAgICAgICAgICB7eyBjb21ib2JveC5nZXRPcHRpb25MYWJlbChpdGVtKSB8IGFzeW5jIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJjb21ib2JveC5yZW1vdmVTZWxlY3RlZE9wdGlvbihpdGVtKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjb21ib2JveC5mb2N1cygpXCJcbiAgICAgICAgY2xhc3M9XCJldC1jb21ib2JveC1zZWxlY3RlZC1vcHRpb24tcmVtb3ZlXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICA+XG4gICAgICAgIHhcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJldC1jb21ib2JveC1tdWxpcGxlLWlucHV0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUcGxcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI2lucHV0VHBsPlxuICAgIDxpbnB1dFxuICAgICAgW2Rpc2FibGVkXT1cImlucHV0LmRpc2FibGVkXCJcbiAgICAgIFthdHRyLmlkXT1cImlucHV0LmlkXCJcbiAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiKGlucHV0LnJlcXVpcmVkJCB8IGFzeW5jKSB8fCBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiKGlucHV0LmRpc2FibGVkJCB8IGFzeW5jKSB8fCBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCIoaW5wdXQuaW52YWxpZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImNvbWJvYm94LmlzT3BlbiQgfCBhc3luY1wiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlucHV0LmRlc2NyaWJlZEJ5JCB8IGFzeW5jXCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImlucHV0LnBsYWNlaG9sZGVyIHx8IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cImNvbWJvYm94LmFjdGl2ZU9wdGlvbklkJCB8IGFzeW5jXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiKGNvbWJvYm94LnNlbGVjdEJvZHlJZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLW93bnNdPVwiKGNvbWJvYm94LnNlbGVjdEJvZHlJZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICAoa2V5ZG93bik9XCJjb21ib2JveC5fcHJvY2Vzc0tleWRvd25FdmVudCgkZXZlbnQpXCJcbiAgICAgIChrZXl1cCk9XCJjb21ib2JveC5fcHJvY2Vzc0tleXVwRXZlbnQoKVwiXG4gICAgICAoY2xpY2spPVwiY29tYm9ib3gub3BlbigpXCJcbiAgICAgIChibHVyKT1cImNvbWJvYm94Ll9oYW5kbGVCbHVyRXZlbnQoKVwiXG4gICAgICAoaW5wdXQpPVwiY29tYm9ib3guX3Byb2Nlc3NJbnB1dEV2ZW50KCRldmVudClcIlxuICAgICAgY2xhc3M9XCJldC1jb21ib2JveC13cmFwcGVyXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIHZhbHVlPVwie3sgY29tYm9ib3guY3VycmVudEZpbHRlciB9fVwiXG4gICAgICBldE5hdGl2ZUlucHV0UmVmXG4gICAgLz5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGNvbWJvYm94Lm11bHRpcGxlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUcGxcIiAvPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZXQtY2hldnJvbi1pY29uIGNsYXNzPVwiZXQtY29tYm9ib3gtY2hldnJvblwiIC8+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V0SW5wdXRTdWZmaXhdXCIgLz5cblxuPG5nLXRlbXBsYXRlPlxuICA8bmctY29udGVudCAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L2NvbXBvbmVudHMvY29tYm9ib3gvY29tcG9uZW50cy9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9jb21ib2JveC9jb21wb25lbnRzL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBK0R2RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBR3ZEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFIUyxhQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBS25ELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQVBVLGlCQUFpQjttR0FBakIsaUJBQWlCLGdqREN2RTlCLCtqR0F3RkEsOC9DRGxFSSxJQUFJLDZGQUNKLHVCQUF1QiwrSUFDdkIsU0FBUyw4Q0FDVCxvQkFBb0IsNERBRXBCLEtBQUssbUhBQ0wsZ0JBQWdCLG9KQUNoQixpQkFBaUI7OzRGQTBDUixpQkFBaUI7a0JBN0Q3QixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLFNBQVMsRUFBRSwrQkFBK0I7cUJBQzNDLFdBQ1E7d0JBQ1AsSUFBSTt3QkFDSix1QkFBdUI7d0JBQ3ZCLFNBQVM7d0JBQ1Qsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsZ0JBQWdCO3dCQUNoQixpQkFBaUI7cUJBQ2xCLGtCQUNlO3dCQUNkLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQ3REOzRCQUNFLFNBQVMsRUFBRSxpQkFBaUI7NEJBQzVCLE1BQU0sRUFBRTtnQ0FDTixTQUFTO2dDQUNULGNBQWM7Z0NBQ2QsZ0JBQWdCO2dDQUNoQixTQUFTO2dDQUNULE9BQU87Z0NBQ1AsV0FBVztnQ0FDWCxhQUFhO2dDQUNiLFVBQVU7Z0NBQ1YsV0FBVztnQ0FDWCxXQUFXO2dDQUNYLGNBQWM7Z0NBQ2QsbUJBQW1CO2dDQUNuQix5QkFBeUI7Z0NBQ3pCLGlCQUFpQjtnQ0FDakIsb0JBQW9CO2dDQUNwQixzQkFBc0I7Z0NBQ3RCLG9CQUFvQjtnQ0FDcEIsNEJBQTRCO2dDQUM1Qix1QkFBdUI7Z0NBQ3ZCLGVBQWU7Z0NBQ2YsdUJBQXVCO2dDQUN2Qix1QkFBdUI7Z0NBQ3ZCLCtCQUErQjtnQ0FDL0IsMEJBQTBCO2dDQUMxQiw0QkFBNEI7Z0NBQzVCLDBCQUEwQjtnQ0FDMUIsa0NBQWtDOzZCQUNuQzs0QkFDRCx3RUFBd0U7NEJBQ3hFLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQzt5QkFDMUI7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ29tcG9uZW50T3V0bGV0LCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmUsIExldERpcmVjdGl2ZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ2hldnJvbkljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9pY29ucyc7XG5pbXBvcnQgeyBPdmVybGF5Q2xvc2VCbG9ja2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vb3ZlcmxheSc7XG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSwgTmF0aXZlSW5wdXRSZWZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IERlY29yYXRlZElucHV0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IENPTUJPQk9YX1RPS0VOLCBDb21ib2JveERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29tYm9ib3hCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFydGlhbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb21ib2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21ib2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbWJvYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1jb21ib2JveCcsXG4gICAgJyhjbGljayknOiAnY29tYm9ib3guc2VsZWN0SW5wdXRBbmRPcGVuKCknLFxuICB9LFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZSxcbiAgICBBc3luY1BpcGUsXG4gICAgQ2hldnJvbkljb25Db21wb25lbnQsXG4gICAgTGV0RGlyZWN0aXZlLFxuICAgIE5nRm9yLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTmdDb21wb25lbnRPdXRsZXQsXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlLFxuICAgIE92ZXJsYXlDbG9zZUJsb2NrZXJEaXJlY3RpdmUsXG4gICAgeyBkaXJlY3RpdmU6IElucHV0RGlyZWN0aXZlLCBpbnB1dHM6IFsncGxhY2Vob2xkZXInXSB9LFxuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogQ29tYm9ib3hEaXJlY3RpdmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ29wdGlvbnMnLFxuICAgICAgICAnaW5pdGlhbFZhbHVlJyxcbiAgICAgICAgJ2ZpbHRlckludGVybmFsJyxcbiAgICAgICAgJ2xvYWRpbmcnLFxuICAgICAgICAnZXJyb3InLFxuICAgICAgICAnZW1wdHlUZXh0JyxcbiAgICAgICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAgICAgJ211bHRpcGxlJyxcbiAgICAgICAgJ2JpbmRMYWJlbCcsXG4gICAgICAgICdiaW5kVmFsdWUnLFxuICAgICAgICAnYmluZERpc2FibGVkJyxcbiAgICAgICAgJ2FsbG93Q3VzdG9tVmFsdWVzJyxcbiAgICAgICAgJ3NlbGVjdGVkT3B0aW9uQ29tcG9uZW50JyxcbiAgICAgICAgJ29wdGlvbkNvbXBvbmVudCcsXG4gICAgICAgICdib2R5RXJyb3JDb21wb25lbnQnLFxuICAgICAgICAnYm9keUxvYWRpbmdDb21wb25lbnQnLFxuICAgICAgICAnYm9keUVtcHR5Q29tcG9uZW50JyxcbiAgICAgICAgJ2JvZHlNb3JlSXRlbXNIaW50Q29tcG9uZW50JyxcbiAgICAgICAgJ3Nob3dCb2R5TW9yZUl0ZW1zSGludCcsXG4gICAgICAgICdib2R5RW1wdHlUZXh0JyxcbiAgICAgICAgJ2JvZHlNb3JlSXRlbXNIaW50VGV4dCcsXG4gICAgICAgICdvcHRpb25Db21wb25lbnRJbnB1dHMnLFxuICAgICAgICAnc2VsZWN0ZWRPcHRpb25Db21wb25lbnRJbnB1dHMnLFxuICAgICAgICAnYm9keUVycm9yQ29tcG9uZW50SW5wdXRzJyxcbiAgICAgICAgJ2JvZHlMb2FkaW5nQ29tcG9uZW50SW5wdXRzJyxcbiAgICAgICAgJ2JvZHlFbXB0eUNvbXBvbmVudElucHV0cycsXG4gICAgICAgICdib2R5TW9yZUl0ZW1zSGludENvbXBvbmVudElucHV0cycsXG4gICAgICBdLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gICAgICBvdXRwdXRzOiBbJ2ZpbHRlckNoYW5nZSddLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvYm94Q29tcG9uZW50IGV4dGVuZHMgRGVjb3JhdGVkSW5wdXRCYXNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbWJvYm94ID0gaW5qZWN0KENPTUJPQk9YX1RPS0VOKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5jb21ib2JveC5zZXRCb2R5Q29tcG9uZW50KENvbWJvYm94Qm9keUNvbXBvbmVudCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIltldElucHV0UHJlZml4XVwiIC8+XG5cbjxkaXY+XG4gIDxkaXYgKm5nSWY9XCJjb21ib2JveC5tdWx0aXBsZSQgfCBhc3luY1wiIGNsYXNzPVwiZXQtY29tYm9ib3gtc2VsZWN0ZWQtb3B0aW9uc1wiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbWJvYm94LnNlbGVjdGVkT3B0aW9ucyQgfCBhc3luYzsgdHJhY2tCeTogY29tYm9ib3gudHJhY2tCeU9wdGlvbktleUZuXCJcbiAgICAgIGNsYXNzPVwiZXQtY29tYm9ib3gtc2VsZWN0ZWQtb3B0aW9uXCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGNvbWJvYm94LmN1c3RvbVNlbGVjdGVkT3B0aW9uVHBsJCB8IGFzeW5jIGFzIGN1c3RvbVNlbGVjdGVkT3B0aW9uVHBsO1xuICAgICAgICAgIGVsc2UgY29tcE9yRGVmYXVsdFNlbGVjdGVkT3B0aW9uTGFiZWxUcGxcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbVNlbGVjdGVkT3B0aW9uVHBsOyBjb250ZXh0OiB7IG9wdGlvbjogaXRlbSB9XCIgLz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2NvbXBPckRlZmF1bHRTZWxlY3RlZE9wdGlvbkxhYmVsVHBsPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJjb21ib2JveC5jdXN0b21TZWxlY3RlZE9wdGlvbkNvbXBvbmVudCQgfCBhc3luYyBhcyBjb21wOyBlbHNlIGRlZmF1bHRTZWxlY3RlZE9wdGlvbkxhYmVsVHBsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cIlxuICAgICAgICAgICAgICBjb21wO1xuICAgICAgICAgICAgICBpbnB1dHM6IChjb21ib2JveC5jb21iaW5lU2VsZWN0ZWRPcHRpb25XaXRoQ29tcG9uZW50SW5wdXRzKGl0ZW0pIHwgYXN5bmMpID8/IHsgb3B0aW9uOiBpdGVtIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNlbGVjdGVkT3B0aW9uTGFiZWxUcGw+XG4gICAgICAgICAge3sgY29tYm9ib3guZ2V0T3B0aW9uTGFiZWwoaXRlbSkgfCBhc3luYyB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiY29tYm9ib3gucmVtb3ZlU2VsZWN0ZWRPcHRpb24oaXRlbSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY29tYm9ib3guZm9jdXMoKVwiXG4gICAgICAgIGNsYXNzPVwiZXQtY29tYm9ib3gtc2VsZWN0ZWQtb3B0aW9uLXJlbW92ZVwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgPlxuICAgICAgICB4XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZXQtY29tYm9ib3gtbXVsaXBsZS1pbnB1dFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0VHBsXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlICNpbnB1dFRwbD5cbiAgICA8aW5wdXRcbiAgICAgIFtkaXNhYmxlZF09XCJpbnB1dC5kaXNhYmxlZFwiXG4gICAgICBbYXR0ci5pZF09XCJpbnB1dC5pZFwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cIihpbnB1dC5yZXF1aXJlZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIihpbnB1dC5kaXNhYmxlZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiKGlucHV0LmludmFsaWQkIHwgYXN5bmMpIHx8IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJjb21ib2JveC5pc09wZW4kIHwgYXN5bmNcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpbnB1dC5kZXNjcmliZWRCeSQgfCBhc3luY1wiXG4gICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJpbnB1dC5wbGFjZWhvbGRlciB8fCBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCJjb21ib2JveC5hY3RpdmVPcHRpb25JZCQgfCBhc3luY1wiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIihjb21ib2JveC5zZWxlY3RCb2R5SWQkIHwgYXN5bmMpIHx8IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1vd25zXT1cIihjb21ib2JveC5zZWxlY3RCb2R5SWQkIHwgYXN5bmMpIHx8IG51bGxcIlxuICAgICAgKGtleWRvd24pPVwiY29tYm9ib3guX3Byb2Nlc3NLZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgICAoa2V5dXApPVwiY29tYm9ib3guX3Byb2Nlc3NLZXl1cEV2ZW50KClcIlxuICAgICAgKGNsaWNrKT1cImNvbWJvYm94Lm9wZW4oKVwiXG4gICAgICAoYmx1cik9XCJjb21ib2JveC5faGFuZGxlQmx1ckV2ZW50KClcIlxuICAgICAgKGlucHV0KT1cImNvbWJvYm94Ll9wcm9jZXNzSW5wdXRFdmVudCgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwiZXQtY29tYm9ib3gtd3JhcHBlclwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICB2YWx1ZT1cInt7IGNvbWJvYm94LmN1cnJlbnRGaWx0ZXIgfX1cIlxuICAgICAgZXROYXRpdmVJbnB1dFJlZlxuICAgIC8+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihjb21ib2JveC5tdWx0aXBsZSQgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0VHBsXCIgLz5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGV0LWNoZXZyb24taWNvbiBjbGFzcz1cImV0LWNvbWJvYm94LWNoZXZyb25cIiAvPlxuPC9kaXY+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltldElucHV0U3VmZml4XVwiIC8+XG5cbjxuZy10ZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -55,7 +55,7 @@ export class ComboboxOptionComponent {
55
55
  provide: COMBOBOX_OPTION_TOKEN,
56
56
  useExisting: ComboboxOptionComponent,
57
57
  },
58
- ], ngImport: i0, template: "<ng-container *ngIf=\"combobox.customOptionTpl$ | async as customOptionTpl; else compOrDefaultOptionLabelTpl\">\n <ng-container *ngTemplateOutlet=\"customOptionTpl; context: { option }\" />\n</ng-container>\n\n<ng-template #compOrDefaultOptionLabelTpl>\n <ng-container *ngIf=\"combobox.customOptionComponent$ | async as comp; else defaultOptionLabelTpl\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (customOptionComponentInputs$ | async) ?? { option }\"\n ></ng-container>\n </ng-container>\n <ng-template #defaultOptionLabelTpl>\n {{ combobox.getOptionLabel(option) | async }}\n </ng-template>\n</ng-template>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
58
+ ], ngImport: i0, template: "<ng-container *ngIf=\"combobox.customOptionTpl$ | async as customOptionTpl; else compOrDefaultOptionLabelTpl\">\n <ng-container *ngTemplateOutlet=\"customOptionTpl; context: { option }\" />\n</ng-container>\n\n<ng-template #compOrDefaultOptionLabelTpl>\n <ng-container *ngIf=\"combobox.customOptionComponent$ | async as comp; else defaultOptionLabelTpl\">\n <ng-container *ngComponentOutlet=\"comp; inputs: (customOptionComponentInputs$ | async) ?? { option }\" />\n </ng-container>\n <ng-template #defaultOptionLabelTpl>\n {{ combobox.getOptionLabel(option) | async }}\n </ng-template>\n</ng-template>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
59
59
  }
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComboboxOptionComponent, decorators: [{
61
61
  type: Component,
@@ -71,9 +71,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
71
71
  provide: COMBOBOX_OPTION_TOKEN,
72
72
  useExisting: ComboboxOptionComponent,
73
73
  },
74
- ], template: "<ng-container *ngIf=\"combobox.customOptionTpl$ | async as customOptionTpl; else compOrDefaultOptionLabelTpl\">\n <ng-container *ngTemplateOutlet=\"customOptionTpl; context: { option }\" />\n</ng-container>\n\n<ng-template #compOrDefaultOptionLabelTpl>\n <ng-container *ngIf=\"combobox.customOptionComponent$ | async as comp; else defaultOptionLabelTpl\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (customOptionComponentInputs$ | async) ?? { option }\"\n ></ng-container>\n </ng-container>\n <ng-template #defaultOptionLabelTpl>\n {{ combobox.getOptionLabel(option) | async }}\n </ng-template>\n</ng-template>\n" }]
74
+ ], template: "<ng-container *ngIf=\"combobox.customOptionTpl$ | async as customOptionTpl; else compOrDefaultOptionLabelTpl\">\n <ng-container *ngTemplateOutlet=\"customOptionTpl; context: { option }\" />\n</ng-container>\n\n<ng-template #compOrDefaultOptionLabelTpl>\n <ng-container *ngIf=\"combobox.customOptionComponent$ | async as comp; else defaultOptionLabelTpl\">\n <ng-container *ngComponentOutlet=\"comp; inputs: (customOptionComponentInputs$ | async) ?? { option }\" />\n </ng-container>\n <ng-template #defaultOptionLabelTpl>\n {{ combobox.getOptionLabel(option) | async }}\n </ng-template>\n</ng-template>\n" }]
75
75
  }], propDecorators: { option: [{
76
76
  type: Input,
77
77
  args: [{ required: true }]
78
78
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jb21wb25lbnRzL3NlbGVjdC9jb21wb25lbnRzL2NvbWJvYm94L3BhcnRpYWxzL2NvbWJvYm94LW9wdGlvbi9jb21ib2JveC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L2NvbXBvbmVudHMvY29tYm9ib3gvcGFydGlhbHMvY29tYm9ib3gtb3B0aW9uL2NvbWJvYm94LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEVBQ2QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBMEIsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTFFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUEwQiwwQkFBMEIsQ0FBQyxDQUFD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QUFXLEVBQUUsdUJBQXVCO2FBQ3JDO1NBQ0YsMEJDeENILG1vQkFjQSx1Q0RtQlksU0FBUyw4Q0FBRSxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxpQkFBaUI7OzRGQVNuRCx1QkFBdUI7a0JBdkJuQyxTQUFTOytCQUNFLG9CQUFvQixjQUVsQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLG9CQUFvQjt3QkFDM0IsYUFBYSxFQUFFLGNBQWM7d0JBQzdCLFNBQVMsRUFBRSxnQkFBZ0I7d0JBQzNCLGNBQWMsRUFBRSxvQkFBb0I7d0JBQ3BDLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixJQUFJLEVBQUUsUUFBUTtxQkFDZixXQUNRLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFDL0MsRUFBRSxhQUNQO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcseUJBQXlCO3lCQUNyQztxQkFDRjs4QkFVRyxNQUFNO3NCQURULEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBzaWduYWxIb3N0QXR0cmlidXRlcywgc2lnbmFsSG9zdENsYXNzZXMgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0Q29tYm9ib3hPcHRpb24sIENPTUJPQk9YX1RPS0VOIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbmV4cG9ydCBjb25zdCBDT01CT0JPWF9PUFRJT05fVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tYm9ib3hPcHRpb25Db21wb25lbnQ+KCdFVF9DT01CT0JPWF9PUFRJT05fVE9LRU4nKTtcblxubGV0IF91bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbWJvYm94LW9wdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21ib2JveC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29tYm9ib3gtb3B0aW9uJyxcbiAgICAnKG1vdXNlZG93biknOiAnaWdub3JlQmx1cigpJyxcbiAgICAnKGNsaWNrKSc6ICdzZWxlY3RPcHRpb24oKScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdzZXRBY3RpdmVCeUhvdmVyKCknLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIHJvbGU6ICdvcHRpb24nLFxuICB9LFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NvbXBvbmVudE91dGxldF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ09NQk9CT1hfT1BUSU9OX1RPS0VOLFxuICAgICAgdXNlRXhpc3Rpbmc6IENvbWJvYm94T3B0aW9uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvYm94T3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWJzdHJhY3RDb21ib2JveE9wdGlvbiB7XG4gIHJlYWRvbmx5IGlkID0gYGV0LWNvbWJvYm94LW9wdGlvbi0ke191bmlxdWVJZCsrfWA7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbWJvYm94ID0gaW5qZWN0KENPTUJPQk9YX1RPS0VOKTtcblxuICByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgZ2V0IG9wdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uJC52YWx1ZTtcbiAgfVxuICBzZXQgb3B0aW9uKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fb3B0aW9uJC5uZXh0KHZhbHVlKTtcbiAgfVxuICByZWFkb25seSBfb3B0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5rbm93bj4obnVsbCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkJCA9IHRoaXMuX29wdGlvbiQucGlwZShzd2l0Y2hNYXAoKG9wdCkgPT4gdGhpcy5jb21ib2JveC5pc09wdGlvbkRpc2FibGVkKG9wdCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdGVkJCA9IHRoaXMuX29wdGlvbiQucGlwZShzd2l0Y2hNYXAoKG9wdCkgPT4gdGhpcy5jb21ib2JveC5pc09wdGlvblNlbGVjdGVkKG9wdCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGl2ZSQgPSB0aGlzLl9vcHRpb24kLnBpcGUoc3dpdGNoTWFwKChvcHQpID0+IHRoaXMuY29tYm9ib3guaXNPcHRpb25BY3RpdmUob3B0KSkpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjdXN0b21PcHRpb25Db21wb25lbnRJbnB1dHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fb3B0aW9uJCxcbiAgICB0aGlzLmNvbWJvYm94LmN1c3RvbU9wdGlvbkNvbXBvbmVudElucHV0cyQsXG4gIF0pLnBpcGUobWFwKChbb3B0aW9uLCBpbnB1dHNdKSA9PiAoeyBvcHRpb24sIC4uLmlucHV0cyB9KSkpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1jb21ib2JveC1vcHRpb24tLXNlbGVjdGVkJzogdG9TaWduYWwodGhpcy5zZWxlY3RlZCQpLFxuICAgICdldC1jb21ib2JveC1vcHRpb24tLWRpc2FibGVkJzogdG9TaWduYWwodGhpcy5kaXNhYmxlZCQpLFxuICAgICdldC1jb21ib2JveC1vcHRpb24tLWFjdGl2ZSc6IHRvU2lnbmFsKHRoaXMuYWN0aXZlJCksXG4gIH0pO1xuXG4gIHJlYWRvbmx5IGhvc3RBdHRyaWJ1dGVCaW5kaW5ncyA9IHNpZ25hbEhvc3RBdHRyaWJ1dGVzKHtcbiAgICAnYXJpYS1zZWxlY3RlZCc6IHRvU2lnbmFsKHRoaXMuc2VsZWN0ZWQkKSxcbiAgICAnYXJpYS1kaXNhYmxlZCc6IHRvU2lnbmFsKHRoaXMuZGlzYWJsZWQkKSxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHNlbGVjdE9wdGlvbigpIHtcbiAgICBpZiAodGhpcy5jb21ib2JveC5fc2VsZWN0aW9uTW9kZWwuaXNEaXNhYmxlZCh0aGlzLm9wdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbWJvYm94LndyaXRlVmFsdWVGcm9tT3B0aW9uKHRoaXMub3B0aW9uKTtcbiAgICB0aGlzLmNvbWJvYm94LmZvY3VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaWdub3JlQmx1cigpIHtcbiAgICB0aGlzLmNvbWJvYm94Ll9pZ25vcmVOZXh0Qmx1ckV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0QWN0aXZlQnlIb3ZlcigpIHtcbiAgICB0aGlzLmNvbWJvYm94Ll9hY3RpdmVTZWxlY3Rpb25Nb2RlbC5zZXRBY3RpdmVPcHRpb24odGhpcy5vcHRpb24pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29tYm9ib3guY3VzdG9tT3B0aW9uVHBsJCB8IGFzeW5jIGFzIGN1c3RvbU9wdGlvblRwbDsgZWxzZSBjb21wT3JEZWZhdWx0T3B0aW9uTGFiZWxUcGxcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbU9wdGlvblRwbDsgY29udGV4dDogeyBvcHRpb24gfVwiIC8+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNjb21wT3JEZWZhdWx0T3B0aW9uTGFiZWxUcGw+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21ib2JveC5jdXN0b21PcHRpb25Db21wb25lbnQkIHwgYXN5bmMgYXMgY29tcDsgZWxzZSBkZWZhdWx0T3B0aW9uTGFiZWxUcGxcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJjb21wOyBpbnB1dHM6IChjdXN0b21PcHRpb25Db21wb25lbnRJbnB1dHMkIHwgYXN5bmMpID8/IHsgb3B0aW9uIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvbkxhYmVsVHBsPlxuICAgIHt7IGNvbWJvYm94LmdldE9wdGlvbkxhYmVsKG9wdGlvbikgfCBhc3luYyB9fVxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jb21wb25lbnRzL3NlbGVjdC9jb21wb25lbnRzL2NvbWJvYm94L3BhcnRpYWxzL2NvbWJvYm94LW9wdGlvbi9jb21ib2JveC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L2NvbXBvbmVudHMvY29tYm9ib3gvcGFydGlhbHMvY29tYm9ib3gtb3B0aW9uL2NvbWJvYm94LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEVBQ2QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBMEIsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTFFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUEwQiwwQkFBMEIsQ0FBQyxDQUFD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QUFXLEVBQUUsdUJBQXVCO2FBQ3JDO1NBQ0YsMEJDeENILHltQkFZQSx1Q0RxQlksU0FBUyw4Q0FBRSxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxpQkFBaUI7OzRGQVNuRCx1QkFBdUI7a0JBdkJuQyxTQUFTOytCQUNFLG9CQUFvQixjQUVsQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLG9CQUFvQjt3QkFDM0IsYUFBYSxFQUFFLGNBQWM7d0JBQzdCLFNBQVMsRUFBRSxnQkFBZ0I7d0JBQzNCLGNBQWMsRUFBRSxvQkFBb0I7d0JBQ3BDLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixJQUFJLEVBQUUsUUFBUTtxQkFDZixXQUNRLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFDL0MsRUFBRSxhQUNQO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcseUJBQXlCO3lCQUNyQztxQkFDRjs4QkFVRyxNQUFNO3NCQURULEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBzaWduYWxIb3N0QXR0cmlidXRlcywgc2lnbmFsSG9zdENsYXNzZXMgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0Q29tYm9ib3hPcHRpb24sIENPTUJPQk9YX1RPS0VOIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbmV4cG9ydCBjb25zdCBDT01CT0JPWF9PUFRJT05fVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tYm9ib3hPcHRpb25Db21wb25lbnQ+KCdFVF9DT01CT0JPWF9PUFRJT05fVE9LRU4nKTtcblxubGV0IF91bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbWJvYm94LW9wdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21ib2JveC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29tYm9ib3gtb3B0aW9uJyxcbiAgICAnKG1vdXNlZG93biknOiAnaWdub3JlQmx1cigpJyxcbiAgICAnKGNsaWNrKSc6ICdzZWxlY3RPcHRpb24oKScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdzZXRBY3RpdmVCeUhvdmVyKCknLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIHJvbGU6ICdvcHRpb24nLFxuICB9LFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NvbXBvbmVudE91dGxldF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ09NQk9CT1hfT1BUSU9OX1RPS0VOLFxuICAgICAgdXNlRXhpc3Rpbmc6IENvbWJvYm94T3B0aW9uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvYm94T3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWJzdHJhY3RDb21ib2JveE9wdGlvbiB7XG4gIHJlYWRvbmx5IGlkID0gYGV0LWNvbWJvYm94LW9wdGlvbi0ke191bmlxdWVJZCsrfWA7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbWJvYm94ID0gaW5qZWN0KENPTUJPQk9YX1RPS0VOKTtcblxuICByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgZ2V0IG9wdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uJC52YWx1ZTtcbiAgfVxuICBzZXQgb3B0aW9uKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fb3B0aW9uJC5uZXh0KHZhbHVlKTtcbiAgfVxuICByZWFkb25seSBfb3B0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5rbm93bj4obnVsbCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkJCA9IHRoaXMuX29wdGlvbiQucGlwZShzd2l0Y2hNYXAoKG9wdCkgPT4gdGhpcy5jb21ib2JveC5pc09wdGlvbkRpc2FibGVkKG9wdCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdGVkJCA9IHRoaXMuX29wdGlvbiQucGlwZShzd2l0Y2hNYXAoKG9wdCkgPT4gdGhpcy5jb21ib2JveC5pc09wdGlvblNlbGVjdGVkKG9wdCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGl2ZSQgPSB0aGlzLl9vcHRpb24kLnBpcGUoc3dpdGNoTWFwKChvcHQpID0+IHRoaXMuY29tYm9ib3guaXNPcHRpb25BY3RpdmUob3B0KSkpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjdXN0b21PcHRpb25Db21wb25lbnRJbnB1dHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fb3B0aW9uJCxcbiAgICB0aGlzLmNvbWJvYm94LmN1c3RvbU9wdGlvbkNvbXBvbmVudElucHV0cyQsXG4gIF0pLnBpcGUobWFwKChbb3B0aW9uLCBpbnB1dHNdKSA9PiAoeyBvcHRpb24sIC4uLmlucHV0cyB9KSkpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1jb21ib2JveC1vcHRpb24tLXNlbGVjdGVkJzogdG9TaWduYWwodGhpcy5zZWxlY3RlZCQpLFxuICAgICdldC1jb21ib2JveC1vcHRpb24tLWRpc2FibGVkJzogdG9TaWduYWwodGhpcy5kaXNhYmxlZCQpLFxuICAgICdldC1jb21ib2JveC1vcHRpb24tLWFjdGl2ZSc6IHRvU2lnbmFsKHRoaXMuYWN0aXZlJCksXG4gIH0pO1xuXG4gIHJlYWRvbmx5IGhvc3RBdHRyaWJ1dGVCaW5kaW5ncyA9IHNpZ25hbEhvc3RBdHRyaWJ1dGVzKHtcbiAgICAnYXJpYS1zZWxlY3RlZCc6IHRvU2lnbmFsKHRoaXMuc2VsZWN0ZWQkKSxcbiAgICAnYXJpYS1kaXNhYmxlZCc6IHRvU2lnbmFsKHRoaXMuZGlzYWJsZWQkKSxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHNlbGVjdE9wdGlvbigpIHtcbiAgICBpZiAodGhpcy5jb21ib2JveC5fc2VsZWN0aW9uTW9kZWwuaXNEaXNhYmxlZCh0aGlzLm9wdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbWJvYm94LndyaXRlVmFsdWVGcm9tT3B0aW9uKHRoaXMub3B0aW9uKTtcbiAgICB0aGlzLmNvbWJvYm94LmZvY3VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaWdub3JlQmx1cigpIHtcbiAgICB0aGlzLmNvbWJvYm94Ll9pZ25vcmVOZXh0Qmx1ckV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0QWN0aXZlQnlIb3ZlcigpIHtcbiAgICB0aGlzLmNvbWJvYm94Ll9hY3RpdmVTZWxlY3Rpb25Nb2RlbC5zZXRBY3RpdmVPcHRpb24odGhpcy5vcHRpb24pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29tYm9ib3guY3VzdG9tT3B0aW9uVHBsJCB8IGFzeW5jIGFzIGN1c3RvbU9wdGlvblRwbDsgZWxzZSBjb21wT3JEZWZhdWx0T3B0aW9uTGFiZWxUcGxcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbU9wdGlvblRwbDsgY29udGV4dDogeyBvcHRpb24gfVwiIC8+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNjb21wT3JEZWZhdWx0T3B0aW9uTGFiZWxUcGw+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21ib2JveC5jdXN0b21PcHRpb25Db21wb25lbnQkIHwgYXN5bmMgYXMgY29tcDsgZWxzZSBkZWZhdWx0T3B0aW9uTGFiZWxUcGxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXA7IGlucHV0czogKGN1c3RvbU9wdGlvbkNvbXBvbmVudElucHV0cyQgfCBhc3luYykgPz8geyBvcHRpb24gfVwiIC8+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRPcHRpb25MYWJlbFRwbD5cbiAgICB7eyBjb21ib2JveC5nZXRPcHRpb25MYWJlbChvcHRpb24pIHwgYXN5bmMgfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -112,6 +112,12 @@ export class InputDirective {
112
112
  get errorId() {
113
113
  return this._formFieldStateService.errorId();
114
114
  }
115
+ get isNeverEmptyInput$() {
116
+ return this._inputStateService.isNeverEmptyInput$.asObservable();
117
+ }
118
+ get isNeverEmptyInput() {
119
+ return this._inputStateService.isNeverEmptyInput();
120
+ }
115
121
  constructor() {
116
122
  this._injector = inject(Injector);
117
123
  this._inputStateService = inject(InputStateService);
@@ -121,6 +127,7 @@ export class InputDirective {
121
127
  this._autofillMonitor = inject(AutofillMonitor);
122
128
  this._focusMonitor = inject(FocusMonitor);
123
129
  this._elementRef = inject(ElementRef);
130
+ this._neverEmptyInputs = ['date', 'datetime', 'datetime-local', 'month', 'time', 'week'];
124
131
  this._id = `et-input-${++nextUniqueId}`;
125
132
  this.autocomplete = null;
126
133
  this.placeholder = null;
@@ -178,6 +185,19 @@ export class InputDirective {
178
185
  this._inputStateService.isFocusedVia$.next(origin);
179
186
  }), takeUntil(this._destroy$))
180
187
  .subscribe();
188
+ this.nativeInputRef$
189
+ .pipe(tap((nativeInput) => {
190
+ const type = nativeInput?.element.nativeElement.getAttribute('type');
191
+ if (!type)
192
+ return;
193
+ if (this._neverEmptyInputs.indexOf(type) > -1) {
194
+ this._inputStateService.isNeverEmptyInput$.next(true);
195
+ }
196
+ else {
197
+ this._inputStateService.isNeverEmptyInput$.next(false);
198
+ }
199
+ }), takeUntil(this._destroy$))
200
+ .subscribe();
181
201
  }
182
202
  ngOnDestroy() {
183
203
  if (this.nativeInputRef) {
@@ -274,4 +294,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
274
294
  }], placeholder: [{
275
295
  type: Input
276
296
  }] } });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWMsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHL0QsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQiwwQkFBMEIsQ0FBQyxDQUFDO0FBRTFGLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQVlyQixNQUFNLE9BQU8sY0FBYztJQWlCekIsSUFBWSxPQUFPO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVB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QUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7K0dBL1ZVLGNBQWM7bUdBQWQsY0FBYyxpTkFGZCxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUM7OzRGQUV2RCxjQUFjO2tCQVYxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsVUFBVTt3QkFDakIscUJBQXFCLEVBQUUsTUFBTTtxQkFDOUI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDbkU7MEVBcUNDLFlBQVk7c0JBRFgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQXV0b2ZpbGxNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgTmdDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY3JlYXRlRGVzdHJveSwgZXF1YWwgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGgsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRTdGF0ZVNlcnZpY2UsIElucHV0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgRVhQT1NFX0lOUFVUX1ZBUlNfVE9LRU4gfSBmcm9tICcuLi9leHBvc2UtaW5wdXQtdmFycyc7XG5pbXBvcnQgeyBOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZSB9IGZyb20gJy4uL25hdGl2ZS1pbnB1dC1yZWYnO1xuXG5leHBvcnQgY29uc3QgSU5QVVRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SW5wdXREaXJlY3RpdmU+KCdFVF9JTlBVVF9ESVJFQ1RJVkVfVE9LRU4nKTtcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldElucHV0XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnZXRJbnB1dCcsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWlucHV0JyxcbiAgICAnW2F0dHIuYXV0b2NvbXBsZXRlXSc6ICdudWxsJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBJTlBVVF9UT0tFTiwgdXNlRXhpc3Rpbmc6IElucHV0RGlyZWN0aXZlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dERpcmVjdGl2ZTxcbiAgICBUID0gdW5rbm93bixcbiAgICBKIGV4dGVuZHMgSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCA9IEhUTUxJbnB1dEVsZW1lbnQsXG4gID5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0U3RhdGVTZXJ2aWNlID0gaW5qZWN0PElucHV0U3RhdGVTZXJ2aWNlPFQsIEo+PihJbnB1dFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1GaWVsZFN0YXRlU2VydmljZSA9IGluamVjdChGb3JtRmllbGRTdGF0ZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0b2ZpbGxNb25pdG9yID0gaW5qZWN0KEF1dG9maWxsTW9uaXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIF9pbXBsaWNpdENvbnRyb2w/OiBGb3JtQ29udHJvbDx1bmtub3duPjtcblxuICBwcml2YXRlIGdldCBjb250cm9sKCkge1xuICAgIGlmICghdGhpcy5fbmdDb250cm9sKSB7XG4gICAgICBpZiAoIXRoaXMuX2ltcGxpY2l0Q29udHJvbCkge1xuICAgICAgICB0aGlzLl9pbXBsaWNpdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuX2ltcGxpY2l0Q29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX25nQ29udHJvbC5jb250cm9sKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05nQ29udHJvbC5jb250cm9sIGNhbiBvbmx5IGJlIGFjY2Vzc2VkIGFmdGVyIGNvbnN0cnVjdGlvbiBwaGFzZScpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wuY29udHJvbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lkID0gYGV0LWlucHV0LSR7KytuZXh0VW5pcXVlSWR9YDtcblxuICBASW5wdXQoKVxuICBhdXRvY29tcGxldGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgZ2V0IHZhbHVlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGxhc3RVcGRhdGVUeXBlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UubGFzdFVwZGF0ZVR5cGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGxhc3RVcGRhdGVUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5sYXN0VXBkYXRlVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHZhbHVlQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWVDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZCgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWRDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5yZXF1aXJlZCgpO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWRDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGxhYmVsSWQkKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UubGFiZWxJZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbGFiZWxJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmxhYmVsSWQoKTtcbiAgfVxuXG4gIGdldCBpbnZhbGlkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRyb2wuc3RhdHVzKSxcbiAgICAgIG1hcCgocykgPT4gcyA9PT0gJ0lOVkFMSUQnKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGludmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5pbnZhbGlkO1xuICB9XG5cbiAgZ2V0IHVzZXNJbXBsaWNpdENvbnRyb2wkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS51c2VzSW1wbGljaXRDb250cm9sJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB1c2VzSW1wbGljaXRDb250cm9sKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS51c2VzSW1wbGljaXRDb250cm9sKCk7XG4gIH1cblxuICBnZXQgbmF0aXZlSW5wdXRSZWYkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5uYXRpdmVJbnB1dFJlZiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbmF0aXZlSW5wdXRSZWYoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm5hdGl2ZUlucHV0UmVmKCk7XG4gIH1cblxuICBnZXQgYXV0b2ZpbGxlZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmF1dG9maWxsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1dG9maWxsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmF1dG9maWxsZWQoKTtcbiAgfVxuXG4gIGdldCBlcnJvcnMkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5lcnJvcnMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZXJyb3JzKCk7XG4gIH1cblxuICBnZXQgc2hvdWxkRGlzcGxheUVycm9yJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzaG91bGREaXNwbGF5RXJyb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnNob3VsZERpc3BsYXlFcnJvcigpO1xuICB9XG5cbiAgZ2V0IGlzRm9jdXNlZFZpYSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmlzRm9jdXNlZFZpYSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNGb2N1c2VkVmlhKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc0ZvY3VzZWRWaWEoKTtcbiAgfVxuXG4gIGdldCBlcnJvcklkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmVycm9ySWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGVycm9ySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5lcnJvcklkKCk7XG4gIH1cblxuICByZWFkb25seSBkZXNjcmliZWRCeSQgPSB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuZGVzY3JpYmVkQnkkO1xuICByZWFkb25seSBvbkludGVybmFsVXBkYXRlJCA9IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm9uSW50ZXJuYWxVcGRhdGUkO1xuICByZWFkb25seSBvbkV4dGVybmFsVXBkYXRlJCA9IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm9uRXh0ZXJuYWxVcGRhdGUkO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnVzZXNJbXBsaWNpdENvbnRyb2wkLm5leHQoIXRoaXMuX25nQ29udHJvbCk7XG5cbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgIGNvbnN0IGV4cG9zZUlucHV0VmFyc0RpcmVjdGl2ZSA9IHRoaXMuX2luamVjdG9yLmdldChFWFBPU0VfSU5QVVRfVkFSU19UT0tFTiwgbnVsbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgICAgaWYgKGV4cG9zZUlucHV0VmFyc0RpcmVjdGl2ZSkge1xuICAgICAgICBleHBvc2VJbnB1dFZhcnNEaXJlY3RpdmUuX21vbml0b3JJbnB1dCh0aGlzIGFzIHVua25vd24gYXMgSW5wdXREaXJlY3RpdmUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbFN0YXRlQ2hhbmdlcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY29udHJvbC5zdGF0dXMpKSxcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5jb250cm9sLnZhbHVlKSksXG4gICAgXSkucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgIG1hcCgoW3N0YXR1cywgdmFsdWVdKSA9PiAoeyBzdGF0dXMsIHZhbHVlIH0pKSxcbiAgICApO1xuXG4gICAgY29udHJvbFN0YXRlQ2hhbmdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5jb250cm9sLmVycm9ycyksXG4gICAgICAgIGZpbHRlcigoZXJyb3JzKSA9PiAhZXF1YWwoZXJyb3JzLCB0aGlzLmVycm9ycykpLFxuICAgICAgICB0YXAoKGVycm9ycykgPT4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZXJyb3JzJC5uZXh0KGVycm9ycykpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgY29udHJvbFN0YXRlQ2hhbmdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fZGV0ZWN0Q29udHJvbFJlcXVpcmVkVmFsaWRhdGlvbkNoYW5nZXMoKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9kZXRlY3RDb250cm9sRGlzYWJsZWRDaGFuZ2VzKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgPy5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICB0YXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmxhc3RVcGRhdGVUeXBlKCkgPT09ICdpbnRlcm5hbCcpIHtcbiAgICAgICAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmxhc3RVcGRhdGVUeXBlJC5uZXh0KG51bGwpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmxhc3RVcGRhdGVUeXBlJC5uZXh0KCdleHRlcm5hbCcpO1xuXG4gICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMubmF0aXZlSW5wdXRSZWYkXG4gICAgICAucGlwZShcbiAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgdGFwKChbcHJldmlvdXNOYXRpdmVJbnB1dFJlZiwgY3VycmVudE5hdGl2ZUlucHV0UmVmXSkgPT4ge1xuICAgICAgICAgIGlmIChwcmV2aW91c05hdGl2ZUlucHV0UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9hdXRvZmlsbE1vbml0b3Iuc3RvcE1vbml0b3JpbmcocHJldmlvdXNOYXRpdmVJbnB1dFJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjdXJyZW50TmF0aXZlSW5wdXRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX2F1dG9maWxsTW9uaXRvclxuICAgICAgICAgICAgICAubW9uaXRvcihjdXJyZW50TmF0aXZlSW5wdXRSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5fc2V0QXV0b2ZpbGxlZChldmVudC5pc0F1dG9maWxsZWQpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXV0b2ZpbGxlZChmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2ZvY3VzTW9uaXRvclxuICAgICAgLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwgdHJ1ZSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKG9yaWdpbikgPT4ge1xuICAgICAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmlzRm9jdXNlZFZpYSQubmV4dChvcmlnaW4pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hdGl2ZUlucHV0UmVmKSB7XG4gICAgICB0aGlzLl9hdXRvZmlsbE1vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5uYXRpdmVJbnB1dFJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzSW5wdXRWaWEob3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJykge1xuICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLm5hdGl2ZUlucHV0UmVmPy5lbGVtZW50Py5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKGlucHV0RWwpIHtcbiAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYShpbnB1dEVsLCBvcmlnaW4pO1xuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVWYWx1ZSh2YWx1ZTogVCwgb3B0aW9uczogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0gPSB7fSkge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy52YWx1ZSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBlbWl0RXZlbnQgPSB0cnVlIH0gPSBvcHRpb25zO1xuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWUkLm5leHQodmFsdWUpO1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmxhc3RVcGRhdGVUeXBlJC5uZXh0KCdpbnRlcm5hbCcpO1xuXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLl92YWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGVtaXRFdmVudCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWVDaGFuZ2UkLm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZENoYW5nZSQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBfbWFya0FzVG91Y2hlZCgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLl90b3VjaGVkKCk7XG4gIH1cblxuICBfc2V0TmF0aXZlSW5wdXRSZWYocmVmOiBOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZTxKPiB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5uYXRpdmVJbnB1dFJlZiA9PT0gcmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UubmF0aXZlSW5wdXRSZWYkLm5leHQocmVmKTtcbiAgfVxuXG4gIF9zZXRBdXRvZmlsbGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYXV0b2ZpbGxlZCA9PT0gdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5hdXRvZmlsbGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9zZXRTaG91bGREaXNwbGF5RXJyb3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zaG91bGREaXNwbGF5RXJyb3IgPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9zZXRFbXB0eUhlbHBlcih2YWx1ZTogdW5rbm93biB8IE9ic2VydmFibGU8dW5rbm93bj4pIHtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc0VtcHR5SGVscGVyJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdENvbnRyb2xSZXF1aXJlZFZhbGlkYXRpb25DaGFuZ2VzKCkge1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkID0gdGhpcy5jb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/PyBmYWxzZTtcbiAgICBjb25zdCBoYXNSZXF1aXJlZFRydWUgPSB0aGlzLmNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKSA/PyBmYWxzZTtcblxuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBoYXNSZXF1aXJlZCB8fCBoYXNSZXF1aXJlZFRydWU7XG5cbiAgICBpZiAoaXNSZXF1aXJlZCAhPT0gdGhpcy5yZXF1aXJlZCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWQkLm5leHQoaXNSZXF1aXJlZCk7XG4gICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5yZXF1aXJlZENoYW5nZSQubmV4dChpc1JlcXVpcmVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RDb250cm9sRGlzYWJsZWRDaGFuZ2VzKCkge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSB0aGlzLmNvbnRyb2wuZGlzYWJsZWQ7XG5cbiAgICBpZiAoaXNEaXNhYmxlZCAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQkLm5leHQoaXNEaXNhYmxlZCk7XG4gICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZENoYW5nZSQubmV4dChpc0Rpc2FibGVkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWMsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHL0QsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQiwwQkFBMEIsQ0FBQyxDQUFDO0FBRTFGLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQVlyQixNQUFNLE9BQU8sY0FBYztJQW1CekIsSUFBWSxPQUFPO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVB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QUFjLEVBQUUsQ0FBQzs7NEZBRXZELGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsU0FBUztvQkFDbkIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxVQUFVO3dCQUNqQixxQkFBcUIsRUFBRSxNQUFNO3FCQUM5QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUNuRTswRUF1Q0MsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBBdXRvZmlsbE1vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjcmVhdGVEZXN0cm95LCBlcXVhbCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgcGFpcndpc2UsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1GaWVsZFN0YXRlU2VydmljZSwgSW5wdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBFWFBPU0VfSU5QVVRfVkFSU19UT0tFTiB9IGZyb20gJy4uL2V4cG9zZS1pbnB1dC12YXJzJztcbmltcG9ydCB7IE5hdGl2ZUlucHV0UmVmRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmF0aXZlLWlucHV0LXJlZic7XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJbnB1dERpcmVjdGl2ZT4oJ0VUX0lOUFVUX0RJUkVDVElWRV9UT0tFTicpO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2V0SW5wdXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldElucHV0JyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtaW5wdXQnLFxuICAgICdbYXR0ci5hdXRvY29tcGxldGVdJzogJ251bGwnLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IElOUFVUX1RPS0VOLCB1c2VFeGlzdGluZzogSW5wdXREaXJlY3RpdmUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RGlyZWN0aXZlPFxuICAgIFQgPSB1bmtub3duLFxuICAgIEogZXh0ZW5kcyBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50ID0gSFRNTElucHV0RWxlbWVudCxcbiAgPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRTdGF0ZVNlcnZpY2UgPSBpbmplY3Q8SW5wdXRTdGF0ZVNlcnZpY2U8VCwgSj4+KElucHV0U3RhdGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRvZmlsbE1vbml0b3IgPSBpbmplY3QoQXV0b2ZpbGxNb25pdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIHByb3RlY3RlZCBfbmV2ZXJFbXB0eUlucHV0cyA9IFsnZGF0ZScsICdkYXRldGltZScsICdkYXRldGltZS1sb2NhbCcsICdtb250aCcsICd0aW1lJywgJ3dlZWsnXTtcblxuICBwcml2YXRlIF9pbXBsaWNpdENvbnRyb2w/OiBGb3JtQ29udHJvbDx1bmtub3duPjtcblxuICBwcml2YXRlIGdldCBjb250cm9sKCkge1xuICAgIGlmICghdGhpcy5fbmdDb250cm9sKSB7XG4gICAgICBpZiAoIXRoaXMuX2ltcGxpY2l0Q29udHJvbCkge1xuICAgICAgICB0aGlzLl9pbXBsaWNpdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuX2ltcGxpY2l0Q29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX25nQ29udHJvbC5jb250cm9sKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05nQ29udHJvbC5jb250cm9sIGNhbiBvbmx5IGJlIGFjY2Vzc2VkIGFmdGVyIGNvbnN0cnVjdGlvbiBwaGFzZScpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wuY29udHJvbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lkID0gYGV0LWlucHV0LSR7KytuZXh0VW5pcXVlSWR9YDtcblxuICBASW5wdXQoKVxuICBhdXRvY29tcGxldGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgZ2V0IHZhbHVlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGxhc3RVcGRhdGVUeXBlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UubGFzdFVwZGF0ZVR5cGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGxhc3RVcGRhdGVUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5sYXN0VXBkYXRlVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHZhbHVlQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWVDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZCgpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWRDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5yZXF1aXJlZCgpO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkQ2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWRDaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGxhYmVsSWQkKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UubGFiZWxJZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbGFiZWxJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmxhYmVsSWQoKTtcbiAgfVxuXG4gIGdldCBpbnZhbGlkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRyb2wuc3RhdHVzKSxcbiAgICAgIG1hcCgocykgPT4gcyA9PT0gJ0lOVkFMSUQnKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGludmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5pbnZhbGlkO1xuICB9XG5cbiAgZ2V0IHVzZXNJbXBsaWNpdENvbnRyb2wkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS51c2VzSW1wbGljaXRDb250cm9sJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB1c2VzSW1wbGljaXRDb250cm9sKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS51c2VzSW1wbGljaXRDb250cm9sKCk7XG4gIH1cblxuICBnZXQgbmF0aXZlSW5wdXRSZWYkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5uYXRpdmVJbnB1dFJlZiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbmF0aXZlSW5wdXRSZWYoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm5hdGl2ZUlucHV0UmVmKCk7XG4gIH1cblxuICBnZXQgYXV0b2ZpbGxlZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmF1dG9maWxsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1dG9maWxsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmF1dG9maWxsZWQoKTtcbiAgfVxuXG4gIGdldCBlcnJvcnMkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5lcnJvcnMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZXJyb3JzKCk7XG4gIH1cblxuICBnZXQgc2hvdWxkRGlzcGxheUVycm9yJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzaG91bGREaXNwbGF5RXJyb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnNob3VsZERpc3BsYXlFcnJvcigpO1xuICB9XG5cbiAgZ2V0IGlzRm9jdXNlZFZpYSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmlzRm9jdXNlZFZpYSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNGb2N1c2VkVmlhKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc0ZvY3VzZWRWaWEoKTtcbiAgfVxuXG4gIGdldCBlcnJvcklkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmVycm9ySWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGVycm9ySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5lcnJvcklkKCk7XG4gIH1cblxuICBnZXQgaXNOZXZlckVtcHR5SW5wdXQkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc05ldmVyRW1wdHlJbnB1dCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNOZXZlckVtcHR5SW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmlzTmV2ZXJFbXB0eUlucHV0KCk7XG4gIH1cblxuICByZWFkb25seSBkZXNjcmliZWRCeSQgPSB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuZGVzY3JpYmVkQnkkO1xuICByZWFkb25seSBvbkludGVybmFsVXBkYXRlJCA9IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm9uSW50ZXJuYWxVcGRhdGUkO1xuICByZWFkb25seSBvbkV4dGVybmFsVXBkYXRlJCA9IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLm9uRXh0ZXJuYWxVcGRhdGUkO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnVzZXNJbXBsaWNpdENvbnRyb2wkLm5leHQoIXRoaXMuX25nQ29udHJvbCk7XG5cbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgIGNvbnN0IGV4cG9zZUlucHV0VmFyc0RpcmVjdGl2ZSA9IHRoaXMuX2luamVjdG9yLmdldChFWFBPU0VfSU5QVVRfVkFSU19UT0tFTiwgbnVsbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgICAgaWYgKGV4cG9zZUlucHV0VmFyc0RpcmVjdGl2ZSkge1xuICAgICAgICBleHBvc2VJbnB1dFZhcnNEaXJlY3RpdmUuX21vbml0b3JJbnB1dCh0aGlzIGFzIHVua25vd24gYXMgSW5wdXREaXJlY3RpdmUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbFN0YXRlQ2hhbmdlcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY29udHJvbC5zdGF0dXMpKSxcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5jb250cm9sLnZhbHVlKSksXG4gICAgXSkucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgIG1hcCgoW3N0YXR1cywgdmFsdWVdKSA9PiAoeyBzdGF0dXMsIHZhbHVlIH0pKSxcbiAgICApO1xuXG4gICAgY29udHJvbFN0YXRlQ2hhbmdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5jb250cm9sLmVycm9ycyksXG4gICAgICAgIGZpbHRlcigoZXJyb3JzKSA9PiAhZXF1YWwoZXJyb3JzLCB0aGlzLmVycm9ycykpLFxuICAgICAgICB0YXAoKGVycm9ycykgPT4gdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZXJyb3JzJC5uZXh0KGVycm9ycykpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgY29udHJvbFN0YXRlQ2hhbmdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fZGV0ZWN0Q29udHJvbFJlcXVpcmVkVmFsaWRhdGlvbkNoYW5nZXMoKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9kZXRlY3RDb250cm9sRGlzYWJsZWRDaGFuZ2VzKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgPy5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICB0YXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmxhc3RVcGRhdGVUeXBlKCkgPT09ICdpbnRlcm5hbCcpIHtcbiAgICAgICAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmxhc3RVcGRhdGVUeXBlJC5uZXh0KG51bGwpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmxhc3RVcGRhdGVUeXBlJC5uZXh0KCdleHRlcm5hbCcpO1xuXG4gICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMubmF0aXZlSW5wdXRSZWYkXG4gICAgICAucGlwZShcbiAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgdGFwKChbcHJldmlvdXNOYXRpdmVJbnB1dFJlZiwgY3VycmVudE5hdGl2ZUlucHV0UmVmXSkgPT4ge1xuICAgICAgICAgIGlmIChwcmV2aW91c05hdGl2ZUlucHV0UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9hdXRvZmlsbE1vbml0b3Iuc3RvcE1vbml0b3JpbmcocHJldmlvdXNOYXRpdmVJbnB1dFJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjdXJyZW50TmF0aXZlSW5wdXRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX2F1dG9maWxsTW9uaXRvclxuICAgICAgICAgICAgICAubW9uaXRvcihjdXJyZW50TmF0aXZlSW5wdXRSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5fc2V0QXV0b2ZpbGxlZChldmVudC5pc0F1dG9maWxsZWQpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXV0b2ZpbGxlZChmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2ZvY3VzTW9uaXRvclxuICAgICAgLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwgdHJ1ZSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKG9yaWdpbikgPT4ge1xuICAgICAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmlzRm9jdXNlZFZpYSQubmV4dChvcmlnaW4pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMubmF0aXZlSW5wdXRSZWYkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChuYXRpdmVJbnB1dCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHR5cGUgPSBuYXRpdmVJbnB1dD8uZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgndHlwZScpO1xuXG4gICAgICAgICAgaWYgKCF0eXBlKSByZXR1cm47XG5cbiAgICAgICAgICBpZiAodGhpcy5fbmV2ZXJFbXB0eUlucHV0cy5pbmRleE9mKHR5cGUpID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmlzTmV2ZXJFbXB0eUlucHV0JC5uZXh0KHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc05ldmVyRW1wdHlJbnB1dCQubmV4dChmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hdGl2ZUlucHV0UmVmKSB7XG4gICAgICB0aGlzLl9hdXRvZmlsbE1vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5uYXRpdmVJbnB1dFJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzSW5wdXRWaWEob3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJykge1xuICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLm5hdGl2ZUlucHV0UmVmPy5lbGVtZW50Py5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKGlucHV0RWwpIHtcbiAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYShpbnB1dEVsLCBvcmlnaW4pO1xuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVWYWx1ZSh2YWx1ZTogVCwgb3B0aW9uczogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0gPSB7fSkge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy52YWx1ZSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBlbWl0RXZlbnQgPSB0cnVlIH0gPSBvcHRpb25zO1xuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWUkLm5leHQodmFsdWUpO1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmxhc3RVcGRhdGVUeXBlJC5uZXh0KCdpbnRlcm5hbCcpO1xuXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLl92YWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGVtaXRFdmVudCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWVDaGFuZ2UkLm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkJC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZENoYW5nZSQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBfbWFya0FzVG91Y2hlZCgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLl90b3VjaGVkKCk7XG4gIH1cblxuICBfc2V0TmF0aXZlSW5wdXRSZWYocmVmOiBOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZTxKPiB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5uYXRpdmVJbnB1dFJlZiA9PT0gcmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UubmF0aXZlSW5wdXRSZWYkLm5leHQocmVmKTtcbiAgfVxuXG4gIF9zZXRBdXRvZmlsbGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYXV0b2ZpbGxlZCA9PT0gdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5hdXRvZmlsbGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9zZXRTaG91bGREaXNwbGF5RXJyb3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zaG91bGREaXNwbGF5RXJyb3IgPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9zZXRFbXB0eUhlbHBlcih2YWx1ZTogdW5rbm93biB8IE9ic2VydmFibGU8dW5rbm93bj4pIHtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc0VtcHR5SGVscGVyJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdENvbnRyb2xSZXF1aXJlZFZhbGlkYXRpb25DaGFuZ2VzKCkge1xuICAgIGNvbnN0IGhhc1JlcXVpcmVkID0gdGhpcy5jb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/PyBmYWxzZTtcbiAgICBjb25zdCBoYXNSZXF1aXJlZFRydWUgPSB0aGlzLmNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKSA/PyBmYWxzZTtcblxuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBoYXNSZXF1aXJlZCB8fCBoYXNSZXF1aXJlZFRydWU7XG5cbiAgICBpZiAoaXNSZXF1aXJlZCAhPT0gdGhpcy5yZXF1aXJlZCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWQkLm5leHQoaXNSZXF1aXJlZCk7XG4gICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5yZXF1aXJlZENoYW5nZSQubmV4dChpc1JlcXVpcmVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RDb250cm9sRGlzYWJsZWRDaGFuZ2VzKCkge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSB0aGlzLmNvbnRyb2wuZGlzYWJsZWQ7XG5cbiAgICBpZiAoaXNEaXNhYmxlZCAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQkLm5leHQoaXNEaXNhYmxlZCk7XG4gICAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZENoYW5nZSQubmV4dChpc0Rpc2FibGVkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -20,6 +20,7 @@ export class WriteableInputDirective {
20
20
  'et-empty': this._inputStateService.valueIsEmpty,
21
21
  'et-should-display-error': this._inputStateService.shouldDisplayError,
22
22
  'et-autofilled': this._inputStateService.autofilled,
23
+ 'et-native-input-is-never-empty': this._inputStateService.isNeverEmptyInput,
23
24
  });
24
25
  }
25
26
  writeValue(value) {
@@ -53,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
53
54
  ],
54
55
  }]
55
56
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVhYmxlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL3dyaXRlYWJsZS1pbnB1dC93cml0ZWFibGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHbkQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTBCLG9DQUFvQyxDQUFDLENBQUM7QUFFdkgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7SUFDNUMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVlGLE1BQU0sT0FBTyx1QkFBdUI7SUFWcEM7UUFXVyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvQyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztZQUM3QyxhQUFhLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVE7WUFDL0MsYUFBYSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRO1lBQy9DLG9CQUFvQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhO1lBQzNELG1CQUFtQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZO1lBQ3pELFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWTtZQUNoRCx5QkFBeUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCO1lBQ3JFLGVBQWUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVTtTQUNwRCxDQUFDLENBQUM7S0FpQko7SUFmQyxVQUFVLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBc0I7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWtCO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDOytHQTNCVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixpQ0FQdkI7WUFDVCw4QkFBOEI7WUFFOUIsaUJBQWlCO1lBQ2pCLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUN6RTs7NEZBRVUsdUJBQXVCO2tCQVZuQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixTQUFTLEVBQUU7d0JBQ1QsOEJBQThCO3dCQUU5QixpQkFBaUI7d0JBQ2pCLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQ3pFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBzaWduYWxIb3N0Q2xhc3NlcyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJbnB1dFRvdWNoZWRGbiwgSW5wdXRWYWx1ZUNoYW5nZUZuIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgV1JJVEVBQkxFX0lOUFVUX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlPignRVRfV1JJVEVBQkxFX0lOUFVUX0RJUkVDVElWRV9UT0tFTicpO1xuXG5leHBvcnQgY29uc3QgV1JJVEVBQkxFX0lOUFVUX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV3JpdGVhYmxlSW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2V0V3JpdGVhYmxlSW5wdXQnLFxuICBwcm92aWRlcnM6IFtcbiAgICBXUklURUFCTEVfSU5QVVRfVkFMVUVfQUNDRVNTT1IsXG5cbiAgICBJbnB1dFN0YXRlU2VydmljZSxcbiAgICB7IHByb3ZpZGU6IFdSSVRFQUJMRV9JTlBVVF9UT0tFTiwgdXNlRXhpc3Rpbmc6IFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlYWJsZUlucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICByZWFkb25seSBfaW5wdXRTdGF0ZVNlcnZpY2UgPSBpbmplY3QoSW5wdXRTdGF0ZVNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1yZXF1aXJlZCc6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnJlcXVpcmVkLFxuICAgICdldC1kaXNhYmxlZCc6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLmRpc2FibGVkLFxuICAgICdldC12YWx1ZS1pcy10cnV0aHknOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZUlzVHJ1dGh5LFxuICAgICdldC12YWx1ZS1pcy1mYWxzeSc6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlSXNGYWxzeSxcbiAgICAnZXQtZW1wdHknOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS52YWx1ZUlzRW1wdHksXG4gICAgJ2V0LXNob3VsZC1kaXNwbGF5LWVycm9yJzogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9yLFxuICAgICdldC1hdXRvZmlsbGVkJzogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuYXV0b2ZpbGxlZCxcbiAgfSk7XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IElucHV0VmFsdWVDaGFuZ2VGbikge1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLl92YWx1ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IElucHV0VG91Y2hlZEZuKSB7XG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuX3RvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZCQubmV4dChpc0Rpc2FibGVkKTtcbiAgfVxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVhYmxlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL3dyaXRlYWJsZS1pbnB1dC93cml0ZWFibGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHbkQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQTBCLG9DQUFvQyxDQUFDLENBQUM7QUFFdkgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7SUFDNUMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVlGLE1BQU0sT0FBTyx1QkFBdUI7SUFWcEM7UUFXVyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvQyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztZQUM3QyxhQUFhLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVE7WUFDL0MsYUFBYSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRO1lBQy9DLG9CQUFvQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhO1lBQzNELG1CQUFtQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZO1lBQ3pELFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWTtZQUNoRCx5QkFBeUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCO1lBQ3JFLGVBQWUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVTtZQUNuRCxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCO1NBQzVFLENBQUMsQ0FBQztLQWlCSjtJQWZDLFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFzQjtRQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBa0I7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBNUJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLGlDQVB2QjtZQUNULDhCQUE4QjtZQUU5QixpQkFBaUI7WUFDakIsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQ3pFOzs0RkFFVSx1QkFBdUI7a0JBVm5DLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFNBQVMsRUFBRTt3QkFDVCw4QkFBOEI7d0JBRTlCLGlCQUFpQjt3QkFDakIsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDekU7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHNpZ25hbEhvc3RDbGFzc2VzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IElucHV0VG91Y2hlZEZuLCBJbnB1dFZhbHVlQ2hhbmdlRm4gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBXUklURUFCTEVfSU5QVVRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48V3JpdGVhYmxlSW5wdXREaXJlY3RpdmU+KCdFVF9XUklURUFCTEVfSU5QVVRfRElSRUNUSVZFX1RPS0VOJyk7XG5cbmV4cG9ydCBjb25zdCBXUklURUFCTEVfSU5QVVRfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXcml0ZWFibGVJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnZXRXcml0ZWFibGVJbnB1dCcsXG4gIHByb3ZpZGVyczogW1xuICAgIFdSSVRFQUJMRV9JTlBVVF9WQUxVRV9BQ0NFU1NPUixcblxuICAgIElucHV0U3RhdGVTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogV1JJVEVBQkxFX0lOUFVUX1RPS0VOLCB1c2VFeGlzdGluZzogV3JpdGVhYmxlSW5wdXREaXJlY3RpdmUgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVhYmxlSW5wdXREaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHJlYWRvbmx5IF9pbnB1dFN0YXRlU2VydmljZSA9IGluamVjdChJbnB1dFN0YXRlU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzQmluZGluZ3MgPSBzaWduYWxIb3N0Q2xhc3Nlcyh7XG4gICAgJ2V0LXJlcXVpcmVkJzogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UucmVxdWlyZWQsXG4gICAgJ2V0LWRpc2FibGVkJzogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuZGlzYWJsZWQsXG4gICAgJ2V0LXZhbHVlLWlzLXRydXRoeSc6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlSXNUcnV0aHksXG4gICAgJ2V0LXZhbHVlLWlzLWZhbHN5JzogdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UudmFsdWVJc0ZhbHN5LFxuICAgICdldC1lbXB0eSc6IHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlSXNFbXB0eSxcbiAgICAnZXQtc2hvdWxkLWRpc3BsYXktZXJyb3InOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3IsXG4gICAgJ2V0LWF1dG9maWxsZWQnOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5hdXRvZmlsbGVkLFxuICAgICdldC1uYXRpdmUtaW5wdXQtaXMtbmV2ZXItZW1wdHknOiB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5pc05ldmVyRW1wdHlJbnB1dCxcbiAgfSk7XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLnZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IElucHV0VmFsdWVDaGFuZ2VGbikge1xuICAgIHRoaXMuX2lucHV0U3RhdGVTZXJ2aWNlLl92YWx1ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IElucHV0VG91Y2hlZEZuKSB7XG4gICAgdGhpcy5faW5wdXRTdGF0ZVNlcnZpY2UuX3RvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pbnB1dFN0YXRlU2VydmljZS5kaXNhYmxlZCQubmV4dChpc0Rpc2FibGVkKTtcbiAgfVxufVxuIl19
@@ -21,6 +21,8 @@ export class InputStateService {
21
21
  this.usesImplicitControl = toSignal(this.usesImplicitControl$, { requireSync: true });
22
22
  this.nativeInputRef$ = new BehaviorSubject(null);
23
23
  this.nativeInputRef = toSignal(this.nativeInputRef$, { requireSync: true });
24
+ this.isNeverEmptyInput$ = new BehaviorSubject(false);
25
+ this.isNeverEmptyInput = toSignal(this.isNeverEmptyInput$, { requireSync: true });
24
26
  this.autofilled$ = new BehaviorSubject(false);
25
27
  this.autofilled = toSignal(this.autofilled$, { requireSync: true });
26
28
  this.valueIsTruthy$ = this.value$.pipe(map((value) => !!value));
@@ -67,4 +69,4 @@ export class InputStateService {
67
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputStateService, decorators: [{
68
70
  type: Injectable
69
71
  }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZXJ2aWNlcy9pbnB1dC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2RyxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBS1csb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBOEIsSUFBSSxDQUFDLENBQUM7UUFDekUsbUJBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLHNCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckYsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVyRixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVcsSUFBSSxDQUFDLENBQUM7UUFDN0MsVUFBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckQs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O2dCQUMvQixPQUFPLENBQUMsYUFBYSxJQUFJLGNBQWMsQ0FBQzthQUN6QztZQUVELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbkUsWUFBTyxHQUFHLElBQUksZUFBZSxDQUF5QixJQUFJLENBQUMsQ0FBQztRQUM1RCxXQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV2RCx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMxRCx1QkFBa0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFL0Usa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsSUFBSSxDQUFDLENBQUM7UUFDOUQsaUJBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLDZEQUE2RDtRQUM3RCxpQkFBWSxHQUEwQixDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlDLE9BQU87UUFDVCxDQUFDLENBQUM7UUFDRixhQUFRLEdBQW1CLEdBQUcsRUFBRTtZQUM5QixPQUFPO1FBQ1QsQ0FBQyxDQUFDO0tBQ0g7K0dBbkZZLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5hdGl2ZUlucHV0UmVmRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBJbnB1dFRvdWNoZWRGbiwgSW5wdXRWYWx1ZUNoYW5nZUZuLCBJbnB1dFZhbHVlVXBkYXRlVHlwZSwgVmFsaWRhdG9yRXJyb3JzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW5wdXRTdGF0ZVNlcnZpY2U8XG4gIFQgPSB1bmtub3duLFxuICBKIGV4dGVuZHMgSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB8IEhUTUxCdXR0b25FbGVtZW50ID0gSFRNTElucHV0RWxlbWVudCxcbj4ge1xuICByZWFkb25seSBsYXN0VXBkYXRlVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElucHV0VmFsdWVVcGRhdGVUeXBlIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVUeXBlID0gdG9TaWduYWwodGhpcy5sYXN0VXBkYXRlVHlwZSQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgb25JbnRlcm5hbFVwZGF0ZSQgPSB0aGlzLmxhc3RVcGRhdGVUeXBlJC5waXBlKGZpbHRlcigodHlwZSkgPT4gdHlwZSA9PT0gJ2ludGVybmFsJykpO1xuICByZWFkb25seSBvbkV4dGVybmFsVXBkYXRlJCA9IHRoaXMubGFzdFVwZGF0ZVR5cGUkLnBpcGUoZmlsdGVyKCh0eXBlKSA9PiB0eXBlID09PSAnZXh0ZXJuYWwnKSk7XG5cbiAgcmVhZG9ubHkgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IHZhbHVlID0gdG9TaWduYWwodGhpcy52YWx1ZSQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGRpc2FibGVkID0gdG9TaWduYWwodGhpcy5kaXNhYmxlZCQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgcmVxdWlyZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkID0gdG9TaWduYWwodGhpcy5yZXF1aXJlZCQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8VD4oKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgcmVxdWlyZWRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICByZWFkb25seSB1c2VzSW1wbGljaXRDb250cm9sJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSB1c2VzSW1wbGljaXRDb250cm9sID0gdG9TaWduYWwodGhpcy51c2VzSW1wbGljaXRDb250cm9sJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSBuYXRpdmVJbnB1dFJlZiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5hdGl2ZUlucHV0UmVmRGlyZWN0aXZlPEo+IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IG5hdGl2ZUlucHV0UmVmID0gdG9TaWduYWwodGhpcy5uYXRpdmVJbnB1dFJlZiQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgYXV0b2ZpbGxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgYXV0b2ZpbGxlZCA9IHRvU2lnbmFsKHRoaXMuYXV0b2ZpbGxlZCQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdmFsdWVJc1RydXRoeSQgPSB0aGlzLnZhbHVlJC5waXBlKG1hcCgodmFsdWUpID0+ICEhdmFsdWUpKTtcbiAgcmVhZG9ubHkgdmFsdWVJc1RydXRoeSA9IHRvU2lnbmFsKHRoaXMudmFsdWVJc1RydXRoeSQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdmFsdWVJc0ZhbHN5JCA9IHRoaXMudmFsdWUkLnBpcGUobWFwKCh2YWx1ZSkgPT4gIXZhbHVlKSk7XG4gIHJlYWRvbmx5IHZhbHVlSXNGYWxzeSA9IHRvU2lnbmFsKHRoaXMudmFsdWVJc0ZhbHN5JCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogU2VsZWN0cyBtaWdodCBoYXZlIGEgb3B0aW9uIHRoYXQgaXMgXCJudWxsXCIuXG4gICAqIFRoaXMgaGVscGVyIGNhbiBiZSB1c2VkIHRvIGVuaGFuY2UgdGhlIGRldGVjdGlvbiBvZiBlbXB0eSB2YWx1ZXMuXG4gICAqIFRoZSBpbnB1dCBpcyBlbXB0eSBpZiB0aGUgaGVscGVyIHJldHVybnMgYSBmYWxzeSB2YWx1ZSBhbmQgdGhlIHZhbHVlIGl0c2VsZiBpcyBmYWxzeSBvciBhbiBlbXB0eSBhcnJheS5cbiAgICovXG4gIHJlYWRvbmx5IGlzRW1wdHlIZWxwZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmtub3duIHwgT2JzZXJ2YWJsZTx1bmtub3duPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgaXNFbXB0eUhlbHBlciA9IHRvU2lnbmFsKHRoaXMuaXNFbXB0eUhlbHBlciQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdmFsdWVJc0VtcHR5JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudmFsdWUkLFxuICAgIHRoaXMuYXV0b2ZpbGxlZCQsXG4gICAgdGhpcy5pc0VtcHR5SGVscGVyJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChpc0VtcHR5SGVscGVyKSA9PiAoaXNFbXB0eUhlbHBlciBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyBpc0VtcHR5SGVscGVyIDogb2YoaXNFbXB0eUhlbHBlcikpKSxcbiAgICApLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3ZhbHVlLCBhdXRvZmlsbGVkLCBpc0VtcHR5SGVscGVyXSkgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdElzRW1wdHkgPVxuICAgICAgICAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmICF2YWx1ZS5sZW5ndGgpKSAmJlxuICAgICAgICAhYXV0b2ZpbGxlZDtcblxuICAgICAgaWYgKGlzRW1wdHlIZWxwZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gIWlzRW1wdHlIZWxwZXIgJiYgZGVmYXVsdElzRW1wdHk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWZhdWx0SXNFbXB0eTtcbiAgICB9KSxcbiAgKTtcbiAgcmVhZG9ubHkgdmFsdWVJc0VtcHR5ID0gdG9TaWduYWwodGhpcy52YWx1ZUlzRW1wdHkkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGVycm9ycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZhbGlkYXRvckVycm9ycyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBlcnJvcnMgPSB0b1NpZ25hbCh0aGlzLmVycm9ycyQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheUVycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG91bGREaXNwbGF5RXJyb3IgPSB0b1NpZ25hbCh0aGlzLnNob3VsZERpc3BsYXlFcnJvciQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgaXNGb2N1c2VkVmlhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9jdXNPcmlnaW4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgaXNGb2N1c2VkVmlhID0gdG9TaWduYWwodGhpcy5pc0ZvY3VzZWRWaWEkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgX3ZhbHVlQ2hhbmdlOiBJbnB1dFZhbHVlQ2hhbmdlRm48VD4gPSAodmFsdWUpID0+IHtcbiAgICAvLyBzdHViXG4gIH07XG4gIF90b3VjaGVkOiBJbnB1dFRvdWNoZWRGbiA9ICgpID0+IHtcbiAgICAvLyBzdHViXG4gIH07XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZXJ2aWNlcy9pbnB1dC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2RyxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBS1csb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBOEIsSUFBSSxDQUFDLENBQUM7UUFDekUsbUJBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLHNCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckYsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVyRixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVcsSUFBSSxDQUFDLENBQUM7UUFDN0MsVUFBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckQs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IjpbImltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgSW5wdXRUb3VjaGVkRm4sIElucHV0VmFsdWVDaGFuZ2VGbiwgSW5wdXRWYWx1ZVVwZGF0ZVR5cGUsIFZhbGlkYXRvckVycm9ycyB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElucHV0U3RhdGVTZXJ2aWNlPFxuICBUID0gdW5rbm93bixcbiAgSiBleHRlbmRzIEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBIVE1MQnV0dG9uRWxlbWVudCA9IEhUTUxJbnB1dEVsZW1lbnQsXG4+IHtcbiAgcmVhZG9ubHkgbGFzdFVwZGF0ZVR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJbnB1dFZhbHVlVXBkYXRlVHlwZSB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBsYXN0VXBkYXRlVHlwZSA9IHRvU2lnbmFsKHRoaXMubGFzdFVwZGF0ZVR5cGUkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IG9uSW50ZXJuYWxVcGRhdGUkID0gdGhpcy5sYXN0VXBkYXRlVHlwZSQucGlwZShmaWx0ZXIoKHR5cGUpID0+IHR5cGUgPT09ICdpbnRlcm5hbCcpKTtcbiAgcmVhZG9ubHkgb25FeHRlcm5hbFVwZGF0ZSQgPSB0aGlzLmxhc3RVcGRhdGVUeXBlJC5waXBlKGZpbHRlcigodHlwZSkgPT4gdHlwZSA9PT0gJ2V4dGVybmFsJykpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VCB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSB2YWx1ZSA9IHRvU2lnbmFsKHRoaXMudmFsdWUkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IHRvU2lnbmFsKHRoaXMuZGlzYWJsZWQkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHJlcXVpcmVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSByZXF1aXJlZCA9IHRvU2lnbmFsKHRoaXMucmVxdWlyZWQkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PFQ+KCk7XG4gIHJlYWRvbmx5IGRpc2FibGVkQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcmVhZG9ubHkgdXNlc0ltcGxpY2l0Q29udHJvbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgdXNlc0ltcGxpY2l0Q29udHJvbCA9IHRvU2lnbmFsKHRoaXMudXNlc0ltcGxpY2l0Q29udHJvbCQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgbmF0aXZlSW5wdXRSZWYkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOYXRpdmVJbnB1dFJlZkRpcmVjdGl2ZTxKPiB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBuYXRpdmVJbnB1dFJlZiA9IHRvU2lnbmFsKHRoaXMubmF0aXZlSW5wdXRSZWYkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGlzTmV2ZXJFbXB0eUlucHV0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBpc05ldmVyRW1wdHlJbnB1dCA9IHRvU2lnbmFsKHRoaXMuaXNOZXZlckVtcHR5SW5wdXQkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGF1dG9maWxsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGF1dG9maWxsZWQgPSB0b1NpZ25hbCh0aGlzLmF1dG9maWxsZWQkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHZhbHVlSXNUcnV0aHkkID0gdGhpcy52YWx1ZSQucGlwZShtYXAoKHZhbHVlKSA9PiAhIXZhbHVlKSk7XG4gIHJlYWRvbmx5IHZhbHVlSXNUcnV0aHkgPSB0b1NpZ25hbCh0aGlzLnZhbHVlSXNUcnV0aHkkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHZhbHVlSXNGYWxzeSQgPSB0aGlzLnZhbHVlJC5waXBlKG1hcCgodmFsdWUpID0+ICF2YWx1ZSkpO1xuICByZWFkb25seSB2YWx1ZUlzRmFsc3kgPSB0b1NpZ25hbCh0aGlzLnZhbHVlSXNGYWxzeSQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgbWlnaHQgaGF2ZSBhIG9wdGlvbiB0aGF0IGlzIFwibnVsbFwiLlxuICAgKiBUaGlzIGhlbHBlciBjYW4gYmUgdXNlZCB0byBlbmhhbmNlIHRoZSBkZXRlY3Rpb24gb2YgZW1wdHkgdmFsdWVzLlxuICAgKiBUaGUgaW5wdXQgaXMgZW1wdHkgaWYgdGhlIGhlbHBlciByZXR1cm5zIGEgZmFsc3kgdmFsdWUgYW5kIHRoZSB2YWx1ZSBpdHNlbGYgaXMgZmFsc3kgb3IgYW4gZW1wdHkgYXJyYXkuXG4gICAqL1xuICByZWFkb25seSBpc0VtcHR5SGVscGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5rbm93biB8IE9ic2VydmFibGU8dW5rbm93bj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGlzRW1wdHlIZWxwZXIgPSB0b1NpZ25hbCh0aGlzLmlzRW1wdHlIZWxwZXIkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHZhbHVlSXNFbXB0eSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnZhbHVlJCxcbiAgICB0aGlzLmF1dG9maWxsZWQkLFxuICAgIHRoaXMuaXNFbXB0eUhlbHBlciQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoaXNFbXB0eUhlbHBlcikgPT4gKGlzRW1wdHlIZWxwZXIgaW5zdGFuY2VvZiBPYnNlcnZhYmxlID8gaXNFbXB0eUhlbHBlciA6IG9mKGlzRW1wdHlIZWxwZXIpKSksXG4gICAgKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt2YWx1ZSwgYXV0b2ZpbGxlZCwgaXNFbXB0eUhlbHBlcl0pID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRJc0VtcHR5ID1cbiAgICAgICAgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAhdmFsdWUubGVuZ3RoKSkgJiZcbiAgICAgICAgIWF1dG9maWxsZWQ7XG5cbiAgICAgIGlmIChpc0VtcHR5SGVscGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuICFpc0VtcHR5SGVscGVyICYmIGRlZmF1bHRJc0VtcHR5O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGVmYXVsdElzRW1wdHk7XG4gICAgfSksXG4gICk7XG4gIHJlYWRvbmx5IHZhbHVlSXNFbXB0eSA9IHRvU2lnbmFsKHRoaXMudmFsdWVJc0VtcHR5JCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSBlcnJvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWYWxpZGF0b3JFcnJvcnMgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgZXJyb3JzID0gdG9TaWduYWwodGhpcy5lcnJvcnMkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHNob3VsZERpc3BsYXlFcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheUVycm9yID0gdG9TaWduYWwodGhpcy5zaG91bGREaXNwbGF5RXJyb3IkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGlzRm9jdXNlZFZpYSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvY3VzT3JpZ2luIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGlzRm9jdXNlZFZpYSA9IHRvU2lnbmFsKHRoaXMuaXNGb2N1c2VkVmlhJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIF92YWx1ZUNoYW5nZTogSW5wdXRWYWx1ZUNoYW5nZUZuPFQ+ID0gKHZhbHVlKSA9PiB7XG4gICAgLy8gc3R1YlxuICB9O1xuICBfdG91Y2hlZDogSW5wdXRUb3VjaGVkRm4gPSAoKSA9PiB7XG4gICAgLy8gc3R1YlxuICB9O1xufVxuIl19