ngx-vector-components 5.55.0 → 5.56.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
  # Changelog
2
2
 
3
+ ## [5.56.0] (27/09/2024)
4
+
5
+ ### Features
6
+
7
+ - Adjust `option.showDescriptionOnRight` property in `multiselect-field.component` to enable/disable description
8
+
3
9
  ## [5.55.0] (27/09/2024)
4
10
 
5
11
  ### Features
@@ -168,11 +168,11 @@ export class MultiselectFieldComponent {
168
168
  }
169
169
  }
170
170
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiselectFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { pagedSugestion: "pagedSugestion", isRequired: "isRequired", control: "control", label: "label", options: "options", filter: "filter", showSelectAllOption: "showSelectAllOption", display: "display", paged: "paged", disabled: "disabled", minLengthToService: "minLengthToService", initialLoad: "initialLoad", service: "service", filterVirtualScrool: "filterVirtualScrool", showHeader: "showHeader", showFlags: "showFlags", showFlagsOptions: "showFlagsOptions" }, outputs: { onChange: "onChange", onClosePanel: "onClosePanel" }, ngImport: i0, template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] }); }
171
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { pagedSugestion: "pagedSugestion", isRequired: "isRequired", control: "control", label: "label", options: "options", filter: "filter", showSelectAllOption: "showSelectAllOption", display: "display", paged: "paged", disabled: "disabled", minLengthToService: "minLengthToService", initialLoad: "initialLoad", service: "service", filterVirtualScrool: "filterVirtualScrool", showHeader: "showHeader", showFlags: "showFlags", showFlagsOptions: "showFlagsOptions" }, outputs: { onChange: "onChange", onClosePanel: "onClosePanel" }, ngImport: i0, template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div *ngIf=\"option.showDescriptionOnRight\" class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] }); }
172
172
  }
173
173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
174
174
  type: Component,
