@leanix/components 0.4.191 → 0.4.193

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 (41) hide show
  1. package/esm2022/lib/core-ui/components/button/button.component.mjs +3 -3
  2. package/esm2022/lib/core-ui/components/button-group/button-group.component.mjs +3 -3
  3. package/esm2022/lib/core-ui/components/card/card.component.mjs +3 -3
  4. package/esm2022/lib/core-ui/components/collapsible/collapsible.component.mjs +3 -3
  5. package/esm2022/lib/core-ui/components/colored-label/colored-label.component.mjs +3 -3
  6. package/esm2022/lib/core-ui/components/empty-state/empty-state.component.mjs +3 -3
  7. package/esm2022/lib/core-ui/components/spinner/spinner.component.mjs +3 -3
  8. package/esm2022/lib/core-ui/components/stepper/stepper.component.mjs +3 -3
  9. package/esm2022/lib/core-ui/components/table/table-header/table-header.component.mjs +3 -3
  10. package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +3 -3
  11. package/esm2022/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +3 -3
  12. package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +3 -3
  13. package/esm2022/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +3 -3
  14. package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +3 -3
  15. package/esm2022/lib/forms-ui/components/date-input/date-input.component.mjs +3 -3
  16. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +3 -3
  17. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +7 -7
  18. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +3 -3
  19. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +3 -3
  20. package/esm2022/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +3 -3
  21. package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +3 -3
  22. package/esm2022/lib/forms-ui/components/option/option.component.mjs +3 -3
  23. package/esm2022/lib/forms-ui/components/option-group/option-group.component.mjs +3 -3
  24. package/esm2022/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +3 -3
  25. package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +3 -3
  26. package/esm2022/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +3 -3
  27. package/esm2022/lib/forms-ui/components/picker/picker.component.mjs +3 -3
  28. package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +3 -3
  29. package/esm2022/lib/forms-ui/components/pill-list/pill-list.component.mjs +3 -3
  30. package/esm2022/lib/forms-ui/components/select-list/select-list.component.mjs +3 -3
  31. package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +3 -3
  32. package/esm2022/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +3 -3
  33. package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +3 -3
  34. package/esm2022/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +3 -3
  35. package/esm2022/lib/modal-ui/components/modal-header/modal-header.component.mjs +3 -3
  36. package/esm2022/lib/popover-ui/components/popover/popover.component.mjs +3 -3
  37. package/esm2022/lib/tab-ui/components/tab/tab.component.mjs +3 -3
  38. package/esm2022/lib/tab-ui/components/tab-group/tab-group.component.mjs +3 -3
  39. package/fesm2022/leanix-components.mjs +80 -80
  40. package/fesm2022/leanix-components.mjs.map +1 -1
  41. package/package.json +1 -1
@@ -227,7 +227,7 @@ export class MultiSelectComponent extends BaseSelectDirective {
227
227
  useExisting: forwardRef(() => MultiSelectComponent),
228
228
  multi: true
229
229
  }
230
- ], queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "queryInput", first: true, predicate: ResponsiveInputComponent, descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n [class.hasSelection]=\"selection && selection.length > 0\"\n [class.smallSize]=\"size === 'small'\"\n [class.disabled]=\"disabled\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectedChoicesContainer\">\n <div *ngIf=\"(selection?.length === 0 || !selection) && !queryControl?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div class=\"selection\">\n <ng-content select=\".pills\" />\n </div>\n <lx-responsive-input\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit()\"\n (focusViaTab)=\"focusedViaTab()\"\n [formControl]=\"queryControl\"\n [inputId]=\"inputId\"\n (keydown.enter)=\"$event.preventDefault()\"\n />\n <i #toggle [hidden]=\"disabled\" class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\" />\n </ng-container>\n </div>\n</div>\n\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\" />\n</ng-template>\n", styles: [".selectContainer{position:relative;height:auto;cursor:text;padding:0;box-sizing:border-box;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px;background:white}.selectContainer.smallSize .selectedChoicesContainer{min-height:22px}.selectContainer.smallSize .selectedChoicesContainer .placeholder{line-height:24px}.selectContainer.smallSize lx-responsive-input{height:22px}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed}.selectContainer.disabled lx-responsive-input{display:none}.selectContainer:not(.hasSelection){padding-left:12px}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;margin-top:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #99c6fa}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer .selectedChoicesContainer{padding-right:25px;min-height:29px}.selectContainer .selectedChoicesContainer .placeholder{position:absolute;inset:0 25px 0 12px;line-height:29px;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis;padding-left:4px}.selectContainer .selectedChoicesContainer>.fa-angle-down{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer}.selectContainer .selection{display:inline;cursor:default}.selectContainer .optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;background:white;z-index:1}lx-responsive-input{height:29px;padding-left:4px}.backdrop{z-index:1048;position:fixed;inset:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: ["lxMarkInvalid"] }, { kind: "component", type: ResponsiveInputComponent, selector: "lx-responsive-input", inputs: ["inputId"], outputs: ["focus", "focusViaTab", "blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
230
+ ], queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "queryInput", first: true, predicate: ResponsiveInputComponent, descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n [class.hasSelection]=\"selection && selection.length > 0\"\n [class.smallSize]=\"size === 'small'\"\n [class.disabled]=\"disabled\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectedChoicesContainer\">\n <div *ngIf=\"(selection?.length === 0 || !selection) && !queryControl?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div class=\"selection\">\n <ng-content select=\".pills\"></ng-content>\n </div>\n <lx-responsive-input\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit()\"\n (focusViaTab)=\"focusedViaTab()\"\n [formControl]=\"queryControl\"\n [inputId]=\"inputId\"\n (keydown.enter)=\"$event.preventDefault()\"\n ></lx-responsive-input>\n <i #toggle [hidden]=\"disabled\" class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [".selectContainer{position:relative;height:auto;cursor:text;padding:0;box-sizing:border-box;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px;background:white}.selectContainer.smallSize .selectedChoicesContainer{min-height:22px}.selectContainer.smallSize .selectedChoicesContainer .placeholder{line-height:24px}.selectContainer.smallSize lx-responsive-input{height:22px}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed}.selectContainer.disabled lx-responsive-input{display:none}.selectContainer:not(.hasSelection){padding-left:12px}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;margin-top:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #99c6fa}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer .selectedChoicesContainer{padding-right:25px;min-height:29px}.selectContainer .selectedChoicesContainer .placeholder{position:absolute;inset:0 25px 0 12px;line-height:29px;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis;padding-left:4px}.selectContainer .selectedChoicesContainer>.fa-angle-down{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer}.selectContainer .selection{display:inline;cursor:default}.selectContainer .optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;background:white;z-index:1}lx-responsive-input{height:29px;padding-left:4px}.backdrop{z-index:1048;position:fixed;inset:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: ["lxMarkInvalid"] }, { kind: "component", type: ResponsiveInputComponent, selector: "lx-responsive-input", inputs: ["inputId"], outputs: ["focus", "focusViaTab", "blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
231
231
  }
232
232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MultiSelectComponent, decorators: [{
233
233
  type: Component,
@@ -237,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
237
237
  useExisting: forwardRef(() => MultiSelectComponent),
238
238
  multi: true
239
239
  }
240
- ], standalone: true, imports: [NgIf, MarkInvalidDirective, ResponsiveInputComponent, FormsModule, ReactiveFormsModule, NgTemplateOutlet, AsyncPipe], template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n [class.hasSelection]=\"selection && selection.length > 0\"\n [class.smallSize]=\"size === 'small'\"\n [class.disabled]=\"disabled\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectedChoicesContainer\">\n <div *ngIf=\"(selection?.length === 0 || !selection) && !queryControl?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div class=\"selection\">\n <ng-content select=\".pills\" />\n </div>\n <lx-responsive-input\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit()\"\n (focusViaTab)=\"focusedViaTab()\"\n [formControl]=\"queryControl\"\n [inputId]=\"inputId\"\n (keydown.enter)=\"$event.preventDefault()\"\n />\n <i #toggle [hidden]=\"disabled\" class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\" />\n </ng-container>\n </div>\n</div>\n\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\" />\n</ng-template>\n", styles: [".selectContainer{position:relative;height:auto;cursor:text;padding:0;box-sizing:border-box;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px;background:white}.selectContainer.smallSize .selectedChoicesContainer{min-height:22px}.selectContainer.smallSize .selectedChoicesContainer .placeholder{line-height:24px}.selectContainer.smallSize lx-responsive-input{height:22px}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed}.selectContainer.disabled lx-responsive-input{display:none}.selectContainer:not(.hasSelection){padding-left:12px}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;margin-top:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #99c6fa}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer .selectedChoicesContainer{padding-right:25px;min-height:29px}.selectContainer .selectedChoicesContainer .placeholder{position:absolute;inset:0 25px 0 12px;line-height:29px;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis;padding-left:4px}.selectContainer .selectedChoicesContainer>.fa-angle-down{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer}.selectContainer .selection{display:inline;cursor:default}.selectContainer .optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;background:white;z-index:1}lx-responsive-input{height:29px;padding-left:4px}.backdrop{z-index:1048;position:fixed;inset:0}\n"] }]
240
+ ], standalone: true, imports: [NgIf, MarkInvalidDirective, ResponsiveInputComponent, FormsModule, ReactiveFormsModule, NgTemplateOutlet, AsyncPipe], template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n [class.hasSelection]=\"selection && selection.length > 0\"\n [class.smallSize]=\"size === 'small'\"\n [class.disabled]=\"disabled\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectedChoicesContainer\">\n <div *ngIf=\"(selection?.length === 0 || !selection) && !queryControl?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div class=\"selection\">\n <ng-content select=\".pills\"></ng-content>\n </div>\n <lx-responsive-input\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit()\"\n (focusViaTab)=\"focusedViaTab()\"\n [formControl]=\"queryControl\"\n [inputId]=\"inputId\"\n (keydown.enter)=\"$event.preventDefault()\"\n ></lx-responsive-input>\n <i #toggle [hidden]=\"disabled\" class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [".selectContainer{position:relative;height:auto;cursor:text;padding:0;box-sizing:border-box;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px;background:white}.selectContainer.smallSize .selectedChoicesContainer{min-height:22px}.selectContainer.smallSize .selectedChoicesContainer .placeholder{line-height:24px}.selectContainer.smallSize lx-responsive-input{height:22px}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed}.selectContainer.disabled lx-responsive-input{display:none}.selectContainer:not(.hasSelection){padding-left:12px}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;margin-top:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #99c6fa}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer .selectedChoicesContainer{padding-right:25px;min-height:29px}.selectContainer .selectedChoicesContainer .placeholder{position:absolute;inset:0 25px 0 12px;line-height:29px;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis;padding-left:4px}.selectContainer .selectedChoicesContainer>.fa-angle-down{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer}.selectContainer .selection{display:inline;cursor:default}.selectContainer .optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;background:white;z-index:1}lx-responsive-input{height:29px;padding-left:4px}.backdrop{z-index:1048;position:fixed;inset:0}\n"] }]
241
241
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { markInvalid: [{
242
242
  type: Input
243
243
  }], selection: [{
@@ -262,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
262
262
  type: ViewChild,
263
263
  args: ['dropdown', { static: true }]
264
264
  }] } });
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxJQUFJLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFB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LEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpbHRlciBhcyBfZmlsdGVyLCBmaW5kSW5kZXgsIGluY2x1ZGVzLCBsYXN0IH0gZnJvbSAnbG9kYXNoL2ZwJztcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCBhcyBvYnNlcnZhYmxlRnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWFya0ludmFsaWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL21hcmstaW52YWxpZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NlbGVjdC1kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQVJST1dfRE9XTiwgQVJST1dfTEVGVCwgQVJST1dfUklHSFQsIEFSUk9XX1VQLCBCQUNLU1BBQ0UsIEVOVEVSLCBFU0NBUEUsIFRBQiB9IGZyb20gJy4uLy4uL2hlbHBlcnMva2V5LWNvZGVzLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0RGlyZWN0aXZlLCBFdmVudFNldCB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZWxlY3RBY3Rpb24gfSBmcm9tICcuLi9rZXlib2FyZC1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3Jlc3BvbnNpdmUtaW5wdXQvcmVzcG9uc2l2ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBNdWx0aVNlbGVjdFNpemUgPSAnZGVmYXVsdCcgfCAnc21hbGwnIHwgJ2xhcmdlJyB8ICdzZWxlY3QyJztcblxuZXhwb3J0IHR5cGUgTXVsdGlTZWxlY3RSZW1vdmVJdGVtRXZlbnQgPSB7XG4gIGl0ZW06IGFueTtcbiAgLyoqXG4gICAqIElzIHRydWUgd2hlbiB0aGUgaXRlbSB3YXMgbm90IHJlbW92ZWQgYnkgcHJlc3NpbmcgYmFja3NwYWNlIG9uIHRoZSBrZXlib2FyZCByYXRoZXIgdGhhbiBjbGlja2luZyB0aGUgJ3gnLlxuICAgKi9cbiAgaXNNb3VzZTogYm9vbGVhbjtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LW11bHRpLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ211bHRpLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTWFya0ludmFsaWREaXJlY3RpdmUsIFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VsZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwdWJsaWMgc3RhdGljIGlzU3RpbGxQb3NzaWJsZU1vdmVUb0xlZnQoZXZlbnRTZXQ6IEV2ZW50U2V0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEoXG4gICAgICAgIGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwICYmXG4gICAgICAgIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgPT09IEFSUk9XX0xFRlQgJiZcbiAgICAgICAgZXZlbnRTZXQuc2VsZWN0aW9uTGVuZ3RoID09PSAwXG4gICAgICApICYmXG4gICAgICAhKFxuICAgICAgICBldmVudFNldC5ldmVudC5rZXlDb2RlID09PSBBUlJPV19MRUZUICYmXG4gICAgICAgIHR5cGVvZiBldmVudFNldC5zZWxlY3Rpb25MZW5ndGggPT09ICdudW1iZXInICYmXG4gICAgICAgIGV2ZW50U2V0LnNlbGVjdGlvbkxlbmd0aCA+IDAgJiZcbiAgICAgICAgTWF0aC5hYnMoZXZlbnRTZXQudmlydHVhbEN1cnNvclBvc2l0aW9uKSA9PT0gZXZlbnRTZXQuc2VsZWN0aW9uTGVuZ3RoXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNNb3Zpbmdmcm9tWmVyb1RvUmlnaHQoZXZlbnRTZXQ6IEV2ZW50U2V0KSB7XG4gICAgcmV0dXJuIGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJiBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwICYmIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgPT09IEFSUk9XX1JJR0hUO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjYWxjdWxhdGVOZXdDdXJzb3JQb3N0aW9uT25LZXlib2FyZE5hdmlnYXRpb24oY3Vyc29yUG9zaXRpb246IG51bWJlciwga2V5Q29kZTogbnVtYmVyKSB7XG4gICAgc3dpdGNoIChrZXlDb2RlKSB7XG4gICAgICBjYXNlIEFSUk9XX0xFRlQ6XG4gICAgICAgIGN1cnNvclBvc2l0aW9uLS07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBUlJPV19SSUdIVDpcbiAgICAgICAgY3Vyc29yUG9zaXRpb24rKztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBjdXJzb3JQb3NpdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0S2V5Ym9hcmRTZWxlY3RBY3Rpb24oY3Vyc29yUG9zaXRpb246IG51bWJlciwga2V5Q29kZTogbnVtYmVyKTogS2V5Ym9hcmRTZWxlY3RBY3Rpb24gfCBudWxsIHtcbiAgICBpZiAoY3Vyc29yUG9zaXRpb24gPD0gLTEgJiYga2V5Q29kZSA9PT0gQVJST1dfUklHSFQpIHtcbiAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5ORVhUO1xuICAgIH1cbiAgICBpZiAoY3Vyc29yUG9zaXRpb24gPT09IC0xICYmIGtleUNvZGUgPT09IEFSUk9XX0xFRlQpIHtcbiAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5MQVNUO1xuICAgIH1cbiAgICBpZiAoY3Vyc29yUG9zaXRpb24gPCAtMSAmJiBrZXlDb2RlID09PSBBUlJPV19MRUZUKSB7XG4gICAgICByZXR1cm4gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uUFJFVjtcbiAgICB9XG4gICAgaWYgKGN1cnNvclBvc2l0aW9uIDw9IC0xICYmIGtleUNvZGUgPT09IEJBQ0tTUEFDRSkge1xuICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLkVYRUNVVEU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgQElucHV0KCkgbWFya0ludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0aW9uPzogYW55W10gfCBudWxsID0gW107XG4gIEBJbnB1dCgpIHNpemU6IE11bHRpU2VsZWN0U2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgZHJvcGRvd25XaWR0aFNjYWxlOiAnMXgnIHwgJzEuNXgnIHwgJzJ4JyA9ICcxeCc7XG4gIEBJbnB1dCgpIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSBleHBsaWNpdERyb3Bkb3duPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcXVlcnlJbnB1dCE6IFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbXBsaWNpdERyb3Bkb3duITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgZHJvcGRvd25UbXBsKCkge1xuICAgIHJldHVybiB0aGlzLmV4cGxpY2l0RHJvcGRvd24gfHwgdGhpcy5pbXBsaWNpdERyb3Bkb3duO1xuICB9XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGlzSW5wdXRGb2N1c2VkVmlhVGFiID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duV2lkdGgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKHRoaXMuZHJvcGRvd25XaWR0aFNjYWxlKSB7XG4gICAgICBjYXNlICcxeCc6XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICBjYXNlICcxLjV4JzpcbiAgICAgICAgcmV0dXJuICcxNTAlJztcbiAgICAgIGNhc2UgJzJ4JzpcbiAgICAgICAgcmV0dXJuICcyMDAlJztcbiAgICB9XG4gIH1cblxuICByZXNldElucHV0KCkge1xuICAgIHRoaXMucXVlcnlJbnB1dC5yZXNldElucHV0KCk7XG4gICAgdGhpcy5xdWVyeUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5xdWVyeUlucHV0LmZvY3VzSW5wdXQoKTtcbiAgfVxuXG4gIGZvY3VzQW5kT3BlbigpIHtcbiAgICB0aGlzLnF1ZXJ5SW5wdXQuZm9jdXNJbnB1dCgpO1xuICAgIHRoaXMub3Blbi5uZXh0KHRydWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgdGhpcy5vcGVuXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgZmlsdGVyKChvcGVuKSA9PiBvcGVuKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdEZpcnN0T3B0aW9uKCk7XG4gICAgICB9KTtcblxuICAgIC8vIGtleWJvYXJkIGV2ZW50IGhhbmRsaW5nXG4gICAgY29uc3Qgc291cmNlRWxlbWVudCA9IHRoaXMucXVlcnlJbnB1dC5yZXNwb25zaXZlSW5wdXQubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oc291cmNlRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGluY2x1ZGVzKGV2ZW50LmtleUNvZGUsIFtBUlJPV19ET1dOXSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW4ubmV4dCh0cnVlKSk7XG5cbiAgICAvLyBoYW5kbGUga2V5Ym9hcmQgbmF2aWdhdGlvbiBmb3IgdGhlIHNlbGVjdGlvblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oc291cmNlRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZXZlbnQpID0+XG4gICAgICAgICAgdGhpcy5tYXBUb0V2ZW50U2V0KFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5SW5wdXQucmVzcG9uc2l2ZUlucHV0Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbixcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID8gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoIDogMFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgZmlsdGVyKChldmVudFNldCkgPT4ge1xuICAgICAgICAgIHJldHVybiAhTXVsdGlTZWxlY3RDb21wb25lbnQuaXNNb3Zpbmdmcm9tWmVyb1RvUmlnaHQoZXZlbnRTZXQpICYmIE11bHRpU2VsZWN0Q29tcG9uZW50LmlzU3RpbGxQb3NzaWJsZU1vdmVUb0xlZnQoZXZlbnRTZXQpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKChldmVudFNldCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICAgICAgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICAgICAgZXZlbnRTZXQuZXZlbnQua2V5Q29kZSA9PT0gQkFDS1NQQUNFICYmXG4gICAgICAgICAgICB0eXBlb2YgZXZlbnRTZXQuc2VsZWN0aW9uTGVuZ3RoID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgZXZlbnRTZXQuc2VsZWN0aW9uTGVuZ3RoID4gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgbGFzdEl0ZW0gPSBsYXN0KHRoaXMuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlSXRlbSh7IGl0ZW06IGxhc3RJdGVtLCBpc01vdXNlOiBmYWxzZSB9KTtcbiAgICAgICAgICAgIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPSB1bmRlZmluZWQ7IC8vIHNldCB0byBudWxsIHRvIHByZXZlbnQgY29udGludWluZyBpbiB0aGUgc3RyZWFtXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9PT0gJ251bWJlcicgJiYgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uID0gMDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gLTEgJiYgZXZlbnRTZXQuZXZlbnQua2V5Q29kZSA9PT0gQVJST1dfUklHSFQpIHtcbiAgICAgICAgICAgIGV2ZW50U2V0LmV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbktleWJvYXJkU2VsZWN0QWN0aW9uJC5uZXh0KEtleWJvYXJkU2VsZWN0QWN0aW9uLlVOU0VMRUNUKTtcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uID0gMDtcbiAgICAgICAgICAgIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPSB1bmRlZmluZWQ7IC8vIHNldCB0byBudWxsIHRvIHByZXZlbnQgY29udGludWluZyBpbiB0aGUgc3RyZWFtXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKChldmVudFNldCkgPT4gZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9PT0gMCksXG4gICAgICAgIG1hcCgoZXZlbnRTZXQpID0+IGV2ZW50U2V0LmV2ZW50KSxcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gaW5jbHVkZXMoZXZlbnQua2V5Q29kZSwgW0FSUk9XX1JJR0hULCBBUlJPV19MRUZULCBCQUNLU1BBQ0VdKSksXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IE11bHRpU2VsZWN0Q29tcG9uZW50LmNhbGN1bGF0ZU5ld0N1cnNvclBvc3Rpb25PbktleWJvYXJkTmF2aWdhdGlvbihcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uLFxuICAgICAgICAgICAgZXZlbnQua2V5Q29kZVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uOiB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbixcbiAgICAgICAgICAgIGV2ZW50XG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgocG9zaXRpb25TZXQpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3Rpb24gPSBNdWx0aVNlbGVjdENvbXBvbmVudC5nZXRLZXlib2FyZFNlbGVjdEFjdGlvbihwb3NpdGlvblNldC5jdXJzb3JQb3NpdGlvbiwgcG9zaXRpb25TZXQuZXZlbnQua2V5Q29kZSk7XG4gICAgICAgICAgaWYgKGFjdGlvbiA9PT0gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTkVYVCkge1xuICAgICAgICAgICAgLy8gcHJldmVudCBjdXJzb3IgZnJvbSBtb3ZpbmcgaW4gdGhlIGlucHV0IGZpZWxkLCB3aGlsZSB3ZSBhcmUgc3RpbGwgaW4gdGhlIHNlbGVjdGlvbiBpdGVtc1xuICAgICAgICAgICAgcG9zaXRpb25TZXQuZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuc2VsZWN0aW9uS2V5Ym9hcmRTZWxlY3RBY3Rpb24kKTtcblxuICAgIGNvbnN0IGlucHV0S2V5Ym9hcmRFdmVudHMkID0gb2JzZXJ2YWJsZUZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihzb3VyY2VFbGVtZW50LCAna2V5ZG93bicpO1xuXG4gICAgaW5wdXRLZXlib2FyZEV2ZW50cyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBpbmNsdWRlcyhldmVudC5rZXlDb2RlLCBbQVJST1dfVVAsIEFSUk9XX0RPV05dKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSk7XG5cbiAgICBpbnB1dEtleWJvYXJkRXZlbnRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSB8fCBldmVudC5rZXlDb2RlID09PSBUQUIpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSAmJiB0aGlzLmRyb3Bkb3duT3Blbikge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuLm5leHQoZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICBpbnB1dEtleWJvYXJkRXZlbnRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGluY2x1ZGVzKGV2ZW50LmtleUNvZGUsIFtFTlRFUiwgQVJST1dfVVAsIEFSUk9XX0RPV05dKSksXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgRU5URVI6XG4gICAgICAgICAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5FWEVDVVRFO1xuICAgICAgICAgICAgY2FzZSBBUlJPV19VUDpcbiAgICAgICAgICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLlBSRVY7XG4gICAgICAgICAgICBjYXNlIEFSUk9XX0RPV046XG4gICAgICAgICAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5ORVhUO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5vcHRpb25zS2V5Ym9hcmRTZWxlY3RBY3Rpb24kKTtcblxuICAgIGlucHV0S2V5Ym9hcmRFdmVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gaW5jbHVkZXMoZXZlbnQua2V5Q29kZSwgW0VOVEVSLCBBUlJPV19ET1dOXSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW4ubmV4dCh0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGUgZ2l2ZW4gb3B0aW9uIHRvIHRoZSBzZWxlY3Rpb24gYW5kLCBieSBkZWZhdWx0LCByZXNldHMgdGhlIGlucHV0IGZpZWxkLlxuICAgKiBAcGFyYW0gb3B0aW9uIFRoZSBvcHRpb24gdG8gYWRkIHRvIHRoZSBzZWxlY3Rpb24uXG4gICAqIEBwYXJhbSBrZWVwU2VhcmNoUXVlcnlBbmRTY3JvbGxQb3NpdGlvbiBJZiB0cnVlLCB0aGUgc2VhcmNoIHF1ZXJ5IGFuZCBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIHdpbGwgYmUga2VwdCwgdW5sZXNzIHRoZXJlIGFyZSBubyBvcHRpb25zIGxlZnQuXG4gICAqL1xuICBhZGRJdGVtVG9TZWxlY3Rpb24ob3B0aW9uOiBhbnksIGtlZXBTZWFyY2hRdWVyeUFuZFNjcm9sbFBvc2l0aW9uID0gZmFsc2UpIHtcbiAgICBpZiAob3B0aW9uICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IFsuLi4odGhpcy5zZWxlY3Rpb24gfHwgW10pXS5jb25jYXQob3B0aW9uKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoWy4uLnRoaXMuc2VsZWN0aW9uXSk7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShbLi4udGhpcy5zZWxlY3Rpb25dKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnNJbkRyb3Bkb3duQmVmb3JlU2VsZWN0aW9uID0gdGhpcy5kcm9wZG93bkJhc2U/Ll9pdGVtcy5sZW5ndGggPz8gMDtcbiAgICBpZiAoa2VlcFNlYXJjaFF1ZXJ5QW5kU2Nyb2xsUG9zaXRpb24gJiYgZmlsdGVyZWRPcHRpb25zSW5Ecm9wZG93bkJlZm9yZVNlbGVjdGlvbiA+IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlc2V0U2VsZWN0U3RhdGUoKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0ob3B0aW9uVG9SZW1vdmU6IE11bHRpU2VsZWN0UmVtb3ZlSXRlbUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcHJldk9wdGlvbkluZGV4ID0gZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbiA9PT0gb3B0aW9uVG9SZW1vdmUuaXRlbSwgdGhpcy5zZWxlY3Rpb24pO1xuICAgIGNvbnN0IHByZXZTZWxlY3Rpb25MZW5naHQgPSB0aGlzLnNlbGVjdGlvbj8ubGVuZ3RoID8/IDA7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBfZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbiAhPT0gb3B0aW9uVG9SZW1vdmUuaXRlbSwgdGhpcy5zZWxlY3Rpb24pO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChbLi4udGhpcy5zZWxlY3Rpb25dKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShbLi4udGhpcy5zZWxlY3Rpb25dKTtcblxuICAgIGlmIChwcmV2T3B0aW9uSW5kZXggPT09IHByZXZTZWxlY3Rpb25MZW5naHQgLSAxIHx8IG9wdGlvblRvUmVtb3ZlLmlzTW91c2UpIHtcbiAgICAgIHRoaXMucmVzZXRTZWxlY3RTdGF0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbisrO1xuICAgIH1cbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZShfdmFsdWU6IGFueVtdKSB7fVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChfZm46IGFueSkge31cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGZvY3VzZWRWaWFUYWIoKSB7XG4gICAgdGhpcy5pc0lucHV0Rm9jdXNlZFZpYVRhYiA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkcm9wZG93bk9wZW5cIiBjbGFzcz1cImJhY2tkcm9wXCIgKGNsaWNrKT1cImhhbmRsZUJhY2tkcm9wQ2xpY2soJGV2ZW50KVwiPjwvZGl2PlxuPGRpdlxuICBbbHhNYXJrSW52YWxpZF09XCJtYXJrSW52YWxpZFwiXG4gIGNsYXNzPVwic2VsZWN0Q29udGFpbmVyXCJcbiAgW2NsYXNzLm9wZW5dPVwiZHJvcGRvd25PcGVuXCJcbiAgW2NsYXNzLnRvcF09XCIoZHJvcGRvd25EaXJlY3Rpb24kIHwgYXN5bmMpID09PSAnVE9QJ1wiXG4gIFtjbGFzcy5ib3R0b21dPVwiKGRyb3Bkb3duRGlyZWN0aW9uJCB8IGFzeW5jKSA9PT0gJ0JPVFRPTSdcIlxuICBbY2xhc3MuZm9jdXNlZF09XCJpc0lucHV0Rm9jdXNlZFwiXG4gIFtjbGFzcy5mb2N1c2VkVmlzaWJsZV09XCJpc0lucHV0Rm9jdXNlZFZpYVRhYlwiXG4gIFtjbGFzcy5oYXNTZWxlY3Rpb25dPVwic2VsZWN0aW9uICYmIHNlbGVjdGlvbi5sZW5ndGggPiAwXCJcbiAgW2NsYXNzLnNtYWxsU2l6ZV09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudC50YXJnZXQgPT09IHRvZ2dsZSlcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRDaG9pY2VzQ29udGFpbmVyXCI+XG4gICAgPGRpdiAqbmdJZj1cIihzZWxlY3Rpb24/Lmxlbmd0aCA9PT0gMCB8fCAhc2VsZWN0aW9uKSAmJiAhcXVlcnlDb250cm9sPy52YWx1ZVwiIGNsYXNzPVwicGxhY2Vob2xkZXJcIiBbYXR0ci50aXRsZV09XCJwbGFjZWhvbGRlclwiPlxuICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCIucGlsbHNcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxseC1yZXNwb25zaXZlLWlucHV0XG4gICAgICAoZm9jdXMpPVwiaXNJbnB1dEZvY3VzZWQgPSB0cnVlXCJcbiAgICAgIChibHVyKT1cImlzSW5wdXRGb2N1c2VkID0gZmFsc2U7IGlzSW5wdXRGb2N1c2VkVmlhVGFiID0gZmFsc2U7IGJsdXIuZW1pdCgpXCJcbiAgICAgIChmb2N1c1ZpYVRhYik9XCJmb2N1c2VkVmlhVGFiKClcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cInF1ZXJ5Q29udHJvbFwiXG4gICAgICBbaW5wdXRJZF09XCJpbnB1dElkXCJcbiAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAvPlxuICAgIDxpICN0b2dnbGUgW2hpZGRlbl09XCJkaXNhYmxlZFwiIGNsYXNzPVwiZmFzIGZhLWFuZ2xlLWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwib3B0aW9uc0NvbnRhaW5lclwiIFtzdHlsZS53aWR0aF09XCJkcm9wZG93bldpZHRoXCIgI29wdGlvbnNDb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRyb3Bkb3duT3BlblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3Bkb3duVG1wbFwiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5kcm9wZG93bkNvbXBvbmVudFwiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxJQUFJLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFB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LEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpbHRlciBhcyBfZmlsdGVyLCBmaW5kSW5kZXgsIGluY2x1ZGVzLCBsYXN0IH0gZnJvbSAnbG9kYXNoL2ZwJztcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCBhcyBvYnNlcnZhYmxlRnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWFya0ludmFsaWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL21hcmstaW52YWxpZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NlbGVjdC1kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQVJST1dfRE9XTiwgQVJST1dfTEVGVCwgQVJST1dfUklHSFQsIEFSUk9XX1VQLCBCQUNLU1BBQ0UsIEVOVEVSLCBFU0NBUEUsIFRBQiB9IGZyb20gJy4uLy4uL2hlbHBlcnMva2V5LWNvZGVzLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0RGlyZWN0aXZlLCBFdmVudFNldCB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZWxlY3RBY3Rpb24gfSBmcm9tICcuLi9rZXlib2FyZC1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3Jlc3BvbnNpdmUtaW5wdXQvcmVzcG9uc2l2ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBNdWx0aVNlbGVjdFNpemUgPSAnZGVmYXVsdCcgfCAnc21hbGwnIHwgJ2xhcmdlJyB8ICdzZWxlY3QyJztcblxuZXhwb3J0IHR5cGUgTXVsdGlTZWxlY3RSZW1vdmVJdGVtRXZlbnQgPSB7XG4gIGl0ZW06IGFueTtcbiAgLyoqXG4gICAqIElzIHRydWUgd2hlbiB0aGUgaXRlbSB3YXMgbm90IHJlbW92ZWQgYnkgcHJlc3NpbmcgYmFja3NwYWNlIG9uIHRoZSBrZXlib2FyZCByYXRoZXIgdGhhbiBjbGlja2luZyB0aGUgJ3gnLlxuICAgKi9cbiAgaXNNb3VzZTogYm9vbGVhbjtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LW11bHRpLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ211bHRpLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTWFya0ludmFsaWREaXJlY3RpdmUsIFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VsZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwdWJsaWMgc3RhdGljIGlzU3RpbGxQb3NzaWJsZU1vdmVUb0xlZnQoZXZlbnRTZXQ6IEV2ZW50U2V0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEoXG4gICAgICAgIGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwICYmXG4gICAgICAgIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgPT09IEFSUk9XX0xFRlQgJiZcbiAgICAgICAgZXZlbnRTZXQuc2VsZWN0aW9uTGVuZ3RoID09PSAwXG4gICAgICApICYmXG4gICAgICAhKFxuICAgICAgICBldmVudFNldC5ldmVudC5rZXlDb2RlID09PSBBUlJPV19MRUZUICYmXG4gICAgICAgIHR5cGVvZiBldmVudFNldC5zZWxlY3Rpb25MZW5ndGggPT09ICdudW1iZXInICYmXG4gICAgICAgIGV2ZW50U2V0LnNlbGVjdGlvbkxlbmd0aCA+IDAgJiZcbiAgICAgICAgTWF0aC5hYnMoZXZlbnRTZXQudmlydHVhbEN1cnNvclBvc2l0aW9uKSA9PT0gZXZlbnRTZXQuc2VsZWN0aW9uTGVuZ3RoXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNNb3Zpbmdmcm9tWmVyb1RvUmlnaHQoZXZlbnRTZXQ6IEV2ZW50U2V0KSB7XG4gICAgcmV0dXJuIGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJiBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwICYmIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgPT09IEFSUk9XX1JJR0hUO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjYWxjdWxhdGVOZXdDdXJzb3JQb3N0aW9uT25LZXlib2FyZE5hdmlnYXRpb24oY3Vyc29yUG9zaXRpb246IG51bWJlciwga2V5Q29kZTogbnVtYmVyKSB7XG4gICAgc3dpdGNoIChrZXlDb2RlKSB7XG4gICAgICBjYXNlIEFSUk9XX0xFRlQ6XG4gICAgICAgIGN1cnNvclBvc2l0aW9uLS07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBUlJPV19SSUdIVDpcbiAgICAgICAgY3Vyc29yUG9zaXRpb24rKztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBjdXJzb3JQb3NpdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0S2V5Ym9hcmRTZWxlY3RBY3Rpb24oY3Vyc29yUG9zaXRpb246IG51bWJlciwga2V5Q29kZTogbnVtYmVyKTogS2V5Ym9hcmRTZWxlY3RBY3Rpb24gfCBudWxsIHtcbiAgICBpZiAoY3Vyc29yUG9zaXRpb24gPD0gLTEgJiYga2V5Q29kZSA9PT0gQVJST1dfUklHSFQpIHtcbiAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5ORVhUO1xuICAgIH1cbiAgICBpZiAoY3Vyc29yUG9zaXRpb24gPT09IC0xICYmIGtleUNvZGUgPT09IEFSUk9XX0xFRlQpIHtcbiAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5MQVNUO1xuICAgIH1cbiAgICBpZiAoY3Vyc29yUG9zaXRpb24gPCAtMSAmJiBrZXlDb2RlID09PSBBUlJPV19MRUZUKSB7XG4gICAgICByZXR1cm4gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uUFJFVjtcbiAgICB9XG4gICAgaWYgKGN1cnNvclBvc2l0aW9uIDw9IC0xICYmIGtleUNvZGUgPT09IEJBQ0tTUEFDRSkge1xuICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLkVYRUNVVEU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgQElucHV0KCkgbWFya0ludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0aW9uPzogYW55W10gfCBudWxsID0gW107XG4gIEBJbnB1dCgpIHNpemU6IE11bHRpU2VsZWN0U2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgZHJvcGRvd25XaWR0aFNjYWxlOiAnMXgnIHwgJzEuNXgnIHwgJzJ4JyA9ICcxeCc7XG4gIEBJbnB1dCgpIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSBleHBsaWNpdERyb3Bkb3duPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcXVlcnlJbnB1dCE6IFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbXBsaWNpdERyb3Bkb3duITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgZHJvcGRvd25UbXBsKCkge1xuICAgIHJldHVybiB0aGlzLmV4cGxpY2l0RHJvcGRvd24gfHwgdGhpcy5pbXBsaWNpdERyb3Bkb3duO1xuICB9XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGlzSW5wdXRGb2N1c2VkVmlhVGFiID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duV2lkdGgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKHRoaXMuZHJvcGRvd25XaWR0aFNjYWxlKSB7XG4gICAgICBjYXNlICcxeCc6XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICBjYXNlICcxLjV4JzpcbiAgICAgICAgcmV0dXJuICcxNTAlJztcbiAgICAgIGNhc2UgJzJ4JzpcbiAgICAgICAgcmV0dXJuICcyMDAlJztcbiAgICB9XG4gIH1cblxuICByZXNldElucHV0KCkge1xuICAgIHRoaXMucXVlcnlJbnB1dC5yZXNldElucHV0KCk7XG4gICAgdGhpcy5xdWVyeUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5xdWVyeUlucHV0LmZvY3VzSW5wdXQoKTtcbiAgfVxuXG4gIGZvY3VzQW5kT3BlbigpIHtcbiAgICB0aGlzLnF1ZXJ5SW5wdXQuZm9jdXNJbnB1dCgpO1xuICAgIHRoaXMub3Blbi5uZXh0KHRydWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgdGhpcy5vcGVuXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgZmlsdGVyKChvcGVuKSA9PiBvcGVuKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdEZpcnN0T3B0aW9uKCk7XG4gICAgICB9KTtcblxuICAgIC8vIGtleWJvYXJkIGV2ZW50IGhhbmRsaW5nXG4gICAgY29uc3Qgc291cmNlRWxlbWVudCA9IHRoaXMucXVlcnlJbnB1dC5yZXNwb25zaXZlSW5wdXQubmF0aXZlRWxlbWVudDtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oc291cmNlRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGluY2x1ZGVzKGV2ZW50LmtleUNvZGUsIFtBUlJPV19ET1dOXSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW4ubmV4dCh0cnVlKSk7XG5cbiAgICAvLyBoYW5kbGUga2V5Ym9hcmQgbmF2aWdhdGlvbiBmb3IgdGhlIHNlbGVjdGlvblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oc291cmNlRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZXZlbnQpID0+XG4gICAgICAgICAgdGhpcy5tYXBUb0V2ZW50U2V0KFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5SW5wdXQucmVzcG9uc2l2ZUlucHV0Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbixcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID8gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoIDogMFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgZmlsdGVyKChldmVudFNldCkgPT4ge1xuICAgICAgICAgIHJldHVybiAhTXVsdGlTZWxlY3RDb21wb25lbnQuaXNNb3Zpbmdmcm9tWmVyb1RvUmlnaHQoZXZlbnRTZXQpICYmIE11bHRpU2VsZWN0Q29tcG9uZW50LmlzU3RpbGxQb3NzaWJsZU1vdmVUb0xlZnQoZXZlbnRTZXQpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKChldmVudFNldCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICAgICAgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9PT0gMCAmJlxuICAgICAgICAgICAgZXZlbnRTZXQuZXZlbnQua2V5Q29kZSA9PT0gQkFDS1NQQUNFICYmXG4gICAgICAgICAgICB0eXBlb2YgZXZlbnRTZXQuc2VsZWN0aW9uTGVuZ3RoID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgZXZlbnRTZXQuc2VsZWN0aW9uTGVuZ3RoID4gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgbGFzdEl0ZW0gPSBsYXN0KHRoaXMuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlSXRlbSh7IGl0ZW06IGxhc3RJdGVtLCBpc01vdXNlOiBmYWxzZSB9KTtcbiAgICAgICAgICAgIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPSB1bmRlZmluZWQ7IC8vIHNldCB0byBudWxsIHRvIHByZXZlbnQgY29udGludWluZyBpbiB0aGUgc3RyZWFtXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9PT0gJ251bWJlcicgJiYgZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uID0gMDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50U2V0LnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9PT0gLTEgJiYgZXZlbnRTZXQuZXZlbnQua2V5Q29kZSA9PT0gQVJST1dfUklHSFQpIHtcbiAgICAgICAgICAgIGV2ZW50U2V0LmV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbktleWJvYXJkU2VsZWN0QWN0aW9uJC5uZXh0KEtleWJvYXJkU2VsZWN0QWN0aW9uLlVOU0VMRUNUKTtcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uID0gMDtcbiAgICAgICAgICAgIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPSB1bmRlZmluZWQ7IC8vIHNldCB0byBudWxsIHRvIHByZXZlbnQgY29udGludWluZyBpbiB0aGUgc3RyZWFtXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKChldmVudFNldCkgPT4gZXZlbnRTZXQuaW5wdXRDdXJzb3JQb3NpdGlvbiA9PT0gMCksXG4gICAgICAgIG1hcCgoZXZlbnRTZXQpID0+IGV2ZW50U2V0LmV2ZW50KSxcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gaW5jbHVkZXMoZXZlbnQua2V5Q29kZSwgW0FSUk9XX1JJR0hULCBBUlJPV19MRUZULCBCQUNLU1BBQ0VdKSksXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IE11bHRpU2VsZWN0Q29tcG9uZW50LmNhbGN1bGF0ZU5ld0N1cnNvclBvc3Rpb25PbktleWJvYXJkTmF2aWdhdGlvbihcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uLFxuICAgICAgICAgICAgZXZlbnQua2V5Q29kZVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uOiB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbixcbiAgICAgICAgICAgIGV2ZW50XG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgocG9zaXRpb25TZXQpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3Rpb24gPSBNdWx0aVNlbGVjdENvbXBvbmVudC5nZXRLZXlib2FyZFNlbGVjdEFjdGlvbihwb3NpdGlvblNldC5jdXJzb3JQb3NpdGlvbiwgcG9zaXRpb25TZXQuZXZlbnQua2V5Q29kZSk7XG4gICAgICAgICAgaWYgKGFjdGlvbiA9PT0gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTkVYVCkge1xuICAgICAgICAgICAgLy8gcHJldmVudCBjdXJzb3IgZnJvbSBtb3ZpbmcgaW4gdGhlIGlucHV0IGZpZWxkLCB3aGlsZSB3ZSBhcmUgc3RpbGwgaW4gdGhlIHNlbGVjdGlvbiBpdGVtc1xuICAgICAgICAgICAgcG9zaXRpb25TZXQuZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuc2VsZWN0aW9uS2V5Ym9hcmRTZWxlY3RBY3Rpb24kKTtcblxuICAgIGNvbnN0IGlucHV0S2V5Ym9hcmRFdmVudHMkID0gb2JzZXJ2YWJsZUZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihzb3VyY2VFbGVtZW50LCAna2V5ZG93bicpO1xuXG4gICAgaW5wdXRLZXlib2FyZEV2ZW50cyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBpbmNsdWRlcyhldmVudC5rZXlDb2RlLCBbQVJST1dfVVAsIEFSUk9XX0RPV05dKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSk7XG5cbiAgICBpbnB1dEtleWJvYXJkRXZlbnRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSB8fCBldmVudC5rZXlDb2RlID09PSBUQUIpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSAmJiB0aGlzLmRyb3Bkb3duT3Blbikge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuLm5leHQoZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICBpbnB1dEtleWJvYXJkRXZlbnRzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGluY2x1ZGVzKGV2ZW50LmtleUNvZGUsIFtFTlRFUiwgQVJST1dfVVAsIEFSUk9XX0RPV05dKSksXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgRU5URVI6XG4gICAgICAgICAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5FWEVDVVRFO1xuICAgICAgICAgICAgY2FzZSBBUlJPV19VUDpcbiAgICAgICAgICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLlBSRVY7XG4gICAgICAgICAgICBjYXNlIEFSUk9XX0RPV046XG4gICAgICAgICAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5ORVhUO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5vcHRpb25zS2V5Ym9hcmRTZWxlY3RBY3Rpb24kKTtcblxuICAgIGlucHV0S2V5Ym9hcmRFdmVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gaW5jbHVkZXMoZXZlbnQua2V5Q29kZSwgW0VOVEVSLCBBUlJPV19ET1dOXSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW4ubmV4dCh0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGUgZ2l2ZW4gb3B0aW9uIHRvIHRoZSBzZWxlY3Rpb24gYW5kLCBieSBkZWZhdWx0LCByZXNldHMgdGhlIGlucHV0IGZpZWxkLlxuICAgKiBAcGFyYW0gb3B0aW9uIFRoZSBvcHRpb24gdG8gYWRkIHRvIHRoZSBzZWxlY3Rpb24uXG4gICAqIEBwYXJhbSBrZWVwU2VhcmNoUXVlcnlBbmRTY3JvbGxQb3NpdGlvbiBJZiB0cnVlLCB0aGUgc2VhcmNoIHF1ZXJ5IGFuZCBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIHdpbGwgYmUga2VwdCwgdW5sZXNzIHRoZXJlIGFyZSBubyBvcHRpb25zIGxlZnQuXG4gICAqL1xuICBhZGRJdGVtVG9TZWxlY3Rpb24ob3B0aW9uOiBhbnksIGtlZXBTZWFyY2hRdWVyeUFuZFNjcm9sbFBvc2l0aW9uID0gZmFsc2UpIHtcbiAgICBpZiAob3B0aW9uICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IFsuLi4odGhpcy5zZWxlY3Rpb24gfHwgW10pXS5jb25jYXQob3B0aW9uKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoWy4uLnRoaXMuc2VsZWN0aW9uXSk7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShbLi4udGhpcy5zZWxlY3Rpb25dKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnNJbkRyb3Bkb3duQmVmb3JlU2VsZWN0aW9uID0gdGhpcy5kcm9wZG93bkJhc2U/Ll9pdGVtcy5sZW5ndGggPz8gMDtcbiAgICBpZiAoa2VlcFNlYXJjaFF1ZXJ5QW5kU2Nyb2xsUG9zaXRpb24gJiYgZmlsdGVyZWRPcHRpb25zSW5Ecm9wZG93bkJlZm9yZVNlbGVjdGlvbiA+IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlc2V0U2VsZWN0U3RhdGUoKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0ob3B0aW9uVG9SZW1vdmU6IE11bHRpU2VsZWN0UmVtb3ZlSXRlbUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcHJldk9wdGlvbkluZGV4ID0gZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbiA9PT0gb3B0aW9uVG9SZW1vdmUuaXRlbSwgdGhpcy5zZWxlY3Rpb24pO1xuICAgIGNvbnN0IHByZXZTZWxlY3Rpb25MZW5naHQgPSB0aGlzLnNlbGVjdGlvbj8ubGVuZ3RoID8/IDA7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBfZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbiAhPT0gb3B0aW9uVG9SZW1vdmUuaXRlbSwgdGhpcy5zZWxlY3Rpb24pO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChbLi4udGhpcy5zZWxlY3Rpb25dKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShbLi4udGhpcy5zZWxlY3Rpb25dKTtcblxuICAgIGlmIChwcmV2T3B0aW9uSW5kZXggPT09IHByZXZTZWxlY3Rpb25MZW5naHQgLSAxIHx8IG9wdGlvblRvUmVtb3ZlLmlzTW91c2UpIHtcbiAgICAgIHRoaXMucmVzZXRTZWxlY3RTdGF0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbisrO1xuICAgIH1cbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZShfdmFsdWU6IGFueVtdKSB7fVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChfZm46IGFueSkge31cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGZvY3VzZWRWaWFUYWIoKSB7XG4gICAgdGhpcy5pc0lucHV0Rm9jdXNlZFZpYVRhYiA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkcm9wZG93bk9wZW5cIiBjbGFzcz1cImJhY2tkcm9wXCIgKGNsaWNrKT1cImhhbmRsZUJhY2tkcm9wQ2xpY2soJGV2ZW50KVwiPjwvZGl2PlxuPGRpdlxuICBbbHhNYXJrSW52YWxpZF09XCJtYXJrSW52YWxpZFwiXG4gIGNsYXNzPVwic2VsZWN0Q29udGFpbmVyXCJcbiAgW2NsYXNzLm9wZW5dPVwiZHJvcGRvd25PcGVuXCJcbiAgW2NsYXNzLnRvcF09XCIoZHJvcGRvd25EaXJlY3Rpb24kIHwgYXN5bmMpID09PSAnVE9QJ1wiXG4gIFtjbGFzcy5ib3R0b21dPVwiKGRyb3Bkb3duRGlyZWN0aW9uJCB8IGFzeW5jKSA9PT0gJ0JPVFRPTSdcIlxuICBbY2xhc3MuZm9jdXNlZF09XCJpc0lucHV0Rm9jdXNlZFwiXG4gIFtjbGFzcy5mb2N1c2VkVmlzaWJsZV09XCJpc0lucHV0Rm9jdXNlZFZpYVRhYlwiXG4gIFtjbGFzcy5oYXNTZWxlY3Rpb25dPVwic2VsZWN0aW9uICYmIHNlbGVjdGlvbi5sZW5ndGggPiAwXCJcbiAgW2NsYXNzLnNtYWxsU2l6ZV09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudC50YXJnZXQgPT09IHRvZ2dsZSlcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRDaG9pY2VzQ29udGFpbmVyXCI+XG4gICAgPGRpdiAqbmdJZj1cIihzZWxlY3Rpb24/Lmxlbmd0aCA9PT0gMCB8fCAhc2VsZWN0aW9uKSAmJiAhcXVlcnlDb250cm9sPy52YWx1ZVwiIGNsYXNzPVwicGxhY2Vob2xkZXJcIiBbYXR0ci50aXRsZV09XCJwbGFjZWhvbGRlclwiPlxuICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCIucGlsbHNcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGx4LXJlc3BvbnNpdmUtaW5wdXRcbiAgICAgIChmb2N1cyk9XCJpc0lucHV0Rm9jdXNlZCA9IHRydWVcIlxuICAgICAgKGJsdXIpPVwiaXNJbnB1dEZvY3VzZWQgPSBmYWxzZTsgaXNJbnB1dEZvY3VzZWRWaWFUYWIgPSBmYWxzZTsgYmx1ci5lbWl0KClcIlxuICAgICAgKGZvY3VzVmlhVGFiKT1cImZvY3VzZWRWaWFUYWIoKVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwicXVlcnlDb250cm9sXCJcbiAgICAgIFtpbnB1dElkXT1cImlucHV0SWRcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgID48L2x4LXJlc3BvbnNpdmUtaW5wdXQ+XG4gICAgPGkgI3RvZ2dsZSBbaGlkZGVuXT1cImRpc2FibGVkXCIgY2xhc3M9XCJmYXMgZmEtYW5nbGUtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zQ29udGFpbmVyXCIgW3N0eWxlLndpZHRoXT1cImRyb3Bkb3duV2lkdGhcIiAjb3B0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZHJvcGRvd25PcGVuXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcGRvd25UbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5kcm9wZG93bkNvbXBvbmVudFwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -59,11 +59,11 @@ export class OptionComponent {
59
59
  this.keyDownAction.emit(event);
60
60
  }
