@leanix/components 0.4.68 → 0.4.69

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 (113) hide show
  1. package/esm2022/lib/core-ui/directives/autoclose.directive.mjs +2 -2
  2. package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +1 -1
  3. package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +26 -10
  4. package/esm2022/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +5 -5
  5. package/esm2022/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +7 -7
  6. package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +4 -5
  7. package/esm2022/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +4 -5
  8. package/esm2022/lib/forms-ui/components/copy-button/copy-button.component.mjs +4 -3
  9. package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +9 -9
  10. package/esm2022/lib/forms-ui/components/currency/currency-symbol.component.mjs +4 -4
  11. package/esm2022/lib/forms-ui/components/date-input/date-input.component.mjs +10 -11
  12. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +7 -5
  13. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +5 -12
  14. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +9 -8
  15. package/esm2022/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +5 -5
  16. package/esm2022/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +5 -5
  17. package/esm2022/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +5 -5
  18. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +5 -5
  19. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +19 -10
  20. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +22 -5
  21. package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +4 -3
  22. package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +4 -3
  23. package/esm2022/lib/forms-ui/components/error-message/error-message.component.mjs +6 -5
  24. package/esm2022/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +7 -6
  25. package/esm2022/lib/forms-ui/components/form-error/form-error.component.mjs +6 -5
  26. package/esm2022/lib/forms-ui/components/icon/icon.component.mjs +3 -3
  27. package/esm2022/lib/forms-ui/components/input/input.component.mjs +3 -3
  28. package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +8 -9
  29. package/esm2022/lib/forms-ui/components/option/option.component.mjs +6 -6
  30. package/esm2022/lib/forms-ui/components/option-group/option-group.component.mjs +4 -4
  31. package/esm2022/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +28 -11
  32. package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +7 -6
  33. package/esm2022/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +5 -5
  34. package/esm2022/lib/forms-ui/components/picker/picker-trigger.directive.mjs +4 -3
  35. package/esm2022/lib/forms-ui/components/picker/picker.component.mjs +6 -6
  36. package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +5 -5
  37. package/esm2022/lib/forms-ui/components/pill-item/pill-item.component.mjs +4 -4
  38. package/esm2022/lib/forms-ui/components/pill-list/pill-list.component.mjs +5 -6
  39. package/esm2022/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +6 -6
  40. package/esm2022/lib/forms-ui/components/select-list/select-list.component.mjs +6 -5
  41. package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +8 -8
  42. package/esm2022/lib/forms-ui/components/slider-toggle/slider-toggle.component.mjs +4 -4
  43. package/esm2022/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +20 -10
  44. package/esm2022/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +4 -4
  45. package/esm2022/lib/forms-ui/directives/contenteditable.directive.mjs +4 -3
  46. package/esm2022/lib/forms-ui/directives/form-error.directive.mjs +4 -3
  47. package/esm2022/lib/forms-ui/directives/form-submit.directive.mjs +4 -3
  48. package/esm2022/lib/forms-ui/directives/keyboard-action-source.directive.mjs +4 -3
  49. package/esm2022/lib/forms-ui/directives/mark-invalid.directive.mjs +4 -3
  50. package/esm2022/lib/forms-ui/directives/select-dropdown.directive.mjs +4 -3
  51. package/esm2022/lib/forms-ui/directives/selectable-item.directive.mjs +4 -3
  52. package/esm2022/lib/forms-ui/directives/selected-option.directive.mjs +4 -3
  53. package/esm2022/lib/forms-ui/forms-ui.module.mjs +35 -23
  54. package/esm2022/lib/forms-ui/pipes/filter-selection.pipe.mjs +6 -3
  55. package/esm2022/lib/forms-ui/pipes/filter-term.pipe.mjs +6 -3
  56. package/esm2022/lib/forms-ui/pipes/format-number.pipe.mjs +4 -3
  57. package/fesm2022/leanix-components.mjs +332 -237
  58. package/fesm2022/leanix-components.mjs.map +1 -1
  59. package/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.d.ts +1 -1
  60. package/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.d.ts +1 -1
  61. package/lib/forms-ui/components/breadcrumb/breadcrumb.component.d.ts +1 -1
  62. package/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.d.ts +1 -1
  63. package/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.d.ts +1 -1
  64. package/lib/forms-ui/components/copy-button/copy-button.component.d.ts +1 -1
  65. package/lib/forms-ui/components/currency/currency-input.component.d.ts +1 -1
  66. package/lib/forms-ui/components/currency/currency-symbol.component.d.ts +1 -1
  67. package/lib/forms-ui/components/date-input/date-input.component.d.ts +1 -1
  68. package/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.d.ts +1 -1
  69. package/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.d.ts +1 -7
  70. package/lib/forms-ui/components/date-picker-ui/datepicker.component.d.ts +1 -1
  71. package/lib/forms-ui/components/date-picker-ui/daypicker.component.d.ts +1 -1
  72. package/lib/forms-ui/components/date-picker-ui/monthpicker.component.d.ts +1 -1
  73. package/lib/forms-ui/components/date-picker-ui/yearpicker.component.d.ts +1 -1
  74. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.d.ts +1 -1
  75. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +1 -1
  76. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.d.ts +9 -9
  77. package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.d.ts +1 -1
  78. package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.d.ts +1 -1
  79. package/lib/forms-ui/components/error-message/error-message.component.d.ts +1 -1
  80. package/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.d.ts +1 -1
  81. package/lib/forms-ui/components/form-error/form-error.component.d.ts +1 -1
  82. package/lib/forms-ui/components/icon/icon.component.d.ts +1 -1
  83. package/lib/forms-ui/components/input/input.component.d.ts +1 -1
  84. package/lib/forms-ui/components/multi-select/multi-select.component.d.ts +1 -1
  85. package/lib/forms-ui/components/option/option.component.d.ts +1 -1
  86. package/lib/forms-ui/components/option-group/option-group.component.d.ts +1 -1
  87. package/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.d.ts +1 -1
  88. package/lib/forms-ui/components/options-dropdown/options-dropdown.component.d.ts +1 -1
  89. package/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.d.ts +1 -1
  90. package/lib/forms-ui/components/picker/picker-trigger.directive.d.ts +1 -1
  91. package/lib/forms-ui/components/picker/picker.component.d.ts +1 -1
  92. package/lib/forms-ui/components/picker-option/picker-option.component.d.ts +1 -1
  93. package/lib/forms-ui/components/pill-item/pill-item.component.d.ts +1 -1
  94. package/lib/forms-ui/components/pill-list/pill-list.component.d.ts +1 -1
  95. package/lib/forms-ui/components/responsive-input/responsive-input.component.d.ts +1 -1
  96. package/lib/forms-ui/components/select-list/select-list.component.d.ts +1 -1
  97. package/lib/forms-ui/components/single-select/single-select.component.d.ts +1 -1
  98. package/lib/forms-ui/components/slider-toggle/slider-toggle.component.d.ts +1 -1
  99. package/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.d.ts +1 -1
  100. package/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.d.ts +1 -1
  101. package/lib/forms-ui/directives/contenteditable.directive.d.ts +1 -1
  102. package/lib/forms-ui/directives/form-error.directive.d.ts +1 -1
  103. package/lib/forms-ui/directives/form-submit.directive.d.ts +1 -1
  104. package/lib/forms-ui/directives/keyboard-action-source.directive.d.ts +1 -1
  105. package/lib/forms-ui/directives/mark-invalid.directive.d.ts +1 -1
  106. package/lib/forms-ui/directives/select-dropdown.directive.d.ts +1 -1
  107. package/lib/forms-ui/directives/selectable-item.directive.d.ts +1 -1
  108. package/lib/forms-ui/directives/selected-option.directive.d.ts +1 -1
  109. package/lib/forms-ui/forms-ui.module.d.ts +52 -52
  110. package/lib/forms-ui/pipes/filter-selection.pipe.d.ts +1 -1
  111. package/lib/forms-ui/pipes/filter-term.pipe.d.ts +1 -1
  112. package/lib/forms-ui/pipes/format-number.pipe.d.ts +1 -1
  113. package/package.json +1 -1
@@ -1,15 +1,17 @@
1
+ import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
2
+ import { AsyncPipe, NgClass, NgFor, NgIf, NgTemplateOutlet, UpperCasePipe } from '@angular/common';
1
3
  import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
6
+ import { BadgeComponent } from '../../../core-ui/components/badge/badge.component';
7
+ import { SpinnerComponent } from '../../../core-ui/components/spinner/spinner.component';
8
+ import { SelectableItemDirective } from '../../directives/selectable-item.directive';
9
+ import { BasicDropdownItemComponent } from '../basic-dropdown-item/basic-dropdown-item.component';
2
10
  import { BasicDropdownComponent } from '../basic-dropdown/basic-dropdown.component';
3
11
  import { KeyboardSelectDirective } from '../keyboard-select.directive';