175
- args: [{ selector: 'vector-multiselect-field', template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"] }]
175
+ args: [{ selector: 'vector-multiselect-field', template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div *ngIf=\"option.showDescriptionOnRight\" class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"] }]
176
176
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { pagedSugestion: [{
177
177
  type: Input
178
178
  }], isRequired: [{
@@ -212,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
212
212
  }], onClosePanel: [{
213
213
  type: Output
214
214
  }] } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQW1CNUMsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxJQUNJLGNBQWMsQ0FBQyxlQUEyQjtRQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFpQ0QsSUFDSSxnQkFBZ0IsQ0FBQyxLQUFnQztRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7U0FDeEY7UUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7b0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMs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eUJBQXlCLHVsQkN0QnRDLCtnSEF5R0E7OzRGRG5GYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsMEJBQTBCOzhFQU1oQyxjQUFjO3NCQURqQixLQUFLO2dCQU1DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixLQUFLO2dCQUdDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUtGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFpQ0MsUUFBUTtzQkFEZCxNQUFNO2dCQUdBLFlBQVk7c0JBRGxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBCYXNlRHJvcGRvd24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuXG50eXBlIExpc3RJdGVtT3B0aW9uc0ZsYWdUeXBlID0gTGlzdEl0ZW0gJiB7XG4gIGFsaWduOiAnY2VudGVyJyB8ICdsZWZ0JztcbiAgc2hvd0Rlc2NyaXB0aW9uT25SaWdodDogYm9vbGVhbjtcbiAgdHlwZTogJ2ltZycgfCAnaWNvbic7XG4gIGljb25Tb3VyY2U/OiBzdHJpbmc7XG4gIGljb25TaXplPzogJzFlbScgfCAnMS4yNWVtJyB8ICcxLjVlbScgfCAnMS43NWVtJyB8ICcyZW0nO1xuICBpY29uQ2xhc3M/OiBzdHJpbmc7XG4gIGltZ1NvdXJjZT86IHN0cmluZztcbiAgaW1nU2l6ZT86ICcxNScgfCAnMjAnIHwgJzI1JztcbiAgaW1nQ2xhc3M/OiBzdHJpbmc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItbXVsdGlzZWxlY3QtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aXNlbGVjdC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aXNlbGVjdEZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgc2V0IHBhZ2VkU3VnZXN0aW9uKF9wYWdlZFN1Z2VzdGlvbjogTGlzdEl0ZW1bXSkge1xuICAgIHRoaXMuX3BhZ2VkU3VnZXN0aW9uID0gX3BhZ2VkU3VnZXN0aW9uO1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucGFnZWRTdWdlc3Rpb24gfHwgW107XG4gIH1cbiAgQElucHV0KClcbiAgcHVibGljIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIG9wdGlvbnM6IExpc3RJdGVtW10gfCBMaXN0SXRlbU9wdGlvbnNGbGFnVHlwZVtdID0gW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXIgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIHNob3dTZWxlY3RBbGxPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzcGxheTogc3RyaW5nID0gJ2NvbW1hJztcbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VkID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5MZW5ndGhUb1NlcnZpY2U6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsTG9hZCA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXJ2aWNlOiBCYXNlRHJvcGRvd24gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJWaXJ0dWFsU2Nyb29sID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIHNob3dGbGFnczogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9zaG93RmxhZ3NPcHRpb25zPzogTGlzdEl0ZW1PcHRpb25zRmxhZ1R5cGVbXSB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBzZXQgc2hvd0ZsYWdzT3B0aW9ucyh2YWx1ZTogTGlzdEl0ZW1PcHRpb25zRmxhZ1R5cGVbXSkge1xuICAgIGlmICghdGhpcy5zaG93RmxhZ3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2hvd0ZsYWdzIGlzIHNldCB0byBmYWxzZS4gU2V0dGluZyBzaG93RmxhZ3NPcHRpb25zIGlzIG5vdCBhbGxvd2VkLicpO1xuICAgIH1cbiAgICB2YWx1ZS5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgIGlmIChvcHRpb24udHlwZSA9PT0gJ2ltZycpIHtcbiAgICAgICAgaWYgKCFvcHRpb24uaW1nU291cmNlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW1nU291cmNlIGlzIHJlcXVpcmVkIHdoZW4gdHlwZSBpcyAnaW1nJ1wiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdGlvbi5pbWdTaXplKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW1nU2l6ZSBpcyByZXF1aXJlZCB3aGVuIHR5cGUgaXMgJ2ltZydcIik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uLnR5cGUgPT09ICdpY29uJykge1xuICAgICAgICBpZiAoIW9wdGlvbi5pY29uU291cmNlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaWNvblNvdXJjZSBpcyByZXF1aXJlZCB3aGVuIHR5cGUgaXMgJ2ljb24nXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0aW9uLmljb25TaXplKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaWNvblNpemUgaXMgcmVxdWlyZWQgd2hlbiB0eXBlIGlzICdpY29uJ1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3Nob3dGbGFnc09wdGlvbnMgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzaG93RmxhZ3NPcHRpb25zKCk6IExpc3RJdGVtT3B0aW9uc0ZsYWdUeXBlW10ge1xuICAgIGlmICghdGhpcy5fc2hvd0ZsYWdzT3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaG93RmxhZ3NPcHRpb25zIHdhcyBub3Qgc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zaG93RmxhZ3NPcHRpb25zO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkNsb3NlUGFuZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBjdXJyZW50U2VhcmNoUXVlcnkgPSAnJztcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsUGFnZSA9IC0xO1xuICBwcml2YXRlIGN1cnJlbnRTY3JvbGxJbmRleCA9IDA7XG5cbiAgcHVibGljIHVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCA9ICgpID0+IHt9O1xuXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMubGFiZWx9JHt0aGlzLmlzUmVxdWlyZWQgPyAnKicgOiAnJ31gO1xuICB9XG5cbiAgZ2V0IHBhZ2VkU3VnZXN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9wYWdlZFN1Z2VzdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZ2VkU3VnZXN0aW9uOiBMaXN0SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluaXRpYWxMb2FkICYmIHRoaXMuZmlsdGVyVmlydHVhbFNjcm9vbCkge1xuICAgICAgdGhpcy5zZWFyY2gobnVsbCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpZWxkRXJyb3JMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgdGhpcy5jb250cm9sLmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgcmV0dXJuICdDYW1wbyBvYnJpZ2F0w7NyaW8nO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHlwZW9mIHRoaXMuY29udHJvbC5lcnJvcnNbJ2ludmFsaWQnXSA9PT0gJ3N0cmluZycgPyB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gOiAnQ2FtcG8gaW52w6FsaWRvJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgb25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgICBjb25zdCBtdWx0aVNlbGVjdFBhbmVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtbXVsdGlzZWxlY3QtaXRlbXMtd3JhcHBlcicpO1xuXG4gICAgaWYgKG11bHRpU2VsZWN0UGFuZWwgJiYgdGhpcy5wYWdlZCAmJiB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGhUb1NlcnZpY2UpIHtcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsID0gdGhpcy5yZW5kZXJlci5saXN0ZW4obXVsdGlTZWxlY3RQYW5lbCwgJ3Njcm9sbCcsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudEhlaWdodCA9IGV2ZW50LnRhcmdldC5zY3JvbGxIZWlnaHQgLSBldmVudC50YXJnZXQuY2xpZW50SGVpZ2h0IC0gMTUwO1xuXG4gICAgICAgIGlmIChNYXRoLnJvdW5kKGV2ZW50LnRhcmdldC5zY3JvbGxUb3ApID49IGV2ZW50SGVpZ2h0KSB7XG4gICAgICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3VzdG9tRm9ybWF0dGluZ011bHRpU2VsZWN0RmllbGRXaXRoRmxhZ3MoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCB2ZWN0b3JNdWx0aXNlbGVjdEZpZWxkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndmVjdG9yLW11bHRpc2VsZWN0LWZpZWxkLm11bHRpc2VsZWN0LWZsYWdzJyk7XG5cbiAgICAgIGlmICh2ZWN0b3JNdWx0aXNlbGVjdEZpZWxkKSB7XG4gICAgICAgIGNvbnN0IHBPdmVybGF5RWxlbWVudCA9IHZlY3Rvck11bHRpc2VsZWN0RmllbGQucXVlcnlTZWxlY3RvcigncC1vdmVybGF5Jyk7XG5cbiAgICAgICAgaWYgKHBPdmVybGF5RWxlbWVudCkge1xuICAgICAgICAgIGNvbnN0IGNsYXNzTGlzdCA9IEFycmF5LmZyb20ocE92ZXJsYXlFbGVtZW50LmNsYXNzTGlzdCk7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0Q2xhc3MgPSBjbGFzc0xpc3QuZmluZCgoY2xhc3NOYW1lKSA9PiBjbGFzc05hbWUuc3RhcnRzV2l0aCgnbmctdG5zLScpKTtcblxuICAgICAgICAgIGlmICh0YXJnZXRDbGFzcykge1xuICAgICAgICAgICAgY29uc3QgY2xhc3NSZWZlcmVuY2VDb2RlID0gdGFyZ2V0Q2xhc3MucmVwbGFjZSgnbmctdG5zLScsICcnKTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldERpdldpdGhSZWZDb2RlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgZGl2Lm5nLXRucy0ke2NsYXNzUmVmZXJlbmNlQ29kZX1gKTtcblxuICAgICAgICAgICAgaWYgKHRhcmdldERpdldpdGhSZWZDb2RlKSB7XG4gICAgICAgICAgICAgIHRhcmdldERpdldpdGhSZWZDb2RlLmNsYXNzTGlzdC5hZGQoJ211bHRpc2VsZWN0LWZsYWdzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhpZGVBdXRvY29tcGxldGVQYW5lbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYWdlZCkge1xuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKCRldmVudD86IGFueSwgZm9yY2VTZWFyY2ggPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5ID0gJGV2ZW50Py5maWx0ZXIudG9VcHBlckNhc2UoKSB8fCAnJztcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlID0gLTE7XG4gICAgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggPSAwO1xuICAgIGlmIChmb3JjZVNlYXJjaCB8fCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGhUb1NlcnZpY2UpIHtcbiAgICAgIHRoaXMucGFnZVJlc3VsdHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcHRpb25zID0gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwYWdlUmVzdWx0cygpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpbHRlckxpc3RCeVF1ZXJ5KHRoaXMucGFnZWRTdWdlc3Rpb24sIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5LnRvVXBwZXJDYXNlKCkpO1xuICAgIHRoaXMub3B0aW9ucyA9IGZpbHRlcmVkT3B0aW9ucy5zbGljZSgwLCB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwKTtcblxuICAgIGlmICh0aGlzLnBhZ2VkU3VnZXN0aW9uPy5sZW5ndGggJiYgdGhpcy5wYWdlZFN1Z2VzdGlvbi5sZW5ndGggPiAyMCkge1xuICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggPSB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwO1xuICAgIH1cblxuICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckxpc3RCeVF1ZXJ5KGxpc3Q6IExpc3RJdGVtW10gPSBbXSwgcXVlcnk6IHN0cmluZyk6IExpc3RJdGVtW10ge1xuICAgIHJldHVybiBsaXN0LmZpbHRlcihcbiAgICAgIChvcHQpID0+IFN0cmluZyhvcHQuY29kZSkudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSkgfHwgb3B0Lm5hbWUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSlcbiAgICApO1xuICB9XG4gIHByaXZhdGUgc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCkge1xuICAgIGNvbnN0IGNvZGUgPVxuICAgICAgKE9iamVjdFV0aWwuaXNWYWxpZCh0aGlzLmNvbnRyb2wudmFsdWU/LmNvZGUpICYmIGAke3RoaXMuY29udHJvbC52YWx1ZT8uY29kZX1gKSB8fCBgJHt0aGlzLmNvbnRyb2wudmFsdWV9YDtcbiAgICBpZiAodGhpcy5jb250cm9sLnZhbHVlICYmIHRoaXMub3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICBsZXQgaXRlbXNBcnJheSA9IHRoaXMub3B0aW9ucztcbiAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICBpdGVtc0FycmF5ID0gdGhpcy5vcHRpb25zO1xuICAgICAgfVxuICAgICAgY29uc3QgaXRlbUZyb21TdWdnZXN0aW9ucyA9IGl0ZW1zQXJyYXkuZmluZCgob3B0KSA9PiBgJHtvcHQuY29kZX1gLnRvVXBwZXJDYXNlKCkgPT09IGNvZGUudG9VcHBlckNhc2UoKSk7XG4gICAgICBpZiAoaXRlbUZyb21TdWdnZXN0aW9ucykge1xuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoaXRlbUZyb21TdWdnZXN0aW9ucywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlPy5nZXRCeUlkKCtjb2RlKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHJlc3BvbnNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250cm9sLnZhbHVlICYmICF0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXJ2aWNlPy5nZXRCeUlkKCtjb2RlKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShyZXNwb25zZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibXVsdGlzZWxlY3QtZmllbGQtaW5wdXQtY29udGFpbmVyXCI+XG4gIDxwLW11bHRpU2VsZWN0XG4gICAgKm5nSWY9XCIhZmlsdGVyVmlydHVhbFNjcm9vbFwiXG4gICAgI211bHRpc2VsZWN0XG4gICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxuICAgIG9wdGlvblZhbHVlPVwiY29kZVwiXG4gICAgZHJvcGRvd25JY29uPVwiZmFzIGZhLXNvcnQtZG93blwiXG4gICAgc2VsZWN0ZWRJdGVtc0xhYmVsPVwiU2VsZWNpb25hciB0b2Rvc1wiXG4gICAgW3BhbmVsU3R5bGVDbGFzc109XCJmaWx0ZXIgPyAnaGFzLWZpbHRlcicgOiAnJ1wiXG4gICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxuICAgIFttYXhTZWxlY3RlZExhYmVsc109XCJvcHRpb25zLmxlbmd0aCAtIDFcIlxuICAgIFtzaG93VG9nZ2xlQWxsXT1cInNob3dTZWxlY3RBbGxPcHRpb25cIlxuICAgIFtkcm9wZG93bkljb25dPVwiJ3BpIHBpLWNoZXZyb24tZG93bidcIlxuICAgIFtkaXNwbGF5XT1cImRpc3BsYXlcIlxuICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgIChvblBhbmVsSGlkZSk9XCJvbkNsb3NlUGFuZWwuZW1pdCgkZXZlbnQpXCJcbiAgICAob25QYW5lbFNob3cpPVwiY3VzdG9tRm9ybWF0dGluZ011bHRpU2VsZWN0RmllbGRXaXRoRmxhZ3MoKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbc2hvd0hlYWRlcl09XCJzaG93SGVhZGVyXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RmxhZ3NcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtb3B0aW9uIHBUZW1wbGF0ZT1cIml0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtbm9ndXR0ZXIgdy1mdWxsIGZsZXhcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIm1kOmNvbC02IHNtOmNvbC0xMiBhbGlnbi1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJvcHRpb24uYWxpZ24gPT09ICdjZW50ZXInID8gJ21kOnRleHQtY2VudGVyJyA6ICdtZDp0ZXh0LWxlZnQnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICpuZ0lmPVwib3B0aW9uLnR5cGUgPT0gJ2ltZydcIlxuICAgICAgICAgICAgICBbc3JjXT1cIm9wdGlvbi5pbWdTb3VyY2VcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJvcHRpb24uaW1nQ2xhc3NcIlxuICAgICAgICAgICAgICBbc3R5bGVdPVwieyBoZWlnaHQ6IG9wdGlvbi5pbWdTaXplICsgJ3B4JyB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAqbmdJZj1cIm9wdGlvbi50eXBlID09ICdpY29uJ1wiXG4gICAgICAgICAgICAgIFtjbGFzc05hbWVdPVwib3B0aW9uLmljb25Tb3VyY2VcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJvcHRpb24uaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgW3N0eWxlXT1cInsgJ2ZvbnQtc2l6ZSc6IG9wdGlvbi5pY29uU2l6ZSB9XCJcbiAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgaGlkZGVuIG1kOmJsb2NrIGFsaWduLWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrXCI+e3sgb3B0aW9uLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9wLW11bHRpU2VsZWN0PlxuXG4gIDxwLW11bHRpU2VsZWN0XG4gICAgKm5nSWY9XCJmaWx0ZXJWaXJ0dWFsU2Nyb29sXCJcbiAgICAjbXVsdGlzZWxlY3RcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgIG9wdGlvbkxhYmVsPVwibmFtZVwiXG4gICAgb3B0aW9uVmFsdWU9XCJjb2RlXCJcbiAgICBkcm9wZG93bkljb249XCJmYXMgZmEtc29ydC1kb3duXCJcbiAgICBzZWxlY3RlZEl0ZW1zTGFiZWw9XCJTZWxlY2lvbmFyIHRvZG9zXCJcbiAgICBbcGFuZWxTdHlsZUNsYXNzXT1cImZpbHRlciA/ICdoYXMtZmlsdGVyJyA6ICcnXCJcbiAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbZmlsdGVyXT1cImZpbHRlclwiXG4gICAgW21heFNlbGVjdGVkTGFiZWxzXT1cIm9wdGlvbnMubGVuZ3RoIC0gMVwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgW3Nob3dUb2dnbGVBbGxdPVwic2hvd1NlbGVjdEFsbE9wdGlvblwiXG4gICAgW2Ryb3Bkb3duSWNvbl09XCIncGkgcGktY2hldnJvbi1kb3duJ1wiXG4gICAgW2Rpc3BsYXldPVwiZGlzcGxheVwiXG4gICAgKG9uQ2hhbmdlKT1cIm9uQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgKG9uRmlsdGVyKT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAob25QYW5lbFNob3cpPVwib25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKVwiXG4gICAgKG9uUGFuZWxIaWRlKT1cIm9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gID5cbiAgPC9wLW11bHRpU2VsZWN0PlxuICA8cC1tdWx0aVNlbGVjdFxuICAgICpuZ0lmPVwiZmlsdGVyVmlydHVhbFNjcm9vbFwiXG4gICAgI211bHRpc2VsZWN0XG4gICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxuICAgIG9wdGlvblZhbHVlPVwiY29kZVwiXG4gICAgZHJvcGRvd25JY29uPVwiZmFzIGZhLXNvcnQtZG93blwiXG4gICAgc2VsZWN0ZWRJdGVtc0xhYmVsPVwiU2VsZWNpb25hciB0b2Rvc1wiXG4gICAgW3BhbmVsU3R5bGVDbGFzc109XCJmaWx0ZXIgPyAnaGFzLWZpbHRlcicgOiAnJ1wiXG4gICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxuICAgIFttYXhTZWxlY3RlZExhYmVsc109XCJvcHRpb25zLmxlbmd0aCAtIDFcIlxuICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgIFtzaG93VG9nZ2xlQWxsXT1cInNob3dTZWxlY3RBbGxPcHRpb25cIlxuICAgIFtkcm9wZG93bkljb25dPVwiJ3BpIHBpLWNoZXZyb24tZG93bidcIlxuICAgIFtkaXNwbGF5XT1cImRpc3BsYXlcIlxuICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgIChvbkZpbHRlcik9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgKG9uUGFuZWxTaG93KT1cIm9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKClcIlxuICAgIChvblBhbmVsSGlkZSk9XCJvbkhpZGVBdXRvY29tcGxldGVQYW5lbCgpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICA+XG4gIDwvcC1tdWx0aVNlbGVjdD5cbiAgPHNwYW4gY2xhc3M9XCJpbnB1dC1lcnJvclwiPnt7IGZpZWxkRXJyb3JMYWJlbCgpIH19PC9zcGFuPlxuPC9kaXY+XG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQW1CNUMsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxJQUNJLGNBQWMsQ0FBQyxlQUEyQjtRQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFpQ0QsSUFDSSxnQkFBZ0IsQ0FBQyxLQUFnQztRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7U0FDeEY7UUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7b0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMs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eUJBQXlCLHVsQkN0QnRDLHVqSEF5R0E7OzRGRG5GYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsMEJBQTBCOzhFQU1oQyxjQUFjO3NCQURqQixLQUFLO2dCQU1DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixLQUFLO2dCQUdDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUtGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFpQ0MsUUFBUTtzQkFEZCxNQUFNO2dCQUdBLFlBQVk7c0JBRGxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBCYXNlRHJvcGRvd24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBMaXN0SXRlbU9wdGlvbnNGbGFnVHlwZSA9IExpc3RJdGVtICYge1xuICBhbGlnbjogJ2NlbnRlcicgfCAnbGVmdCc7XG4gIHNob3dEZXNjcmlwdGlvbk9uUmlnaHQ6IGJvb2xlYW47XG4gIHR5cGU6ICdpbWcnIHwgJ2ljb24nO1xuICBpY29uU291cmNlPzogc3RyaW5nO1xuICBpY29uU2l6ZT86ICcxZW0nIHwgJzEuMjVlbScgfCAnMS41ZW0nIHwgJzEuNzVlbScgfCAnMmVtJztcbiAgaWNvbkNsYXNzPzogc3RyaW5nO1xuICBpbWdTb3VyY2U/OiBzdHJpbmc7XG4gIGltZ1NpemU/OiAnMTUnIHwgJzIwJyB8ICcyNSc7XG4gIGltZ0NsYXNzPzogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLW11bHRpc2VsZWN0LWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpc2VsZWN0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlzZWxlY3RGaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHNldCBwYWdlZFN1Z2VzdGlvbihfcGFnZWRTdWdlc3Rpb246IExpc3RJdGVtW10pIHtcbiAgICB0aGlzLl9wYWdlZFN1Z2VzdGlvbiA9IF9wYWdlZFN1Z2VzdGlvbjtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnBhZ2VkU3VnZXN0aW9uIHx8IFtdO1xuICB9XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb250cm9sOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25zOiBMaXN0SXRlbVtdIHwgTGlzdEl0ZW1PcHRpb25zRmxhZ1R5cGVbXSA9IFtdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93U2VsZWN0QWxsT3B0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIGRpc3BsYXk6IHN0cmluZyA9ICdjb21tYSc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlZCA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWluTGVuZ3RoVG9TZXJ2aWNlOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaW5pdGlhbExvYWQgPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VydmljZTogQmFzZURyb3Bkb3duIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyVmlydHVhbFNjcm9vbCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93RmxhZ3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2hvd0ZsYWdzT3B0aW9ucz86IExpc3RJdGVtT3B0aW9uc0ZsYWdUeXBlW10gfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgc2V0IHNob3dGbGFnc09wdGlvbnModmFsdWU6IExpc3RJdGVtT3B0aW9uc0ZsYWdUeXBlW10pIHtcbiAgICBpZiAoIXRoaXMuc2hvd0ZsYWdzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Nob3dGbGFncyBpcyBzZXQgdG8gZmFsc2UuIFNldHRpbmcgc2hvd0ZsYWdzT3B0aW9ucyBpcyBub3QgYWxsb3dlZC4nKTtcbiAgICB9XG4gICAgdmFsdWUuZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICBpZiAob3B0aW9uLnR5cGUgPT09ICdpbWcnKSB7XG4gICAgICAgIGlmICghb3B0aW9uLmltZ1NvdXJjZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImltZ1NvdXJjZSBpcyByZXF1aXJlZCB3aGVuIHR5cGUgaXMgJ2ltZydcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvcHRpb24uaW1nU2l6ZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImltZ1NpemUgaXMgcmVxdWlyZWQgd2hlbiB0eXBlIGlzICdpbWcnXCIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi50eXBlID09PSAnaWNvbicpIHtcbiAgICAgICAgaWYgKCFvcHRpb24uaWNvblNvdXJjZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImljb25Tb3VyY2UgaXMgcmVxdWlyZWQgd2hlbiB0eXBlIGlzICdpY29uJ1wiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdGlvbi5pY29uU2l6ZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImljb25TaXplIGlzIHJlcXVpcmVkIHdoZW4gdHlwZSBpcyAnaWNvbidcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLl9zaG93RmxhZ3NPcHRpb25zID0gdmFsdWU7XG4gIH1cblxuICBnZXQgc2hvd0ZsYWdzT3B0aW9ucygpOiBMaXN0SXRlbU9wdGlvbnNGbGFnVHlwZVtdIHtcbiAgICBpZiAoIXRoaXMuX3Nob3dGbGFnc09wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2hvd0ZsYWdzT3B0aW9ucyB3YXMgbm90IHNldCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2hvd0ZsYWdzT3B0aW9ucztcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25DbG9zZVBhbmVsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgY3VycmVudFNlYXJjaFF1ZXJ5ID0gJyc7XG4gIHByaXZhdGUgY3VycmVudFNjcm9sbFBhZ2UgPSAtMTtcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsSW5kZXggPSAwO1xuXG4gIHB1YmxpYyB1bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSAoKSA9PiB7fTtcblxuICBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLmxhYmVsfSR7dGhpcy5pc1JlcXVpcmVkID8gJyonIDogJyd9YDtcbiAgfVxuXG4gIGdldCBwYWdlZFN1Z2VzdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZWRTdWdlc3Rpb247XG4gIH1cblxuICBwcml2YXRlIF9wYWdlZFN1Z2VzdGlvbjogTGlzdEl0ZW1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbml0aWFsTG9hZCAmJiB0aGlzLmZpbHRlclZpcnR1YWxTY3Jvb2wpIHtcbiAgICAgIHRoaXMuc2VhcmNoKG51bGwsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWVsZEVycm9yTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jb250cm9sICYmIHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkKSB7XG4gICAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIHJldHVybiAnQ2FtcG8gb2JyaWdhdMOzcmlvJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gPT09ICdzdHJpbmcnID8gdGhpcy5jb250cm9sLmVycm9yc1snaW52YWxpZCddIDogJ0NhbXBvIGludsOhbGlkbyc7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIG9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgY29uc3QgbXVsdGlTZWxlY3RQYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLW11bHRpc2VsZWN0LWl0ZW1zLXdyYXBwZXInKTtcblxuICAgIGlmIChtdWx0aVNlbGVjdFBhbmVsICYmIHRoaXMucGFnZWQgJiYgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoVG9TZXJ2aWNlKSB7XG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKG11bHRpU2VsZWN0UGFuZWwsICdzY3JvbGwnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZXZlbnRIZWlnaHQgPSBldmVudC50YXJnZXQuc2Nyb2xsSGVpZ2h0IC0gZXZlbnQudGFyZ2V0LmNsaWVudEhlaWdodCAtIDE1MDtcblxuICAgICAgICBpZiAoTWF0aC5yb3VuZChldmVudC50YXJnZXQuc2Nyb2xsVG9wKSA+PSBldmVudEhlaWdodCkge1xuICAgICAgICAgIHRoaXMucGFnZVJlc3VsdHMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGN1c3RvbUZvcm1hdHRpbmdNdWx0aVNlbGVjdEZpZWxkV2l0aEZsYWdzKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdmVjdG9yTXVsdGlzZWxlY3RGaWVsZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZlY3Rvci1tdWx0aXNlbGVjdC1maWVsZC5tdWx0aXNlbGVjdC1mbGFncycpO1xuXG4gICAgICBpZiAodmVjdG9yTXVsdGlzZWxlY3RGaWVsZCkge1xuICAgICAgICBjb25zdCBwT3ZlcmxheUVsZW1lbnQgPSB2ZWN0b3JNdWx0aXNlbGVjdEZpZWxkLnF1ZXJ5U2VsZWN0b3IoJ3Atb3ZlcmxheScpO1xuXG4gICAgICAgIGlmIChwT3ZlcmxheUVsZW1lbnQpIHtcbiAgICAgICAgICBjb25zdCBjbGFzc0xpc3QgPSBBcnJheS5mcm9tKHBPdmVybGF5RWxlbWVudC5jbGFzc0xpc3QpO1xuICAgICAgICAgIGNvbnN0IHRhcmdldENsYXNzID0gY2xhc3NMaXN0LmZpbmQoKGNsYXNzTmFtZSkgPT4gY2xhc3NOYW1lLnN0YXJ0c1dpdGgoJ25nLXRucy0nKSk7XG5cbiAgICAgICAgICBpZiAodGFyZ2V0Q2xhc3MpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzUmVmZXJlbmNlQ29kZSA9IHRhcmdldENsYXNzLnJlcGxhY2UoJ25nLXRucy0nLCAnJyk7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXREaXZXaXRoUmVmQ29kZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGRpdi5uZy10bnMtJHtjbGFzc1JlZmVyZW5jZUNvZGV9YCk7XG5cbiAgICAgICAgICAgIGlmICh0YXJnZXREaXZXaXRoUmVmQ29kZSkge1xuICAgICAgICAgICAgICB0YXJnZXREaXZXaXRoUmVmQ29kZS5jbGFzc0xpc3QuYWRkKCdtdWx0aXNlbGVjdC1mbGFncycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIDIwMCk7XG4gIH1cblxuICBwdWJsaWMgb25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFnZWQpIHtcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlYXJjaCgkZXZlbnQ/OiBhbnksIGZvcmNlU2VhcmNoID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSA9ICRldmVudD8uZmlsdGVyLnRvVXBwZXJDYXNlKCkgfHwgJyc7XG4gICAgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSA9IC0xO1xuICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gMDtcbiAgICBpZiAoZm9yY2VTZWFyY2ggfHwgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoVG9TZXJ2aWNlKSB7XG4gICAgICB0aGlzLnBhZ2VSZXN1bHRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcGFnZVJlc3VsdHMoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWx0ZXJMaXN0QnlRdWVyeSh0aGlzLnBhZ2VkU3VnZXN0aW9uLCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS50b1VwcGVyQ2FzZSgpKTtcbiAgICB0aGlzLm9wdGlvbnMgPSBmaWx0ZXJlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMCk7XG5cbiAgICBpZiAodGhpcy5wYWdlZFN1Z2VzdGlvbj8ubGVuZ3RoICYmIHRoaXMucGFnZWRTdWdlc3Rpb24ubGVuZ3RoID4gMjApIHtcbiAgICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMDtcbiAgICB9XG5cbiAgICB0aGlzLnNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJMaXN0QnlRdWVyeShsaXN0OiBMaXN0SXRlbVtdID0gW10sIHF1ZXJ5OiBzdHJpbmcpOiBMaXN0SXRlbVtdIHtcbiAgICByZXR1cm4gbGlzdC5maWx0ZXIoXG4gICAgICAob3B0KSA9PiBTdHJpbmcob3B0LmNvZGUpLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpIHx8IG9wdC5uYW1lLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpXG4gICAgKTtcbiAgfVxuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpIHtcbiAgICBjb25zdCBjb2RlID1cbiAgICAgIChPYmplY3RVdGlsLmlzVmFsaWQodGhpcy5jb250cm9sLnZhbHVlPy5jb2RlKSAmJiBgJHt0aGlzLmNvbnRyb2wudmFsdWU/LmNvZGV9YCkgfHwgYCR7dGhpcy5jb250cm9sLnZhbHVlfWA7XG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAmJiB0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgbGV0IGl0ZW1zQXJyYXkgPSB0aGlzLm9wdGlvbnM7XG4gICAgICBpZiAodGhpcy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgaXRlbXNBcnJheSA9IHRoaXMub3B0aW9ucztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGl0ZW1Gcm9tU3VnZ2VzdGlvbnMgPSBpdGVtc0FycmF5LmZpbmQoKG9wdCkgPT4gYCR7b3B0LmNvZGV9YC50b1VwcGVyQ2FzZSgpID09PSBjb2RlLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgaWYgKGl0ZW1Gcm9tU3VnZ2VzdGlvbnMpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGl0ZW1Gcm9tU3VnZ2VzdGlvbnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VydmljZT8uZ2V0QnlJZCgrY29kZSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShyZXNwb25zZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAmJiAhdGhpcy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VydmljZT8uZ2V0QnlJZCgrY29kZSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm11bHRpc2VsZWN0LWZpZWxkLWlucHV0LWNvbnRhaW5lclwiPlxuICA8cC1tdWx0aVNlbGVjdFxuICAgICpuZ0lmPVwiIWZpbHRlclZpcnR1YWxTY3Jvb2xcIlxuICAgICNtdWx0aXNlbGVjdFxuICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgb3B0aW9uTGFiZWw9XCJuYW1lXCJcbiAgICBvcHRpb25WYWx1ZT1cImNvZGVcIlxuICAgIGRyb3Bkb3duSWNvbj1cImZhcyBmYS1zb3J0LWRvd25cIlxuICAgIHNlbGVjdGVkSXRlbXNMYWJlbD1cIlNlbGVjaW9uYXIgdG9kb3NcIlxuICAgIFtwYW5lbFN0eWxlQ2xhc3NdPVwiZmlsdGVyID8gJ2hhcy1maWx0ZXInIDogJydcIlxuICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgICBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwib3B0aW9ucy5sZW5ndGggLSAxXCJcbiAgICBbc2hvd1RvZ2dsZUFsbF09XCJzaG93U2VsZWN0QWxsT3B0aW9uXCJcbiAgICBbZHJvcGRvd25JY29uXT1cIidwaSBwaS1jaGV2cm9uLWRvd24nXCJcbiAgICBbZGlzcGxheV09XCJkaXNwbGF5XCJcbiAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAob25QYW5lbEhpZGUpPVwib25DbG9zZVBhbmVsLmVtaXQoJGV2ZW50KVwiXG4gICAgKG9uUGFuZWxTaG93KT1cImN1c3RvbUZvcm1hdHRpbmdNdWx0aVNlbGVjdEZpZWxkV2l0aEZsYWdzKClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3Nob3dIZWFkZXJdPVwic2hvd0hlYWRlclwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ZsYWdzXCI+XG4gICAgICA8bmctdGVtcGxhdGUgbGV0LW9wdGlvbiBwVGVtcGxhdGU9XCJpdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLW5vZ3V0dGVyIHctZnVsbCBmbGV4XCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtZDpjb2wtNiBzbTpjb2wtMTIgYWxpZ24tY29udGVudC1jZW50ZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uLmFsaWduID09PSAnY2VudGVyJyA/ICdtZDp0ZXh0LWNlbnRlcicgOiAnbWQ6dGV4dC1sZWZ0J1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAqbmdJZj1cIm9wdGlvbi50eXBlID09ICdpbWcnXCJcbiAgICAgICAgICAgICAgW3NyY109XCJvcHRpb24uaW1nU291cmNlXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uLmltZ0NsYXNzXCJcbiAgICAgICAgICAgICAgW3N0eWxlXT1cInsgaGVpZ2h0OiBvcHRpb24uaW1nU2l6ZSArICdweCcgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgKm5nSWY9XCJvcHRpb24udHlwZSA9PSAnaWNvbidcIlxuICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cIm9wdGlvbi5pY29uU291cmNlXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7ICdmb250LXNpemUnOiBvcHRpb24uaWNvblNpemUgfVwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm9wdGlvbi5zaG93RGVzY3JpcHRpb25PblJpZ2h0XCIgY2xhc3M9XCJjb2wtNiBoaWRkZW4gbWQ6YmxvY2sgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2tcIj57eyBvcHRpb24ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3AtbXVsdGlTZWxlY3Q+XG5cbiAgPHAtbXVsdGlTZWxlY3RcbiAgICAqbmdJZj1cImZpbHRlclZpcnR1YWxTY3Jvb2xcIlxuICAgICNtdWx0aXNlbGVjdFxuICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgb3B0aW9uTGFiZWw9XCJuYW1lXCJcbiAgICBvcHRpb25WYWx1ZT1cImNvZGVcIlxuICAgIGRyb3Bkb3duSWNvbj1cImZhcyBmYS1zb3J0LWRvd25cIlxuICAgIHNlbGVjdGVkSXRlbXNMYWJlbD1cIlNlbGVjaW9uYXIgdG9kb3NcIlxuICAgIFtwYW5lbFN0eWxlQ2xhc3NdPVwiZmlsdGVyID8gJ2hhcy1maWx0ZXInIDogJydcIlxuICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgICBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwib3B0aW9ucy5sZW5ndGggLSAxXCJcbiAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICBbc2hvd1RvZ2dsZUFsbF09XCJzaG93U2VsZWN0QWxsT3B0aW9uXCJcbiAgICBbZHJvcGRvd25JY29uXT1cIidwaSBwaS1jaGV2cm9uLWRvd24nXCJcbiAgICBbZGlzcGxheV09XCJkaXNwbGF5XCJcbiAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAob25GaWx0ZXIpPVwic2VhcmNoKCRldmVudClcIlxuICAgIChvblBhbmVsU2hvdyk9XCJvbk9wZW5BdXRvY29tcGxldGVQYW5lbCgpXCJcbiAgICAob25QYW5lbEhpZGUpPVwib25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgPlxuICA8L3AtbXVsdGlTZWxlY3Q+XG4gIDxwLW11bHRpU2VsZWN0XG4gICAgKm5nSWY9XCJmaWx0ZXJWaXJ0dWFsU2Nyb29sXCJcbiAgICAjbXVsdGlzZWxlY3RcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgIG9wdGlvbkxhYmVsPVwibmFtZVwiXG4gICAgb3B0aW9uVmFsdWU9XCJjb2RlXCJcbiAgICBkcm9wZG93bkljb249XCJmYXMgZmEtc29ydC1kb3duXCJcbiAgICBzZWxlY3RlZEl0ZW1zTGFiZWw9XCJTZWxlY2lvbmFyIHRvZG9zXCJcbiAgICBbcGFuZWxTdHlsZUNsYXNzXT1cImZpbHRlciA/ICdoYXMtZmlsdGVyJyA6ICcnXCJcbiAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbZmlsdGVyXT1cImZpbHRlclwiXG4gICAgW21heFNlbGVjdGVkTGFiZWxzXT1cIm9wdGlvbnMubGVuZ3RoIC0gMVwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgW3Nob3dUb2dnbGVBbGxdPVwic2hvd1NlbGVjdEFsbE9wdGlvblwiXG4gICAgW2Ryb3Bkb3duSWNvbl09XCIncGkgcGktY2hldnJvbi1kb3duJ1wiXG4gICAgW2Rpc3BsYXldPVwiZGlzcGxheVwiXG4gICAgKG9uQ2hhbmdlKT1cIm9uQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgKG9uRmlsdGVyKT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAob25QYW5lbFNob3cpPVwib25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKVwiXG4gICAgKG9uUGFuZWxIaWRlKT1cIm9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gID5cbiAgPC9wLW11bHRpU2VsZWN0PlxuICA8c3BhbiBjbGFzcz1cImlucHV0LWVycm9yXCI+e3sgZmllbGRFcnJvckxhYmVsKCkgfX08L3NwYW4+XG48L2Rpdj5cbiJdfQ==
@@ -2847,11 +2847,11 @@ class MultiselectFieldComponent {
2847
2847
  }
2848
2848
  }
2849
2849
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiselectFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
2850
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { pagedSugestion: "pagedSugestion", isRequired: "isRequired", control: "control", label: "label", options: "options", filter: "filter", showSelectAllOption: "showSelectAllOption", display: "display", paged: "paged", disabled: "disabled", minLengthToService: "minLengthToService", initialLoad: "initialLoad", service: "service", filterVirtualScrool: "filterVirtualScrool", showHeader: "showHeader", showFlags: "showFlags", showFlagsOptions: "showFlagsOptions" }, outputs: { onChange: "onChange", onClosePanel: "onClosePanel" }, ngImport: i0, template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$2.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] }); }
2850
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { pagedSugestion: "pagedSugestion", isRequired: "isRequired", control: "control", label: "label", options: "options", filter: "filter", showSelectAllOption: "showSelectAllOption", display: "display", paged: "paged", disabled: "disabled", minLengthToService: "minLengthToService", initialLoad: "initialLoad", service: "service", filterVirtualScrool: "filterVirtualScrool", showHeader: "showHeader", showFlags: "showFlags", showFlagsOptions: "showFlagsOptions" }, outputs: { onChange: "onChange", onClosePanel: "onClosePanel" }, ngImport: i0, template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div *ngIf=\"option.showDescriptionOnRight\" class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$2.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] }); }
2851
2851
  }
2852
2852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
2853
2853
  type: Component,
2854
- args: [{ selector: 'vector-multiselect-field', template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"] }]
2854
+ args: [{ selector: 'vector-multiselect-field', template: "<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div *ngIf=\"option.showDescriptionOnRight\" class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".multiselect-field-input-container{height:62px}.multiselect-field-input-container .input-error{font-size:.7em;color:var(--error-color)}.multiselect-field-input-container div.p-multiselect-token{padding:auto 1em!important;background:#eff0f6!important}\n"] }]
2855
2855
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { pagedSugestion: [{
2856
2856
  type: Input
2857
2857
  }], isRequired: [{