61
61
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionComponent, deps: [{ token: forwardRef(() => OptionGroupComponent), optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: OptionComponent, isStandalone: true, selector: "lx-option", inputs: { selected: "selected", isHighlighted: "isHighlighted", disabled: "disabled", value: "value", hasSelectedState: "hasSelectedState", selectIcon: "selectIcon" }, outputs: { select: "select", highlight: "highlight", selectedClick: "selectedClick", keyDownAction: "keyDownAction" }, host: { listeners: { "click": "selectOption($event)" } }, viewQueries: [{ propertyName: "option", first: true, predicate: ["option"], descendants: true }], ngImport: i0, template: "<li\n #option\n class=\"option\"\n role=\"option\"\n tabindex=\"-1\"\n [attr.id]=\"optionId\"\n [attr.aria-selected]=\"selected\"\n [class.selectedState]=\"hasSelectedState && !hasSubdropdown\"\n [class.highlighted]=\"isHighlighted\"\n [class.selected]=\"selected\"\n [class.disabled]=\"disabled\"\n [class.hasSubdropdown]=\"hasSubdropdown\"\n (keydown)=\"handleKeyDown($event)\"\n>\n <ng-container *ngIf=\"hasSelectedState\">\n <ng-container [ngSwitch]=\"selectIcon\">\n <ng-container *ngSwitchCase=\"'check'\">\n <i *ngIf=\"selected\" class=\"far fa-check\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"'circle'\">\n <i class=\"fal fa-circle\"></i>\n <i *ngIf=\"selected\" class=\"fas fa-circle\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-content />\n <i *ngIf=\"hasSubdropdown\" class=\"far fa-chevron-right\"></i>\n</li>\n", styles: [":host{display:block}:host.flexLi li.option{display:flex}.option{line-height:23px;padding:4px 12px;cursor:pointer;color:#2a303d;position:relative}.option:hover{background-color:#e1e5eb}.option.selectedState{padding-left:28px}.option.selected{cursor:default;color:var(--lx-primarybutton-backgroundcolor)}.option.highlighted{background:#eaedf1}.option.disabled{opacity:.6}.option.hasSubdropdown{padding-right:28px}.option i{font-size:.9em;line-height:23px;position:absolute;top:calc(50% - 11.5px)}.option i.fa-check{left:8px}.option i.fa-circle{left:6px;font-size:16px;width:16px;text-align:center}.option i.fas.fa-circle{font-size:8px;color:inherit}.option i.fa-chevron-right{right:8px;font-size:8px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: OptionComponent, isStandalone: true, selector: "lx-option", inputs: { selected: "selected", isHighlighted: "isHighlighted", disabled: "disabled", value: "value", hasSelectedState: "hasSelectedState", selectIcon: "selectIcon" }, outputs: { select: "select", highlight: "highlight", selectedClick: "selectedClick", keyDownAction: "keyDownAction" }, host: { listeners: { "click": "selectOption($event)" } }, viewQueries: [{ propertyName: "option", first: true, predicate: ["option"], descendants: true }], ngImport: i0, template: "<li\n #option\n class=\"option\"\n role=\"option\"\n tabindex=\"-1\"\n [attr.id]=\"optionId\"\n [attr.aria-selected]=\"selected\"\n [class.selectedState]=\"hasSelectedState && !hasSubdropdown\"\n [class.highlighted]=\"isHighlighted\"\n [class.selected]=\"selected\"\n [class.disabled]=\"disabled\"\n [class.hasSubdropdown]=\"hasSubdropdown\"\n (keydown)=\"handleKeyDown($event)\"\n>\n <ng-container *ngIf=\"hasSelectedState\">\n <ng-container [ngSwitch]=\"selectIcon\">\n <ng-container *ngSwitchCase=\"'check'\">\n <i *ngIf=\"selected\" class=\"far fa-check\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"'circle'\">\n <i class=\"fal fa-circle\"></i>\n <i *ngIf=\"selected\" class=\"fas fa-circle\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n <i *ngIf=\"hasSubdropdown\" class=\"far fa-chevron-right\"></i>\n</li>\n", styles: [":host{display:block}:host.flexLi li.option{display:flex}.option{line-height:23px;padding:4px 12px;cursor:pointer;color:#2a303d;position:relative}.option:hover{background-color:#e1e5eb}.option.selectedState{padding-left:28px}.option.selected{cursor:default;color:var(--lx-primarybutton-backgroundcolor)}.option.highlighted{background:#eaedf1}.option.disabled{opacity:.6}.option.hasSubdropdown{padding-right:28px}.option i{font-size:.9em;line-height:23px;position:absolute;top:calc(50% - 11.5px)}.option i.fa-check{left:8px}.option i.fa-circle{left:6px;font-size:16px;width:16px;text-align:center}.option i.fas.fa-circle{font-size:8px;color:inherit}.option i.fa-chevron-right{right:8px;font-size:8px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
63
63
  }
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionComponent, decorators: [{
65
65
  type: Component,
66
- args: [{ selector: 'lx-option', standalone: true, imports: [NgIf, NgSwitch, NgSwitchCase], template: "<li\n #option\n class=\"option\"\n role=\"option\"\n tabindex=\"-1\"\n [attr.id]=\"optionId\"\n [attr.aria-selected]=\"selected\"\n [class.selectedState]=\"hasSelectedState && !hasSubdropdown\"\n [class.highlighted]=\"isHighlighted\"\n [class.selected]=\"selected\"\n [class.disabled]=\"disabled\"\n [class.hasSubdropdown]=\"hasSubdropdown\"\n (keydown)=\"handleKeyDown($event)\"\n>\n <ng-container *ngIf=\"hasSelectedState\">\n <ng-container [ngSwitch]=\"selectIcon\">\n <ng-container *ngSwitchCase=\"'check'\">\n <i *ngIf=\"selected\" class=\"far fa-check\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"'circle'\">\n <i class=\"fal fa-circle\"></i>\n <i *ngIf=\"selected\" class=\"fas fa-circle\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-content />\n <i *ngIf=\"hasSubdropdown\" class=\"far fa-chevron-right\"></i>\n</li>\n", styles: [":host{display:block}:host.flexLi li.option{display:flex}.option{line-height:23px;padding:4px 12px;cursor:pointer;color:#2a303d;position:relative}.option:hover{background-color:#e1e5eb}.option.selectedState{padding-left:28px}.option.selected{cursor:default;color:var(--lx-primarybutton-backgroundcolor)}.option.highlighted{background:#eaedf1}.option.disabled{opacity:.6}.option.hasSubdropdown{padding-right:28px}.option i{font-size:.9em;line-height:23px;position:absolute;top:calc(50% - 11.5px)}.option i.fa-check{left:8px}.option i.fa-circle{left:6px;font-size:16px;width:16px;text-align:center}.option i.fas.fa-circle{font-size:8px;color:inherit}.option i.fa-chevron-right{right:8px;font-size:8px}\n"] }]
66
+ args: [{ selector: 'lx-option', standalone: true, imports: [NgIf, NgSwitch, NgSwitchCase], template: "<li\n #option\n class=\"option\"\n role=\"option\"\n tabindex=\"-1\"\n [attr.id]=\"optionId\"\n [attr.aria-selected]=\"selected\"\n [class.selectedState]=\"hasSelectedState && !hasSubdropdown\"\n [class.highlighted]=\"isHighlighted\"\n [class.selected]=\"selected\"\n [class.disabled]=\"disabled\"\n [class.hasSubdropdown]=\"hasSubdropdown\"\n (keydown)=\"handleKeyDown($event)\"\n>\n <ng-container *ngIf=\"hasSelectedState\">\n <ng-container [ngSwitch]=\"selectIcon\">\n <ng-container *ngSwitchCase=\"'check'\">\n <i *ngIf=\"selected\" class=\"far fa-check\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"'circle'\">\n <i class=\"fal fa-circle\"></i>\n <i *ngIf=\"selected\" class=\"fas fa-circle\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n <i *ngIf=\"hasSubdropdown\" class=\"far fa-chevron-right\"></i>\n</li>\n", styles: [":host{display:block}:host.flexLi li.option{display:flex}.option{line-height:23px;padding:4px 12px;cursor:pointer;color:#2a303d;position:relative}.option:hover{background-color:#e1e5eb}.option.selectedState{padding-left:28px}.option.selected{cursor:default;color:var(--lx-primarybutton-backgroundcolor)}.option.highlighted{background:#eaedf1}.option.disabled{opacity:.6}.option.hasSubdropdown{padding-right:28px}.option i{font-size:.9em;line-height:23px;position:absolute;top:calc(50% - 11.5px)}.option i.fa-check{left:8px}.option i.fa-circle{left:6px;font-size:16px;width:16px;text-align:center}.option i.fas.fa-circle{font-size:8px;color:inherit}.option i.fa-chevron-right{right:8px;font-size:8px}\n"] }]
67
67
  }], ctorParameters: () => [{ type: i1.OptionGroupComponent, decorators: [{
68
68
  type: Optional
69
69
  }, {
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
96
96
  type: HostListener,
97
97
  args: ['click', ['$event']]
98
98
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbi9vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQVM5RSxNQUFNLE9BQU8sZUFBZTtJQTJCMUIsWUFBWSxDQUFDLEtBQWtCO1FBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hDLElBQUksS0FBSyxFQUFFO2dCQUNULEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2FBQ2xDO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxZQUNzRSxLQUEyQixFQUN4RixVQUFtQztRQUQwQixVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQUN4RixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQTVDbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRW5DOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNqQyxlQUFVLEdBQXVCLE9BQU8sQ0FBQztRQUV4QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUk1RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQXdCM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBakVVLGVBQWUsa0JBNENKLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztrR0E1Q2pELGVBQWUsZ2dCQ1o1Qiw0NUJBNEJBLHN2QkRsQlksSUFBSSw2RkFBRSxRQUFRLDZFQUFFLFlBQVk7OzJGQUUzQixlQUFlO2tCQVAzQixTQUFTOytCQUNFLFdBQVcsY0FHVCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQzs7MEJBOENwQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztrRUEzQ25ELFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFRRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRWMsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQU9uQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVuaXF1ZUlkIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9wdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uLWdyb3VwL29wdGlvbi1ncm91cC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1vcHRpb24nLFxuICB0ZW1wbGF0ZVVybDogJ29wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydvcHRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2VdXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzSGlnaGxpZ2h0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgLyoqXG4gICAqIElzIHRydWUgd2hlbiBvcHRpb24gaGFzIGEgc2VsZWN0aW9uIG5hdHVyZSBsaWtlIHNvcnRpbmcuXG4gICAqIEluIHRoaXMgY2FzZSB3ZSBzaG93IGEgY2hlY2sgaWNvbiBvbiB0aGUgbGVmdCB0byBpbmRpY2F0ZSBzZWxlY3Rpb24uXG4gICAqXG4gICAqIElzIGZhbHNlIHdoZW4gb3B0aW9uIHJlcHJlc2VudHMgYSBvbmUgdGltZSBhY3Rpb24gbGlrZSBwcmludGluZy5cbiAgICogQ2Fubm90IGhhdmUgc2VsZWN0ZWRTdGF0ZSB3aGVuIE9wdGlvbiBoYXMgZHJvcGRvd25cbiAgICovXG4gIEBJbnB1dCgpIGhhc1NlbGVjdGVkU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RJY29uOiAnY2hlY2snIHwgJ2NpcmNsZScgPSAnY2hlY2snO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBoaWdobGlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkga2V5RG93bkFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdvcHRpb24nKSBvcHRpb24/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBoYXNTdWJkcm9wZG93bjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1N1Ym9wdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFkb25seSBvcHRpb25JZDogc3RyaW5nO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgc2VsZWN0T3B0aW9uKGV2ZW50PzogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuaGFzU3ViZHJvcGRvd24pIHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDbGljay5lbWl0KCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgICB0aGlzLmdyb3VwLnNlbGVjdE9wdGlvbih0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0LmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE9wdGlvbkdyb3VwQ29tcG9uZW50KSkgcHJpdmF0ZSBncm91cDogT3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMub3B0aW9uSWQgPSB1bmlxdWVJZCgnb3B0aW9uJyk7XG4gIH1cblxuICBzZXRTZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHNldEhpZ2hsaWdodGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0hpZ2hsaWdodGVkID0gdmFsdWU7XG4gICAgdGhpcy5oaWdobGlnaHQuZW1pdCh0aGlzLmlzSGlnaGxpZ2h0ZWQpO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5vcHRpb24/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5rZXlEb3duQWN0aW9uLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8bGlcbiAgI29wdGlvblxuICBjbGFzcz1cIm9wdGlvblwiXG4gIHJvbGU9XCJvcHRpb25cIlxuICB0YWJpbmRleD1cIi0xXCJcbiAgW2F0dHIuaWRdPVwib3B0aW9uSWRcIlxuICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgW2NsYXNzLnNlbGVjdGVkU3RhdGVdPVwiaGFzU2VsZWN0ZWRTdGF0ZSAmJiAhaGFzU3ViZHJvcGRvd25cIlxuICBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwiaXNIaWdobGlnaHRlZFwiXG4gIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZFwiXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5oYXNTdWJkcm9wZG93bl09XCJoYXNTdWJkcm9wZG93blwiXG4gIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNTZWxlY3RlZFN0YXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VsZWN0SWNvblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrJ1wiPlxuICAgICAgICA8aSAqbmdJZj1cInNlbGVjdGVkXCIgY2xhc3M9XCJmYXIgZmEtY2hlY2tcIj48L2k+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaXJjbGUnXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgPGkgKm5nSWY9XCJzZWxlY3RlZFwiIGNsYXNzPVwiZmFzIGZhLWNpcmNsZVwiPjwvaT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRlbnQgLz5cbiAgPGkgKm5nSWY9XCJoYXNTdWJkcm9wZG93blwiIGNsYXNzPVwiZmFyIGZhLWNoZXZyb24tcmlnaHRcIj48L2k+XG48L2xpPlxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbi9vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQVM5RSxNQUFNLE9BQU8sZUFBZTtJQTJCMUIsWUFBWSxDQUFDLEtBQWtCO1FBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hDLElBQUksS0FBSyxFQUFFO2dCQUNULEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2FBQ2xDO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxZQUNzRSxLQUEyQixFQUN4RixVQUFtQztRQUQwQixVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQUN4RixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQTVDbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRW5DOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNqQyxlQUFVLEdBQXVCLE9BQU8sQ0FBQztRQUV4QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUk1RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQXdCM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBakVVLGVBQWUsa0JBNENKLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztrR0E1Q2pELGVBQWUsZ2dCQ1o1Qix1NkJBNEJBLHN2QkRsQlksSUFBSSw2RkFBRSxRQUFRLDZFQUFFLFlBQVk7OzJGQUUzQixlQUFlO2tCQVAzQixTQUFTOytCQUNFLFdBQVcsY0FHVCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQzs7MEJBOENwQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztrRUEzQ25ELFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFRRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRWMsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQU9uQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVuaXF1ZUlkIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9wdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uLWdyb3VwL29wdGlvbi1ncm91cC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1vcHRpb24nLFxuICB0ZW1wbGF0ZVVybDogJ29wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydvcHRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2VdXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzSGlnaGxpZ2h0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgLyoqXG4gICAqIElzIHRydWUgd2hlbiBvcHRpb24gaGFzIGEgc2VsZWN0aW9uIG5hdHVyZSBsaWtlIHNvcnRpbmcuXG4gICAqIEluIHRoaXMgY2FzZSB3ZSBzaG93IGEgY2hlY2sgaWNvbiBvbiB0aGUgbGVmdCB0byBpbmRpY2F0ZSBzZWxlY3Rpb24uXG4gICAqXG4gICAqIElzIGZhbHNlIHdoZW4gb3B0aW9uIHJlcHJlc2VudHMgYSBvbmUgdGltZSBhY3Rpb24gbGlrZSBwcmludGluZy5cbiAgICogQ2Fubm90IGhhdmUgc2VsZWN0ZWRTdGF0ZSB3aGVuIE9wdGlvbiBoYXMgZHJvcGRvd25cbiAgICovXG4gIEBJbnB1dCgpIGhhc1NlbGVjdGVkU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RJY29uOiAnY2hlY2snIHwgJ2NpcmNsZScgPSAnY2hlY2snO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBoaWdobGlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkga2V5RG93bkFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdvcHRpb24nKSBvcHRpb24/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBoYXNTdWJkcm9wZG93bjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1N1Ym9wdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFkb25seSBvcHRpb25JZDogc3RyaW5nO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgc2VsZWN0T3B0aW9uKGV2ZW50PzogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuaGFzU3ViZHJvcGRvd24pIHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDbGljay5lbWl0KCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgICB0aGlzLmdyb3VwLnNlbGVjdE9wdGlvbih0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0LmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE9wdGlvbkdyb3VwQ29tcG9uZW50KSkgcHJpdmF0ZSBncm91cDogT3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMub3B0aW9uSWQgPSB1bmlxdWVJZCgnb3B0aW9uJyk7XG4gIH1cblxuICBzZXRTZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHNldEhpZ2hsaWdodGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0hpZ2hsaWdodGVkID0gdmFsdWU7XG4gICAgdGhpcy5oaWdobGlnaHQuZW1pdCh0aGlzLmlzSGlnaGxpZ2h0ZWQpO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5vcHRpb24/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5rZXlEb3duQWN0aW9uLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8bGlcbiAgI29wdGlvblxuICBjbGFzcz1cIm9wdGlvblwiXG4gIHJvbGU9XCJvcHRpb25cIlxuICB0YWJpbmRleD1cIi0xXCJcbiAgW2F0dHIuaWRdPVwib3B0aW9uSWRcIlxuICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgW2NsYXNzLnNlbGVjdGVkU3RhdGVdPVwiaGFzU2VsZWN0ZWRTdGF0ZSAmJiAhaGFzU3ViZHJvcGRvd25cIlxuICBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwiaXNIaWdobGlnaHRlZFwiXG4gIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZFwiXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5oYXNTdWJkcm9wZG93bl09XCJoYXNTdWJkcm9wZG93blwiXG4gIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNTZWxlY3RlZFN0YXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VsZWN0SWNvblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrJ1wiPlxuICAgICAgICA8aSAqbmdJZj1cInNlbGVjdGVkXCIgY2xhc3M9XCJmYXIgZmEtY2hlY2tcIj48L2k+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaXJjbGUnXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgPGkgKm5nSWY9XCJzZWxlY3RlZFwiIGNsYXNzPVwiZmFzIGZhLWNpcmNsZVwiPjwvaT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8aSAqbmdJZj1cImhhc1N1YmRyb3Bkb3duXCIgY2xhc3M9XCJmYXIgZmEtY2hldnJvbi1yaWdodFwiPjwvaT5cbjwvbGk+XG4iXX0=
@@ -14,11 +14,11 @@ export class OptionGroupComponent {
14
14
  this.select.emit(value);
15
15
  }
16
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: OptionGroupComponent, isStandalone: true, selector: "lx-option-group", inputs: { hasSelectedState: "hasSelectedState", label: "label" }, outputs: { select: "select" }, ngImport: i0, template: "<li>\n <span *ngIf=\"label\" class=\"groupLabel\" [class.selectedState]=\"hasSelectedState\">{{ label }}</span>\n <ul>\n <ng-content />\n </ul>\n</li>\n", styles: [":host{display:block}:host:not(:first-child){border-top:solid 1px #eaedf1}ul{list-style:none;margin:0;padding-left:0}.groupLabel{display:block;line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase}.groupLabel.selectedState{padding-left:28px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: OptionGroupComponent, isStandalone: true, selector: "lx-option-group", inputs: { hasSelectedState: "hasSelectedState", label: "label" }, outputs: { select: "select" }, ngImport: i0, template: "<li>\n <span *ngIf=\"label\" class=\"groupLabel\" [class.selectedState]=\"hasSelectedState\">{{ label }}</span>\n <ul>\n <ng-content></ng-content>\n </ul>\n</li>\n", styles: [":host{display:block}:host:not(:first-child){border-top:solid 1px #eaedf1}ul{list-style:none;margin:0;padding-left:0}.groupLabel{display:block;line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase}.groupLabel.selectedState{padding-left:28px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
18
  }
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionGroupComponent, decorators: [{
20
20
  type: Component,
21
- args: [{ selector: 'lx-option-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf], template: "<li>\n <span *ngIf=\"label\" class=\"groupLabel\" [class.selectedState]=\"hasSelectedState\">{{ label }}</span>\n <ul>\n <ng-content />\n </ul>\n</li>\n", styles: [":host{display:block}:host:not(:first-child){border-top:solid 1px #eaedf1}ul{list-style:none;margin:0;padding-left:0}.groupLabel{display:block;line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase}.groupLabel.selectedState{padding-left:28px}\n"] }]
21
+ args: [{ selector: 'lx-option-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf], template: "<li>\n <span *ngIf=\"label\" class=\"groupLabel\" [class.selectedState]=\"hasSelectedState\">{{ label }}</span>\n <ul>\n <ng-content></ng-content>\n </ul>\n</li>\n", styles: [":host{display:block}:host:not(:first-child){border-top:solid 1px #eaedf1}ul{list-style:none;margin:0;padding-left:0}.groupLabel{display:block;line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase}.groupLabel.selectedState{padding-left:28px}\n"] }]
22
22
  }], propDecorators: { hasSelectedState: [{
23
23
  type: Input
24
24
  }], label: [{
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
26
26
  }], select: [{
27
27
  type: Output
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvb3B0aW9uLWdyb3VwL29wdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbi1ncm91cC9vcHRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWhHLE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7UUFTRTs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFJaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FLdkM7SUFIQyxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOzhHQWJVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDRLQ1hqQyxnS0FNQSxtV0RHWSxJQUFJOzsyRkFFSCxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDOzhCQU9OLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtb3B0aW9uLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICdvcHRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb3B0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZl1cbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXBDb21wb25lbnQge1xuICAvKipcbiAgICogSXMgdHJ1ZSB3aGVuIG9wdGlvbiBjaGlsZHJlbiBoYXZlIGEgc2VsZWN0ZWQgc3RhdGUuXG4gICAqIEluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIGFsaWduIHRoZSBwYWRkaW5nIG9mIHRoZSBncm91cCBsYWJlbCB3aXRoIHRoZSBseC1vcHRpb25zJy5cbiAgICovXG4gIEBJbnB1dCgpIGhhc1NlbGVjdGVkU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc2VsZWN0T3B0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPGxpPlxuICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJncm91cExhYmVsXCIgW2NsYXNzLnNlbGVjdGVkU3RhdGVdPVwiaGFzU2VsZWN0ZWRTdGF0ZVwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICA8dWw+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgPC91bD5cbjwvbGk+XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvb3B0aW9uLWdyb3VwL29wdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbi1ncm91cC9vcHRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWhHLE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7UUFTRTs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFJaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FLdkM7SUFIQyxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOzhHQWJVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDRLQ1hqQywyS0FNQSxtV0RHWSxJQUFJOzsyRkFFSCxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDOzhCQU9OLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtb3B0aW9uLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICdvcHRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb3B0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZl1cbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXBDb21wb25lbnQge1xuICAvKipcbiAgICogSXMgdHJ1ZSB3aGVuIG9wdGlvbiBjaGlsZHJlbiBoYXZlIGEgc2VsZWN0ZWQgc3RhdGUuXG4gICAqIEluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIGFsaWduIHRoZSBwYWRkaW5nIG9mIHRoZSBncm91cCBsYWJlbCB3aXRoIHRoZSBseC1vcHRpb25zJy5cbiAgICovXG4gIEBJbnB1dCgpIGhhc1NlbGVjdGVkU3RhdGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc2VsZWN0T3B0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPGxpPlxuICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJncm91cExhYmVsXCIgW2NsYXNzLnNlbGVjdGVkU3RhdGVdPVwiaGFzU2VsZWN0ZWRTdGF0ZVwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICA8dWw+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3VsPlxuPC9saT5cbiJdfQ==
@@ -71,7 +71,7 @@ export class OptionGroupDropdownComponent extends KeyboardSelectDirective {
71
71
  this.isTopDropdown = event.connectionPair.originY === 'top';
72
72
  }
73
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionGroupDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: OptionGroupDropdownComponent, isStandalone: true, selector: "lx-option-group-dropdown", inputs: { optionGroups: "optionGroups", newOptionLabel: "newOptionLabel", highlightTerm: "highlightTerm", showCreateNewOption: "showCreateNewOption", labelKey: "labelKey", loading: "loading", trackByProperty: "trackByProperty", showNoResultsIfGroupIsEmpty: "showNoResultsIfGroupIsEmpty", overlayPositioning: "overlayPositioning" }, outputs: { onItemSelected: "onItemSelected", containerScrolled: "containerScrolled", createNewOption: "createNewOption" }, providers: [{ provide: KeyboardSelectDirective, useExisting: forwardRef(() => OptionGroupDropdownComponent) }], queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "noResultsOptionTemplateRef", first: true, predicate: ["noResultsOptionTemplateRef"], descendants: true }], viewQueries: [{ propertyName: "selectOrigin", first: true, predicate: ["selectOrigin"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"overlayPositioning; else dropdown\">\n <div class=\"overlayOrigin\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayOpen]=\"!!(cdkOverlayOpen$ | async)\"\n [cdkConnectedOverlayWidth]=\"selectOrigin.elementRef.nativeElement.offsetWidth\"\n (positionChange)=\"onPositionChange($event)\"\n >\n <div class=\"overlayDropdown\" [ngClass]=\"{ top: isTopDropdown }\">\n <ng-container [ngTemplateOutlet]=\"dropdown\" />\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdown>\n <div\n #keyboardSelectContainer\n class=\"scrollingPanel lxThinScrollbar\"\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n (scrolled)=\"containerScrolled.emit()\"\n >\n <ul class=\"options\">\n <li\n *ngIf=\"showCreateNewOption && newOptionLabel && isNewItem\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOption()\"\n (select)=\"onCreateNewOption()\"\n [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-counter class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\" />\n </li>\n <ng-container *ngFor=\"let optionGroup of optionGroups; let groupIndex = index; trackBy: trackByLabel\">\n <li>\n <div class=\"groupLabel\" *ngIf=\"optionGroup.label\">\n <span>{{ optionGroup.label | uppercase }}</span>\n </div>\n <ul>\n <ng-container *ngIf=\"showNoResultsIfGroupIsEmpty && optionGroup.options.length === 0; else options\">\n <li class=\"noResult\">\n <ng-container *ngIf=\"noResultsOptionTemplateRef; else defaultText\">\n <ng-container *ngTemplateOutlet=\"noResultsOptionTemplateRef; context: { group: optionGroup, groupIndex: groupIndex }\" />\n </ng-container>\n <ng-template #defaultText>\n <span>{{ NAME + '.noResults' | translate }}</span>\n </ng-template>\n </li>\n </ng-container>\n <ng-template #options>\n <li\n *ngFor=\"let option of optionGroup.options; let index = index; trackBy: trackByValue\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else basicDropdownOption\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index, groupIndex: groupIndex }\"\n />\n </ng-container>\n <ng-template #basicDropdownOption>\n <lx-basic-dropdown-item [label]=\"option.label\" labelFontWeight=\"normal\" [highlightTerm]=\"highlightTerm\" />\n </ng-template>\n </li>\n </ng-template>\n </ul>\n </li>\n </ng-container>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\" />\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:block}.overlayDropdown{width:100%;background:#fff;border-radius:3px;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;margin:0 -1px;width:calc(100% + 2px)}.overlayDropdown:not(.top){box-shadow:0 6px 6px #21252933;border-top:0;border-bottom:solid 1px #e1e5eb;border-top-left-radius:0;border-top-right-radius:0}.overlayDropdown.top{box-shadow:0 -4px 6px #21252933;border-top:solid 1px #e1e5eb;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.scrollingPanel{overflow-y:auto;max-height:400px}.groupLabel{line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase;cursor:default}ul{list-style:none;margin:0;padding:0}ul:not(:last-child){border-bottom:solid 1px #eaedf1}.noResult{display:block;padding:4px 12px}.option{cursor:pointer;display:block;padding:4px 12px}.option:hover{background-color:#e1e5eb!important}.option.highlighted{background:#eaedf1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: InfiniteScrollModule }, { kind: "directive", type: i1.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { kind: "component", type: CounterComponent, selector: "lx-counter", inputs: ["content", "size", "color"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BasicDropdownItemComponent, selector: "lx-basic-dropdown-item", inputs: ["label", "description", "highlightTerm", "labelFontWeight", "descriptionFontStyle", "descriptionStyleOptions"] }, { kind: "component", type: SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: OptionGroupDropdownComponent, isStandalone: true, selector: "lx-option-group-dropdown", inputs: { optionGroups: "optionGroups", newOptionLabel: "newOptionLabel", highlightTerm: "highlightTerm", showCreateNewOption: "showCreateNewOption", labelKey: "labelKey", loading: "loading", trackByProperty: "trackByProperty", showNoResultsIfGroupIsEmpty: "showNoResultsIfGroupIsEmpty", overlayPositioning: "overlayPositioning" }, outputs: { onItemSelected: "onItemSelected", containerScrolled: "containerScrolled", createNewOption: "createNewOption" }, providers: [{ provide: KeyboardSelectDirective, useExisting: forwardRef(() => OptionGroupDropdownComponent) }], queries: [{ propertyName: "optionTemplateRef", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "noResultsOptionTemplateRef", first: true, predicate: ["noResultsOptionTemplateRef"], descendants: true }], viewQueries: [{ propertyName: "selectOrigin", first: true, predicate: ["selectOrigin"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"overlayPositioning; else dropdown\">\n <div class=\"overlayOrigin\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayOpen]=\"!!(cdkOverlayOpen$ | async)\"\n [cdkConnectedOverlayWidth]=\"selectOrigin.elementRef.nativeElement.offsetWidth\"\n (positionChange)=\"onPositionChange($event)\"\n >\n <div class=\"overlayDropdown\" [ngClass]=\"{ top: isTopDropdown }\">\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdown>\n <div\n #keyboardSelectContainer\n class=\"scrollingPanel lxThinScrollbar\"\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n (scrolled)=\"containerScrolled.emit()\"\n >\n <ul class=\"options\">\n <li\n *ngIf=\"showCreateNewOption && newOptionLabel && isNewItem\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOption()\"\n (select)=\"onCreateNewOption()\"\n [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-counter class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-counter>\n </li>\n <ng-container *ngFor=\"let optionGroup of optionGroups; let groupIndex = index; trackBy: trackByLabel\">\n <li>\n <div class=\"groupLabel\" *ngIf=\"optionGroup.label\">\n <span>{{ optionGroup.label | uppercase }}</span>\n </div>\n <ul>\n <ng-container *ngIf=\"showNoResultsIfGroupIsEmpty && optionGroup.options.length === 0; else options\">\n <li class=\"noResult\">\n <ng-container *ngIf=\"noResultsOptionTemplateRef; else defaultText\">\n <ng-container\n *ngTemplateOutlet=\"noResultsOptionTemplateRef; context: { group: optionGroup, groupIndex: groupIndex }\"\n ></ng-container>\n </ng-container>\n <ng-template #defaultText>\n <span>{{ NAME + '.noResults' | translate }}</span>\n </ng-template>\n </li>\n </ng-container>\n <ng-template #options>\n <li\n *ngFor=\"let option of optionGroup.options; let index = index; trackBy: trackByValue\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else basicDropdownOption\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index, groupIndex: groupIndex }\"\n ></ng-container>\n </ng-container>\n <ng-template #basicDropdownOption>\n <lx-basic-dropdown-item\n [label]=\"option.label\"\n labelFontWeight=\"normal\"\n [highlightTerm]=\"highlightTerm\"\n ></lx-basic-dropdown-item>\n </ng-template>\n </li>\n </ng-template>\n </ul>\n </li>\n </ng-container>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:block}.overlayDropdown{width:100%;background:#fff;border-radius:3px;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;margin:0 -1px;width:calc(100% + 2px)}.overlayDropdown:not(.top){box-shadow:0 6px 6px #21252933;border-top:0;border-bottom:solid 1px #e1e5eb;border-top-left-radius:0;border-top-right-radius:0}.overlayDropdown.top{box-shadow:0 -4px 6px #21252933;border-top:solid 1px #e1e5eb;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.scrollingPanel{overflow-y:auto;max-height:400px}.groupLabel{line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase;cursor:default}ul{list-style:none;margin:0;padding:0}ul:not(:last-child){border-bottom:solid 1px #eaedf1}.noResult{display:block;padding:4px 12px}.option{cursor:pointer;display:block;padding:4px 12px}.option:hover{background-color:#e1e5eb!important}.option.highlighted{background:#eaedf1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: InfiniteScrollModule }, { kind: "directive", type: i1.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { kind: "component", type: CounterComponent, selector: "lx-counter", inputs: ["content", "size", "color"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BasicDropdownItemComponent, selector: "lx-basic-dropdown-item", inputs: ["label", "description", "highlightTerm", "labelFontWeight", "descriptionFontStyle", "descriptionStyleOptions"] }, { kind: "component", type: SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
75
  }
76
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionGroupDropdownComponent, decorators: [{
77
77
  type: Component,
@@ -90,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
90
90
  AsyncPipe,
91
91
  UpperCasePipe,
92
92
  TranslateModule
93
- ], template: "<ng-container *ngIf=\"overlayPositioning; else dropdown\">\n <div class=\"overlayOrigin\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayOpen]=\"!!(cdkOverlayOpen$ | async)\"\n [cdkConnectedOverlayWidth]=\"selectOrigin.elementRef.nativeElement.offsetWidth\"\n (positionChange)=\"onPositionChange($event)\"\n >\n <div class=\"overlayDropdown\" [ngClass]=\"{ top: isTopDropdown }\">\n <ng-container [ngTemplateOutlet]=\"dropdown\" />\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdown>\n <div\n #keyboardSelectContainer\n class=\"scrollingPanel lxThinScrollbar\"\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n (scrolled)=\"containerScrolled.emit()\"\n >\n <ul class=\"options\">\n <li\n *ngIf=\"showCreateNewOption && newOptionLabel && isNewItem\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOption()\"\n (select)=\"onCreateNewOption()\"\n [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-counter class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\" />\n </li>\n <ng-container *ngFor=\"let optionGroup of optionGroups; let groupIndex = index; trackBy: trackByLabel\">\n <li>\n <div class=\"groupLabel\" *ngIf=\"optionGroup.label\">\n <span>{{ optionGroup.label | uppercase }}</span>\n </div>\n <ul>\n <ng-container *ngIf=\"showNoResultsIfGroupIsEmpty && optionGroup.options.length === 0; else options\">\n <li class=\"noResult\">\n <ng-container *ngIf=\"noResultsOptionTemplateRef; else defaultText\">\n <ng-container *ngTemplateOutlet=\"noResultsOptionTemplateRef; context: { group: optionGroup, groupIndex: groupIndex }\" />\n </ng-container>\n <ng-template #defaultText>\n <span>{{ NAME + '.noResults' | translate }}</span>\n </ng-template>\n </li>\n </ng-container>\n <ng-template #options>\n <li\n *ngFor=\"let option of optionGroup.options; let index = index; trackBy: trackByValue\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else basicDropdownOption\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index, groupIndex: groupIndex }\"\n />\n </ng-container>\n <ng-template #basicDropdownOption>\n <lx-basic-dropdown-item [label]=\"option.label\" labelFontWeight=\"normal\" [highlightTerm]=\"highlightTerm\" />\n </ng-template>\n </li>\n </ng-template>\n </ul>\n </li>\n </ng-container>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\" />\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:block}.overlayDropdown{width:100%;background:#fff;border-radius:3px;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;margin:0 -1px;width:calc(100% + 2px)}.overlayDropdown:not(.top){box-shadow:0 6px 6px #21252933;border-top:0;border-bottom:solid 1px #e1e5eb;border-top-left-radius:0;border-top-right-radius:0}.overlayDropdown.top{box-shadow:0 -4px 6px #21252933;border-top:solid 1px #e1e5eb;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.scrollingPanel{overflow-y:auto;max-height:400px}.groupLabel{line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase;cursor:default}ul{list-style:none;margin:0;padding:0}ul:not(:last-child){border-bottom:solid 1px #eaedf1}.noResult{display:block;padding:4px 12px}.option{cursor:pointer;display:block;padding:4px 12px}.option:hover{background-color:#e1e5eb!important}.option.highlighted{background:#eaedf1}\n"] }]
93
+ ], template: "<ng-container *ngIf=\"overlayPositioning; else dropdown\">\n <div class=\"overlayOrigin\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayOpen]=\"!!(cdkOverlayOpen$ | async)\"\n [cdkConnectedOverlayWidth]=\"selectOrigin.elementRef.nativeElement.offsetWidth\"\n (positionChange)=\"onPositionChange($event)\"\n >\n <div class=\"overlayDropdown\" [ngClass]=\"{ top: isTopDropdown }\">\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdown>\n <div\n #keyboardSelectContainer\n class=\"scrollingPanel lxThinScrollbar\"\n infinite-scroll\n [scrollWindow]=\"false\"\n [fromRoot]=\"true\"\n (scrolled)=\"containerScrolled.emit()\"\n >\n <ul class=\"options\">\n <li\n *ngIf=\"showCreateNewOption && newOptionLabel && isNewItem\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n (click)=\"onCreateNewOption()\"\n (select)=\"onCreateNewOption()\"\n [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n class=\"option\"\n >\n <span class=\"newEntryContent\">\n {{ newOptionLabel }}\n </span>\n <lx-counter class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-counter>\n </li>\n <ng-container *ngFor=\"let optionGroup of optionGroups; let groupIndex = index; trackBy: trackByLabel\">\n <li>\n <div class=\"groupLabel\" *ngIf=\"optionGroup.label\">\n <span>{{ optionGroup.label | uppercase }}</span>\n </div>\n <ul>\n <ng-container *ngIf=\"showNoResultsIfGroupIsEmpty && optionGroup.options.length === 0; else options\">\n <li class=\"noResult\">\n <ng-container *ngIf=\"noResultsOptionTemplateRef; else defaultText\">\n <ng-container\n *ngTemplateOutlet=\"noResultsOptionTemplateRef; context: { group: optionGroup, groupIndex: groupIndex }\"\n ></ng-container>\n </ng-container>\n <ng-template #defaultText>\n <span>{{ NAME + '.noResults' | translate }}</span>\n </ng-template>\n </li>\n </ng-container>\n <ng-template #options>\n <li\n *ngFor=\"let option of optionGroup.options; let index = index; trackBy: trackByValue\"\n lxSelectableItem\n [scrollInContainer]=\"keyboardSelectContainer\"\n #item\n class=\"option\"\n (click)=\"selectOption(option)\"\n (select)=\"selectOption(option)\"\n [class.highlighted]=\"isItemSelected(item, (selectedItem$ | async)?.element)\"\n >\n <ng-container *ngIf=\"optionTemplateRef; else basicDropdownOption\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplateRef; context: { $implicit: option, index: index, groupIndex: groupIndex }\"\n ></ng-container>\n </ng-container>\n <ng-template #basicDropdownOption>\n <lx-basic-dropdown-item\n [label]=\"option.label\"\n labelFontWeight=\"normal\"\n [highlightTerm]=\"highlightTerm\"\n ></lx-basic-dropdown-item>\n </ng-template>\n </li>\n </ng-template>\n </ul>\n </li>\n </ng-container>\n <lx-spinner *ngIf=\"loading\" [fadeBackground]=\"true\"></lx-spinner>\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:block}.overlayDropdown{width:100%;background:#fff;border-radius:3px;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;margin:0 -1px;width:calc(100% + 2px)}.overlayDropdown:not(.top){box-shadow:0 6px 6px #21252933;border-top:0;border-bottom:solid 1px #e1e5eb;border-top-left-radius:0;border-top-right-radius:0}.overlayDropdown.top{box-shadow:0 -4px 6px #21252933;border-top:solid 1px #e1e5eb;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.scrollingPanel{overflow-y:auto;max-height:400px}.groupLabel{line-height:23px;padding:4px 12px;color:#99a5bb;letter-spacing:.5px;font-weight:700;text-transform:uppercase;cursor:default}ul{list-style:none;margin:0;padding:0}ul:not(:last-child){border-bottom:solid 1px #eaedf1}.noResult{display:block;padding:4px 12px}.option{cursor:pointer;display:block;padding:4px 12px}.option:hover{background-color:#e1e5eb!important}.option.highlighted{background:#eaedf1}\n"] }]
94
94
  }], propDecorators: { optionGroups: [{
95
95
  type: Input
96
96
  }], newOptionLabel: [{
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
125
125
  type: ViewChild,
126
126
  args: ['selectOrigin', { static: false }]
127
127
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvb3B0aW9uLWdyb3VwLWRyb3Bkb3duL29wdGlvbi1ncm91cC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbi1ncm91cC1kcm9wZG93bi9vcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFrQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FB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QyxtQkFDN0YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLEtBQUs7d0JBQ0wsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixlQUFlO3FCQUNoQjs4QkFJUSxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ1ksa0JBQWtCO3NCQUFuQyxLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRXlCLGlCQUFpQjtzQkFBaEQsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBTWMsMEJBQTBCO3NCQUFyRSxZQUFZO3VCQUFDLDRCQUE0QjtnQkFDSSxZQUFZO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luLCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBVcHBlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUtdWkvY29tcG9uZW50cy9jb3VudGVyL2NvdW50ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlLXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2VsZWN0YWJsZS1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYXNpY0Ryb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2ljLWRyb3Bkb3duLWl0ZW0vYmFzaWMtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2ljLWRyb3Bkb3duL2Jhc2ljLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZXlib2FyZFNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4uL2tleWJvYXJkLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgdHlwZSBPcHRpb25Hcm91cE9wdGlvbiA9IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9O1xuLyoqXG4gKiBUT0RPOiByZW5hbWUgdG8gc29tZXRoaW5nIHVuc3BlY2lmaWMgZm9yIHNpbmdsZSBzZWxlY3RzIGJlY2F1c2UgbXVsdGlzZWxlY3RzIGFyZSBhbHNvIHN1cHBvcnRlZFxuICovXG5leHBvcnQgdHlwZSBTaW5nbGVTZWxlY3RPcHRpb25Hcm91cDxUID0gYW55PiA9IHtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3B0aW9uczogKE9wdGlvbkdyb3VwT3B0aW9uIHwgVClbXTtcbn07XG5cbi8qKlxuICogVXNhZ2U6XG4gKiA8bHgtc2luZ2xlLXNlbGVjdFxuICogICAgI3NpbmdsZVNlbGVjdFxuICogICAgW3NlbGVjdGlvbl09XCJ2YWx1ZVwiXG4gKiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAqICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZE9wdGlvblwiPlxuICogICAgIHt7IHZhbHVlLmxhYmVsIH19XG4gKiAgIDwvc3Bhbj5cbiAqICAgPGx4LW9wdGlvbi1ncm91cC1kcm9wZG93blxuICogICAgIGNsYXNzPVwiZHJvcGRvd25Db21wb25lbnRcIlxuICogICAgIFtrZXlib2FyZFNlbGVjdEFjdGlvbl09XCJzaW5nbGVTZWxlY3Qub3B0aW9uc0tleWJvYXJkU2VsZWN0QWN0aW9uJFwiXG4gKiAgICAgW29wdGlvbkdyb3Vwc109XCJvcHRpb25Hcm91cHNcIlxuICogICAgIChvbkl0ZW1TZWxlY3RlZCk9XCJzaW5nbGVTZWxlY3Quc2VsZWN0T3B0aW9uKCRldmVudClcIj5cbiAqICAgIDwvbHgtb3B0aW9uLWdyb3VwLWRyb3Bkb3duPlxuICogPC9seC1zaW5nbGUtc2VsZWN0PlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtb3B0aW9uLWdyb3VwLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICdvcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogS2V5Ym9hcmRTZWxlY3REaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE9wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQpIH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgICBDZGtDb25uZWN0ZWRPdmVybGF5LFxuICAgIE5nQ2xhc3MsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBDb3VudGVyQ29tcG9uZW50LFxuICAgIE5nRm9yLFxuICAgIEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50LFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIFVwcGVyQ2FzZVBpcGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEtleWJvYXJkU2VsZWN0RGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgTkFNRSA9ICdPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50JztcbiAgQElucHV0KCkgb3B0aW9uR3JvdXBzOiBTaW5nbGVTZWxlY3RPcHRpb25Hcm91cFtdID0gW107XG4gIC8qKlxuICAgKiBVc3VhbGx5IGEgc3RyZWFtIG9mIHRoZSBjdXJyZW50IGlucHV0IHZhbHVlIG9mIHRoZSBwYXJlbnQgc2VsZWN0LlxuICAgKi9cbiAgQElucHV0KCkgbmV3T3B0aW9uTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpZ2hsaWdodFRlcm0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dDcmVhdGVOZXdPcHRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWxLZXk6IHN0cmluZyA9ICdsYWJlbCc7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJhY2tCeVByb3BlcnR5Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93Tm9SZXN1bHRzSWZHcm91cElzRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgb3ZlcnJpZGUgb3ZlcmxheVBvc2l0aW9uaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxPcHRpb25Hcm91cE9wdGlvbiB8IGFueT4oKTtcbiAgQE91dHB1dCgpIGNvbnRhaW5lclNjcm9sbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY3JlYXRlTmV3T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBJZiB5b3UgcHJvdmlkZSBhIDxuZy10ZW1wbGF0ZSAjbm9SZXN1bHRzT3B0aW9uVGVtcGxhdGVSZWY+PC9uZy10ZW1wbGF0ZT4gaW5zaWRlIHRoZSA8bHgtb3B0aW9uLWdyb3VwLWRyb3Bkb3duPlxuICAgKiBpdCB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgXCJubyByZXN1bHRzXCIgb3B0aW9uIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgXCJObyByZXN1bHRzXCIgdGV4dC5cbiAgICogVGhpcyB3YXkgeW91IGNhbiBlYXNpbHkgZGVmaW5lIGRpZmZlcmVudCBcIk5vIHJlc3VsdHNcIiB0ZXh0cyBmb3IgZGlmZmVyZW50IGdyb3VwcyB0b28uXG4gICAqL1xuICBAQ29udGVudENoaWxkKCdub1Jlc3VsdHNPcHRpb25UZW1wbGF0ZVJlZicpIG5vUmVzdWx0c09wdGlvblRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0T3JpZ2luJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdE9yaWdpbiE6IENka092ZXJsYXlPcmlnaW47XG4gIGlzVG9wRHJvcGRvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGlzTmV3SXRlbSgpIHtcbiAgICBjb25zdCBvcHRpb25zID1cbiAgICAgIHRoaXMub3B0aW9uR3JvdXBzPy5yZWR1Y2U8KE9wdGlvbkdyb3VwT3B0aW9uIHwgYW55KVtdPigoZmxhdE9wdGlvbnMsIG9wdGlvbkdyb3VwKSA9PiBmbGF0T3B0aW9ucy5jb25jYXQob3B0aW9uR3JvdXAub3B0aW9ucyksIFtdKSA/P1xuICAgICAgW107XG4gICAgcmV0dXJuIEJhc2ljRHJvcGRvd25Db21wb25lbnQuaXNOZXdJdGVtKG9wdGlvbnMsIHRoaXMubmV3T3B0aW9uTGFiZWwgPz8gJycsIHRoaXMubGFiZWxLZXkpO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogT3B0aW9uR3JvdXBPcHRpb24gfCBhbnkpIHtcbiAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQob3B0aW9uKTtcbiAgfVxuXG4gIHRyYWNrQnlMYWJlbChpbmRleDogbnVtYmVyLCBvcHRpb25Hcm91cDogU2luZ2xlU2VsZWN0T3B0aW9uR3JvdXApIHtcbiAgICByZXR1cm4gb3B0aW9uR3JvdXAubGFiZWwgKyBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBvbkNyZWF0ZU5ld09wdGlvbigpIHtcbiAgICBpZiAoIXRoaXMubG9hZGluZyAmJiB0aGlzLm5ld09wdGlvbkxhYmVsKSB7XG4gICAgICB0aGlzLmNyZWF0ZU5ld09wdGlvbi5lbWl0KHRoaXMubmV3T3B0aW9uTGFiZWwpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlWYWx1ZShfaW5kZXg6IG51bWJlciwgb3B0aW9uOiBPcHRpb25Hcm91cE9wdGlvbiB8IGFueSkge1xuICAgIGlmICh0aGlzLnRyYWNrQnlQcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLnRyYWNrQnlQcm9wZXJ0eV07XG4gICAgfVxuICAgIHJldHVybiBvcHRpb24udmFsdWU7XG4gIH1cblxuICBvblBvc2l0aW9uQ2hhbmdlKGV2ZW50OiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpIHtcbiAgICB0aGlzLmlzVG9wRHJvcGRvd24gPSBldmVudC5jb25uZWN0aW9uUGFpci5vcmlnaW5ZID09PSAndG9wJztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlQb3NpdGlvbmluZzsgZWxzZSBkcm9wZG93blwiPlxuICA8ZGl2IGNsYXNzPVwib3ZlcmxheU9yaWdpblwiIGNka092ZXJsYXlPcmlnaW4gI3NlbGVjdE9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIj48L2Rpdj5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInNlbGVjdE9yaWdpblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIiEhKGNka092ZXJsYXlPcGVuJCB8IGFzeW5jKVwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJzZWxlY3RPcmlnaW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoXCJcbiAgICAocG9zaXRpb25DaGFuZ2UpPVwib25Qb3NpdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5RHJvcGRvd25cIiBbbmdDbGFzc109XCJ7IHRvcDogaXNUb3BEcm9wZG93biB9XCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICA8ZGl2XG4gICAgI2tleWJvYXJkU2VsZWN0Q29udGFpbmVyXG4gICAgY2xhc3M9XCJzY3JvbGxpbmdQYW5lbCBseFRoaW5TY3JvbGxiYXJcIlxuICAgIGluZmluaXRlLXNjcm9sbFxuICAgIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIlxuICAgIFtmcm9tUm9vdF09XCJ0cnVlXCJcbiAgICAoc2Nyb2xsZWQpPVwiY29udGFpbmVyU2Nyb2xsZWQuZW1pdCgpXCJcbiAgPlxuICAgIDx1bCBjbGFzcz1cIm9wdGlvbnNcIj5cbiAgICAgIDxsaVxuICAgICAgICAqbmdJZj1cInNob3dDcmVhdGVOZXdPcHRpb24gJiYgbmV3T3B0aW9uTGFiZWwgJiYgaXNOZXdJdGVtXCJcbiAgICAgICAgbHhTZWxlY3RhYmxlSXRlbVxuICAgICAgICBbc2Nyb2xsSW5Db250YWluZXJdPVwia2V5Ym9hcmRTZWxlY3RDb250YWluZXJcIlxuICAgICAgICAjaXRlbVxuICAgICAgICAoY2xpY2spPVwib25DcmVhdGVOZXdPcHRpb24oKVwiXG4gICAgICAgIChzZWxlY3QpPVwib25DcmVhdGVOZXdPcHRpb24oKVwiXG4gICAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtLCAoc2VsZWN0ZWRJdGVtJCB8IGFzeW5jKT8uZWxlbWVudClcIlxuICAgICAgICBjbGFzcz1cIm9wdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmV3RW50cnlDb250ZW50XCI+XG4gICAgICAgICAge3sgbmV3T3B0aW9uTGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bHgtY291bnRlciBjbGFzcz1cImx4LW1hcmdpbi1sZWZ0XCIgc2l6ZT1cInNtYWxsXCIgW2NvbnRlbnRdPVwiJ2NvbW1vbi5uZXcnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlXCIgLz5cbiAgICAgIDwvbGk+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb25Hcm91cCBvZiBvcHRpb25Hcm91cHM7IGxldCBncm91cEluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlMYWJlbFwiPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwTGFiZWxcIiAqbmdJZj1cIm9wdGlvbkdyb3VwLmxhYmVsXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBvcHRpb25Hcm91cC5sYWJlbCB8IHVwcGVyY2FzZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWw+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd05vUmVzdWx0c0lmR3JvdXBJc0VtcHR5ICYmIG9wdGlvbkdyb3VwLm9wdGlvbnMubGVuZ3RoID09PSAwOyBlbHNlIG9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibm9SZXN1bHRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9SZXN1bHRzT3B0aW9uVGVtcGxhdGVSZWY7IGVsc2UgZGVmYXVsdFRleHRcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub1Jlc3VsdHNPcHRpb25UZW1wbGF0ZVJlZjsgY29udGV4dDogeyBncm91cDogb3B0aW9uR3JvdXAsIGdyb3VwSW5kZXg6IGdyb3VwSW5kZXggfVwiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGV4dD5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE5BTUUgKyAnLm5vUmVzdWx0cycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNvcHRpb25zPlxuICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbkdyb3VwLm9wdGlvbnM7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5VmFsdWVcIlxuICAgICAgICAgICAgICAgIGx4U2VsZWN0YWJsZUl0ZW1cbiAgICAgICAgICAgICAgICBbc2Nyb2xsSW5Db250YWluZXJdPVwia2V5Ym9hcmRTZWxlY3RDb250YWluZXJcIlxuICAgICAgICAgICAgICAgICNpdGVtXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdCk9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmhpZ2hsaWdodGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0sIChzZWxlY3RlZEl0ZW0kIHwgYXN5bmMpPy5lbGVtZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uVGVtcGxhdGVSZWY7IGVsc2UgYmFzaWNEcm9wZG93bk9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvblRlbXBsYXRlUmVmOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uLCBpbmRleDogaW5kZXgsIGdyb3VwSW5kZXg6IGdyb3VwSW5kZXggfVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYmFzaWNEcm9wZG93bk9wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxseC1iYXNpYy1kcm9wZG93bi1pdGVtIFtsYWJlbF09XCJvcHRpb24ubGFiZWxcIiBsYWJlbEZvbnRXZWlnaHQ9XCJub3JtYWxcIiBbaGlnaGxpZ2h0VGVybV09XCJoaWdobGlnaHRUZXJtXCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bHgtc3Bpbm5lciAqbmdJZj1cImxvYWRpbmdcIiBbZmFkZUJhY2tncm91bmRdPVwidHJ1ZVwiIC8+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvb3B0aW9uLWdyb3VwLWRyb3Bkb3duL29wdGlvbi1ncm91cC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbi1ncm91cC1kcm9wZG93bi9vcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFrQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FB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QyxtQkFDN0YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLEtBQUs7d0JBQ0wsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixlQUFlO3FCQUNoQjs4QkFJUSxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ1ksa0JBQWtCO3NCQUFuQyxLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRXlCLGlCQUFpQjtzQkFBaEQsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBTWMsMEJBQTBCO3NCQUFyRSxZQUFZO3VCQUFDLDRCQUE0QjtnQkFDSSxZQUFZO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luLCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBVcHBlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUtdWkvY29tcG9uZW50cy9jb3VudGVyL2NvdW50ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlLXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2VsZWN0YWJsZS1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYXNpY0Ryb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2ljLWRyb3Bkb3duLWl0ZW0vYmFzaWMtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2ljLWRyb3Bkb3duL2Jhc2ljLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZXlib2FyZFNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4uL2tleWJvYXJkLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgdHlwZSBPcHRpb25Hcm91cE9wdGlvbiA9IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9O1xuLyoqXG4gKiBUT0RPOiByZW5hbWUgdG8gc29tZXRoaW5nIHVuc3BlY2lmaWMgZm9yIHNpbmdsZSBzZWxlY3RzIGJlY2F1c2UgbXVsdGlzZWxlY3RzIGFyZSBhbHNvIHN1cHBvcnRlZFxuICovXG5leHBvcnQgdHlwZSBTaW5nbGVTZWxlY3RPcHRpb25Hcm91cDxUID0gYW55PiA9IHtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3B0aW9uczogKE9wdGlvbkdyb3VwT3B0aW9uIHwgVClbXTtcbn07XG5cbi8qKlxuICogVXNhZ2U6XG4gKiA8bHgtc2luZ2xlLXNlbGVjdFxuICogICAgI3NpbmdsZVNlbGVjdFxuICogICAgW3NlbGVjdGlvbl09XCJ2YWx1ZVwiXG4gKiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAqICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZE9wdGlvblwiPlxuICogICAgIHt7IHZhbHVlLmxhYmVsIH19XG4gKiAgIDwvc3Bhbj5cbiAqICAgPGx4LW9wdGlvbi1ncm91cC1kcm9wZG93blxuICogICAgIGNsYXNzPVwiZHJvcGRvd25Db21wb25lbnRcIlxuICogICAgIFtrZXlib2FyZFNlbGVjdEFjdGlvbl09XCJzaW5nbGVTZWxlY3Qub3B0aW9uc0tleWJvYXJkU2VsZWN0QWN0aW9uJFwiXG4gKiAgICAgW29wdGlvbkdyb3Vwc109XCJvcHRpb25Hcm91cHNcIlxuICogICAgIChvbkl0ZW1TZWxlY3RlZCk9XCJzaW5nbGVTZWxlY3Quc2VsZWN0T3B0aW9uKCRldmVudClcIj5cbiAqICAgIDwvbHgtb3B0aW9uLWdyb3VwLWRyb3Bkb3duPlxuICogPC9seC1zaW5nbGUtc2VsZWN0PlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtb3B0aW9uLWdyb3VwLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICdvcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogS2V5Ym9hcmRTZWxlY3REaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE9wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQpIH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgICBDZGtDb25uZWN0ZWRPdmVybGF5LFxuICAgIE5nQ2xhc3MsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBDb3VudGVyQ29tcG9uZW50LFxuICAgIE5nRm9yLFxuICAgIEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50LFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICAgIFVwcGVyQ2FzZVBpcGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEtleWJvYXJkU2VsZWN0RGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgTkFNRSA9ICdPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50JztcbiAgQElucHV0KCkgb3B0aW9uR3JvdXBzOiBTaW5nbGVTZWxlY3RPcHRpb25Hcm91cFtdID0gW107XG4gIC8qKlxuICAgKiBVc3VhbGx5IGEgc3RyZWFtIG9mIHRoZSBjdXJyZW50IGlucHV0IHZhbHVlIG9mIHRoZSBwYXJlbnQgc2VsZWN0LlxuICAgKi9cbiAgQElucHV0KCkgbmV3T3B0aW9uTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpZ2hsaWdodFRlcm0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dDcmVhdGVOZXdPcHRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWxLZXk6IHN0cmluZyA9ICdsYWJlbCc7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJhY2tCeVByb3BlcnR5Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93Tm9SZXN1bHRzSWZHcm91cElzRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgb3ZlcnJpZGUgb3ZlcmxheVBvc2l0aW9uaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxPcHRpb25Hcm91cE9wdGlvbiB8IGFueT4oKTtcbiAgQE91dHB1dCgpIGNvbnRhaW5lclNjcm9sbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY3JlYXRlTmV3T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBJZiB5b3UgcHJvdmlkZSBhIDxuZy10ZW1wbGF0ZSAjbm9SZXN1bHRzT3B0aW9uVGVtcGxhdGVSZWY+PC9uZy10ZW1wbGF0ZT4gaW5zaWRlIHRoZSA8bHgtb3B0aW9uLWdyb3VwLWRyb3Bkb3duPlxuICAgKiBpdCB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgXCJubyByZXN1bHRzXCIgb3B0aW9uIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgXCJObyByZXN1bHRzXCIgdGV4dC5cbiAgICogVGhpcyB3YXkgeW91IGNhbiBlYXNpbHkgZGVmaW5lIGRpZmZlcmVudCBcIk5vIHJlc3VsdHNcIiB0ZXh0cyBmb3IgZGlmZmVyZW50IGdyb3VwcyB0b28uXG4gICAqL1xuICBAQ29udGVudENoaWxkKCdub1Jlc3VsdHNPcHRpb25UZW1wbGF0ZVJlZicpIG5vUmVzdWx0c09wdGlvblRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0T3JpZ2luJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdE9yaWdpbiE6IENka092ZXJsYXlPcmlnaW47XG4gIGlzVG9wRHJvcGRvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGlzTmV3SXRlbSgpIHtcbiAgICBjb25zdCBvcHRpb25zID1cbiAgICAgIHRoaXMub3B0aW9uR3JvdXBzPy5yZWR1Y2U8KE9wdGlvbkdyb3VwT3B0aW9uIHwgYW55KVtdPigoZmxhdE9wdGlvbnMsIG9wdGlvbkdyb3VwKSA9PiBmbGF0T3B0aW9ucy5jb25jYXQob3B0aW9uR3JvdXAub3B0aW9ucyksIFtdKSA/P1xuICAgICAgW107XG4gICAgcmV0dXJuIEJhc2ljRHJvcGRvd25Db21wb25lbnQuaXNOZXdJdGVtKG9wdGlvbnMsIHRoaXMubmV3T3B0aW9uTGFiZWwgPz8gJycsIHRoaXMubGFiZWxLZXkpO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogT3B0aW9uR3JvdXBPcHRpb24gfCBhbnkpIHtcbiAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQob3B0aW9uKTtcbiAgfVxuXG4gIHRyYWNrQnlMYWJlbChpbmRleDogbnVtYmVyLCBvcHRpb25Hcm91cDogU2luZ2xlU2VsZWN0T3B0aW9uR3JvdXApIHtcbiAgICByZXR1cm4gb3B0aW9uR3JvdXAubGFiZWwgKyBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBvbkNyZWF0ZU5ld09wdGlvbigpIHtcbiAgICBpZiAoIXRoaXMubG9hZGluZyAmJiB0aGlzLm5ld09wdGlvbkxhYmVsKSB7XG4gICAgICB0aGlzLmNyZWF0ZU5ld09wdGlvbi5lbWl0KHRoaXMubmV3T3B0aW9uTGFiZWwpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlWYWx1ZShfaW5kZXg6IG51bWJlciwgb3B0aW9uOiBPcHRpb25Hcm91cE9wdGlvbiB8IGFueSkge1xuICAgIGlmICh0aGlzLnRyYWNrQnlQcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLnRyYWNrQnlQcm9wZXJ0eV07XG4gICAgfVxuICAgIHJldHVybiBvcHRpb24udmFsdWU7XG4gIH1cblxuICBvblBvc2l0aW9uQ2hhbmdlKGV2ZW50OiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpIHtcbiAgICB0aGlzLmlzVG9wRHJvcGRvd24gPSBldmVudC5jb25uZWN0aW9uUGFpci5vcmlnaW5ZID09PSAndG9wJztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlQb3NpdGlvbmluZzsgZWxzZSBkcm9wZG93blwiPlxuICA8ZGl2IGNsYXNzPVwib3ZlcmxheU9yaWdpblwiIGNka092ZXJsYXlPcmlnaW4gI3NlbGVjdE9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIj48L2Rpdj5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInNlbGVjdE9yaWdpblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIiEhKGNka092ZXJsYXlPcGVuJCB8IGFzeW5jKVwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJzZWxlY3RPcmlnaW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoXCJcbiAgICAocG9zaXRpb25DaGFuZ2UpPVwib25Qb3NpdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5RHJvcGRvd25cIiBbbmdDbGFzc109XCJ7IHRvcDogaXNUb3BEcm9wZG93biB9XCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgPGRpdlxuICAgICNrZXlib2FyZFNlbGVjdENvbnRhaW5lclxuICAgIGNsYXNzPVwic2Nyb2xsaW5nUGFuZWwgbHhUaGluU2Nyb2xsYmFyXCJcbiAgICBpbmZpbml0ZS1zY3JvbGxcbiAgICBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcbiAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiXG4gICAgKHNjcm9sbGVkKT1cImNvbnRhaW5lclNjcm9sbGVkLmVtaXQoKVwiXG4gID5cbiAgICA8dWwgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nSWY9XCJzaG93Q3JlYXRlTmV3T3B0aW9uICYmIG5ld09wdGlvbkxhYmVsICYmIGlzTmV3SXRlbVwiXG4gICAgICAgIGx4U2VsZWN0YWJsZUl0ZW1cbiAgICAgICAgW3Njcm9sbEluQ29udGFpbmVyXT1cImtleWJvYXJkU2VsZWN0Q29udGFpbmVyXCJcbiAgICAgICAgI2l0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uQ3JlYXRlTmV3T3B0aW9uKClcIlxuICAgICAgICAoc2VsZWN0KT1cIm9uQ3JlYXRlTmV3T3B0aW9uKClcIlxuICAgICAgICBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSwgKHNlbGVjdGVkSXRlbSQgfCBhc3luYyk/LmVsZW1lbnQpXCJcbiAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5ld0VudHJ5Q29udGVudFwiPlxuICAgICAgICAgIHt7IG5ld09wdGlvbkxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGx4LWNvdW50ZXIgY2xhc3M9XCJseC1tYXJnaW4tbGVmdFwiIHNpemU9XCJzbWFsbFwiIFtjb250ZW50XT1cIidjb21tb24ubmV3JyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZVwiPjwvbHgtY291bnRlcj5cbiAgICAgIDwvbGk+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb25Hcm91cCBvZiBvcHRpb25Hcm91cHM7IGxldCBncm91cEluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlMYWJlbFwiPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwTGFiZWxcIiAqbmdJZj1cIm9wdGlvbkdyb3VwLmxhYmVsXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBvcHRpb25Hcm91cC5sYWJlbCB8IHVwcGVyY2FzZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWw+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd05vUmVzdWx0c0lmR3JvdXBJc0VtcHR5ICYmIG9wdGlvbkdyb3VwLm9wdGlvbnMubGVuZ3RoID09PSAwOyBlbHNlIG9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibm9SZXN1bHRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9SZXN1bHRzT3B0aW9uVGVtcGxhdGVSZWY7IGVsc2UgZGVmYXVsdFRleHRcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub1Jlc3VsdHNPcHRpb25UZW1wbGF0ZVJlZjsgY29udGV4dDogeyBncm91cDogb3B0aW9uR3JvdXAsIGdyb3VwSW5kZXg6IGdyb3VwSW5kZXggfVwiXG4gICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGV4dD5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IE5BTUUgKyAnLm5vUmVzdWx0cycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNvcHRpb25zPlxuICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbkdyb3VwLm9wdGlvbnM7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5VmFsdWVcIlxuICAgICAgICAgICAgICAgIGx4U2VsZWN0YWJsZUl0ZW1cbiAgICAgICAgICAgICAgICBbc2Nyb2xsSW5Db250YWluZXJdPVwia2V5Ym9hcmRTZWxlY3RDb250YWluZXJcIlxuICAgICAgICAgICAgICAgICNpdGVtXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdCk9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmhpZ2hsaWdodGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0sIChzZWxlY3RlZEl0ZW0kIHwgYXN5bmMpPy5lbGVtZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uVGVtcGxhdGVSZWY7IGVsc2UgYmFzaWNEcm9wZG93bk9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvblRlbXBsYXRlUmVmOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uLCBpbmRleDogaW5kZXgsIGdyb3VwSW5kZXg6IGdyb3VwSW5kZXggfVwiXG4gICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNiYXNpY0Ryb3Bkb3duT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPGx4LWJhc2ljLWRyb3Bkb3duLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsRm9udFdlaWdodD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICAgIFtoaWdobGlnaHRUZXJtXT1cImhpZ2hsaWdodFRlcm1cIlxuICAgICAgICAgICAgICAgICAgPjwvbHgtYmFzaWMtZHJvcGRvd24taXRlbT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bHgtc3Bpbm5lciAqbmdJZj1cImxvYWRpbmdcIiBbZmFkZUJhY2tncm91bmRdPVwidHJ1ZVwiPjwvbHgtc3Bpbm5lcj5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=