@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1217-b → 1.5.1217-d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +2 -2
  2. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +4 -3
  3. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +4 -3
  4. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +2 -2
  5. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +3 -3
  6. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +2 -2
  7. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +5 -3
  8. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +2 -1
  9. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +2 -2
  10. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +2 -2
  11. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +10 -7
  12. package/esm2022/lib/components/bmb-table-lite/bmb-table-lite.component.mjs +564 -0
  13. package/esm2022/lib/components/bmb-table-lite/bmb-table-lite.interface.mjs +2 -0
  14. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +5 -4
  15. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +2 -2
  16. package/esm2022/public-api.mjs +2 -1
  17. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +585 -24
  18. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  19. package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +2 -1
  20. package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +2 -1
  21. package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +3 -1
  22. package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +8 -1
  23. package/lib/components/bmb-table-lite/bmb-table-lite.component.d.ts +97 -0
  24. package/lib/components/bmb-table-lite/bmb-table-lite.interface.d.ts +22 -0
  25. package/lib/components/bmb-tags/bmb-tags.component.d.ts +2 -1
  26. package/package.json +1 -1
  27. package/public-api.d.ts +1 -0
@@ -174,7 +174,7 @@ export class BmbInputTagsComponent {
174
174
  return showError(this.control());
175
175
  }
