@bravura/ui 2.5.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +7 -0
  3. package/alert/alert-container.component.d.ts +1 -1
  4. package/alert/alert-message.component.d.ts +3 -1
  5. package/behavior/await.directive.d.ts +1 -1
  6. package/behavior/sizing-monitor.directive.d.ts +1 -1
  7. package/behavior/sizing.directive.d.ts +1 -1
  8. package/clip-note/clip-note.component.d.ts +1 -1
  9. package/clip-note/clip-note.directive.d.ts +1 -1
  10. package/currency-input/currency-input.directive.d.ts +1 -1
  11. package/decimal-input/decimal-input.directive.d.ts +1 -1
  12. package/discrete-input/discrete-input.component.d.ts +1 -1
  13. package/esm2020/alert/alert-container.component.mjs +4 -4
  14. package/esm2020/alert/alert-message.component.mjs +17 -6
  15. package/esm2020/alert/alert.module.mjs +4 -4
  16. package/esm2020/behavior/await.directive.mjs +5 -5
  17. package/esm2020/behavior/behavior.module.mjs +4 -4
  18. package/esm2020/behavior/sizing-monitor.directive.mjs +3 -3
  19. package/esm2020/behavior/sizing.directive.mjs +3 -3
  20. package/esm2020/clip-note/clip-note.component.mjs +5 -5
  21. package/esm2020/clip-note/clip-note.directive.mjs +3 -3
  22. package/esm2020/clip-note/clip-note.module.mjs +4 -4
  23. package/esm2020/common/common.module.mjs +4 -4
  24. package/esm2020/currency-input/currency-input.directive.mjs +3 -3
  25. package/esm2020/currency-input/currency-input.module.mjs +4 -4
  26. package/esm2020/decimal-input/decimal-input.directive.mjs +3 -3
  27. package/esm2020/decimal-input/decimal-input.module.mjs +4 -4
  28. package/esm2020/discrete-input/discrete-input.component.mjs +3 -3
  29. package/esm2020/discrete-input/discrete-input.module.mjs +4 -4
  30. package/esm2020/file-upload/file-upload.component.mjs +5 -5
  31. package/esm2020/file-upload/file-upload.module.mjs +4 -4
  32. package/esm2020/file-upload/file-upload.service.mjs +3 -3
  33. package/esm2020/form-field/form-field.component.mjs +58 -80
  34. package/esm2020/form-field/form-field.module.mjs +8 -8
  35. package/esm2020/form-field/public-api.mjs +2 -2
  36. package/esm2020/icon-font/icon-font.module.mjs +4 -4
  37. package/esm2020/icon-font/icon.directive.mjs +3 -3
  38. package/esm2020/panel/panel-section.component.mjs +3 -3
  39. package/esm2020/panel/panel.component.mjs +5 -5
  40. package/esm2020/panel/panel.module.mjs +4 -4
  41. package/esm2020/phone-number/phone-number.directive.mjs +3 -3
  42. package/esm2020/phone-number/phone-number.module.mjs +4 -4
  43. package/esm2020/phone-number/phone-number.pipe.mjs +3 -3
  44. package/esm2020/phone-number/phone-number.validator.mjs +3 -3
  45. package/esm2020/radio-panel/radio-panel-item.component.mjs +3 -3
  46. package/esm2020/radio-panel/radio-panel.component.mjs +3 -3
  47. package/esm2020/radio-panel/radio-panel.module.mjs +4 -4
  48. package/esm2020/selection-panel/selection-panel-item.component.mjs +5 -5
  49. package/esm2020/selection-panel/selection-panel.directive.mjs +3 -3
  50. package/esm2020/selection-panel/selection-panel.module.mjs +4 -4
  51. package/esm2020/skeletons/skeleton-loader-presets.directive.mjs +3 -3
  52. package/esm2020/skeletons/skeleton-loader.component.mjs +3 -3
  53. package/esm2020/skeletons/skeletons.module.mjs +4 -4
  54. package/esm2020/stepper/stepper.component.mjs +10 -6
  55. package/esm2020/stepper/stepper.module.mjs +4 -4
  56. package/esm2020/tooltip/tooltip.component.mjs +18 -18
  57. package/esm2020/tooltip/tooltip.directive.mjs +10 -4
  58. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  59. package/fesm2015/bravura-ui-alert.mjs +24 -12
  60. package/fesm2015/bravura-ui-alert.mjs.map +1 -1
  61. package/fesm2015/bravura-ui-behavior.mjs +15 -14
  62. package/fesm2015/bravura-ui-behavior.mjs.map +1 -1
  63. package/fesm2015/bravura-ui-clip-note.mjs +12 -11
  64. package/fesm2015/bravura-ui-clip-note.mjs.map +1 -1
  65. package/fesm2015/bravura-ui-common.mjs +5 -4
  66. package/fesm2015/bravura-ui-currency-input.mjs +8 -7
  67. package/fesm2015/bravura-ui-decimal-input.mjs +8 -7
  68. package/fesm2015/bravura-ui-discrete-input.mjs +8 -7
  69. package/fesm2015/bravura-ui-file-upload.mjs +12 -11
  70. package/fesm2015/bravura-ui-file-upload.mjs.map +1 -1
  71. package/fesm2015/bravura-ui-form-field.mjs +67 -86
  72. package/fesm2015/bravura-ui-form-field.mjs.map +1 -1
  73. package/fesm2015/bravura-ui-icon-font.mjs +8 -7
  74. package/fesm2015/bravura-ui-panel.mjs +12 -11
  75. package/fesm2015/bravura-ui-panel.mjs.map +1 -1
  76. package/fesm2015/bravura-ui-phone-number.mjs +14 -13
  77. package/fesm2015/bravura-ui-radio-panel.mjs +11 -10
  78. package/fesm2015/bravura-ui-selection-panel.mjs +12 -11
  79. package/fesm2015/bravura-ui-selection-panel.mjs.map +1 -1
  80. package/fesm2015/bravura-ui-skeletons.mjs +11 -10
  81. package/fesm2015/bravura-ui-stepper.mjs +14 -9
  82. package/fesm2015/bravura-ui-stepper.mjs.map +1 -1
  83. package/fesm2015/bravura-ui-tooltip.mjs +33 -26
  84. package/fesm2015/bravura-ui-tooltip.mjs.map +1 -1
  85. package/fesm2015/bravura-ui.mjs +1 -0
  86. package/fesm2020/bravura-ui-alert.mjs +24 -12
  87. package/fesm2020/bravura-ui-alert.mjs.map +1 -1
  88. package/fesm2020/bravura-ui-behavior.mjs +15 -14
  89. package/fesm2020/bravura-ui-behavior.mjs.map +1 -1
  90. package/fesm2020/bravura-ui-clip-note.mjs +12 -11
  91. package/fesm2020/bravura-ui-clip-note.mjs.map +1 -1
  92. package/fesm2020/bravura-ui-common.mjs +5 -4
  93. package/fesm2020/bravura-ui-currency-input.mjs +8 -7
  94. package/fesm2020/bravura-ui-decimal-input.mjs +8 -7
  95. package/fesm2020/bravura-ui-discrete-input.mjs +8 -7
  96. package/fesm2020/bravura-ui-file-upload.mjs +12 -11
  97. package/fesm2020/bravura-ui-file-upload.mjs.map +1 -1
  98. package/fesm2020/bravura-ui-form-field.mjs +65 -86
  99. package/fesm2020/bravura-ui-form-field.mjs.map +1 -1
  100. package/fesm2020/bravura-ui-icon-font.mjs +8 -7
  101. package/fesm2020/bravura-ui-panel.mjs +12 -11
  102. package/fesm2020/bravura-ui-panel.mjs.map +1 -1
  103. package/fesm2020/bravura-ui-phone-number.mjs +14 -13
  104. package/fesm2020/bravura-ui-radio-panel.mjs +11 -10
  105. package/fesm2020/bravura-ui-selection-panel.mjs +12 -11
  106. package/fesm2020/bravura-ui-selection-panel.mjs.map +1 -1
  107. package/fesm2020/bravura-ui-skeletons.mjs +11 -10
  108. package/fesm2020/bravura-ui-stepper.mjs +14 -9
  109. package/fesm2020/bravura-ui-stepper.mjs.map +1 -1
  110. package/fesm2020/bravura-ui-tooltip.mjs +33 -26
  111. package/fesm2020/bravura-ui-tooltip.mjs.map +1 -1
  112. package/fesm2020/bravura-ui.mjs +1 -0
  113. package/file-upload/file-upload.component.d.ts +1 -1
  114. package/form-field/form-field.component.d.ts +23 -16
  115. package/form-field/form-field.module.d.ts +1 -1
  116. package/form-field/public-api.d.ts +1 -1
  117. package/icon-font/icon.directive.d.ts +1 -1
  118. package/package.json +1 -1
  119. package/panel/panel-section.component.d.ts +1 -1
  120. package/panel/panel.component.d.ts +1 -1
  121. package/phone-number/phone-number.directive.d.ts +1 -1
  122. package/phone-number/phone-number.validator.d.ts +1 -1
  123. package/radio-panel/radio-panel-item.component.d.ts +1 -1
  124. package/radio-panel/radio-panel.component.d.ts +1 -1
  125. package/selection-panel/selection-panel-item.component.d.ts +1 -1
  126. package/selection-panel/selection-panel.directive.d.ts +1 -1
  127. package/skeletons/skeleton-loader-presets.directive.d.ts +1 -1
  128. package/skeletons/skeleton-loader.component.d.ts +1 -1
  129. package/stepper/stepper.component.d.ts +3 -1
  130. package/theme/_bui-card.scss +56 -0
  131. package/theme/_ui-theme.scss +15 -3
  132. package/theme/scrollbar.scss +32 -30
  133. package/tooltip/tooltip.component.d.ts +3 -5
  134. package/tooltip/tooltip.directive.d.ts +1 -1
@@ -49,8 +49,8 @@ export class RadioPanelComponent extends MatRadioGroup {
49
49
  });
50
50
  }
51
51
  }
52
- RadioPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RadioPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
53
- RadioPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: RadioPanelComponent, selector: "bui-radio-panel", inputs: { panelWidth: "panelWidth", direction: "direction", color: "color", tickPosition: "tickPosition" }, host: { attributes: { "role": "radiogroup" }, properties: { "attr.class": "this.classAttr" }, classAttribute: "bui-radio-panel bui-host" }, providers: [
52
+ RadioPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: RadioPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
53
+ RadioPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: RadioPanelComponent, selector: "bui-radio-panel", inputs: { panelWidth: "panelWidth", direction: "direction", color: "color", tickPosition: "tickPosition" }, host: { attributes: { "role": "radiogroup" }, properties: { "attr.class": "this.classAttr" }, classAttribute: "bui-radio-panel bui-host" }, providers: [
54
54
  {
55
55
  provide: NG_VALUE_ACCESSOR,
56
56
  useExisting: forwardRef(() => RadioPanelComponent),
@@ -58,7 +58,7 @@ RadioPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
58
58
  },
59
59
  { provide: MAT_RADIO_GROUP, useExisting: forwardRef(() => RadioPanelComponent) }
60
60
  ], queries: [{ propertyName: "_radios", predicate: RadioPanelItemComponent, descendants: true }], exportAs: ["buiRadioPanel"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, styles: [":host:not([hidden]){display:flex}:host.radio-dir-row{flex-direction:row;flex-wrap:wrap}:host.radio-dir-column{flex-direction:column}\n"] });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RadioPanelComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: RadioPanelComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'bui-radio-panel', exportAs: 'buiRadioPanel', providers: [
64
64
  {
@@ -11,10 +11,10 @@ import * as i0 from "@angular/core";
11
11
  */
12
12
  export class RadioPanelModule {
13
13
  }
14
- RadioPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RadioPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- RadioPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: RadioPanelModule, declarations: [RadioPanelItemComponent, RadioPanelComponent], imports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule], exports: [RadioPanelItemComponent, RadioPanelComponent] });
16
- RadioPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RadioPanelModule, imports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: RadioPanelModule, decorators: [{
14
+ RadioPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: RadioPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ RadioPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: RadioPanelModule, declarations: [RadioPanelItemComponent, RadioPanelComponent], imports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule], exports: [RadioPanelItemComponent, RadioPanelComponent] });
16
+ RadioPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: RadioPanelModule, imports: [CommonModule, MatRadioModule, MatRippleModule, MatIconModule] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: RadioPanelModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  declarations: [RadioPanelItemComponent, RadioPanelComponent],
@@ -126,9 +126,9 @@ export class SelectionPanelItemComponent {
126
126
  }
127
127
  }
128
128
  }
