@scion/components 16.1.0 → 16.2.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 (35) hide show
  1. package/_index.scss +116 -1
  2. package/design/_index.scss +1 -0
  3. package/design/_theming.scss +244 -0
  4. package/design/colors/_scion-dark-colors.scss +91 -0
  5. package/design/colors/_scion-light-colors.scss +91 -0
  6. package/design/colors/_scion-static-colors.scss +4 -0
  7. package/design/components/_scion-component-tokens.scss +48 -0
  8. package/design/themes/_scion-dark-theme.scss +55 -0
  9. package/design/themes/_scion-light-theme.scss +55 -0
  10. package/esm2022/sashbox/sashbox.component.mjs +15 -14
  11. package/esm2022/splitter/splitter.component.mjs +15 -14
  12. package/esm2022/throbber/ellipsis-throbber/ellipsis-throbber.component.mjs +2 -2
  13. package/esm2022/throbber/ripple-throbber/ripple-throbber.component.mjs +2 -2
  14. package/esm2022/throbber/roller-throbber/roller-throbber.component.mjs +2 -2
  15. package/esm2022/throbber/spinner-throbber/spinner-throbber.component.mjs +2 -2
  16. package/esm2022/throbber/throbber.component.mjs +6 -5
  17. package/esm2022/viewport/native-scrollbar-track-size-provider.service.mjs +6 -3
  18. package/esm2022/viewport/scrollbar/scrollbar.component.mjs +7 -6
  19. package/esm2022/viewport/viewport.component.mjs +9 -8
  20. package/fesm2022/scion-components-sashbox.mjs +14 -13
  21. package/fesm2022/scion-components-sashbox.mjs.map +1 -1
  22. package/fesm2022/scion-components-splitter.mjs +14 -13
  23. package/fesm2022/scion-components-splitter.mjs.map +1 -1
  24. package/fesm2022/scion-components-throbber.mjs +13 -12
  25. package/fesm2022/scion-components-throbber.mjs.map +1 -1
  26. package/fesm2022/scion-components-viewport.mjs +19 -14
  27. package/fesm2022/scion-components-viewport.mjs.map +1 -1
  28. package/package.json +7 -1
  29. package/sashbox/sashbox.component.d.ts +12 -11
  30. package/splitter/splitter.component.d.ts +12 -11
  31. package/throbber/throbber.component.d.ts +3 -2
  32. package/viewport/{_scrollbar.scss → scrollbar/_scrollbar.scss} +3 -4
  33. package/viewport/scrollbar/scrollbar.component.d.ts +4 -3
  34. package/viewport/viewport.component.d.ts +6 -5
  35. /package/viewport/{_index.scss → scrollbar/_index.scss} +0 -0
@@ -0,0 +1,55 @@
1
+ @use 'sass:map';
2
+ @use '../theming' as sci-theming;
3
+ @use '../colors/scion-static-colors';
4
+ @use '../colors/scion-light-colors';
5
+ @use '../components/scion-component-tokens';
6
+
7
+ $theme: sci-theming.map-merge(scion-static-colors.$tokens, scion-light-colors.$tokens, scion-component-tokens.$tokens, (
8
+ // Use for highlighting calls to action and emphasizing important information or key messages.
9
+ --sci-color-accent: var(--sci-color-blue-900),
10
+ --sci-color-accent-inverse: var(--sci-static-color-white),
11
+ --sci-color-background-accent: var(--sci-color-blue-100),
12
+ // Use as positive semantic color to indicate success, positive states and completed tasks.
13
+ --sci-color-positive: var(--sci-color-green-900),
14
+ --sci-color-positive-inverse: var(--sci-static-color-white),
15
+ --sci-color-background-positive: var(--sci-color-green-100),
16
+ // Use as negative semantic color to indicate errors, negative states and critical issues that need immediate attention.
17
+ --sci-color-negative: var(--sci-color-red-900),
18
+ --sci-color-negative-inverse: var(--sci-static-color-white),
19
+ --sci-color-background-negative: var(--sci-color-red-100),
20
+ // Use as notice semantic color to indicate warnings or a state of caution that requires user attention.
21
+ --sci-color-notice: var(--sci-color-orange-700),
22
+ --sci-color-notice-inverse: var(--sci-static-color-white),
23
+ --sci-color-background-notice: var(--sci-color-orange-100),
24
+ // Use for skeleton loading progress indicators.
25
+ --sci-color-skeleton: var(--sci-color-gray-300),
26
+ --sci-color-skeleton-subtle: var(--sci-color-gray-200),
27
+ // Use as the primary background for the UI.
28
+ --sci-color-background-primary: var(--sci-color-gray-50),
29
+ // Use as the background for navbars, menubars, toolbars, tabbars, sidebars and panels
30
+ --sci-color-background-secondary: var(--sci-color-gray-100),
31
+ --sci-color-background-secondary-hover: var(--sci-color-gray-200),
32
+ --sci-color-background-secondary-selected: var(--sci-color-gray-300),
33
+ // Use as the background for elevated elements, such as dialogs, menus and overlays.
34
+ --sci-color-background-elevation: var(--sci-color-background-primary),
35
+ --sci-color-background-elevation-hover: var(--sci-color-background-secondary),
36
+ // Use as the background for input elements.
37
+ --sci-color-background-input: var(--sci-color-background-primary),
38
+ --sci-color-background-input-disabled: var(--sci-color-gray-200),
39
+ // Use for separators and element borders/strokes.
40
+ --sci-color-border: var(--sci-color-gray-300),
41
+ --sci-color-border-subtle: var(--sci-color-gray-200),
42
+ --sci-color-border-subtlest: var(--sci-color-gray-100),
43
+ --sci-color-border-strong: var(--sci-color-gray-400),
44
+ // Use for primary text, such as body text and input element values.
45
+ --sci-color-text: var(--sci-color-gray-900),
46
+ // Use for secondary text, such as labels and icons.
47
+ --sci-color-text-subtle: var(--sci-color-gray-700),
48
+ // Use for tertiary text, such as disabled text, placeholders and meta-data.
49
+ --sci-color-text-subtlest: var(--sci-color-gray-600),
50
+ // Use the box shadow effect for elevated elements on top UI layer, such as dialogs, menus and overlays.
51
+ --sci-elevation: 0 0 5px -3px,
52
+ // Use as corner radius for elements, such as tabs and input elements.
53
+ --sci-corner: 5px,
54
+ --sci-corner-small: 4px,
55
+ ));
@@ -27,7 +27,7 @@ import * as i0 from "@angular/core";
27
27
  * A proportional sash has the ability to grow or shrink if necessary.
28
28
  *
29
29
  *
30
- * ### Usage:
30
+ * ### Usage
31
31
  *
32
32
  * ```html
33
33
  * <sci-sashbox direction="row">
@@ -45,27 +45,28 @@ import * as i0 from "@angular/core";
45
45
  * </sci-sashbox>
46
46
  * ```
47
47
  *
48
- * ### Theme override:
49
- * The default style of the sashbox is made up of shades of gray.
50
- * You can control the appearance by overriding the following CSS variables:
48
+ * ### Styling
49
+ *
50
+ * To customize the default look of SCION components or support different themes, configure the `@scion/components` SCSS module in `styles.scss`.
51
+ * To style a specific `sci-sashbox` component, the following CSS variables can be set directly on the component.
51
52
  *
52
53
  * - --sci-sashbox-gap: Sets the gaps (gutters) between sashes.
53
- * - --sci-sashbox-splitter-bgcolor: Sets the background color of the splitter.
54
- * - --sci-sashbox-splitter-bgcolor_hover: Sets the background color of the splitter when hovering it.
54
+ * - --sci-sashbox-splitter-background-color: Sets the background color of the splitter.
55
+ * - --sci-sashbox-splitter-background-color-hover: Sets the background color of the splitter when hovering it.
55
56
  * - --sci-sashbox-splitter-size: Sets the size of the splitter along the main axis.
56
- * - --sci-sashbox-splitter-size_hover: Sets the size of the splitter along the main axis when hovering it.
57
+ * - --sci-sashbox-splitter-size-hover: Sets the size of the splitter along the main axis when hovering it.
57
58
  * - --sci-sashbox-splitter-touch-target-size: Sets the touch target size to move the splitter (accessibility).
58
59
  * - --sci-sashbox-splitter-cross-axis-size: Sets the splitter size along the cross axis.
59
60
  * - --sci-sashbox-splitter-border-radius: Sets the border radius of the splitter.
60
- * - --sci-sashbox-splitter-opacity_active: Sets the opacity of the splitter while the user moves the splitter.
61
- * - --sci-sashbox-splitter-opacity_hover: Sets the opacity of the splitter when hovering it.
61
+ * - --sci-sashbox-splitter-opacity-active: Sets the opacity of the splitter while the user moves the splitter.
62
+ * - --sci-sashbox-splitter-opacity-hover: Sets the opacity of the splitter when hovering it.
62
63
  *
63
64
  * Example:
64
65
  *
65
66
  * ```scss
66
67
  * sci-sashbox {
67
- * --sci-sashbox-splitter-bgcolor: black;
68
- * --sci-sashbox-splitter-bgcolor_hover: black;
68
+ * --sci-sashbox-splitter-background-color: black;
69
+ * --sci-sashbox-splitter-background-color-hover: black;
69
70
  * }
70
71
  * ```
71
72
  */
@@ -221,7 +222,7 @@ class SciSashboxComponent {
221
222
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciSashboxComponent, isStandalone: true, selector: "sci-sashbox", inputs: { direction: "direction" }, outputs: { sashStart: "sashStart", sashEnd: "sashEnd" }, host: { properties: { "class.sashing": "this.sashing", "class.column": "this.isColumnDirection", "class.row": "this.isRowDirection" } }, providers: [{
222
223
  provide: SciSashBoxAccessor,
223
224
  useFactory: provideSashBoxAccessor,
224
- }], queries: [{ propertyName: "setSashes", predicate: SciSashDirective }], ngImport: i0, template: "<ng-container *ngFor=\"let sash of sashes$ | async; index as i; first as first; last as last;\">\n <div class=\"sash\"\n [class.first]=\"first\"\n [class.last]=\"last\"\n [sciSashInitializer]=\"sash\"\n [style.flex-grow]=\"sash.flexGrowNormalized$ | async\"\n [style.flex-shrink]=\"sash.flexShrink\"\n [style.flex-basis]=\"sash.flexBasis\">\n <ng-container *ngTemplateOutlet=\"sash.sashTemplate\"></ng-container>\n </div>\n\n <sci-splitter *ngIf=\"!last\"\n sciElementRef #sciElementRef=\"sciElementRef\"\n [orientation]=\"isRowDirection ? 'vertical' : 'horizontal'\"\n (start)=\"onSashStart()\"\n (move)=\"onSash(sciElementRef.nativeElement, i, $event)\"\n (end)=\"onSashEnd()\"\n (reset)=\"onSashReset(i)\">\n </sci-splitter>\n</ng-container>\n", styles: [":host{--sci-sashbox-gap: 10px;--sci-sashbox-splitter-bgcolor: #d2d2d2;--sci-sashbox-splitter-bgcolor_hover: var(--sci-sashbox-splitter-bgcolor);--sci-sashbox-splitter-size: 1px;--sci-sashbox-splitter-size_hover: 8px;--sci-sashbox-splitter-touch-target-size: 15px;--sci-sashbox-splitter-cross-axis-size: 100%;--sci-sashbox-splitter-border-radius: 0;--sci-sashbox-splitter-opacity_active: 1;--sci-sashbox-splitter-opacity_hover: .3;display:flex;align-items:stretch;box-sizing:border-box;overflow:hidden;z-index:0}:host *{box-sizing:border-box}:host.column{flex-direction:column}:host.row{flex-direction:row}:host>div.sash{overflow:hidden;display:grid;grid-auto-rows:100%;grid-auto-columns:100%}:host.row>div.sash{margin:0 var(--sci-sashbox-gap)}:host.row>div.sash.first{margin-left:0}:host.row>div.sash.last{margin-right:0}:host.column>div.sash{margin:var(--sci-sashbox-gap) 0}:host.column>div.sash.first{margin-top:0}:host.column>div.sash.last{margin-bottom:0}:host.sashing>div.sash{pointer-events:none}:host>sci-splitter{--sci-splitter-bgcolor: var(--sci-sashbox-splitter-bgcolor);--sci-splitter-bgcolor_hover: var(--sci-sashbox-splitter-bgcolor_hover);--sci-splitter-size: var(--sci-sashbox-splitter-size);--sci-splitter-size_hover: var(--sci-sashbox-splitter-size_hover);--sci-splitter-touch-target-size: var(--sci-sashbox-splitter-touch-target-size);--sci-splitter-cross-axis-size: var(--sci-sashbox-splitter-cross-axis-size);--sci-splitter-border-radius: var(--sci-sashbox-splitter-border-radius);--sci-splitter-opacity_active: var(--sci-sashbox-splitter-opacity_active);--sci-splitter-opacity_hover: var(--sci-sashbox-splitter-opacity_hover);flex:none;z-index:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SciSashInitializerDirective, selector: "div[sciSashInitializer].sash", inputs: ["sciSashInitializer"] }, { kind: "component", type: SciSplitterComponent, selector: "sci-splitter", inputs: ["orientation"], outputs: ["start", "move", "end", "reset"] }, { kind: "directive", type: SciElementRefDirective, selector: "[sciElementRef]", exportAs: ["sciElementRef"] }] }); }
225
+ }], queries: [{ propertyName: "setSashes", predicate: SciSashDirective }], ngImport: i0, template: "<ng-container *ngFor=\"let sash of sashes$ | async; index as i; first as first; last as last;\">\n <div class=\"sash\"\n [class.first]=\"first\"\n [class.last]=\"last\"\n [sciSashInitializer]=\"sash\"\n [style.flex-grow]=\"sash.flexGrowNormalized$ | async\"\n [style.flex-shrink]=\"sash.flexShrink\"\n [style.flex-basis]=\"sash.flexBasis\">\n <ng-container *ngTemplateOutlet=\"sash.sashTemplate\"></ng-container>\n </div>\n\n <sci-splitter *ngIf=\"!last\"\n sciElementRef #sciElementRef=\"sciElementRef\"\n [orientation]=\"isRowDirection ? 'vertical' : 'horizontal'\"\n (start)=\"onSashStart()\"\n (move)=\"onSash(sciElementRef.nativeElement, i, $event)\"\n (end)=\"onSashEnd()\"\n (reset)=\"onSashReset(i)\">\n </sci-splitter>\n</ng-container>\n", styles: ["@charset \"UTF-8\";:host{--\\275sci-sashbox-gap: var(--sci-sashbox-gap, 10px);--\\275sci-sashbox-splitter-background-color: var(--sci-sashbox-splitter-background-color, var(--sci-sashbox-splitter-bgcolor, #d2d2d2));--\\275sci-sashbox-splitter-background-color-hover: var(--sci-sashbox-splitter-background-color-hover, var(--sci-sashbox-splitter-bgcolor_hover, var(--\\275sci-sashbox-splitter-background-color)));--\\275sci-sashbox-splitter-size: var(--sci-sashbox-splitter-size, 1px);--\\275sci-sashbox-splitter-size-hover: var(--sci-sashbox-splitter-size-hover, var(--sci-sashbox-splitter-size_hover, 8px));--\\275sci-sashbox-splitter-touch-target-size: var(--sci-sashbox-splitter-touch-target-size, 15px);--\\275sci-sashbox-splitter-cross-axis-size: var(--sci-sashbox-splitter-cross-axis-size, 100%);--\\275sci-sashbox-splitter-border-radius: var(--sci-sashbox-splitter-border-radius, 0);--\\275sci-sashbox-splitter-opacity-active: var(--sci-sashbox-splitter-opacity-active, var(--sci-sashbox-splitter-opacity_active, 1));--\\275sci-sashbox-splitter-opacity-hover: var(--sci-sashbox-splitter-opacity-hover, var(--sci-sashbox-splitter-opacity_hover, .3));display:flex;align-items:stretch;box-sizing:border-box;overflow:hidden;z-index:0}:host *{box-sizing:border-box}:host.column{flex-direction:column}:host.row{flex-direction:row}:host>div.sash{overflow:hidden;display:grid;grid-auto-rows:100%;grid-auto-columns:100%}:host.row>div.sash{margin:0 var(--\\275sci-sashbox-gap)}:host.row>div.sash.first{margin-left:0}:host.row>div.sash.last{margin-right:0}:host.column>div.sash{margin:var(--\\275sci-sashbox-gap) 0}:host.column>div.sash.first{margin-top:0}:host.column>div.sash.last{margin-bottom:0}:host.sashing>div.sash{pointer-events:none}:host>sci-splitter{--sci-splitter-background-color: var(--\\275sci-sashbox-splitter-background-color);--sci-splitter-background-color-hover: var(--\\275sci-sashbox-splitter-background-color-hover);--sci-splitter-size: var(--\\275sci-sashbox-splitter-size);--sci-splitter-size-hover: var(--\\275sci-sashbox-splitter-size-hover);--sci-splitter-touch-target-size: var(--\\275sci-sashbox-splitter-touch-target-size);--sci-splitter-cross-axis-size: var(--\\275sci-sashbox-splitter-cross-axis-size);--sci-splitter-border-radius: var(--\\275sci-sashbox-splitter-border-radius);--sci-splitter-opacity-active: var(--\\275sci-sashbox-splitter-opacity-active);--sci-splitter-opacity-hover: var(--\\275sci-sashbox-splitter-opacity-hover);flex:none;z-index:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SciSashInitializerDirective, selector: "div[sciSashInitializer].sash", inputs: ["sciSashInitializer"] }, { kind: "component", type: SciSplitterComponent, selector: "sci-splitter", inputs: ["orientation"], outputs: ["start", "move", "end", "reset"] }, { kind: "directive", type: SciElementRefDirective, selector: "[sciElementRef]", exportAs: ["sciElementRef"] }] }); }
225
226
  }
226
227
  export { SciSashboxComponent };
227
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciSashboxComponent, decorators: [{
@@ -237,7 +238,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
237
238
  ], providers: [{
238
239
  provide: SciSashBoxAccessor,
239
240
  useFactory: provideSashBoxAccessor,
240
- }], template: "<ng-container *ngFor=\"let sash of sashes$ | async; index as i; first as first; last as last;\">\n <div class=\"sash\"\n [class.first]=\"first\"\n [class.last]=\"last\"\n [sciSashInitializer]=\"sash\"\n [style.flex-grow]=\"sash.flexGrowNormalized$ | async\"\n [style.flex-shrink]=\"sash.flexShrink\"\n [style.flex-basis]=\"sash.flexBasis\">\n <ng-container *ngTemplateOutlet=\"sash.sashTemplate\"></ng-container>\n </div>\n\n <sci-splitter *ngIf=\"!last\"\n sciElementRef #sciElementRef=\"sciElementRef\"\n [orientation]=\"isRowDirection ? 'vertical' : 'horizontal'\"\n (start)=\"onSashStart()\"\n (move)=\"onSash(sciElementRef.nativeElement, i, $event)\"\n (end)=\"onSashEnd()\"\n (reset)=\"onSashReset(i)\">\n </sci-splitter>\n</ng-container>\n", styles: [":host{--sci-sashbox-gap: 10px;--sci-sashbox-splitter-bgcolor: #d2d2d2;--sci-sashbox-splitter-bgcolor_hover: var(--sci-sashbox-splitter-bgcolor);--sci-sashbox-splitter-size: 1px;--sci-sashbox-splitter-size_hover: 8px;--sci-sashbox-splitter-touch-target-size: 15px;--sci-sashbox-splitter-cross-axis-size: 100%;--sci-sashbox-splitter-border-radius: 0;--sci-sashbox-splitter-opacity_active: 1;--sci-sashbox-splitter-opacity_hover: .3;display:flex;align-items:stretch;box-sizing:border-box;overflow:hidden;z-index:0}:host *{box-sizing:border-box}:host.column{flex-direction:column}:host.row{flex-direction:row}:host>div.sash{overflow:hidden;display:grid;grid-auto-rows:100%;grid-auto-columns:100%}:host.row>div.sash{margin:0 var(--sci-sashbox-gap)}:host.row>div.sash.first{margin-left:0}:host.row>div.sash.last{margin-right:0}:host.column>div.sash{margin:var(--sci-sashbox-gap) 0}:host.column>div.sash.first{margin-top:0}:host.column>div.sash.last{margin-bottom:0}:host.sashing>div.sash{pointer-events:none}:host>sci-splitter{--sci-splitter-bgcolor: var(--sci-sashbox-splitter-bgcolor);--sci-splitter-bgcolor_hover: var(--sci-sashbox-splitter-bgcolor_hover);--sci-splitter-size: var(--sci-sashbox-splitter-size);--sci-splitter-size_hover: var(--sci-sashbox-splitter-size_hover);--sci-splitter-touch-target-size: var(--sci-sashbox-splitter-touch-target-size);--sci-splitter-cross-axis-size: var(--sci-sashbox-splitter-cross-axis-size);--sci-splitter-border-radius: var(--sci-sashbox-splitter-border-radius);--sci-splitter-opacity_active: var(--sci-sashbox-splitter-opacity_active);--sci-splitter-opacity_hover: var(--sci-sashbox-splitter-opacity_hover);flex:none;z-index:1}\n"] }]
241
+ }], template: "<ng-container *ngFor=\"let sash of sashes$ | async; index as i; first as first; last as last;\">\n <div class=\"sash\"\n [class.first]=\"first\"\n [class.last]=\"last\"\n [sciSashInitializer]=\"sash\"\n [style.flex-grow]=\"sash.flexGrowNormalized$ | async\"\n [style.flex-shrink]=\"sash.flexShrink\"\n [style.flex-basis]=\"sash.flexBasis\">\n <ng-container *ngTemplateOutlet=\"sash.sashTemplate\"></ng-container>\n </div>\n\n <sci-splitter *ngIf=\"!last\"\n sciElementRef #sciElementRef=\"sciElementRef\"\n [orientation]=\"isRowDirection ? 'vertical' : 'horizontal'\"\n (start)=\"onSashStart()\"\n (move)=\"onSash(sciElementRef.nativeElement, i, $event)\"\n (end)=\"onSashEnd()\"\n (reset)=\"onSashReset(i)\">\n </sci-splitter>\n</ng-container>\n", styles: ["@charset \"UTF-8\";:host{--\\275sci-sashbox-gap: var(--sci-sashbox-gap, 10px);--\\275sci-sashbox-splitter-background-color: var(--sci-sashbox-splitter-background-color, var(--sci-sashbox-splitter-bgcolor, #d2d2d2));--\\275sci-sashbox-splitter-background-color-hover: var(--sci-sashbox-splitter-background-color-hover, var(--sci-sashbox-splitter-bgcolor_hover, var(--\\275sci-sashbox-splitter-background-color)));--\\275sci-sashbox-splitter-size: var(--sci-sashbox-splitter-size, 1px);--\\275sci-sashbox-splitter-size-hover: var(--sci-sashbox-splitter-size-hover, var(--sci-sashbox-splitter-size_hover, 8px));--\\275sci-sashbox-splitter-touch-target-size: var(--sci-sashbox-splitter-touch-target-size, 15px);--\\275sci-sashbox-splitter-cross-axis-size: var(--sci-sashbox-splitter-cross-axis-size, 100%);--\\275sci-sashbox-splitter-border-radius: var(--sci-sashbox-splitter-border-radius, 0);--\\275sci-sashbox-splitter-opacity-active: var(--sci-sashbox-splitter-opacity-active, var(--sci-sashbox-splitter-opacity_active, 1));--\\275sci-sashbox-splitter-opacity-hover: var(--sci-sashbox-splitter-opacity-hover, var(--sci-sashbox-splitter-opacity_hover, .3));display:flex;align-items:stretch;box-sizing:border-box;overflow:hidden;z-index:0}:host *{box-sizing:border-box}:host.column{flex-direction:column}:host.row{flex-direction:row}:host>div.sash{overflow:hidden;display:grid;grid-auto-rows:100%;grid-auto-columns:100%}:host.row>div.sash{margin:0 var(--\\275sci-sashbox-gap)}:host.row>div.sash.first{margin-left:0}:host.row>div.sash.last{margin-right:0}:host.column>div.sash{margin:var(--\\275sci-sashbox-gap) 0}:host.column>div.sash.first{margin-top:0}:host.column>div.sash.last{margin-bottom:0}:host.sashing>div.sash{pointer-events:none}:host>sci-splitter{--sci-splitter-background-color: var(--\\275sci-sashbox-splitter-background-color);--sci-splitter-background-color-hover: var(--\\275sci-sashbox-splitter-background-color-hover);--sci-splitter-size: var(--\\275sci-sashbox-splitter-size);--sci-splitter-size-hover: var(--\\275sci-sashbox-splitter-size-hover);--sci-splitter-touch-target-size: var(--\\275sci-sashbox-splitter-touch-target-size);--sci-splitter-cross-axis-size: var(--\\275sci-sashbox-splitter-cross-axis-size);--sci-splitter-border-radius: var(--\\275sci-sashbox-splitter-border-radius);--sci-splitter-opacity-active: var(--\\275sci-sashbox-splitter-opacity-active);--sci-splitter-opacity-hover: var(--\\275sci-sashbox-splitter-opacity-hover);flex:none;z-index:1}\n"] }]
241
242
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { sashing: [{
242
243
  type: HostBinding,
243
244
  args: ['class.sashing']
@@ -283,4 +284,4 @@ function provideSashBoxAccessor() {
283
284
  }
284
285
  };
285
286
  }
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FzaGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3Nhc2hib3gvc3JjL3Nhc2hib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zYXNoYm94L3NyYy9zYXNoYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckosT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQW9CLE1BQU0sNEJBQTRCLENBQUM7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDekUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBRS9EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtREc7QUFDSCxNQW1CYSxtQkFBbUI7SUEyQjlCLGdCQUFnQjtJQUNoQixJQUNXLFNBQVMsQ0FBQyxTQUFz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UUFDM0IsQ0FBQztRQUVELElBQVcsTUFBTTtZQUNmLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDakMsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgaW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE91dHB1dCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7c3RhcnRXaXRoLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2NpU3BsaXR0ZXJDb21wb25lbnQsIFNwbGl0dGVyTW92ZUV2ZW50fSBmcm9tICdAc2Npb24vY29tcG9uZW50cy9zcGxpdHRlcic7XG5pbXBvcnQge1NjaVNhc2hEaXJlY3RpdmV9IGZyb20gJy4vc2FzaC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtTY2lTYXNoQm94QWNjZXNzb3J9IGZyb20gJy4vc2FzaGJveC1hY2Nlc3Nvcic7XG5pbXBvcnQge0FzeW5jUGlwZSwgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1NjaVNhc2hJbml0aWFsaXplckRpcmVjdGl2ZX0gZnJvbSAnLi9zYXNoLWluaXRpYWxpemVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1NjaUVsZW1lbnRSZWZEaXJlY3RpdmV9IGZyb20gJy4vZWxlbWVudC1yZWYuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGUgPHNjaS1zYXNoYm94PiBpcyBsaWtlIGEgQ1NTIGZsZXhib3ggY29udGFpbmVyIHRoYXQgbGF5cyBvdXQgaXRzIGNvbnRlbnQgY2hpbGRyZW4gKHNhc2hlcykgaW4gYSByb3cgKHdoaWNoIGlzIGJ5IGRlZmF1bHQpXG4gKiBvciBjb2x1bW4gYXJyYW5nZW1lbnQgKGFzIHNwZWNpZmllZCBieSB0aGUgZGlyZWN0aW9uIHByb3BlcnR5KS4gQSBzcGxpdHRlciBpcyBhZGRlZCBiZXR3ZWVuIGVhY2ggY2hpbGQgdG8gYWxsb3cgdGhlIHVzZXIgdG9cbiAqIHNocmluayBvciBzdHJldGNoIHRoZSBpbmRpdmlkdWFsIHNhc2hlcy5cbiAqXG4gKiBTYXNoZXMgYXJlIG1vZGVsbGVkIGFzIGNvbnRlbnQgY2hpbGRyZW4gaW5zaWRlIGEgPG5nLXRlbXBsYXRlPiBkZWNvcmF0ZWQgd2l0aCB0aGUgJ3NjaVNhc2gnIGRpcmVjdGl2ZS5cbiAqIEEgc2FzaCBjYW4gaGF2ZSBhIGZpeGVkIHNpemUgd2l0aCBhbiBleHBsaWNpdCB1bml0LCBvciBhIHVuaXRsZXNzIHByb3BvcnRpb24gdG8gZGlzdGlidXRlIHJlbWFpbmluZyBzcGFjZS5cbiAqIEEgcHJvcG9ydGlvbmFsIHNhc2ggaGFzIHRoZSBhYmlsaXR5IHRvIGdyb3cgb3Igc2hyaW5rIGlmIG5lY2Vzc2FyeS5cbiAqXG4gKlxuICogIyMjIFVzYWdlOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxzY2ktc2FzaGJveCBkaXJlY3Rpb249XCJyb3dcIj5cbiAqICAgPG5nLXRlbXBsYXRlIHNjaVNhc2ggc2l6ZT1cIjFcIj5cbiAqICAgICAuLi5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqXG4gKiAgIDxuZy10ZW1wbGF0ZSBzY2lTYXNoIHNpemU9XCIyXCI+XG4gKiAgICAgLi4uXG4gKiAgIDwvbmctdGVtcGxhdGU+XG4gKlxuICogICA8bmctdGVtcGxhdGUgc2NpU2FzaCBzaXplPVwiMVwiPlxuICogICAgIC4uLlxuICogICA8L25nLXRlbXBsYXRlPlxuICogPC9zY2ktc2FzaGJveD5cbiAqIGBgYFxuICpcbiAqICMjIyBUaGVtZSBvdmVycmlkZTpcbiAqIFRoZSBkZWZhdWx0IHN0eWxlIG9mIHRoZSBzYXNoYm94IGlzIG1hZGUgdXAgb2Ygc2hhZGVzIG9mIGdyYXkuXG4gKiBZb3UgY2FuIGNvbnRyb2wgdGhlIGFwcGVhcmFuY2UgYnkgb3ZlcnJpZGluZyB0aGUgZm9sbG93aW5nIENTUyB2YXJpYWJsZXM6XG4gKlxuICogLSAtLXNjaS1zYXNoYm94LWdhcDogU2V0cyB0aGUgZ2FwcyAoZ3V0dGVycykgYmV0d2VlbiBzYXNoZXMuXG4gKiAtIC0tc2NpLXNhc2hib3gtc3BsaXR0ZXItYmdjb2xvcjogU2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc3BsaXR0ZXIuXG4gKiAtIC0tc2NpLXNhc2hib3gtc3BsaXR0ZXItYmdjb2xvcl9ob3ZlcjogU2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc3BsaXR0ZXIgd2hlbiBob3ZlcmluZyBpdC5cbiAqIC0gLS1zY2ktc2FzaGJveC1zcGxpdHRlci1zaXplOiBTZXRzIHRoZSBzaXplIG9mIHRoZSBzcGxpdHRlciBhbG9uZyB0aGUgbWFpbiBheGlzLlxuICogLSAtLXNjaS1zYXNoYm94LXNwbGl0dGVyLXNpemVfaG92ZXI6IFNldHMgdGhlIHNpemUgb2YgdGhlIHNwbGl0dGVyIGFsb25nIHRoZSBtYWluIGF4aXMgd2hlbiBob3ZlcmluZyBpdC5cbiAqIC0gLS1zY2ktc2FzaGJveC1zcGxpdHRlci10b3VjaC10YXJnZXQtc2l6ZTogU2V0cyB0aGUgdG91Y2ggdGFyZ2V0IHNpemUgdG8gbW92ZSB0aGUgc3BsaXR0ZXIgKGFjY2Vzc2liaWxpdHkpLlxuICogLSAtLXNjaS1zYXNoYm94LXNwbGl0dGVyLWNyb3NzLWF4aXMtc2l6ZTogU2V0cyB0aGUgc3BsaXR0ZXIgc2l6ZSBhbG9uZyB0aGUgY3Jvc3MgYXhpcy5cbiAqIC0gLS1zY2ktc2FzaGJveC1zcGxpdHRlci1ib3JkZXItcmFkaXVzOiBTZXRzIHRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBzcGxpdHRlci5cbiAqIC0gLS1zY2ktc2FzaGJveC1zcGxpdHRlci1vcGFjaXR5X2FjdGl2ZTogU2V0cyB0aGUgb3BhY2l0eSBvZiB0aGUgc3BsaXR0ZXIgd2hpbGUgdGhlIHVzZXIgbW92ZXMgdGhlIHNwbGl0dGVyLlxuICogLSAtLXNjaS1zYXNoYm94LXNwbGl0dGVyLW9wYWNpdHlfaG92ZXI6IFNldHMgdGhlIG9wYWNpdHkgb2YgdGhlIHNwbGl0dGVyIHdoZW4gaG92ZXJpbmcgaXQuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBgYGBzY3NzXG4gKiBzY2ktc2FzaGJveCB7XG4gKiAgIC0tc2NpLXNhc2hib3gtc3BsaXR0ZXItYmdjb2xvcjogYmxhY2s7XG4gKiAgIC0tc2NpLXNhc2hib3gtc3BsaXR0ZXItYmdjb2xvcl9ob3ZlcjogYmxhY2s7XG4gKiB9XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2NpLXNhc2hib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2FzaGJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nhc2hib3guY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gICAgQXN5bmNQaXBlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgU2NpU2FzaEluaXRpYWxpemVyRGlyZWN0aXZlLFxuICAgIFNjaVNwbGl0dGVyQ29tcG9uZW50LFxuICAgIFNjaUVsZW1lbnRSZWZEaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBTY2lTYXNoQm94QWNjZXNzb3IsXG4gICAgdXNlRmFjdG9yeTogcHJvdmlkZVNhc2hCb3hBY2Nlc3NvcixcbiAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFNjaVNhc2hib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgc2FzaGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2NpU2FzaERpcmVjdGl2ZVtdPihbXSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zYXNoaW5nJylcbiAgcHVibGljIHNhc2hpbmcgPSBmYWxzZTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGlmIHRvIGxheSBvdXQgc2FzaGVzIGluIGEgcm93ICh3aGljaCBpcyBieSBkZWZhdWx0KSBvciBjb2x1bW4gYXJyYW5nZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlyZWN0aW9uOiAnY29sdW1uJyB8ICdyb3cnID0gJ3Jvdyc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gc3RhcnQgc2FzaGluZy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2FzaFN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgYWJzb2x1dGUgc2FzaCBzaXplcyAocHgpIHdoZW4gZmluaXNoZWQgc2FzaGluZy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2FzaEVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyW10+KCk7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBAQ29udGVudENoaWxkcmVuKFNjaVNhc2hEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZXQgc2V0U2FzaGVzKHF1ZXJ5TGlzdDogUXVlcnlMaXN0PFNjaVNhc2hEaXJlY3RpdmU+KSB7XG4gICAgcXVlcnlMaXN0LmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgocXVlcnlMaXN0KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHNhc2hlczogUXVlcnlMaXN0PFNjaVNhc2hEaXJlY3RpdmU+KSA9PiB7XG4gICAgICAgIHRoaXMuc2FzaGVzJC5uZXh0KHNhc2hlcy50b0FycmF5KCkpO1xuICAgICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSBfem9uZTogTmdab25lKSB7XG4gIH1cblxuICBwdWJsaWMgb25TYXNoU3RhcnQoKTogdm9pZCB7XG4gICAgdGhpcy5zYXNoaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnNhc2hTdGFydC5lbWl0KCk7XG5cbiAgICAvLyBzZXQgdGhlIGVmZmVjdGl2ZSBzYXNoIHNpemUgYXMgdGhlIGZsZXgtYmFzaXMgZm9yIG5vbi1maXhlZCBzYXNoZXMgKGFzIHNhc2hpbmcgb3BlcmF0ZXMgb24gcGl4ZWwgZGVsdGFzKVxuICAgIHRoaXMuc2FzaGVzLmZvckVhY2goc2FzaCA9PiB7XG4gICAgICBpZiAoIXNhc2guaXNGaXhlZFNpemUpIHtcbiAgICAgICAgc2FzaC5mbGV4R3JvdyA9IDA7XG4gICAgICAgIHNhc2guZmxleFNocmluayA9IDA7XG4gICAgICAgIHNhc2guZmxleEJhc2lzID0gYCR7c2FzaC5jb21wdXRlZFNpemV9cHhgO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2FzaEVuZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhc2hpbmcgPSBmYWxzZTtcblxuICAgIC8vIHVuc2V0IHRoZSBmbGV4LWJhc2lzIGZvciBub24tZml4ZWQgc2FzaGVzIGFuZCBzZXQgdGhlIGZsZXgtZ3JvdyBhY2NvcmRpbmdseVxuICAgIGNvbnN0IHBpeGVsVG9GbGV4R3Jvd0ZhY3RvciA9IGNvbXB1dGVQaXhlbFRvRmxleEdyb3dGYWN0b3IodGhpcy5zYXNoZXMpO1xuICAgIGNvbnN0IGFic29sdXRlU2FzaFNpemVzID0gdGhpcy5zYXNoZXMubWFwKHNhc2ggPT4gc2FzaC5jb21wdXRlZFNpemUpO1xuXG4gICAgdGhpcy5zYXNoZXMuZm9yRWFjaCgoc2FzaCwgaSkgPT4ge1xuICAgICAgaWYgKCFzYXNoLmlzRml4ZWRTaXplKSB7XG4gICAgICAgIHNhc2guZmxleEdyb3cgPSBwaXhlbFRvRmxleEdyb3dGYWN0b3IgKiBhYnNvbHV0ZVNhc2hTaXplc1tpXTtcbiAgICAgICAgc2FzaC5mbGV4U2hyaW5rID0gMTtcbiAgICAgICAgc2FzaC5mbGV4QmFzaXMgPSAnMCc7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zYXNoRW5kLmVtaXQoYWJzb2x1dGVTYXNoU2l6ZXMpO1xuICB9XG5cbiAgcHVibGljIG9uU2FzaChzcGxpdHRlcjogSFRNTEVsZW1lbnQsIHNhc2hJbmRleDogbnVtYmVyLCBtb3ZlRXZlbnQ6IFNwbGl0dGVyTW92ZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGlzdGFuY2UgPSBtb3ZlRXZlbnQuZGlzdGFuY2U7XG4gICAgaWYgKGRpc3RhbmNlID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgTmdab25lLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKTtcblxuICAgIC8vIGNvbXB1dGUgdGhlIHNwbGl0dGVyIHBvc2l0aW9uXG4gICAgY29uc3Qgc3BsaXR0ZXJSZWN0ID0gc3BsaXR0ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc3BsaXR0ZXJTdGFydCA9ICh0aGlzLmlzUm93RGlyZWN0aW9uID8gc3BsaXR0ZXJSZWN0LmxlZnQgOiBzcGxpdHRlclJlY3QudG9wKTtcbiAgICBjb25zdCBzcGxpdHRlckVuZCA9ICh0aGlzLmlzUm93RGlyZWN0aW9uID8gc3BsaXR0ZXJSZWN0LmxlZnQgKyBzcGxpdHRlclJlY3Qud2lkdGggOiBzcGxpdHRlclJlY3QudG9wICsgc3BsaXR0ZXJSZWN0LmhlaWdodCk7XG5cbiAgICAvLyBpZ25vcmUgdGhlIGV2ZW50IGlmIG91dHNpZGUgb2YgdGhlIHNwbGl0dGVyJ3MgYWN0aW9uIHNjb3BlXG4gICAgY29uc3QgZXZlbnRQb3MgPSBtb3ZlRXZlbnQucG9zaXRpb24uY2xpZW50UG9zO1xuICAgIC8vIGkuZS4gdGhlIHNhc2ggc2hvdWxkIG5vdCBncm93IGlmIG1vdmVkIHRoZSBtb3VzZSBwb2ludGVyIGJleW9uZCB0aGUgbGVmdCBib3VuZHMgb2YgdGhlIHNhc2gsIGFuZCBpZiBub3cgbW92aW5nIHRoZSBtb3VzZSBwb2ludGVyIGJhY2sgdG93YXJkIHRoZSBjdXJyZW50IHNhc2guXG4gICAgaWYgKGRpc3RhbmNlID4gMCAmJiBldmVudFBvcyA8IHNwbGl0dGVyU3RhcnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBpLmUuIHRoZSBzYXNoIHNob3VsZCBub3Qgc2hyaW5rIGlmIG1vdmVkIHRoZSBtb3VzZSBwb2ludGVyIGJleW9uZCB0aGUgcmlnaHQgYm91bmRzIG9mIHRoZSBzYXNoLCBhbmQgaWYgbm93IG1vdmluZyB0aGUgbW91c2UgcG9pbnRlciBiYWNrIHRvd2FyZCB0aGUgY3VycmVudCBzYXNoLlxuICAgIGlmIChkaXN0YW5jZSA8IDAgJiYgZXZlbnRQb3MgPiBzcGxpdHRlckVuZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGNvbXB1dGUgdGhlIG5ldyBzYXNoIHNpemVzXG4gICAgY29uc3Qgc2FzaDEgPSB0aGlzLnNhc2hlc1tzYXNoSW5kZXhdO1xuICAgIGNvbnN0IHNhc2gyID0gdGhpcy5zYXNoZXNbc2FzaEluZGV4ICsgMV07XG5cbiAgICBjb25zdCBzYXNoU2l6ZTEgPSBzYXNoMS5jb21wdXRlZFNpemU7XG4gICAgY29uc3Qgc2FzaFNpemUyID0gc2FzaDIuY29tcHV0ZWRTaXplO1xuICAgIGNvbnN0IG1heFNhc2hTaXplID0gc2FzaFNpemUxICsgc2FzaFNpemUyO1xuICAgIGNvbnN0IGNvbXB1dGVkTmV3U2FzaFNpemUxID0gTWF0aC5yb3VuZChzYXNoU2l6ZTEgKyBkaXN0YW5jZSk7XG4gICAgY29uc3QgY29tcHV0ZWROZXdTYXNoU2l6ZTIgPSBNYXRoLnJvdW5kKHNhc2hTaXplMiAtIGRpc3RhbmNlKTtcblxuICAgIGlmIChzYXNoMS5taW5TaXplICE9PSB1bmRlZmluZWQgJiYgZGlzdGFuY2UgPCAwICYmIGNvbXB1dGVkTmV3U2FzaFNpemUxIDwgdGhpcy50b1BpeGVsKHNhc2gxLm1pblNpemUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChzYXNoMi5taW5TaXplICE9PSB1bmRlZmluZWQgJiYgZGlzdGFuY2UgPiAwICYmIGNvbXB1dGVkTmV3U2FzaFNpemUyIDwgdGhpcy50b1BpeGVsKHNhc2gyLm1pblNpemUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWROZXdTYXNoU2l6ZTEgPSBiZXR3ZWVuKGNvbXB1dGVkTmV3U2FzaFNpemUxLCB7bWluOiAwLCBtYXg6IG1heFNhc2hTaXplfSk7XG4gICAgY29uc3QgdmFsaWROZXdTYXNoU2l6ZTIgPSBiZXR3ZWVuKGNvbXB1dGVkTmV3U2FzaFNpemUyLCB7bWluOiAwLCBtYXg6IG1heFNhc2hTaXplfSk7XG5cbiAgICAvLyBjb250aW51ZSBvbmx5IGlmIGJvdGggc2FzaGVzIGFkamFjZW50IHRvIHRoZSBzcGxpdHRlciBjaGFuZ2UgdGhlaXIgc2l6ZSAoYXMgdGhlIGV2ZW50IHdvdWxkIGNoYW5nZSBvdGhlciBzYXNoZXMgb3RoZXJ3aXNlKVxuICAgIGlmICh2YWxpZE5ld1Nhc2hTaXplMSAhPT0gY29tcHV0ZWROZXdTYXNoU2l6ZTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZhbGlkTmV3U2FzaFNpemUyICE9PSBjb21wdXRlZE5ld1Nhc2hTaXplMikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNldCB0aGUgbmV3IGNvbXB1dGVkIHNhc2ggc2l6ZXNcbiAgICB0aGlzLl96b25lLnJ1bigoKSA9PiB7XG4gICAgICBzYXNoMS5mbGV4QmFzaXMgPSBgJHtjb21wdXRlZE5ld1Nhc2hTaXplMX1weGA7XG4gICAgICBzYXNoMi5mbGV4QmFzaXMgPSBgJHtjb21wdXRlZE5ld1Nhc2hTaXplMn1weGA7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25TYXNoUmVzZXQoc2FzaEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBzYXNoMSA9IHRoaXMuc2FzaGVzW3Nhc2hJbmRleF07XG4gICAgY29uc3Qgc2FzaDIgPSB0aGlzLnNhc2hlc1tzYXNoSW5kZXggKyAxXTtcbiAgICBjb25zdCBlcXVhbFNhc2hTaXplID0gKHNhc2gxLmNvbXB1dGVkU2l6ZSArIHNhc2gyLmNvbXB1dGVkU2l6ZSkgLyAyO1xuICAgIGNvbnN0IHBpeGVsVG9GbGV4R3Jvd0ZhY3RvciA9IGNvbXB1dGVQaXhlbFRvRmxleEdyb3dGYWN0b3IodGhpcy5zYXNoZXMpO1xuICAgIGNvbnN0IGFic29sdXRlU2FzaFNpemVzQWZ0ZXJSZXNldCA9IHRoaXMuc2FzaGVzLm1hcCgoc2FzaCwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gc2FzaEluZGV4IHx8IGluZGV4ID09PSBzYXNoSW5kZXggKyAxKSB7XG4gICAgICAgIHJldHVybiBlcXVhbFNhc2hTaXplO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHNhc2guY29tcHV0ZWRTaXplO1xuICAgIH0pO1xuXG4gICAgW3Nhc2gxLCBzYXNoMl0uZm9yRWFjaChzYXNoID0+IHtcbiAgICAgIGlmIChzYXNoLmlzRml4ZWRTaXplKSB7XG4gICAgICAgIHNhc2guZmxleEJhc2lzID0gYCR7ZXF1YWxTYXNoU2l6ZX1weGA7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgc2FzaC5mbGV4R3JvdyA9IHBpeGVsVG9GbGV4R3Jvd0ZhY3RvciAqIGVxdWFsU2FzaFNpemU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnNhc2hTdGFydC5lbWl0KCk7XG4gICAgdGhpcy5zYXNoRW5kLmVtaXQoYWJzb2x1dGVTYXNoU2l6ZXNBZnRlclJlc2V0KTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uJylcbiAgcHVibGljIGdldCBpc0NvbHVtbkRpcmVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb24gPT09ICdjb2x1bW4nO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yb3cnKVxuICBwdWJsaWMgZ2V0IGlzUm93RGlyZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3Jvdyc7XG4gIH1cblxuICBwcml2YXRlIGdldCBzYXNoZXMoKTogU2NpU2FzaERpcmVjdGl2ZVtdIHtcbiAgICByZXR1cm4gdGhpcy5zYXNoZXMkLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9QaXhlbCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBpZiAodmFsdWUuZW5kc1dpdGgoJyUnKSkge1xuICAgICAgY29uc3QgaG9zdEJvdW5kcyA9IHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGhvc3RTaXplID0gKHRoaXMuaXNSb3dEaXJlY3Rpb24gPyBob3N0Qm91bmRzLndpZHRoIDogaG9zdEJvdW5kcy5oZWlnaHQpO1xuICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlLCAxMCkgKiBob3N0U2l6ZSAvIDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlLCAxMCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYmV0d2Vlbih2YWx1ZTogbnVtYmVyLCBtaW5tYXg6IHttaW46IG51bWJlcjsgbWF4OiBudW1iZXJ9KTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGgubWluKG1pbm1heC5tYXgsIE1hdGgubWF4KG1pbm1heC5taW4sIHZhbHVlKSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZmFjdG9yIHRvIGNvbXB1dGUgdGhlIGZsZXgtZ3JvdyBwcm9wb3J0aW9uIGZyb20gdGhlIHBpeGVsIHNpemUgb2YgYSBzYXNoLlxuICovXG5mdW5jdGlvbiBjb21wdXRlUGl4ZWxUb0ZsZXhHcm93RmFjdG9yKHNhc2hlczogU2NpU2FzaERpcmVjdGl2ZVtdKTogbnVtYmVyIHtcbiAgY29uc3QgZmxleGlibGVTYXNoZXMgPSBzYXNoZXMuZmlsdGVyKHNhc2ggPT4gIXNhc2guaXNGaXhlZFNpemUpO1xuXG4gIGNvbnN0IHByb3BvcnRpb25TdW0gPSBmbGV4aWJsZVNhc2hlcy5yZWR1Y2UoKHN1bSwgc2FzaCkgPT4gc3VtICsgTnVtYmVyKHNhc2guc2l6ZSksIDApO1xuICBjb25zdCBwaXhlbFN1bSA9IGZsZXhpYmxlU2FzaGVzLnJlZHVjZSgoc3VtLCBzYXNoKSA9PiBzdW0gKyBzYXNoLmNvbXB1dGVkU2l6ZSwgMCk7XG5cbiAgcmV0dXJuIHByb3BvcnRpb25TdW0gLyBwaXhlbFN1bTtcbn1cblxuZnVuY3Rpb24gcHJvdmlkZVNhc2hCb3hBY2Nlc3NvcigpOiBTY2lTYXNoQm94QWNjZXNzb3Ige1xuICBjb25zdCBjb21wb25lbnQgPSBpbmplY3QoU2NpU2FzaGJveENvbXBvbmVudCk7XG5cbiAgcmV0dXJuIG5ldyBjbGFzcyBpbXBsZW1lbnRzIFNjaVNhc2hCb3hBY2Nlc3NvciB7XG5cbiAgICBwdWJsaWMgZ2V0IGRpcmVjdGlvbigpOiAnY29sdW1uJyB8ICdyb3cnIHtcbiAgICAgIHJldHVybiBjb21wb25lbnQuZGlyZWN0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2FzaGVzJCgpOiBPYnNlcnZhYmxlPFNjaVNhc2hEaXJlY3RpdmVbXT4ge1xuICAgICAgcmV0dXJuIGNvbXBvbmVudC5zYXNoZXMkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2FzaGVzKCk6IFNjaVNhc2hEaXJlY3RpdmVbXSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50LnNhc2hlcyQudmFsdWU7XG4gICAgfVxuICB9O1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2FzaCBvZiBzYXNoZXMkIHwgYXN5bmM7IGluZGV4IGFzIGk7IGZpcnN0IGFzIGZpcnN0OyBsYXN0IGFzIGxhc3Q7XCI+XG4gIDxkaXYgY2xhc3M9XCJzYXNoXCJcbiAgICAgICBbY2xhc3MuZmlyc3RdPVwiZmlyc3RcIlxuICAgICAgIFtjbGFzcy5sYXN0XT1cImxhc3RcIlxuICAgICAgIFtzY2lTYXNoSW5pdGlhbGl6ZXJdPVwic2FzaFwiXG4gICAgICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJzYXNoLmZsZXhHcm93Tm9ybWFsaXplZCQgfCBhc3luY1wiXG4gICAgICAgW3N0eWxlLmZsZXgtc2hyaW5rXT1cInNhc2guZmxleFNocmlua1wiXG4gICAgICAgW3N0eWxlLmZsZXgtYmFzaXNdPVwic2FzaC5mbGV4QmFzaXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2FzaC5zYXNoVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPHNjaS1zcGxpdHRlciAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgICAgICAgICBzY2lFbGVtZW50UmVmICNzY2lFbGVtZW50UmVmPVwic2NpRWxlbWVudFJlZlwiXG4gICAgICAgICAgICAgICAgW29yaWVudGF0aW9uXT1cImlzUm93RGlyZWN0aW9uID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJ1wiXG4gICAgICAgICAgICAgICAgKHN0YXJ0KT1cIm9uU2FzaFN0YXJ0KClcIlxuICAgICAgICAgICAgICAgIChtb3ZlKT1cIm9uU2FzaChzY2lFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGksICRldmVudClcIlxuICAgICAgICAgICAgICAgIChlbmQpPVwib25TYXNoRW5kKClcIlxuICAgICAgICAgICAgICAgIChyZXNldCk9XCJvblNhc2hSZXNldChpKVwiPlxuICA8L3NjaS1zcGxpdHRlcj5cbjwvbmctY29udGFpbmVyPlxuIl19
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FzaGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3Nhc2hib3gvc3JjL3Nhc2hib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zYXNoYm94L3NyYy9zYXNoYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckosT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQW9CLE1BQU0sNEJBQTRCLENBQUM7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDekUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBRS9EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RHO0FBQ0gsTUFtQmEsbUJBQW1CO0lBMkI5QixnQkFBZ0I7SUFDaEIsSUFDVyxTQUFTLENBQUMsU0FB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O1FBQzNCLENBQUM7UUFFRCxJQUFXLE1BQU07WUFDZixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pDLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPdXRwdXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3N0YXJ0V2l0aCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NjaVNwbGl0dGVyQ29tcG9uZW50LCBTcGxpdHRlck1vdmVFdmVudH0gZnJvbSAnQHNjaW9uL2NvbXBvbmVudHMvc3BsaXR0ZXInO1xuaW1wb3J0IHtTY2lTYXNoRGlyZWN0aXZlfSBmcm9tICcuL3Nhc2guZGlyZWN0aXZlJztcbmltcG9ydCB7U2NpU2FzaEJveEFjY2Vzc29yfSBmcm9tICcuL3Nhc2hib3gtYWNjZXNzb3InO1xuaW1wb3J0IHtBc3luY1BpcGUsIE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTY2lTYXNoSW5pdGlhbGl6ZXJEaXJlY3RpdmV9IGZyb20gJy4vc2FzaC1pbml0aWFsaXplci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtTY2lFbGVtZW50UmVmRGlyZWN0aXZlfSBmcm9tICcuL2VsZW1lbnQtcmVmLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogVGhlIDxzY2ktc2FzaGJveD4gaXMgbGlrZSBhIENTUyBmbGV4Ym94IGNvbnRhaW5lciB0aGF0IGxheXMgb3V0IGl0cyBjb250ZW50IGNoaWxkcmVuIChzYXNoZXMpIGluIGEgcm93ICh3aGljaCBpcyBieSBkZWZhdWx0KVxuICogb3IgY29sdW1uIGFycmFuZ2VtZW50IChhcyBzcGVjaWZpZWQgYnkgdGhlIGRpcmVjdGlvbiBwcm9wZXJ0eSkuIEEgc3BsaXR0ZXIgaXMgYWRkZWQgYmV0d2VlbiBlYWNoIGNoaWxkIHRvIGFsbG93IHRoZSB1c2VyIHRvXG4gKiBzaHJpbmsgb3Igc3RyZXRjaCB0aGUgaW5kaXZpZHVhbCBzYXNoZXMuXG4gKlxuICogU2FzaGVzIGFyZSBtb2RlbGxlZCBhcyBjb250ZW50IGNoaWxkcmVuIGluc2lkZSBhIDxuZy10ZW1wbGF0ZT4gZGVjb3JhdGVkIHdpdGggdGhlICdzY2lTYXNoJyBkaXJlY3RpdmUuXG4gKiBBIHNhc2ggY2FuIGhhdmUgYSBmaXhlZCBzaXplIHdpdGggYW4gZXhwbGljaXQgdW5pdCwgb3IgYSB1bml0bGVzcyBwcm9wb3J0aW9uIHRvIGRpc3RpYnV0ZSByZW1haW5pbmcgc3BhY2UuXG4gKiBBIHByb3BvcnRpb25hbCBzYXNoIGhhcyB0aGUgYWJpbGl0eSB0byBncm93IG9yIHNocmluayBpZiBuZWNlc3NhcnkuXG4gKlxuICpcbiAqICMjIyBVc2FnZVxuICpcbiAqIGBgYGh0bWxcbiAqIDxzY2ktc2FzaGJveCBkaXJlY3Rpb249XCJyb3dcIj5cbiAqICAgPG5nLXRlbXBsYXRlIHNjaVNhc2ggc2l6ZT1cIjFcIj5cbiAqICAgICAuLi5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqXG4gKiAgIDxuZy10ZW1wbGF0ZSBzY2lTYXNoIHNpemU9XCIyXCI+XG4gKiAgICAgLi4uXG4gKiAgIDwvbmctdGVtcGxhdGU+XG4gKlxuICogICA8bmctdGVtcGxhdGUgc2NpU2FzaCBzaXplPVwiMVwiPlxuICogICAgIC4uLlxuICogICA8L25nLXRlbXBsYXRlPlxuICogPC9zY2ktc2FzaGJveD5cbiAqIGBgYFxuICpcbiAqICMjIyBTdHlsaW5nXG4gKlxuICogVG8gY3VzdG9taXplIHRoZSBkZWZhdWx0IGxvb2sgb2YgU0NJT04gY29tcG9uZW50cyBvciBzdXBwb3J0IGRpZmZlcmVudCB0aGVtZXMsIGNvbmZpZ3VyZSB0aGUgYEBzY2lvbi9jb21wb25lbnRzYCBTQ1NTIG1vZHVsZSBpbiBgc3R5bGVzLnNjc3NgLlxuICogVG8gc3R5bGUgYSBzcGVjaWZpYyBgc2NpLXNhc2hib3hgIGNvbXBvbmVudCwgdGhlIGZvbGxvd2luZyBDU1MgdmFyaWFibGVzIGNhbiBiZSBzZXQgZGlyZWN0bHkgb24gdGhlIGNvbXBvbmVudC5cbiAqXG4gKiAtIC0tc2NpLXNhc2hib3gtZ2FwOiBTZXRzIHRoZSBnYXBzIChndXR0ZXJzKSBiZXR3ZWVuIHNhc2hlcy5cbiAqIC0gLS1zY2ktc2FzaGJveC1zcGxpdHRlci1iYWNrZ3JvdW5kLWNvbG9yOiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzcGxpdHRlci5cbiAqIC0gLS1zY2ktc2FzaGJveC1zcGxpdHRlci1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzcGxpdHRlciB3aGVuIGhvdmVyaW5nIGl0LlxuICogLSAtLXNjaS1zYXNoYm94LXNwbGl0dGVyLXNpemU6IFNldHMgdGhlIHNpemUgb2YgdGhlIHNwbGl0dGVyIGFsb25nIHRoZSBtYWluIGF4aXMuXG4gKiAtIC0tc2NpLXNhc2hib3gtc3BsaXR0ZXItc2l6ZS1ob3ZlcjogU2V0cyB0aGUgc2l6ZSBvZiB0aGUgc3BsaXR0ZXIgYWxvbmcgdGhlIG1haW4gYXhpcyB3aGVuIGhvdmVyaW5nIGl0LlxuICogLSAtLXNjaS1zYXNoYm94LXNwbGl0dGVyLXRvdWNoLXRhcmdldC1zaXplOiBTZXRzIHRoZSB0b3VjaCB0YXJnZXQgc2l6ZSB0byBtb3ZlIHRoZSBzcGxpdHRlciAoYWNjZXNzaWJpbGl0eSkuXG4gKiAtIC0tc2NpLXNhc2hib3gtc3BsaXR0ZXItY3Jvc3MtYXhpcy1zaXplOiBTZXRzIHRoZSBzcGxpdHRlciBzaXplIGFsb25nIHRoZSBjcm9zcyBheGlzLlxuICogLSAtLXNjaS1zYXNoYm94LXNwbGl0dGVyLWJvcmRlci1yYWRpdXM6IFNldHMgdGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIHNwbGl0dGVyLlxuICogLSAtLXNjaS1zYXNoYm94LXNwbGl0dGVyLW9wYWNpdHktYWN0aXZlOiBTZXRzIHRoZSBvcGFjaXR5IG9mIHRoZSBzcGxpdHRlciB3aGlsZSB0aGUgdXNlciBtb3ZlcyB0aGUgc3BsaXR0ZXIuXG4gKiAtIC0tc2NpLXNhc2hib3gtc3BsaXR0ZXItb3BhY2l0eS1ob3ZlcjogU2V0cyB0aGUgb3BhY2l0eSBvZiB0aGUgc3BsaXR0ZXIgd2hlbiBob3ZlcmluZyBpdC5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYHNjc3NcbiAqIHNjaS1zYXNoYm94IHtcbiAqICAgLS1zY2ktc2FzaGJveC1zcGxpdHRlci1iYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAqICAgLS1zY2ktc2FzaGJveC1zcGxpdHRlci1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiBibGFjaztcbiAqIH1cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2ktc2FzaGJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXNoYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2FzaGJveC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBBc3luY1BpcGUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBTY2lTYXNoSW5pdGlhbGl6ZXJEaXJlY3RpdmUsXG4gICAgU2NpU3BsaXR0ZXJDb21wb25lbnQsXG4gICAgU2NpRWxlbWVudFJlZkRpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IFNjaVNhc2hCb3hBY2Nlc3NvcixcbiAgICB1c2VGYWN0b3J5OiBwcm92aWRlU2FzaEJveEFjY2Vzc29yLFxuICB9XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NpU2FzaGJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBzYXNoZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTY2lTYXNoRGlyZWN0aXZlW10+KFtdKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNhc2hpbmcnKVxuICBwdWJsaWMgc2FzaGluZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaWYgdG8gbGF5IG91dCBzYXNoZXMgaW4gYSByb3cgKHdoaWNoIGlzIGJ5IGRlZmF1bHQpIG9yIGNvbHVtbiBhcnJhbmdlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXJlY3Rpb246ICdjb2x1bW4nIHwgJ3JvdycgPSAncm93JztcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiBzdGFydCBzYXNoaW5nLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzYXNoU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBhYnNvbHV0ZSBzYXNoIHNpemVzIChweCkgd2hlbiBmaW5pc2hlZCBzYXNoaW5nLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzYXNoRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXJbXT4oKTtcblxuICAvKiogQGludGVybmFsICovXG4gIEBDb250ZW50Q2hpbGRyZW4oU2NpU2FzaERpcmVjdGl2ZSlcbiAgcHVibGljIHNldCBzZXRTYXNoZXMocXVlcnlMaXN0OiBRdWVyeUxpc3Q8U2NpU2FzaERpcmVjdGl2ZT4pIHtcbiAgICBxdWVyeUxpc3QuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChxdWVyeUxpc3QpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2FzaGVzOiBRdWVyeUxpc3Q8U2NpU2FzaERpcmVjdGl2ZT4pID0+IHtcbiAgICAgICAgdGhpcy5zYXNoZXMkLm5leHQoc2FzaGVzLnRvQXJyYXkoKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIF96b25lOiBOZ1pvbmUpIHtcbiAgfVxuXG4gIHB1YmxpYyBvblNhc2hTdGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhc2hpbmcgPSB0cnVlO1xuICAgIHRoaXMuc2FzaFN0YXJ0LmVtaXQoKTtcblxuICAgIC8vIHNldCB0aGUgZWZmZWN0aXZlIHNhc2ggc2l6ZSBhcyB0aGUgZmxleC1iYXNpcyBmb3Igbm9uLWZpeGVkIHNhc2hlcyAoYXMgc2FzaGluZyBvcGVyYXRlcyBvbiBwaXhlbCBkZWx0YXMpXG4gICAgdGhpcy5zYXNoZXMuZm9yRWFjaChzYXNoID0+IHtcbiAgICAgIGlmICghc2FzaC5pc0ZpeGVkU2l6ZSkge1xuICAgICAgICBzYXNoLmZsZXhHcm93ID0gMDtcbiAgICAgICAgc2FzaC5mbGV4U2hyaW5rID0gMDtcbiAgICAgICAgc2FzaC5mbGV4QmFzaXMgPSBgJHtzYXNoLmNvbXB1dGVkU2l6ZX1weGA7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25TYXNoRW5kKCk6IHZvaWQge1xuICAgIHRoaXMuc2FzaGluZyA9IGZhbHNlO1xuXG4gICAgLy8gdW5zZXQgdGhlIGZsZXgtYmFzaXMgZm9yIG5vbi1maXhlZCBzYXNoZXMgYW5kIHNldCB0aGUgZmxleC1ncm93IGFjY29yZGluZ2x5XG4gICAgY29uc3QgcGl4ZWxUb0ZsZXhHcm93RmFjdG9yID0gY29tcHV0ZVBpeGVsVG9GbGV4R3Jvd0ZhY3Rvcih0aGlzLnNhc2hlcyk7XG4gICAgY29uc3QgYWJzb2x1dGVTYXNoU2l6ZXMgPSB0aGlzLnNhc2hlcy5tYXAoc2FzaCA9PiBzYXNoLmNvbXB1dGVkU2l6ZSk7XG5cbiAgICB0aGlzLnNhc2hlcy5mb3JFYWNoKChzYXNoLCBpKSA9PiB7XG4gICAgICBpZiAoIXNhc2guaXNGaXhlZFNpemUpIHtcbiAgICAgICAgc2FzaC5mbGV4R3JvdyA9IHBpeGVsVG9GbGV4R3Jvd0ZhY3RvciAqIGFic29sdXRlU2FzaFNpemVzW2ldO1xuICAgICAgICBzYXNoLmZsZXhTaHJpbmsgPSAxO1xuICAgICAgICBzYXNoLmZsZXhCYXNpcyA9ICcwJztcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNhc2hFbmQuZW1pdChhYnNvbHV0ZVNhc2hTaXplcyk7XG4gIH1cblxuICBwdWJsaWMgb25TYXNoKHNwbGl0dGVyOiBIVE1MRWxlbWVudCwgc2FzaEluZGV4OiBudW1iZXIsIG1vdmVFdmVudDogU3BsaXR0ZXJNb3ZlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBkaXN0YW5jZSA9IG1vdmVFdmVudC5kaXN0YW5jZTtcbiAgICBpZiAoZGlzdGFuY2UgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBOZ1pvbmUuYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpO1xuXG4gICAgLy8gY29tcHV0ZSB0aGUgc3BsaXR0ZXIgcG9zaXRpb25cbiAgICBjb25zdCBzcGxpdHRlclJlY3QgPSBzcGxpdHRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzcGxpdHRlclN0YXJ0ID0gKHRoaXMuaXNSb3dEaXJlY3Rpb24gPyBzcGxpdHRlclJlY3QubGVmdCA6IHNwbGl0dGVyUmVjdC50b3ApO1xuICAgIGNvbnN0IHNwbGl0dGVyRW5kID0gKHRoaXMuaXNSb3dEaXJlY3Rpb24gPyBzcGxpdHRlclJlY3QubGVmdCArIHNwbGl0dGVyUmVjdC53aWR0aCA6IHNwbGl0dGVyUmVjdC50b3AgKyBzcGxpdHRlclJlY3QuaGVpZ2h0KTtcblxuICAgIC8vIGlnbm9yZSB0aGUgZXZlbnQgaWYgb3V0c2lkZSBvZiB0aGUgc3BsaXR0ZXIncyBhY3Rpb24gc2NvcGVcbiAgICBjb25zdCBldmVudFBvcyA9IG1vdmVFdmVudC5wb3NpdGlvbi5jbGllbnRQb3M7XG4gICAgLy8gaS5lLiB0aGUgc2FzaCBzaG91bGQgbm90IGdyb3cgaWYgbW92ZWQgdGhlIG1vdXNlIHBvaW50ZXIgYmV5b25kIHRoZSBsZWZ0IGJvdW5kcyBvZiB0aGUgc2FzaCwgYW5kIGlmIG5vdyBtb3ZpbmcgdGhlIG1vdXNlIHBvaW50ZXIgYmFjayB0b3dhcmQgdGhlIGN1cnJlbnQgc2FzaC5cbiAgICBpZiAoZGlzdGFuY2UgPiAwICYmIGV2ZW50UG9zIDwgc3BsaXR0ZXJTdGFydCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGkuZS4gdGhlIHNhc2ggc2hvdWxkIG5vdCBzaHJpbmsgaWYgbW92ZWQgdGhlIG1vdXNlIHBvaW50ZXIgYmV5b25kIHRoZSByaWdodCBib3VuZHMgb2YgdGhlIHNhc2gsIGFuZCBpZiBub3cgbW92aW5nIHRoZSBtb3VzZSBwb2ludGVyIGJhY2sgdG93YXJkIHRoZSBjdXJyZW50IHNhc2guXG4gICAgaWYgKGRpc3RhbmNlIDwgMCAmJiBldmVudFBvcyA+IHNwbGl0dGVyRW5kKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gY29tcHV0ZSB0aGUgbmV3IHNhc2ggc2l6ZXNcbiAgICBjb25zdCBzYXNoMSA9IHRoaXMuc2FzaGVzW3Nhc2hJbmRleF07XG4gICAgY29uc3Qgc2FzaDIgPSB0aGlzLnNhc2hlc1tzYXNoSW5kZXggKyAxXTtcblxuICAgIGNvbnN0IHNhc2hTaXplMSA9IHNhc2gxLmNvbXB1dGVkU2l6ZTtcbiAgICBjb25zdCBzYXNoU2l6ZTIgPSBzYXNoMi5jb21wdXRlZFNpemU7XG4gICAgY29uc3QgbWF4U2FzaFNpemUgPSBzYXNoU2l6ZTEgKyBzYXNoU2l6ZTI7XG4gICAgY29uc3QgY29tcHV0ZWROZXdTYXNoU2l6ZTEgPSBNYXRoLnJvdW5kKHNhc2hTaXplMSArIGRpc3RhbmNlKTtcbiAgICBjb25zdCBjb21wdXRlZE5ld1Nhc2hTaXplMiA9IE1hdGgucm91bmQoc2FzaFNpemUyIC0gZGlzdGFuY2UpO1xuXG4gICAgaWYgKHNhc2gxLm1pblNpemUgIT09IHVuZGVmaW5lZCAmJiBkaXN0YW5jZSA8IDAgJiYgY29tcHV0ZWROZXdTYXNoU2l6ZTEgPCB0aGlzLnRvUGl4ZWwoc2FzaDEubWluU2l6ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHNhc2gyLm1pblNpemUgIT09IHVuZGVmaW5lZCAmJiBkaXN0YW5jZSA+IDAgJiYgY29tcHV0ZWROZXdTYXNoU2l6ZTIgPCB0aGlzLnRvUGl4ZWwoc2FzaDIubWluU2l6ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWxpZE5ld1Nhc2hTaXplMSA9IGJldHdlZW4oY29tcHV0ZWROZXdTYXNoU2l6ZTEsIHttaW46IDAsIG1heDogbWF4U2FzaFNpemV9KTtcbiAgICBjb25zdCB2YWxpZE5ld1Nhc2hTaXplMiA9IGJldHdlZW4oY29tcHV0ZWROZXdTYXNoU2l6ZTIsIHttaW46IDAsIG1heDogbWF4U2FzaFNpemV9KTtcblxuICAgIC8vIGNvbnRpbnVlIG9ubHkgaWYgYm90aCBzYXNoZXMgYWRqYWNlbnQgdG8gdGhlIHNwbGl0dGVyIGNoYW5nZSB0aGVpciBzaXplIChhcyB0aGUgZXZlbnQgd291bGQgY2hhbmdlIG90aGVyIHNhc2hlcyBvdGhlcndpc2UpXG4gICAgaWYgKHZhbGlkTmV3U2FzaFNpemUxICE9PSBjb21wdXRlZE5ld1Nhc2hTaXplMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodmFsaWROZXdTYXNoU2l6ZTIgIT09IGNvbXB1dGVkTmV3U2FzaFNpemUyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gc2V0IHRoZSBuZXcgY29tcHV0ZWQgc2FzaCBzaXplc1xuICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcbiAgICAgIHNhc2gxLmZsZXhCYXNpcyA9IGAke2NvbXB1dGVkTmV3U2FzaFNpemUxfXB4YDtcbiAgICAgIHNhc2gyLmZsZXhCYXNpcyA9IGAke2NvbXB1dGVkTmV3U2FzaFNpemUyfXB4YDtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNhc2hSZXNldChzYXNoSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHNhc2gxID0gdGhpcy5zYXNoZXNbc2FzaEluZGV4XTtcbiAgICBjb25zdCBzYXNoMiA9IHRoaXMuc2FzaGVzW3Nhc2hJbmRleCArIDFdO1xuICAgIGNvbnN0IGVxdWFsU2FzaFNpemUgPSAoc2FzaDEuY29tcHV0ZWRTaXplICsgc2FzaDIuY29tcHV0ZWRTaXplKSAvIDI7XG4gICAgY29uc3QgcGl4ZWxUb0ZsZXhHcm93RmFjdG9yID0gY29tcHV0ZVBpeGVsVG9GbGV4R3Jvd0ZhY3Rvcih0aGlzLnNhc2hlcyk7XG4gICAgY29uc3QgYWJzb2x1dGVTYXNoU2l6ZXNBZnRlclJlc2V0ID0gdGhpcy5zYXNoZXMubWFwKChzYXNoLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGluZGV4ID09PSBzYXNoSW5kZXggfHwgaW5kZXggPT09IHNhc2hJbmRleCArIDEpIHtcbiAgICAgICAgcmV0dXJuIGVxdWFsU2FzaFNpemU7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2FzaC5jb21wdXRlZFNpemU7XG4gICAgfSk7XG5cbiAgICBbc2FzaDEsIHNhc2gyXS5mb3JFYWNoKHNhc2ggPT4ge1xuICAgICAgaWYgKHNhc2guaXNGaXhlZFNpemUpIHtcbiAgICAgICAgc2FzaC5mbGV4QmFzaXMgPSBgJHtlcXVhbFNhc2hTaXplfXB4YDtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBzYXNoLmZsZXhHcm93ID0gcGl4ZWxUb0ZsZXhHcm93RmFjdG9yICogZXF1YWxTYXNoU2l6ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc2FzaFN0YXJ0LmVtaXQoKTtcbiAgICB0aGlzLnNhc2hFbmQuZW1pdChhYnNvbHV0ZVNhc2hTaXplc0FmdGVyUmVzZXQpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2x1bW4nKVxuICBwdWJsaWMgZ2V0IGlzQ29sdW1uRGlyZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ2NvbHVtbic7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdycpXG4gIHB1YmxpYyBnZXQgaXNSb3dEaXJlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAncm93JztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHNhc2hlcygpOiBTY2lTYXNoRGlyZWN0aXZlW10ge1xuICAgIHJldHVybiB0aGlzLnNhc2hlcyQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b1BpeGVsKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5lbmRzV2l0aCgnJScpKSB7XG4gICAgICBjb25zdCBob3N0Qm91bmRzID0gdGhpcy5faG9zdC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaG9zdFNpemUgPSAodGhpcy5pc1Jvd0RpcmVjdGlvbiA/IGhvc3RCb3VuZHMud2lkdGggOiBob3N0Qm91bmRzLmhlaWdodCk7XG4gICAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKSAqIGhvc3RTaXplIC8gMTAwO1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBiZXR3ZWVuKHZhbHVlOiBudW1iZXIsIG1pbm1heDoge21pbjogbnVtYmVyOyBtYXg6IG51bWJlcn0pOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5taW4obWlubWF4Lm1heCwgTWF0aC5tYXgobWlubWF4Lm1pbiwgdmFsdWUpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmYWN0b3IgdG8gY29tcHV0ZSB0aGUgZmxleC1ncm93IHByb3BvcnRpb24gZnJvbSB0aGUgcGl4ZWwgc2l6ZSBvZiBhIHNhc2guXG4gKi9cbmZ1bmN0aW9uIGNvbXB1dGVQaXhlbFRvRmxleEdyb3dGYWN0b3Ioc2FzaGVzOiBTY2lTYXNoRGlyZWN0aXZlW10pOiBudW1iZXIge1xuICBjb25zdCBmbGV4aWJsZVNhc2hlcyA9IHNhc2hlcy5maWx0ZXIoc2FzaCA9PiAhc2FzaC5pc0ZpeGVkU2l6ZSk7XG5cbiAgY29uc3QgcHJvcG9ydGlvblN1bSA9IGZsZXhpYmxlU2FzaGVzLnJlZHVjZSgoc3VtLCBzYXNoKSA9PiBzdW0gKyBOdW1iZXIoc2FzaC5zaXplKSwgMCk7XG4gIGNvbnN0IHBpeGVsU3VtID0gZmxleGlibGVTYXNoZXMucmVkdWNlKChzdW0sIHNhc2gpID0+IHN1bSArIHNhc2guY29tcHV0ZWRTaXplLCAwKTtcblxuICByZXR1cm4gcHJvcG9ydGlvblN1bSAvIHBpeGVsU3VtO1xufVxuXG5mdW5jdGlvbiBwcm92aWRlU2FzaEJveEFjY2Vzc29yKCk6IFNjaVNhc2hCb3hBY2Nlc3NvciB7XG4gIGNvbnN0IGNvbXBvbmVudCA9IGluamVjdChTY2lTYXNoYm94Q29tcG9uZW50KTtcblxuICByZXR1cm4gbmV3IGNsYXNzIGltcGxlbWVudHMgU2NpU2FzaEJveEFjY2Vzc29yIHtcblxuICAgIHB1YmxpYyBnZXQgZGlyZWN0aW9uKCk6ICdjb2x1bW4nIHwgJ3Jvdycge1xuICAgICAgcmV0dXJuIGNvbXBvbmVudC5kaXJlY3Rpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzYXNoZXMkKCk6IE9ic2VydmFibGU8U2NpU2FzaERpcmVjdGl2ZVtdPiB7XG4gICAgICByZXR1cm4gY29tcG9uZW50LnNhc2hlcyQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzYXNoZXMoKTogU2NpU2FzaERpcmVjdGl2ZVtdIHtcbiAgICAgIHJldHVybiBjb21wb25lbnQuc2FzaGVzJC52YWx1ZTtcbiAgICB9XG4gIH07XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzYXNoIG9mIHNhc2hlcyQgfCBhc3luYzsgaW5kZXggYXMgaTsgZmlyc3QgYXMgZmlyc3Q7IGxhc3QgYXMgbGFzdDtcIj5cbiAgPGRpdiBjbGFzcz1cInNhc2hcIlxuICAgICAgIFtjbGFzcy5maXJzdF09XCJmaXJzdFwiXG4gICAgICAgW2NsYXNzLmxhc3RdPVwibGFzdFwiXG4gICAgICAgW3NjaVNhc2hJbml0aWFsaXplcl09XCJzYXNoXCJcbiAgICAgICBbc3R5bGUuZmxleC1ncm93XT1cInNhc2guZmxleEdyb3dOb3JtYWxpemVkJCB8IGFzeW5jXCJcbiAgICAgICBbc3R5bGUuZmxleC1zaHJpbmtdPVwic2FzaC5mbGV4U2hyaW5rXCJcbiAgICAgICBbc3R5bGUuZmxleC1iYXNpc109XCJzYXNoLmZsZXhCYXNpc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzYXNoLnNhc2hUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8c2NpLXNwbGl0dGVyICpuZ0lmPVwiIWxhc3RcIlxuICAgICAgICAgICAgICAgIHNjaUVsZW1lbnRSZWYgI3NjaUVsZW1lbnRSZWY9XCJzY2lFbGVtZW50UmVmXCJcbiAgICAgICAgICAgICAgICBbb3JpZW50YXRpb25dPVwiaXNSb3dEaXJlY3Rpb24gPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnXCJcbiAgICAgICAgICAgICAgICAoc3RhcnQpPVwib25TYXNoU3RhcnQoKVwiXG4gICAgICAgICAgICAgICAgKG1vdmUpPVwib25TYXNoKHNjaUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgaSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGVuZCk9XCJvblNhc2hFbmQoKVwiXG4gICAgICAgICAgICAgICAgKHJlc2V0KT1cIm9uU2FzaFJlc2V0KGkpXCI+XG4gIDwvc2NpLXNwbGl0dGVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -24,32 +24,33 @@ import * as i0 from "@angular/core";
24
24
  * In the toolkit, {@link SciSashboxComponent} uses this splitter to divide a layout into several resizable sections.
25
25
  * Another use case would be a resizable sidebar panel.
26
26
  *
27
- * ### Usage:
27
+ * ### Usage
28
28
  *
29
29
  * ```html
30
30
  * <sci-splitter (move)="onSplitterMove($event.distance)"></sci-splitter>
31
31
  * ```
32
32
  *
33
- * ### Theme override:
34
- * The default style of the splitter is made up of shades of gray.
35
- * You can control the appearance by overriding the following CSS variables:
33
+ * ### Styling
36
34
  *
37
- * - --sci-splitter-bgcolor: Sets the background color of the splitter.
38
- * - --sci-splitter-bgcolor_hover: Sets the background color of the splitter when hovering it.
35
+ * To customize the default look of SCION components or support different themes, configure the `@scion/components` SCSS module in `styles.scss`.
36
+ * To style a specific `sci-splitter` component, the following CSS variables can be set directly on the component.
37
+ *
38
+ * - --sci-splitter-background-color: Sets the background color of the splitter.
39
+ * - --sci-splitter-background-color-hover: Sets the background color of the splitter when hovering it.
39
40
  * - --sci-splitter-size: Sets the size of the splitter along the main axis.
40
- * - --sci-splitter-size_hover: Sets the size of the splitter along the main axis when hovering it.
41
+ * - --sci-splitter-size-hover: Sets the size of the splitter along the main axis when hovering it.
41
42
  * - --sci-splitter-touch-target-size: Sets the touch target size to move the splitter (accessibility).
42
43
  * - --sci-splitter-cross-axis-size: Sets the splitter size along the cross axis.
43
44
  * - --sci-splitter-border-radius: Sets the border radius of the splitter.
44
- * - --sci-splitter-opacity_active: Sets the opacity of the splitter while the user moves the splitter.
45
- * - --sci-splitter-opacity_hover: Sets the opacity of the splitter when hovering it.
45
+ * - --sci-splitter-opacity-active: Sets the opacity of the splitter while the user moves the splitter.
46
+ * - --sci-splitter-opacity-hover: Sets the opacity of the splitter when hovering it.
46
47
  *
47
48
  * Example:
48
49
  *
49
50
  * ```scss
50
51
  * sci-splitter {
51
- * --sci-splitter-bgcolor: black;
52
- * --sci-splitter-bgcolor_hover: black;
52
+ * --sci-splitter-background-color: black;
53
+ * --sci-splitter-background-color-hover: black;
53
54
  * }
54
55
  * ```
55
56
  */
@@ -188,12 +189,12 @@ class SciSplitterComponent {
188
189
  this._destroy$.next();
189
190
  }
190
191
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciSplitterComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciSplitterComponent, isStandalone: true, selector: "sci-splitter", inputs: { orientation: "orientation" }, outputs: { start: "start", move: "move", end: "end", reset: "reset" }, host: { properties: { "class.moving": "this.moving", "class.vertical": "this.isVertical", "class.horizontal": "this.isHorizontal", "style.cursor": "this.splitterCursor" } }, viewQueries: [{ propertyName: "touchTargetElementRef", first: true, predicate: ["touch_target"], descendants: true, static: true }], ngImport: i0, template: "<div #touch_target class=\"touch-target\">\n <div class=\"handle\"></div>\n</div>\n", styles: [":host{--sci-splitter-bgcolor: #d2d2d2;--sci-splitter-bgcolor_hover: var(--sci-splitter-bgcolor);--sci-splitter-size: 1px;--sci-splitter-size_hover: 8px;--sci-splitter-touch-target-size: 15px;--sci-splitter-cross-axis-size: 100%;--sci-splitter-border-radius: 0;--sci-splitter-opacity_active: 1;--sci-splitter-opacity_hover: .3;display:grid;position:relative;background-color:var(--sci-splitter-bgcolor);border-radius:var(--sci-splitter-border-radius);place-items:center;align-self:center}:host>div.touch-target{position:absolute;display:grid;place-items:center;pointer-events:auto}:host>div.touch-target>div.handle{position:absolute;background-color:var(--sci-splitter-bgcolor);border-radius:var(--sci-splitter-border-radius);opacity:var(--sci-splitter-opacity_hover);transition-property:width,height;transition-timing-function:ease-in;transition-duration:75ms}:host.vertical{width:var(--sci-splitter-size);height:var(--sci-splitter-cross-axis-size)}:host.vertical>div.touch-target{width:var(--sci-splitter-touch-target-size);height:100%}:host.vertical>div.touch-target>div.handle{width:var(--sci-splitter-size);height:100%}:host.horizontal{height:var(--sci-splitter-size);width:var(--sci-splitter-cross-axis-size)}:host.horizontal>div.touch-target{width:100%;height:var(--sci-splitter-touch-target-size)}:host.horizontal>div.touch-target>div.handle{width:100%;height:var(--sci-splitter-size)}:host>div.touch-target:active>div.handle{opacity:var(--sci-splitter-opacity_active)}:host.vertical.moving>div.touch-target>div.handle,:host.vertical>div.touch-target:hover>div.handle{background-color:var(--sci-splitter-bgcolor_hover);width:var(--sci-splitter-size_hover)}:host.horizontal.moving>div.touch-target>div.handle,:host.horizontal>div.touch-target:hover>div.handle{background-color:var(--sci-splitter-bgcolor_hover);height:var(--sci-splitter-size_hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
192
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciSplitterComponent, isStandalone: true, selector: "sci-splitter", inputs: { orientation: "orientation" }, outputs: { start: "start", move: "move", end: "end", reset: "reset" }, host: { properties: { "class.moving": "this.moving", "class.vertical": "this.isVertical", "class.horizontal": "this.isHorizontal", "style.cursor": "this.splitterCursor" } }, viewQueries: [{ propertyName: "touchTargetElementRef", first: true, predicate: ["touch_target"], descendants: true, static: true }], ngImport: i0, template: "<div #touch_target class=\"touch-target\">\n <div class=\"handle\"></div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{--\\275sci-splitter-background-color: var(--sci-splitter-background-color, var(--sci-splitter-bgcolor, #d2d2d2));--\\275sci-splitter-background-color-hover: var(--sci-splitter-background-color-hover, var(--sci-splitter-bgcolor_hover, var(--\\275sci-splitter-background-color)));--\\275sci-splitter-size: var(--sci-splitter-size, 1px);--\\275sci-splitter-size-hover: var(--sci-splitter-size-hover, var(--sci-splitter-size_hover, 8px));--\\275sci-splitter-touch-target-size: var(--sci-splitter-touch-target-size, 15px);--\\275sci-splitter-cross-axis-size: var(--sci-splitter-cross-axis-size, 100%);--\\275sci-splitter-border-radius: var(--sci-splitter-border-radius, 0);--\\275sci-splitter-opacity-active: var(--sci-splitter-opacity-active, var(--sci-splitter-opacity_active, 1));--\\275sci-splitter-opacity-hover: var(--sci-splitter-opacity-hover, var(--sci-splitter-opacity_hover, .3));display:grid;position:relative;background-color:var(--\\275sci-splitter-background-color);border-radius:var(--\\275sci-splitter-border-radius);place-items:center;align-self:center}:host>div.touch-target{position:absolute;display:grid;place-items:center;pointer-events:auto}:host>div.touch-target>div.handle{position:absolute;background-color:var(--\\275sci-splitter-background-color);border-radius:var(--\\275sci-splitter-border-radius);opacity:var(--\\275sci-splitter-opacity-hover);transition-property:width,height;transition-timing-function:ease-in;transition-duration:75ms}:host.vertical{width:var(--\\275sci-splitter-size);height:var(--\\275sci-splitter-cross-axis-size)}:host.vertical>div.touch-target{width:var(--\\275sci-splitter-touch-target-size);height:100%}:host.vertical>div.touch-target>div.handle{width:var(--\\275sci-splitter-size);height:100%}:host.horizontal{height:var(--\\275sci-splitter-size);width:var(--\\275sci-splitter-cross-axis-size)}:host.horizontal>div.touch-target{width:100%;height:var(--\\275sci-splitter-touch-target-size)}:host.horizontal>div.touch-target>div.handle{width:100%;height:var(--\\275sci-splitter-size)}:host>div.touch-target:active>div.handle{opacity:var(--\\275sci-splitter-opacity-active)}:host.vertical.moving>div.touch-target>div.handle,:host.vertical>div.touch-target:hover>div.handle{background-color:var(--\\275sci-splitter-background-color-hover);width:var(--\\275sci-splitter-size-hover)}:host.horizontal.moving>div.touch-target>div.handle,:host.horizontal>div.touch-target:hover>div.handle{background-color:var(--\\275sci-splitter-background-color-hover);height:var(--\\275sci-splitter-size-hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
192
193
  }
193
194
  export { SciSplitterComponent };
194
195
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciSplitterComponent, decorators: [{
195
196
  type: Component,
196
- args: [{ selector: 'sci-splitter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div #touch_target class=\"touch-target\">\n <div class=\"handle\"></div>\n</div>\n", styles: [":host{--sci-splitter-bgcolor: #d2d2d2;--sci-splitter-bgcolor_hover: var(--sci-splitter-bgcolor);--sci-splitter-size: 1px;--sci-splitter-size_hover: 8px;--sci-splitter-touch-target-size: 15px;--sci-splitter-cross-axis-size: 100%;--sci-splitter-border-radius: 0;--sci-splitter-opacity_active: 1;--sci-splitter-opacity_hover: .3;display:grid;position:relative;background-color:var(--sci-splitter-bgcolor);border-radius:var(--sci-splitter-border-radius);place-items:center;align-self:center}:host>div.touch-target{position:absolute;display:grid;place-items:center;pointer-events:auto}:host>div.touch-target>div.handle{position:absolute;background-color:var(--sci-splitter-bgcolor);border-radius:var(--sci-splitter-border-radius);opacity:var(--sci-splitter-opacity_hover);transition-property:width,height;transition-timing-function:ease-in;transition-duration:75ms}:host.vertical{width:var(--sci-splitter-size);height:var(--sci-splitter-cross-axis-size)}:host.vertical>div.touch-target{width:var(--sci-splitter-touch-target-size);height:100%}:host.vertical>div.touch-target>div.handle{width:var(--sci-splitter-size);height:100%}:host.horizontal{height:var(--sci-splitter-size);width:var(--sci-splitter-cross-axis-size)}:host.horizontal>div.touch-target{width:100%;height:var(--sci-splitter-touch-target-size)}:host.horizontal>div.touch-target>div.handle{width:100%;height:var(--sci-splitter-size)}:host>div.touch-target:active>div.handle{opacity:var(--sci-splitter-opacity_active)}:host.vertical.moving>div.touch-target>div.handle,:host.vertical>div.touch-target:hover>div.handle{background-color:var(--sci-splitter-bgcolor_hover);width:var(--sci-splitter-size_hover)}:host.horizontal.moving>div.touch-target>div.handle,:host.horizontal>div.touch-target:hover>div.handle{background-color:var(--sci-splitter-bgcolor_hover);height:var(--sci-splitter-size_hover)}\n"] }]
197
+ args: [{ selector: 'sci-splitter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div #touch_target class=\"touch-target\">\n <div class=\"handle\"></div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{--\\275sci-splitter-background-color: var(--sci-splitter-background-color, var(--sci-splitter-bgcolor, #d2d2d2));--\\275sci-splitter-background-color-hover: var(--sci-splitter-background-color-hover, var(--sci-splitter-bgcolor_hover, var(--\\275sci-splitter-background-color)));--\\275sci-splitter-size: var(--sci-splitter-size, 1px);--\\275sci-splitter-size-hover: var(--sci-splitter-size-hover, var(--sci-splitter-size_hover, 8px));--\\275sci-splitter-touch-target-size: var(--sci-splitter-touch-target-size, 15px);--\\275sci-splitter-cross-axis-size: var(--sci-splitter-cross-axis-size, 100%);--\\275sci-splitter-border-radius: var(--sci-splitter-border-radius, 0);--\\275sci-splitter-opacity-active: var(--sci-splitter-opacity-active, var(--sci-splitter-opacity_active, 1));--\\275sci-splitter-opacity-hover: var(--sci-splitter-opacity-hover, var(--sci-splitter-opacity_hover, .3));display:grid;position:relative;background-color:var(--\\275sci-splitter-background-color);border-radius:var(--\\275sci-splitter-border-radius);place-items:center;align-self:center}:host>div.touch-target{position:absolute;display:grid;place-items:center;pointer-events:auto}:host>div.touch-target>div.handle{position:absolute;background-color:var(--\\275sci-splitter-background-color);border-radius:var(--\\275sci-splitter-border-radius);opacity:var(--\\275sci-splitter-opacity-hover);transition-property:width,height;transition-timing-function:ease-in;transition-duration:75ms}:host.vertical{width:var(--\\275sci-splitter-size);height:var(--\\275sci-splitter-cross-axis-size)}:host.vertical>div.touch-target{width:var(--\\275sci-splitter-touch-target-size);height:100%}:host.vertical>div.touch-target>div.handle{width:var(--\\275sci-splitter-size);height:100%}:host.horizontal{height:var(--\\275sci-splitter-size);width:var(--\\275sci-splitter-cross-axis-size)}:host.horizontal>div.touch-target{width:100%;height:var(--\\275sci-splitter-touch-target-size)}:host.horizontal>div.touch-target>div.handle{width:100%;height:var(--\\275sci-splitter-size)}:host>div.touch-target:active>div.handle{opacity:var(--\\275sci-splitter-opacity-active)}:host.vertical.moving>div.touch-target>div.handle,:host.vertical>div.touch-target:hover>div.handle{background-color:var(--\\275sci-splitter-background-color-hover);width:var(--\\275sci-splitter-size-hover)}:host.horizontal.moving>div.touch-target>div.handle,:host.horizontal>div.touch-target:hover>div.handle{background-color:var(--\\275sci-splitter-background-color-hover);height:var(--\\275sci-splitter-size-hover)}\n"] }]
197
198
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
198
199
  type: Inject,
199
200
  args: [DOCUMENT]
@@ -223,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
223
224
  type: ViewChild,
224
225
  args: ['touch_target', { static: true }]
225
226
  }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zcGxpdHRlci9zcmMvc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zcGxpdHRlci9zcmMvc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hMLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q0c7QUFDSCxNQU9hLG9CQUFvQjtJQVEvQixJQUNXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ1csWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDO0lBQzNDLENBQUM7SUFrQ0QsbUJBQW1CO0lBQ25CLElBQ1csY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ3JELENB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RHhCLFdBQVc7dUJBQUMsY0FBYztnQkFPcEIscUJBQXFCO3NCQUQzQixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7dGFwRmlyc3R9IGZyb20gJ0BzY2lvbi90b29sa2l0L29wZXJhdG9ycyc7XG5pbXBvcnQge2ZpcnN0LCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc3BsaXR0ZXIsIGEgdmlzdWFsIGVsZW1lbnQgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gY29udHJvbCB0aGUgc2l6ZSBvZiBlbGVtZW50cyBuZXh0IHRvIGl0LlxuICpcbiAqIFRoZSBzcGxpdHRlciBoYXMgYSBoYW5kbGUgdGhhdCB0aGUgdXNlciBjYW4gbW92ZSBkZXBlbmRpbmcgb24gdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBzcGxpdHRlci5cbiAqXG4gKiBOb3RlIHRoYXQgdGhpcyBjb250cm9sIG5laXRoZXIgZG9lcyBjaGFuZ2UgdGhlIHNpemUgb2YgYWRqYWNlbnQgZWxlbWVudHMgbm9yIGRvZXMgaXQgKHJlLSlwb3NpdGlvbiBpdHNlbGYsIGJ1dCBlbWl0cyB0aGUgZGlzdGFuY2UgYnlcbiAqIHdoaWNoIHRoZSB1c2VyIGhhcyB0aGVvcmV0aWNhbGx5IG1vdmVkIHRoZSBzcGxpdHRlci4gWW91IG11c3Qgc3Vic2NyaWJlIHRvIHRoZXNlIGV2ZW50cyBhbmQgY2hhbmdlIHlvdXIgbGF5b3V0IGFjY29yZGluZ2x5LlxuICpcbiAqIEluIHRoZSB0b29sa2l0LCB7QGxpbmsgU2NpU2FzaGJveENvbXBvbmVudH0gdXNlcyB0aGlzIHNwbGl0dGVyIHRvIGRpdmlkZSBhIGxheW91dCBpbnRvIHNldmVyYWwgcmVzaXphYmxlIHNlY3Rpb25zLlxuICogQW5vdGhlciB1c2UgY2FzZSB3b3VsZCBiZSBhIHJlc2l6YWJsZSBzaWRlYmFyIHBhbmVsLlxuICpcbiAqICMjIyBVc2FnZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8c2NpLXNwbGl0dGVyIChtb3ZlKT1cIm9uU3BsaXR0ZXJNb3ZlKCRldmVudC5kaXN0YW5jZSlcIj48L3NjaS1zcGxpdHRlcj5cbiAqIGBgYFxuICpcbiAqICMjIyBUaGVtZSBvdmVycmlkZTpcbiAqIFRoZSBkZWZhdWx0IHN0eWxlIG9mIHRoZSBzcGxpdHRlciBpcyBtYWRlIHVwIG9mIHNoYWRlcyBvZiBncmF5LlxuICogWW91IGNhbiBjb250cm9sIHRoZSBhcHBlYXJhbmNlIGJ5IG92ZXJyaWRpbmcgdGhlIGZvbGxvd2luZyBDU1MgdmFyaWFibGVzOlxuICpcbiAqIC0gLS1zY2ktc3BsaXR0ZXItYmdjb2xvcjogU2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc3BsaXR0ZXIuXG4gKiAtIC0tc2NpLXNwbGl0dGVyLWJnY29sb3JfaG92ZXI6IFNldHMgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNwbGl0dGVyIHdoZW4gaG92ZXJpbmcgaXQuXG4gKiAtIC0tc2NpLXNwbGl0dGVyLXNpemU6IFNldHMgdGhlIHNpemUgb2YgdGhlIHNwbGl0dGVyIGFsb25nIHRoZSBtYWluIGF4aXMuXG4gKiAtIC0tc2NpLXNwbGl0dGVyLXNpemVfaG92ZXI6IFNldHMgdGhlIHNpemUgb2YgdGhlIHNwbGl0dGVyIGFsb25nIHRoZSBtYWluIGF4aXMgd2hlbiBob3ZlcmluZyBpdC5cbiAqIC0gLS1zY2ktc3BsaXR0ZXItdG91Y2gtdGFyZ2V0LXNpemU6IFNldHMgdGhlIHRvdWNoIHRhcmdldCBzaXplIHRvIG1vdmUgdGhlIHNwbGl0dGVyIChhY2Nlc3NpYmlsaXR5KS5cbiAqIC0gLS1zY2ktc3BsaXR0ZXItY3Jvc3MtYXhpcy1zaXplOiBTZXRzIHRoZSBzcGxpdHRlciBzaXplIGFsb25nIHRoZSBjcm9zcyBheGlzLlxuICogLSAtLXNjaS1zcGxpdHRlci1ib3JkZXItcmFkaXVzOiBTZXRzIHRoZSBib3JkZXIgcmFkaXVzIG9mIHRoZSBzcGxpdHRlci5cbiAqIC0gLS1zY2ktc3BsaXR0ZXItb3BhY2l0eV9hY3RpdmU6IFNldHMgdGhlIG9wYWNpdHkgb2YgdGhlIHNwbGl0dGVyIHdoaWxlIHRoZSB1c2VyIG1vdmVzIHRoZSBzcGxpdHRlci5cbiAqIC0gLS1zY2ktc3BsaXR0ZXItb3BhY2l0eV9ob3ZlcjogU2V0cyB0aGUgb3BhY2l0eSBvZiB0aGUgc3BsaXR0ZXIgd2hlbiBob3ZlcmluZyBpdC5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYHNjc3NcbiAqIHNjaS1zcGxpdHRlciB7XG4gKiAgIC0tc2NpLXNwbGl0dGVyLWJnY29sb3I6IGJsYWNrO1xuICogICAtLXNjaS1zcGxpdHRlci1iZ2NvbG9yX2hvdmVyOiBibGFjaztcbiAqIH1cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2ktc3BsaXR0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGxpdHRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NpU3BsaXR0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tb3ZpbmcnKVxuICBwdWJsaWMgbW92aW5nID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy52ZXJ0aWNhbCcpXG4gIHB1YmxpYyBnZXQgaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNIb3Jpem9udGFsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ob3Jpem9udGFsJylcbiAgcHVibGljIGdldCBpc0hvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250cm9scyB3aGV0aGVyIHRvIHJlbmRlciBhIHZlcnRpY2FsIG9yIGhvcml6b250YWwgc3BsaXR0ZXIuXG4gICAqIEJ5IGRlZmF1bHQsIGlmIG5vdCBzcGVjaWZpZWQsIHJlbmRlcnMgYSB2ZXJ0aWNhbCBzcGxpdHRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcmllbnRhdGlvbjogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyA9ICd2ZXJ0aWNhbCc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gc3RhcnRpbmcgdG8gbW92ZSB0aGUgc3BsaXR0ZXIuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgd2hlbiB0aGUgc3BsaXR0ZXIgaXMgbW92ZWQuXG4gICAqIFRoZSBldmVudCBpcyBlbWl0dGVkIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgem9uZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3BsaXR0ZXJNb3ZlRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gZW5kaW5nIHRvIG1vdmUgdGhlIHNwbGl0dGVyLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBlbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0byByZXNldCB0aGUgc3BsaXR0ZXIgcG9zaXRpb24uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJlc2V0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmN1cnNvcicpXG4gIHB1YmxpYyBnZXQgc3BsaXR0ZXJDdXJzb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZlcnRpY2FsID8gJ2V3LXJlc2l6ZScgOiAnbnMtcmVzaXplJztcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgQFZpZXdDaGlsZCgndG91Y2hfdGFyZ2V0Jywge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyB0b3VjaFRhcmdldEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gIH1cblxuICAvKiBAZG9jcy1wcml2YXRlICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQodGhpcy50b3VjaFRhcmdldEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2RibGNsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25SZXNldCgpKTtcblxuICAgIGZyb21FdmVudDxUb3VjaEV2ZW50Pih0aGlzLnRvdWNoVGFyZ2V0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHRoaXMub25Ub3VjaFN0YXJ0KGV2ZW50KSk7XG5cbiAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy50b3VjaFRhcmdldEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHRoaXMub25Nb3VzZURvd24oZXZlbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0LmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Ub3VjaFN0YXJ0KHN0YXJ0RXZlbnQ6IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbGxNb3ZlTGlzdGVuZXIoe1xuICAgICAgICBzdGFydEV2ZW50OiBzdGFydEV2ZW50LFxuICAgICAgICBtb3ZlRXZlbnROYW1lczogWyd0b3VjaG1vdmUnXSxcbiAgICAgICAgZW5kRXZlbnROYW1lczogWyd0b3VjaGVuZCcsICd0b3VjaGNhbmNlbCddLFxuICAgICAgICBldmVudFBvc2l0aW9uRm46ICh0b3VjaEV2ZW50OiBUb3VjaEV2ZW50KTogRXZlbnRQb3NpdGlvbiA9PiB7XG4gICAgICAgICAgY29uc3QgdG91Y2g6IFRvdWNoID0gdG91Y2hFdmVudC50b3VjaGVzWzBdO1xuICAgICAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7c2NyZWVuUG9zOiB0b3VjaC5zY3JlZW5YLCBjbGllbnRQb3M6IHRvdWNoLmNsaWVudFgsIHBhZ2VQb3M6IHRvdWNoLnBhZ2VYfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge3NjcmVlblBvczogdG91Y2guc2NyZWVuWSwgY2xpZW50UG9zOiB0b3VjaC5jbGllbnRZLCBwYWdlUG9zOiB0b3VjaC5wYWdlWX07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlRG93bihzdGFydEV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHN0YXJ0RXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbnN0YWxsTW92ZUxpc3RlbmVyKHtcbiAgICAgICAgc3RhcnRFdmVudDogc3RhcnRFdmVudCxcbiAgICAgICAgbW92ZUV2ZW50TmFtZXM6IFsnbW91c2Vtb3ZlJywgJ3NjaS1tb3VzZW1vdmUnXSxcbiAgICAgICAgZW5kRXZlbnROYW1lczogWydtb3VzZXVwJywgJ3NjaS1tb3VzZXVwJ10sXG4gICAgICAgIGV2ZW50UG9zaXRpb25GbjogKG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpOiBFdmVudFBvc2l0aW9uID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5pc1ZlcnRpY2FsKSB7XG4gICAgICAgICAgICByZXR1cm4ge3NjcmVlblBvczogbW91c2VFdmVudC5zY3JlZW5YLCBjbGllbnRQb3M6IG1vdXNlRXZlbnQuY2xpZW50WCwgcGFnZVBvczogbW91c2VFdmVudC5wYWdlWH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtzY3JlZW5Qb3M6IG1vdXNlRXZlbnQuc2NyZWVuWSwgY2xpZW50UG9zOiBtb3VzZUV2ZW50LmNsaWVudFksIHBhZ2VQb3M6IG1vdXNlRXZlbnQucGFnZVl9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbE1vdmVMaXN0ZW5lcjxFVkVOVCBleHRlbmRzIEV2ZW50Pihjb25maWc6IHtzdGFydEV2ZW50OiBFVkVOVDsgbW92ZUV2ZW50TmFtZXM6IHN0cmluZ1tdOyBlbmRFdmVudE5hbWVzOiBzdHJpbmdbXTsgZXZlbnRQb3NpdGlvbkZuOiAoZXZlbnQ6IEVWRU5UKSA9PiBFdmVudFBvc2l0aW9ufSk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0RXZlbnQgPSBjb25maWcuc3RhcnRFdmVudDtcblxuICAgIHN0YXJ0RXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgLy8gaW5zdGFsbCBsaXN0ZW5lcnMgb24gZG9jdW1lbnQgbGV2ZWwgdG8gYWxsb3cgZmFzdCBkcmFnZ2luZyB0aGUgc3BsaXR0ZXIuXG4gICAgICBjb25zdCBtb3ZlRXZlbnQkID0gbWVyZ2UoLi4uY29uZmlnLm1vdmVFdmVudE5hbWVzLm1hcChldmVudE5hbWUgPT4gZnJvbUV2ZW50PEVWRU5UPih0aGlzLl9kb2N1bWVudCwgZXZlbnROYW1lKSkpO1xuICAgICAgY29uc3QgZW5kRXZlbnQkID0gbWVyZ2UoLi4uY29uZmlnLmVuZEV2ZW50TmFtZXMubWFwKGV2ZW50TmFtZSA9PiBmcm9tRXZlbnQ8RVZFTlQ+KHRoaXMuX2RvY3VtZW50LCBldmVudE5hbWUpKSk7XG4gICAgICBsZXQgbGFzdENsaWVudFBvcyA9IGNvbmZpZy5ldmVudFBvc2l0aW9uRm4oc3RhcnRFdmVudCkuY2xpZW50UG9zO1xuXG4gICAgICAvLyBBcHBseSBjdXJzb3Igb24gZG9jdW1lbnQgbGV2ZWwgdG8gcHJldmVudCBmbGlja2VyaW5nIHdoaWxlIG1vdmluZyB0aGUgc3BsaXR0ZXJcbiAgICAgIGNvbnN0IG9sZERvY3VtZW50Q3Vyc29yID0gdGhpcy5fZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I7XG4gICAgICB0aGlzLl9kb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IHRoaXMuc3BsaXR0ZXJDdXJzb3I7XG5cbiAgICAgIC8vIExpc3RlbiBmb3IgJ21vdmUnIGV2ZW50cyB1bnRpbCBzdG9wIG1vdmluZyB0aGUgc3BsaXR0ZXJcbiAgICAgIG1vdmVFdmVudCRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwRmlyc3QoKCkgPT4gdGhpcy5fem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb3ZpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zdGFydC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgdGFrZVVudGlsKG1lcmdlKGVuZEV2ZW50JCwgdGhpcy5fZGVzdHJveSQpKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChtb3ZlRXZlbnQ6IEVWRU5UKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXZlbnRQb3MgPSBjb25maWcuZXZlbnRQb3NpdGlvbkZuKG1vdmVFdmVudCk7XG4gICAgICAgICAgY29uc3QgbmV3Q2xpZW50UG9zID0gZXZlbnRQb3MuY2xpZW50UG9zO1xuICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gbmV3Q2xpZW50UG9zIC0gbGFzdENsaWVudFBvcztcbiAgICAgICAgICBsYXN0Q2xpZW50UG9zID0gbmV3Q2xpZW50UG9zO1xuXG4gICAgICAgICAgTmdab25lLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKTtcbiAgICAgICAgICB0aGlzLm1vdmUuZW1pdCh7ZGlzdGFuY2UsIHBvc2l0aW9uOiBldmVudFBvc30pO1xuICAgICAgICB9KTtcblxuICAgICAgLy8gTGlzdGVuIGZvciAnZW5kJyBldmVudHM7IGNhbGwgJ3N0b3AgcHJvcGFnYXRpb24nIHRvIG5vdCBjbG9zZSBvdmVybGF5c1xuICAgICAgZW5kRXZlbnQkXG4gICAgICAgIC5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGVuZEV2ZW50OiBFVkVOVCkgPT4ge1xuICAgICAgICAgIGVuZEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gb2xkRG9jdW1lbnRDdXJzb3I7XG4gICAgICAgICAgdGhpcy5tb3ZpbmcgJiYgdGhpcy5fem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbmQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5tb3ZpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UG9zaXRpb24ge1xuICBjbGllbnRQb3M6IG51bWJlcjtcbiAgcGFnZVBvczogbnVtYmVyO1xuICBzY3JlZW5Qb3M6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBtb3ZpbmcgdGhlIHNwbGl0dGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0dGVyTW92ZUV2ZW50IHtcbiAgLyoqXG4gICAqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgYnkgd2hpY2ggdGhlIHVzZXIgaGFzIG1vdmVkIHRoZSBzcGxpdHRlciBzaW5jZSB0aGUgbGFzdCBlbWlzc2lvbi5cbiAgICovXG4gIGRpc3RhbmNlOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gd2hlcmUgdGhlIG1vdXNlIG9yIHRvdWNoIGV2ZW50IGhhcyBvY2N1cnJlZC5cbiAgICovXG4gIHBvc2l0aW9uOiBFdmVudFBvc2l0aW9uO1xufVxuIiwiPGRpdiAjdG91Y2hfdGFyZ2V0IGNsYXNzPVwidG91Y2gtdGFyZ2V0XCI+XG4gIDxkaXYgY2xhc3M9XCJoYW5kbGVcIj48L2Rpdj5cbjwvZGl2PlxuIl19
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zcGxpdHRlci9zcmMvc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zcGxpdHRlci9zcmMvc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hMLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBQ0gsTUFPYSxvQkFBb0I7SUFRL0IsSUFDVyxVQUFVO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBa0NELG1CQUFtQjtJQUNuQixJQUNXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNyRCxD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QUR4QixXQUFXO3VCQUFDLGNBQWM7Z0JBT3BCLHFCQUFxQjtzQkFEM0IsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge3RhcEZpcnN0fSBmcm9tICdAc2Npb24vdG9vbGtpdC9vcGVyYXRvcnMnO1xuaW1wb3J0IHtmaXJzdCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNwbGl0dGVyLCBhIHZpc3VhbCBlbGVtZW50IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbnRyb2wgdGhlIHNpemUgb2YgZWxlbWVudHMgbmV4dCB0byBpdC5cbiAqXG4gKiBUaGUgc3BsaXR0ZXIgaGFzIGEgaGFuZGxlIHRoYXQgdGhlIHVzZXIgY2FuIG1vdmUgZGVwZW5kaW5nIG9uIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgc3BsaXR0ZXIuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgY29udHJvbCBuZWl0aGVyIGRvZXMgY2hhbmdlIHRoZSBzaXplIG9mIGFkamFjZW50IGVsZW1lbnRzIG5vciBkb2VzIGl0IChyZS0pcG9zaXRpb24gaXRzZWxmLCBidXQgZW1pdHMgdGhlIGRpc3RhbmNlIGJ5XG4gKiB3aGljaCB0aGUgdXNlciBoYXMgdGhlb3JldGljYWxseSBtb3ZlZCB0aGUgc3BsaXR0ZXIuIFlvdSBtdXN0IHN1YnNjcmliZSB0byB0aGVzZSBldmVudHMgYW5kIGNoYW5nZSB5b3VyIGxheW91dCBhY2NvcmRpbmdseS5cbiAqXG4gKiBJbiB0aGUgdG9vbGtpdCwge0BsaW5rIFNjaVNhc2hib3hDb21wb25lbnR9IHVzZXMgdGhpcyBzcGxpdHRlciB0byBkaXZpZGUgYSBsYXlvdXQgaW50byBzZXZlcmFsIHJlc2l6YWJsZSBzZWN0aW9ucy5cbiAqIEFub3RoZXIgdXNlIGNhc2Ugd291bGQgYmUgYSByZXNpemFibGUgc2lkZWJhciBwYW5lbC5cbiAqXG4gKiAjIyMgVXNhZ2VcbiAqXG4gKiBgYGBodG1sXG4gKiA8c2NpLXNwbGl0dGVyIChtb3ZlKT1cIm9uU3BsaXR0ZXJNb3ZlKCRldmVudC5kaXN0YW5jZSlcIj48L3NjaS1zcGxpdHRlcj5cbiAqIGBgYFxuICpcbiAqICMjIyBTdHlsaW5nXG4gKlxuICogVG8gY3VzdG9taXplIHRoZSBkZWZhdWx0IGxvb2sgb2YgU0NJT04gY29tcG9uZW50cyBvciBzdXBwb3J0IGRpZmZlcmVudCB0aGVtZXMsIGNvbmZpZ3VyZSB0aGUgYEBzY2lvbi9jb21wb25lbnRzYCBTQ1NTIG1vZHVsZSBpbiBgc3R5bGVzLnNjc3NgLlxuICogVG8gc3R5bGUgYSBzcGVjaWZpYyBgc2NpLXNwbGl0dGVyYCBjb21wb25lbnQsIHRoZSBmb2xsb3dpbmcgQ1NTIHZhcmlhYmxlcyBjYW4gYmUgc2V0IGRpcmVjdGx5IG9uIHRoZSBjb21wb25lbnQuXG4gKlxuICogLSAtLXNjaS1zcGxpdHRlci1iYWNrZ3JvdW5kLWNvbG9yOiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzcGxpdHRlci5cbiAqIC0gLS1zY2ktc3BsaXR0ZXItYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogU2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc3BsaXR0ZXIgd2hlbiBob3ZlcmluZyBpdC5cbiAqIC0gLS1zY2ktc3BsaXR0ZXItc2l6ZTogU2V0cyB0aGUgc2l6ZSBvZiB0aGUgc3BsaXR0ZXIgYWxvbmcgdGhlIG1haW4gYXhpcy5cbiAqIC0gLS1zY2ktc3BsaXR0ZXItc2l6ZS1ob3ZlcjogU2V0cyB0aGUgc2l6ZSBvZiB0aGUgc3BsaXR0ZXIgYWxvbmcgdGhlIG1haW4gYXhpcyB3aGVuIGhvdmVyaW5nIGl0LlxuICogLSAtLXNjaS1zcGxpdHRlci10b3VjaC10YXJnZXQtc2l6ZTogU2V0cyB0aGUgdG91Y2ggdGFyZ2V0IHNpemUgdG8gbW92ZSB0aGUgc3BsaXR0ZXIgKGFjY2Vzc2liaWxpdHkpLlxuICogLSAtLXNjaS1zcGxpdHRlci1jcm9zcy1heGlzLXNpemU6IFNldHMgdGhlIHNwbGl0dGVyIHNpemUgYWxvbmcgdGhlIGNyb3NzIGF4aXMuXG4gKiAtIC0tc2NpLXNwbGl0dGVyLWJvcmRlci1yYWRpdXM6IFNldHMgdGhlIGJvcmRlciByYWRpdXMgb2YgdGhlIHNwbGl0dGVyLlxuICogLSAtLXNjaS1zcGxpdHRlci1vcGFjaXR5LWFjdGl2ZTogU2V0cyB0aGUgb3BhY2l0eSBvZiB0aGUgc3BsaXR0ZXIgd2hpbGUgdGhlIHVzZXIgbW92ZXMgdGhlIHNwbGl0dGVyLlxuICogLSAtLXNjaS1zcGxpdHRlci1vcGFjaXR5LWhvdmVyOiBTZXRzIHRoZSBvcGFjaXR5IG9mIHRoZSBzcGxpdHRlciB3aGVuIGhvdmVyaW5nIGl0LlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogYGBgc2Nzc1xuICogc2NpLXNwbGl0dGVyIHtcbiAqICAgLS1zY2ktc3BsaXR0ZXItYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gKiAgIC0tc2NpLXNwbGl0dGVyLWJhY2tncm91bmQtY29sb3ItaG92ZXI6IGJsYWNrO1xuICogfVxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NjaS1zcGxpdHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwbGl0dGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lTcGxpdHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1vdmluZycpXG4gIHB1YmxpYyBtb3ZpbmcgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZlcnRpY2FsJylcbiAgcHVibGljIGdldCBpc1ZlcnRpY2FsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0hvcml6b250YWw7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhvcml6b250YWwnKVxuICBwdWJsaWMgZ2V0IGlzSG9yaXpvbnRhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgdG8gcmVuZGVyIGEgdmVydGljYWwgb3IgaG9yaXpvbnRhbCBzcGxpdHRlci5cbiAgICogQnkgZGVmYXVsdCwgaWYgbm90IHNwZWNpZmllZCwgcmVuZGVycyBhIHZlcnRpY2FsIHNwbGl0dGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnID0gJ3ZlcnRpY2FsJztcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiBzdGFydGluZyB0byBtb3ZlIHRoZSBzcGxpdHRlci5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcblxuICAvKipcbiAgICogRW1pdHMgdGhlIGRpc3RhbmNlIGluIHBpeGVscyB3aGVuIHRoZSBzcGxpdHRlciBpcyBtb3ZlZC5cbiAgICogVGhlIGV2ZW50IGlzIGVtaXR0ZWQgb3V0c2lkZSBvZiB0aGUgQW5ndWxhciB6b25lLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxTcGxpdHRlck1vdmVFdmVudD4oKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiBlbmRpbmcgdG8gbW92ZSB0aGUgc3BsaXR0ZXIuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRvIHJlc2V0IHRoZSBzcGxpdHRlciBwb3NpdGlvbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVzZXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcblxuICAvKiBAZG9jcy1wcml2YXRlICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuY3Vyc29yJylcbiAgcHVibGljIGdldCBzcGxpdHRlckN1cnNvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzVmVydGljYWwgPyAnZXctcmVzaXplJyA6ICducy1yZXNpemUnO1xuICB9XG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBAVmlld0NoaWxkKCd0b3VjaF90YXJnZXQnLCB7c3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHRvdWNoVGFyZ2V0RWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh0aGlzLnRvdWNoVGFyZ2V0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGJsY2xpY2snKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblJlc2V0KCkpO1xuXG4gICAgZnJvbUV2ZW50PFRvdWNoRXZlbnQ+KHRoaXMudG91Y2hUYXJnZXRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogVG91Y2hFdmVudCkgPT4gdGhpcy5vblRvdWNoU3RhcnQoZXZlbnQpKTtcblxuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLnRvdWNoVGFyZ2V0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4gdGhpcy5vbk1vdXNlRG93bihldmVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXQuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblRvdWNoU3RhcnQoc3RhcnRFdmVudDogVG91Y2hFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5zdGFsbE1vdmVMaXN0ZW5lcih7XG4gICAgICAgIHN0YXJ0RXZlbnQ6IHN0YXJ0RXZlbnQsXG4gICAgICAgIG1vdmVFdmVudE5hbWVzOiBbJ3RvdWNobW92ZSddLFxuICAgICAgICBlbmRFdmVudE5hbWVzOiBbJ3RvdWNoZW5kJywgJ3RvdWNoY2FuY2VsJ10sXG4gICAgICAgIGV2ZW50UG9zaXRpb25GbjogKHRvdWNoRXZlbnQ6IFRvdWNoRXZlbnQpOiBFdmVudFBvc2l0aW9uID0+IHtcbiAgICAgICAgICBjb25zdCB0b3VjaDogVG91Y2ggPSB0b3VjaEV2ZW50LnRvdWNoZXNbMF07XG4gICAgICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtzY3JlZW5Qb3M6IHRvdWNoLnNjcmVlblgsIGNsaWVudFBvczogdG91Y2guY2xpZW50WCwgcGFnZVBvczogdG91Y2gucGFnZVh9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7c2NyZWVuUG9zOiB0b3VjaC5zY3JlZW5ZLCBjbGllbnRQb3M6IHRvdWNoLmNsaWVudFksIHBhZ2VQb3M6IHRvdWNoLnBhZ2VZfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9uTW91c2VEb3duKHN0YXJ0RXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoc3RhcnRFdmVudC5idXR0b24gIT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmluc3RhbGxNb3ZlTGlzdGVuZXIoe1xuICAgICAgICBzdGFydEV2ZW50OiBzdGFydEV2ZW50LFxuICAgICAgICBtb3ZlRXZlbnROYW1lczogWydtb3VzZW1vdmUnLCAnc2NpLW1vdXNlbW92ZSddLFxuICAgICAgICBlbmRFdmVudE5hbWVzOiBbJ21vdXNldXAnLCAnc2NpLW1vdXNldXAnXSxcbiAgICAgICAgZXZlbnRQb3NpdGlvbkZuOiAobW91c2VFdmVudDogTW91c2VFdmVudCk6IEV2ZW50UG9zaXRpb24gPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7c2NyZWVuUG9zOiBtb3VzZUV2ZW50LnNjcmVlblgsIGNsaWVudFBvczogbW91c2VFdmVudC5jbGllbnRYLCBwYWdlUG9zOiBtb3VzZUV2ZW50LnBhZ2VYfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge3NjcmVlblBvczogbW91c2VFdmVudC5zY3JlZW5ZLCBjbGllbnRQb3M6IG1vdXNlRXZlbnQuY2xpZW50WSwgcGFnZVBvczogbW91c2VFdmVudC5wYWdlWX07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YWxsTW92ZUxpc3RlbmVyPEVWRU5UIGV4dGVuZHMgRXZlbnQ+KGNvbmZpZzoge3N0YXJ0RXZlbnQ6IEVWRU5UOyBtb3ZlRXZlbnROYW1lczogc3RyaW5nW107IGVuZEV2ZW50TmFtZXM6IHN0cmluZ1tdOyBldmVudFBvc2l0aW9uRm46IChldmVudDogRVZFTlQpID0+IEV2ZW50UG9zaXRpb259KTogdm9pZCB7XG4gICAgY29uc3Qgc3RhcnRFdmVudCA9IGNvbmZpZy5zdGFydEV2ZW50O1xuXG4gICAgc3RhcnRFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAvLyBpbnN0YWxsIGxpc3RlbmVycyBvbiBkb2N1bWVudCBsZXZlbCB0byBhbGxvdyBmYXN0IGRyYWdnaW5nIHRoZSBzcGxpdHRlci5cbiAgICAgIGNvbnN0IG1vdmVFdmVudCQgPSBtZXJnZSguLi5jb25maWcubW92ZUV2ZW50TmFtZXMubWFwKGV2ZW50TmFtZSA9PiBmcm9tRXZlbnQ8RVZFTlQ+KHRoaXMuX2RvY3VtZW50LCBldmVudE5hbWUpKSk7XG4gICAgICBjb25zdCBlbmRFdmVudCQgPSBtZXJnZSguLi5jb25maWcuZW5kRXZlbnROYW1lcy5tYXAoZXZlbnROYW1lID0+IGZyb21FdmVudDxFVkVOVD4odGhpcy5fZG9jdW1lbnQsIGV2ZW50TmFtZSkpKTtcbiAgICAgIGxldCBsYXN0Q2xpZW50UG9zID0gY29uZmlnLmV2ZW50UG9zaXRpb25GbihzdGFydEV2ZW50KS5jbGllbnRQb3M7XG5cbiAgICAgIC8vIEFwcGx5IGN1cnNvciBvbiBkb2N1bWVudCBsZXZlbCB0byBwcmV2ZW50IGZsaWNrZXJpbmcgd2hpbGUgbW92aW5nIHRoZSBzcGxpdHRlclxuICAgICAgY29uc3Qgb2xkRG9jdW1lbnRDdXJzb3IgPSB0aGlzLl9kb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcjtcbiAgICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gdGhpcy5zcGxpdHRlckN1cnNvcjtcblxuICAgICAgLy8gTGlzdGVuIGZvciAnbW92ZScgZXZlbnRzIHVudGlsIHN0b3AgbW92aW5nIHRoZSBzcGxpdHRlclxuICAgICAgbW92ZUV2ZW50JFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXBGaXJzdCgoKSA9PiB0aGlzLl96b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1vdmluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0Lm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH0pKSxcbiAgICAgICAgICB0YWtlVW50aWwobWVyZ2UoZW5kRXZlbnQkLCB0aGlzLl9kZXN0cm95JCkpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKG1vdmVFdmVudDogRVZFTlQpID0+IHtcbiAgICAgICAgICBjb25zdCBldmVudFBvcyA9IGNvbmZpZy5ldmVudFBvc2l0aW9uRm4obW92ZUV2ZW50KTtcbiAgICAgICAgICBjb25zdCBuZXdDbGllbnRQb3MgPSBldmVudFBvcy5jbGllbnRQb3M7XG4gICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBuZXdDbGllbnRQb3MgLSBsYXN0Q2xpZW50UG9zO1xuICAgICAgICAgIGxhc3RDbGllbnRQb3MgPSBuZXdDbGllbnRQb3M7XG5cbiAgICAgICAgICBOZ1pvbmUuYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpO1xuICAgICAgICAgIHRoaXMubW92ZS5lbWl0KHtkaXN0YW5jZSwgcG9zaXRpb246IGV2ZW50UG9zfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAvLyBMaXN0ZW4gZm9yICdlbmQnIGV2ZW50czsgY2FsbCAnc3RvcCBwcm9wYWdhdGlvbicgdG8gbm90IGNsb3NlIG92ZXJsYXlzXG4gICAgICBlbmRFdmVudCRcbiAgICAgICAgLnBpcGUoZmlyc3QoKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZW5kRXZlbnQ6IEVWRU5UKSA9PiB7XG4gICAgICAgICAgZW5kRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgdGhpcy5fZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSBvbGREb2N1bWVudEN1cnNvcjtcbiAgICAgICAgICB0aGlzLm1vdmluZyAmJiB0aGlzLl96b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVuZC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLm1vdmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRQb3NpdGlvbiB7XG4gIGNsaWVudFBvczogbnVtYmVyO1xuICBwYWdlUG9zOiBudW1iZXI7XG4gIHNjcmVlblBvczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIG1vdmluZyB0aGUgc3BsaXR0ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BsaXR0ZXJNb3ZlRXZlbnQge1xuICAvKipcbiAgICogVGhlIGRpc3RhbmNlIGluIHBpeGVscyBieSB3aGljaCB0aGUgdXNlciBoYXMgbW92ZWQgdGhlIHNwbGl0dGVyIHNpbmNlIHRoZSBsYXN0IGVtaXNzaW9uLlxuICAgKi9cbiAgZGlzdGFuY2U6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBwb3NpdGlvbiB3aGVyZSB0aGUgbW91c2Ugb3IgdG91Y2ggZXZlbnQgaGFzIG9jY3VycmVkLlxuICAgKi9cbiAgcG9zaXRpb246IEV2ZW50UG9zaXRpb247XG59XG4iLCI8ZGl2ICN0b3VjaF90YXJnZXQgY2xhc3M9XCJ0b3VjaC10YXJnZXRcIj5cbiAgPGRpdiBjbGFzcz1cImhhbmRsZVwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -16,11 +16,11 @@ import * as i0 from "@angular/core";
16
16
  */
17
17
  class SciEllipsisThrobberComponent {
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciEllipsisThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciEllipsisThrobberComponent, isStandalone: true, selector: "sci-ellipsis-throbber", ngImport: i0, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n", styles: [":host{display:inline-flex;justify-content:space-between;font-size:var(--sci-throbber-size);width:1em;box-sizing:border-box}:host>div.point{flex:none;border-radius:50%;width:.3em;height:.3em;animation:sci-ellipsis-throbber var(--sci-throbber-duration) ease-in-out infinite;background-color:var(--sci-throbber-color)}:host>div.point:nth-child(1){animation-delay:calc(var(--sci-throbber-duration) / -6)}:host>div.point:nth-child(2){animation-delay:calc(var(--sci-throbber-duration) / -12)}@keyframes sci-ellipsis-throbber{0%{transform:scale(0)}40%{transform:scale(1)}80%,to{transform:scale(0)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciEllipsisThrobberComponent, isStandalone: true, selector: "sci-ellipsis-throbber", ngImport: i0, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;justify-content:space-between;font-size:var(--\\275sci-throbber-size);width:1em;box-sizing:border-box}:host>div.point{flex:none;border-radius:50%;width:.3em;height:.3em;animation:sci-ellipsis-throbber var(--\\275sci-throbber-duration) ease-in-out infinite;background-color:var(--\\275sci-throbber-color)}:host>div.point:nth-child(1){animation-delay:calc(var(--\\275sci-throbber-duration) / -6)}:host>div.point:nth-child(2){animation-delay:calc(var(--\\275sci-throbber-duration) / -12)}@keyframes sci-ellipsis-throbber{0%{transform:scale(0)}40%{transform:scale(1)}80%,to{transform:scale(0)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
21
  export { SciEllipsisThrobberComponent };
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciEllipsisThrobberComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'sci-ellipsis-throbber', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n", styles: [":host{display:inline-flex;justify-content:space-between;font-size:var(--sci-throbber-size);width:1em;box-sizing:border-box}:host>div.point{flex:none;border-radius:50%;width:.3em;height:.3em;animation:sci-ellipsis-throbber var(--sci-throbber-duration) ease-in-out infinite;background-color:var(--sci-throbber-color)}:host>div.point:nth-child(1){animation-delay:calc(var(--sci-throbber-duration) / -6)}:host>div.point:nth-child(2){animation-delay:calc(var(--sci-throbber-duration) / -12)}@keyframes sci-ellipsis-throbber{0%{transform:scale(0)}40%{transform:scale(1)}80%,to{transform:scale(0)}}\n"] }]
24
+ args: [{ selector: 'sci-ellipsis-throbber', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;justify-content:space-between;font-size:var(--\\275sci-throbber-size);width:1em;box-sizing:border-box}:host>div.point{flex:none;border-radius:50%;width:.3em;height:.3em;animation:sci-ellipsis-throbber var(--\\275sci-throbber-duration) ease-in-out infinite;background-color:var(--\\275sci-throbber-color)}:host>div.point:nth-child(1){animation-delay:calc(var(--\\275sci-throbber-duration) / -6)}:host>div.point:nth-child(2){animation-delay:calc(var(--\\275sci-throbber-duration) / -12)}@keyframes sci-ellipsis-throbber{0%{transform:scale(0)}40%{transform:scale(1)}80%,to{transform:scale(0)}}\n"] }]
25
25
  }] });
26
26
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMtdGhyb2JiZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvZWxsaXBzaXMtdGhyb2JiZXIvZWxsaXBzaXMtdGhyb2JiZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvZWxsaXBzaXMtdGhyb2JiZXIvZWxsaXBzaXMtdGhyb2JiZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUVqRTs7OztHQUlHO0FBQ0gsTUFPYSw0QkFBNEI7OEdBQTVCLDRCQUE0QjtrR0FBNUIsNEJBQTRCLGlGQ3hCekMseUZBR0E7O1NEcUJhLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdGhyb2JiZXIgYXMgYW4gZWxsaXBzaXMgY29uc2lzdGluZyBvZiB0aHJlZSBob3Jpem9udGFsbHkgYXJyYW5nZWQgcG9pbnRzIHRoYXQgYXBwZWFyIG9uZSBhZnRlciB0aGUgb3RoZXIuXG4gKlxuICogVGhyb2JiZXIgdHlwZTogYGVsbGlwc2lzYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2ktZWxsaXBzaXMtdGhyb2JiZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxsaXBzaXMtdGhyb2JiZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGxpcHNpcy10aHJvYmJlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NpRWxsaXBzaXNUaHJvYmJlckNvbXBvbmVudCB7XG59XG4iLCI8ZGl2IGNsYXNzPVwicG9pbnRcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwb2ludFwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cInBvaW50XCI+PC9kaXY+XG4iXX0=
@@ -16,11 +16,11 @@ import * as i0 from "@angular/core";
16
16
  */
17
17
  class SciRippleThrobberComponent {
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciRippleThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciRippleThrobberComponent, isStandalone: true, selector: "sci-ripple-throbber", ngImport: i0, template: "<div class=\"circle\"></div>\n<div class=\"circle\"></div>\n", styles: [":host{display:inline-block;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.circle{position:absolute;width:1em;height:1em;border-radius:50%;border:0 solid var(--sci-throbber-color);animation:sci-ripple-throbber var(--sci-throbber-duration) cubic-bezier(0,.2,.8,1) infinite}:host>div.circle:nth-child(1){animation-delay:calc(var(--sci-throbber-duration) / -2)}@keyframes sci-ripple-throbber{0%{transform:scale(0);opacity:0;border-width:0}25%{opacity:1;border-width:.1em}50%{opacity:.75}to{transform:scale(1);opacity:0;border-width:.05em}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciRippleThrobberComponent, isStandalone: true, selector: "sci-ripple-throbber", ngImport: i0, template: "<div class=\"circle\"></div>\n<div class=\"circle\"></div>\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;position:relative;font-size:var(--\\275sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.circle{position:absolute;width:1em;height:1em;border-radius:50%;border:0 solid var(--\\275sci-throbber-color);animation:sci-ripple-throbber var(--\\275sci-throbber-duration) cubic-bezier(0,.2,.8,1) infinite}:host>div.circle:nth-child(1){animation-delay:calc(var(--\\275sci-throbber-duration) / -2)}@keyframes sci-ripple-throbber{0%{transform:scale(0);opacity:0;border-width:0}25%{opacity:1;border-width:.1em}50%{opacity:.75}to{transform:scale(1);opacity:0;border-width:.05em}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
21
  export { SciRippleThrobberComponent };
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciRippleThrobberComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'sci-ripple-throbber', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"circle\"></div>\n<div class=\"circle\"></div>\n", styles: [":host{display:inline-block;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.circle{position:absolute;width:1em;height:1em;border-radius:50%;border:0 solid var(--sci-throbber-color);animation:sci-ripple-throbber var(--sci-throbber-duration) cubic-bezier(0,.2,.8,1) infinite}:host>div.circle:nth-child(1){animation-delay:calc(var(--sci-throbber-duration) / -2)}@keyframes sci-ripple-throbber{0%{transform:scale(0);opacity:0;border-width:0}25%{opacity:1;border-width:.1em}50%{opacity:.75}to{transform:scale(1);opacity:0;border-width:.05em}}\n"] }]
24
+ args: [{ selector: 'sci-ripple-throbber', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"circle\"></div>\n<div class=\"circle\"></div>\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;position:relative;font-size:var(--\\275sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.circle{position:absolute;width:1em;height:1em;border-radius:50%;border:0 solid var(--\\275sci-throbber-color);animation:sci-ripple-throbber var(--\\275sci-throbber-duration) cubic-bezier(0,.2,.8,1) infinite}:host>div.circle:nth-child(1){animation-delay:calc(var(--\\275sci-throbber-duration) / -2)}@keyframes sci-ripple-throbber{0%{transform:scale(0);opacity:0;border-width:0}25%{opacity:1;border-width:.1em}50%{opacity:.75}to{transform:scale(1);opacity:0;border-width:.05em}}\n"] }]
25
25
  }] });
26
26
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLXRocm9iYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvdGhyb2JiZXIvc3JjL3JpcHBsZS10aHJvYmJlci9yaXBwbGUtdGhyb2JiZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvcmlwcGxlLXRocm9iYmVyL3JpcHBsZS10aHJvYmJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRWpFOzs7O0dBSUc7QUFDSCxNQU9hLDBCQUEwQjs4R0FBMUIsMEJBQTBCO2tHQUExQiwwQkFBMEIsK0VDeEJ2Qyw4REFFQTs7U0RzQmEsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHRocm9iYmVyIHdpdGggYSByaXBwbGVkLCBjZW50cmljIHdhdmUgZWZmZWN0LCBzaW1pbGFyIHRvIHRocm93aW5nIGEgc3RvbmUgaW50byB3YXRlci5cbiAqXG4gKiBUaHJvYmJlciB0eXBlOiBgcmlwcGxlYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2ktcmlwcGxlLXRocm9iYmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JpcHBsZS10aHJvYmJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JpcHBsZS10aHJvYmJlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NpUmlwcGxlVGhyb2JiZXJDb21wb25lbnQge1xufVxuIiwiPGRpdiBjbGFzcz1cImNpcmNsZVwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cImNpcmNsZVwiPjwvZGl2PlxuIl19
@@ -16,11 +16,11 @@ import * as i0 from "@angular/core";
16
16
  */
17
17
  class SciRollerThrobberComponent {
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciRollerThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciRollerThrobberComponent, isStandalone: true, selector: "sci-roller-throbber", ngImport: i0, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>", styles: [":host{display:inline-flex;justify-content:center;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.point{flex:none;position:absolute;transform-origin:.05em .5em;width:.1em;height:.1em;border-radius:50%;background-color:var(--sci-throbber-color)}:host>div.point:nth-child(1){animation:sci-roller-throbber-1 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.02)}@keyframes sci-roller-throbber-1{0%{transform:rotate(-105deg)}to{transform:rotate(255deg)}}:host>div.point:nth-child(2){animation:sci-roller-throbber-2 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.04)}@keyframes sci-roller-throbber-2{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host>div.point:nth-child(3){animation:sci-roller-throbber-3 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.06)}@keyframes sci-roller-throbber-3{0%{transform:rotate(-75deg)}to{transform:rotate(285deg)}}:host>div.point:nth-child(4){animation:sci-roller-throbber-4 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.08)}@keyframes sci-roller-throbber-4{0%{transform:rotate(-60deg)}to{transform:rotate(300deg)}}:host>div.point:nth-child(5){animation:sci-roller-throbber-5 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.1)}@keyframes sci-roller-throbber-5{0%{transform:rotate(-45deg)}to{transform:rotate(315deg)}}:host>div.point:nth-child(6){animation:sci-roller-throbber-6 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.12)}@keyframes sci-roller-throbber-6{0%{transform:rotate(-30deg)}to{transform:rotate(330deg)}}:host>div.point:nth-child(7){animation:sci-roller-throbber-7 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.14)}@keyframes sci-roller-throbber-7{0%{transform:rotate(-15deg)}to{transform:rotate(345deg)}}:host>div.point:nth-child(8){animation:sci-roller-throbber-8 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.16)}@keyframes sci-roller-throbber-8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciRollerThrobberComponent, isStandalone: true, selector: "sci-roller-throbber", ngImport: i0, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>", styles: ["@charset \"UTF-8\";:host{display:inline-flex;justify-content:center;position:relative;font-size:var(--\\275sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.point{flex:none;position:absolute;transform-origin:.05em .5em;width:.1em;height:.1em;border-radius:50%;background-color:var(--\\275sci-throbber-color)}:host>div.point:nth-child(1){animation:sci-roller-throbber-1 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.02)}@keyframes sci-roller-throbber-1{0%{transform:rotate(-105deg)}to{transform:rotate(255deg)}}:host>div.point:nth-child(2){animation:sci-roller-throbber-2 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.04)}@keyframes sci-roller-throbber-2{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host>div.point:nth-child(3){animation:sci-roller-throbber-3 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.06)}@keyframes sci-roller-throbber-3{0%{transform:rotate(-75deg)}to{transform:rotate(285deg)}}:host>div.point:nth-child(4){animation:sci-roller-throbber-4 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.08)}@keyframes sci-roller-throbber-4{0%{transform:rotate(-60deg)}to{transform:rotate(300deg)}}:host>div.point:nth-child(5){animation:sci-roller-throbber-5 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.1)}@keyframes sci-roller-throbber-5{0%{transform:rotate(-45deg)}to{transform:rotate(315deg)}}:host>div.point:nth-child(6){animation:sci-roller-throbber-6 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.12)}@keyframes sci-roller-throbber-6{0%{transform:rotate(-30deg)}to{transform:rotate(330deg)}}:host>div.point:nth-child(7){animation:sci-roller-throbber-7 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.14)}@keyframes sci-roller-throbber-7{0%{transform:rotate(-15deg)}to{transform:rotate(345deg)}}:host>div.point:nth-child(8){animation:sci-roller-throbber-8 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.16)}@keyframes sci-roller-throbber-8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
21
  export { SciRollerThrobberComponent };
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciRollerThrobberComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'sci-roller-throbber', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>", styles: [":host{display:inline-flex;justify-content:center;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.point{flex:none;position:absolute;transform-origin:.05em .5em;width:.1em;height:.1em;border-radius:50%;background-color:var(--sci-throbber-color)}:host>div.point:nth-child(1){animation:sci-roller-throbber-1 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.02)}@keyframes sci-roller-throbber-1{0%{transform:rotate(-105deg)}to{transform:rotate(255deg)}}:host>div.point:nth-child(2){animation:sci-roller-throbber-2 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.04)}@keyframes sci-roller-throbber-2{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host>div.point:nth-child(3){animation:sci-roller-throbber-3 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.06)}@keyframes sci-roller-throbber-3{0%{transform:rotate(-75deg)}to{transform:rotate(285deg)}}:host>div.point:nth-child(4){animation:sci-roller-throbber-4 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.08)}@keyframes sci-roller-throbber-4{0%{transform:rotate(-60deg)}to{transform:rotate(300deg)}}:host>div.point:nth-child(5){animation:sci-roller-throbber-5 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.1)}@keyframes sci-roller-throbber-5{0%{transform:rotate(-45deg)}to{transform:rotate(315deg)}}:host>div.point:nth-child(6){animation:sci-roller-throbber-6 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.12)}@keyframes sci-roller-throbber-6{0%{transform:rotate(-30deg)}to{transform:rotate(330deg)}}:host>div.point:nth-child(7){animation:sci-roller-throbber-7 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.14)}@keyframes sci-roller-throbber-7{0%{transform:rotate(-15deg)}to{transform:rotate(345deg)}}:host>div.point:nth-child(8){animation:sci-roller-throbber-8 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.16)}@keyframes sci-roller-throbber-8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
24
+ args: [{ selector: 'sci-roller-throbber', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>", styles: ["@charset \"UTF-8\";:host{display:inline-flex;justify-content:center;position:relative;font-size:var(--\\275sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.point{flex:none;position:absolute;transform-origin:.05em .5em;width:.1em;height:.1em;border-radius:50%;background-color:var(--\\275sci-throbber-color)}:host>div.point:nth-child(1){animation:sci-roller-throbber-1 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.02)}@keyframes sci-roller-throbber-1{0%{transform:rotate(-105deg)}to{transform:rotate(255deg)}}:host>div.point:nth-child(2){animation:sci-roller-throbber-2 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.04)}@keyframes sci-roller-throbber-2{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host>div.point:nth-child(3){animation:sci-roller-throbber-3 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.06)}@keyframes sci-roller-throbber-3{0%{transform:rotate(-75deg)}to{transform:rotate(285deg)}}:host>div.point:nth-child(4){animation:sci-roller-throbber-4 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.08)}@keyframes sci-roller-throbber-4{0%{transform:rotate(-60deg)}to{transform:rotate(300deg)}}:host>div.point:nth-child(5){animation:sci-roller-throbber-5 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.1)}@keyframes sci-roller-throbber-5{0%{transform:rotate(-45deg)}to{transform:rotate(315deg)}}:host>div.point:nth-child(6){animation:sci-roller-throbber-6 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.12)}@keyframes sci-roller-throbber-6{0%{transform:rotate(-30deg)}to{transform:rotate(330deg)}}:host>div.point:nth-child(7){animation:sci-roller-throbber-7 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.14)}@keyframes sci-roller-throbber-7{0%{transform:rotate(-15deg)}to{transform:rotate(345deg)}}:host>div.point:nth-child(8){animation:sci-roller-throbber-8 var(--\\275sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--\\275sci-throbber-duration) * -.16)}@keyframes sci-roller-throbber-8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
25
25
  }] });
26
26
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbGVyLXRocm9iYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvdGhyb2JiZXIvc3JjL3JvbGxlci10aHJvYmJlci9yb2xsZXItdGhyb2JiZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvcm9sbGVyLXRocm9iYmVyL3JvbGxlci10aHJvYmJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRWpFOzs7O0dBSUc7QUFDSCxNQU9hLDBCQUEwQjs4R0FBMUIsMEJBQTBCO2tHQUExQiwwQkFBMEIsK0VDeEJ2Qyx3T0FPeUI7O1NEaUJaLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjaXJjdWxhciB0aHJvYmJlciB3aXRoIHBvaW50cyByb3RhdGluZyBhcm91bmQgdGhlIGNlbnRlciBvZiBhIGNpcmNsZS4gUG9pbnRzIGhhdmUgYSBkZWxheWVkIGFjY2VsZXJhdGlvbiwgd2hpY2ggbGVhZHMgdG8gYW4gYWNjb3JkaW9uIGVmZmVjdC5cbiAqXG4gKiBUaHJvYmJlciB0eXBlOiBgcm9sbGVyYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2ktcm9sbGVyLXRocm9iYmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGxlci10aHJvYmJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JvbGxlci10aHJvYmJlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NpUm9sbGVyVGhyb2JiZXJDb21wb25lbnQge1xufVxuIiwiPGRpdiBjbGFzcz1cInBvaW50XCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwicG9pbnRcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwb2ludFwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cInBvaW50XCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwicG9pbnRcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwb2ludFwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cInBvaW50XCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwicG9pbnRcIj48L2Rpdj4iXX0=