176
176
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputTagsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbInputTagsComponent, isStandalone: true, selector: "bmb-input-tags", inputs: { errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, tagOptions: { classPropertyName: "tagOptions", publicName: "tagOptions", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagOptions: "tagOptionsChange", control: "controlChange", onKeyDown: "onKeyDown", onChange: "onChange" }, providers: [], usesOnChanges: true, ngImport: i0, template: "<bmb-input-validator\n class=\"bmb_input-tags\"\n [name]=\"name()\"\n [value]=\"getValidInitialValues()\"\n [label]=\"label()!\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"customValidation()\"\n clickOutside\n (clickOutside)=\"closeList()\"\n [inputId]=\"inputId()\"\n>\n <section\n class=\"bmb_input-tags-container\"\n [ngClass]=\"{\n 'bmb_input-tags-container-error': shouldShowError,\n 'bmb_input-tags-container-focus': isFocused()\n }\"\n >\n <bmb-input-content\n class=\"bmb_input-tags-filter\"\n type=\"text\"\n [inputId]=\"inputId()\"\n [name]=\"getUUID('filter')\"\n [control]=\"filterControl\"\n [placeholder]=\"placeholder()\"\n (click)=\"openList()\"\n (onBlur)=\"handleValidity()\"\n (keydown)=\"handleKeyDown($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n @if (!!selectedTags && !!selectedTags.length) {\n <div class=\"bmb_input-tags-selected-list\" [tabIndex]=\"-1\">\n @for (item of selectedTags; track $index) {\n <bmb-tag\n [text]=\"item.selectedText!\"\n [dismissible]=\"true\"\n [isDisabled]=\"disabled()\"\n (clickedTag)=\"removeTag(item)\"\n (closedTag)=\"removeTag(item)\"\n />\n }\n </div>\n }\n </section>\n <input\n hidden\n type=\"text\"\n [id]=\"name()\"\n [name]=\"name()\"\n [formControl]=\"control()\"\n />\n <dialog [open]=\"showDropdown\" class=\"bmb_generic-dialog\">\n <bmb-dropdown-content\n class=\"bmb_input-tags-dialog\"\n name=\"list\"\n [selectedOption]=\"control().value\"\n [isKeyboardEvent]=\"isKeyboardEvent\"\n [(items)]=\"filteredOptions\"\n [(isOpen)]=\"showDropdown\"\n />\n </dialog>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-tags-container{display:flex;flex-direction:column;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease;min-height:3rem;height:auto}.bmb_input-tags-container-error{border-color:var(--input-error)}.bmb_input-tags-container:focus,.bmb_input-tags-container:focus-visible,.bmb_input-tags-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-tags-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button{display:block;padding:.6875rem 1rem}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element{width:auto;border-radius:var(--bmb-spacing-m);padding:var(--bmb-spacing-s);height:1.625rem;border:.0625rem solid transparent}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{border-color:var(--menu_select-on-surface-hovered-border)}.bmb_input-tags-filter .bmb_field-input-normal{border:0;height:2.75rem}.bmb_input-tags-filter .bmb_field-input-normal:focus,.bmb_input-tags-filter .bmb_field-input-normal:focus-visible,.bmb_input-tags-filter .bmb_field-input-normal:hover{border:0;outline:0 none}.bmb_input-tags-selected-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--bmb-spacing-s);max-height:6.9375rem;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "component", type: BmbTagComponent, selector: "bmb-tag", inputs: ["appearance", "text", "grouped", "dismissible", "rounded", "activityTag", "isDisabled", "isActive"], outputs: ["closedTag", "clickedTag"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }, { kind: "component", type: BmbDropdownContentComponent, selector: "bmb-dropdown-content", inputs: ["selectedOption", "items", "isKeyboardEvent", "enableFilter", "isOpen"], outputs: ["itemsChange", "isKeyboardEventChange", "isOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbInputTagsComponent, isStandalone: true, selector: "bmb-input-tags", inputs: { errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, tagOptions: { classPropertyName: "tagOptions", publicName: "tagOptions", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagOptions: "tagOptionsChange", control: "controlChange", onKeyDown: "onKeyDown", onChange: "onChange" }, providers: [], usesOnChanges: true, ngImport: i0, template: "<bmb-input-validator\n class=\"bmb_input-tags\"\n [name]=\"name()\"\n [value]=\"getValidInitialValues()\"\n [label]=\"label()!\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"customValidation()\"\n clickOutside\n (clickOutside)=\"closeList()\"\n [inputId]=\"inputId()\"\n>\n <section\n class=\"bmb_input-tags-container\"\n [ngClass]=\"{\n 'bmb_input-tags-container-error': shouldShowError,\n 'bmb_input-tags-container-focus': isFocused()\n }\"\n >\n <bmb-input-content\n class=\"bmb_input-tags-filter\"\n type=\"text\"\n [inputId]=\"inputId()\"\n [name]=\"getUUID('filter')\"\n [control]=\"filterControl\"\n [placeholder]=\"placeholder()\"\n (click)=\"openList()\"\n (onBlur)=\"handleValidity()\"\n (keydown)=\"handleKeyDown($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n @if (!!selectedTags && !!selectedTags.length) {\n <div class=\"bmb_input-tags-selected-list\" [tabIndex]=\"-1\">\n @for (item of selectedTags; track $index) {\n <bmb-tag\n [text]=\"item.selectedText!\"\n [dismissible]=\"true\"\n [isDisabled]=\"disabled()\"\n (clickedTag)=\"removeTag(item)\"\n (closedTag)=\"removeTag(item)\"\n />\n }\n </div>\n }\n </section>\n <input\n hidden\n type=\"text\"\n [id]=\"name()\"\n [name]=\"name()\"\n [formControl]=\"control()\"\n />\n <dialog [open]=\"showDropdown\" class=\"bmb_generic-dialog\">\n <bmb-dropdown-content\n class=\"bmb_input-tags-dialog\"\n name=\"list\"\n [selectedOption]=\"control().value\"\n [isKeyboardEvent]=\"isKeyboardEvent\"\n [(items)]=\"filteredOptions\"\n [(isOpen)]=\"showDropdown\"\n />\n </dialog>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-tags-container{display:flex;flex-direction:column;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease;min-height:3rem;height:auto}.bmb_input-tags-container-error{border-color:var(--input-error)}.bmb_input-tags-container:focus,.bmb_input-tags-container:focus-visible,.bmb_input-tags-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-tags-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button{display:block;padding:.6875rem 1rem}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element{width:auto;border-radius:var(--bmb-spacing-m);padding:var(--bmb-spacing-s);height:1.625rem;border:.0625rem solid transparent}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{border-color:var(--menu_select-on-surface-hovered-border)}.bmb_input-tags-filter .bmb_field-input-normal{border:0;height:2.75rem}.bmb_input-tags-filter .bmb_field-input-normal:focus,.bmb_input-tags-filter .bmb_field-input-normal:focus-visible,.bmb_input-tags-filter .bmb_field-input-normal:hover{border:0;outline:0 none}.bmb_input-tags-selected-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--bmb-spacing-s);max-height:6.9375rem;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "component", type: BmbTagComponent, selector: "bmb-tag", inputs: ["appearance", "text", "grouped", "dismissible", "rounded", "activityTag", "isDisabled", "isActive", "enableClick"], outputs: ["closedTag", "clickedTag"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }, { kind: "component", type: BmbDropdownContentComponent, selector: "bmb-dropdown-content", inputs: ["selectedOption", "items", "isKeyboardEvent", "enableFilter", "isOpen"], outputs: ["itemsChange", "isKeyboardEventChange", "isOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
178
178
  }
179
179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputTagsComponent, decorators: [{
180
180
  type: Component,
@@ -188,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
188
188
  BmbDropdownContentComponent,
189
189
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [], template: "<bmb-input-validator\n class=\"bmb_input-tags\"\n [name]=\"name()\"\n [value]=\"getValidInitialValues()\"\n [label]=\"label()!\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"customValidation()\"\n clickOutside\n (clickOutside)=\"closeList()\"\n [inputId]=\"inputId()\"\n>\n <section\n class=\"bmb_input-tags-container\"\n [ngClass]=\"{\n 'bmb_input-tags-container-error': shouldShowError,\n 'bmb_input-tags-container-focus': isFocused()\n }\"\n >\n <bmb-input-content\n class=\"bmb_input-tags-filter\"\n type=\"text\"\n [inputId]=\"inputId()\"\n [name]=\"getUUID('filter')\"\n [control]=\"filterControl\"\n [placeholder]=\"placeholder()\"\n (click)=\"openList()\"\n (onBlur)=\"handleValidity()\"\n (keydown)=\"handleKeyDown($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n @if (!!selectedTags && !!selectedTags.length) {\n <div class=\"bmb_input-tags-selected-list\" [tabIndex]=\"-1\">\n @for (item of selectedTags; track $index) {\n <bmb-tag\n [text]=\"item.selectedText!\"\n [dismissible]=\"true\"\n [isDisabled]=\"disabled()\"\n (clickedTag)=\"removeTag(item)\"\n (closedTag)=\"removeTag(item)\"\n />\n }\n </div>\n }\n </section>\n <input\n hidden\n type=\"text\"\n [id]=\"name()\"\n [name]=\"name()\"\n [formControl]=\"control()\"\n />\n <dialog [open]=\"showDropdown\" class=\"bmb_generic-dialog\">\n <bmb-dropdown-content\n class=\"bmb_input-tags-dialog\"\n name=\"list\"\n [selectedOption]=\"control().value\"\n [isKeyboardEvent]=\"isKeyboardEvent\"\n [(items)]=\"filteredOptions\"\n [(isOpen)]=\"showDropdown\"\n />\n </dialog>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-tags-container{display:flex;flex-direction:column;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease;min-height:3rem;height:auto}.bmb_input-tags-container-error{border-color:var(--input-error)}.bmb_input-tags-container:focus,.bmb_input-tags-container:focus-visible,.bmb_input-tags-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-tags-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button{display:block;padding:.6875rem 1rem}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element{width:auto;border-radius:var(--bmb-spacing-m);padding:var(--bmb-spacing-s);height:1.625rem;border:.0625rem solid transparent}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{border-color:var(--menu_select-on-surface-hovered-border)}.bmb_input-tags-filter .bmb_field-input-normal{border:0;height:2.75rem}.bmb_input-tags-filter .bmb_field-input-normal:focus,.bmb_input-tags-filter .bmb_field-input-normal:focus-visible,.bmb_input-tags-filter .bmb_field-input-normal:hover{border:0;outline:0 none}.bmb_input-tags-selected-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--bmb-spacing-s);max-height:6.9375rem;overflow:auto}\n"] }]
190
190
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1pbnB1dC10YWdzL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQtdGFncy9ibWItaW5wdXQtdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFFakIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBTS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRTNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFP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Q3pEZiw4Z0VBcUVBLGt3UER4QkksWUFBWSw0SEFDWixtQkFBbUIsMGtCQUNuQixxQkFBcUIsc0ZBQ3JCLGVBQWUsd01BQ2YsMEJBQTBCLHFiQUMxQix3QkFBd0IsdWJBQ3hCLDJCQUEyQjs7NEZBUWxCLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLDJCQUEyQjtxQkFDNUIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm1iVGFnQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9ibWItdGFncy9ibWItdGFncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICBtb2RlbCxcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUJtYkRyb3Bkb3duSXRlbSB9IGZyb20gJy4uL2JtYi1kcm9wZG93bi9ibWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElCbWJJbnB1dEVycm9yLFxuICBJQm1iSW5wdXRUb29sdGlwUG9zaXRpb24sXG59IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdXRpbHMvY2xpY2tvdXRzaWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNvbnZlcnRMaXN0VG9TZWxlY3RMaXN0LFxuICBmaWx0ZXJlZFZhbHVlLFxuICBnZXRTZWxlY3RlZFZhbHVlcyxcbiAgZ2V0VmFsaWRJbml0aWFsVmFsdWVzLFxufSBmcm9tICcuLi8uLi91dGlscy9kcm9wZG93bic7XG5pbXBvcnQgeyBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQtdmFsaWRhdG9yL2JtYi1pbnB1dC12YWxpZGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkRyb3Bkb3duQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3V0aWxzL2JtYi1kcm9wZG93bi1jb250ZW50L2JtYi1kcm9wZG93bi1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlucHV0L2JtYi1pbnB1dC1jb250ZW50L2JtYi1pbnB1dC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRVVUlEIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXG4gIGhhbmRsZVZhbGlkaXR5LFxuICBuZXdGb3JtQ29udHJvbEJ5VHlwZSxcbiAgc2hvd0Vycm9yLFxufSBmcm9tICcuLi8uLi91dGlscy9mb3JtQ29udHJvbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1pbnB1dC10YWdzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcbiAgICBCbWJUYWdDb21wb25lbnQsXG4gICAgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQsXG4gICAgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50LFxuICAgIEJtYkRyb3Bkb3duQ29udGVudENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEJtYklucHV0VGFnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgZXJyb3JNZXNzYWdlID0gaW5wdXQ8c3RyaW5nIHwgSUJtYklucHV0RXJyb3I+KCcnKTtcbiAgdG9vbHRpcCA9IGlucHV0PHN0cmluZz4oJycpO1xuICB0b29sdGlwUG9zaXRpb24gPSBpbnB1dDxJQm1iSW5wdXRUb29sdGlwUG9zaXRpb24+KHtcbiAgICBhbGlnbjogJ2Fib3ZlJyxcbiAgICBqdXN0aWZ5OiAnYmVmb3JlJyxcbiAgfSk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG1heFNlbGVjdGVkSXRlbXMgPSBpbnB1dDxudW1iZXI+KCk7IC8vRGVwcmVjYXRlZFxuICBuYW1lID0gaW5wdXQ8c3RyaW5nPihnZXRVVUlEKCkpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPignJyk7XG4gIHNob3dFcnJvciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaW5wdXRJZCA9IGlucHV0PHN0cmluZz4odGhpcy5uYW1lKCkpO1xuICBjdXN0b21WYWxpZGF0aW9uID0gaW5wdXQ8VmFsaWRhdG9yRm4+KCk7XG5cbiAgdGFnT3B0aW9ucyA9IG1vZGVsPHN0cmluZ1tdIHwgSUJtYkRyb3Bkb3duSXRlbVtdPihbXSk7XG4gIGNvbnRyb2wgPSBtb2RlbDxGb3JtQ29udHJvbD4obmV3Rm9ybUNvbnRyb2xCeVR5cGUoKSk7XG5cbiAgb25LZXlEb3duID0gb3V0cHV0PEtleWJvYXJkRXZlbnQ+KCk7XG4gIG9uQ2hhbmdlID0gb3V0cHV0PHN0cmluZ1tdPigpO1xuXG4gIHV1aWQ6IHN0cmluZyA9IGdldFVVSUQoKTtcbiAgc2hvd0Ryb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkVGFnczogSURyb3Bkb3duSXRlbVtdID0gW107XG4gIGZpbHRlcmVkT3B0aW9uczogSURyb3Bkb3duSXRlbVtdID0gW107XG4gIGZpbHRlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgaXRlbXM6IElEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBpc0ZvY3VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBpc0tleWJvYXJkRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDb250cm9sTnVsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB0aGlzLmZpbHRlckNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIGVsc2UgdGhpcy5maWx0ZXJDb250cm9sLmVuYWJsZSgpO1xuXG4gICAgdGhpcy5maWx0ZXJDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IGZpbHRlcmVkVmFsdWUodmFsdWUsIHRoaXMuaXRlbXMpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuY29udHJvbCgpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVGFncyh2YWx1ZSB8fCBbXSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2woKSkge1xuICAgICAgdGhpcy5jb250cm9sLnNldChhc3NpZ25OZXdGb3JtQ29udHJvbCh0aGlzLm5hbWUoKSwgdGhpcy5jb250cm9sKCkpISk7XG4gICAgICB0aGlzLmlzQ29udHJvbE51bGwgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWyd0YWdPcHRpb25zJ10pIHtcbiAgICAgIHRoaXMuaW5pdE9wdGlvbnMoY2hhbmdlc1sndGFnT3B0aW9ucyddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uc2V0VmFsdWUodGhpcy5nZXRWYWxpZEluaXRpYWxWYWx1ZXMoKSk7XG4gICAgfVxuICB9XG5cbiAgaW5pdE9wdGlvbnMobGlzdDogc3RyaW5nW10gfCBJQm1iRHJvcGRvd25JdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zID0gY29udmVydExpc3RUb1NlbGVjdExpc3QobGlzdCk7XG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMubWFwKChlbGVtZW50OiBJRHJvcGRvd25JdGVtKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lbGVtZW50LFxuICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoZWxlbWVudCk7XG4gICAgICAgIH0sXG4gICAgICB9IGFzIElEcm9wZG93bkl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldFNlbGVjdGVkVGFncyh0aGlzLmdldFZhbGlkSW5pdGlhbFZhbHVlcygpKTtcblxuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gWy4uLnRoaXMuaXRlbXNdO1xuICB9XG5cbiAgZ2V0VVVJRChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtuYW1lfV8ke3RoaXMubmFtZSgpfV8ke3RoaXMudXVpZH1gO1xuICB9XG5cbiAgZ2V0VmFsaWRJbml0aWFsVmFsdWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBpbml0aWFsVmFsdWU6IHN0cmluZ1tdIHwgc3RyaW5nID0gZ2V0VmFsaWRJbml0aWFsVmFsdWVzKFxuICAgICAgdGhpcy5jb250cm9sKCkudmFsdWUsXG4gICAgICB0aGlzLnZhbHVlKCksXG4gICAgICB0aGlzLnRhZ09wdGlvbnMoKSxcbiAgICAgIHRydWUsXG4gICAgKTtcblxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUgOiBbXTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVmFsdWUoZWxlbWVudDogSURyb3Bkb3duSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbCgpLnNldFZhbHVlKFxuICAgICAgZ2V0U2VsZWN0ZWRWYWx1ZXModGhpcy5jb250cm9sKCkudmFsdWUsIGVsZW1lbnQudmFsdWUhKSxcbiAgICApO1xuICAgIHRoaXMuZmlsdGVyQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuY29udHJvbCgpLnZhbHVlKTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVGFncyhjb250cm9sVmFsdWU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFRhZ3MgPSB0aGlzLml0ZW1zLmZpbHRlcigoeyB2YWx1ZSB9KSA9PlxuICAgICAgY29udHJvbFZhbHVlLmluY2x1ZGVzKHZhbHVlISksXG4gICAgKTtcbiAgfVxuXG4gIHJlbW92ZVRhZyh0YWc6IElEcm9wZG93bkl0ZW0pIHtcbiAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodGFnKTtcbiAgfVxuXG4gIG9wZW5MaXN0KCkge1xuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGNsb3NlTGlzdCgpIHtcbiAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xuICAgIHRoaXMuaXNLZXlib2FyZEV2ZW50ID0gZmFsc2U7XG4gIH1cblxuICBzZWxlY3RPcHRpb25XaXRoS2V5KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRMZW5ndGg6IG51bWJlciA9IHRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aDtcblxuICAgICAgaWYgKCEhc2VsZWN0ZWRMZW5ndGgpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHRoaXMuZmlsdGVyZWRPcHRpb25zWzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkT3B0aW9uKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKFxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCAtIDFdLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFkZE9wdGlvbih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnRhZ09wdGlvbnMoKVswXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG5ld1RhZ09wdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgICAuLi4odGhpcy50YWdPcHRpb25zKCkgYXMgc3RyaW5nW10pLFxuICAgICAgICB2YWx1ZSxcbiAgICAgIF07XG4gICAgICB0aGlzLnRhZ09wdGlvbnMuc2V0KFsuLi5uZXcgU2V0KG5ld1RhZ09wdGlvbnMpXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld09wdGlvbjogSUJtYkRyb3Bkb3duSXRlbSA9IHtcbiAgICAgICAgbmFtZTogdmFsdWUsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBzZWxlY3RlZFRleHQ6IHZhbHVlLFxuICAgICAgICBpZDogZ2V0VVVJRCgpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IG5ld0xpc3Q6IElCbWJEcm9wZG93bkl0ZW1bXSA9IFtcbiAgICAgICAgLi4uKHRoaXMudGFnT3B0aW9ucygpIGFzIElCbWJEcm9wZG93bkl0ZW1bXSksXG4gICAgICAgIG5ld09wdGlvbixcbiAgICAgIF07XG4gICAgICB0aGlzLnRhZ09wdGlvbnMuc2V0KFsuLi5uZXcgU2V0KG5ld0xpc3QpXSk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0T3B0aW9ucyh0aGlzLnRhZ09wdGlvbnMoKSk7XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Ym9hcmRWYWx1ZXNUb09wZW5EaWFsb2cgPSBbJyAnLCAnQXJyb3dEb3duJywgJ0Rvd24nXTtcbiAgICBjb25zdCBrZXlib2FyZFZhbHVlc1RvQWRkT3B0aW9uID0gWycsJywgJ0VudGVyJ107XG5cbiAgICBpZiAoa2V5Ym9hcmRWYWx1ZXNUb09wZW5EaWFsb2cuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgaWYgKCF0aGlzLnNob3dEcm9wZG93bikge1xuICAgICAgICB0aGlzLmlzS2V5Ym9hcmRFdmVudCA9IHRydWU7XG4gICAgICAgIHRoaXMub3Blbkxpc3QoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChrZXlib2FyZFZhbHVlc1RvQWRkT3B0aW9uLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbldpdGhLZXkodGhpcy5maWx0ZXJDb250cm9sLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVGb2N1cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNGb2N1c2VkLnNldCh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVWYWxpZGl0eSgpOiB2b2lkIHtcbiAgICBoYW5kbGVWYWxpZGl0eSh0aGlzLmNvbnRyb2woKSk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzaG93RXJyb3IodGhpcy5jb250cm9sKCkpO1xuICB9XG59XG4iLCI8Ym1iLWlucHV0LXZhbGlkYXRvclxuICBjbGFzcz1cImJtYl9pbnB1dC10YWdzXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW3ZhbHVlXT1cImdldFZhbGlkSW5pdGlhbFZhbHVlcygpXCJcbiAgW2xhYmVsXT1cImxhYmVsKCkhXCJcbiAgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2UoKVwiXG4gIFtoZWxwZXJNZXNzYWdlXT1cImhlbHBlck1lc3NhZ2UoKVwiXG4gIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXG4gIFtpc0Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICBbY29udHJvbF09XCJjb250cm9sKClcIlxuICBbc2hvd0Vycm9yXT1cInNob3VsZFNob3dFcnJvclwiXG4gIFt0b29sdGlwXT1cInRvb2x0aXAoKVwiXG4gIFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uKClcIlxuICBbY3VzdG9tVmFsaWRhdGlvbl09XCJjdXN0b21WYWxpZGF0aW9uKClcIlxuICBjbGlja091dHNpZGVcbiAgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZUxpc3QoKVwiXG4gIFtpbnB1dElkXT1cImlucHV0SWQoKVwiXG4+XG4gIDxzZWN0aW9uXG4gICAgY2xhc3M9XCJibWJfaW5wdXQtdGFncy1jb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdibWJfaW5wdXQtdGFncy1jb250YWluZXItZXJyb3InOiBzaG91bGRTaG93RXJyb3IsXG4gICAgICAnYm1iX2lucHV0LXRhZ3MtY29udGFpbmVyLWZvY3VzJzogaXNGb2N1c2VkKClcbiAgICB9XCJcbiAgPlxuICAgIDxibWItaW5wdXQtY29udGVudFxuICAgICAgY2xhc3M9XCJibWJfaW5wdXQtdGFncy1maWx0ZXJcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW2lucHV0SWRdPVwiaW5wdXRJZCgpXCJcbiAgICAgIFtuYW1lXT1cImdldFVVSUQoJ2ZpbHRlcicpXCJcbiAgICAgIFtjb250cm9sXT1cImZpbHRlckNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgKGNsaWNrKT1cIm9wZW5MaXN0KClcIlxuICAgICAgKG9uQmx1cik9XCJoYW5kbGVWYWxpZGl0eSgpXCJcbiAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAob25Gb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAvPlxuICAgIEBpZiAoISFzZWxlY3RlZFRhZ3MgJiYgISFzZWxlY3RlZFRhZ3MubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2lucHV0LXRhZ3Mtc2VsZWN0ZWQtbGlzdFwiIFt0YWJJbmRleF09XCItMVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHNlbGVjdGVkVGFnczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGJtYi10YWdcbiAgICAgICAgICAgIFt0ZXh0XT1cIml0ZW0uc2VsZWN0ZWRUZXh0IVwiXG4gICAgICAgICAgICBbZGlzbWlzc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIChjbGlja2VkVGFnKT1cInJlbW92ZVRhZyhpdGVtKVwiXG4gICAgICAgICAgICAoY2xvc2VkVGFnKT1cInJlbW92ZVRhZyhpdGVtKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L3NlY3Rpb24+XG4gIDxpbnB1dFxuICAgIGhpZGRlblxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbaWRdPVwibmFtZSgpXCJcbiAgICBbbmFtZV09XCJuYW1lKClcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sKClcIlxuICAvPlxuICA8ZGlhbG9nIFtvcGVuXT1cInNob3dEcm9wZG93blwiIGNsYXNzPVwiYm1iX2dlbmVyaWMtZGlhbG9nXCI+XG4gICAgPGJtYi1kcm9wZG93bi1jb250ZW50XG4gICAgICBjbGFzcz1cImJtYl9pbnB1dC10YWdzLWRpYWxvZ1wiXG4gICAgICBuYW1lPVwibGlzdFwiXG4gICAgICBbc2VsZWN0ZWRPcHRpb25dPVwiY29udHJvbCgpLnZhbHVlXCJcbiAgICAgIFtpc0tleWJvYXJkRXZlbnRdPVwiaXNLZXlib2FyZEV2ZW50XCJcbiAgICAgIFsoaXRlbXMpXT1cImZpbHRlcmVkT3B0aW9uc1wiXG4gICAgICBbKGlzT3BlbildPVwic2hvd0Ryb3Bkb3duXCJcbiAgICAvPlxuICA8L2RpYWxvZz5cbjwvYm1iLWlucHV0LXZhbGlkYXRvcj5cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1pbnB1dC10YWdzL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQtdGFncy9ibWItaW5wdXQtdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFFakIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBTS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRTNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFP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Q3pEZiw4Z0VBcUVBLGt3UER4QkksWUFBWSw0SEFDWixtQkFBbUIsMGtCQUNuQixxQkFBcUIsc0ZBQ3JCLGVBQWUsdU5BQ2YsMEJBQTBCLHFiQUMxQix3QkFBd0IsdWJBQ3hCLDJCQUEyQjs7NEZBUWxCLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLDJCQUEyQjtxQkFDNUIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm1iVGFnQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9ibWItdGFncy9ibWItdGFncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICBtb2RlbCxcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUJtYkRyb3Bkb3duSXRlbSB9IGZyb20gJy4uL2JtYi1kcm9wZG93bi9ibWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElCbWJJbnB1dEVycm9yLFxuICBJQm1iSW5wdXRUb29sdGlwUG9zaXRpb24sXG59IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdXRpbHMvY2xpY2tvdXRzaWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNvbnZlcnRMaXN0VG9TZWxlY3RMaXN0LFxuICBmaWx0ZXJlZFZhbHVlLFxuICBnZXRTZWxlY3RlZFZhbHVlcyxcbiAgZ2V0VmFsaWRJbml0aWFsVmFsdWVzLFxufSBmcm9tICcuLi8uLi91dGlscy9kcm9wZG93bic7XG5pbXBvcnQgeyBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQtdmFsaWRhdG9yL2JtYi1pbnB1dC12YWxpZGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkRyb3Bkb3duQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3V0aWxzL2JtYi1kcm9wZG93bi1jb250ZW50L2JtYi1kcm9wZG93bi1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlucHV0L2JtYi1pbnB1dC1jb250ZW50L2JtYi1pbnB1dC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRVVUlEIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXG4gIGhhbmRsZVZhbGlkaXR5LFxuICBuZXdGb3JtQ29udHJvbEJ5VHlwZSxcbiAgc2hvd0Vycm9yLFxufSBmcm9tICcuLi8uLi91dGlscy9mb3JtQ29udHJvbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1pbnB1dC10YWdzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcbiAgICBCbWJUYWdDb21wb25lbnQsXG4gICAgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQsXG4gICAgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50LFxuICAgIEJtYkRyb3Bkb3duQ29udGVudENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEJtYklucHV0VGFnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgZXJyb3JNZXNzYWdlID0gaW5wdXQ8c3RyaW5nIHwgSUJtYklucHV0RXJyb3I+KCcnKTtcbiAgdG9vbHRpcCA9IGlucHV0PHN0cmluZz4oJycpO1xuICB0b29sdGlwUG9zaXRpb24gPSBpbnB1dDxJQm1iSW5wdXRUb29sdGlwUG9zaXRpb24+KHtcbiAgICBhbGlnbjogJ2Fib3ZlJyxcbiAgICBqdXN0aWZ5OiAnYmVmb3JlJyxcbiAgfSk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG1heFNlbGVjdGVkSXRlbXMgPSBpbnB1dDxudW1iZXI+KCk7IC8vRGVwcmVjYXRlZFxuICBuYW1lID0gaW5wdXQ8c3RyaW5nPihnZXRVVUlEKCkpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPignJyk7XG4gIHNob3dFcnJvciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaW5wdXRJZCA9IGlucHV0PHN0cmluZz4odGhpcy5uYW1lKCkpO1xuICBjdXN0b21WYWxpZGF0aW9uID0gaW5wdXQ8VmFsaWRhdG9yRm4+KCk7XG5cbiAgdGFnT3B0aW9ucyA9IG1vZGVsPHN0cmluZ1tdIHwgSUJtYkRyb3Bkb3duSXRlbVtdPihbXSk7XG4gIGNvbnRyb2wgPSBtb2RlbDxGb3JtQ29udHJvbD4obmV3Rm9ybUNvbnRyb2xCeVR5cGUoKSk7XG5cbiAgb25LZXlEb3duID0gb3V0cHV0PEtleWJvYXJkRXZlbnQ+KCk7XG4gIG9uQ2hhbmdlID0gb3V0cHV0PHN0cmluZ1tdPigpO1xuXG4gIHV1aWQ6IHN0cmluZyA9IGdldFVVSUQoKTtcbiAgc2hvd0Ryb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkVGFnczogSURyb3Bkb3duSXRlbVtdID0gW107XG4gIGZpbHRlcmVkT3B0aW9uczogSURyb3Bkb3duSXRlbVtdID0gW107XG4gIGZpbHRlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgaXRlbXM6IElEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBpc0ZvY3VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBpc0tleWJvYXJkRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDb250cm9sTnVsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB0aGlzLmZpbHRlckNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIGVsc2UgdGhpcy5maWx0ZXJDb250cm9sLmVuYWJsZSgpO1xuXG4gICAgdGhpcy5maWx0ZXJDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IGZpbHRlcmVkVmFsdWUodmFsdWUsIHRoaXMuaXRlbXMpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuY29udHJvbCgpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVGFncyh2YWx1ZSB8fCBbXSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2woKSkge1xuICAgICAgdGhpcy5jb250cm9sLnNldChhc3NpZ25OZXdGb3JtQ29udHJvbCh0aGlzLm5hbWUoKSwgdGhpcy5jb250cm9sKCkpISk7XG4gICAgICB0aGlzLmlzQ29udHJvbE51bGwgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWyd0YWdPcHRpb25zJ10pIHtcbiAgICAgIHRoaXMuaW5pdE9wdGlvbnMoY2hhbmdlc1sndGFnT3B0aW9ucyddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uc2V0VmFsdWUodGhpcy5nZXRWYWxpZEluaXRpYWxWYWx1ZXMoKSk7XG4gICAgfVxuICB9XG5cbiAgaW5pdE9wdGlvbnMobGlzdDogc3RyaW5nW10gfCBJQm1iRHJvcGRvd25JdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zID0gY29udmVydExpc3RUb1NlbGVjdExpc3QobGlzdCk7XG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMubWFwKChlbGVtZW50OiBJRHJvcGRvd25JdGVtKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lbGVtZW50LFxuICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoZWxlbWVudCk7XG4gICAgICAgIH0sXG4gICAgICB9IGFzIElEcm9wZG93bkl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldFNlbGVjdGVkVGFncyh0aGlzLmdldFZhbGlkSW5pdGlhbFZhbHVlcygpKTtcblxuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gWy4uLnRoaXMuaXRlbXNdO1xuICB9XG5cbiAgZ2V0VVVJRChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtuYW1lfV8ke3RoaXMubmFtZSgpfV8ke3RoaXMudXVpZH1gO1xuICB9XG5cbiAgZ2V0VmFsaWRJbml0aWFsVmFsdWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBpbml0aWFsVmFsdWU6IHN0cmluZ1tdIHwgc3RyaW5nID0gZ2V0VmFsaWRJbml0aWFsVmFsdWVzKFxuICAgICAgdGhpcy5jb250cm9sKCkudmFsdWUsXG4gICAgICB0aGlzLnZhbHVlKCksXG4gICAgICB0aGlzLnRhZ09wdGlvbnMoKSxcbiAgICAgIHRydWUsXG4gICAgKTtcblxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUgOiBbXTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVmFsdWUoZWxlbWVudDogSURyb3Bkb3duSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbCgpLnNldFZhbHVlKFxuICAgICAgZ2V0U2VsZWN0ZWRWYWx1ZXModGhpcy5jb250cm9sKCkudmFsdWUsIGVsZW1lbnQudmFsdWUhKSxcbiAgICApO1xuICAgIHRoaXMuZmlsdGVyQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuY29udHJvbCgpLnZhbHVlKTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVGFncyhjb250cm9sVmFsdWU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFRhZ3MgPSB0aGlzLml0ZW1zLmZpbHRlcigoeyB2YWx1ZSB9KSA9PlxuICAgICAgY29udHJvbFZhbHVlLmluY2x1ZGVzKHZhbHVlISksXG4gICAgKTtcbiAgfVxuXG4gIHJlbW92ZVRhZyh0YWc6IElEcm9wZG93bkl0ZW0pIHtcbiAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodGFnKTtcbiAgfVxuXG4gIG9wZW5MaXN0KCkge1xuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGNsb3NlTGlzdCgpIHtcbiAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xuICAgIHRoaXMuaXNLZXlib2FyZEV2ZW50ID0gZmFsc2U7XG4gIH1cblxuICBzZWxlY3RPcHRpb25XaXRoS2V5KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRMZW5ndGg6IG51bWJlciA9IHRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aDtcblxuICAgICAgaWYgKCEhc2VsZWN0ZWRMZW5ndGgpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHRoaXMuZmlsdGVyZWRPcHRpb25zWzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkT3B0aW9uKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKFxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCAtIDFdLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFkZE9wdGlvbih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnRhZ09wdGlvbnMoKVswXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG5ld1RhZ09wdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgICAuLi4odGhpcy50YWdPcHRpb25zKCkgYXMgc3RyaW5nW10pLFxuICAgICAgICB2YWx1ZSxcbiAgICAgIF07XG4gICAgICB0aGlzLnRhZ09wdGlvbnMuc2V0KFsuLi5uZXcgU2V0KG5ld1RhZ09wdGlvbnMpXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld09wdGlvbjogSUJtYkRyb3Bkb3duSXRlbSA9IHtcbiAgICAgICAgbmFtZTogdmFsdWUsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBzZWxlY3RlZFRleHQ6IHZhbHVlLFxuICAgICAgICBpZDogZ2V0VVVJRCgpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IG5ld0xpc3Q6IElCbWJEcm9wZG93bkl0ZW1bXSA9IFtcbiAgICAgICAgLi4uKHRoaXMudGFnT3B0aW9ucygpIGFzIElCbWJEcm9wZG93bkl0ZW1bXSksXG4gICAgICAgIG5ld09wdGlvbixcbiAgICAgIF07XG4gICAgICB0aGlzLnRhZ09wdGlvbnMuc2V0KFsuLi5uZXcgU2V0KG5ld0xpc3QpXSk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0T3B0aW9ucyh0aGlzLnRhZ09wdGlvbnMoKSk7XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Ym9hcmRWYWx1ZXNUb09wZW5EaWFsb2cgPSBbJyAnLCAnQXJyb3dEb3duJywgJ0Rvd24nXTtcbiAgICBjb25zdCBrZXlib2FyZFZhbHVlc1RvQWRkT3B0aW9uID0gWycsJywgJ0VudGVyJ107XG5cbiAgICBpZiAoa2V5Ym9hcmRWYWx1ZXNUb09wZW5EaWFsb2cuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgaWYgKCF0aGlzLnNob3dEcm9wZG93bikge1xuICAgICAgICB0aGlzLmlzS2V5Ym9hcmRFdmVudCA9IHRydWU7XG4gICAgICAgIHRoaXMub3Blbkxpc3QoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChrZXlib2FyZFZhbHVlc1RvQWRkT3B0aW9uLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbldpdGhLZXkodGhpcy5maWx0ZXJDb250cm9sLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVGb2N1cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNGb2N1c2VkLnNldCh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVWYWxpZGl0eSgpOiB2b2lkIHtcbiAgICBoYW5kbGVWYWxpZGl0eSh0aGlzLmNvbnRyb2woKSk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzaG93RXJyb3IodGhpcy5jb250cm9sKCkpO1xuICB9XG59XG4iLCI8Ym1iLWlucHV0LXZhbGlkYXRvclxuICBjbGFzcz1cImJtYl9pbnB1dC10YWdzXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW3ZhbHVlXT1cImdldFZhbGlkSW5pdGlhbFZhbHVlcygpXCJcbiAgW2xhYmVsXT1cImxhYmVsKCkhXCJcbiAgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2UoKVwiXG4gIFtoZWxwZXJNZXNzYWdlXT1cImhlbHBlck1lc3NhZ2UoKVwiXG4gIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXG4gIFtpc0Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICBbY29udHJvbF09XCJjb250cm9sKClcIlxuICBbc2hvd0Vycm9yXT1cInNob3VsZFNob3dFcnJvclwiXG4gIFt0b29sdGlwXT1cInRvb2x0aXAoKVwiXG4gIFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uKClcIlxuICBbY3VzdG9tVmFsaWRhdGlvbl09XCJjdXN0b21WYWxpZGF0aW9uKClcIlxuICBjbGlja091dHNpZGVcbiAgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZUxpc3QoKVwiXG4gIFtpbnB1dElkXT1cImlucHV0SWQoKVwiXG4+XG4gIDxzZWN0aW9uXG4gICAgY2xhc3M9XCJibWJfaW5wdXQtdGFncy1jb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdibWJfaW5wdXQtdGFncy1jb250YWluZXItZXJyb3InOiBzaG91bGRTaG93RXJyb3IsXG4gICAgICAnYm1iX2lucHV0LXRhZ3MtY29udGFpbmVyLWZvY3VzJzogaXNGb2N1c2VkKClcbiAgICB9XCJcbiAgPlxuICAgIDxibWItaW5wdXQtY29udGVudFxuICAgICAgY2xhc3M9XCJibWJfaW5wdXQtdGFncy1maWx0ZXJcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW2lucHV0SWRdPVwiaW5wdXRJZCgpXCJcbiAgICAgIFtuYW1lXT1cImdldFVVSUQoJ2ZpbHRlcicpXCJcbiAgICAgIFtjb250cm9sXT1cImZpbHRlckNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgKGNsaWNrKT1cIm9wZW5MaXN0KClcIlxuICAgICAgKG9uQmx1cik9XCJoYW5kbGVWYWxpZGl0eSgpXCJcbiAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAob25Gb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAvPlxuICAgIEBpZiAoISFzZWxlY3RlZFRhZ3MgJiYgISFzZWxlY3RlZFRhZ3MubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2lucHV0LXRhZ3Mtc2VsZWN0ZWQtbGlzdFwiIFt0YWJJbmRleF09XCItMVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHNlbGVjdGVkVGFnczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGJtYi10YWdcbiAgICAgICAgICAgIFt0ZXh0XT1cIml0ZW0uc2VsZWN0ZWRUZXh0IVwiXG4gICAgICAgICAgICBbZGlzbWlzc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIChjbGlja2VkVGFnKT1cInJlbW92ZVRhZyhpdGVtKVwiXG4gICAgICAgICAgICAoY2xvc2VkVGFnKT1cInJlbW92ZVRhZyhpdGVtKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L3NlY3Rpb24+XG4gIDxpbnB1dFxuICAgIGhpZGRlblxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbaWRdPVwibmFtZSgpXCJcbiAgICBbbmFtZV09XCJuYW1lKClcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sKClcIlxuICAvPlxuICA8ZGlhbG9nIFtvcGVuXT1cInNob3dEcm9wZG93blwiIGNsYXNzPVwiYm1iX2dlbmVyaWMtZGlhbG9nXCI+XG4gICAgPGJtYi1kcm9wZG93bi1jb250ZW50XG4gICAgICBjbGFzcz1cImJtYl9pbnB1dC10YWdzLWRpYWxvZ1wiXG4gICAgICBuYW1lPVwibGlzdFwiXG4gICAgICBbc2VsZWN0ZWRPcHRpb25dPVwiY29udHJvbCgpLnZhbHVlXCJcbiAgICAgIFtpc0tleWJvYXJkRXZlbnRdPVwiaXNLZXlib2FyZEV2ZW50XCJcbiAgICAgIFsoaXRlbXMpXT1cImZpbHRlcmVkT3B0aW9uc1wiXG4gICAgICBbKGlzT3BlbildPVwic2hvd0Ryb3Bkb3duXCJcbiAgICAvPlxuICA8L2RpYWxvZz5cbjwvYm1iLWlucHV0LXZhbGlkYXRvcj5cbiJdfQ==
@@ -66,7 +66,7 @@ export class BmbMobileTemplatesComponent {
66
66
  this.externalLinkFooterEvent.emit(event);
67
67
  }
68
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbMobileTemplatesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbMobileTemplatesComponent, isStandalone: true, selector: "bmb-mobile-templates", inputs: { template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, footerActions: { classPropertyName: "footerActions", publicName: "footerActions", isSignal: true, isRequired: false, transformFunction: null }, buttonList: { classPropertyName: "buttonList", publicName: "buttonList", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, headerIconRight: { classPropertyName: "headerIconRight", publicName: "headerIconRight", isSignal: true, isRequired: false, transformFunction: null }, calendarTimezone: { classPropertyName: "calendarTimezone", publicName: "calendarTimezone", isSignal: true, isRequired: false, transformFunction: null }, clientTimezone: { classPropertyName: "clientTimezone", publicName: "clientTimezone", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, currentDate: { classPropertyName: "currentDate", publicName: "currentDate", isSignal: true, isRequired: false, transformFunction: null }, externalLinkSubtitle: { classPropertyName: "externalLinkSubtitle", publicName: "externalLinkSubtitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onHeaderLeftClick: "onHeaderLeftClick", onHeaderRightClick: "onHeaderRightClick", loginHandleRequest: "loginHandleRequest", onDateChange: "onDateChange", externalLinkOnClose: "externalLinkOnClose", externalLinkMenuEvent: "externalLinkMenuEvent", externalLinkFooterEvent: "externalLinkFooterEvent" }, queries: [{ propertyName: "mainContent", first: true, predicate: ["bmbTemplateMain"], descendants: true }], ngImport: i0, template: "<section [ngClass]=\"getSectionClass()\">\n @switch (template()) {\n @case ('single-header') {\n <ng-container [ngTemplateOutlet]=\"singleHeader\" />\n }\n @case ('header-with-footer') {\n <ng-container [ngTemplateOutlet]=\"headerWithFooter\" />\n }\n @case ('card-header-with-footer') {\n <ng-container [ngTemplateOutlet]=\"cardHeaderWithFooter\" />\n }\n @case ('header-with-button-list') {\n <ng-container [ngTemplateOutlet]=\"headerWithButtonList\" />\n }\n @case ('header-with-card-list') {\n <ng-container [ngTemplateOutlet]=\"headerWithButtonList\" />\n }\n @case ('login') {\n <ng-container [ngTemplateOutlet]=\"login\" />\n }\n @case ('calendar') {\n <ng-container [ngTemplateOutlet]=\"calendar\" />\n }\n @case ('external-link') {\n <ng-container [ngTemplateOutlet]=\"externalLink\" />\n }\n }\n</section>\n\n<ng-template #singleHeader>\n <bmb-inner-header\n [title]=\"this.title()\"\n [showClose]=\"true\"\n [trailingIconSecondary]=\"this.headerIconRight()\"\n (onHandleClose)=\"handleLeftClick($event)\"\n (onHandleTrailingSecondary)=\"handleRightClick($event)\"\n (onHandleBack)=\"handleClose($event)\"\n />\n <main class=\"bmb_mobile-template-main\">\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n </main>\n</ng-template>\n\n<ng-template #headerWithFooter>\n <bmb-inner-header\n [title]=\"this.title()\"\n [showClose]=\"true\"\n [trailingIconSecondary]=\"this.headerIconRight()\"\n (onHandleClose)=\"handleLeftClick($event)\"\n (onHandleTrailingSecondary)=\"handleRightClick($event)\"\n />\n <main class=\"bmb_mobile-template-main\">\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n </main>\n <footer class=\"bmb_mobile-template-footer\">\n @for (action of footerActions(); track $index) {\n <button\n bmbButton\n [appearance]=\"action.type ?? 'secondary-outlined'\"\n (click)=\"handleAction(action)\"\n size=\"large\"\n [icon]=\"action.icon || ''\"\n >\n {{ action.title }}\n </button>\n }\n </footer>\n</ng-template>\n\n<ng-template #cardHeaderWithFooter>\n <bmb-inner-header\n [title]=\"this.title()\"\n [showClose]=\"true\"\n [trailingIconSecondary]=\"this.headerIconRight()\"\n (onHandleClose)=\"handleLeftClick($event)\"\n (onHandleTrailingSecondary)=\"handleRightClick($event)\"\n />\n <main class=\"bmb_mobile-template-main\">\n <bmb-card>\n <bmb-card-content>\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_mobile-template-footer\">\n @for (action of footerActions(); track $index) {\n <button\n bmbButton\n [appearance]=\"action.type ?? 'secondary-outlined'\"\n (click)=\"handleAction(action)\"\n size=\"large\"\n [icon]=\"action.icon || ''\"\n >\n {{ action.title }}\n </button>\n }\n </footer>\n</ng-template>\n\n<ng-template #headerWithButtonList>\n <bmb-inner-header\n [title]=\"this.title()\"\n [showClose]=\"true\"\n [trailingIconSecondary]=\"this.headerIconRight()\"\n (onHandleClose)=\"handleLeftClick($event)\"\n (onHandleTrailingSecondary)=\"handleRightClick($event)\"\n />\n <main class=\"bmb_mobile-template-main\">\n @for (button of buttonList(); track $index) {\n <bmb-container-button\n [title]=\"button.title\"\n [target]=\"button.target || '_blank'\"\n [link]=\"button.link || ''\"\n [subtitle]=\"button.subtitle || ''\"\n [iconLeft]=\"button.iconLeft\"\n iconRight=\"chevron_right\"\n [setButtonTemplate]=\"!!button.onButton\"\n (onButton)=\"(button.onButton)\"\n [square]=\"template() === 'header-with-card-list'\"\n />\n }\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n </main>\n</ng-template>\n\n<ng-template #login>\n <bmb-login-onboarding (handleRequest)=\"handleLoginRequest($event)\" />\n</ng-template>\n\n<ng-template #calendar>\n <bmb-calendar\n [calendarTimezone]=\"calendarTimezone()\"\n [clientTimezone]=\"clientTimezone()\"\n [lang]=\"lang()\"\n [currentDate]=\"currentDate()\"\n [height]=\"height\"\n />\n</ng-template>\n\n<ng-template #externalLink>\n <bmb-external-link\n [title]=\"title()\"\n [subtitle]=\"externalLinkSubtitle()\"\n (onClose)=\"handleClose($event)\"\n (menuEvent)=\"handleMenuEvent($event)\"\n (footerEvent)=\"handleFooterEvent($event)\"\n />\n</ng-template>\n", styles: [".bmb_mobile-template{height:100dvh;overflow:hidden;display:flex;flex-flow:column}.bmb_mobile-template-main{overflow:auto;flex:1}.bmb_mobile-template-footer{padding:var(--bmb-spacing-m);display:flex;gap:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground", "setBorderRadius"] }, { kind: "component", type: BmbContainerButtonComponent, selector: "bmb-container-button", inputs: ["title", "score", "square", "small", "target", "link", "subtitle", "iconLeft", "isUserImage", "iconRight", "setButtonTemplate", "badgeText", "badgeAppearance", "state", "alternative", "enableSecondaryAction", "enableBookmark", "isBookmarkActive", "dropdownMenuItems"], outputs: ["isBookmarkActiveChange", "onButton", "secondaryAction"] }, { kind: "component", type: BmbLoginOnboardingComponent, selector: "bmb-login-onboarding", inputs: ["loginOnBoardingCustomization"], outputs: ["handleRequest"] }, { kind: "component", type: BmbCalendarComponent, selector: "bmb-calendar", inputs: ["view", "filters", "calendarTimezone", "clientTimezone", "lang", "height", "startBusinessHour", "calendarTitle", "dateFormat", "showFilterButton", "visibleDate", "currentDate"], outputs: ["viewChange", "filtersChange", "visibleDateChange", "onDateChange", "onClose"] }, { kind: "component", type: BmbExternalLinkComponent, selector: "bmb-external-link", inputs: ["title", "subtitle", "navigationBarIcons"], outputs: ["onClose", "menuEvent", "footerEvent"] }, { kind: "component", type: BmbInnerHeaderComponent, selector: "bmb-inner-header", inputs: ["title", "placeholderSearch", "subTitle", "trailingIconPrimary", "trailingIconSecondary", "showClose", "showReturn", "showSearch"], outputs: ["onHandleTrailingPrimary", "onHandleTrailingSecondary", "onHandleBack", "onHandleClose", "searchData"] }], encapsulation: i0.ViewEncapsulation.None }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbMobileTemplatesComponent, isStandalone: true, selector: "bmb-mobile-templates", inputs: { template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, footerActions: { classPropertyName: "footerActions", publicName: "footerActions", isSignal: true, isRequired: false, transformFunction: null }, buttonList: { classPropertyName: "buttonList", publicName: "buttonList", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, headerIconRight: { classPropertyName: "headerIconRight", publicName: "headerIconRight", isSignal: true, isRequired: false, transformFunction: null }, calendarTimezone: { classPropertyName: "calendarTimezone", publicName: "calendarTimezone", isSignal: true, isRequired: false, transformFunction: null }, clientTimezone: { classPropertyName: "clientTimezone", publicName: "clientTimezone", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, currentDate: { classPropertyName: "currentDate", publicName: "currentDate", isSignal: true, isRequired: false, transformFunction: null }, externalLinkSubtitle: { classPropertyName: "externalLinkSubtitle", publicName: "externalLinkSubtitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onHeaderLeftClick: "onHeaderLeftClick", onHeaderRightClick: "onHeaderRightClick", loginHandleRequest: "loginHandleRequest", onDateChange: "onDateChange", externalLinkOnClose: "externalLinkOnClose", externalLinkMenuEvent: "externalLinkMenuEvent", externalLinkFooterEvent: "externalLinkFooterEvent" }, queries: [{ propertyName: "mainContent", first: true, predicate: ["bmbTemplateMain"], descendants: true }], ngImport: i0, template: "<section [ngClass]=\"getSectionClass()\">\n @switch (template()) {\n @case ('single-header') {\n <ng-container [ngTemplateOutlet]=\"singleHeader\" />\n }\n @case ('header-with-footer') {\n <ng-container [ngTemplateOutlet]=\"headerWithFooter\" />\n }\n @case ('card-header-with-footer') {\n <ng-container [ngTemplateOutlet]=\"cardHeaderWithFooter\" />\n }\n @case ('header-with-button-list') {\n <ng-container [ngTemplateOutlet]=\"headerWithButtonList\" />\n }\n @case ('header-with-card-list') {\n <ng-container [ngTemplateOutlet]=\"headerWithButtonList\" />\n }\n @case ('login') {\n <ng-container [ngTemplateOutlet]=\"login\" />\n }\n @case ('calendar') {\n <ng-container [ngTemplateOutlet]=\"calendar\" />\n }\n @case ('external-link') {\n <ng-container [ngTemplateOutlet]=\"externalLink\" />\n }\n }\n</section>\n\n<ng-template #singleHeader>\n <bmb-inner-header\n [title]=\"this.title()\"\n [showClose]=\"true\"\n [trailingIconSecondary]=\"this.headerIconRight()\"\n (onHandleClose)=\"handleLeftClick($event)\"\n (onHandleTrailingSecondary)=\"handleRightClick($event)\"\n (onHandleBack)=\"handleClose($event)\"\n />\n <main class=\"bmb_mobile-template-main\">\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n </main>\n</ng-template>\n\n<ng-template #headerWithFooter>\n <bmb-inner-header\n [title]=\"this.title()\"\n [showClose]=\"true\"\n [trailingIconSecondary]=\"this.headerIconRight()\"\n (onHandleClose)=\"handleLeftClick($event)\"\n (onHandleTrailingSecondary)=\"handleRightClick($event)\"\n />\n <main class=\"bmb_mobile-template-main\">\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n </main>\n <footer class=\"bmb_mobile-template-footer\">\n @for (action of footerActions(); track $index) {\n <button\n bmbButton\n [appearance]=\"action.type ?? 'secondary-outlined'\"\n (click)=\"handleAction(action)\"\n size=\"large\"\n [icon]=\"action.icon || ''\"\n >\n {{ action.title }}\n </button>\n }\n </footer>\n</ng-template>\n\n<ng-template #cardHeaderWithFooter>\n <bmb-inner-header\n [title]=\"this.title()\"\n [showClose]=\"true\"\n [trailingIconSecondary]=\"this.headerIconRight()\"\n (onHandleClose)=\"handleLeftClick($event)\"\n (onHandleTrailingSecondary)=\"handleRightClick($event)\"\n />\n <main class=\"bmb_mobile-template-main\">\n <bmb-card>\n <bmb-card-content>\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_mobile-template-footer\">\n @for (action of footerActions(); track $index) {\n <button\n bmbButton\n [appearance]=\"action.type ?? 'secondary-outlined'\"\n (click)=\"handleAction(action)\"\n size=\"large\"\n [icon]=\"action.icon || ''\"\n >\n {{ action.title }}\n </button>\n }\n </footer>\n</ng-template>\n\n<ng-template #headerWithButtonList>\n <bmb-inner-header\n [title]=\"this.title()\"\n [showClose]=\"true\"\n [trailingIconSecondary]=\"this.headerIconRight()\"\n (onHandleClose)=\"handleLeftClick($event)\"\n (onHandleTrailingSecondary)=\"handleRightClick($event)\"\n />\n <main class=\"bmb_mobile-template-main\">\n @for (button of buttonList(); track $index) {\n <bmb-container-button\n [title]=\"button.title\"\n [target]=\"button.target || '_blank'\"\n [link]=\"button.link || ''\"\n [subtitle]=\"button.subtitle || ''\"\n [iconLeft]=\"button.iconLeft\"\n iconRight=\"chevron_right\"\n [setButtonTemplate]=\"!!button.onButton\"\n (onButton)=\"(button.onButton)\"\n [square]=\"template() === 'header-with-card-list'\"\n />\n }\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n </main>\n</ng-template>\n\n<ng-template #login>\n <bmb-login-onboarding (handleRequest)=\"handleLoginRequest($event)\" />\n</ng-template>\n\n<ng-template #calendar>\n <bmb-calendar\n [calendarTimezone]=\"calendarTimezone()\"\n [clientTimezone]=\"clientTimezone()\"\n [lang]=\"lang()\"\n [currentDate]=\"currentDate()\"\n [height]=\"height\"\n />\n</ng-template>\n\n<ng-template #externalLink>\n <bmb-external-link\n [title]=\"title()\"\n [subtitle]=\"externalLinkSubtitle()\"\n (onClose)=\"handleClose($event)\"\n (menuEvent)=\"handleMenuEvent($event)\"\n (footerEvent)=\"handleFooterEvent($event)\"\n />\n</ng-template>\n", styles: [".bmb_mobile-template{height:100dvh;overflow:hidden;display:flex;flex-flow:column}.bmb_mobile-template-main{overflow:auto;flex:1}.bmb_mobile-template-footer{padding:var(--bmb-spacing-m);display:flex;gap:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground", "setBorderRadius"] }, { kind: "component", type: BmbContainerButtonComponent, selector: "bmb-container-button", inputs: ["title", "score", "square", "small", "target", "link", "subtitle", "iconLeft", "isUserImage", "iconRight", "setButtonTemplate", "badgeText", "badgeAppearance", "state", "alternative", "enableSecondaryAction", "enableBookmark", "isBookmarkActive", "dropdownMenuItems"], outputs: ["isBookmarkActiveChange", "onButton", "secondaryAction"] }, { kind: "component", type: BmbLoginOnboardingComponent, selector: "bmb-login-onboarding", inputs: ["loginOnBoardingCustomization"], outputs: ["handleRequest"] }, { kind: "component", type: BmbCalendarComponent, selector: "bmb-calendar", inputs: ["view", "filters", "calendarTimezone", "clientTimezone", "lang", "height", "startBusinessHour", "calendarTitle", "dateFormat", "showFilterButton", "disableMobileFilter", "visibleDate", "currentDate"], outputs: ["viewChange", "filtersChange", "visibleDateChange", "onDateChange", "onClose"] }, { kind: "component", type: BmbExternalLinkComponent, selector: "bmb-external-link", inputs: ["title", "subtitle", "navigationBarIcons"], outputs: ["onClose", "menuEvent", "footerEvent"] }, { kind: "component", type: BmbInnerHeaderComponent, selector: "bmb-inner-header", inputs: ["title", "placeholderSearch", "subTitle", "trailingIconPrimary", "trailingIconSecondary", "disableTrailingIconPrimary", "disableTrailingIconSecondary", "showClose", "showReturn", "showSearch"], outputs: ["onHandleTrailingPrimary", "onHandleTrailingSecondary", "onHandleBack", "onHandleClose", "searchData"] }], encapsulation: i0.ViewEncapsulation.None }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbMobileTemplatesComponent, decorators: [{
72
72
  type: Component,
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
85
85
  type: ContentChild,
86
86
  args: ['bmbTemplateMain']
87
87
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLW1vYmlsZS10ZW1wbGF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1tb2JpbGUtdGVtcGxhdGVzL2JtYi1tb2JpbGUtdGVtcGxhdGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItbW9iaWxlLXRlbXBsYXRlcy9ibWItbW9iaWxlLXRlbXBsYXRlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix1QkFBdUIsR0FDeEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0sa0RBQWtELENBQUM7QUFFMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7OztBQXdDekYsTUFBTSxPQUFPLDJCQUEyQjtJQWxCeEM7UUFtQkUsYUFBUSxHQUFHLEtBQUssQ0FBeUIsZUFBZSxDQUFDLENBQUM7UUFDMUQsa0JBQWEsR0FBRyxLQUFLLENBQXFCLEVBQUUsQ0FBQyxDQUFD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Qjt3QkFDM0Isb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLHVCQUF1QjtxQkFDeEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs4QkFvQ0osV0FBVztzQkFBM0MsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIGlucHV0LFxuICBPbkluaXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElCbWJCdXR0b25BY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCbWJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBCbWJDYXJkQ29tcG9uZW50LFxuICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbn0gZnJvbSAnLi4vYm1iLWNhcmQvYm1iLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNvbnRhaW5lckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1jb250YWluZXItYnV0dG9uL2JtYi1jb250YWluZXItYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJMb2dpbk9uYm9hcmRpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ibWItbG9naW4tb25ib2FyZGluZy9ibWItbG9naW4tb25ib2FyZGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCbWJFeHRlcm5hbExpbmtDb21wb25lbnQsXG4gIElCbWJNZW51RXZlbnQsXG59IGZyb20gJy4uL2JtYi1leHRlcm5hbC1saW5rL2JtYi1leHRlcm5hbC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iRm9vdGVyRXZlbnQgfSBmcm9tICcuLi9ibWItYm90dG9tLW5hdmlnYXRpb24tYmFyL2JtYi1ib3R0b20tbmF2aWdhdGlvbi1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYklubmVySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlubmVyLWhlYWRlci9ibWItaW5uZXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iVGFyZ2V0TGluayB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgSUJtYk1vYmlsZVRlbXBsYXRlTmFtZSA9XG4gIHwgJ3NpbmdsZS1oZWFkZXInXG4gIHwgJ2hlYWRlci13aXRoLWZvb3RlcidcbiAgfCAnY2FyZC1oZWFkZXItd2l0aC1mb290ZXInXG4gIHwgJ2hlYWRlci13aXRoLWJ1dHRvbi1saXN0J1xuICB8ICdoZWFkZXItd2l0aC1jYXJkLWxpc3QnXG4gIHwgJ2xvZ2luJ1xuICB8ICdjYWxlbmRhcidcbiAgfCAnZXh0ZXJuYWwtbGluayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYk1vYmlsZVRlbXBsYXRlQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgaWNvbkxlZnQ6IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIHRhcmdldD86IElCbWJUYXJnZXRMaW5rO1xuICBsaW5rPzogc3RyaW5nO1xuICBvbkJ1dHRvbj86ICgpID0+IHZvaWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1tb2JpbGUtdGVtcGxhdGVzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCbWJCdXR0b25EaXJlY3RpdmUsXG4gICAgQm1iQ2FyZENvbXBvbmVudCxcbiAgICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbiAgICBCbWJDb250YWluZXJCdXR0b25Db21wb25lbnQsXG4gICAgQm1iTG9naW5PbmJvYXJkaW5nQ29tcG9uZW50LFxuICAgIEJtYkNhbGVuZGFyQ29tcG9uZW50LFxuICAgIEJtYkV4dGVybmFsTGlua0NvbXBvbmVudCxcbiAgICBCbWJJbm5lckhlYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1tb2JpbGUtdGVtcGxhdGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1tb2JpbGUtdGVtcGxhdGVzLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iTW9iaWxlVGVtcGxhdGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdGVtcGxhdGUgPSBpbnB1dDxJQm1iTW9iaWxlVGVtcGxhdGVOYW1lPignc2luZ2xlLWhlYWRlcicpO1xuICBmb290ZXJBY3Rpb25zID0gaW5wdXQ8SUJtYkJ1dHRvbkFjdGlvbltdPihbXSk7XG4gIGJ1dHRvbkxpc3QgPSBpbnB1dDxJQm1iTW9iaWxlVGVtcGxhdGVCdXR0b25bXT4oW10pO1xuXG4gIC8vIGhlYWRlciBpbnB1dHNcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgaGVhZGVySWNvblJpZ2h0ID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgb25IZWFkZXJMZWZ0Q2xpY2sgPSBvdXRwdXQ8YW55PigpO1xuICBvbkhlYWRlclJpZ2h0Q2xpY2sgPSBvdXRwdXQ8YW55PigpO1xuXG4gIC8vIGxvZ2luIG91dHB1dFxuICBsb2dpbkhhbmRsZVJlcXVlc3QgPSBvdXRwdXQ8YW55PigpO1xuXG4gIC8vIGNhbGVuZGFyIGlucHV0c1xuICBjYWxlbmRhclRpbWV6b25lID0gaW5wdXQ8c3RyaW5nPihcbiAgICBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXG4gICk7XG4gIGNsaWVudFRpbWV6b25lID0gaW5wdXQ8c3RyaW5nPihcbiAgICBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXG4gICk7XG4gIGxhbmcgPSBpbnB1dDxzdHJpbmc+KCdlcy1NWCcpO1xuICBjdXJyZW50RGF0ZSA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIG9uRGF0ZUNoYW5nZSA9IG91dHB1dDxhbnk+KCk7XG5cbiAgLy8gZXh0ZXJuYWwgbGluayBpbnB1dHNcbiAgZXh0ZXJuYWxMaW5rU3VidGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICBleHRlcm5hbExpbmtPbkNsb3NlID0gb3V0cHV0PHVua25vd24+KCk7XG4gIGV4dGVybmFsTGlua01lbnVFdmVudCA9IG91dHB1dDxJQm1iTWVudUV2ZW50PigpO1xuICBleHRlcm5hbExpbmtGb290ZXJFdmVudCA9IG91dHB1dDxJQm1iRm9vdGVyRXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnYm1iVGVtcGxhdGVNYWluJykgbWFpbkNvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGhlaWdodDogbnVtYmVyID0gMDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgfVxuXG4gIGdldFNlY3Rpb25DbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3NMaXN0ID0gW1xuICAgICAgJ2JtYl9tb2JpbGUtdGVtcGxhdGUnLFxuICAgICAgYGJtYl9tb2JpbGUtdGVtcGxhdGUtJHt0aGlzLnRlbXBsYXRlKCl9YCxcbiAgICBdO1xuXG4gICAgcmV0dXJuIGNsYXNzTGlzdDtcbiAgfVxuXG4gIGhhbmRsZUxlZnRDbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkhlYWRlckxlZnRDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGhhbmRsZVJpZ2h0Q2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25IZWFkZXJSaWdodENsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlQWN0aW9uKGFjdGlvbjogSUJtYkJ1dHRvbkFjdGlvbikge1xuICAgIGFjdGlvbi5hY3Rpb24oKTtcbiAgfVxuXG4gIGhhbmRsZUxvZ2luUmVxdWVzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5sb2dpbkhhbmRsZVJlcXVlc3QuZW1pdChldmVudCk7XG4gIH1cblxuICBoYW5kbGVDbG9zZShldmVudDogdW5rbm93bikge1xuICAgIHRoaXMuZXh0ZXJuYWxMaW5rT25DbG9zZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGhhbmRsZU1lbnVFdmVudChldmVudDogSUJtYk1lbnVFdmVudCkge1xuICAgIHRoaXMuZXh0ZXJuYWxMaW5rTWVudUV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlRm9vdGVyRXZlbnQoZXZlbnQ6IElCbWJGb290ZXJFdmVudCkge1xuICAgIHRoaXMuZXh0ZXJuYWxMaW5rRm9vdGVyRXZlbnQuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtuZ0NsYXNzXT1cImdldFNlY3Rpb25DbGFzcygpXCI+XG4gIEBzd2l0Y2ggKHRlbXBsYXRlKCkpIHtcbiAgICBAY2FzZSAoJ3NpbmdsZS1oZWFkZXInKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNpbmdsZUhlYWRlclwiIC8+XG4gICAgfVxuICAgIEBjYXNlICgnaGVhZGVyLXdpdGgtZm9vdGVyJykge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJXaXRoRm9vdGVyXCIgLz5cbiAgICB9XG4gICAgQGNhc2UgKCdjYXJkLWhlYWRlci13aXRoLWZvb3RlcicpIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FyZEhlYWRlcldpdGhGb290ZXJcIiAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ2hlYWRlci13aXRoLWJ1dHRvbi1saXN0Jykge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJXaXRoQnV0dG9uTGlzdFwiIC8+XG4gICAgfVxuICAgIEBjYXNlICgnaGVhZGVyLXdpdGgtY2FyZC1saXN0Jykge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJXaXRoQnV0dG9uTGlzdFwiIC8+XG4gICAgfVxuICAgIEBjYXNlICgnbG9naW4nKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvZ2luXCIgLz5cbiAgICB9XG4gICAgQGNhc2UgKCdjYWxlbmRhcicpIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FsZW5kYXJcIiAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ2V4dGVybmFsLWxpbmsnKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImV4dGVybmFsTGlua1wiIC8+XG4gICAgfVxuICB9XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlSGVhZGVyPlxuICA8Ym1iLWlubmVyLWhlYWRlclxuICAgIFt0aXRsZV09XCJ0aGlzLnRpdGxlKClcIlxuICAgIFtzaG93Q2xvc2VdPVwidHJ1ZVwiXG4gICAgW3RyYWlsaW5nSWNvblNlY29uZGFyeV09XCJ0aGlzLmhlYWRlckljb25SaWdodCgpXCJcbiAgICAob25IYW5kbGVDbG9zZSk9XCJoYW5kbGVMZWZ0Q2xpY2soJGV2ZW50KVwiXG4gICAgKG9uSGFuZGxlVHJhaWxpbmdTZWNvbmRhcnkpPVwiaGFuZGxlUmlnaHRDbGljaygkZXZlbnQpXCJcbiAgICAob25IYW5kbGVCYWNrKT1cImhhbmRsZUNsb3NlKCRldmVudClcIlxuICAvPlxuICA8bWFpbiBjbGFzcz1cImJtYl9tb2JpbGUtdGVtcGxhdGUtbWFpblwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpbkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYWluPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkZXJXaXRoRm9vdGVyPlxuICA8Ym1iLWlubmVyLWhlYWRlclxuICAgIFt0aXRsZV09XCJ0aGlzLnRpdGxlKClcIlxuICAgIFtzaG93Q2xvc2VdPVwidHJ1ZVwiXG4gICAgW3RyYWlsaW5nSWNvblNlY29uZGFyeV09XCJ0aGlzLmhlYWRlckljb25SaWdodCgpXCJcbiAgICAob25IYW5kbGVDbG9zZSk9XCJoYW5kbGVMZWZ0Q2xpY2soJGV2ZW50KVwiXG4gICAgKG9uSGFuZGxlVHJhaWxpbmdTZWNvbmRhcnkpPVwiaGFuZGxlUmlnaHRDbGljaygkZXZlbnQpXCJcbiAgLz5cbiAgPG1haW4gY2xhc3M9XCJibWJfbW9iaWxlLXRlbXBsYXRlLW1haW5cIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1haW5Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWFpbj5cbiAgPGZvb3RlciBjbGFzcz1cImJtYl9tb2JpbGUtdGVtcGxhdGUtZm9vdGVyXCI+XG4gICAgQGZvciAoYWN0aW9uIG9mIGZvb3RlckFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGJtYkJ1dHRvblxuICAgICAgICBbYXBwZWFyYW5jZV09XCJhY3Rpb24udHlwZSA/PyAnc2Vjb25kYXJ5LW91dGxpbmVkJ1wiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVBY3Rpb24oYWN0aW9uKVwiXG4gICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgIFtpY29uXT1cImFjdGlvbi5pY29uIHx8ICcnXCJcbiAgICAgID5cbiAgICAgICAge3sgYWN0aW9uLnRpdGxlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZm9vdGVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYXJkSGVhZGVyV2l0aEZvb3Rlcj5cbiAgPGJtYi1pbm5lci1oZWFkZXJcbiAgICBbdGl0bGVdPVwidGhpcy50aXRsZSgpXCJcbiAgICBbc2hvd0Nsb3NlXT1cInRydWVcIlxuICAgIFt0cmFpbGluZ0ljb25TZWNvbmRhcnldPVwidGhpcy5oZWFkZXJJY29uUmlnaHQoKVwiXG4gICAgKG9uSGFuZGxlQ2xvc2UpPVwiaGFuZGxlTGVmdENsaWNrKCRldmVudClcIlxuICAgIChvbkhhbmRsZVRyYWlsaW5nU2Vjb25kYXJ5KT1cImhhbmRsZVJpZ2h0Q2xpY2soJGV2ZW50KVwiXG4gIC8+XG4gIDxtYWluIGNsYXNzPVwiYm1iX21vYmlsZS10ZW1wbGF0ZS1tYWluXCI+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpbkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYm1iLWNhcmQtY29udGVudD5cbiAgICA8L2JtYi1jYXJkPlxuICA8L21haW4+XG4gIDxmb290ZXIgY2xhc3M9XCJibWJfbW9iaWxlLXRlbXBsYXRlLWZvb3RlclwiPlxuICAgIEBmb3IgKGFjdGlvbiBvZiBmb290ZXJBY3Rpb25zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBibWJCdXR0b25cbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiYWN0aW9uLnR5cGUgPz8gJ3NlY29uZGFyeS1vdXRsaW5lZCdcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICBbaWNvbl09XCJhY3Rpb24uaWNvbiB8fCAnJ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGFjdGlvbi50aXRsZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICA8L2Zvb3Rlcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyV2l0aEJ1dHRvbkxpc3Q+XG4gIDxibWItaW5uZXItaGVhZGVyXG4gICAgW3RpdGxlXT1cInRoaXMudGl0bGUoKVwiXG4gICAgW3Nob3dDbG9zZV09XCJ0cnVlXCJcbiAgICBbdHJhaWxpbmdJY29uU2Vjb25kYXJ5XT1cInRoaXMuaGVhZGVySWNvblJpZ2h0KClcIlxuICAgIChvbkhhbmRsZUNsb3NlKT1cImhhbmRsZUxlZnRDbGljaygkZXZlbnQpXCJcbiAgICAob25IYW5kbGVUcmFpbGluZ1NlY29uZGFyeSk9XCJoYW5kbGVSaWdodENsaWNrKCRldmVudClcIlxuICAvPlxuICA8bWFpbiBjbGFzcz1cImJtYl9tb2JpbGUtdGVtcGxhdGUtbWFpblwiPlxuICAgIEBmb3IgKGJ1dHRvbiBvZiBidXR0b25MaXN0KCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGJtYi1jb250YWluZXItYnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCJidXR0b24udGl0bGVcIlxuICAgICAgICBbdGFyZ2V0XT1cImJ1dHRvbi50YXJnZXQgfHwgJ19ibGFuaydcIlxuICAgICAgICBbbGlua109XCJidXR0b24ubGluayB8fCAnJ1wiXG4gICAgICAgIFtzdWJ0aXRsZV09XCJidXR0b24uc3VidGl0bGUgfHwgJydcIlxuICAgICAgICBbaWNvbkxlZnRdPVwiYnV0dG9uLmljb25MZWZ0XCJcbiAgICAgICAgaWNvblJpZ2h0PVwiY2hldnJvbl9yaWdodFwiXG4gICAgICAgIFtzZXRCdXR0b25UZW1wbGF0ZV09XCIhIWJ1dHRvbi5vbkJ1dHRvblwiXG4gICAgICAgIChvbkJ1dHRvbik9XCIoYnV0dG9uLm9uQnV0dG9uKVwiXG4gICAgICAgIFtzcXVhcmVdPVwidGVtcGxhdGUoKSA9PT0gJ2hlYWRlci13aXRoLWNhcmQtbGlzdCdcIlxuICAgICAgLz5cbiAgICB9XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtYWluQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L21haW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvZ2luPlxuICA8Ym1iLWxvZ2luLW9uYm9hcmRpbmcgKGhhbmRsZVJlcXVlc3QpPVwiaGFuZGxlTG9naW5SZXF1ZXN0KCRldmVudClcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhcj5cbiAgPGJtYi1jYWxlbmRhclxuICAgIFtjYWxlbmRhclRpbWV6b25lXT1cImNhbGVuZGFyVGltZXpvbmUoKVwiXG4gICAgW2NsaWVudFRpbWV6b25lXT1cImNsaWVudFRpbWV6b25lKClcIlxuICAgIFtsYW5nXT1cImxhbmcoKVwiXG4gICAgW2N1cnJlbnREYXRlXT1cImN1cnJlbnREYXRlKClcIlxuICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZXh0ZXJuYWxMaW5rPlxuICA8Ym1iLWV4dGVybmFsLWxpbmtcbiAgICBbdGl0bGVdPVwidGl0bGUoKVwiXG4gICAgW3N1YnRpdGxlXT1cImV4dGVybmFsTGlua1N1YnRpdGxlKClcIlxuICAgIChvbkNsb3NlKT1cImhhbmRsZUNsb3NlKCRldmVudClcIlxuICAgIChtZW51RXZlbnQpPVwiaGFuZGxlTWVudUV2ZW50KCRldmVudClcIlxuICAgIChmb290ZXJFdmVudCk9XCJoYW5kbGVGb290ZXJFdmVudCgkZXZlbnQpXCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLW1vYmlsZS10ZW1wbGF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1tb2JpbGUtdGVtcGxhdGVzL2JtYi1tb2JpbGUtdGVtcGxhdGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItbW9iaWxlLXRlbXBsYXRlcy9ibWItbW9iaWxlLXRlbXBsYXRlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix1QkFBdUIsR0FDeEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0sa0RBQWtELENBQUM7QUFFMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7OztBQXdDekYsTUFBTSxPQUFPLDJCQUEyQjtJQWxCeEM7UUFtQkUsYUFBUSxHQUFHLEtBQUssQ0FBeUIsZUFBZSxDQUFDLENBQUM7UUFDMUQsa0JBQWEsR0FBRyxLQUFLLENBQXFCLEVBQUUsQ0FBQyxDQUFD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Qjt3QkFDM0Isb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLHVCQUF1QjtxQkFDeEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs4QkFvQ0osV0FBVztzQkFBM0MsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIGlucHV0LFxuICBPbkluaXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElCbWJCdXR0b25BY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCbWJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBCbWJDYXJkQ29tcG9uZW50LFxuICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbn0gZnJvbSAnLi4vYm1iLWNhcmQvYm1iLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkNvbnRhaW5lckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1jb250YWluZXItYnV0dG9uL2JtYi1jb250YWluZXItYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJMb2dpbk9uYm9hcmRpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ibWItbG9naW4tb25ib2FyZGluZy9ibWItbG9naW4tb25ib2FyZGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItY2FsZW5kYXIvYm1iLWNhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCbWJFeHRlcm5hbExpbmtDb21wb25lbnQsXG4gIElCbWJNZW51RXZlbnQsXG59IGZyb20gJy4uL2JtYi1leHRlcm5hbC1saW5rL2JtYi1leHRlcm5hbC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iRm9vdGVyRXZlbnQgfSBmcm9tICcuLi9ibWItYm90dG9tLW5hdmlnYXRpb24tYmFyL2JtYi1ib3R0b20tbmF2aWdhdGlvbi1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYklubmVySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlubmVyLWhlYWRlci9ibWItaW5uZXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iVGFyZ2V0TGluayB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgSUJtYk1vYmlsZVRlbXBsYXRlTmFtZSA9XG4gIHwgJ3NpbmdsZS1oZWFkZXInXG4gIHwgJ2hlYWRlci13aXRoLWZvb3RlcidcbiAgfCAnY2FyZC1oZWFkZXItd2l0aC1mb290ZXInXG4gIHwgJ2hlYWRlci13aXRoLWJ1dHRvbi1saXN0J1xuICB8ICdoZWFkZXItd2l0aC1jYXJkLWxpc3QnXG4gIHwgJ2xvZ2luJ1xuICB8ICdjYWxlbmRhcidcbiAgfCAnZXh0ZXJuYWwtbGluayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYk1vYmlsZVRlbXBsYXRlQnV0dG9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgaWNvbkxlZnQ6IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIHRhcmdldD86IElCbWJUYXJnZXRMaW5rO1xuICBsaW5rPzogc3RyaW5nO1xuICBvbkJ1dHRvbj86ICgpID0+IHZvaWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1tb2JpbGUtdGVtcGxhdGVzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCbWJCdXR0b25EaXJlY3RpdmUsXG4gICAgQm1iQ2FyZENvbXBvbmVudCxcbiAgICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbiAgICBCbWJDb250YWluZXJCdXR0b25Db21wb25lbnQsXG4gICAgQm1iTG9naW5PbmJvYXJkaW5nQ29tcG9uZW50LFxuICAgIEJtYkNhbGVuZGFyQ29tcG9uZW50LFxuICAgIEJtYkV4dGVybmFsTGlua0NvbXBvbmVudCxcbiAgICBCbWJJbm5lckhlYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1tb2JpbGUtdGVtcGxhdGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1tb2JpbGUtdGVtcGxhdGVzLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iTW9iaWxlVGVtcGxhdGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdGVtcGxhdGUgPSBpbnB1dDxJQm1iTW9iaWxlVGVtcGxhdGVOYW1lPignc2luZ2xlLWhlYWRlcicpO1xuICBmb290ZXJBY3Rpb25zID0gaW5wdXQ8SUJtYkJ1dHRvbkFjdGlvbltdPihbXSk7XG4gIGJ1dHRvbkxpc3QgPSBpbnB1dDxJQm1iTW9iaWxlVGVtcGxhdGVCdXR0b25bXT4oW10pO1xuXG4gIC8vIGhlYWRlciBpbnB1dHNcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgaGVhZGVySWNvblJpZ2h0ID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgb25IZWFkZXJMZWZ0Q2xpY2sgPSBvdXRwdXQ8YW55PigpO1xuICBvbkhlYWRlclJpZ2h0Q2xpY2sgPSBvdXRwdXQ8YW55PigpO1xuXG4gIC8vIGxvZ2luIG91dHB1dFxuICBsb2dpbkhhbmRsZVJlcXVlc3QgPSBvdXRwdXQ8YW55PigpO1xuXG4gIC8vIGNhbGVuZGFyIGlucHV0c1xuICBjYWxlbmRhclRpbWV6b25lID0gaW5wdXQ8c3RyaW5nPihcbiAgICBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXG4gICk7XG4gIGNsaWVudFRpbWV6b25lID0gaW5wdXQ8c3RyaW5nPihcbiAgICBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXG4gICk7XG4gIGxhbmcgPSBpbnB1dDxzdHJpbmc+KCdlcy1NWCcpO1xuICBjdXJyZW50RGF0ZSA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIG9uRGF0ZUNoYW5nZSA9IG91dHB1dDxhbnk+KCk7XG5cbiAgLy8gZXh0ZXJuYWwgbGluayBpbnB1dHNcbiAgZXh0ZXJuYWxMaW5rU3VidGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICBleHRlcm5hbExpbmtPbkNsb3NlID0gb3V0cHV0PHVua25vd24+KCk7XG4gIGV4dGVybmFsTGlua01lbnVFdmVudCA9IG91dHB1dDxJQm1iTWVudUV2ZW50PigpO1xuICBleHRlcm5hbExpbmtGb290ZXJFdmVudCA9IG91dHB1dDxJQm1iRm9vdGVyRXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnYm1iVGVtcGxhdGVNYWluJykgbWFpbkNvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGhlaWdodDogbnVtYmVyID0gMDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgfVxuXG4gIGdldFNlY3Rpb25DbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3NMaXN0ID0gW1xuICAgICAgJ2JtYl9tb2JpbGUtdGVtcGxhdGUnLFxuICAgICAgYGJtYl9tb2JpbGUtdGVtcGxhdGUtJHt0aGlzLnRlbXBsYXRlKCl9YCxcbiAgICBdO1xuXG4gICAgcmV0dXJuIGNsYXNzTGlzdDtcbiAgfVxuXG4gIGhhbmRsZUxlZnRDbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkhlYWRlckxlZnRDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGhhbmRsZVJpZ2h0Q2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25IZWFkZXJSaWdodENsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlQWN0aW9uKGFjdGlvbjogSUJtYkJ1dHRvbkFjdGlvbikge1xuICAgIGFjdGlvbi5hY3Rpb24oKTtcbiAgfVxuXG4gIGhhbmRsZUxvZ2luUmVxdWVzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5sb2dpbkhhbmRsZVJlcXVlc3QuZW1pdChldmVudCk7XG4gIH1cblxuICBoYW5kbGVDbG9zZShldmVudDogdW5rbm93bikge1xuICAgIHRoaXMuZXh0ZXJuYWxMaW5rT25DbG9zZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGhhbmRsZU1lbnVFdmVudChldmVudDogSUJtYk1lbnVFdmVudCkge1xuICAgIHRoaXMuZXh0ZXJuYWxMaW5rTWVudUV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgaGFuZGxlRm9vdGVyRXZlbnQoZXZlbnQ6IElCbWJGb290ZXJFdmVudCkge1xuICAgIHRoaXMuZXh0ZXJuYWxMaW5rRm9vdGVyRXZlbnQuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtuZ0NsYXNzXT1cImdldFNlY3Rpb25DbGFzcygpXCI+XG4gIEBzd2l0Y2ggKHRlbXBsYXRlKCkpIHtcbiAgICBAY2FzZSAoJ3NpbmdsZS1oZWFkZXInKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNpbmdsZUhlYWRlclwiIC8+XG4gICAgfVxuICAgIEBjYXNlICgnaGVhZGVyLXdpdGgtZm9vdGVyJykge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJXaXRoRm9vdGVyXCIgLz5cbiAgICB9XG4gICAgQGNhc2UgKCdjYXJkLWhlYWRlci13aXRoLWZvb3RlcicpIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FyZEhlYWRlcldpdGhGb290ZXJcIiAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ2hlYWRlci13aXRoLWJ1dHRvbi1saXN0Jykge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJXaXRoQnV0dG9uTGlzdFwiIC8+XG4gICAgfVxuICAgIEBjYXNlICgnaGVhZGVyLXdpdGgtY2FyZC1saXN0Jykge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJXaXRoQnV0dG9uTGlzdFwiIC8+XG4gICAgfVxuICAgIEBjYXNlICgnbG9naW4nKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvZ2luXCIgLz5cbiAgICB9XG4gICAgQGNhc2UgKCdjYWxlbmRhcicpIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FsZW5kYXJcIiAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ2V4dGVybmFsLWxpbmsnKSB7XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImV4dGVybmFsTGlua1wiIC8+XG4gICAgfVxuICB9XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlSGVhZGVyPlxuICA8Ym1iLWlubmVyLWhlYWRlclxuICAgIFt0aXRsZV09XCJ0aGlzLnRpdGxlKClcIlxuICAgIFtzaG93Q2xvc2VdPVwidHJ1ZVwiXG4gICAgW3RyYWlsaW5nSWNvblNlY29uZGFyeV09XCJ0aGlzLmhlYWRlckljb25SaWdodCgpXCJcbiAgICAob25IYW5kbGVDbG9zZSk9XCJoYW5kbGVMZWZ0Q2xpY2soJGV2ZW50KVwiXG4gICAgKG9uSGFuZGxlVHJhaWxpbmdTZWNvbmRhcnkpPVwiaGFuZGxlUmlnaHRDbGljaygkZXZlbnQpXCJcbiAgICAob25IYW5kbGVCYWNrKT1cImhhbmRsZUNsb3NlKCRldmVudClcIlxuICAvPlxuICA8bWFpbiBjbGFzcz1cImJtYl9tb2JpbGUtdGVtcGxhdGUtbWFpblwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpbkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYWluPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkZXJXaXRoRm9vdGVyPlxuICA8Ym1iLWlubmVyLWhlYWRlclxuICAgIFt0aXRsZV09XCJ0aGlzLnRpdGxlKClcIlxuICAgIFtzaG93Q2xvc2VdPVwidHJ1ZVwiXG4gICAgW3RyYWlsaW5nSWNvblNlY29uZGFyeV09XCJ0aGlzLmhlYWRlckljb25SaWdodCgpXCJcbiAgICAob25IYW5kbGVDbG9zZSk9XCJoYW5kbGVMZWZ0Q2xpY2soJGV2ZW50KVwiXG4gICAgKG9uSGFuZGxlVHJhaWxpbmdTZWNvbmRhcnkpPVwiaGFuZGxlUmlnaHRDbGljaygkZXZlbnQpXCJcbiAgLz5cbiAgPG1haW4gY2xhc3M9XCJibWJfbW9iaWxlLXRlbXBsYXRlLW1haW5cIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1haW5Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWFpbj5cbiAgPGZvb3RlciBjbGFzcz1cImJtYl9tb2JpbGUtdGVtcGxhdGUtZm9vdGVyXCI+XG4gICAgQGZvciAoYWN0aW9uIG9mIGZvb3RlckFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGJtYkJ1dHRvblxuICAgICAgICBbYXBwZWFyYW5jZV09XCJhY3Rpb24udHlwZSA/PyAnc2Vjb25kYXJ5LW91dGxpbmVkJ1wiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVBY3Rpb24oYWN0aW9uKVwiXG4gICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgIFtpY29uXT1cImFjdGlvbi5pY29uIHx8ICcnXCJcbiAgICAgID5cbiAgICAgICAge3sgYWN0aW9uLnRpdGxlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZm9vdGVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYXJkSGVhZGVyV2l0aEZvb3Rlcj5cbiAgPGJtYi1pbm5lci1oZWFkZXJcbiAgICBbdGl0bGVdPVwidGhpcy50aXRsZSgpXCJcbiAgICBbc2hvd0Nsb3NlXT1cInRydWVcIlxuICAgIFt0cmFpbGluZ0ljb25TZWNvbmRhcnldPVwidGhpcy5oZWFkZXJJY29uUmlnaHQoKVwiXG4gICAgKG9uSGFuZGxlQ2xvc2UpPVwiaGFuZGxlTGVmdENsaWNrKCRldmVudClcIlxuICAgIChvbkhhbmRsZVRyYWlsaW5nU2Vjb25kYXJ5KT1cImhhbmRsZVJpZ2h0Q2xpY2soJGV2ZW50KVwiXG4gIC8+XG4gIDxtYWluIGNsYXNzPVwiYm1iX21vYmlsZS10ZW1wbGF0ZS1tYWluXCI+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpbkNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYm1iLWNhcmQtY29udGVudD5cbiAgICA8L2JtYi1jYXJkPlxuICA8L21haW4+XG4gIDxmb290ZXIgY2xhc3M9XCJibWJfbW9iaWxlLXRlbXBsYXRlLWZvb3RlclwiPlxuICAgIEBmb3IgKGFjdGlvbiBvZiBmb290ZXJBY3Rpb25zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBibWJCdXR0b25cbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiYWN0aW9uLnR5cGUgPz8gJ3NlY29uZGFyeS1vdXRsaW5lZCdcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICBbaWNvbl09XCJhY3Rpb24uaWNvbiB8fCAnJ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGFjdGlvbi50aXRsZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICA8L2Zvb3Rlcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyV2l0aEJ1dHRvbkxpc3Q+XG4gIDxibWItaW5uZXItaGVhZGVyXG4gICAgW3RpdGxlXT1cInRoaXMudGl0bGUoKVwiXG4gICAgW3Nob3dDbG9zZV09XCJ0cnVlXCJcbiAgICBbdHJhaWxpbmdJY29uU2Vjb25kYXJ5XT1cInRoaXMuaGVhZGVySWNvblJpZ2h0KClcIlxuICAgIChvbkhhbmRsZUNsb3NlKT1cImhhbmRsZUxlZnRDbGljaygkZXZlbnQpXCJcbiAgICAob25IYW5kbGVUcmFpbGluZ1NlY29uZGFyeSk9XCJoYW5kbGVSaWdodENsaWNrKCRldmVudClcIlxuICAvPlxuICA8bWFpbiBjbGFzcz1cImJtYl9tb2JpbGUtdGVtcGxhdGUtbWFpblwiPlxuICAgIEBmb3IgKGJ1dHRvbiBvZiBidXR0b25MaXN0KCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGJtYi1jb250YWluZXItYnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCJidXR0b24udGl0bGVcIlxuICAgICAgICBbdGFyZ2V0XT1cImJ1dHRvbi50YXJnZXQgfHwgJ19ibGFuaydcIlxuICAgICAgICBbbGlua109XCJidXR0b24ubGluayB8fCAnJ1wiXG4gICAgICAgIFtzdWJ0aXRsZV09XCJidXR0b24uc3VidGl0bGUgfHwgJydcIlxuICAgICAgICBbaWNvbkxlZnRdPVwiYnV0dG9uLmljb25MZWZ0XCJcbiAgICAgICAgaWNvblJpZ2h0PVwiY2hldnJvbl9yaWdodFwiXG4gICAgICAgIFtzZXRCdXR0b25UZW1wbGF0ZV09XCIhIWJ1dHRvbi5vbkJ1dHRvblwiXG4gICAgICAgIChvbkJ1dHRvbik9XCIoYnV0dG9uLm9uQnV0dG9uKVwiXG4gICAgICAgIFtzcXVhcmVdPVwidGVtcGxhdGUoKSA9PT0gJ2hlYWRlci13aXRoLWNhcmQtbGlzdCdcIlxuICAgICAgLz5cbiAgICB9XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtYWluQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L21haW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvZ2luPlxuICA8Ym1iLWxvZ2luLW9uYm9hcmRpbmcgKGhhbmRsZVJlcXVlc3QpPVwiaGFuZGxlTG9naW5SZXF1ZXN0KCRldmVudClcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhcj5cbiAgPGJtYi1jYWxlbmRhclxuICAgIFtjYWxlbmRhclRpbWV6b25lXT1cImNhbGVuZGFyVGltZXpvbmUoKVwiXG4gICAgW2NsaWVudFRpbWV6b25lXT1cImNsaWVudFRpbWV6b25lKClcIlxuICAgIFtsYW5nXT1cImxhbmcoKVwiXG4gICAgW2N1cnJlbnREYXRlXT1cImN1cnJlbnREYXRlKClcIlxuICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZXh0ZXJuYWxMaW5rPlxuICA8Ym1iLWV4dGVybmFsLWxpbmtcbiAgICBbdGl0bGVdPVwidGl0bGUoKVwiXG4gICAgW3N1YnRpdGxlXT1cImV4dGVybmFsTGlua1N1YnRpdGxlKClcIlxuICAgIChvbkNsb3NlKT1cImhhbmRsZUNsb3NlKCRldmVudClcIlxuICAgIChtZW51RXZlbnQpPVwiaGFuZGxlTWVudUV2ZW50KCRldmVudClcIlxuICAgIChmb290ZXJFdmVudCk9XCJoYW5kbGVGb290ZXJFdmVudCgkZXZlbnQpXCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=