129
- SelectionPanelItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectionPanelItemComponent, deps: [{ token: SELECTION_PANEL_GROUP }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
130
- SelectionPanelItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: SelectionPanelItemComponent, selector: "bui-selection-panel-item", inputs: { title: "title", shadedHeader: "shadedHeader", selectable: "selectable", disabled: "disabled", value: "value", checked: "checked", color: "color" }, host: { properties: { "class.bui-selection-checked": "checked", "class.bui-border-accent": "checked && color ==='accent'", "class.bui-border-primary": "checked && color ==='primary'", "class.bui-border-warn": "checked && color ==='warn'", "class.bui-disabled": "disabled", "class.bui-unselectable": "!selectable" }, classAttribute: "bui-selection-panel-item" }, viewQueries: [{ propertyName: "_bodyContent", first: true, predicate: ["contentBody"], descendants: true, static: true }, { propertyName: "_ripple", first: true, predicate: MatRipple, descendants: true }], ngImport: i0, template: "<div class=\"bui-selection-panel-item-wrapper\">\n\t<div\n\t\tmatRipple\n\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\tclass=\"bui-ripple\"\n\t\t*ngIf=\"!disabled\"\n\t\t[matRippleTrigger]=\"toggleTrigger\"\n\t\t#ripple=\"matRipple\"\n\t\t[matRippleDisabled]=\"!selectable\"\n\t></div>\n\t<div\n\t\tclass=\"bui-selection-panel-item-header\"\n\t\t[ngClass]=\"{ 'bui-shaded': shadedHeader, 'bui-empty': empty }\"\n\t\t#toggleTrigger\n\t>\n\t\t<div\n\t\t\t*ngIf=\"shadedHeader\"\n\t\t\tclass=\"bui-selection-panel-item-header-underlay\"\n\t\t\t[ngClass]=\"{ 'bui-not-empty': !empty }\"\n\t\t></div>\n\t\t<div class=\"bui-selection-panel-item-header-container\">\n\t\t\t<mat-checkbox\n\t\t\t\t*ngIf=\"selectable; else noselectable\"\n\t\t\t\t[(ngModel)]=\"checked\"\n\t\t\t\t[color]=\"color\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(change)=\"_markInteracted()\"\n\t\t\t\tstyle=\"flex-grow: 1\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t\t</mat-checkbox>\n\t\t\t<ng-template #noselectable>\n\t\t\t\t<div style=\"flex-grow: 1\" class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t\t</ng-template>\n\t\t\t<ng-content select=\"[buiSelectionItemHeadingEnd]\"></ng-content>\n\t\t</div>\n\t\t<ng-content select=\"[buiSelectionItemSubtitle]\"></ng-content>\n\t</div>\n\t<div\n\t\t#contentBody\n\t\tclass=\"bui-selection-panel-item-content\"\n\t\t[class.bui-selectable]=\"!_selectByHeader\"\n\t\t(click)=\"_contentClicked($event)\"\n\t\t(cdkObserveContent)=\"contentChanged()\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"bui-selection-panel-item-bottom\"></div>\n</div>\n", styles: [":host{position:relative;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px}:host .bui-selection-panel-item-wrapper{padding-left:1rem;padding-right:1rem}:host .bui-ripple{position:absolute;inset:0;z-index:-1}:host .bui-selection-panel-item-header{margin-top:calc(1rem - 4px);margin-bottom:calc(1rem - 4px);align-items:center;position:relative}:host .bui-selection-panel-item-header.bui-shaded:not(.bui-empty){margin-bottom:calc(2rem + 4px)}:host .bui-selection-panel-item-header-container{display:flex}:host .bui-selection-panel-item-header-container .mat-checkbox{z-index:1}:host .bui-selection-panel-item-title{font-size:larger;font-weight:700;white-space:normal;margin-top:2px}:host .bui-selection-panel-item-content{margin-top:calc(2px + 1rem);margin-bottom:1rem}:host .bui-selection-panel-item-header-underlay{position:absolute;top:calc(3px - 1rem);left:calc(-1px - 1rem);right:calc(-1px - 1rem);bottom:calc(-3px - 1rem);border-radius:5px;background-color:#80808026}:host .bui-selection-panel-item-header-underlay.bui-not-empty{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(:not(:first-child)){margin-top:1rem}:host(:not([hidden])){display:block}:host(:not(.bui-disabled,.bui-unselectable)):hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled,.bui-unselectable)) .bui-selection-panel-item-content.bui-selectable{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectionPanelItemComponent, decorators: [{
129
+ SelectionPanelItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SelectionPanelItemComponent, deps: [{ token: SELECTION_PANEL_GROUP }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
130
+ SelectionPanelItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: SelectionPanelItemComponent, selector: "bui-selection-panel-item", inputs: { title: "title", shadedHeader: "shadedHeader", selectable: "selectable", disabled: "disabled", value: "value", checked: "checked", color: "color" }, host: { properties: { "class.bui-selection-checked": "checked", "class.bui-border-accent": "checked && color ==='accent'", "class.bui-border-primary": "checked && color ==='primary'", "class.bui-border-warn": "checked && color ==='warn'", "class.bui-disabled": "disabled", "class.bui-unselectable": "!selectable" }, classAttribute: "bui-selection-panel-item" }, viewQueries: [{ propertyName: "_bodyContent", first: true, predicate: ["contentBody"], descendants: true, static: true }, { propertyName: "_ripple", first: true, predicate: MatRipple, descendants: true }], ngImport: i0, template: "<div class=\"bui-selection-panel-item-wrapper\">\n\t<div\n\t\tmatRipple\n\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\tclass=\"bui-ripple\"\n\t\t*ngIf=\"!disabled\"\n\t\t[matRippleTrigger]=\"toggleTrigger\"\n\t\t#ripple=\"matRipple\"\n\t\t[matRippleDisabled]=\"!selectable\"\n\t></div>\n\t<div\n\t\tclass=\"bui-selection-panel-item-header\"\n\t\t[ngClass]=\"{ 'bui-shaded': shadedHeader, 'bui-empty': empty }\"\n\t\t#toggleTrigger\n\t>\n\t\t<div\n\t\t\t*ngIf=\"shadedHeader\"\n\t\t\tclass=\"bui-selection-panel-item-header-underlay\"\n\t\t\t[ngClass]=\"{ 'bui-not-empty': !empty }\"\n\t\t></div>\n\t\t<div class=\"bui-selection-panel-item-header-container\">\n\t\t\t<mat-checkbox\n\t\t\t\t*ngIf=\"selectable; else noselectable\"\n\t\t\t\t[(ngModel)]=\"checked\"\n\t\t\t\t[color]=\"color\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(change)=\"_markInteracted()\"\n\t\t\t\tstyle=\"flex-grow: 1\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t\t</mat-checkbox>\n\t\t\t<ng-template #noselectable>\n\t\t\t\t<div style=\"flex-grow: 1\" class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t\t</ng-template>\n\t\t\t<ng-content select=\"[buiSelectionItemHeadingEnd]\"></ng-content>\n\t\t</div>\n\t\t<ng-content select=\"[buiSelectionItemSubtitle]\"></ng-content>\n\t</div>\n\t<div\n\t\t#contentBody\n\t\tclass=\"bui-selection-panel-item-content\"\n\t\t[class.bui-empty]=\"empty\"\n\t\t[class.bui-selectable]=\"!_selectByHeader\"\n\t\t(click)=\"_contentClicked($event)\"\n\t\t(cdkObserveContent)=\"contentChanged()\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"bui-selection-panel-item-bottom\"></div>\n</div>\n", styles: [":host{position:relative;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px}:host .bui-selection-panel-item-wrapper{padding-left:1rem;padding-right:1rem}:host .bui-ripple{position:absolute;inset:0;z-index:-1}:host .bui-selection-panel-item-header{margin-top:calc(1rem - 4px);margin-bottom:calc(1rem - 4px);align-items:center;position:relative}:host .bui-selection-panel-item-header.bui-shaded:not(.bui-empty){margin-bottom:calc(2rem + 4px)}:host .bui-selection-panel-item-header-container{display:flex}:host .bui-selection-panel-item-header-container .mat-mdc-checkbox{z-index:1}:host .bui-selection-panel-item-title{font-size:larger;font-weight:700;white-space:normal;margin-top:2px}:host .bui-selection-panel-item-content:not(.bui-empty){margin-top:calc(2px + 1rem);margin-bottom:1rem}:host .bui-selection-panel-item-header-underlay{position:absolute;top:calc(3px - 1rem);left:calc(-1px - 1rem);right:calc(-1px - 1rem);bottom:calc(-3px - 1rem);border-radius:5px;background-color:#80808026}:host .bui-selection-panel-item-header-underlay.bui-not-empty{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(:not(:first-child)){margin-top:1rem}:host(:not([hidden])){display:block}:host(:not(.bui-disabled,.bui-unselectable)):hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled,.bui-unselectable)) .bui-selection-panel-item-content.bui-selectable{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SelectionPanelItemComponent, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: 'bui-selection-panel-item', changeDetection: ChangeDetectionStrategy.OnPush, host: {
134
134
  class: 'bui-selection-panel-item',
@@ -138,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
138
138
  '[class.bui-border-warn]': `checked && color ==='warn'`,
139
139
  '[class.bui-disabled]': 'disabled',
140
140
  '[class.bui-unselectable]': '!selectable'
141
- }, template: "<div class=\"bui-selection-panel-item-wrapper\">\n\t<div\n\t\tmatRipple\n\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\tclass=\"bui-ripple\"\n\t\t*ngIf=\"!disabled\"\n\t\t[matRippleTrigger]=\"toggleTrigger\"\n\t\t#ripple=\"matRipple\"\n\t\t[matRippleDisabled]=\"!selectable\"\n\t></div>\n\t<div\n\t\tclass=\"bui-selection-panel-item-header\"\n\t\t[ngClass]=\"{ 'bui-shaded': shadedHeader, 'bui-empty': empty }\"\n\t\t#toggleTrigger\n\t>\n\t\t<div\n\t\t\t*ngIf=\"shadedHeader\"\n\t\t\tclass=\"bui-selection-panel-item-header-underlay\"\n\t\t\t[ngClass]=\"{ 'bui-not-empty': !empty }\"\n\t\t></div>\n\t\t<div class=\"bui-selection-panel-item-header-container\">\n\t\t\t<mat-checkbox\n\t\t\t\t*ngIf=\"selectable; else noselectable\"\n\t\t\t\t[(ngModel)]=\"checked\"\n\t\t\t\t[color]=\"color\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(change)=\"_markInteracted()\"\n\t\t\t\tstyle=\"flex-grow: 1\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t\t</mat-checkbox>\n\t\t\t<ng-template #noselectable>\n\t\t\t\t<div style=\"flex-grow: 1\" class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t\t</ng-template>\n\t\t\t<ng-content select=\"[buiSelectionItemHeadingEnd]\"></ng-content>\n\t\t</div>\n\t\t<ng-content select=\"[buiSelectionItemSubtitle]\"></ng-content>\n\t</div>\n\t<div\n\t\t#contentBody\n\t\tclass=\"bui-selection-panel-item-content\"\n\t\t[class.bui-selectable]=\"!_selectByHeader\"\n\t\t(click)=\"_contentClicked($event)\"\n\t\t(cdkObserveContent)=\"contentChanged()\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"bui-selection-panel-item-bottom\"></div>\n</div>\n", styles: [":host{position:relative;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px}:host .bui-selection-panel-item-wrapper{padding-left:1rem;padding-right:1rem}:host .bui-ripple{position:absolute;inset:0;z-index:-1}:host .bui-selection-panel-item-header{margin-top:calc(1rem - 4px);margin-bottom:calc(1rem - 4px);align-items:center;position:relative}:host .bui-selection-panel-item-header.bui-shaded:not(.bui-empty){margin-bottom:calc(2rem + 4px)}:host .bui-selection-panel-item-header-container{display:flex}:host .bui-selection-panel-item-header-container .mat-checkbox{z-index:1}:host .bui-selection-panel-item-title{font-size:larger;font-weight:700;white-space:normal;margin-top:2px}:host .bui-selection-panel-item-content{margin-top:calc(2px + 1rem);margin-bottom:1rem}:host .bui-selection-panel-item-header-underlay{position:absolute;top:calc(3px - 1rem);left:calc(-1px - 1rem);right:calc(-1px - 1rem);bottom:calc(-3px - 1rem);border-radius:5px;background-color:#80808026}:host .bui-selection-panel-item-header-underlay.bui-not-empty{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(:not(:first-child)){margin-top:1rem}:host(:not([hidden])){display:block}:host(:not(.bui-disabled,.bui-unselectable)):hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled,.bui-unselectable)) .bui-selection-panel-item-content.bui-selectable{cursor:pointer}\n"] }]
141
+ }, template: "<div class=\"bui-selection-panel-item-wrapper\">\n\t<div\n\t\tmatRipple\n\t\tmatRippleColor=\"rgba(128,128,128,.1)\"\n\t\tclass=\"bui-ripple\"\n\t\t*ngIf=\"!disabled\"\n\t\t[matRippleTrigger]=\"toggleTrigger\"\n\t\t#ripple=\"matRipple\"\n\t\t[matRippleDisabled]=\"!selectable\"\n\t></div>\n\t<div\n\t\tclass=\"bui-selection-panel-item-header\"\n\t\t[ngClass]=\"{ 'bui-shaded': shadedHeader, 'bui-empty': empty }\"\n\t\t#toggleTrigger\n\t>\n\t\t<div\n\t\t\t*ngIf=\"shadedHeader\"\n\t\t\tclass=\"bui-selection-panel-item-header-underlay\"\n\t\t\t[ngClass]=\"{ 'bui-not-empty': !empty }\"\n\t\t></div>\n\t\t<div class=\"bui-selection-panel-item-header-container\">\n\t\t\t<mat-checkbox\n\t\t\t\t*ngIf=\"selectable; else noselectable\"\n\t\t\t\t[(ngModel)]=\"checked\"\n\t\t\t\t[color]=\"color\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(change)=\"_markInteracted()\"\n\t\t\t\tstyle=\"flex-grow: 1\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t\t</mat-checkbox>\n\t\t\t<ng-template #noselectable>\n\t\t\t\t<div style=\"flex-grow: 1\" class=\"bui-selection-panel-item-title\" [innerHTML]=\"title\"></div>\n\t\t\t</ng-template>\n\t\t\t<ng-content select=\"[buiSelectionItemHeadingEnd]\"></ng-content>\n\t\t</div>\n\t\t<ng-content select=\"[buiSelectionItemSubtitle]\"></ng-content>\n\t</div>\n\t<div\n\t\t#contentBody\n\t\tclass=\"bui-selection-panel-item-content\"\n\t\t[class.bui-empty]=\"empty\"\n\t\t[class.bui-selectable]=\"!_selectByHeader\"\n\t\t(click)=\"_contentClicked($event)\"\n\t\t(cdkObserveContent)=\"contentChanged()\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"bui-selection-panel-item-bottom\"></div>\n</div>\n", styles: [":host{position:relative;border-radius:5px;border:1px solid rgba(128,128,128,.2);padding:1px}:host .bui-selection-panel-item-wrapper{padding-left:1rem;padding-right:1rem}:host .bui-ripple{position:absolute;inset:0;z-index:-1}:host .bui-selection-panel-item-header{margin-top:calc(1rem - 4px);margin-bottom:calc(1rem - 4px);align-items:center;position:relative}:host .bui-selection-panel-item-header.bui-shaded:not(.bui-empty){margin-bottom:calc(2rem + 4px)}:host .bui-selection-panel-item-header-container{display:flex}:host .bui-selection-panel-item-header-container .mat-mdc-checkbox{z-index:1}:host .bui-selection-panel-item-title{font-size:larger;font-weight:700;white-space:normal;margin-top:2px}:host .bui-selection-panel-item-content:not(.bui-empty){margin-top:calc(2px + 1rem);margin-bottom:1rem}:host .bui-selection-panel-item-header-underlay{position:absolute;top:calc(3px - 1rem);left:calc(-1px - 1rem);right:calc(-1px - 1rem);bottom:calc(-3px - 1rem);border-radius:5px;background-color:#80808026}:host .bui-selection-panel-item-header-underlay.bui-not-empty{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(:not(:first-child)){margin-top:1rem}:host(:not([hidden])){display:block}:host(:not(.bui-disabled,.bui-unselectable)):hover{border-width:2px;padding:0;border-color:#8080804d}:host(:not(.bui-disabled,.bui-unselectable)) .bui-selection-panel-item-content.bui-selectable{cursor:pointer}\n"] }]
142
142
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
143
143
  type: Inject,
144
144
  args: [SELECTION_PANEL_GROUP]
@@ -163,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
163
163
  type: ViewChild,
164
164
  args: [MatRipple]
165
165
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc2VsZWN0aW9uLXBhbmVsL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBRU4sdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQWFqRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUEwQix5QkFBeUIsQ0FBQyxDQUFDO0FBRTVHOztHQUVHO0FBZ0JILE1BQU0sT0FBTywyQkFBMkI7SUFvRnZDLFlBQW1ELE1BQStCLEVBQVUsR0FBc0I7UUFBL0QsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTdFbEg7O1dBRUc7UUFFSCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVg7O1dBRUc7UUFFSCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQjs7V0FFRztRQUVILGVBQVUsR0FBRyxJQUFJLENBQUM7UUFpRGxCLFVBQUssR0FBWSxJQUFJLENBQUM7UUFHZCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBUzJGLENBQUM7SUEzRHRILHNDQUFzQztJQUN0QyxJQUNJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxX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QUduQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNMLEtBQUssRUFBRSwwQkFBMEI7d0JBQ2pDLCtCQUErQixFQUFFLFNBQVM7d0JBQzFDLDJCQUEyQixFQUFFLDhCQUE4Qjt3QkFDM0QsNEJBQTRCLEVBQUUsK0JBQStCO3dCQUM3RCx5QkFBeUIsRUFBRSw0QkFBNEI7d0JBQ3ZELHNCQUFzQixFQUFFLFVBQVU7d0JBQ2xDLDBCQUEwQixFQUFFLGFBQWE7cUJBQ3pDOzswQkFzRlksTUFBTTsyQkFBQyxxQkFBcUI7NEVBekV6QyxLQUFLO3NCQURKLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBVUYsS0FBSztzQkFEUixLQUFLO2dCQWFGLE9BQU87c0JBRFYsS0FBSztnQkFjRixLQUFLO3NCQURSLEtBQUs7Z0JBbUJFLFlBQVk7c0JBRG5CLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbEMsT0FBTztzQkFEZCxTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcblx0QWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEluamVjdCxcblx0SW5qZWN0aW9uVG9rZW4sXG5cdElucHV0LFxuXHRWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGUsIFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cCB7XG5cdF9zZWxlY3Rpb246IGFueVtdO1xuXHRjb2xvcjogVGhlbWVQYWxldHRlO1xuXHRfaXNEaXNhYmxlZDogYm9vbGVhbjtcblx0X29uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cdHNlbGVjdEJ5SGVhZGVyOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNvbnN0IFNFTEVDVElPTl9QQU5FTF9HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cD4oJ1NlbGVjdGlvblBhbmVsSXRlbUdyb3VwJyk7XG5cbi8qKlxuICogVXNlIGBidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW1gIHdpdGhpbiBhIGBidWktc2VsZWN0aW9uLXBhbmVsYCB0byBkaXNwbGF5IGFuIG9wdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtJyxcblx0dGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vc2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ2J1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbScsXG5cdFx0J1tjbGFzcy5idWktc2VsZWN0aW9uLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxuXHRcdCdbY2xhc3MuYnVpLWJvcmRlci1hY2NlbnRdJzogYGNoZWNrZWQgJiYgY29sb3IgPT09J2FjY2VudCdgLFxuXHRcdCdbY2xhc3MuYnVpLWJvcmRlci1wcmltYXJ5XSc6IGBjaGVja2VkICYmIGNvbG9yID09PSdwcmltYXJ5J2AsXG5cdFx0J1tjbGFzcy5idWktYm9yZGVyLXdhcm5dJzogYGNoZWNrZWQgJiYgY29sb3IgPT09J3dhcm4nYCxcblx0XHQnW2NsYXNzLmJ1aS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuXHRcdCdbY2xhc3MuYnVpLXVuc2VsZWN0YWJsZV0nOiAnIXNlbGVjdGFibGUnXG5cdH1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cdC8qKiBAaWdub3JlICovXG5cdHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogYm9vbGVhbiB8IHN0cmluZztcblxuXHQvKiogQGlnbm9yZSAqL1xuXHRzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY2hlY2tlZDogYm9vbGVhbiB8IHN0cmluZztcblxuXHQvKipcblx0ICogVGhpcyB3aWxsIGJlIGRpc3BsYXllZCBhcyB0aGUgcGFuZWwgaGVhZGVyXG5cdCAqL1xuXHRASW5wdXQoKVxuXHR0aXRsZSA9ICcnO1xuXG5cdC8qKlxuXHQgKiBTaG93IHRoZSBoZWFkZXIgaW4gd2l0aCBhIHNoYWRlZCBiYWNrZ3JvdW5kXG5cdCAqL1xuXHRASW5wdXQoKVxuXHRzaGFkZWRIZWFkZXIgPSBmYWxzZTtcblxuXHQvKipcblx0ICogd2hlbiBmYWxzZSB3aWxsIGhpZGUgdGhlIGNoZWNrYm94XG5cdCAqL1xuXHRASW5wdXQoKVxuXHRzZWxlY3RhYmxlID0gdHJ1ZTtcblxuXHQvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIGRpc2FibGVkLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IHRoaXMuX2dyb3VwLl9pc0Rpc2FibGVkO1xuXHR9XG5cdHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdHRoaXMuX3NldERpc2FibGVkKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuXHR9XG5cblx0LyoqIFRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbi4gKi9cblx0QElucHV0KClcblx0Z2V0IHZhbHVlKCk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cdHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG5cdFx0aWYgKHRoaXMuX3ZhbHVlICE9PSB2YWx1ZSkge1xuXHRcdFx0dGhpcy5fdmFsdWUgPSB2YWx1ZTtcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIGNoZWNrZWQuICovXG5cdEBJbnB1dCgpXG5cdGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9ncm91cC5fc2VsZWN0aW9uLmluY2x1ZGVzKHRoaXMudmFsdWUpO1xuXHR9XG5cdHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0aWYgKCF0aGlzLl9ncm91cC5fb25Ub3VjaGVkKSB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldENoZWNrZWQodmFsdWUpLCAwKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5fc2V0Q2hlY2tlZCh2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIFRoZW1lIGNvbG9yIG9mIHRoZSByYWRpbyBidXR0b24uICovXG5cdEBJbnB1dCgpXG5cdGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xuXHRcdHJldHVybiB0aGlzLl9jb2xvciB8fCB0aGlzLl9ncm91cC5jb2xvcjtcblx0fVxuXHRzZXQgY29sb3IobmV3VmFsdWU6IFRoZW1lUGFsZXR0ZSkge1xuXHRcdHRoaXMuX2NvbG9yID0gbmV3VmFsdWU7XG5cdH1cblxuXHRnZXQgX3NlbGVjdEJ5SGVhZGVyKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9ncm91cC5zZWxlY3RCeUhlYWRlcjtcblx0fVxuXG5cdGVtcHR5OiBib29sZWFuID0gdHJ1ZTtcblxuXHRwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlO1xuXHRwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXHRwcml2YXRlIF92YWx1ZTogYW55O1xuXG5cdEBWaWV3Q2hpbGQoJ2NvbnRlbnRCb2R5JywgeyBzdGF0aWM6IHRydWUgfSlcblx0cHJpdmF0ZSBfYm9keUNvbnRlbnQ/OiBFbGVtZW50UmVmPGFueT47XG5cblx0QFZpZXdDaGlsZChNYXRSaXBwbGUpXG5cdHByaXZhdGUgX3JpcHBsZT86IE1hdFJpcHBsZTtcblxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KFNFTEVDVElPTl9QQU5FTF9HUk9VUCkgcHJpdmF0ZSBfZ3JvdXA6IFNlbGVjdGlvblBhbmVsSXRlbUdyb3VwLCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0X21hcmtJbnRlcmFjdGVkKCkge1xuXHRcdGlmICh0aGlzLl9ncm91cC5fb25Ub3VjaGVkKSB7XG5cdFx0XHR0aGlzLl9ncm91cC5fb25Ub3VjaGVkKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0X25vdGlmeSgpIHtcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdC8qKiBUb2dnbGUgc2VsZWN0aW9uIHByb2dyYW1tYXRpY2FsbHkgKi9cblx0dG9nZ2xlKCkge1xuXHRcdHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRfY29udGVudENsaWNrZWQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcblx0XHRpZiAoIXRoaXMuX3NlbGVjdEJ5SGVhZGVyICYmIHRoaXMuc2VsZWN0YWJsZSkge1xuXHRcdFx0dGhpcy5fcmlwcGxlPy5sYXVuY2goZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSk7XG5cdFx0XHR0aGlzLnRvZ2dsZSgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdGNvbnRlbnRDaGFuZ2VkKCkge1xuXHRcdGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuX2JvZHlDb250ZW50Py5uYXRpdmVFbGVtZW50O1xuXHRcdHRoaXMuZW1wdHkgPSAoZWw/LmNoaWxkRWxlbWVudENvdW50IHx8IDApID09PSAwICYmIChlbD8udGV4dENvbnRlbnQgfHwgJycpID09PSAnJztcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcblx0XHR0aGlzLmNvbnRlbnRDaGFuZ2VkKCk7XG5cdH1cblxuXHQvKiogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgYW5kIG1hcmtzIGZvciBjaGVjayBpZiBhIGNoYW5nZSBvY2N1cnJlZC4gKi9cblx0cHJpdmF0ZSBfc2V0RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQgIT09IHZhbHVlKSB7XG5cdFx0XHR0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuXHRcdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBfc2V0Q2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdGNvbnN0IG5ld0NoZWNrZWRTdGF0ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cdFx0Y29uc3Qgb2xkID0gdGhpcy5fZ3JvdXAuX3NlbGVjdGlvbi5pbmNsdWRlcyh0aGlzLnZhbHVlKTtcblx0XHRpZiAob2xkICE9PSBuZXdDaGVja2VkU3RhdGUpIHtcblx0XHRcdGNvbnN0IGNvbnRhaW5lZCA9IHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24uc29tZSh2ID0+IHYgPT09IHRoaXMuX3ZhbHVlKTtcblx0XHRcdGlmIChuZXdDaGVja2VkU3RhdGUgJiYgdGhpcy5fZ3JvdXAgJiYgIWNvbnRhaW5lZCkge1xuXHRcdFx0XHR0aGlzLl9ncm91cC5fc2VsZWN0aW9uID0gWy4uLnRoaXMuX2dyb3VwLl9zZWxlY3Rpb24sIHRoaXMuX3ZhbHVlXTtcblx0XHRcdH0gZWxzZSBpZiAoIW5ld0NoZWNrZWRTdGF0ZSAmJiB0aGlzLl9ncm91cCAmJiBjb250YWluZWQpIHtcblx0XHRcdFx0Ly8gV2hlbiB1bmNoZWNraW5nIHRoZSBzZWxlY3RlZCBpdGVtLCB1cGRhdGUgdGhlIHNlbGVjdGlvblxuXHRcdFx0XHQvLyBwcm9wZXJ0eSBvbiB0aGUgZ3JvdXAuXG5cdFx0XHRcdHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24gPSB0aGlzLl9ncm91cC5fc2VsZWN0aW9uLmZpbHRlcih2ID0+IHYgIT09IHRoaXMuX3ZhbHVlKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS13cmFwcGVyXCI+XG5cdDxkaXZcblx0XHRtYXRSaXBwbGVcblx0XHRtYXRSaXBwbGVDb2xvcj1cInJnYmEoMTI4LDEyOCwxMjgsLjEpXCJcblx0XHRjbGFzcz1cImJ1aS1yaXBwbGVcIlxuXHRcdCpuZ0lmPVwiIWRpc2FibGVkXCJcblx0XHRbbWF0UmlwcGxlVHJpZ2dlcl09XCJ0b2dnbGVUcmlnZ2VyXCJcblx0XHQjcmlwcGxlPVwibWF0UmlwcGxlXCJcblx0XHRbbWF0UmlwcGxlRGlzYWJsZWRdPVwiIXNlbGVjdGFibGVcIlxuXHQ+PC9kaXY+XG5cdDxkaXZcblx0XHRjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS1oZWFkZXJcIlxuXHRcdFtuZ0NsYXNzXT1cInsgJ2J1aS1zaGFkZWQnOiBzaGFkZWRIZWFkZXIsICdidWktZW1wdHknOiBlbXB0eSB9XCJcblx0XHQjdG9nZ2xlVHJpZ2dlclxuXHQ+XG5cdFx0PGRpdlxuXHRcdFx0Km5nSWY9XCJzaGFkZWRIZWFkZXJcIlxuXHRcdFx0Y2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0taGVhZGVyLXVuZGVybGF5XCJcblx0XHRcdFtuZ0NsYXNzXT1cInsgJ2J1aS1ub3QtZW1wdHknOiAhZW1wdHkgfVwiXG5cdFx0PjwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0taGVhZGVyLWNvbnRhaW5lclwiPlxuXHRcdFx0PG1hdC1jaGVja2JveFxuXHRcdFx0XHQqbmdJZj1cInNlbGVjdGFibGU7IGVsc2Ugbm9zZWxlY3RhYmxlXCJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJjaGVja2VkXCJcblx0XHRcdFx0W2NvbG9yXT1cImNvbG9yXCJcblx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFx0KGNoYW5nZSk9XCJfbWFya0ludGVyYWN0ZWQoKVwiXG5cdFx0XHRcdHN0eWxlPVwiZmxleC1ncm93OiAxXCJcblx0XHRcdD5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cblx0XHRcdDwvbWF0LWNoZWNrYm94PlxuXHRcdFx0PG5nLXRlbXBsYXRlICNub3NlbGVjdGFibGU+XG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDFcIiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbYnVpU2VsZWN0aW9uSXRlbUhlYWRpbmdFbmRdXCI+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltidWlTZWxlY3Rpb25JdGVtU3VidGl0bGVdXCI+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cblx0PGRpdlxuXHRcdCNjb250ZW50Qm9keVxuXHRcdGNsYXNzPVwiYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtLWNvbnRlbnRcIlxuXHRcdFtjbGFzcy5idWktc2VsZWN0YWJsZV09XCIhX3NlbGVjdEJ5SGVhZGVyXCJcblx0XHQoY2xpY2spPVwiX2NvbnRlbnRDbGlja2VkKCRldmVudClcIlxuXHRcdChjZGtPYnNlcnZlQ29udGVudCk9XCJjb250ZW50Q2hhbmdlZCgpXCJcblx0PlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0tYm90dG9tXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc2VsZWN0aW9uLXBhbmVsL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NlbGVjdGlvbi1wYW5lbC9zZWxlY3Rpb24tcGFuZWwtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBRU4sdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQWFqRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUEwQix5QkFBeUIsQ0FBQyxDQUFDO0FBRTVHOztHQUVHO0FBZ0JILE1BQU0sT0FBTywyQkFBMkI7SUFvRnZDLFlBQW1ELE1BQStCLEVBQVUsR0FBc0I7UUFBL0QsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTdFbEg7O1dBRUc7UUFFSCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVg7O1dBRUc7UUFFSCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQjs7V0FFRztRQUVILGVBQVUsR0FBRyxJQUFJLENBQUM7UUFpRGxCLFVBQUssR0FBWSxJQUFJLENBQUM7UUFHZCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBUzJGLENBQUM7SUEzRHRILHNDQUFzQztJQUN0QyxJQUNJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxX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QUduQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNMLEtBQUssRUFBRSwwQkFBMEI7d0JBQ2pDLCtCQUErQixFQUFFLFNBQVM7d0JBQzFDLDJCQUEyQixFQUFFLDhCQUE4Qjt3QkFDM0QsNEJBQTRCLEVBQUUsK0JBQStCO3dCQUM3RCx5QkFBeUIsRUFBRSw0QkFBNEI7d0JBQ3ZELHNCQUFzQixFQUFFLFVBQVU7d0JBQ2xDLDBCQUEwQixFQUFFLGFBQWE7cUJBQ3pDOzswQkFzRlksTUFBTTsyQkFBQyxxQkFBcUI7NEVBekV6QyxLQUFLO3NCQURKLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBVUYsS0FBSztzQkFEUixLQUFLO2dCQWFGLE9BQU87c0JBRFYsS0FBSztnQkFjRixLQUFLO3NCQURSLEtBQUs7Z0JBbUJFLFlBQVk7c0JBRG5CLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbEMsT0FBTztzQkFEZCxTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcblx0QWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdEluamVjdCxcblx0SW5qZWN0aW9uVG9rZW4sXG5cdElucHV0LFxuXHRWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGUsIFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cCB7XG5cdF9zZWxlY3Rpb246IGFueVtdO1xuXHRjb2xvcjogVGhlbWVQYWxldHRlO1xuXHRfaXNEaXNhYmxlZDogYm9vbGVhbjtcblx0X29uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cdHNlbGVjdEJ5SGVhZGVyOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNvbnN0IFNFTEVDVElPTl9QQU5FTF9HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZWxlY3Rpb25QYW5lbEl0ZW1Hcm91cD4oJ1NlbGVjdGlvblBhbmVsSXRlbUdyb3VwJyk7XG5cbi8qKlxuICogVXNlIGBidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW1gIHdpdGhpbiBhIGBidWktc2VsZWN0aW9uLXBhbmVsYCB0byBkaXNwbGF5IGFuIG9wdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtJyxcblx0dGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1wYW5lbC1pdGVtLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vc2VsZWN0aW9uLXBhbmVsLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ2J1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbScsXG5cdFx0J1tjbGFzcy5idWktc2VsZWN0aW9uLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxuXHRcdCdbY2xhc3MuYnVpLWJvcmRlci1hY2NlbnRdJzogYGNoZWNrZWQgJiYgY29sb3IgPT09J2FjY2VudCdgLFxuXHRcdCdbY2xhc3MuYnVpLWJvcmRlci1wcmltYXJ5XSc6IGBjaGVja2VkICYmIGNvbG9yID09PSdwcmltYXJ5J2AsXG5cdFx0J1tjbGFzcy5idWktYm9yZGVyLXdhcm5dJzogYGNoZWNrZWQgJiYgY29sb3IgPT09J3dhcm4nYCxcblx0XHQnW2NsYXNzLmJ1aS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuXHRcdCdbY2xhc3MuYnVpLXVuc2VsZWN0YWJsZV0nOiAnIXNlbGVjdGFibGUnXG5cdH1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uUGFuZWxJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cdC8qKiBAaWdub3JlICovXG5cdHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogYm9vbGVhbiB8IHN0cmluZztcblxuXHQvKiogQGlnbm9yZSAqL1xuXHRzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfY2hlY2tlZDogYm9vbGVhbiB8IHN0cmluZztcblxuXHQvKipcblx0ICogVGhpcyB3aWxsIGJlIGRpc3BsYXllZCBhcyB0aGUgcGFuZWwgaGVhZGVyXG5cdCAqL1xuXHRASW5wdXQoKVxuXHR0aXRsZSA9ICcnO1xuXG5cdC8qKlxuXHQgKiBTaG93IHRoZSBoZWFkZXIgaW4gd2l0aCBhIHNoYWRlZCBiYWNrZ3JvdW5kXG5cdCAqL1xuXHRASW5wdXQoKVxuXHRzaGFkZWRIZWFkZXIgPSBmYWxzZTtcblxuXHQvKipcblx0ICogd2hlbiBmYWxzZSB3aWxsIGhpZGUgdGhlIGNoZWNrYm94XG5cdCAqL1xuXHRASW5wdXQoKVxuXHRzZWxlY3RhYmxlID0gdHJ1ZTtcblxuXHQvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIGRpc2FibGVkLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IHRoaXMuX2dyb3VwLl9pc0Rpc2FibGVkO1xuXHR9XG5cdHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdHRoaXMuX3NldERpc2FibGVkKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuXHR9XG5cblx0LyoqIFRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbi4gKi9cblx0QElucHV0KClcblx0Z2V0IHZhbHVlKCk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cdHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG5cdFx0aWYgKHRoaXMuX3ZhbHVlICE9PSB2YWx1ZSkge1xuXHRcdFx0dGhpcy5fdmFsdWUgPSB2YWx1ZTtcblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIGNoZWNrZWQuICovXG5cdEBJbnB1dCgpXG5cdGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9ncm91cC5fc2VsZWN0aW9uLmluY2x1ZGVzKHRoaXMudmFsdWUpO1xuXHR9XG5cdHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0aWYgKCF0aGlzLl9ncm91cC5fb25Ub3VjaGVkKSB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldENoZWNrZWQodmFsdWUpLCAwKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5fc2V0Q2hlY2tlZCh2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIFRoZW1lIGNvbG9yIG9mIHRoZSByYWRpbyBidXR0b24uICovXG5cdEBJbnB1dCgpXG5cdGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xuXHRcdHJldHVybiB0aGlzLl9jb2xvciB8fCB0aGlzLl9ncm91cC5jb2xvcjtcblx0fVxuXHRzZXQgY29sb3IobmV3VmFsdWU6IFRoZW1lUGFsZXR0ZSkge1xuXHRcdHRoaXMuX2NvbG9yID0gbmV3VmFsdWU7XG5cdH1cblxuXHRnZXQgX3NlbGVjdEJ5SGVhZGVyKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9ncm91cC5zZWxlY3RCeUhlYWRlcjtcblx0fVxuXG5cdGVtcHR5OiBib29sZWFuID0gdHJ1ZTtcblxuXHRwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlO1xuXHRwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXHRwcml2YXRlIF92YWx1ZTogYW55O1xuXG5cdEBWaWV3Q2hpbGQoJ2NvbnRlbnRCb2R5JywgeyBzdGF0aWM6IHRydWUgfSlcblx0cHJpdmF0ZSBfYm9keUNvbnRlbnQ/OiBFbGVtZW50UmVmPGFueT47XG5cblx0QFZpZXdDaGlsZChNYXRSaXBwbGUpXG5cdHByaXZhdGUgX3JpcHBsZT86IE1hdFJpcHBsZTtcblxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KFNFTEVDVElPTl9QQU5FTF9HUk9VUCkgcHJpdmF0ZSBfZ3JvdXA6IFNlbGVjdGlvblBhbmVsSXRlbUdyb3VwLCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0X21hcmtJbnRlcmFjdGVkKCkge1xuXHRcdGlmICh0aGlzLl9ncm91cC5fb25Ub3VjaGVkKSB7XG5cdFx0XHR0aGlzLl9ncm91cC5fb25Ub3VjaGVkKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0X25vdGlmeSgpIHtcblx0XHR0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdC8qKiBUb2dnbGUgc2VsZWN0aW9uIHByb2dyYW1tYXRpY2FsbHkgKi9cblx0dG9nZ2xlKCkge1xuXHRcdHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRfY29udGVudENsaWNrZWQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcblx0XHRpZiAoIXRoaXMuX3NlbGVjdEJ5SGVhZGVyICYmIHRoaXMuc2VsZWN0YWJsZSkge1xuXHRcdFx0dGhpcy5fcmlwcGxlPy5sYXVuY2goZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSk7XG5cdFx0XHR0aGlzLnRvZ2dsZSgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdGNvbnRlbnRDaGFuZ2VkKCkge1xuXHRcdGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuX2JvZHlDb250ZW50Py5uYXRpdmVFbGVtZW50O1xuXHRcdHRoaXMuZW1wdHkgPSAoZWw/LmNoaWxkRWxlbWVudENvdW50IHx8IDApID09PSAwICYmIChlbD8udGV4dENvbnRlbnQgfHwgJycpID09PSAnJztcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcblx0XHR0aGlzLmNvbnRlbnRDaGFuZ2VkKCk7XG5cdH1cblxuXHQvKiogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgYW5kIG1hcmtzIGZvciBjaGVjayBpZiBhIGNoYW5nZSBvY2N1cnJlZC4gKi9cblx0cHJpdmF0ZSBfc2V0RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQgIT09IHZhbHVlKSB7XG5cdFx0XHR0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuXHRcdFx0dGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBfc2V0Q2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdGNvbnN0IG5ld0NoZWNrZWRTdGF0ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cdFx0Y29uc3Qgb2xkID0gdGhpcy5fZ3JvdXAuX3NlbGVjdGlvbi5pbmNsdWRlcyh0aGlzLnZhbHVlKTtcblx0XHRpZiAob2xkICE9PSBuZXdDaGVja2VkU3RhdGUpIHtcblx0XHRcdGNvbnN0IGNvbnRhaW5lZCA9IHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24uc29tZSh2ID0+IHYgPT09IHRoaXMuX3ZhbHVlKTtcblx0XHRcdGlmIChuZXdDaGVja2VkU3RhdGUgJiYgdGhpcy5fZ3JvdXAgJiYgIWNvbnRhaW5lZCkge1xuXHRcdFx0XHR0aGlzLl9ncm91cC5fc2VsZWN0aW9uID0gWy4uLnRoaXMuX2dyb3VwLl9zZWxlY3Rpb24sIHRoaXMuX3ZhbHVlXTtcblx0XHRcdH0gZWxzZSBpZiAoIW5ld0NoZWNrZWRTdGF0ZSAmJiB0aGlzLl9ncm91cCAmJiBjb250YWluZWQpIHtcblx0XHRcdFx0Ly8gV2hlbiB1bmNoZWNraW5nIHRoZSBzZWxlY3RlZCBpdGVtLCB1cGRhdGUgdGhlIHNlbGVjdGlvblxuXHRcdFx0XHQvLyBwcm9wZXJ0eSBvbiB0aGUgZ3JvdXAuXG5cdFx0XHRcdHRoaXMuX2dyb3VwLl9zZWxlY3Rpb24gPSB0aGlzLl9ncm91cC5fc2VsZWN0aW9uLmZpbHRlcih2ID0+IHYgIT09IHRoaXMuX3ZhbHVlKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS13cmFwcGVyXCI+XG5cdDxkaXZcblx0XHRtYXRSaXBwbGVcblx0XHRtYXRSaXBwbGVDb2xvcj1cInJnYmEoMTI4LDEyOCwxMjgsLjEpXCJcblx0XHRjbGFzcz1cImJ1aS1yaXBwbGVcIlxuXHRcdCpuZ0lmPVwiIWRpc2FibGVkXCJcblx0XHRbbWF0UmlwcGxlVHJpZ2dlcl09XCJ0b2dnbGVUcmlnZ2VyXCJcblx0XHQjcmlwcGxlPVwibWF0UmlwcGxlXCJcblx0XHRbbWF0UmlwcGxlRGlzYWJsZWRdPVwiIXNlbGVjdGFibGVcIlxuXHQ+PC9kaXY+XG5cdDxkaXZcblx0XHRjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS1oZWFkZXJcIlxuXHRcdFtuZ0NsYXNzXT1cInsgJ2J1aS1zaGFkZWQnOiBzaGFkZWRIZWFkZXIsICdidWktZW1wdHknOiBlbXB0eSB9XCJcblx0XHQjdG9nZ2xlVHJpZ2dlclxuXHQ+XG5cdFx0PGRpdlxuXHRcdFx0Km5nSWY9XCJzaGFkZWRIZWFkZXJcIlxuXHRcdFx0Y2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0taGVhZGVyLXVuZGVybGF5XCJcblx0XHRcdFtuZ0NsYXNzXT1cInsgJ2J1aS1ub3QtZW1wdHknOiAhZW1wdHkgfVwiXG5cdFx0PjwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0taGVhZGVyLWNvbnRhaW5lclwiPlxuXHRcdFx0PG1hdC1jaGVja2JveFxuXHRcdFx0XHQqbmdJZj1cInNlbGVjdGFibGU7IGVsc2Ugbm9zZWxlY3RhYmxlXCJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJjaGVja2VkXCJcblx0XHRcdFx0W2NvbG9yXT1cImNvbG9yXCJcblx0XHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFx0KGNoYW5nZSk9XCJfbWFya0ludGVyYWN0ZWQoKVwiXG5cdFx0XHRcdHN0eWxlPVwiZmxleC1ncm93OiAxXCJcblx0XHRcdD5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cblx0XHRcdDwvbWF0LWNoZWNrYm94PlxuXHRcdFx0PG5nLXRlbXBsYXRlICNub3NlbGVjdGFibGU+XG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDFcIiBjbGFzcz1cImJ1aS1zZWxlY3Rpb24tcGFuZWwtaXRlbS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbYnVpU2VsZWN0aW9uSXRlbUhlYWRpbmdFbmRdXCI+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltidWlTZWxlY3Rpb25JdGVtU3VidGl0bGVdXCI+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cblx0PGRpdlxuXHRcdCNjb250ZW50Qm9keVxuXHRcdGNsYXNzPVwiYnVpLXNlbGVjdGlvbi1wYW5lbC1pdGVtLWNvbnRlbnRcIlxuXHRcdFtjbGFzcy5idWktZW1wdHldPVwiZW1wdHlcIlxuXHRcdFtjbGFzcy5idWktc2VsZWN0YWJsZV09XCIhX3NlbGVjdEJ5SGVhZGVyXCJcblx0XHQoY2xpY2spPVwiX2NvbnRlbnRDbGlja2VkKCRldmVudClcIlxuXHRcdChjZGtPYnNlcnZlQ29udGVudCk9XCJjb250ZW50Q2hhbmdlZCgpXCJcblx0PlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJidWktc2VsZWN0aW9uLXBhbmVsLWl0ZW0tYm90dG9tXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -92,12 +92,12 @@ export class SelectionPanelDirective {
92
92
  }
93
93
  }
94
94
  }
95
- SelectionPanelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectionPanelDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
96
- SelectionPanelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: SelectionPanelDirective, selector: "bui-selection-panel", inputs: { color: "color", selectByHeader: "selectByHeader" }, host: { classAttribute: "bui-selection-panel bui-host" }, providers: [
95
+ SelectionPanelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SelectionPanelDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
96
+ SelectionPanelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: SelectionPanelDirective, selector: "bui-selection-panel", inputs: { color: "color", selectByHeader: "selectByHeader" }, host: { classAttribute: "bui-selection-panel bui-host" }, providers: [
97
97
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectionPanelDirective), multi: true },
98
98
  { provide: SELECTION_PANEL_GROUP, useExisting: forwardRef(() => SelectionPanelDirective) }
99
99
  ], queries: [{ propertyName: "_items", predicate: SelectionPanelItemComponent, descendants: true }], exportAs: ["buiSelectionPanel"], usesOnChanges: true, ngImport: i0 });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectionPanelDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SelectionPanelDirective, decorators: [{
101
101
  type: Directive,
102
102
  args: [{
103
103
  selector: 'bui-selection-panel',
@@ -9,10 +9,10 @@ import { SelectionPanelDirective } from './selection-panel.directive';
9
9
  import * as i0 from "@angular/core";
10
10
  export class SelectionPanelModule {
11
11
  }
12
- SelectionPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- SelectionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: SelectionPanelModule, declarations: [SelectionPanelDirective, SelectionPanelItemComponent], imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule, ObserversModule], exports: [SelectionPanelDirective, SelectionPanelItemComponent] });
14
- SelectionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectionPanelModule, imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule, ObserversModule] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectionPanelModule, decorators: [{
12
+ SelectionPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SelectionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ SelectionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: SelectionPanelModule, declarations: [SelectionPanelDirective, SelectionPanelItemComponent], imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule, ObserversModule], exports: [SelectionPanelDirective, SelectionPanelItemComponent] });
14
+ SelectionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SelectionPanelModule, imports: [CommonModule, MatCheckboxModule, FormsModule, MatRippleModule, ObserversModule] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SelectionPanelModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [SelectionPanelDirective, SelectionPanelItemComponent],
@@ -65,9 +65,9 @@ export class SkeletonLoaderPresetsDirective {
65
65
  }
66
66
  }
67
67
  }
68
- SkeletonLoaderPresetsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SkeletonLoaderPresetsDirective, deps: [{ token: i1.SkeletonLoaderComponent, host: true }, { token: i0.ElementRef }, { token: SKELETON_PRESETS }], target: i0.ɵɵFactoryTarget.Directive });
69
- SkeletonLoaderPresetsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: SkeletonLoaderPresetsDirective, selector: "bui-skeleton[preset]", inputs: { preset: "preset" }, ngImport: i0 });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SkeletonLoaderPresetsDirective, decorators: [{
68
+ SkeletonLoaderPresetsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SkeletonLoaderPresetsDirective, deps: [{ token: i1.SkeletonLoaderComponent, host: true }, { token: i0.ElementRef }, { token: SKELETON_PRESETS }], target: i0.ɵɵFactoryTarget.Directive });
69
+ SkeletonLoaderPresetsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: SkeletonLoaderPresetsDirective, selector: "bui-skeleton[preset]", inputs: { preset: "preset" }, ngImport: i0 });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SkeletonLoaderPresetsDirective, decorators: [{
71
71
  type: Directive,
72
72
  args: [{
73
73
  selector: 'bui-skeleton[preset]'
@@ -62,9 +62,9 @@ export class SkeletonLoaderComponent extends ContentLoaderComponent {
62
62
  }
63
63
  }
64
64
  }
65
- SkeletonLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SkeletonLoaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Directionality }], target: i0.ɵɵFactoryTarget.Component });
66
- SkeletonLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: SkeletonLoaderComponent, selector: "bui-skeleton", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SkeletonLoaderComponent, decorators: [{
65
+ SkeletonLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SkeletonLoaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Directionality }], target: i0.ɵɵFactoryTarget.Component });
66
+ SkeletonLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: SkeletonLoaderComponent, selector: "bui-skeleton", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SkeletonLoaderComponent, decorators: [{
68
68
  type: Component,
69
69
  args: [{ selector: 'bui-skeleton', template: '' }]
70
70
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Directionality }]; } });
@@ -20,10 +20,10 @@ export class SkeletonsModule {
20
20
  };
21
21
  }
22
22
  }
23
- SkeletonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SkeletonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- SkeletonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: SkeletonsModule, declarations: [SkeletonLoaderComponent, SkeletonLoaderPresetsDirective], imports: [CommonModule, ContentLoaderModule, BuiCommonModule], exports: [ContentLoaderModule, BuiCommonModule, SkeletonLoaderComponent, SkeletonLoaderPresetsDirective] });
25
- SkeletonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SkeletonsModule, providers: [provideSkeletonPresets(DEFAULT_PRESETS)], imports: [CommonModule, ContentLoaderModule, BuiCommonModule, ContentLoaderModule, BuiCommonModule] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SkeletonsModule, decorators: [{
23
+ SkeletonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SkeletonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ SkeletonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: SkeletonsModule, declarations: [SkeletonLoaderComponent, SkeletonLoaderPresetsDirective], imports: [CommonModule, ContentLoaderModule, BuiCommonModule], exports: [ContentLoaderModule, BuiCommonModule, SkeletonLoaderComponent, SkeletonLoaderPresetsDirective] });
25
+ SkeletonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SkeletonsModule, providers: [provideSkeletonPresets(DEFAULT_PRESETS)], imports: [CommonModule, ContentLoaderModule, BuiCommonModule, ContentLoaderModule, BuiCommonModule] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: SkeletonsModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  declarations: [SkeletonLoaderComponent, SkeletonLoaderPresetsDirective],
@@ -107,14 +107,18 @@ export class StepperComponent extends CdkStepper {
107
107
  this._stateChanged();
108
108
  }
109
109
  }
110
+ /** @ignore */
111
+ _startStepTransition() {
112
+ setTimeout(() => (this._stepTransitioning = true));
113
+ }
110
114
  }
111
- StepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: StepperComponent, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: STEPPER_GLOBAL_OPTIONS, self: true }, { token: STEPPER_GLOBAL_OPTIONS, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
112
- StepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: StepperComponent, selector: "bui-stepper, [buiStepper]", inputs: { selectedIndex: "selectedIndex", disableRipple: "disableRipple", color: "color", indicatorFormatter: "indicatorFormatter", nextStepLabelPrefix: "nextStepLabelPrefix" }, outputs: { animationDone: "animationDone" }, host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "orientation" }, classAttribute: "bui-stepper bui-host" }, providers: [
115
+ StepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: StepperComponent, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: STEPPER_GLOBAL_OPTIONS, self: true }, { token: STEPPER_GLOBAL_OPTIONS, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
116
+ StepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: StepperComponent, selector: "bui-stepper, [buiStepper]", inputs: { selectedIndex: "selectedIndex", disableRipple: "disableRipple", color: "color", indicatorFormatter: "indicatorFormatter", nextStepLabelPrefix: "nextStepLabelPrefix" }, outputs: { animationDone: "animationDone" }, host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "orientation" }, classAttribute: "bui-stepper bui-host" }, providers: [
113
117
  { provide: MatStepper, useExisting: StepperComponent },
114
118
  { provide: CdkStepper, useExisting: StepperComponent },
115
119
  { provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false } }
116
- ], queries: [{ propertyName: "_steps", predicate: MatStep, descendants: true }, { propertyName: "_icons", predicate: MatStepperIcon, descendants: true }], viewQueries: [{ propertyName: "_editIconTemplate", first: true, predicate: ["editIconTemplate"], descendants: true, static: true }, { propertyName: "_stepHeader", predicate: MatStepHeader, descendants: true }], exportAs: ["buiStepper", "matStepper", "matVerticalStepper", "matHorizontalStepper"], usesInheritance: true, ngImport: i0, template: "<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_stepTransitioning = true\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n", styles: [".bui-stepper:not([hidden]){display:block;box-sizing:border-box}.bui-stepper-wrapper{display:flex;box-sizing:border-box;background-color:var(--bui-bg-card)}.bui-stepper-left-header-container{max-width:30%}.bui-stepper-header-wrapper{position:relative}.bui-stepper-vertical-line:before{content:\"\";position:absolute;left:28px;border-left-width:1px;border-left-style:solid;border-left-color:var(--bui-color-divider);top:44px;bottom:-12px}[dir=rtl] .bui-stepper-vertical-line:before{left:auto;right:0}.bui-stepper-content-header-label{font-size:larger;font-weight:700;margin-bottom:32px}.bui-stepper .bui-stepper-header{display:flex;align-items:center;padding:0 16px;height:56px}.bui-stepper .bui-stepper-header .mat-step-icon{margin-right:16px}[dir=rtl] .bui-stepper .bui-stepper-header .mat-step-icon{margin-right:0;margin-left:16px}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-done{background-color:var(--bui-color-success);color:#fff}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-number{color:var(--bui-bg-card)}.bui-stepper-top-header-container{display:flex;align-items:stretch}.bui-stepper-top-header-container.bui-stepper-header-active{margin-bottom:16px}.bui-progress-spinner-light circle{stroke:var(--bui-color-divider)!important}.bui-stepper-top-header-progress{position:relative;display:flex;justify-content:center;align-items:center;margin-right:16px}[dir=rtl] .bui-stepper-top-header-progress{margin-right:unset;margin-left:16px}.bui-stepper-top-header-progress>.mat-progress-spinner{position:absolute}.bui-stepper-top-header-progress .bui-stepper-top-header-indicator{color:var(--bui-color-muted)}.bui-stepper-top-header-titles-wrapper{display:flex;flex-basis:max-content;flex-direction:column;justify-content:space-evenly;flex-shrink:3}.bui-stepper-top-header-title{font-size:larger}.bui-stepper-top-header-title-next{color:var(--bui-color-muted)}.bui-stepper-content-container{flex:1 1 100%;padding:16px;display:flex;flex-direction:column}.cdk-high-contrast-active .bui-stepper-content-container{outline:solid 1px}.bui-stepper-content-wrapper{flex:1 1 100%}.bui-stepper-content-wrapper-transitioning{overflow:hidden}.bui-stepper-content{outline:0}.bui-stepper-content[aria-expanded=false]{height:0;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatStepHeader, selector: "mat-step-header", inputs: ["color", "state", "label", "errorMessage", "iconOverrides", "index", "selected", "active", "optional", "disableRipple"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.SizingDirective, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: ["buiSizing", "sizingBy", "buiSizingBy", "buiFixedHeight"], outputs: ["buiResized"] }], animations: [animation.stepTransition, animation.leftDrawer, animation.topDrawer], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: StepperComponent, decorators: [{
120
+ ], queries: [{ propertyName: "_steps", predicate: MatStep, descendants: true }, { propertyName: "_icons", predicate: MatStepperIcon, descendants: true }], viewQueries: [{ propertyName: "_editIconTemplate", first: true, predicate: ["editIconTemplate"], descendants: true, static: true }, { propertyName: "_stepHeader", predicate: MatStepHeader, descendants: true }], exportAs: ["buiStepper", "matStepper", "matVerticalStepper", "matHorizontalStepper"], usesInheritance: true, ngImport: i0, template: "<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_startStepTransition()\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n", styles: [".bui-stepper:not([hidden]){display:block;box-sizing:border-box}.bui-stepper-wrapper{display:flex;box-sizing:border-box;background-color:var(--bui-bg-card)}.bui-stepper-left-header-container{max-width:30%}.bui-stepper-header-wrapper{position:relative}.bui-stepper-vertical-line:before{content:\"\";position:absolute;left:28px;border-left-width:1px;border-left-style:solid;border-left-color:var(--bui-color-divider);top:44px;bottom:-12px}[dir=rtl] .bui-stepper-vertical-line:before{left:auto;right:0}.bui-stepper-content-header-label{font-size:larger;font-weight:700;margin-bottom:32px}.bui-stepper .bui-stepper-header{display:flex;align-items:center;padding:0 16px;height:56px}.bui-stepper .bui-stepper-header .mat-step-icon{margin-right:16px}[dir=rtl] .bui-stepper .bui-stepper-header .mat-step-icon{margin-right:0;margin-left:16px}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-done{background-color:var(--bui-color-success);color:#fff}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-number{color:var(--bui-bg-card)}.bui-stepper-top-header-container{display:flex;align-items:stretch}.bui-stepper-top-header-container.bui-stepper-header-active{margin-bottom:16px}.bui-progress-spinner-light circle{stroke:var(--bui-color-divider)!important}.bui-stepper-top-header-progress{position:relative;display:flex;justify-content:center;align-items:center;margin-right:16px}[dir=rtl] .bui-stepper-top-header-progress{margin-right:unset;margin-left:16px}.bui-stepper-top-header-progress>.mat-mdc-progress-spinner{position:absolute}.bui-stepper-top-header-progress .bui-stepper-top-header-indicator{color:var(--bui-color-muted)}.bui-stepper-top-header-titles-wrapper{display:flex;flex-basis:max-content;flex-direction:column;justify-content:space-evenly;flex-shrink:3}.bui-stepper-top-header-title{font-size:larger}.bui-stepper-top-header-title-next{color:var(--bui-color-muted)}.bui-stepper-content-container{flex:1 1 100%;padding:16px;display:flex;flex-direction:column}.bui-stepper-content-wrapper{flex:1 1 100%}.bui-stepper-content-wrapper-transitioning{overflow:hidden}.bui-stepper-content{outline:0}.bui-stepper-content[aria-expanded=false]{height:0;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatStepHeader, selector: "mat-step-header", inputs: ["color", "state", "label", "errorMessage", "iconOverrides", "index", "selected", "active", "optional", "disableRipple"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.SizingDirective, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: ["buiSizing", "sizingBy", "buiSizingBy", "buiFixedHeight"], outputs: ["buiResized"] }], animations: [animation.stepTransition, animation.leftDrawer, animation.topDrawer], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: StepperComponent, decorators: [{
118
122
  type: Component,
119
123
  args: [{ selector: 'bui-stepper, [buiStepper]', exportAs: 'buiStepper, matStepper, matVerticalStepper, matHorizontalStepper', inputs: ['selectedIndex'], host: {
120
124
  class: 'bui-stepper bui-host',
@@ -124,7 +128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
124
128
  { provide: MatStepper, useExisting: StepperComponent },
125
129
  { provide: CdkStepper, useExisting: StepperComponent },
126
130
  { provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false } }
127
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_stepTransitioning = true\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n", styles: [".bui-stepper:not([hidden]){display:block;box-sizing:border-box}.bui-stepper-wrapper{display:flex;box-sizing:border-box;background-color:var(--bui-bg-card)}.bui-stepper-left-header-container{max-width:30%}.bui-stepper-header-wrapper{position:relative}.bui-stepper-vertical-line:before{content:\"\";position:absolute;left:28px;border-left-width:1px;border-left-style:solid;border-left-color:var(--bui-color-divider);top:44px;bottom:-12px}[dir=rtl] .bui-stepper-vertical-line:before{left:auto;right:0}.bui-stepper-content-header-label{font-size:larger;font-weight:700;margin-bottom:32px}.bui-stepper .bui-stepper-header{display:flex;align-items:center;padding:0 16px;height:56px}.bui-stepper .bui-stepper-header .mat-step-icon{margin-right:16px}[dir=rtl] .bui-stepper .bui-stepper-header .mat-step-icon{margin-right:0;margin-left:16px}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-done{background-color:var(--bui-color-success);color:#fff}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-number{color:var(--bui-bg-card)}.bui-stepper-top-header-container{display:flex;align-items:stretch}.bui-stepper-top-header-container.bui-stepper-header-active{margin-bottom:16px}.bui-progress-spinner-light circle{stroke:var(--bui-color-divider)!important}.bui-stepper-top-header-progress{position:relative;display:flex;justify-content:center;align-items:center;margin-right:16px}[dir=rtl] .bui-stepper-top-header-progress{margin-right:unset;margin-left:16px}.bui-stepper-top-header-progress>.mat-progress-spinner{position:absolute}.bui-stepper-top-header-progress .bui-stepper-top-header-indicator{color:var(--bui-color-muted)}.bui-stepper-top-header-titles-wrapper{display:flex;flex-basis:max-content;flex-direction:column;justify-content:space-evenly;flex-shrink:3}.bui-stepper-top-header-title{font-size:larger}.bui-stepper-top-header-title-next{color:var(--bui-color-muted)}.bui-stepper-content-container{flex:1 1 100%;padding:16px;display:flex;flex-direction:column}.cdk-high-contrast-active .bui-stepper-content-container{outline:solid 1px}.bui-stepper-content-wrapper{flex:1 1 100%}.bui-stepper-content-wrapper-transitioning{overflow:hidden}.bui-stepper-content{outline:0}.bui-stepper-content[aria-expanded=false]{height:0;overflow:hidden}\n"] }]
131
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_startStepTransition()\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n", styles: [".bui-stepper:not([hidden]){display:block;box-sizing:border-box}.bui-stepper-wrapper{display:flex;box-sizing:border-box;background-color:var(--bui-bg-card)}.bui-stepper-left-header-container{max-width:30%}.bui-stepper-header-wrapper{position:relative}.bui-stepper-vertical-line:before{content:\"\";position:absolute;left:28px;border-left-width:1px;border-left-style:solid;border-left-color:var(--bui-color-divider);top:44px;bottom:-12px}[dir=rtl] .bui-stepper-vertical-line:before{left:auto;right:0}.bui-stepper-content-header-label{font-size:larger;font-weight:700;margin-bottom:32px}.bui-stepper .bui-stepper-header{display:flex;align-items:center;padding:0 16px;height:56px}.bui-stepper .bui-stepper-header .mat-step-icon{margin-right:16px}[dir=rtl] .bui-stepper .bui-stepper-header .mat-step-icon{margin-right:0;margin-left:16px}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-done{background-color:var(--bui-color-success);color:#fff}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-number{color:var(--bui-bg-card)}.bui-stepper-top-header-container{display:flex;align-items:stretch}.bui-stepper-top-header-container.bui-stepper-header-active{margin-bottom:16px}.bui-progress-spinner-light circle{stroke:var(--bui-color-divider)!important}.bui-stepper-top-header-progress{position:relative;display:flex;justify-content:center;align-items:center;margin-right:16px}[dir=rtl] .bui-stepper-top-header-progress{margin-right:unset;margin-left:16px}.bui-stepper-top-header-progress>.mat-mdc-progress-spinner{position:absolute}.bui-stepper-top-header-progress .bui-stepper-top-header-indicator{color:var(--bui-color-muted)}.bui-stepper-top-header-titles-wrapper{display:flex;flex-basis:max-content;flex-direction:column;justify-content:space-evenly;flex-shrink:3}.bui-stepper-top-header-title{font-size:larger}.bui-stepper-top-header-title-next{color:var(--bui-color-muted)}.bui-stepper-content-container{flex:1 1 100%;padding:16px;display:flex;flex-direction:column}.bui-stepper-content-wrapper{flex:1 1 100%}.bui-stepper-content-wrapper-transitioning{overflow:hidden}.bui-stepper-content{outline:0}.bui-stepper-content[aria-expanded=false]{height:0;overflow:hidden}\n"] }]
128
132
  }], ctorParameters: function () { return [{ type: i1.Directionality, decorators: [{
129
133
  type: Optional
130
134
  }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{
@@ -165,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
165
169
  type: ViewChild,
166
170
  args: ['editIconTemplate', { static: true }]
167
171
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQTRDLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFFTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEVBQ0osUUFBUSxFQUVSLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQXlCLE1BQU0sMkJBQTJCLENBQUM7QUFDdEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sU0FBUyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBRTVDLGNBQWM7QUFDZCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUM7QUFFdkI7Ozs7Ozs7R0FPRztBQXFCSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQThEL0MsWUFDYSxHQUFtQixFQUMvQixpQkFBb0MsRUFDNUIsU0FBa0MsRUFDeEIsU0FBYyxFQUNRLGNBQThCLEVBQ2QscUJBQXNDO1FBRTlGLEtBQUssQ0FBQyxHQUFHLEVBQUUsaUJBQWlC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Z0JBTVMsTUFBTTtzQkFBN0QsZUFBZTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUduQyxhQUFhO3NCQUEvQixNQUFNO2dCQUdFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBOEJFLGlCQUFpQjtzQkFEeEIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtTdGVwcGVyLCBTdGVwQ29udGVudFBvc2l0aW9uU3RhdGUsIFN0ZXBwZXJPcHRpb25zLCBTVEVQUEVSX0dMT0JBTF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3N0ZXBwZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0QWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdENvbnRlbnRDaGlsZHJlbixcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRJbmplY3QsXG5cdElucHV0LFxuXHRPcHRpb25hbCxcblx0T3V0cHV0LFxuXHRRdWVyeUxpc3QsXG5cdFNlbGYsXG5cdFNraXBTZWxmLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q2hpbGRyZW4sXG5cdFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRTdGVwLCBNYXRTdGVwSGVhZGVyLCBNYXRTdGVwcGVyLCBNYXRTdGVwcGVySWNvbiwgTWF0U3RlcHBlckljb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgYW5pbWF0aW9uIGZyb20gJy4vc3RlcHBlci1hbmltYXRpb24nO1xuXG4vKiogQGlnbm9yZSAqL1xuY29uc3QgQlJFQUtQT0lOVCA9IDc2ODtcblxuLyoqXG4gKiBbQW5ndWxhciBNYXRlcmlhbCdzIHN0ZXBwZXJdKGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jb21wb25lbnRzL3N0ZXBwZXIvb3ZlcnZpZXcpIHByb3ZpZGVzIGEgd2l6YXJkLWxpa2Ugd29ya2Zsb3cgYnkgZGl2aWRpbmdcbiAqIGNvbnRlbnQgaW50byBsb2dpY2FsIHN0ZXBzLlxuICpcbiAqIFRoaXMgc3RlcHBlciBleHRlbmRzIEFuZ3VsYXIncyB0byBjdXN0b21pc2UgdGhlIHByZXNlbnRhdGlvbiBvZiBpdHMgaGVhZGVycyB0byBhY2hpZXZlIGEgYmV0dGVyIHVzZXIgZXhwZXJpZW5jZSBpbiBib3RoIG1vYmlsZSBhbmRcbiAqIGRlc2t0b3AgYnJvd3NlcnMuXG4gKlxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdidWktc3RlcHBlciwgW2J1aVN0ZXBwZXJdJyxcblx0ZXhwb3J0QXM6ICdidWlTdGVwcGVyLCBtYXRTdGVwcGVyLCBtYXRWZXJ0aWNhbFN0ZXBwZXIsIG1hdEhvcml6b250YWxTdGVwcGVyJyxcblx0dGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG5cdGlucHV0czogWydzZWxlY3RlZEluZGV4J10sXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ2J1aS1zdGVwcGVyIGJ1aS1ob3N0Jyxcblx0XHQnW2F0dHIuYXJpYS1vcmllbnRhdGlvbl0nOiAnb3JpZW50YXRpb24nLFxuXHRcdHJvbGU6ICd0YWJsaXN0J1xuXHR9LFxuXHRhbmltYXRpb25zOiBbYW5pbWF0aW9uLnN0ZXBUcmFuc2l0aW9uLCBhbmltYXRpb24ubGVmdERyYXdlciwgYW5pbWF0aW9uLnRvcERyYXdlcl0sXG5cdHByb3ZpZGVyczogW1xuXHRcdHsgcHJvdmlkZTogTWF0U3RlcHBlciwgdXNlRXhpc3Rpbmc6IFN0ZXBwZXJDb21wb25lbnQgfSxcblx0XHR7IHByb3ZpZGU6IENka1N0ZXBwZXIsIHVzZUV4aXN0aW5nOiBTdGVwcGVyQ29tcG9uZW50IH0sXG5cdFx0eyBwcm92aWRlOiBTVEVQUEVSX0dMT0JBTF9PUFRJT05TLCB1c2VWYWx1ZTogeyBkaXNwbGF5RGVmYXVsdEluZGljYXRvclR5cGU6IGZhbHNlIH0gfVxuXHRdLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IGV4dGVuZHMgQ2RrU3RlcHBlciBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuXHQvKiogQGlnbm9yZSBUaGUgbGlzdCBvZiBzdGVwIGhlYWRlcnMgb2YgdGhlIHN0ZXBzIGluIHRoZSBzdGVwcGVyLiAqL1xuXHRAVmlld0NoaWxkcmVuKE1hdFN0ZXBIZWFkZXIpIG92ZXJyaWRlIF9zdGVwSGVhZGVyITogUXVlcnlMaXN0PE1hdFN0ZXBIZWFkZXI+O1xuXG5cdC8qKiBAaWdub3JlIEZ1bGwgbGlzdCBvZiBzdGVwcyBpbnNpZGUgdGhlIHN0ZXBwZXIsIGluY2x1ZGluZyBpbnNpZGUgbmVzdGVkIHN0ZXBwZXJzLiAqL1xuXHRAQ29udGVudENoaWxkcmVuKE1hdFN0ZXAsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgb3ZlcnJpZGUgX3N0ZXBzITogUXVlcnlMaXN0PE1hdFN0ZXA+O1xuXG5cdC8qKiBAaWdub3JlIFN0ZXBzIHRoYXQgYmVsb25nIHRvIHRoZSBjdXJyZW50IHN0ZXBwZXIsIGV4Y2x1ZGluZyBvbmVzIGZyb20gbmVzdGVkIHN0ZXBwZXJzLiAqL1xuXHRvdmVycmlkZSByZWFkb25seSBzdGVwczogUXVlcnlMaXN0PE1hdFN0ZXA+ID0gbmV3IFF1ZXJ5TGlzdDxNYXRTdGVwPigpO1xuXG5cdC8qKiBAaWdub3JlIEN1c3RvbSBpY29uIG92ZXJyaWRlcyBwYXNzZWQgaW4gYnkgdGhlIGNvbnN1bWVyLiAqL1xuXHRAQ29udGVudENoaWxkcmVuKE1hdFN0ZXBwZXJJY29uLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIF9pY29ucyE6IFF1ZXJ5TGlzdDxNYXRTdGVwcGVySWNvbj47XG5cblx0LyoqIEBpZ25vcmUgRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjdXJyZW50IHN0ZXAgaXMgZG9uZSB0cmFuc2l0aW9uaW5nIGluLiAqL1xuXHRAT3V0cHV0KCkgcmVhZG9ubHkgYW5pbWF0aW9uRG9uZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdC8qKiBXaGV0aGVyIHJpcHBsZXMgc2hvdWxkIGJlIGRpc2FibGVkIGZvciB0aGUgc3RlcCBoZWFkZXJzLiAqL1xuXHRASW5wdXQoKSBkaXNhYmxlUmlwcGxlPzogYm9vbGVhbjtcblxuXHQvKiogVGhlbWUgY29sb3IgZm9yIGFsbCBvZiB0aGUgc3RlcHMgaW4gc3RlcHBlci4gKi9cblx0QElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuXHQvKipcblx0ICogQSBmdW5jdGlvbiB0aGF0IGNvbnN0cnVjdHMgdGhlIHRleHQgaW4gdGhlIHByb2dyZXNzIGN5Y2xlIGZvciB0aGUgJ25hcnJvdycgdmlldy5cblx0ICpcblx0ICogRGVmYXVsdCB2YWx1ZTogYCd7c2VsZWN0ZWQgc3RlcH0gb2Yge3RvdGFsIG51bWJlciBvZiBzdGVwc30nYFxuXHQgKi9cblx0QElucHV0KCkgaW5kaWNhdG9yRm9ybWF0dGVyOiAoaW5kZXg6IG51bWJlciwgdG90YWw6IG51bWJlcikgPT4gc3RyaW5nO1xuXG5cdC8qKiBUaGUgdGV4dCB0aGF0IHByZWNlZGVzIHRoZSBuYW1lIG9mIHRoZSBuZXh0IHN0ZXAgbGFiZWwsIHVzZWQgaW4gdGhlICduYXJyb3cnIHZpZXcuICAgKi9cblx0QElucHV0KCkgbmV4dFN0ZXBMYWJlbFByZWZpeCA9ICdOZXh0OiAnO1xuXG5cdC8qKiBAaWdub3JlIENvbnN1bWVyLXNwZWNpZmllZCB0ZW1wbGF0ZS1yZWZzIHRvIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGhlYWRlciBpY29ucy4gKi9cblx0X2ljb25PdmVycmlkZXM6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPE1hdFN0ZXBwZXJJY29uQ29udGV4dD4+ID0ge307XG5cblx0LyoqIEBpZ25vcmUgU3RyZWFtIG9mIGFuaW1hdGlvbiBgZG9uZWAgZXZlbnRzIHdoZW4gdGhlIGJvZHkgZXhwYW5kcy9jb2xsYXBzZXMuICovXG5cdHJlYWRvbmx5IF9hbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cblx0LyoqIEBpZ25vcmUgV2hldGhlciB0aGUgc3RlcHBlciBpcyBpbiBhIG5hcnJvdyBjb250YWluZXIgKi9cblx0X25hcnJvdyA9IGZhbHNlO1xuXG5cdC8qKiBAaWdub3JlIEVtaXRzIHdoZW5ldmVyIHRoZSBkcmF3ZXIgaGFzIHN0YXJ0ZWQgYW5pbWF0aW5nLiAqL1xuXHRyZWFkb25seSBfbGVmdERyYXdlclN0YXJ0ZWQgPSBuZXcgU3ViamVjdDxBbmltYXRpb25FdmVudD4oKTtcblx0LyoqIEBpZ25vcmUgRW1pdHMgd2hlbmV2ZXIgdGhlIGRyYXdlciBpcyBkb25lIGFuaW1hdGluZy4gKi9cblx0cmVhZG9ubHkgX2xlZnREcmF3ZXJFbmRlZCA9IG5ldyBTdWJqZWN0PEFuaW1hdGlvbkV2ZW50PigpO1xuXHQvKiogQGlnbm9yZSBDdXJyZW50IHN0YXRlIG9mIHRoZSBzaWRlbmF2IGFuaW1hdGlvbi4gKi9cblx0X2xlZnREcmF3ZXJTdGF0ZTogJ29wZW4taW5zdGFudCcgfCAnb3BlbicgfCAndm9pZCcgPSAnb3Blbi1pbnN0YW50JztcblxuXHQvKiogQGlnbm9yZSBFbWl0cyB3aGVuZXZlciB0aGUgZHJhd2VyIGhhcyBzdGFydGVkIGFuaW1hdGluZy4gKi9cblx0cmVhZG9ubHkgX3RvcERyYXdlclN0YXJ0ZWQgPSBuZXcgU3ViamVjdDxBbmltYXRpb25FdmVudD4oKTtcblx0LyoqIEBpZ25vcmUgRW1pdHMgd2hlbmV2ZXIgdGhlIGRyYXdlciBpcyBkb25lIGFuaW1hdGluZy4gKi9cblx0cmVhZG9ubHkgX3RvcERyYXdlckVuZGVkID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cdC8qKiBAaWdub3JlIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHNpZGVuYXYgYW5pbWF0aW9uLiAqL1xuXHRfdG9wRHJhd2VyU3RhdGU6ICdvcGVuLWluc3RhbnQnIHwgJ29wZW4nIHwgJ3ZvaWQnID0gJ3ZvaWQnO1xuXG5cdC8qKiBAaWdub3JlICovIHJlYWRvbmx5IF9wcm9ncmVzc0NpcmNsZVNpemUgPSA4MDtcblx0LyoqIEBpZ25vcmUgKi8gcmVhZG9ubHkgX3Byb2dyZXNzQ2lyY2xlV2lkdGggPSA1O1xuXHQvKiogQGlnbm9yZSAqLyBfc3RlcFRyYW5zaXRpb25pbmcgPSBmYWxzZTtcblxuXHRAVmlld0NoaWxkKCdlZGl0SWNvblRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcblx0cHJpdmF0ZSBfZWRpdEljb25UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0QE9wdGlvbmFsKCkgZGlyOiBEaXJlY3Rpb25hbGl0eSxcblx0XHRjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSBfYnVpRWxSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogYW55LFxuXHRcdEBTZWxmKCkgQEluamVjdChTVEVQUEVSX0dMT0JBTF9PUFRJT05TKSBzdGVwcGVyT3B0aW9uczogU3RlcHBlck9wdGlvbnMsXG5cdFx0QE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEluamVjdChTVEVQUEVSX0dMT0JBTF9PUFRJT05TKSBkZWZhdWx0U3RlcHBlck9wdGlvbnM/OiBTdGVwcGVyT3B0aW9uc1xuXHQpIHtcblx0XHRzdXBlcihkaXIsIGNoYW5nZURldGVjdG9yUmVmLCBfYnVpRWxSZWYpO1xuXHRcdHRoaXMub3JpZW50YXRpb24gPSAndmVydGljYWwnO1xuXHRcdHRoaXMuaW5kaWNhdG9yRm9ybWF0dGVyID0gKGluZGV4LCB0b3RhbCkgPT4gYCR7aW5kZXh9IG9mICR7dG90YWx9YDtcblx0XHRPYmplY3Qua2V5cyhkZWZhdWx0U3RlcHBlck9wdGlvbnMgfHwge30pXG5cdFx0XHQuZmlsdGVyKGsgPT4gayAhPT0gJ2Rpc3BsYXlEZWZhdWx0SW5kaWNhdG9yVHlwZScpXG5cdFx0XHQuZm9yRWFjaCgoKGs6IGtleW9mIFN0ZXBwZXJPcHRpb25zKSA9PiAoc3RlcHBlck9wdGlvbnNba10gPSBkZWZhdWx0U3RlcHBlck9wdGlvbnMhW2tdKSkgYXMgYW55KTtcblx0fVxuXG5cdG92ZXJyaWRlIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcblx0XHRzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblx0XHR0aGlzLl9pY29ucy5mb3JFYWNoKCh7IG5hbWUsIHRlbXBsYXRlUmVmIH0pID0+ICh0aGlzLl9pY29uT3ZlcnJpZGVzW25hbWVdID0gdGVtcGxhdGVSZWYpKTtcblxuXHRcdC8vIE1hcmsgdGhlIGNvbXBvbmVudCBmb3IgY2hhbmdlIGRldGVjdGlvbiB3aGVuZXZlciB0aGUgY29udGVudCBjaGlsZHJlbiBxdWVyeSBjaGFuZ2VzXG5cdFx0dGhpcy5zdGVwcy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHR0aGlzLl9zdGF0ZUNoYW5nZWQoKTtcblx0XHR9KTtcblxuXHRcdHRoaXMuX2FuaW1hdGlvbkRvbmVcblx0XHRcdC5waXBlKFxuXHRcdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgoeCwgeSkgPT4geC5mcm9tU3RhdGUgPT09IHkuZnJvbVN0YXRlICYmIHgudG9TdGF0ZSA9PT0geS50b1N0YXRlKSxcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZClcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuXHRcdFx0XHRpZiAoKGV2ZW50LnRvU3RhdGUgYXMgU3RlcENvbnRlbnRQb3NpdGlvblN0YXRlKSA9PT0gJ2N1cnJlbnQnKSB7XG5cdFx0XHRcdFx0dGhpcy5hbmltYXRpb25Eb25lLmVtaXQoKTtcblx0XHRcdFx0XHR0aGlzLl9zdGVwVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdHRoaXMuX2xlZnREcmF3ZXJFbmRlZFxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4LCB5KSA9PiB4LmZyb21TdGF0ZSA9PT0geS5mcm9tU3RhdGUgJiYgeC50b1N0YXRlID09PSB5LnRvU3RhdGUpLFxuXHRcdFx0XHRmaWx0ZXIoZXYgPT4gZXYudG9TdGF0ZSA9PT0gJ3ZvaWQnICYmIGV2LnRvU3RhdGUgIT09IGV2LmZyb21TdGF0ZSksXG5cdFx0XHRcdHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0dGhpcy5fdG9wRHJhd2VyU3RhdGUgPSAnb3Blbic7XG5cdFx0XHR9KTtcblxuXHRcdHRoaXMuX3RvcERyYXdlckVuZGVkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKHgsIHkpID0+IHguZnJvbVN0YXRlID09PSB5LmZyb21TdGF0ZSAmJiB4LnRvU3RhdGUgPT09IHkudG9TdGF0ZSksXG5cdFx0XHRcdGZpbHRlcihldiA9PiBldi50b1N0YXRlID09PSAndm9pZCcgJiYgZXYudG9TdGF0ZSAhPT0gZXYuZnJvbVN0YXRlKSxcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZClcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLl9sZWZ0RHJhd2VyU3RhdGUgPSAnb3Blbic7XG5cdFx0XHR9KTtcblx0XHR0aGlzLl9pY29uT3ZlcnJpZGVzLmVkaXQgPSB0aGlzLl9pY29uT3ZlcnJpZGVzLmVkaXQgfHwgdGhpcy5fZWRpdEljb25UZW1wbGF0ZTtcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF9zdGVwSXNOYXZpZ2FibGUoaW5kZXg6IG51bWJlciwgc3RlcDogTWF0U3RlcCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBzdGVwLmNvbXBsZXRlZCB8fCB0aGlzLnNlbGVjdGVkSW5kZXggPT09IGluZGV4IHx8ICF0aGlzLmxpbmVhcjtcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF93aWR0aENoYW5nZWQodzogbnVtYmVyKSB7XG5cdFx0Y29uc3QgbmFycm93ID0gTWF0aC5hYnModyAtIEJSRUFLUE9JTlQpIDwgMjAgPyB0aGlzLl9uYXJyb3cgOiB3IDwgQlJFQUtQT0lOVDtcblx0XHRjb25zdCBjbHMgPSAnYnVpLXN0ZXBwZXItbmFycm93Jztcblx0XHRjb25zdCBjbGFzc0xpc3QgPSB0aGlzLl9idWlFbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcblx0XHRpZiAobmFycm93KSB7XG5cdFx0XHR0aGlzLl9sZWZ0RHJhd2VyU3RhdGUgPSAndm9pZCc7XG5cdFx0XHRjbGFzc0xpc3QuYWRkKGNscyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX3RvcERyYXdlclN0YXRlID0gJ3ZvaWQnO1xuXHRcdFx0Y2xhc3NMaXN0LnJlbW92ZShjbHMpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5fbmFycm93ICE9PSBuYXJyb3cpIHtcblx0XHRcdHRoaXMuX25hcnJvdyA9IG5hcnJvdztcblx0XHRcdHRoaXMuX3N0YXRlQ2hhbmdlZCgpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cImJ1aS1zdGVwcGVyLXdyYXBwZXJcIiBbc3R5bGUuZGlzcGxheV09XCJfbGVmdERyYXdlclN0YXRlLnN0YXJ0c1dpdGgoJ29wZW4nKSA/ICdmbGV4JyA6ICdibG9jaydcIiAjc2l6ZU1vbml0b3I+XG5cdDxkaXZcblx0XHRjbGFzcz1cImJ1aS1zdGVwcGVyLWxlZnQtaGVhZGVyLWNvbnRhaW5lclwiXG5cdFx0W0BsZWZ0RHJhd2VyXT1cIl9sZWZ0RHJhd2VyU3RhdGVcIlxuXHRcdChAbGVmdERyYXdlci5zdGFydCk9XCJfbGVmdERyYXdlclN0YXJ0ZWQubmV4dCgkZXZlbnQpXCJcblx0XHQoQGxlZnREcmF3ZXIuZG9uZSk9XCJfbGVmdERyYXdlckVuZGVkLm5leHQoJGV2ZW50KVwiXG5cdD5cblx0XHQ8ZGl2XG5cdFx0XHQqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleDsgbGV0IGlzTGFzdCA9IGxhc3RcIlxuXHRcdFx0Y2xhc3M9XCJidWktc3RlcHBlci1oZWFkZXItd3JhcHBlclwiXG5cdFx0XHRbY2xhc3MuYnVpLXN0ZXBwZXItdmVydGljYWwtbGluZV09XCIhaXNMYXN0XCJcblx0XHQ+XG5cdFx0XHQ8bWF0LXN0ZXAtaGVhZGVyXG5cdFx0XHRcdGNsYXNzPVwiYnVpLXN0ZXBwZXItaGVhZGVyXCJcblx0XHRcdFx0KGNsaWNrKT1cInN0ZXAuc2VsZWN0KClcIlxuXHRcdFx0XHQoa2V5ZG93bik9XCJfb25LZXlkb3duKCRldmVudClcIlxuXHRcdFx0XHRbdGFiSW5kZXhdPVwiX2dldEZvY3VzSW5kZXgoKSA9PT0gaSA/IDAgOiAtMVwiXG5cdFx0XHRcdFtpZF09XCJfZ2V0U3RlcExhYmVsSWQoaSlcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcblx0XHRcdFx0W2F0dHIuYXJpYS1zZXRzaXplXT1cInN0ZXBzLmxlbmd0aFwiXG5cdFx0XHRcdFthdHRyLmFyaWEtY29udHJvbHNdPVwiX2dldFN0ZXBDb250ZW50SWQoaSlcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInNlbGVjdGVkSW5kZXggPT0gaVwiXG5cdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwic3RlcC5hcmlhTGFiZWwgfHwgbnVsbFwiXG5cdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIhc3RlcC5hcmlhTGFiZWwgJiYgc3RlcC5hcmlhTGFiZWxsZWRieSA/IHN0ZXAuYXJpYUxhYmVsbGVkYnkgOiBudWxsXCJcblx0XHRcdFx0W2F0dHIuYXJpYS1kaXNhYmxlZF09XCJfc3RlcElzTmF2aWdhYmxlKGksIHN0ZXApID8gbnVsbCA6IHRydWVcIlxuXHRcdFx0XHRbaW5kZXhdPVwiaVwiXG5cdFx0XHRcdFtzdGF0ZV09XCJfZ2V0SW5kaWNhdG9yVHlwZShpLCBzdGVwLnN0YXRlKVwiXG5cdFx0XHRcdFtsYWJlbF09XCJzdGVwLnN0ZXBMYWJlbCB8fCBzdGVwLmxhYmVsXCJcblx0XHRcdFx0W3NlbGVjdGVkXT1cInNlbGVjdGVkSW5kZXggPT09IGlcIlxuXHRcdFx0XHRbYWN0aXZlXT1cIl9zdGVwSXNOYXZpZ2FibGUoaSwgc3RlcClcIlxuXHRcdFx0XHRbb3B0aW9uYWxdPVwic3RlcC5vcHRpb25hbFwiXG5cdFx0XHRcdFtlcnJvck1lc3NhZ2VdPVwic3RlcC5lcnJvck1lc3NhZ2VcIlxuXHRcdFx0XHRbaWNvbk92ZXJyaWRlc109XCJfaWNvbk92ZXJyaWRlc1wiXG5cdFx0XHRcdFtkaXNhYmxlUmlwcGxlXT1cImRpc2FibGVSaXBwbGUgfHwgIV9zdGVwSXNOYXZpZ2FibGUoaSwgc3RlcClcIlxuXHRcdFx0XHRbY29sb3JdPVwic3RlcC5jb2xvciB8fCBjb2xvclwiXG5cdFx0XHQ+PC9tYXQtc3RlcC1oZWFkZXI+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuXG5cdDxkaXYgY2xhc3M9XCJidWktc3RlcHBlci1jb250ZW50LWNvbnRhaW5lclwiIFtidWlTaXppbmdCeV09XCJzaXplTW9uaXRvclwiIChidWlSZXNpemVkKT1cIl93aWR0aENoYW5nZWQoJGV2ZW50LndpZHRoKVwiPlxuXHRcdDxkaXZcblx0XHRcdGNsYXNzPVwiYnVpLXN0ZXBwZXItdG9wLWhlYWRlci1jb250YWluZXJcIlxuXHRcdFx0W2NsYXNzLmJ1aS1zdGVwcGVyLWhlYWRlci1hY3RpdmVdPVwiX2xlZnREcmF3ZXJTdGF0ZSA9PT0gJ3ZvaWQnXCJcblx0XHRcdFtAdG9wRHJhd2VyXT1cIl90b3BEcmF3ZXJTdGF0ZVwiXG5cdFx0XHQoQHRvcERyYXdlci5zdGFydCk9XCJfdG9wRHJhd2VyU3RhcnRlZC5uZXh0KCRldmVudClcIlxuXHRcdFx0KEB0b3BEcmF3ZXIuZG9uZSk9XCJfdG9wRHJhd2VyRW5kZWQubmV4dCgkZXZlbnQpXCJcblx0XHQ+XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdGNsYXNzPVwiYnVpLXN0ZXBwZXItdG9wLWhlYWRlci1wcm9ncmVzc1wiXG5cdFx0XHRcdFtzdHlsZV09XCInaGVpZ2h0OicgKyBfcHJvZ3Jlc3NDaXJjbGVTaXplICsgJ3B4OyB3aWR0aDonICsgX3Byb2dyZXNzQ2lyY2xlU2l6ZSArICdweCdcIlxuXHRcdFx0PlxuXHRcdFx0XHQ8bWF0LXByb2dyZXNzLXNwaW5uZXJcblx0XHRcdFx0XHRjbGFzcz1cImJ1aS1wcm9ncmVzcy1zcGlubmVyLWxpZ2h0XCJcblx0XHRcdFx0XHRbdmFsdWVdPVwiMTAwXCJcblx0XHRcdFx0XHRbZGlhbWV0ZXJdPVwiX3Byb2dyZXNzQ2lyY2xlU2l6ZVwiXG5cdFx0XHRcdFx0W3N0cm9rZVdpZHRoXT1cIl9wcm9ncmVzc0NpcmNsZVdpZHRoXCJcblx0XHRcdFx0PjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG5cdFx0XHRcdDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuXHRcdFx0XHRcdFtjb2xvcl09XCJjb2xvclwiXG5cdFx0XHRcdFx0W3ZhbHVlXT1cIigoc2VsZWN0ZWRJbmRleCArIDEpICogMTAwKSAvIHN0ZXBzLmxlbmd0aFwiXG5cdFx0XHRcdFx0W2RpYW1ldGVyXT1cIl9wcm9ncmVzc0NpcmNsZVNpemVcIlxuXHRcdFx0XHRcdFtzdHJva2VXaWR0aF09XCJfcHJvZ3Jlc3NDaXJjbGVXaWR0aFwiXG5cdFx0XHRcdD48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cImJ1aS1zdGVwcGVyLXRvcC1oZWFkZXItaW5kaWNhdG9yXCI+XG5cdFx0XHRcdFx0e3sgaW5kaWNhdG9yRm9ybWF0dGVyKHNlbGVjdGVkSW5kZXggKyAxLCBzdGVwcy5sZW5ndGgpIH19XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cImJ1aS1zdGVwcGVyLXRvcC1oZWFkZXItdGl0bGVzLXdyYXBwZXJcIiAqbmdJZj1cInNlbGVjdGVkXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJidWktc3RlcHBlci10b3AtaGVhZGVyLXRpdGxlXCI+XG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFRlbXBsYXRlXCJcblx0XHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogc2VsZWN0ZWQgfVwiXG5cdFx0XHRcdFx0PjwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnVpLXN0ZXBwZXItdG9wLWhlYWRlci10aXRsZS1uZXh0XCIgKm5nSWY9XCJzZWxlY3RlZEluZGV4IDwgc3RlcHMubGVuZ3RoIC0gMVwiPlxuXHRcdFx0XHRcdHt7IG5leHRTdGVwTGFiZWxQcmVmaXggfX1cblx0XHRcdFx0XHQ8bmctdGVtcGxhdGVcblx0XHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIlxuXHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBzdGVwcy5nZXQoc2VsZWN0ZWRJbmRleCArIDEpIH1cIlxuXHRcdFx0XHRcdD48L25nLXRlbXBsYXRlPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJidWktc3RlcHBlci1jb250ZW50LXdyYXBwZXJcIiBbY2xhc3MuYnVpLXN0ZXBwZXItY29udGVudC13cmFwcGVyLXRyYW5zaXRpb25pbmddPVwiX3N0ZXBUcmFuc2l0aW9uaW5nXCI+XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzOyBsZXQgaSA9IGluZGV4XCJcblx0XHRcdFx0Y2xhc3M9XCJidWktc3RlcHBlci1jb250ZW50XCJcblx0XHRcdFx0cm9sZT1cInRhYnBhbmVsXCJcblx0XHRcdFx0W0BzdGVwVHJhbnNpdGlvbl09XCJfZ2V0QW5pbWF0aW9uRGlyZWN0aW9uKGkpXCJcblx0XHRcdFx0KEBzdGVwVHJhbnNpdGlvbi5zdGFydCk9XCJfc3RlcFRyYW5zaXRpb25pbmcgPSB0cnVlXCJcblx0XHRcdFx0KEBzdGVwVHJhbnNpdGlvbi5kb25lKT1cIl9hbmltYXRpb25Eb25lLm5leHQoJGV2ZW50KVwiXG5cdFx0XHRcdFtpZF09XCJfZ2V0U3RlcENvbnRlbnRJZChpKVwiXG5cdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJfZ2V0U3RlcExhYmVsSWQoaSlcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNlbGVjdGVkSW5kZXggPT09IGlcIlxuXHRcdFx0PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnVpLXN0ZXBwZXItY29udGVudC1oZWFkZXItbGFiZWxcIiAqbmdJZj1cIiFfbmFycm93XCI+XG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHN0ZXAgfVwiPjwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5jb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xhYmVsVGVtcGxhdGUgbGV0LXN0ZXA+XG5cdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzdGVwLnN0ZXBMYWJlbFwiIFtuZ0lmRWxzZV09XCJzdHJpbmdMYWJlbFRlbXBsXCI+XG5cdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN0ZXAuc3RlcExhYmVsLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblx0PC9uZy10ZW1wbGF0ZT5cblx0PG5nLXRlbXBsYXRlICNzdHJpbmdMYWJlbFRlbXBsPnt7IHN0ZXAubGFiZWwgfX08L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlZGl0SWNvblRlbXBsYXRlIGxldC1pbmRleD1cImluZGV4XCI+XG5cdDxzcGFuPnt7IGluZGV4ICsgMSB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQTRDLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFFTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEVBQ0osUUFBUSxFQUVSLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQXlCLE1BQU0sMkJBQTJCLENBQUM7QUFDdEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sU0FBUyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBRTVDLGNBQWM7QUFDZCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUM7QUFFdkI7Ozs7Ozs7R0FPRztBQXFCSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQThEL0MsWUFDYSxHQUFtQixFQUMvQixpQkFBb0MsRUFDNUIsU0FBa0MsRUFDeEIsU0FBYyxFQUNRLGNBQThCLEVBQ2QscUJBQXNDO1FBRTlGLEtBQUssQ0FBQyxHQUFHLEVBQUUsaUJBQWlC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QUMsc0JBQXNCOzRDQWxFakIsV0FBVztzQkFBaEQsWUFBWTt1QkFBQyxhQUFhO2dCQUcrQixNQUFNO3NCQUEvRCxlQUFlO3VCQUFDLE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBTVMsTUFBTTtzQkFBN0QsZUFBZTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUduQyxhQUFhO3NCQUEvQixNQUFNO2dCQUdFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBOEJFLGlCQUFpQjtzQkFEeEIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtTdGVwcGVyLCBTdGVwQ29udGVudFBvc2l0aW9uU3RhdGUsIFN0ZXBwZXJPcHRpb25zLCBTVEVQUEVSX0dMT0JBTF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3N0ZXBwZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0QWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRDb21wb25lbnQsXG5cdENvbnRlbnRDaGlsZHJlbixcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRJbmplY3QsXG5cdElucHV0LFxuXHRPcHRpb25hbCxcblx0T3V0cHV0LFxuXHRRdWVyeUxpc3QsXG5cdFNlbGYsXG5cdFNraXBTZWxmLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q2hpbGRyZW4sXG5cdFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRTdGVwLCBNYXRTdGVwSGVhZGVyLCBNYXRTdGVwcGVyLCBNYXRTdGVwcGVySWNvbiwgTWF0U3RlcHBlckljb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgYW5pbWF0aW9uIGZyb20gJy4vc3RlcHBlci1hbmltYXRpb24nO1xuXG4vKiogQGlnbm9yZSAqL1xuY29uc3QgQlJFQUtQT0lOVCA9IDc2ODtcblxuLyoqXG4gKiBbQW5ndWxhciBNYXRlcmlhbCdzIHN0ZXBwZXJdKGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jb21wb25lbnRzL3N0ZXBwZXIvb3ZlcnZpZXcpIHByb3ZpZGVzIGEgd2l6YXJkLWxpa2Ugd29ya2Zsb3cgYnkgZGl2aWRpbmdcbiAqIGNvbnRlbnQgaW50byBsb2dpY2FsIHN0ZXBzLlxuICpcbiAqIFRoaXMgc3RlcHBlciBleHRlbmRzIEFuZ3VsYXIncyB0byBjdXN0b21pc2UgdGhlIHByZXNlbnRhdGlvbiBvZiBpdHMgaGVhZGVycyB0byBhY2hpZXZlIGEgYmV0dGVyIHVzZXIgZXhwZXJpZW5jZSBpbiBib3RoIG1vYmlsZSBhbmRcbiAqIGRlc2t0b3AgYnJvd3NlcnMuXG4gKlxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdidWktc3RlcHBlciwgW2J1aVN0ZXBwZXJdJyxcblx0ZXhwb3J0QXM6ICdidWlTdGVwcGVyLCBtYXRTdGVwcGVyLCBtYXRWZXJ0aWNhbFN0ZXBwZXIsIG1hdEhvcml6b250YWxTdGVwcGVyJyxcblx0dGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG5cdGlucHV0czogWydzZWxlY3RlZEluZGV4J10sXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ2J1aS1zdGVwcGVyIGJ1aS1ob3N0Jyxcblx0XHQnW2F0dHIuYXJpYS1vcmllbnRhdGlvbl0nOiAnb3JpZW50YXRpb24nLFxuXHRcdHJvbGU6ICd0YWJsaXN0J1xuXHR9LFxuXHRhbmltYXRpb25zOiBbYW5pbWF0aW9uLnN0ZXBUcmFuc2l0aW9uLCBhbmltYXRpb24ubGVmdERyYXdlciwgYW5pbWF0aW9uLnRvcERyYXdlcl0sXG5cdHByb3ZpZGVyczogW1xuXHRcdHsgcHJvdmlkZTogTWF0U3RlcHBlciwgdXNlRXhpc3Rpbmc6IFN0ZXBwZXJDb21wb25lbnQgfSxcblx0XHR7IHByb3ZpZGU6IENka1N0ZXBwZXIsIHVzZUV4aXN0aW5nOiBTdGVwcGVyQ29tcG9uZW50IH0sXG5cdFx0eyBwcm92aWRlOiBTVEVQUEVSX0dMT0JBTF9PUFRJT05TLCB1c2VWYWx1ZTogeyBkaXNwbGF5RGVmYXVsdEluZGljYXRvclR5cGU6IGZhbHNlIH0gfVxuXHRdLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IGV4dGVuZHMgQ2RrU3RlcHBlciBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuXHQvKiogQGlnbm9yZSBUaGUgbGlzdCBvZiBzdGVwIGhlYWRlcnMgb2YgdGhlIHN0ZXBzIGluIHRoZSBzdGVwcGVyLiAqL1xuXHRAVmlld0NoaWxkcmVuKE1hdFN0ZXBIZWFkZXIpIG92ZXJyaWRlIF9zdGVwSGVhZGVyITogUXVlcnlMaXN0PE1hdFN0ZXBIZWFkZXI+O1xuXG5cdC8qKiBAaWdub3JlIEZ1bGwgbGlzdCBvZiBzdGVwcyBpbnNpZGUgdGhlIHN0ZXBwZXIsIGluY2x1ZGluZyBpbnNpZGUgbmVzdGVkIHN0ZXBwZXJzLiAqL1xuXHRAQ29udGVudENoaWxkcmVuKE1hdFN0ZXAsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgb3ZlcnJpZGUgX3N0ZXBzITogUXVlcnlMaXN0PE1hdFN0ZXA+O1xuXG5cdC8qKiBAaWdub3JlIFN0ZXBzIHRoYXQgYmVsb25nIHRvIHRoZSBjdXJyZW50IHN0ZXBwZXIsIGV4Y2x1ZGluZyBvbmVzIGZyb20gbmVzdGVkIHN0ZXBwZXJzLiAqL1xuXHRvdmVycmlkZSByZWFkb25seSBzdGVwczogUXVlcnlMaXN0PE1hdFN0ZXA+ID0gbmV3IFF1ZXJ5TGlzdDxNYXRTdGVwPigpO1xuXG5cdC8qKiBAaWdub3JlIEN1c3RvbSBpY29uIG92ZXJyaWRlcyBwYXNzZWQgaW4gYnkgdGhlIGNvbnN1bWVyLiAqL1xuXHRAQ29udGVudENoaWxkcmVuKE1hdFN0ZXBwZXJJY29uLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIF9pY29ucyE6IFF1ZXJ5TGlzdDxNYXRTdGVwcGVySWNvbj47XG5cblx0LyoqIEBpZ25vcmUgRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjdXJyZW50IHN0ZXAgaXMgZG9uZSB0cmFuc2l0aW9uaW5nIGluLiAqL1xuXHRAT3V0cHV0KCkgcmVhZG9ubHkgYW5pbWF0aW9uRG9uZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdC8qKiBXaGV0aGVyIHJpcHBsZXMgc2hvdWxkIGJlIGRpc2FibGVkIGZvciB0aGUgc3RlcCBoZWFkZXJzLiAqL1xuXHRASW5wdXQoKSBkaXNhYmxlUmlwcGxlPzogYm9vbGVhbjtcblxuXHQvKiogVGhlbWUgY29sb3IgZm9yIGFsbCBvZiB0aGUgc3RlcHMgaW4gc3RlcHBlci4gKi9cblx0QElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuXHQvKipcblx0ICogQSBmdW5jdGlvbiB0aGF0IGNvbnN0cnVjdHMgdGhlIHRleHQgaW4gdGhlIHByb2dyZXNzIGN5Y2xlIGZvciB0aGUgJ25hcnJvdycgdmlldy5cblx0ICpcblx0ICogRGVmYXVsdCB2YWx1ZTogYCd7c2VsZWN0ZWQgc3RlcH0gb2Yge3RvdGFsIG51bWJlciBvZiBzdGVwc30nYFxuXHQgKi9cblx0QElucHV0KCkgaW5kaWNhdG9yRm9ybWF0dGVyOiAoaW5kZXg6IG51bWJlciwgdG90YWw6IG51bWJlcikgPT4gc3RyaW5nO1xuXG5cdC8qKiBUaGUgdGV4dCB0aGF0IHByZWNlZGVzIHRoZSBuYW1lIG9mIHRoZSBuZXh0IHN0ZXAgbGFiZWwsIHVzZWQgaW4gdGhlICduYXJyb3cnIHZpZXcuICAgKi9cblx0QElucHV0KCkgbmV4dFN0ZXBMYWJlbFByZWZpeCA9ICdOZXh0OiAnO1xuXG5cdC8qKiBAaWdub3JlIENvbnN1bWVyLXNwZWNpZmllZCB0ZW1wbGF0ZS1yZWZzIHRvIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGhlYWRlciBpY29ucy4gKi9cblx0X2ljb25PdmVycmlkZXM6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPE1hdFN0ZXBwZXJJY29uQ29udGV4dD4+ID0ge307XG5cblx0LyoqIEBpZ25vcmUgU3RyZWFtIG9mIGFuaW1hdGlvbiBgZG9uZWAgZXZlbnRzIHdoZW4gdGhlIGJvZHkgZXhwYW5kcy9jb2xsYXBzZXMuICovXG5cdHJlYWRvbmx5IF9hbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cblx0LyoqIEBpZ25vcmUgV2hldGhlciB0aGUgc3RlcHBlciBpcyBpbiBhIG5hcnJvdyBjb250YWluZXIgKi9cblx0X25hcnJvdyA9IGZhbHNlO1xuXG5cdC8qKiBAaWdub3JlIEVtaXRzIHdoZW5ldmVyIHRoZSBkcmF3ZXIgaGFzIHN0YXJ0ZWQgYW5pbWF0aW5nLiAqL1xuXHRyZWFkb25seSBfbGVmdERyYXdlclN0YXJ0ZWQgPSBuZXcgU3ViamVjdDxBbmltYXRpb25FdmVudD4oKTtcblx0LyoqIEBpZ25vcmUgRW1pdHMgd2hlbmV2ZXIgdGhlIGRyYXdlciBpcyBkb25lIGFuaW1hdGluZy4gKi9cblx0cmVhZG9ubHkgX2xlZnREcmF3ZXJFbmRlZCA9IG5ldyBTdWJqZWN0PEFuaW1hdGlvbkV2ZW50PigpO1xuXHQvKiogQGlnbm9yZSBDdXJyZW50IHN0YXRlIG9mIHRoZSBzaWRlbmF2IGFuaW1hdGlvbi4gKi9cblx0X2xlZnREcmF3ZXJTdGF0ZTogJ29wZW4taW5zdGFudCcgfCAnb3BlbicgfCAndm9pZCcgPSAnb3Blbi1pbnN0YW50JztcblxuXHQvKiogQGlnbm9yZSBFbWl0cyB3aGVuZXZlciB0aGUgZHJhd2VyIGhhcyBzdGFydGVkIGFuaW1hdGluZy4gKi9cblx0cmVhZG9ubHkgX3RvcERyYXdlclN0YXJ0ZWQgPSBuZXcgU3ViamVjdDxBbmltYXRpb25FdmVudD4oKTtcblx0LyoqIEBpZ25vcmUgRW1pdHMgd2hlbmV2ZXIgdGhlIGRyYXdlciBpcyBkb25lIGFuaW1hdGluZy4gKi9cblx0cmVhZG9ubHkgX3RvcERyYXdlckVuZGVkID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cdC8qKiBAaWdub3JlIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHNpZGVuYXYgYW5pbWF0aW9uLiAqL1xuXHRfdG9wRHJhd2VyU3RhdGU6ICdvcGVuLWluc3RhbnQnIHwgJ29wZW4nIHwgJ3ZvaWQnID0gJ3ZvaWQnO1xuXG5cdC8qKiBAaWdub3JlICovIHJlYWRvbmx5IF9wcm9ncmVzc0NpcmNsZVNpemUgPSA4MDtcblx0LyoqIEBpZ25vcmUgKi8gcmVhZG9ubHkgX3Byb2dyZXNzQ2lyY2xlV2lkdGggPSA1O1xuXHQvKiogQGlnbm9yZSAqLyBfc3RlcFRyYW5zaXRpb25pbmcgPSBmYWxzZTtcblxuXHRAVmlld0NoaWxkKCdlZGl0SWNvblRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcblx0cHJpdmF0ZSBfZWRpdEljb25UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0QE9wdGlvbmFsKCkgZGlyOiBEaXJlY3Rpb25hbGl0eSxcblx0XHRjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSBfYnVpRWxSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogYW55LFxuXHRcdEBTZWxmKCkgQEluamVjdChTVEVQUEVSX0dMT0JBTF9PUFRJT05TKSBzdGVwcGVyT3B0aW9uczogU3RlcHBlck9wdGlvbnMsXG5cdFx0QE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEluamVjdChTVEVQUEVSX0dMT0JBTF9PUFRJT05TKSBkZWZhdWx0U3RlcHBlck9wdGlvbnM/OiBTdGVwcGVyT3B0aW9uc1xuXHQpIHtcblx0XHRzdXBlcihkaXIsIGNoYW5nZURldGVjdG9yUmVmLCBfYnVpRWxSZWYpO1xuXHRcdHRoaXMub3JpZW50YXRpb24gPSAndmVydGljYWwnO1xuXHRcdHRoaXMuaW5kaWNhdG9yRm9ybWF0dGVyID0gKGluZGV4LCB0b3RhbCkgPT4gYCR7aW5kZXh9IG9mICR7dG90YWx9YDtcblx0XHRPYmplY3Qua2V5cyhkZWZhdWx0U3RlcHBlck9wdGlvbnMgfHwge30pXG5cdFx0XHQuZmlsdGVyKGsgPT4gayAhPT0gJ2Rpc3BsYXlEZWZhdWx0SW5kaWNhdG9yVHlwZScpXG5cdFx0XHQuZm9yRWFjaCgoKGs6IGtleW9mIFN0ZXBwZXJPcHRpb25zKSA9PiAoc3RlcHBlck9wdGlvbnNba10gPSBkZWZhdWx0U3RlcHBlck9wdGlvbnMhW2tdKSkgYXMgYW55KTtcblx0fVxuXG5cdG92ZXJyaWRlIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcblx0XHRzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblx0XHR0aGlzLl9pY29ucy5mb3JFYWNoKCh7IG5hbWUsIHRlbXBsYXRlUmVmIH0pID0+ICh0aGlzLl9pY29uT3ZlcnJpZGVzW25hbWVdID0gdGVtcGxhdGVSZWYpKTtcblxuXHRcdC8vIE1hcmsgdGhlIGNvbXBvbmVudCBmb3IgY2hhbmdlIGRldGVjdGlvbiB3aGVuZXZlciB0aGUgY29udGVudCBjaGlsZHJlbiBxdWVyeSBjaGFuZ2VzXG5cdFx0dGhpcy5zdGVwcy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHR0aGlzLl9zdGF0ZUNoYW5nZWQoKTtcblx0XHR9KTtcblxuXHRcdHRoaXMuX2FuaW1hdGlvbkRvbmVcblx0XHRcdC5waXBlKFxuXHRcdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgoeCwgeSkgPT4geC5mcm9tU3RhdGUgPT09IHkuZnJvbVN0YXRlICYmIHgudG9TdGF0ZSA9PT0geS50b1N0YXRlKSxcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZClcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuXHRcdFx0XHRpZiAoKGV2ZW50LnRvU3RhdGUgYXMgU3RlcENvbnRlbnRQb3NpdGlvblN0YXRlKSA9PT0gJ2N1cnJlbnQnKSB7XG5cdFx0XHRcdFx0dGhpcy5hbmltYXRpb25Eb25lLmVtaXQoKTtcblx0XHRcdFx0XHR0aGlzLl9zdGVwVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdHRoaXMuX2xlZnREcmF3ZXJFbmRlZFxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4LCB5KSA9PiB4LmZyb21TdGF0ZSA9PT0geS5mcm9tU3RhdGUgJiYgeC50b1N0YXRlID09PSB5LnRvU3RhdGUpLFxuXHRcdFx0XHRmaWx0ZXIoZXYgPT4gZXYudG9TdGF0ZSA9PT0gJ3ZvaWQnICYmIGV2LnRvU3RhdGUgIT09IGV2LmZyb21TdGF0ZSksXG5cdFx0XHRcdHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0dGhpcy5fdG9wRHJhd2VyU3RhdGUgPSAnb3Blbic7XG5cdFx0XHR9KTtcblxuXHRcdHRoaXMuX3RvcERyYXdlckVuZGVkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKHgsIHkpID0+IHguZnJvbVN0YXRlID09PSB5LmZyb21TdGF0ZSAmJiB4LnRvU3RhdGUgPT09IHkudG9TdGF0ZSksXG5cdFx0XHRcdGZpbHRlcihldiA9PiBldi50b1N0YXRlID09PSAndm9pZCcgJiYgZXYudG9TdGF0ZSAhPT0gZXYuZnJvbVN0YXRlKSxcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZClcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLl9sZWZ0RHJhd2VyU3RhdGUgPSAnb3Blbic7XG5cdFx0XHR9KTtcblx0XHR0aGlzLl9pY29uT3ZlcnJpZGVzLmVkaXQgPSB0aGlzLl9pY29uT3ZlcnJpZGVzLmVkaXQgfHwgdGhpcy5fZWRpdEljb25UZW1wbGF0ZTtcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF9zdGVwSXNOYXZpZ2FibGUoaW5kZXg6IG51bWJlciwgc3RlcDogTWF0U3RlcCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBzdGVwLmNvbXBsZXRlZCB8fCB0aGlzLnNlbGVjdGVkSW5kZXggPT09IGluZGV4IHx8ICF0aGlzLmxpbmVhcjtcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF93aWR0aENoYW5nZWQodzogbnVtYmVyKSB7XG5cdFx0Y29uc3QgbmFycm93ID0gTWF0aC5hYnModyAtIEJSRUFLUE9JTlQpIDwgMjAgPyB0aGlzLl9uYXJyb3cgOiB3IDwgQlJFQUtQT0lOVDtcblx0XHRjb25zdCBjbHMgPSAnYnVpLXN0ZXBwZXItbmFycm93Jztcblx0XHRjb25zdCBjbGFzc0xpc3QgPSB0aGlzLl9idWlFbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcblx0XHRpZiAobmFycm93KSB7XG5cdFx0XHR0aGlzLl9sZWZ0RHJhd2VyU3RhdGUgPSAndm9pZCc7XG5cdFx0XHRjbGFzc0xpc3QuYWRkKGNscyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX3RvcERyYXdlclN0YXRlID0gJ3ZvaWQnO1xuXHRcdFx0Y2xhc3NMaXN0LnJlbW92ZShjbHMpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5fbmFycm93ICE9PSBuYXJyb3cpIHtcblx0XHRcdHRoaXMuX25hcnJvdyA9IG5hcnJvdztcblx0XHRcdHRoaXMuX3N0YXRlQ2hhbmdlZCgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF9zdGFydFN0ZXBUcmFuc2l0aW9uKCkge1xuXHRcdHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuX3N0ZXBUcmFuc2l0aW9uaW5nID0gdHJ1ZSkpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnVpLXN0ZXBwZXItd3JhcHBlclwiIFtzdHlsZS5kaXNwbGF5XT1cIl9sZWZ0RHJhd2VyU3RhdGUuc3RhcnRzV2l0aCgnb3BlbicpID8gJ2ZsZXgnIDogJ2Jsb2NrJ1wiICNzaXplTW9uaXRvcj5cblx0PGRpdlxuXHRcdGNsYXNzPVwiYnVpLXN0ZXBwZXItbGVmdC1oZWFkZXItY29udGFpbmVyXCJcblx0XHRbQGxlZnREcmF3ZXJdPVwiX2xlZnREcmF3ZXJTdGF0ZVwiXG5cdFx0KEBsZWZ0RHJhd2VyLnN0YXJ0KT1cIl9sZWZ0RHJhd2VyU3RhcnRlZC5uZXh0KCRldmVudClcIlxuXHRcdChAbGVmdERyYXdlci5kb25lKT1cIl9sZWZ0RHJhd2VyRW5kZWQubmV4dCgkZXZlbnQpXCJcblx0PlxuXHRcdDxkaXZcblx0XHRcdCpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzOyBsZXQgaSA9IGluZGV4OyBsZXQgaXNMYXN0ID0gbGFzdFwiXG5cdFx0XHRjbGFzcz1cImJ1aS1zdGVwcGVyLWhlYWRlci13cmFwcGVyXCJcblx0XHRcdFtjbGFzcy5idWktc3RlcHBlci12ZXJ0aWNhbC1saW5lXT1cIiFpc0xhc3RcIlxuXHRcdD5cblx0XHRcdDxtYXQtc3RlcC1oZWFkZXJcblx0XHRcdFx0Y2xhc3M9XCJidWktc3RlcHBlci1oZWFkZXJcIlxuXHRcdFx0XHQoY2xpY2spPVwic3RlcC5zZWxlY3QoKVwiXG5cdFx0XHRcdChrZXlkb3duKT1cIl9vbktleWRvd24oJGV2ZW50KVwiXG5cdFx0XHRcdFt0YWJJbmRleF09XCJfZ2V0Rm9jdXNJbmRleCgpID09PSBpID8gMCA6IC0xXCJcblx0XHRcdFx0W2lkXT1cIl9nZXRTdGVwTGFiZWxJZChpKVwiXG5cdFx0XHRcdFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiaSArIDFcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLXNldHNpemVdPVwic3RlcHMubGVuZ3RoXCJcblx0XHRcdFx0W2F0dHIuYXJpYS1jb250cm9sc109XCJfZ2V0U3RlcENvbnRlbnRJZChpKVwiXG5cdFx0XHRcdFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRJbmRleCA9PSBpXCJcblx0XHRcdFx0W2F0dHIuYXJpYS1sYWJlbF09XCJzdGVwLmFyaWFMYWJlbCB8fCBudWxsXCJcblx0XHRcdFx0W2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIiFzdGVwLmFyaWFMYWJlbCAmJiBzdGVwLmFyaWFMYWJlbGxlZGJ5ID8gc3RlcC5hcmlhTGFiZWxsZWRieSA6IG51bGxcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLWRpc2FibGVkXT1cIl9zdGVwSXNOYXZpZ2FibGUoaSwgc3RlcCkgPyBudWxsIDogdHJ1ZVwiXG5cdFx0XHRcdFtpbmRleF09XCJpXCJcblx0XHRcdFx0W3N0YXRlXT1cIl9nZXRJbmRpY2F0b3JUeXBlKGksIHN0ZXAuc3RhdGUpXCJcblx0XHRcdFx0W2xhYmVsXT1cInN0ZXAuc3RlcExhYmVsIHx8IHN0ZXAubGFiZWxcIlxuXHRcdFx0XHRbc2VsZWN0ZWRdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG5cdFx0XHRcdFthY3RpdmVdPVwiX3N0ZXBJc05hdmlnYWJsZShpLCBzdGVwKVwiXG5cdFx0XHRcdFtvcHRpb25hbF09XCJzdGVwLm9wdGlvbmFsXCJcblx0XHRcdFx0W2Vycm9yTWVzc2FnZV09XCJzdGVwLmVycm9yTWVzc2FnZVwiXG5cdFx0XHRcdFtpY29uT3ZlcnJpZGVzXT1cIl9pY29uT3ZlcnJpZGVzXCJcblx0XHRcdFx0W2Rpc2FibGVSaXBwbGVdPVwiZGlzYWJsZVJpcHBsZSB8fCAhX3N0ZXBJc05hdmlnYWJsZShpLCBzdGVwKVwiXG5cdFx0XHRcdFtjb2xvcl09XCJzdGVwLmNvbG9yIHx8IGNvbG9yXCJcblx0XHRcdD48L21hdC1zdGVwLWhlYWRlcj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG5cblx0PGRpdiBjbGFzcz1cImJ1aS1zdGVwcGVyLWNvbnRlbnQtY29udGFpbmVyXCIgW2J1aVNpemluZ0J5XT1cInNpemVNb25pdG9yXCIgKGJ1aVJlc2l6ZWQpPVwiX3dpZHRoQ2hhbmdlZCgkZXZlbnQud2lkdGgpXCI+XG5cdFx0PGRpdlxuXHRcdFx0Y2xhc3M9XCJidWktc3RlcHBlci10b3AtaGVhZGVyLWNvbnRhaW5lclwiXG5cdFx0XHRbY2xhc3MuYnVpLXN0ZXBwZXItaGVhZGVyLWFjdGl2ZV09XCJfbGVmdERyYXdlclN0YXRlID09PSAndm9pZCdcIlxuXHRcdFx0W0B0b3BEcmF3ZXJdPVwiX3RvcERyYXdlclN0YXRlXCJcblx0XHRcdChAdG9wRHJhd2VyLnN0YXJ0KT1cIl90b3BEcmF3ZXJTdGFydGVkLm5leHQoJGV2ZW50KVwiXG5cdFx0XHQoQHRvcERyYXdlci5kb25lKT1cIl90b3BEcmF3ZXJFbmRlZC5uZXh0KCRldmVudClcIlxuXHRcdD5cblx0XHRcdDxkaXZcblx0XHRcdFx0Y2xhc3M9XCJidWktc3RlcHBlci10b3AtaGVhZGVyLXByb2dyZXNzXCJcblx0XHRcdFx0W3N0eWxlXT1cIidoZWlnaHQ6JyArIF9wcm9ncmVzc0NpcmNsZVNpemUgKyAncHg7IHdpZHRoOicgKyBfcHJvZ3Jlc3NDaXJjbGVTaXplICsgJ3B4J1wiXG5cdFx0XHQ+XG5cdFx0XHRcdDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuXHRcdFx0XHRcdGNsYXNzPVwiYnVpLXByb2dyZXNzLXNwaW5uZXItbGlnaHRcIlxuXHRcdFx0XHRcdFt2YWx1ZV09XCIxMDBcIlxuXHRcdFx0XHRcdFtkaWFtZXRlcl09XCJfcHJvZ3Jlc3NDaXJjbGVTaXplXCJcblx0XHRcdFx0XHRbc3Ryb2tlV2lkdGhdPVwiX3Byb2dyZXNzQ2lyY2xlV2lkdGhcIlxuXHRcdFx0XHQ+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cblx0XHRcdFx0PG1hdC1wcm9ncmVzcy1zcGlubmVyXG5cdFx0XHRcdFx0W2NvbG9yXT1cImNvbG9yXCJcblx0XHRcdFx0XHRbdmFsdWVdPVwiKChzZWxlY3RlZEluZGV4ICsgMSkgKiAxMDApIC8gc3RlcHMubGVuZ3RoXCJcblx0XHRcdFx0XHRbZGlhbWV0ZXJdPVwiX3Byb2dyZXNzQ2lyY2xlU2l6ZVwiXG5cdFx0XHRcdFx0W3N0cm9rZVdpZHRoXT1cIl9wcm9ncmVzc0NpcmNsZVdpZHRoXCJcblx0XHRcdFx0PjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiYnVpLXN0ZXBwZXItdG9wLWhlYWRlci1pbmRpY2F0b3JcIj5cblx0XHRcdFx0XHR7eyBpbmRpY2F0b3JGb3JtYXR0ZXIoc2VsZWN0ZWRJbmRleCArIDEsIHN0ZXBzLmxlbmd0aCkgfX1cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYnVpLXN0ZXBwZXItdG9wLWhlYWRlci10aXRsZXMtd3JhcHBlclwiICpuZ0lmPVwic2VsZWN0ZWRcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJ1aS1zdGVwcGVyLXRvcC1oZWFkZXItdGl0bGVcIj5cblx0XHRcdFx0XHQ8bmctdGVtcGxhdGVcblx0XHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIlxuXHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBzZWxlY3RlZCB9XCJcblx0XHRcdFx0XHQ+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJidWktc3RlcHBlci10b3AtaGVhZGVyLXRpdGxlLW5leHRcIiAqbmdJZj1cInNlbGVjdGVkSW5kZXggPCBzdGVwcy5sZW5ndGggLSAxXCI+XG5cdFx0XHRcdFx0e3sgbmV4dFN0ZXBMYWJlbFByZWZpeCB9fVxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZVxuXHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxUZW1wbGF0ZVwiXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHN0ZXBzLmdldChzZWxlY3RlZEluZGV4ICsgMSkgfVwiXG5cdFx0XHRcdFx0PjwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImJ1aS1zdGVwcGVyLWNvbnRlbnQtd3JhcHBlclwiIFtjbGFzcy5idWktc3RlcHBlci1jb250ZW50LXdyYXBwZXItdHJhbnNpdGlvbmluZ109XCJfc3RlcFRyYW5zaXRpb25pbmdcIj5cblx0XHRcdDxkaXZcblx0XHRcdFx0Km5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHM7IGxldCBpID0gaW5kZXhcIlxuXHRcdFx0XHRjbGFzcz1cImJ1aS1zdGVwcGVyLWNvbnRlbnRcIlxuXHRcdFx0XHRyb2xlPVwidGFicGFuZWxcIlxuXHRcdFx0XHRbQHN0ZXBUcmFuc2l0aW9uXT1cIl9nZXRBbmltYXRpb25EaXJlY3Rpb24oaSlcIlxuXHRcdFx0XHQoQHN0ZXBUcmFuc2l0aW9uLnN0YXJ0KT1cIl9zdGFydFN0ZXBUcmFuc2l0aW9uKClcIlxuXHRcdFx0XHQoQHN0ZXBUcmFuc2l0aW9uLmRvbmUpPVwiX2FuaW1hdGlvbkRvbmUubmV4dCgkZXZlbnQpXCJcblx0XHRcdFx0W2lkXT1cIl9nZXRTdGVwQ29udGVudElkKGkpXCJcblx0XHRcdFx0W2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl9nZXRTdGVwTGFiZWxJZChpKVwiXG5cdFx0XHRcdFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG5cdFx0XHQ+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJidWktc3RlcHBlci1jb250ZW50LWhlYWRlci1sYWJlbFwiICpuZ0lmPVwiIV9uYXJyb3dcIj5cblx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogc3RlcCB9XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLmNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbGFiZWxUZW1wbGF0ZSBsZXQtc3RlcD5cblx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cInN0ZXAuc3RlcExhYmVsXCIgW25nSWZFbHNlXT1cInN0cmluZ0xhYmVsVGVtcGxcIj5cblx0XHQ8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5zdGVwTGFiZWwudGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuXHQ8L25nLXRlbXBsYXRlPlxuXHQ8bmctdGVtcGxhdGUgI3N0cmluZ0xhYmVsVGVtcGw+e3sgc3RlcC5sYWJlbCB9fTwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2VkaXRJY29uVGVtcGxhdGUgbGV0LWluZGV4PVwiaW5kZXhcIj5cblx0PHNwYW4+e3sgaW5kZXggKyAxIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -12,8 +12,8 @@ import { StepperComponent } from './stepper.component';
12
12
  import * as i0 from "@angular/core";
13
13
  export class StepperModule {
14
14
  }
15
- StepperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- StepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: StepperModule, declarations: [StepperComponent], imports: [CommonModule,
15
+ StepperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ StepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: StepperModule, declarations: [StepperComponent], imports: [CommonModule,
17
17
  PortalModule,
18
18
  CdkStepperModule,
19
19
  MatStepperModule,
@@ -22,7 +22,7 @@ StepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
22
22
  MatRippleModule,
23
23
  MatProgressSpinnerModule,
24
24
  BehaviorModule], exports: [StepperComponent, MatStepperModule] });
25
- StepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: StepperModule, imports: [CommonModule,
25
+ StepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: StepperModule, imports: [CommonModule,
26
26
  PortalModule,
27
27
  CdkStepperModule,
28
28
  MatStepperModule,
@@ -31,7 +31,7 @@ StepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
31
31
  MatRippleModule,
32
32
  MatProgressSpinnerModule,
33
33
  BehaviorModule, MatStepperModule] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: StepperModule, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: StepperModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  declarations: [StepperComponent],