4
12
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "ngx-infinite-scroll";
7
- import * as i3 from "@angular/cdk/overlay";
8
- import * as i4 from "../../../core-ui/components/badge/badge.component";
9
- import * as i5 from "../../../core-ui/components/spinner/spinner.component";
10
- import * as i6 from "../basic-dropdown-item/basic-dropdown-item.component";
11
- import * as i7 from "../../directives/selectable-item.directive";
12
- import * as i8 from "@ngx-translate/core";
13
+ import * as i1 from "ngx-infinite-scroll";
14
+ import * as i2 from "@ngx-translate/core";
13
15
  /**
14
16
  * Usage:
15
17
  * <lx-single-select
@@ -69,11 +71,26 @@ export class OptionGroupDropdownComponent extends KeyboardSelectDirective {
69
71
  this.isTopDropdown = event.connectionPair.originY === 'top';
70
72
  }
71
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: OptionGroupDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: OptionGroupDropdownComponent, 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-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\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: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.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: i3.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: i3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i4.BadgeComponent, selector: "lx-badge", inputs: ["content", "size", "color"] }, { kind: "component", type: i5.SpinnerComponent, selector: "lx-spinner", inputs: ["fadeBackground"] }, { kind: "component", type: i6.BasicDropdownItemComponent, selector: "lx-basic-dropdown-item", inputs: ["label", "description", "highlightTerm", "labelFontWeight", "descriptionFontStyle", "descriptionStyleOptions"] }, { kind: "directive", type: i7.SelectableItemDirective, selector: "[lxSelectableItem]", inputs: ["scrollInContainer", "lxSelectableItem"], outputs: ["select"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", 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-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\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: BadgeComponent, selector: "lx-badge", 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 }); }
73
75
  }
74
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: OptionGroupDropdownComponent, decorators: [{
75
77
  type: Component,
76
- args: [{ selector: 'lx-option-group-dropdown', providers: [{ provide: KeyboardSelectDirective, useExisting: forwardRef(() => OptionGroupDropdownComponent) }], changeDetection: ChangeDetectionStrategy.OnPush, 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-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\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"] }]
78
+ args: [{ selector: 'lx-option-group-dropdown', providers: [{ provide: KeyboardSelectDirective, useExisting: forwardRef(() => OptionGroupDropdownComponent) }], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
79
+ NgIf,
80
+ CdkOverlayOrigin,
81
+ CdkConnectedOverlay,
82
+ NgClass,
83
+ NgTemplateOutlet,
84
+ InfiniteScrollModule,
85
+ SelectableItemDirective,
86
+ BadgeComponent,
87
+ NgFor,
88
+ BasicDropdownItemComponent,
89
+ SpinnerComponent,
90
+ AsyncPipe,
91
+ UpperCasePipe,
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\"></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-badge class=\"lx-margin-left\" size=\"small\" [content]=\"'common.new' | translate | uppercase\"></lx-badge>\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"] }]
77
94
  }], propDecorators: { optionGroups: [{
78
95
  type: Input
79
96
  }], newOptionLabel: [{
@@ -108,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
108
125
  type: ViewChild,
109
126
  args: ['selectOrigin', { static: false }]
110
127
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvb3B0aW9uLWdyb3VwLWRyb3Bkb3duL29wdGlvbi1ncm91cC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbi1ncm91cC1kcm9wZG93bi9vcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFXdkU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBUUgsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHVCQUF1QjtJQVB6RTs7UUFRVyxTQUFJLEdBQUcsOEJBQThCLENBQUM7UUFDdEMsaUJBQVksR0FBOEIsRUFBRSxDQUFDO1FBTTdDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyxhQUFRLEdBQVcsT0FBTyxDQUFDO1FBQzNCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsZ0NBQTJCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUU1QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUEyQixDQUFDO1FBQzdELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBVXZELGtCQUFhLEdBQUcsS0FBSyxDQUFDO0tBaUN2QjtJQS9CQyxJQUFXLFNBQVM7UUFDbEIsTUFBTSxPQUFPLEdBQ1gsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQThCLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2pJLEVBQUUsQ0FBQztRQUNMLE9BQU8sc0JBQXNCLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUErQjtRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxXQUFvQztRQUM5RCxPQUFPLFdBQVcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWMsRUFBRSxNQUErQjtRQUMxRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFxQztRQUNwRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQztJQUM5RCxDQUFDOzhHQTNEVSw0QkFBNEI7a0dBQTVCLDRCQUE0QiwwZkFINUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQywyWUM5Q2hILGt4SEEwRkE7OzJGRHpDYSw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0UsMEJBQTBCLGFBR3pCLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUMsRUFBRSxDQUFDLG1CQUM3Rix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ1ksa0JBQWtCO3NCQUFuQyxLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRXlCLGlCQUFpQjtzQkFBaEQsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBTWMsMEJBQTBCO3NCQUFyRSxZQUFZO3VCQUFDLDRCQUE0QjtnQkFDSSxZQUFZO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtPdmVybGF5T3JpZ2luLCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZWxlY3REaXJlY3RpdmUgfSBmcm9tICcuLi9rZXlib2FyZC1zZWxlY3QuZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBPcHRpb24gPSB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfTtcbi8qKlxuICogVE9ETzogcmVuYW1lIHRvIHNvbWV0aGluZyB1bnNwZWNpZmljIGZvciBzaW5nbGUgc2VsZWN0cyBiZWNhdXNlIG11bHRpc2VsZWN0cyBhcmUgYWxzbyBzdXBwb3J0ZWRcbiAqL1xuZXhwb3J0IHR5cGUgU2luZ2xlU2VsZWN0T3B0aW9uR3JvdXA8VCA9IGFueT4gPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9wdGlvbnM6IChPcHRpb25Hcm91cE9wdGlvbiB8IFQpW107XG59O1xuXG4vKipcbiAqIFVzYWdlOlxuICogPGx4LXNpbmdsZS1zZWxlY3RcbiAqICAgICNzaW5nbGVTZWxlY3RcbiAqICAgIFtzZWxlY3Rpb25dPVwidmFsdWVcIlxuICogICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gKiAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWRPcHRpb25cIj5cbiAqICAgICB7eyB2YWx1ZS5sYWJlbCB9fVxuICogICA8L3NwYW4+XG4gKiAgIDxseC1vcHRpb24tZ3JvdXAtZHJvcGRvd25cbiAqICAgICBjbGFzcz1cImRyb3Bkb3duQ29tcG9uZW50XCJcbiAqICAgICBba2V5Ym9hcmRTZWxlY3RBY3Rpb25dPVwic2luZ2xlU2VsZWN0Lm9wdGlvbnNLZXlib2FyZFNlbGVjdEFjdGlvbiRcIlxuICogICAgIFtvcHRpb25Hcm91cHNdPVwib3B0aW9uR3JvdXBzXCJcbiAqICAgICAob25JdGVtU2VsZWN0ZWQpPVwic2luZ2xlU2VsZWN0LnNlbGVjdE9wdGlvbigkZXZlbnQpXCI+XG4gKiAgICA8L2x4LW9wdGlvbi1ncm91cC1kcm9wZG93bj5cbiAqIDwvbHgtc2luZ2xlLXNlbGVjdD5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LW9wdGlvbi1ncm91cC1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnb3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ29wdGlvbi1ncm91cC1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEtleWJvYXJkU2VsZWN0RGlyZWN0aXZlLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50KSB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEtleWJvYXJkU2VsZWN0RGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgTkFNRSA9ICdPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50JztcbiAgQElucHV0KCkgb3B0aW9uR3JvdXBzOiBTaW5nbGVTZWxlY3RPcHRpb25Hcm91cFtdID0gW107XG4gIC8qKlxuICAgKiBVc3VhbGx5IGEgc3RyZWFtIG9mIHRoZSBjdXJyZW50IGlucHV0IHZhbHVlIG9mIHRoZSBwYXJlbnQgc2VsZWN0LlxuICAgKi9cbiAgQElucHV0KCkgbmV3T3B0aW9uTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpZ2hsaWdodFRlcm0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dDcmVhdGVOZXdPcHRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWxLZXk6IHN0cmluZyA9ICdsYWJlbCc7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJhY2tCeVByb3BlcnR5Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93Tm9SZXN1bHRzSWZHcm91cElzRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgb3ZlcnJpZGUgb3ZlcmxheVBvc2l0aW9uaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxPcHRpb25Hcm91cE9wdGlvbiB8IGFueT4oKTtcbiAgQE91dHB1dCgpIGNvbnRhaW5lclNjcm9sbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY3JlYXRlTmV3T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBJZiB5b3UgcHJvdmlkZSBhIDxuZy10ZW1wbGF0ZSAjbm9SZXN1bHRzT3B0aW9uVGVtcGxhdGVSZWY+PC9uZy10ZW1wbGF0ZT4gaW5zaWRlIHRoZSA8bHgtb3B0aW9uLWdyb3VwLWRyb3Bkb3duPlxuICAgKiBpdCB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgXCJubyByZXN1bHRzXCIgb3B0aW9uIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgXCJObyByZXN1bHRzXCIgdGV4dC5cbiAgICogVGhpcyB3YXkgeW91IGNhbiBlYXNpbHkgZGVmaW5lIGRpZmZlcmVudCBcIk5vIHJlc3VsdHNcIiB0ZXh0cyBmb3IgZGlmZmVyZW50IGdyb3VwcyB0b28uXG4gICAqL1xuICBAQ29udGVudENoaWxkKCdub1Jlc3VsdHNPcHRpb25UZW1wbGF0ZVJlZicpIG5vUmVzdWx0c09wdGlvblRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0T3JpZ2luJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdE9yaWdpbiE6IENka092ZXJsYXlPcmlnaW47XG4gIGlzVG9wRHJvcGRvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGlzTmV3SXRlbSgpIHtcbiAgICBjb25zdCBvcHRpb25zID1cbiAgICAgIHRoaXMub3B0aW9uR3JvdXBzPy5yZWR1Y2U8KE9wdGlvbkdyb3VwT3B0aW9uIHwgYW55KVtdPigoZmxhdE9wdGlvbnMsIG9wdGlvbkdyb3VwKSA9PiBmbGF0T3B0aW9ucy5jb25jYXQob3B0aW9uR3JvdXAub3B0aW9ucyksIFtdKSA/P1xuICAgICAgW107XG4gICAgcmV0dXJuIEJhc2ljRHJvcGRvd25Db21wb25lbnQuaXNOZXdJdGVtKG9wdGlvbnMsIHRoaXMubmV3T3B0aW9uTGFiZWwgPz8gJycsIHRoaXMubGFiZWxLZXkpO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogT3B0aW9uR3JvdXBPcHRpb24gfCBhbnkpIHtcbiAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQob3B0aW9uKTtcbiAgfVxuXG4gIHRyYWNrQnlMYWJlbChpbmRleDogbnVtYmVyLCBvcHRpb25Hcm91cDogU2luZ2xlU2VsZWN0T3B0aW9uR3JvdXApIHtcbiAgICByZXR1cm4gb3B0aW9uR3JvdXAubGFiZWwgKyBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBvbkNyZWF0ZU5ld09wdGlvbigpIHtcbiAgICBpZiAoIXRoaXMubG9hZGluZyAmJiB0aGlzLm5ld09wdGlvbkxhYmVsKSB7XG4gICAgICB0aGlzLmNyZWF0ZU5ld09wdGlvbi5lbWl0KHRoaXMubmV3T3B0aW9uTGFiZWwpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlWYWx1ZShfaW5kZXg6IG51bWJlciwgb3B0aW9uOiBPcHRpb25Hcm91cE9wdGlvbiB8IGFueSkge1xuICAgIGlmICh0aGlzLnRyYWNrQnlQcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuIG9wdGlvblt0aGlzLnRyYWNrQnlQcm9wZXJ0eV07XG4gICAgfVxuICAgIHJldHVybiBvcHRpb24udmFsdWU7XG4gIH1cblxuICBvblBvc2l0aW9uQ2hhbmdlKGV2ZW50OiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpIHtcbiAgICB0aGlzLmlzVG9wRHJvcGRvd24gPSBldmVudC5jb25uZWN0aW9uUGFpci5vcmlnaW5ZID09PSAndG9wJztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlQb3NpdGlvbmluZzsgZWxzZSBkcm9wZG93blwiPlxuICA8ZGl2IGNsYXNzPVwib3ZlcmxheU9yaWdpblwiIGNka092ZXJsYXlPcmlnaW4gI3NlbGVjdE9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIj48L2Rpdj5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInNlbGVjdE9yaWdpblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIiEhKGNka092ZXJsYXlPcGVuJCB8IGFzeW5jKVwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJzZWxlY3RPcmlnaW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoXCJcbiAgICAocG9zaXRpb25DaGFuZ2UpPVwib25Qb3NpdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5RHJvcGRvd25cIiBbbmdDbGFzc109XCJ7IHRvcDogaXNUb3BEcm9wZG93biB9XCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgPGRpdlxuICAgICNrZXlib2FyZFNlbGVjdENvbnRhaW5lclxuICAgIGNsYXNzPVwic2Nyb2xsaW5nUGFuZWwgbHhUaGluU2Nyb2xsYmFyXCJcbiAgICBpbmZpbml0ZS1zY3JvbGxcbiAgICBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcbiAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiXG4gICAgKHNjcm9sbGVkKT1cImNvbnRhaW5lclNjcm9sbGVkLmVtaXQoKVwiXG4gID5cbiAgICA8dWwgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nSWY9XCJzaG93Q3JlYXRlTmV3T3B0aW9uICYmIG5ld09wdGlvbkxhYmVsICYmIGlzTmV3SXRlbVwiXG4gICAgICAgIGx4U2VsZWN0YWJsZUl0ZW1cbiAgICAgICAgW3Njcm9sbEluQ29udGFpbmVyXT1cImtleWJvYXJkU2VsZWN0Q29udGFpbmVyXCJcbiAgICAgICAgI2l0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uQ3JlYXRlTmV3T3B0aW9uKClcIlxuICAgICAgICAoc2VsZWN0KT1cIm9uQ3JlYXRlTmV3T3B0aW9uKClcIlxuICAgICAgICBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSwgKHNlbGVjdGVkSXRlbSQgfCBhc3luYyk/LmVsZW1lbnQpXCJcbiAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5ld0VudHJ5Q29udGVudFwiPlxuICAgICAgICAgIHt7IG5ld09wdGlvbkxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGx4LWJhZGdlIGNsYXNzPVwibHgtbWFyZ2luLWxlZnRcIiBzaXplPVwic21hbGxcIiBbY29udGVudF09XCInY29tbW9uLm5ldycgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2VcIj48L2x4LWJhZGdlPlxuICAgICAgPC9saT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbkdyb3VwIG9mIG9wdGlvbkdyb3VwczsgbGV0IGdyb3VwSW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUxhYmVsXCI+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBMYWJlbFwiICpuZ0lmPVwib3B0aW9uR3JvdXAubGFiZWxcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IG9wdGlvbkdyb3VwLmxhYmVsIHwgdXBwZXJjYXNlIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Tm9SZXN1bHRzSWZHcm91cElzRW1wdHkgJiYgb3B0aW9uR3JvdXAub3B0aW9ucy5sZW5ndGggPT09IDA7IGVsc2Ugb3B0aW9uc1wiPlxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJub1Jlc3VsdFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub1Jlc3VsdHNPcHRpb25UZW1wbGF0ZVJlZjsgZWxzZSBkZWZhdWx0VGV4dFwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vUmVzdWx0c09wdGlvblRlbXBsYXRlUmVmOyBjb250ZXh0OiB7IGdyb3VwOiBvcHRpb25Hcm91cCwgZ3JvdXBJbmRleDogZ3JvdXBJbmRleCB9XCJcbiAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZXh0PlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgTkFNRSArICcubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI29wdGlvbnM+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uR3JvdXAub3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgbHhTZWxlY3RhYmxlSXRlbVxuICAgICAgICAgICAgICAgIFtzY3JvbGxJbkNvbnRhaW5lcl09XCJrZXlib2FyZFNlbGVjdENvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgI2l0ZW1cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0KT1cInNlbGVjdE9wdGlvbihvcHRpb24pXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSwgKHNlbGVjdGVkSXRlbSQgfCBhc3luYyk/LmVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZVJlZjsgZWxzZSBiYXNpY0Ryb3Bkb3duT3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0aW9uVGVtcGxhdGVSZWY7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24sIGluZGV4OiBpbmRleCwgZ3JvdXBJbmRleDogZ3JvdXBJbmRleCB9XCJcbiAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Jhc2ljRHJvcGRvd25PcHRpb24+XG4gICAgICAgICAgICAgICAgICA8bHgtYmFzaWMtZHJvcGRvd24taXRlbVxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWxGb250V2VpZ2h0PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgICAgW2hpZ2hsaWdodFRlcm1dPVwiaGlnaGxpZ2h0VGVybVwiXG4gICAgICAgICAgICAgICAgICA+PC9seC1iYXNpYy1kcm9wZG93bi1pdGVtPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxseC1zcGlubmVyICpuZ0lmPVwibG9hZGluZ1wiIFtmYWRlQmFja2dyb3VuZF09XCJ0cnVlXCI+PC9seC1zcGlubmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvb3B0aW9uLWdyb3VwLWRyb3Bkb3duL29wdGlvbi1ncm91cC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbi1ncm91cC1kcm9wZG93bi9vcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFrQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQVd2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUF5QkgsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHVCQUF1QjtJQXhCekU7O1FBeUJXLFNBQUksR0FBRyw4QkFBOEIsQ0FBQztRQUN0QyxpQkFBWSxHQUE4QixFQUFFLENBQUM7UUFNN0Msd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLGFBQVEsR0FBVyxPQUFPLENBQUM7UUFDM0IsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixnQ0FBMkIsR0FBWSxLQUFLLENBQUM7UUFDcEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRTVDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFDN0Qsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFVdkQsa0JBQWEsR0FBRyxLQUFLLENBQUM7S0FpQ3ZCO0lBL0JDLElBQVcsU0FBUztRQUNsQixNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBOEIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakksRUFBRSxDQUFDO1FBQ0wsT0FBTyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQStCO1FBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLFdBQW9DO1FBQzlELE9BQU8sV0FBVyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYyxFQUFFLE1BQStCO1FBQzFELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDckM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQXFDO1FBQ3BELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDO0lBQzlELENBQUM7OEdBM0RVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDhnQkFwQjVCLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLENBQUMsMllDckRoSCxreEhBMEZBLCsrQkRqQ0ksSUFBSSw2RkFDSixnQkFBZ0IsdUlBQ2hCLG1CQUFtQiw0K0JBQ25CLE9BQU8sb0ZBQ1AsZ0JBQWdCLG1KQUNoQixvQkFBb0IsbWFBQ3BCLHVCQUF1Qix1SUFDdkIsY0FBYywyRkFDZCxLQUFLLG1IQUNMLDBCQUEwQiw0TEFDMUIsZ0JBQWdCLDhFQUNoQixTQUFTLHlDQUNULGFBQWEsaURBQ2IsZUFBZTs7MkZBR04sNEJBQTRCO2tCQXhCeEMsU0FBUzsrQkFDRSwwQkFBMEIsYUFHekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsbUJBQzdGLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsY0FBYzt3QkFDZCxLQUFLO3dCQUNMLDBCQUEwQjt3QkFDMUIsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsZUFBZTtxQkFDaEI7OEJBSVEsWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUNZLGtCQUFrQjtzQkFBbkMsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUV5QixpQkFBaUI7c0JBQWhELFlBQVk7dUJBQUMsZ0JBQWdCO2dCQU1jLDBCQUEwQjtzQkFBckUsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBQ0ksWUFBWTtzQkFBekQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgQ2RrT3ZlcmxheU9yaWdpbiwgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgVXBwZXJDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS11aS9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS11aS9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NlbGVjdGFibGUtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9iYXNpYy1kcm9wZG93bi1pdGVtL2Jhc2ljLWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZWxlY3REaXJlY3RpdmUgfSBmcm9tICcuLi9rZXlib2FyZC1zZWxlY3QuZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBPcHRpb24gPSB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfTtcbi8qKlxuICogVE9ETzogcmVuYW1lIHRvIHNvbWV0aGluZyB1bnNwZWNpZmljIGZvciBzaW5nbGUgc2VsZWN0cyBiZWNhdXNlIG11bHRpc2VsZWN0cyBhcmUgYWxzbyBzdXBwb3J0ZWRcbiAqL1xuZXhwb3J0IHR5cGUgU2luZ2xlU2VsZWN0T3B0aW9uR3JvdXA8VCA9IGFueT4gPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9wdGlvbnM6IChPcHRpb25Hcm91cE9wdGlvbiB8IFQpW107XG59O1xuXG4vKipcbiAqIFVzYWdlOlxuICogPGx4LXNpbmdsZS1zZWxlY3RcbiAqICAgICNzaW5nbGVTZWxlY3RcbiAqICAgIFtzZWxlY3Rpb25dPVwidmFsdWVcIlxuICogICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gKiAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWRPcHRpb25cIj5cbiAqICAgICB7eyB2YWx1ZS5sYWJlbCB9fVxuICogICA8L3NwYW4+XG4gKiAgIDxseC1vcHRpb24tZ3JvdXAtZHJvcGRvd25cbiAqICAgICBjbGFzcz1cImRyb3Bkb3duQ29tcG9uZW50XCJcbiAqICAgICBba2V5Ym9hcmRTZWxlY3RBY3Rpb25dPVwic2luZ2xlU2VsZWN0Lm9wdGlvbnNLZXlib2FyZFNlbGVjdEFjdGlvbiRcIlxuICogICAgIFtvcHRpb25Hcm91cHNdPVwib3B0aW9uR3JvdXBzXCJcbiAqICAgICAob25JdGVtU2VsZWN0ZWQpPVwic2luZ2xlU2VsZWN0LnNlbGVjdE9wdGlvbigkZXZlbnQpXCI+XG4gKiAgICA8L2x4LW9wdGlvbi1ncm91cC1kcm9wZG93bj5cbiAqIDwvbHgtc2luZ2xlLXNlbGVjdD5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LW9wdGlvbi1ncm91cC1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnb3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ29wdGlvbi1ncm91cC1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEtleWJvYXJkU2VsZWN0RGlyZWN0aXZlLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50KSB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIENka092ZXJsYXlPcmlnaW4sXG4gICAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgICBOZ0NsYXNzLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgQmFzaWNEcm9wZG93bkl0ZW1Db21wb25lbnQsXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gICAgVXBwZXJDYXNlUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgS2V5Ym9hcmRTZWxlY3REaXJlY3RpdmUge1xuICByZWFkb25seSBOQU1FID0gJ09wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQnO1xuICBASW5wdXQoKSBvcHRpb25Hcm91cHM6IFNpbmdsZVNlbGVjdE9wdGlvbkdyb3VwW10gPSBbXTtcbiAgLyoqXG4gICAqIFVzdWFsbHkgYSBzdHJlYW0gb2YgdGhlIGN1cnJlbnQgaW5wdXQgdmFsdWUgb2YgdGhlIHBhcmVudCBzZWxlY3QuXG4gICAqL1xuICBASW5wdXQoKSBuZXdPcHRpb25MYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgaGlnaGxpZ2h0VGVybT86IHN0cmluZztcbiAgQElucHV0KCkgc2hvd0NyZWF0ZU5ld09wdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsYWJlbEtleTogc3RyaW5nID0gJ2xhYmVsJztcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0cmFja0J5UHJvcGVydHk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dOb1Jlc3VsdHNJZkdyb3VwSXNFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBvdmVycmlkZSBvdmVybGF5UG9zaXRpb25pbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb25JdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE9wdGlvbkdyb3VwT3B0aW9uIHwgYW55PigpO1xuICBAT3V0cHV0KCkgY29udGFpbmVyU2Nyb2xsZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjcmVhdGVOZXdPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAQ29udGVudENoaWxkKCdvcHRpb25UZW1wbGF0ZScpIG9wdGlvblRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIElmIHlvdSBwcm92aWRlIGEgPG5nLXRlbXBsYXRlICNub1Jlc3VsdHNPcHRpb25UZW1wbGF0ZVJlZj48L25nLXRlbXBsYXRlPiBpbnNpZGUgdGhlIDxseC1vcHRpb24tZ3JvdXAtZHJvcGRvd24+XG4gICAqIGl0IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSBcIm5vIHJlc3VsdHNcIiBvcHRpb24gaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBcIk5vIHJlc3VsdHNcIiB0ZXh0LlxuICAgKiBUaGlzIHdheSB5b3UgY2FuIGVhc2lseSBkZWZpbmUgZGlmZmVyZW50IFwiTm8gcmVzdWx0c1wiIHRleHRzIGZvciBkaWZmZXJlbnQgZ3JvdXBzIHRvby5cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoJ25vUmVzdWx0c09wdGlvblRlbXBsYXRlUmVmJykgbm9SZXN1bHRzT3B0aW9uVGVtcGxhdGVSZWY/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdzZWxlY3RPcmlnaW4nLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VsZWN0T3JpZ2luITogQ2RrT3ZlcmxheU9yaWdpbjtcbiAgaXNUb3BEcm9wZG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaXNOZXdJdGVtKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPVxuICAgICAgdGhpcy5vcHRpb25Hcm91cHM/LnJlZHVjZTwoT3B0aW9uR3JvdXBPcHRpb24gfCBhbnkpW10+KChmbGF0T3B0aW9ucywgb3B0aW9uR3JvdXApID0+IGZsYXRPcHRpb25zLmNvbmNhdChvcHRpb25Hcm91cC5vcHRpb25zKSwgW10pID8/XG4gICAgICBbXTtcbiAgICByZXR1cm4gQmFzaWNEcm9wZG93bkNvbXBvbmVudC5pc05ld0l0ZW0ob3B0aW9ucywgdGhpcy5uZXdPcHRpb25MYWJlbCA/PyAnJywgdGhpcy5sYWJlbEtleSk7XG4gIH1cblxuICBzZWxlY3RPcHRpb24ob3B0aW9uOiBPcHRpb25Hcm91cE9wdGlvbiB8IGFueSkge1xuICAgIHRoaXMub25JdGVtU2VsZWN0ZWQuZW1pdChvcHRpb24pO1xuICB9XG5cbiAgdHJhY2tCeUxhYmVsKGluZGV4OiBudW1iZXIsIG9wdGlvbkdyb3VwOiBTaW5nbGVTZWxlY3RPcHRpb25Hcm91cCkge1xuICAgIHJldHVybiBvcHRpb25Hcm91cC5sYWJlbCArIGluZGV4O1xuICB9XG5cbiAgcHVibGljIG9uQ3JlYXRlTmV3T3B0aW9uKCkge1xuICAgIGlmICghdGhpcy5sb2FkaW5nICYmIHRoaXMubmV3T3B0aW9uTGFiZWwpIHtcbiAgICAgIHRoaXMuY3JlYXRlTmV3T3B0aW9uLmVtaXQodGhpcy5uZXdPcHRpb25MYWJlbCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeVZhbHVlKF9pbmRleDogbnVtYmVyLCBvcHRpb246IE9wdGlvbkdyb3VwT3B0aW9uIHwgYW55KSB7XG4gICAgaWYgKHRoaXMudHJhY2tCeVByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gb3B0aW9uW3RoaXMudHJhY2tCeVByb3BlcnR5XTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgfVxuXG4gIG9uUG9zaXRpb25DaGFuZ2UoZXZlbnQ6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSkge1xuICAgIHRoaXMuaXNUb3BEcm9wZG93biA9IGV2ZW50LmNvbm5lY3Rpb25QYWlyLm9yaWdpblkgPT09ICd0b3AnO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwib3ZlcmxheVBvc2l0aW9uaW5nOyBlbHNlIGRyb3Bkb3duXCI+XG4gIDxkaXYgY2xhc3M9XCJvdmVybGF5T3JpZ2luXCIgY2RrT3ZlcmxheU9yaWdpbiAjc2VsZWN0T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiPjwvZGl2PlxuICA8bmctdGVtcGxhdGVcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwic2VsZWN0T3JpZ2luXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiISEoY2RrT3ZlcmxheU9wZW4kIHwgYXN5bmMpXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVdpZHRoXT1cInNlbGVjdE9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcIlxuICAgIChwb3NpdGlvbkNoYW5nZSk9XCJvblBvc2l0aW9uQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIm92ZXJsYXlEcm9wZG93blwiIFtuZ0NsYXNzXT1cInsgdG9wOiBpc1RvcERyb3Bkb3duIH1cIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcGRvd25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICA8ZGl2XG4gICAgI2tleWJvYXJkU2VsZWN0Q29udGFpbmVyXG4gICAgY2xhc3M9XCJzY3JvbGxpbmdQYW5lbCBseFRoaW5TY3JvbGxiYXJcIlxuICAgIGluZmluaXRlLXNjcm9sbFxuICAgIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIlxuICAgIFtmcm9tUm9vdF09XCJ0cnVlXCJcbiAgICAoc2Nyb2xsZWQpPVwiY29udGFpbmVyU2Nyb2xsZWQuZW1pdCgpXCJcbiAgPlxuICAgIDx1bCBjbGFzcz1cIm9wdGlvbnNcIj5cbiAgICAgIDxsaVxuICAgICAgICAqbmdJZj1cInNob3dDcmVhdGVOZXdPcHRpb24gJiYgbmV3T3B0aW9uTGFiZWwgJiYgaXNOZXdJdGVtXCJcbiAgICAgICAgbHhTZWxlY3RhYmxlSXRlbVxuICAgICAgICBbc2Nyb2xsSW5Db250YWluZXJdPVwia2V5Ym9hcmRTZWxlY3RDb250YWluZXJcIlxuICAgICAgICAjaXRlbVxuICAgICAgICAoY2xpY2spPVwib25DcmVhdGVOZXdPcHRpb24oKVwiXG4gICAgICAgIChzZWxlY3QpPVwib25DcmVhdGVOZXdPcHRpb24oKVwiXG4gICAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtLCAoc2VsZWN0ZWRJdGVtJCB8IGFzeW5jKT8uZWxlbWVudClcIlxuICAgICAgICBjbGFzcz1cIm9wdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmV3RW50cnlDb250ZW50XCI+XG4gICAgICAgICAge3sgbmV3T3B0aW9uTGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bHgtYmFkZ2UgY2xhc3M9XCJseC1tYXJnaW4tbGVmdFwiIHNpemU9XCJzbWFsbFwiIFtjb250ZW50XT1cIidjb21tb24ubmV3JyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZVwiPjwvbHgtYmFkZ2U+XG4gICAgICA8L2xpPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uR3JvdXAgb2Ygb3B0aW9uR3JvdXBzOyBsZXQgZ3JvdXBJbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5TGFiZWxcIj5cbiAgICAgICAgPGxpPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cExhYmVsXCIgKm5nSWY9XCJvcHRpb25Hcm91cC5sYWJlbFwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgb3B0aW9uR3JvdXAubGFiZWwgfCB1cHBlcmNhc2UgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dOb1Jlc3VsdHNJZkdyb3VwSXNFbXB0eSAmJiBvcHRpb25Hcm91cC5vcHRpb25zLmxlbmd0aCA9PT0gMDsgZWxzZSBvcHRpb25zXCI+XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5vUmVzdWx0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vUmVzdWx0c09wdGlvblRlbXBsYXRlUmVmOyBlbHNlIGRlZmF1bHRUZXh0XCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9SZXN1bHRzT3B0aW9uVGVtcGxhdGVSZWY7IGNvbnRleHQ6IHsgZ3JvdXA6IG9wdGlvbkdyb3VwLCBncm91cEluZGV4OiBncm91cEluZGV4IH1cIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRleHQ+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBOQU1FICsgJy5ub1Jlc3VsdHMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9ucz5cbiAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25Hcm91cC5vcHRpb25zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVZhbHVlXCJcbiAgICAgICAgICAgICAgICBseFNlbGVjdGFibGVJdGVtXG4gICAgICAgICAgICAgICAgW3Njcm9sbEluQ29udGFpbmVyXT1cImtleWJvYXJkU2VsZWN0Q29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAjaXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgIChzZWxlY3QpPVwic2VsZWN0T3B0aW9uKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtLCAoc2VsZWN0ZWRJdGVtJCB8IGFzeW5jKT8uZWxlbWVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvblRlbXBsYXRlUmVmOyBlbHNlIGJhc2ljRHJvcGRvd25PcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvcHRpb25UZW1wbGF0ZVJlZjsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiwgaW5kZXg6IGluZGV4LCBncm91cEluZGV4OiBncm91cEluZGV4IH1cIlxuICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYmFzaWNEcm9wZG93bk9wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxseC1iYXNpYy1kcm9wZG93bi1pdGVtXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBsYWJlbEZvbnRXZWlnaHQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgICBbaGlnaGxpZ2h0VGVybV09XCJoaWdobGlnaHRUZXJtXCJcbiAgICAgICAgICAgICAgICAgID48L2x4LWJhc2ljLWRyb3Bkb3duLWl0ZW0+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGx4LXNwaW5uZXIgKm5nSWY9XCJsb2FkaW5nXCIgW2ZhZGVCYWNrZ3JvdW5kXT1cInRydWVcIj48L2x4LXNwaW5uZXI+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,13 +1,14 @@
1
+ import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
2
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
1
3
  import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, Input } from '@angular/core';
2
- import { BehaviorSubject, Subject, combineLatest, fromEvent, merge } from 'rxjs';
4
+ import { BehaviorSubject, combineLatest, fromEvent, merge, Subject } from 'rxjs';
3
5
  import { debounceTime, delay, distinctUntilChanged, filter, map, startWith, switchMap, takeUntil, withLatestFrom } from 'rxjs/operators';
6
+ import { AutocloseDirective } from '../../../core-ui/directives/autoclose.directive';
4
7
  import { KeyboardActionSourceDirective } from '../../directives/keyboard-action-source.directive';
5
8
  import { KeyboardSelectAction } from '../keyboard-select.directive';
6
9
  import { OptionComponent } from '../option/option.component';
7
10
  import * as i0 from "@angular/core";
8
11
  import * as i1 from "@angular/cdk/overlay";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "../../../core-ui/directives/autoclose.directive";
11
12
  export class OptionsDropdownComponent {
12
13
  get overlayPositions() {
13
14
  return [
@@ -158,11 +159,11 @@ export class OptionsDropdownComponent {
158
159
  return !option.disabled && (isToplevelOptionAndAllowed || isSecondlevelOptionAndAllowed);
159
160
  }
160
161
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: OptionsDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Component }); }
161
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: OptionsDropdownComponent, selector: "lx-options-dropdown", inputs: { align: "align", closeOnScroll: "closeOnScroll", disabled: "disabled", maxHeight: "maxHeight", closeOnSelect: "closeOnSelect", overlayPositioning: "overlayPositioning" }, queries: [{ propertyName: "trigger", first: true, predicate: KeyboardActionSourceDirective, descendants: true }, { propertyName: "_options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<ng-template #triggerTemplate>\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</ng-template>\n\n<ng-container *ngIf=\"!overlayPositioning\">\n <div class=\"triggerContainer\" (click)=\"open = !open\">\n <ng-contaniner [ngTemplateOutlet]=\"triggerTemplate\"></ng-contaniner>\n </div>\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"overlayPositioning\">\n <div class=\"overlayOrigin triggerContainer\" (click)=\"open = !open\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\">\n <ng-contaniner [ngTemplateOutlet]=\"triggerTemplate\"></ng-contaniner>\n </div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayScrollStrategy]=\"overlayScrollStrategy\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n >\n <div class=\"overlayDropdown\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdownTemplate>\n <ul\n *ngIf=\"open\"\n [class.left]=\"align === 'left'\"\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative}.overlayDropdown ul{position:static}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;border:solid 1px #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.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: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i3.AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: OptionsDropdownComponent, isStandalone: true, selector: "lx-options-dropdown", inputs: { align: "align", closeOnScroll: "closeOnScroll", disabled: "disabled", maxHeight: "maxHeight", closeOnSelect: "closeOnSelect", overlayPositioning: "overlayPositioning" }, queries: [{ propertyName: "trigger", first: true, predicate: KeyboardActionSourceDirective, descendants: true }, { propertyName: "_options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<ng-template #triggerTemplate>\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</ng-template>\n\n<ng-container *ngIf=\"!overlayPositioning\">\n <div class=\"triggerContainer\" (click)=\"open = !open\">\n <ng-contaniner [ngTemplateOutlet]=\"triggerTemplate\"></ng-contaniner>\n </div>\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"overlayPositioning\">\n <div class=\"overlayOrigin triggerContainer\" (click)=\"open = !open\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\">\n <ng-contaniner [ngTemplateOutlet]=\"triggerTemplate\"></ng-contaniner>\n </div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayScrollStrategy]=\"overlayScrollStrategy\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n >\n <div class=\"overlayDropdown\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdownTemplate>\n <ul\n *ngIf=\"open\"\n [class.left]=\"align === 'left'\"\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative}.overlayDropdown ul{position:static}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;border:solid 1px #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
162
163
  }
163
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: OptionsDropdownComponent, decorators: [{
164
165
  type: Component,
165
- args: [{ selector: 'lx-options-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #triggerTemplate>\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</ng-template>\n\n<ng-container *ngIf=\"!overlayPositioning\">\n <div class=\"triggerContainer\" (click)=\"open = !open\">\n <ng-contaniner [ngTemplateOutlet]=\"triggerTemplate\"></ng-contaniner>\n </div>\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"overlayPositioning\">\n <div class=\"overlayOrigin triggerContainer\" (click)=\"open = !open\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\">\n <ng-contaniner [ngTemplateOutlet]=\"triggerTemplate\"></ng-contaniner>\n </div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayScrollStrategy]=\"overlayScrollStrategy\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n >\n <div class=\"overlayDropdown\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdownTemplate>\n <ul\n *ngIf=\"open\"\n [class.left]=\"align === 'left'\"\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative}.overlayDropdown ul{position:static}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;border:solid 1px #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}\n"] }]
166
+ args: [{ selector: 'lx-options-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, CdkOverlayOrigin, CdkConnectedOverlay, AutocloseDirective], template: "<ng-template #triggerTemplate>\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</ng-template>\n\n<ng-container *ngIf=\"!overlayPositioning\">\n <div class=\"triggerContainer\" (click)=\"open = !open\">\n <ng-contaniner [ngTemplateOutlet]=\"triggerTemplate\"></ng-contaniner>\n </div>\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"overlayPositioning\">\n <div class=\"overlayOrigin triggerContainer\" (click)=\"open = !open\" cdkOverlayOrigin #selectOrigin=\"cdkOverlayOrigin\">\n <ng-contaniner [ngTemplateOutlet]=\"triggerTemplate\"></ng-contaniner>\n </div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectOrigin\"\n [cdkConnectedOverlayScrollStrategy]=\"overlayScrollStrategy\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n >\n <div class=\"overlayDropdown\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #dropdownTemplate>\n <ul\n *ngIf=\"open\"\n [class.left]=\"align === 'left'\"\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative}.overlayDropdown ul{position:static}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;border:solid 1px #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}\n"] }]
166
167
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ScrollStrategyOptions }], propDecorators: { align: [{
167
168
  type: Input
168
169
  }], closeOnScroll: [{
@@ -182,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
182
183
  type: ContentChildren,
183
184
  args: [OptionComponent, { descendants: true }]
184
185
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbnMtZHJvcGRvd24vb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbnMtZHJvcGRvd24vb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pJLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFRN0QsTUFBTSxPQUFPLHdCQUF3QjtJQWNuQyxJQUFJLGdCQUFnQjtRQUNsQixPQUFPO1lBQ0w7Z0JBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtB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Q0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQXVCO1FBQ25ELE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3RGLE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDdkYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQywwQkFBMEIsSUFBSSw2QkFBNkIsQ0FBQyxDQUFDO0lBQzNGLENBQUM7OEdBaE5VLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9SQVNyQiw2QkFBNkIsOERBQzFCLGVBQWUsZ0RDbENsQywyMkNBd0NBOzsyRkRoQmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOzBIQUt0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ3VDLE9BQU87c0JBQW5ELFlBQVk7dUJBQUMsNkJBQTZCO2dCQUUzQyxRQUFRO3NCQURQLGVBQWU7dUJBQUMsZUFBZSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMva2V5Ym9hcmQtYWN0aW9uLXNvdXJjZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZWxlY3RBY3Rpb24gfSBmcm9tICcuLi9rZXlib2FyZC1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtb3B0aW9ucy1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydvcHRpb25zLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbnNEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IE5BTUUgPSAnT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50JztcblxuICBASW5wdXQoKSBhbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBJbnB1dCgpIGNsb3NlT25TY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAnbm9uZSc7XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBvdmVybGF5UG9zaXRpb25pbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQENvbnRlbnRDaGlsZChLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSkgdHJpZ2dlciE6IEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfb3B0aW9ucyE6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuICBvdmVybGF5U2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5jbG9zZU9uU2Nyb2xsID8gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCkgOiB0aGlzLnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuXG4gIGdldCBvdmVybGF5UG9zaXRpb25zKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIG9yaWdpblg6IHRoaXMuYWxpZ24gPT09ICdyaWdodCcgPyAnc3RhcnQnIDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogdGhpcy5hbGlnbiA9PT0gJ3JpZ2h0JyA/ICdzdGFydCcgOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiB0aGlzLmFsaWduID09PSAncmlnaHQnID8gJ3N0YXJ0JyA6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6IHRoaXMuYWxpZ24gPT09ICdyaWdodCcgPyAnc3RhcnQnIDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgfVxuICAgIF07XG4gIH1cblxuICBzZXQgb3Blbih2YWx1ZSkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnRyaWdnZXIpIHtcbiAgICAgIC8vIERvbid0IGVtaXQga2V5Ym9hcmQgYWN0aW9ucyB3aGlsZSB0aGUgZHJvcGRvd24gaXMgbm90IG9wZW4geWV0LlxuICAgICAgdGhpcy50cmlnZ2VyLmRvbnRFbWl0ID0gIXRoaXMub3BlbjtcbiAgICB9XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2V0SW5pdGlhbEhpZ2hsaWdodGluZ0luZGV4KCk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IG9wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW47XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucy50b0FycmF5KCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNTdWJkcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy50cmlnZ2VyLmRvbnRFbWl0ID0gIXRoaXMub3BlbjtcblxuICAgIGNvbnN0IG9wdGlvbnNDaGFuZ2VzJCA9IHRoaXMuX29wdGlvbnMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX29wdGlvbnMpLFxuICAgICAgbWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PikgPT4gb3B0aW9ucy50b0FycmF5KCkpXG4gICAgKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLk5FWFQpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkLCBvcHRpb25zQ2hhbmdlcyQsIChfLCBpbmRleCwgb3B0aW9ucykgPT4gdGhpcy5uZXh0KGluZGV4LCBvcHRpb25zKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCk7XG5cbiAgICB0aGlzLnRyaWdnZXIua2V5Ym9hcmRBY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoa2V5Ym9hcmRTZWxlY3RBY3Rpb24pID0+IGtleWJvYXJkU2VsZWN0QWN0aW9uID09PSBLZXlib2FyZFNlbGVjdEFjdGlvbi5QUkVWKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCwgb3B0aW9uc0NoYW5nZXMkLCAoXywgaW5kZXgsIG9wdGlvbnMpID0+IHRoaXMucHJldihpbmRleCwgb3B0aW9ucykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQpO1xuXG4gICAgdGhpcy50cmlnZ2VyLmtleWJvYXJkQWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGtleWJvYXJkU2VsZWN0QWN0aW9uKSA9PiBrZXlib2FyZFNlbGVjdEFjdGlvbiA9PT0gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTEVGVCksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQsIG9wdGlvbnNDaGFuZ2VzJCwgKF8sIGluZGV4LCBvcHRpb25zKSA9PlxuICAgICAgICAgIHRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkID8gdGhpcy5jb2xsYXBzZShpbmRleCwgb3B0aW9ucykgOiB0aGlzLmV4cGFuZChpbmRleCwgb3B0aW9ucylcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLlJJR0hUKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCwgb3B0aW9uc0NoYW5nZXMkLCAoXywgaW5kZXgsIG9wdGlvbnMpID0+XG4gICAgICAgICAgdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQgPyB0aGlzLmNvbGxhcHNlKGluZGV4LCBvcHRpb25zKSA6IHRoaXMuZXhwYW5kKGluZGV4LCBvcHRpb25zKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQpO1xuXG4gICAgdGhpcy50cmlnZ2VyLmtleWJvYXJkQWN0aW9ucyRcbiAgICAgIC5waXBlKGZpbHRlcigoa2V5Ym9hcmRTZWxlY3RBY3Rpb24pID0+IGtleWJvYXJkU2VsZWN0QWN0aW9uID09PSBLZXlib2FyZFNlbGVjdEFjdGlvbi5DTE9TRSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VEcm9wZG93bigpKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLkVYRUNVVEUpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkLCAoXywgaW5kZXgpID0+IGluZGV4KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zW2luZGV4XT8uc2VsZWN0T3B0aW9uKCk7XG4gICAgICB9KTtcblxuICAgIC8qKiBDb21iaW5lZCBzdHJlYW0gb2YgYWxsIG9mIHRoZSBjaGlsZCBvcHRpb25zJyBzZWxlY3Qgb3V0cHV0cy4gKi9cbiAgICB0aGlzLl9vcHRpb25zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5fb3B0aW9ucyksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmNsb3NlT25TZWxlY3QpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbWVyZ2UoLi4udGhpcy5fb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdCksIC4uLnRoaXMuX29wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZENsaWNrKSkpLFxuICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKF92YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH0pO1xuXG4gICAgY29tYmluZUxhdGVzdChvcHRpb25zQ2hhbmdlcyQsIHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVsYXkoMCksXG4gICAgICAgIG1hcCgoW29wdGlvbnMsIGluZGV4XTogW09wdGlvbkNvbXBvbmVudFtdLCBudW1iZXJdKSA9PiBvcHRpb25zW2luZGV4XSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChvcHRpb25Ub0JlSGlnaGxpZ2h0ZWQpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4gb3B0aW9uLnNldEhpZ2hsaWdodGVkKG9wdGlvblRvQmVIaWdobGlnaHRlZCA9PT0gb3B0aW9uKSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5jbG9zZU9uU2Nyb2xsKSB7XG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnc2Nyb2xsJylcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnRyaWdnZXIuYmx1cigpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgY2xvc2VEcm9wZG93bigpIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5pdGlhbEhpZ2hsaWdodGluZ0luZGV4KCkge1xuICAgIGNvbnN0IGZpcnN0QXZhaWxhYmxlSW5kZXggPSB0aGlzLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICF0aGlzLm9wdGlvbklzSGlnaGxpZ2h0YWJsZShvcHRpb24pKS5pbmRleE9mKGZhbHNlLCAwKTtcbiAgICB0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkLm5leHQoZmlyc3RBdmFpbGFibGVJbmRleCk7XG4gIH1cblxuICBwcml2YXRlIHByZXYoY3VycmVudEluZGV4OiBudW1iZXIsIGl0ZW1zOiBPcHRpb25Db21wb25lbnRbXSk6IG51bWJlciB7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgIGNvbnN0IHByZXZFbmFibGVkSW5kZXggPSBpdGVtcy5tYXAoKG9wdGlvbikgPT4gIXRoaXMub3B0aW9uSXNIaWdobGlnaHRhYmxlKG9wdGlvbikpLmxhc3RJbmRleE9mKGZhbHNlLCBjdXJyZW50SW5kZXggLSAxKTtcbiAgICAgIHJldHVybiBwcmV2RW5hYmxlZEluZGV4ICE9PSAtMSA/IHByZXZFbmFibGVkSW5kZXggOiBjdXJyZW50SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjdXJyZW50SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuZXh0KGN1cnJlbnRJbmRleDogbnVtYmVyLCBpdGVtczogT3B0aW9uQ29tcG9uZW50W10pOiBudW1iZXIge1xuICAgIGlmIChjdXJyZW50SW5kZXggPCBpdGVtcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG5leHRFbmFibGVkSW5kZXggPSBpdGVtcy5tYXAoKG9wdGlvbikgPT4gIXRoaXMub3B0aW9uSXNIaWdobGlnaHRhYmxlKG9wdGlvbikpLmluZGV4T2YoZmFsc2UsIGN1cnJlbnRJbmRleCArIDEpO1xuICAgICAgcmV0dXJuIG5leHRFbmFibGVkSW5kZXggIT09IC0xID8gbmV4dEVuYWJsZWRJbmRleCA6IGN1cnJlbnRJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV4cGFuZChjdXJyZW50SW5kZXg6IG51bWJlciwgaXRlbXM6IE9wdGlvbkNvbXBvbmVudFtdKSB7XG4gICAgaWYgKGl0ZW1zW2N1cnJlbnRJbmRleF0hLmhhc1N1YmRyb3Bkb3duKSB7XG4gICAgICB0aGlzLmlzU3ViZHJvcGRvd25FeHBhbmRlZCA9IHRydWU7XG4gICAgICByZXR1cm4gdGhpcy5uZXh0KGN1cnJlbnRJbmRleCwgaXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY3VycmVudEluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29sbGFwc2UoY3VycmVudEluZGV4OiBudW1iZXIsIGl0ZW1zOiBPcHRpb25Db21wb25lbnRbXSkge1xuICAgIGlmICh0aGlzLmlzU3ViZHJvcGRvd25FeHBhbmRlZCkge1xuICAgICAgdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgIHJldHVybiB0aGlzLnByZXYoY3VycmVudEluZGV4LCBpdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjdXJyZW50SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcHRpb25Jc0hpZ2hsaWdodGFibGUob3B0aW9uOiBPcHRpb25Db21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc1RvcGxldmVsT3B0aW9uQW5kQWxsb3dlZCA9ICFvcHRpb24uaXNTdWJvcHRpb24gJiYgIXRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkO1xuICAgIGNvbnN0IGlzU2Vjb25kbGV2ZWxPcHRpb25BbmRBbGxvd2VkID0gb3B0aW9uLmlzU3Vib3B0aW9uICYmIHRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkO1xuICAgIHJldHVybiAhb3B0aW9uLmRpc2FibGVkICYmIChpc1RvcGxldmVsT3B0aW9uQW5kQWxsb3dlZCB8fCBpc1NlY29uZGxldmVsT3B0aW9uQW5kQWxsb3dlZCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdHJpZ2dlclRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbHhLZXlib2FyZEFjdGlvblNvdXJjZV1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlQb3NpdGlvbmluZ1wiPlxuICA8ZGl2IGNsYXNzPVwidHJpZ2dlckNvbnRhaW5lclwiIChjbGljayk9XCJvcGVuID0gIW9wZW5cIj5cbiAgICA8bmctY29udGFuaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmlnZ2VyVGVtcGxhdGVcIj48L25nLWNvbnRhbmluZXI+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwib3ZlcmxheVBvc2l0aW9uaW5nXCI+XG4gIDxkaXYgY2xhc3M9XCJvdmVybGF5T3JpZ2luIHRyaWdnZXJDb250YWluZXJcIiAoY2xpY2spPVwib3BlbiA9ICFvcGVuXCIgY2RrT3ZlcmxheU9yaWdpbiAjc2VsZWN0T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiPlxuICAgIDxuZy1jb250YW5pbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyaWdnZXJUZW1wbGF0ZVwiPjwvbmctY29udGFuaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZVxuICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJzZWxlY3RPcmlnaW5cIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3ldPVwib3ZlcmxheVNjcm9sbFN0cmF0ZWd5XCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3BlblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwib3ZlcmxheVBvc2l0aW9uc1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheURyb3Bkb3duXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duVGVtcGxhdGU+XG4gIDx1bFxuICAgICpuZ0lmPVwib3BlblwiXG4gICAgW2NsYXNzLmxlZnRdPVwiYWxpZ24gPT09ICdsZWZ0J1wiXG4gICAgW2NsYXNzLnNob3dTY3JvbGxiYXJdPVwibWF4SGVpZ2h0ICE9PSAnbm9uZSdcIlxuICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1heEhlaWdodFwiXG4gICAgbHhBdXRvY2xvc2VcbiAgICAoYXV0b2Nsb3NlKT1cImNsb3NlRHJvcGRvd24oKVwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvdWw+XG48L25nLXRlbXBsYXRlPlxuIl19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbnMtZHJvcGRvd24vb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbnMtZHJvcGRvd24vb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQTRELE1BQU0sc0JBQXNCLENBQUM7QUFDdkksT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFB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QUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENka092ZXJsYXlPcmlnaW4sIENvbm5lY3RlZFBvc2l0aW9uLCBTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZnJvbUV2ZW50LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dG9jbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUtdWkvZGlyZWN0aXZlcy9hdXRvY2xvc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9rZXlib2FyZC1hY3Rpb24tc291cmNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBLZXlib2FyZFNlbGVjdEFjdGlvbiB9IGZyb20gJy4uL2tleWJvYXJkLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1vcHRpb25zLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICdvcHRpb25zLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ29wdGlvbnMtZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBDZGtPdmVybGF5T3JpZ2luLCBDZGtDb25uZWN0ZWRPdmVybGF5LCBBdXRvY2xvc2VEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbnNEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IE5BTUUgPSAnT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50JztcblxuICBASW5wdXQoKSBhbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBJbnB1dCgpIGNsb3NlT25TY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAnbm9uZSc7XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBvdmVybGF5UG9zaXRpb25pbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQENvbnRlbnRDaGlsZChLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSkgdHJpZ2dlciE6IEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfb3B0aW9ucyE6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuICBvdmVybGF5U2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5jbG9zZU9uU2Nyb2xsID8gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCkgOiB0aGlzLnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuXG4gIGdldCBvdmVybGF5UG9zaXRpb25zKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIG9yaWdpblg6IHRoaXMuYWxpZ24gPT09ICdyaWdodCcgPyAnc3RhcnQnIDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogdGhpcy5hbGlnbiA9PT0gJ3JpZ2h0JyA/ICdzdGFydCcgOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiB0aGlzLmFsaWduID09PSAncmlnaHQnID8gJ3N0YXJ0JyA6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6IHRoaXMuYWxpZ24gPT09ICdyaWdodCcgPyAnc3RhcnQnIDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgfVxuICAgIF07XG4gIH1cblxuICBzZXQgb3Blbih2YWx1ZSkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnRyaWdnZXIpIHtcbiAgICAgIC8vIERvbid0IGVtaXQga2V5Ym9hcmQgYWN0aW9ucyB3aGlsZSB0aGUgZHJvcGRvd24gaXMgbm90IG9wZW4geWV0LlxuICAgICAgdGhpcy50cmlnZ2VyLmRvbnRFbWl0ID0gIXRoaXMub3BlbjtcbiAgICB9XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2V0SW5pdGlhbEhpZ2hsaWdodGluZ0luZGV4KCk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IG9wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW47XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucy50b0FycmF5KCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNTdWJkcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy50cmlnZ2VyLmRvbnRFbWl0ID0gIXRoaXMub3BlbjtcblxuICAgIGNvbnN0IG9wdGlvbnNDaGFuZ2VzJCA9IHRoaXMuX29wdGlvbnMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX29wdGlvbnMpLFxuICAgICAgbWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PikgPT4gb3B0aW9ucy50b0FycmF5KCkpXG4gICAgKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLk5FWFQpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkLCBvcHRpb25zQ2hhbmdlcyQsIChfLCBpbmRleCwgb3B0aW9ucykgPT4gdGhpcy5uZXh0KGluZGV4LCBvcHRpb25zKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCk7XG5cbiAgICB0aGlzLnRyaWdnZXIua2V5Ym9hcmRBY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoa2V5Ym9hcmRTZWxlY3RBY3Rpb24pID0+IGtleWJvYXJkU2VsZWN0QWN0aW9uID09PSBLZXlib2FyZFNlbGVjdEFjdGlvbi5QUkVWKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCwgb3B0aW9uc0NoYW5nZXMkLCAoXywgaW5kZXgsIG9wdGlvbnMpID0+IHRoaXMucHJldihpbmRleCwgb3B0aW9ucykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQpO1xuXG4gICAgdGhpcy50cmlnZ2VyLmtleWJvYXJkQWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGtleWJvYXJkU2VsZWN0QWN0aW9uKSA9PiBrZXlib2FyZFNlbGVjdEFjdGlvbiA9PT0gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTEVGVCksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQsIG9wdGlvbnNDaGFuZ2VzJCwgKF8sIGluZGV4LCBvcHRpb25zKSA9PlxuICAgICAgICAgIHRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkID8gdGhpcy5jb2xsYXBzZShpbmRleCwgb3B0aW9ucykgOiB0aGlzLmV4cGFuZChpbmRleCwgb3B0aW9ucylcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLlJJR0hUKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCwgb3B0aW9uc0NoYW5nZXMkLCAoXywgaW5kZXgsIG9wdGlvbnMpID0+XG4gICAgICAgICAgdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQgPyB0aGlzLmNvbGxhcHNlKGluZGV4LCBvcHRpb25zKSA6IHRoaXMuZXhwYW5kKGluZGV4LCBvcHRpb25zKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQpO1xuXG4gICAgdGhpcy50cmlnZ2VyLmtleWJvYXJkQWN0aW9ucyRcbiAgICAgIC5waXBlKGZpbHRlcigoa2V5Ym9hcmRTZWxlY3RBY3Rpb24pID0+IGtleWJvYXJkU2VsZWN0QWN0aW9uID09PSBLZXlib2FyZFNlbGVjdEFjdGlvbi5DTE9TRSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VEcm9wZG93bigpKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLkVYRUNVVEUpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkLCAoXywgaW5kZXgpID0+IGluZGV4KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zW2luZGV4XT8uc2VsZWN0T3B0aW9uKCk7XG4gICAgICB9KTtcblxuICAgIC8qKiBDb21iaW5lZCBzdHJlYW0gb2YgYWxsIG9mIHRoZSBjaGlsZCBvcHRpb25zJyBzZWxlY3Qgb3V0cHV0cy4gKi9cbiAgICB0aGlzLl9vcHRpb25zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5fb3B0aW9ucyksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmNsb3NlT25TZWxlY3QpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbWVyZ2UoLi4udGhpcy5fb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdCksIC4uLnRoaXMuX29wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZENsaWNrKSkpLFxuICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKF92YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH0pO1xuXG4gICAgY29tYmluZUxhdGVzdChvcHRpb25zQ2hhbmdlcyQsIHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQpXG4gICAgICAucGlwZShcbiAgICAgICAgZGVsYXkoMCksXG4gICAgICAgIG1hcCgoW29wdGlvbnMsIGluZGV4XTogW09wdGlvbkNvbXBvbmVudFtdLCBudW1iZXJdKSA9PiBvcHRpb25zW2luZGV4XSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChvcHRpb25Ub0JlSGlnaGxpZ2h0ZWQpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4gb3B0aW9uLnNldEhpZ2hsaWdodGVkKG9wdGlvblRvQmVIaWdobGlnaHRlZCA9PT0gb3B0aW9uKSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5jbG9zZU9uU2Nyb2xsKSB7XG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnc2Nyb2xsJylcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnRyaWdnZXIuYmx1cigpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgY2xvc2VEcm9wZG93bigpIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5pdGlhbEhpZ2hsaWdodGluZ0luZGV4KCkge1xuICAgIGNvbnN0IGZpcnN0QXZhaWxhYmxlSW5kZXggPSB0aGlzLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICF0aGlzLm9wdGlvbklzSGlnaGxpZ2h0YWJsZShvcHRpb24pKS5pbmRleE9mKGZhbHNlLCAwKTtcbiAgICB0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkLm5leHQoZmlyc3RBdmFpbGFibGVJbmRleCk7XG4gIH1cblxuICBwcml2YXRlIHByZXYoY3VycmVudEluZGV4OiBudW1iZXIsIGl0ZW1zOiBPcHRpb25Db21wb25lbnRbXSk6IG51bWJlciB7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgIGNvbnN0IHByZXZFbmFibGVkSW5kZXggPSBpdGVtcy5tYXAoKG9wdGlvbikgPT4gIXRoaXMub3B0aW9uSXNIaWdobGlnaHRhYmxlKG9wdGlvbikpLmxhc3RJbmRleE9mKGZhbHNlLCBjdXJyZW50SW5kZXggLSAxKTtcbiAgICAgIHJldHVybiBwcmV2RW5hYmxlZEluZGV4ICE9PSAtMSA/IHByZXZFbmFibGVkSW5kZXggOiBjdXJyZW50SW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjdXJyZW50SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuZXh0KGN1cnJlbnRJbmRleDogbnVtYmVyLCBpdGVtczogT3B0aW9uQ29tcG9uZW50W10pOiBudW1iZXIge1xuICAgIGlmIChjdXJyZW50SW5kZXggPCBpdGVtcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG5leHRFbmFibGVkSW5kZXggPSBpdGVtcy5tYXAoKG9wdGlvbikgPT4gIXRoaXMub3B0aW9uSXNIaWdobGlnaHRhYmxlKG9wdGlvbikpLmluZGV4T2YoZmFsc2UsIGN1cnJlbnRJbmRleCArIDEpO1xuICAgICAgcmV0dXJuIG5leHRFbmFibGVkSW5kZXggIT09IC0xID8gbmV4dEVuYWJsZWRJbmRleCA6IGN1cnJlbnRJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV4cGFuZChjdXJyZW50SW5kZXg6IG51bWJlciwgaXRlbXM6IE9wdGlvbkNvbXBvbmVudFtdKSB7XG4gICAgaWYgKGl0ZW1zW2N1cnJlbnRJbmRleF0hLmhhc1N1YmRyb3Bkb3duKSB7XG4gICAgICB0aGlzLmlzU3ViZHJvcGRvd25FeHBhbmRlZCA9IHRydWU7XG4gICAgICByZXR1cm4gdGhpcy5uZXh0KGN1cnJlbnRJbmRleCwgaXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY3VycmVudEluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29sbGFwc2UoY3VycmVudEluZGV4OiBudW1iZXIsIGl0ZW1zOiBPcHRpb25Db21wb25lbnRbXSkge1xuICAgIGlmICh0aGlzLmlzU3ViZHJvcGRvd25FeHBhbmRlZCkge1xuICAgICAgdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgIHJldHVybiB0aGlzLnByZXYoY3VycmVudEluZGV4LCBpdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjdXJyZW50SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcHRpb25Jc0hpZ2hsaWdodGFibGUob3B0aW9uOiBPcHRpb25Db21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc1RvcGxldmVsT3B0aW9uQW5kQWxsb3dlZCA9ICFvcHRpb24uaXNTdWJvcHRpb24gJiYgIXRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkO1xuICAgIGNvbnN0IGlzU2Vjb25kbGV2ZWxPcHRpb25BbmRBbGxvd2VkID0gb3B0aW9uLmlzU3Vib3B0aW9uICYmIHRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkO1xuICAgIHJldHVybiAhb3B0aW9uLmRpc2FibGVkICYmIChpc1RvcGxldmVsT3B0aW9uQW5kQWxsb3dlZCB8fCBpc1NlY29uZGxldmVsT3B0aW9uQW5kQWxsb3dlZCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdHJpZ2dlclRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbHhLZXlib2FyZEFjdGlvblNvdXJjZV1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlQb3NpdGlvbmluZ1wiPlxuICA8ZGl2IGNsYXNzPVwidHJpZ2dlckNvbnRhaW5lclwiIChjbGljayk9XCJvcGVuID0gIW9wZW5cIj5cbiAgICA8bmctY29udGFuaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmlnZ2VyVGVtcGxhdGVcIj48L25nLWNvbnRhbmluZXI+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwib3ZlcmxheVBvc2l0aW9uaW5nXCI+XG4gIDxkaXYgY2xhc3M9XCJvdmVybGF5T3JpZ2luIHRyaWdnZXJDb250YWluZXJcIiAoY2xpY2spPVwib3BlbiA9ICFvcGVuXCIgY2RrT3ZlcmxheU9yaWdpbiAjc2VsZWN0T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiPlxuICAgIDxuZy1jb250YW5pbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyaWdnZXJUZW1wbGF0ZVwiPjwvbmctY29udGFuaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZVxuICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJzZWxlY3RPcmlnaW5cIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3ldPVwib3ZlcmxheVNjcm9sbFN0cmF0ZWd5XCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3BlblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwib3ZlcmxheVBvc2l0aW9uc1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheURyb3Bkb3duXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duVGVtcGxhdGU+XG4gIDx1bFxuICAgICpuZ0lmPVwib3BlblwiXG4gICAgW2NsYXNzLmxlZnRdPVwiYWxpZ24gPT09ICdsZWZ0J1wiXG4gICAgW2NsYXNzLnNob3dTY3JvbGxiYXJdPVwibWF4SGVpZ2h0ICE9PSAnbm9uZSdcIlxuICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1heEhlaWdodFwiXG4gICAgbHhBdXRvY2xvc2VcbiAgICAoYXV0b2Nsb3NlKT1cImNsb3NlRHJvcGRvd24oKVwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvdWw+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,11 +1,11 @@
1
+ import { AsyncPipe } from '@angular/common';
1
2
  import { Component, ContentChildren, HostBinding, HostListener, Input } from '@angular/core';
2
3
  import { BehaviorSubject, combineLatest, fromEvent, merge, Subject } from 'rxjs';
3
4
  import { delay, map, startWith, switchMap, takeUntil } from 'rxjs/operators';
5
+ import { AutocloseDirective } from '../../../core-ui/directives/autoclose.directive';
4
6
  import { executeOnNextTick } from '../../../shared/misc-helpers';
5
7
  import { OptionComponent } from '../option/option.component';
6
8
  import * as i0 from "@angular/core";
7
- import * as i1 from "../../../core-ui/directives/autoclose.directive";
8
- import * as i2 from "@angular/common";
9
9
  export class OptionsSubDropdownComponent {
10
10
  constructor(changeDetection) {
11
11
  this.changeDetection = changeDetection;
@@ -67,11 +67,11 @@ export class OptionsSubDropdownComponent {
67
67
  this.hidden = true;
68
68
  }
69
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: OptionsSubDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: OptionsSubDropdownComponent, selector: "lx-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.hidden": "this.hidden" } }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div #spacingContainer class=\"spacingContainer\" [class.left]=\"align === 'left'\">\n <ul\n #subDropdown\n class=\"sub-dropdown\"\n lxAutoclose\n [class.showScrollbar]=\"(maxHeight$ | async) !== 'none'\"\n [style.max-height]=\"(maxHeight$ | async) ?? 'none'\"\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content></ng-content>\n </ul>\n</div>\n", styles: [":host{display:block}:host.hidden{display:none}.spacingContainer{position:absolute;left:100%;transform:translateY(-32px);padding:0 0 0 4px}.spacingContainer.left{left:auto;right:100%;padding:0 4px 0 0}.sub-dropdown{position:relative;padding:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none}.sub-dropdown::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}.sub-dropdown::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}.sub-dropdown::-webkit-scrollbar-track-piece{background-color:transparent}.sub-dropdown.showScrollbar{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i1.AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: OptionsSubDropdownComponent, isStandalone: true, selector: "lx-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.hidden": "this.hidden" } }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], ngImport: i0, template: "<div #spacingContainer class=\"spacingContainer\" [class.left]=\"align === 'left'\">\n <ul\n #subDropdown\n class=\"sub-dropdown\"\n lxAutoclose\n [class.showScrollbar]=\"(maxHeight$ | async) !== 'none'\"\n [style.max-height]=\"(maxHeight$ | async) ?? 'none'\"\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content></ng-content>\n </ul>\n</div>\n", styles: [":host{display:block}:host.hidden{display:none}.spacingContainer{position:absolute;left:100%;transform:translateY(-32px);padding:0 0 0 4px}.spacingContainer.left{left:auto;right:100%;padding:0 4px 0 0}.sub-dropdown{position:relative;padding:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none}.sub-dropdown::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}.sub-dropdown::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}.sub-dropdown::-webkit-scrollbar-track-piece{background-color:transparent}.sub-dropdown.showScrollbar{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
71
71
  }
72
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: OptionsSubDropdownComponent, decorators: [{
73
73
  type: Component,
74
- args: [{ selector: 'lx-options-sub-dropdown', template: "<div #spacingContainer class=\"spacingContainer\" [class.left]=\"align === 'left'\">\n <ul\n #subDropdown\n class=\"sub-dropdown\"\n lxAutoclose\n [class.showScrollbar]=\"(maxHeight$ | async) !== 'none'\"\n [style.max-height]=\"(maxHeight$ | async) ?? 'none'\"\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content></ng-content>\n </ul>\n</div>\n", styles: [":host{display:block}:host.hidden{display:none}.spacingContainer{position:absolute;left:100%;transform:translateY(-32px);padding:0 0 0 4px}.spacingContainer.left{left:auto;right:100%;padding:0 4px 0 0}.sub-dropdown{position:relative;padding:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none}.sub-dropdown::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}.sub-dropdown::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}.sub-dropdown::-webkit-scrollbar-track-piece{background-color:transparent}.sub-dropdown.showScrollbar{overflow-y:auto}\n"] }]
74
+ args: [{ selector: 'lx-options-sub-dropdown', standalone: true, imports: [AutocloseDirective, AsyncPipe], template: "<div #spacingContainer class=\"spacingContainer\" [class.left]=\"align === 'left'\">\n <ul\n #subDropdown\n class=\"sub-dropdown\"\n lxAutoclose\n [class.showScrollbar]=\"(maxHeight$ | async) !== 'none'\"\n [style.max-height]=\"(maxHeight$ | async) ?? 'none'\"\n (autoclose)=\"closeDropdown()\"\n >\n <ng-content></ng-content>\n </ul>\n</div>\n", styles: [":host{display:block}:host.hidden{display:none}.spacingContainer{position:absolute;left:100%;transform:translateY(-32px);padding:0 0 0 4px}.spacingContainer.left{left:auto;right:100%;padding:0 4px 0 0}.sub-dropdown{position:relative;padding:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none}.sub-dropdown::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}.sub-dropdown::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}.sub-dropdown::-webkit-scrollbar-track-piece{background-color:transparent}.sub-dropdown.showScrollbar{overflow-y:auto}\n"] }]
75
75
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { trigger: [{
76
76
  type: Input
77
77
  }], align: [{
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
89
89
  type: HostListener,
90
90
  args: ['mouseleave']
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9vcHRpb25zLXN1Yi1kcm9wZG93bi9vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbnMtc3ViLWRyb3Bkb3duL29wdGlvbnMtc3ViLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBTzdELE1BQU0sT0FBTywyQkFBMkI7SUFhdEMsWUFBb0IsZUFBa0M7UUFBbEMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBWDdDLFVBQUssR0FBcUIsT0FBTyxDQUFDO1FBSTNDLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFFTixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRWxELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FB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QyxDQUFDO1FBQ3RHLE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV0RyxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRSxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FDakQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQ25DLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQ25DLENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQzs4R0F6RlUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsMlFBR3JCLGVBQWUsZ0RDekJsQyxrWEFZQTs7MkZEVWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHlCQUF5QjtzRkFLMUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDbUQsT0FBTztzQkFBL0QsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUd2RCxNQUFNO3NCQURMLFdBQVc7dUJBQUMsY0FBYztnQkFXM0IsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFlBQVk7Z0JBTTFCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBleGVjdXRlT25OZXh0VGljayB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9taXNjLWhlbHBlcnMnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1vcHRpb25zLXN1Yi1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0cmlnZ2VyITogT3B0aW9uQ29tcG9uZW50O1xuICBASW5wdXQoKSBhbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG9wdGlvbnMhOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZGRlbicpXG4gIGhpZGRlbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcmVhZG9ubHkgbWF4SGVpZ2h0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignbm9uZScpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgbW91c2VlbnRlcigpIHtcbiAgICB0aGlzLm1vdXNlSW5zaWRlJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIG1vdXNlbGVhdmUoKSB7XG4gICAgdGhpcy5tb3VzZUluc2lkZSQubmV4dChmYWxzZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8vIFRvIGF2b2lkIGBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkYFxuICAgIGV4ZWN1dGVPbk5leHRUaWNrKCgpID0+IHtcbiAgICAgIHRoaXMudHJpZ2dlci5oYXNTdWJkcm9wZG93biA9IHRydWU7XG4gICAgfSk7XG5cbiAgICBtZXJnZSh0aGlzLnNob3dCeUtleWJvYXJkKCksIHRoaXMuc2hvd0J5TW91c2UoKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc2hvdykgPT4ge1xuICAgICAgICB0aGlzLmhpZGRlbiA9ICFzaG93O1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgaWYgKHNob3cpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU1heEhlaWdodCh0aGlzLnRyaWdnZXIuZWxlbWVudFJlZik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYXhIZWlnaHQoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIGNvbnN0IG1hcmdpbkJvdHRvbSA9IDg7XG4gICAgY29uc3Qgb3B0aW9uVG9wUG9zaXRpb24gPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgIGNvbnN0IHNjcmVlbkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBjb25zdCBtYXhIZWlnaHQgPSBgJHtzY3JlZW5IZWlnaHQgLSBvcHRpb25Ub3BQb3NpdGlvbiAtIG1hcmdpbkJvdHRvbX1weGA7XG4gICAgaWYgKHRoaXMubWF4SGVpZ2h0JC5nZXRWYWx1ZSgpICE9PSBtYXhIZWlnaHQpIHtcbiAgICAgIHRoaXMubWF4SGVpZ2h0JC5uZXh0KG1heEhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93QnlLZXlib2FyZCgpIHtcbiAgICBjb25zdCBvcHRpb25DaGFuZ2UkID0gdGhpcy5vcHRpb25zLmNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLm9wdGlvbnMpLFxuICAgICAgbWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PikgPT4gb3B0aW9ucy50b0FycmF5KCkpLFxuICAgICAgbWFwKChvcHRpb25zKSA9PlxuICAgICAgICBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgb3B0aW9uLmlzU3Vib3B0aW9uID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy50cmlnZ2VyLmhpZ2hsaWdodC5hc09ic2VydmFibGUoKSwgb3B0aW9uQ2hhbmdlJF0pLnBpcGUoXG4gICAgICBkZWxheSgwKSwgLy8gTmVlZCB0aWNrIGRlbGF5IHRvIGdldCBvcHRpb24gaGlnaGxpZ2h0ZWQgYW5kIGZpbHRlciBpdCBvdXQgYWZ0ZXJcbiAgICAgIG1hcCgoW2lzSGlnaGxpZ2h0ZWQsIG9wdGlvbnNdKSA9PiBpc0hpZ2hsaWdodGVkIHx8IG9wdGlvbnMuc29tZSgob3B0aW9uKSA9PiBvcHRpb24uaXNIaWdobGlnaHRlZCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0J5TW91c2UoKSB7XG4gICAgY29uc3QgbW91c2VFbnRlclRyaWdnZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMudHJpZ2dlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJyk7XG4gICAgY29uc3QgbW91c2VMZWF2ZVRyaWdnZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMudHJpZ2dlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJyk7XG5cbiAgICBjb25zdCBzaG93T25FbnRlck1vdXNlJCA9IG1vdXNlRW50ZXJUcmlnZ2VyJC5waXBlKG1hcCgoKSA9PiB0cnVlKSk7XG4gICAgY29uc3Qgc2hvd09uRW50ZXJTdWJtZW51JCA9IG1vdXNlRW50ZXJUcmlnZ2VyJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IG1vdXNlTGVhdmVUcmlnZ2VyJCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5tb3VzZUluc2lkZSQpXG4gICAgKTtcblxuICAgIHJldHVybiBtZXJnZShzaG93T25FbnRlck1vdXNlJCwgc2hvd09uRW50ZXJTdWJtZW51JCk7XG4gIH1cblxuICBjbG9zZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaGlkZGVuID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiAjc3BhY2luZ0NvbnRhaW5lciBjbGFzcz1cInNwYWNpbmdDb250YWluZXJcIiBbY2xhc3MubGVmdF09XCJhbGlnbiA9PT0gJ2xlZnQnXCI+XG4gIDx1bFxuICAgICNzdWJEcm9wZG93blxuICAgIGNsYXNzPVwic3ViLWRyb3Bkb3duXCJcbiAgICBseEF1dG9jbG9zZVxuICAgIFtjbGFzcy5zaG93U2Nyb2xsYmFyXT1cIihtYXhIZWlnaHQkIHwgYXN5bmMpICE9PSAnbm9uZSdcIlxuICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIihtYXhIZWlnaHQkIHwgYXN5bmMpID8/ICdub25lJ1wiXG4gICAgKGF1dG9jbG9zZSk9XCJjbG9zZURyb3Bkb3duKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3VsPlxuPC9kaXY+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9vcHRpb25zLXN1Yi1kcm9wZG93bi9vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL29wdGlvbnMtc3ViLWRyb3Bkb3duL29wdGlvbnMtc3ViLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFFZixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFTN0QsTUFBTSxPQUFPLDJCQUEyQjtJQWF0QyxZQUFvQixlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFYN0MsVUFBSyxHQUFxQixPQUFPLENBQUM7UUFJM0MsV0FBTSxHQUFHLElBQUksQ0FB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LFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRvY2xvc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9jb3JlLXVpL2RpcmVjdGl2ZXMvYXV0b2Nsb3NlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBleGVjdXRlT25OZXh0VGljayB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9taXNjLWhlbHBlcnMnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1vcHRpb25zLXN1Yi1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0F1dG9jbG9zZURpcmVjdGl2ZSwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0cmlnZ2VyITogT3B0aW9uQ29tcG9uZW50O1xuICBASW5wdXQoKSBhbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG9wdGlvbnMhOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZGRlbicpXG4gIGhpZGRlbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcmVhZG9ubHkgbWF4SGVpZ2h0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignbm9uZScpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgbW91c2VlbnRlcigpIHtcbiAgICB0aGlzLm1vdXNlSW5zaWRlJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIG1vdXNlbGVhdmUoKSB7XG4gICAgdGhpcy5tb3VzZUluc2lkZSQubmV4dChmYWxzZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8vIFRvIGF2b2lkIGBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkYFxuICAgIGV4ZWN1dGVPbk5leHRUaWNrKCgpID0+IHtcbiAgICAgIHRoaXMudHJpZ2dlci5oYXNTdWJkcm9wZG93biA9IHRydWU7XG4gICAgfSk7XG5cbiAgICBtZXJnZSh0aGlzLnNob3dCeUtleWJvYXJkKCksIHRoaXMuc2hvd0J5TW91c2UoKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc2hvdykgPT4ge1xuICAgICAgICB0aGlzLmhpZGRlbiA9ICFzaG93O1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgaWYgKHNob3cpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU1heEhlaWdodCh0aGlzLnRyaWdnZXIuZWxlbWVudFJlZik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYXhIZWlnaHQoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIGNvbnN0IG1hcmdpbkJvdHRvbSA9IDg7XG4gICAgY29uc3Qgb3B0aW9uVG9wUG9zaXRpb24gPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgIGNvbnN0IHNjcmVlbkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBjb25zdCBtYXhIZWlnaHQgPSBgJHtzY3JlZW5IZWlnaHQgLSBvcHRpb25Ub3BQb3NpdGlvbiAtIG1hcmdpbkJvdHRvbX1weGA7XG4gICAgaWYgKHRoaXMubWF4SGVpZ2h0JC5nZXRWYWx1ZSgpICE9PSBtYXhIZWlnaHQpIHtcbiAgICAgIHRoaXMubWF4SGVpZ2h0JC5uZXh0KG1heEhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93QnlLZXlib2FyZCgpIHtcbiAgICBjb25zdCBvcHRpb25DaGFuZ2UkID0gdGhpcy5vcHRpb25zLmNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLm9wdGlvbnMpLFxuICAgICAgbWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PikgPT4gb3B0aW9ucy50b0FycmF5KCkpLFxuICAgICAgbWFwKChvcHRpb25zKSA9PlxuICAgICAgICBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgb3B0aW9uLmlzU3Vib3B0aW9uID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy50cmlnZ2VyLmhpZ2hsaWdodC5hc09ic2VydmFibGUoKSwgb3B0aW9uQ2hhbmdlJF0pLnBpcGUoXG4gICAgICBkZWxheSgwKSwgLy8gTmVlZCB0aWNrIGRlbGF5IHRvIGdldCBvcHRpb24gaGlnaGxpZ2h0ZWQgYW5kIGZpbHRlciBpdCBvdXQgYWZ0ZXJcbiAgICAgIG1hcCgoW2lzSGlnaGxpZ2h0ZWQsIG9wdGlvbnNdKSA9PiBpc0hpZ2hsaWdodGVkIHx8IG9wdGlvbnMuc29tZSgob3B0aW9uKSA9PiBvcHRpb24uaXNIaWdobGlnaHRlZCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0J5TW91c2UoKSB7XG4gICAgY29uc3QgbW91c2VFbnRlclRyaWdnZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMudHJpZ2dlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJyk7XG4gICAgY29uc3QgbW91c2VMZWF2ZVRyaWdnZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMudHJpZ2dlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJyk7XG5cbiAgICBjb25zdCBzaG93T25FbnRlck1vdXNlJCA9IG1vdXNlRW50ZXJUcmlnZ2VyJC5waXBlKG1hcCgoKSA9PiB0cnVlKSk7XG4gICAgY29uc3Qgc2hvd09uRW50ZXJTdWJtZW51JCA9IG1vdXNlRW50ZXJUcmlnZ2VyJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IG1vdXNlTGVhdmVUcmlnZ2VyJCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5tb3VzZUluc2lkZSQpXG4gICAgKTtcblxuICAgIHJldHVybiBtZXJnZShzaG93T25FbnRlck1vdXNlJCwgc2hvd09uRW50ZXJTdWJtZW51JCk7XG4gIH1cblxuICBjbG9zZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaGlkZGVuID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiAjc3BhY2luZ0NvbnRhaW5lciBjbGFzcz1cInNwYWNpbmdDb250YWluZXJcIiBbY2xhc3MubGVmdF09XCJhbGlnbiA9PT0gJ2xlZnQnXCI+XG4gIDx1bFxuICAgICNzdWJEcm9wZG93blxuICAgIGNsYXNzPVwic3ViLWRyb3Bkb3duXCJcbiAgICBseEF1dG9jbG9zZVxuICAgIFtjbGFzcy5zaG93U2Nyb2xsYmFyXT1cIihtYXhIZWlnaHQkIHwgYXN5bmMpICE9PSAnbm9uZSdcIlxuICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIihtYXhIZWlnaHQkIHwgYXN5bmMpID8/ICdub25lJ1wiXG4gICAgKGF1dG9jbG9zZSk9XCJjbG9zZURyb3Bkb3duKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3VsPlxuPC9kaXY+XG4iXX0=
@@ -35,12 +35,13 @@ export class PickerTriggerDirective {
35
35
  this.destroyed$.next();
36
36
  }
37
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: PickerTriggerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
38
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: PickerTriggerDirective, selector: "[lxPickerTrigger]", ngImport: i0 }); }
38
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: PickerTriggerDirective, isStandalone: true, selector: "[lxPickerTrigger]", ngImport: i0 }); }
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: PickerTriggerDirective, decorators: [{
41
41
  type: Directive,
42
42
  args: [{
43
- selector: '[lxPickerTrigger]'
43
+ selector: '[lxPickerTrigger]',
44
+ standalone: true
44
45
  }]
45
46
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9waWNrZXIvcGlja2VyLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUt4RCxNQUFNLE9BQU8sc0JBQXNCO0lBb0JqQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBSUQsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUF6Qm5DLGNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLDJCQUFzQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLG9CQUFlLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdkYsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLCtGQUErRjtZQUMvRiw0RkFBNEY7WUFDNUYsdUZBQXVGO1lBQ3ZGLGtHQUFrRztZQUNsRyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNwQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTSxnQkFBVyxHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6RSxlQUFVLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhFLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQU0zRSxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUd4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBckNVLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2x4UGlja2VyVHJpZ2dlcl0nXG59KVxuZXhwb3J0IGNsYXNzIFBpY2tlclRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IElTX1NBRkFSSSA9IC9eKCg/IWNocm9tZXxhbmRyb2lkKS4pKnNhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgSE9TVF9FTEVNRU5UX0lTX0JVVFRPTiA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm1hdGNoZXMoJ2J1dHRvbicpO1xuICBwcml2YXRlIGZvY3VzZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBhbGxDbGlja0V2ZW50cyQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgdGFwKCgpID0+IHtcbiAgICAgIC8vIFRoZXJlIGlzIGFuIGluY29uc2lzdGVudCBiZWhhdmlvciBhbW9uZyBicm93c2VycyB3aGVuIGl0IGNvbWVzIHRvIGZvY3VzaW5nIGJ1dHRvbnMgb24gY2xpY2suXG4gICAgICAvLyBTYWZhcmkgZG9lcyBub3QgZm9jdXMgYnV0dG9ucyBvbiBjbGljaywgYnV0IG1vc3Qgb3RoZXIgYnJvd3NlcnMgZG8uIFRoZXJlZm9yZSwgd2UgaGF2ZSB0b1xuICAgICAgLy8gaW50cm9kdWNlIHRoaXMgaGFjayB0byBtYWtlIHN1cmUgdGhhdCB0aGUgYnV0dG9uIGlzIGZvY3VzZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgaXQuXG4gICAgICAvLyBNb3JlIGRldGFpbHMgaW4gdGhpcyBpbnRlcmVzdGluZyBhcnRpY2xlOiBodHRwczovL3plbGx3ay5jb20vYmxvZy9pbmNvbnNpc3RlbnQtYnV0dG9uLWJlaGF2aW9yL1xuICAgICAgaWYgKHRoaXMuSVNfU0FGQVJJICYmIHRoaXMuSE9TVF9FTEVNRU5UX0lTX0JVVFRPTikge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG4gIHByaXZhdGUgZm9jdXNFdmVudCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdmb2N1cycpO1xuICBwcml2YXRlIGJsdXJFdmVudCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdibHVyJyk7XG5cbiAgcHVibGljIGNsaWNrRXZlbnQkID0gdGhpcy5hbGxDbGlja0V2ZW50cyQucGlwZShmaWx0ZXIoKCkgPT4gdGhpcy5mb2N1c2VkID09PSB0cnVlKSk7XG5cbiAgZ2V0IHdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgfVxuXG4gIHJlYWRvbmx5IGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICB0aGlzLmZvY3VzRXZlbnQkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICAgIH0pO1xuICAgIHRoaXMuYmx1ckV2ZW50JC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9waWNrZXIvcGlja2VyLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU14RCxNQUFNLE9BQU8sc0JBQXNCO0lBb0JqQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBSUQsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUF6Qm5DLGNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLDJCQUFzQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLG9CQUFlLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdkYsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLCtGQUErRjtZQUMvRiw0RkFBNEY7WUFDNUYsdUZBQXVGO1lBQ3ZGLGtHQUFrRztZQUNsRyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNwQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTSxnQkFBVyxHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6RSxlQUFVLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhFLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQU0zRSxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUd4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBckNVLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tseFBpY2tlclRyaWdnZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBJU19TQUZBUkkgPSAvXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICBwcml2YXRlIHJlYWRvbmx5IEhPU1RfRUxFTUVOVF9JU19CVVRUT04gPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5tYXRjaGVzKCdidXR0b24nKTtcbiAgcHJpdmF0ZSBmb2N1c2VkID0gZmFsc2U7XG4gIHByaXZhdGUgYWxsQ2xpY2tFdmVudHMkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5waXBlKFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICAvLyBUaGVyZSBpcyBhbiBpbmNvbnNpc3RlbnQgYmVoYXZpb3IgYW1vbmcgYnJvd3NlcnMgd2hlbiBpdCBjb21lcyB0byBmb2N1c2luZyBidXR0b25zIG9uIGNsaWNrLlxuICAgICAgLy8gU2FmYXJpIGRvZXMgbm90IGZvY3VzIGJ1dHRvbnMgb24gY2xpY2ssIGJ1dCBtb3N0IG90aGVyIGJyb3dzZXJzIGRvLiBUaGVyZWZvcmUsIHdlIGhhdmUgdG9cbiAgICAgIC8vIGludHJvZHVjZSB0aGlzIGhhY2sgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGJ1dHRvbiBpcyBmb2N1c2VkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIGl0LlxuICAgICAgLy8gTW9yZSBkZXRhaWxzIGluIHRoaXMgaW50ZXJlc3RpbmcgYXJ0aWNsZTogaHR0cHM6Ly96ZWxsd2suY29tL2Jsb2cvaW5jb25zaXN0ZW50LWJ1dHRvbi1iZWhhdmlvci9cbiAgICAgIGlmICh0aGlzLklTX1NBRkFSSSAmJiB0aGlzLkhPU1RfRUxFTUVOVF9JU19CVVRUT04pIHtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuICBwcml2YXRlIGZvY3VzRXZlbnQkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZm9jdXMnKTtcbiAgcHJpdmF0ZSBibHVyRXZlbnQkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnYmx1cicpO1xuXG4gIHB1YmxpYyBjbGlja0V2ZW50JCA9IHRoaXMuYWxsQ2xpY2tFdmVudHMkLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMuZm9jdXNlZCA9PT0gdHJ1ZSkpO1xuXG4gIGdldCB3aWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gIH1cblxuICByZWFkb25seSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgdGhpcy5mb2N1c0V2ZW50JC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmJsdXJFdmVudCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgfVxufVxuIl19