@elderbyte/ngx-starter 18.12.8 → 18.13.0-beta.1

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 (66) hide show
  1. package/_index.scss +23 -6
  2. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +3 -3
  3. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  4. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  5. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  6. package/esm2022/lib/components/loader-background/loader-background.component.mjs +11 -0
  7. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -3
  8. package/esm2022/lib/components/public_api.mjs +2 -1
  9. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
  10. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +3 -3
  11. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
  12. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  13. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +3 -3
  14. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +5 -3
  15. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +3 -3
  16. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  17. package/fesm2022/elderbyte-ngx-starter.mjs +38 -27
  18. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  19. package/lib/components/loader-background/loader-background.component.d.ts +5 -0
  20. package/lib/components/public_api.d.ts +1 -0
  21. package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +2 -1
  22. package/package.json +1 -1
  23. package/src/lib/components/badge/elder-badge/elder-badge.component.scss +2 -1
  24. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.scss +1 -7
  25. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +3 -14
  26. package/src/lib/components/cards/elder-card/elder-card.component.scss +2 -8
  27. package/src/lib/components/chips/_elder-chip-theme-old.scss +122 -0
  28. package/src/lib/components/chips/_elder-chip-theme.scss +101 -12
  29. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +0 -6
  30. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +11 -0
  31. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +15 -22
  32. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +12 -21
  33. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -9
  34. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +2 -8
  35. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +4 -9
  36. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +7 -10
  37. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +0 -4
  38. package/src/lib/components/loader-background/loader-background.component.scss +60 -0
  39. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +12 -24
  40. package/src/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.scss +1 -4
  41. package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +3 -12
  42. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +4 -12
  43. package/src/lib/components/panels/flat/_elder-panel-theme.scss +26 -9
  44. package/src/lib/components/select/_elder-select-base.scss +1 -9
  45. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +1 -4
  46. package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +10 -39
  47. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +19 -52
  48. package/src/lib/components/select/single/elder-select/elder-select.component.scss +24 -40
  49. package/src/lib/components/time/_elder-time-input.theme.scss +0 -3
  50. package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +31 -2
  51. package/theming/_elder-badge-sizing.scss +21 -0
  52. package/theming/_elder-color-variants.scss +26 -0
  53. package/theming/_elder-common.scss +6 -399
  54. package/theming/_elder-defaults.scss +3 -7
  55. package/theming/_elder-form.scss +308 -0
  56. package/theming/_elder-layout-system.scss +242 -0
  57. package/theming/_elder-m3-theme.scss +879 -0
  58. package/theming/_elder-mdc-support.scss +59 -142
  59. package/theming/_elder-scrollbar-theme.scss +2 -12
  60. package/theming/_elder-style-fixes.scss +47 -109
  61. package/theming/_elder-typography-utils.scss +0 -11
  62. package/theming/_mixins.scss +35 -0
  63. package/theming/_elder-palettes.scss +0 -148
  64. package/theming/_elder-theme.scss +0 -51
  65. package/theming/_elder-toast-theme.scss +0 -46
  66. package/theming/_mat-icon-button-size.scss +0 -34
package/_index.scss CHANGED
@@ -1,15 +1,17 @@
1
+ @use '@angular/material' as mat;
2
+
1
3
  @forward './theming/elder-scrollbar-theme';
2
- @forward './theming/elder-palettes';
3
- @forward './theming/elder-theme';
4
4
  @forward './theming/elder-defaults';
5
5
 
6
- @use './theming/elder-toast-theme' as elder-toast;
6
+ @use './theming/elder-color-variants' as elder-color-variants;
7
7
  @use './src/lib/components/chips/elder-chip-theme' as elder-chip;
8
8
  @use './theming/elder-style-fixes' as elder-fixes;
9
9
  @use './theming/elder-scrollbar-theme' as elder-scrollbar-theme;
10
10
  @use './theming/elder-defaults' as elder-defaults;
11
11
  @use './theming/elder-mdc-support' as elder-mdc-support;
12
12
  @use './theming/elder-common' as elder-common;
13
+ @use './theming/elder-layout-system' as elder-layout-system;
14
+ @use './theming/elder-form' as elder-form;
13
15
  @use './theming/elder-flex-layout' as elder-flex-layout;
14
16
  @use './src/lib/components/panels/flat/elder-panel-theme' as elder-panel;
15
17
  @use './src/lib/components/errors/exception-detail/elder-exception-detail.component' as
@@ -33,9 +35,10 @@
33
35
  as elder-multi-select-chips;
34
36
  @use './src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component'
35
37
  as elder-multi-select-chip-options;
36
- @use './src/lib/components/iframes/iframe-host/iframe-host.component' as iframe-host;
37
38
  @use './src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component' as
38
39
  elder-drop-zone;
40
+ @use './theming/elder-badge-sizing' as elder-badge-sizing;
41
+ //@use './src/lib/components/iframes/iframe-host/iframe-host.component' as iframe-host;
39
42
 
40
43
  @use 'sass:map';
41
44
 
@@ -45,9 +48,10 @@
45
48
  @include elder-fixes.elder-style-fixes($theme);
46
49
  @include elder-mdc-support.mdc-theme-support($theme);
47
50
  @include elder-common.elder-common-styles($theme);
51
+ @include elder-form.elder-form-styles($theme);
48
52
  @include elder-flex-layout.elder-flex-layout($theme);
53
+ @include elder-layout-system.elder-layout-system($theme);
49
54
 
50
- @include elder-toast.theme($theme);
51
55
  @include elder-chip.theme($theme);
52
56
  @include elder-exception-detail.theme($theme);
53
57
 
@@ -55,6 +59,7 @@
55
59
  @include elder-card-panel.theme($theme);
56
60
  @include elder-dialog-panel.theme($theme);
57
61
  @include elder-nav.theme($theme);
62
+
58
63
  @include elder-expand-toggle-button.theme($theme);
59
64
  @include elder-select.theme($theme);
60
65
  @include elder-time.theme($theme);
@@ -66,6 +71,18 @@
66
71
  @include elder-grid.theme($theme);
67
72
  @include elder-button-group.theme($theme);
68
73
  @include elder-scrollbar-theme.theme($theme);
69
- @include iframe-host.theme($theme);
74
+
75
+ // @include iframe-host.theme(
76
+ // $theme
77
+ // ); // interesting, iframe-host renders css, while mixin is empty. bug?
78
+
70
79
  @include elder-drop-zone.theme($theme);
80
+
81
+ // Custom Color variants for m3. They can already be provided through
82
+ // "mat.color-variants-backwards-compatibility()"
83
+ // But can be customized in this mixin below:
84
+ @include elder-color-variants.elder-color-variants($theme);
85
+
86
+ // Use tweaked MAT2 badge sizing
87
+ @include elder-badge-sizing.elder-badge-sizing();
71
88
  }
@@ -121,7 +121,7 @@ export class ElderBadgeComponent {
121
121
  return this.chipAvatarTemplate$.getValue();
122
122
  }
123
123
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ElderBadgeComponent, isStandalone: true, selector: "elder-badge", inputs: { appearance: "appearance", value: "value", colorSpec: "colorSpec", badgeColor: "badgeColor", avatarSpec: "avatarSpec", setCssClass: ["cssClass", "setCssClass"], chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate" }, queries: [{ propertyName: "chipTemplateQuery", first: true, predicate: ElderBadgeChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderBadgeChipAvatarDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"templates$ | async as templates\">\n <ng-container *ngIf=\"badgeModel$ | async as badgeModel\">\n <mat-chip\n elderChipLabel\n [appearance]=\"appearance\"\n [color]=\"badgeModel.colorSpec?.theme\"\n [stateColor]=\"badgeModel.colorSpec?.state\"\n [levelColor]=\"badgeModel.colorSpec?.level\"\n [class]=\"'elder-badge fill ' + elementClass\"\n >\n <mat-chip-avatar clasS=\"elder-badge-avatar\" *ngIf=\"templates.avatar || badgeModel.showAvatar\">\n <ng-container\n *ngTemplateOutlet=\"\n templates.avatar || simpleAvatarTemplate;\n context: { $implicit: badgeModel }\n \"\n >\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: { $implicit: badgeModel }\"\n >\n </ng-container>\n\n <ng-content></ng-content>\n </mat-chip>\n </ng-container>\n</ng-container>\n\n<ng-template #simpleChipTemplate let-badgeModel>\n <!--\n <span class=\"elder-chip-text\">{{badgeModel.value | elderTruncate:20}}</span>\n -->\n {{ badgeModel.value | elderTruncate: 20 }}\n</ng-template>\n\n<ng-template #simpleAvatarTemplate let-badgeModel>\n <mat-icon>{{ badgeModel.avatarSpec?.icon }}</mat-icon>\n</ng-template>\n", styles: [".elder-badge{position:absolute!important;width:unset!important;max-width:unset!important;box-sizing:border-box}.elder-badge.mat-mdc-standard-chip{height:var(--mat-badge-text-size, 12px)4}.elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:var(--mat-badge-text-size, 12px);font-weight:var(--mat-badge-text-weight, 600)}.elder-badge .mdc-evolution-chip,.elder-badge .mdc-evolution-chip__cell,.elder-badge .mdc-evolution-chip__action{justify-content:center}.elder-badge.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:0;padding-right:0}.mat-badge-small .elder-badge.mat-badge-content{border-radius:16px;min-width:16px}.mat-badge-small.mat-badge-above .elder-badge.mat-badge-content{top:-7px!important}.mat-badge-small.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-small.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-small .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 3px!important}.mat-badge-small .elder-badge.mat-badge-content{line-height:14px!important}.mat-badge-medium .elder-badge.mat-badge-content{border-radius:22px;min-width:22px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-medium.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-medium .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-medium .elder-badge.mat-badge-content{line-height:20px!important}.mat-badge-large .elder-badge.mat-badge-content{border-radius:28px;min-width:28px}.mat-badge-large.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-large.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-large .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-large .elder-badge.mat-badge-content{line-height:26px!important}.elder-badge.mat-badge-content{transform:unset!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: ["appearance", "color", "stateColor", "levelColor"] }, { kind: "directive", type: MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ElderBadgeComponent, isStandalone: true, selector: "elder-badge", inputs: { appearance: "appearance", value: "value", colorSpec: "colorSpec", badgeColor: "badgeColor", avatarSpec: "avatarSpec", setCssClass: ["cssClass", "setCssClass"], chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate" }, queries: [{ propertyName: "chipTemplateQuery", first: true, predicate: ElderBadgeChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderBadgeChipAvatarDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"templates$ | async as templates\">\n <ng-container *ngIf=\"badgeModel$ | async as badgeModel\">\n <mat-chip\n elderChipLabel\n [appearance]=\"appearance\"\n [color]=\"badgeModel.colorSpec?.theme\"\n [stateColor]=\"badgeModel.colorSpec?.state\"\n [levelColor]=\"badgeModel.colorSpec?.level\"\n [class]=\"'elder-badge fill ' + elementClass\"\n >\n <mat-chip-avatar clasS=\"elder-badge-avatar\" *ngIf=\"templates.avatar || badgeModel.showAvatar\">\n <ng-container\n *ngTemplateOutlet=\"\n templates.avatar || simpleAvatarTemplate;\n context: { $implicit: badgeModel }\n \"\n >\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: { $implicit: badgeModel }\"\n >\n </ng-container>\n\n <ng-content></ng-content>\n </mat-chip>\n </ng-container>\n</ng-container>\n\n<ng-template #simpleChipTemplate let-badgeModel>\n <!--\n <span class=\"elder-chip-text\">{{badgeModel.value | elderTruncate:20}}</span>\n -->\n {{ badgeModel.value | elderTruncate: 20 }}\n</ng-template>\n\n<ng-template #simpleAvatarTemplate let-badgeModel>\n <mat-icon>{{ badgeModel.avatarSpec?.icon }}</mat-icon>\n</ng-template>\n", styles: [".elder-badge{position:absolute!important;width:unset!important;max-width:unset!important;box-sizing:border-box;--mdc-chip-container-shape-radius: 10px}.elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:var(--mat-badge-text-size, 12px);font-weight:var(--mat-badge-text-weight, 600)}.elder-badge .mdc-evolution-chip,.elder-badge .mdc-evolution-chip__cell,.elder-badge .mdc-evolution-chip__action{justify-content:center}.elder-badge.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:0;padding-right:0}.mat-badge-small .elder-badge.mat-badge-content{border-radius:16px;min-width:16px}.mat-badge-small.mat-badge-above .elder-badge.mat-badge-content{top:-7px!important}.mat-badge-small.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-small.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-small .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 3px!important}.mat-badge-small .elder-badge.mat-badge-content{line-height:14px!important}.mat-badge-medium .elder-badge.mat-badge-content{border-radius:22px;min-width:22px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-medium.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-medium .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-medium .elder-badge.mat-badge-content{line-height:20px!important}.mat-badge-large .elder-badge.mat-badge-content{border-radius:28px;min-width:28px}.mat-badge-large.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-large.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-large .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-large .elder-badge.mat-badge-content{line-height:26px!important}.elder-badge.mat-badge-content{transform:unset!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: ["appearance", "color", "stateColor", "levelColor"] }, { kind: "directive", type: MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
125
125
  }
126
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderBadgeComponent, decorators: [{
127
127
  type: Component,
@@ -134,7 +134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
134
134
  MatIcon,
135
135
  AsyncPipe,
136
136
  ElderTruncatePipe,
137
- ], template: "<ng-container *ngIf=\"templates$ | async as templates\">\n <ng-container *ngIf=\"badgeModel$ | async as badgeModel\">\n <mat-chip\n elderChipLabel\n [appearance]=\"appearance\"\n [color]=\"badgeModel.colorSpec?.theme\"\n [stateColor]=\"badgeModel.colorSpec?.state\"\n [levelColor]=\"badgeModel.colorSpec?.level\"\n [class]=\"'elder-badge fill ' + elementClass\"\n >\n <mat-chip-avatar clasS=\"elder-badge-avatar\" *ngIf=\"templates.avatar || badgeModel.showAvatar\">\n <ng-container\n *ngTemplateOutlet=\"\n templates.avatar || simpleAvatarTemplate;\n context: { $implicit: badgeModel }\n \"\n >\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: { $implicit: badgeModel }\"\n >\n </ng-container>\n\n <ng-content></ng-content>\n </mat-chip>\n </ng-container>\n</ng-container>\n\n<ng-template #simpleChipTemplate let-badgeModel>\n <!--\n <span class=\"elder-chip-text\">{{badgeModel.value | elderTruncate:20}}</span>\n -->\n {{ badgeModel.value | elderTruncate: 20 }}\n</ng-template>\n\n<ng-template #simpleAvatarTemplate let-badgeModel>\n <mat-icon>{{ badgeModel.avatarSpec?.icon }}</mat-icon>\n</ng-template>\n", styles: [".elder-badge{position:absolute!important;width:unset!important;max-width:unset!important;box-sizing:border-box}.elder-badge.mat-mdc-standard-chip{height:var(--mat-badge-text-size, 12px)4}.elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:var(--mat-badge-text-size, 12px);font-weight:var(--mat-badge-text-weight, 600)}.elder-badge .mdc-evolution-chip,.elder-badge .mdc-evolution-chip__cell,.elder-badge .mdc-evolution-chip__action{justify-content:center}.elder-badge.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:0;padding-right:0}.mat-badge-small .elder-badge.mat-badge-content{border-radius:16px;min-width:16px}.mat-badge-small.mat-badge-above .elder-badge.mat-badge-content{top:-7px!important}.mat-badge-small.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-small.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-small .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 3px!important}.mat-badge-small .elder-badge.mat-badge-content{line-height:14px!important}.mat-badge-medium .elder-badge.mat-badge-content{border-radius:22px;min-width:22px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-medium.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-medium .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-medium .elder-badge.mat-badge-content{line-height:20px!important}.mat-badge-large .elder-badge.mat-badge-content{border-radius:28px;min-width:28px}.mat-badge-large.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-large.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-large .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-large .elder-badge.mat-badge-content{line-height:26px!important}.elder-badge.mat-badge-content{transform:unset!important}\n"] }]
137
+ ], template: "<ng-container *ngIf=\"templates$ | async as templates\">\n <ng-container *ngIf=\"badgeModel$ | async as badgeModel\">\n <mat-chip\n elderChipLabel\n [appearance]=\"appearance\"\n [color]=\"badgeModel.colorSpec?.theme\"\n [stateColor]=\"badgeModel.colorSpec?.state\"\n [levelColor]=\"badgeModel.colorSpec?.level\"\n [class]=\"'elder-badge fill ' + elementClass\"\n >\n <mat-chip-avatar clasS=\"elder-badge-avatar\" *ngIf=\"templates.avatar || badgeModel.showAvatar\">\n <ng-container\n *ngTemplateOutlet=\"\n templates.avatar || simpleAvatarTemplate;\n context: { $implicit: badgeModel }\n \"\n >\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: { $implicit: badgeModel }\"\n >\n </ng-container>\n\n <ng-content></ng-content>\n </mat-chip>\n </ng-container>\n</ng-container>\n\n<ng-template #simpleChipTemplate let-badgeModel>\n <!--\n <span class=\"elder-chip-text\">{{badgeModel.value | elderTruncate:20}}</span>\n -->\n {{ badgeModel.value | elderTruncate: 20 }}\n</ng-template>\n\n<ng-template #simpleAvatarTemplate let-badgeModel>\n <mat-icon>{{ badgeModel.avatarSpec?.icon }}</mat-icon>\n</ng-template>\n", styles: [".elder-badge{position:absolute!important;width:unset!important;max-width:unset!important;box-sizing:border-box;--mdc-chip-container-shape-radius: 10px}.elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-size:var(--mat-badge-text-size, 12px);font-weight:var(--mat-badge-text-weight, 600)}.elder-badge .mdc-evolution-chip,.elder-badge .mdc-evolution-chip__cell,.elder-badge .mdc-evolution-chip__action{justify-content:center}.elder-badge.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:0;padding-right:0}.mat-badge-small .elder-badge.mat-badge-content{border-radius:16px;min-width:16px}.mat-badge-small.mat-badge-above .elder-badge.mat-badge-content{top:-7px!important}.mat-badge-small.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-small.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-small .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 3px!important}.mat-badge-small .elder-badge.mat-badge-content{line-height:14px!important}.mat-badge-medium .elder-badge.mat-badge-content{border-radius:22px;min-width:22px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-medium.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-medium .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-medium .elder-badge.mat-badge-content{line-height:20px!important}.mat-badge-large .elder-badge.mat-badge-content{border-radius:28px;min-width:28px}.mat-badge-large.mat-badge-overlap.mat-badge-after .elder-badge.mat-badge-content{right:-5px;transform:translate(100%)!important}.mat-badge-large.mat-badge-overlap.mat-badge-before .elder-badge.mat-badge-content{left:-5px;transform:translate(-100%)!important}.mat-badge-large .elder-badge.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding:0 6px!important}.mat-badge-large .elder-badge.mat-badge-content{line-height:26px!important}.elder-badge.mat-badge-content{transform:unset!important}\n"] }]
138
138
  }], ctorParameters: () => [], propDecorators: { appearance: [{
139
139
  type: Input
140
140
  }], value: [{
@@ -159,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
159
159
  }], chipAvatarTemplate: [{
160
160
  type: Input
161
161
  }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9iYWRnZS9lbGRlci1iYWRnZS9lbGRlci1iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2JhZGdlL2VsZGVyLWJhZGdlL2VsZGVyLWJhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFakUsT0FBTyxFQUlMLHVCQUF1QixHQUN4QixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBOztBQU1uRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1MsV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJ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QWlCOzsyRkFHUixtQkFBbUI7a0JBbEIvQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixPQUFPO3dCQUNQLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxpQkFBaUI7cUJBQ2xCO3dEQWlCTSxVQUFVO3NCQURoQixLQUFLO2dCQTJCSyxLQUFLO3NCQURmLEtBQUs7Z0JBT0ssU0FBUztzQkFEbkIsS0FBSztnQkFPSyxVQUFVO3NCQURwQixLQUFLO2dCQU1LLFVBQVU7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxVQUFVO2dCQVlOLGlCQUFpQjtzQkFEM0IsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFNaEUsWUFBWTtzQkFEdEIsS0FBSztnQkFVSyx1QkFBdUI7c0JBRGpDLFlBQVk7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBTXRFLGtCQUFrQjtzQkFENUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQge1xuICBFbGRlckNoaXBBcHBlYXJhbmNlLFxuICBFbGRlckxldmVsQ29sb3IsXG4gIEVsZGVyU3RhdGVDb2xvcixcbiAgRWxkZXJDaGlwTGFiZWxEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2NoaXBzL2VsZGVyLWNoaXAtbGFiZWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBFbGRlclRydW5jYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2VsZGVyLXRydW5jYXRlLnBpcGUnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdENoaXAsIE1hdENoaXBBdmF0YXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcydcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQmFkZ2VDaGlwXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmFkZ2VDaGlwRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQmFkZ2VDaGlwQXZhdGFyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmFkZ2VDaGlwQXZhdGFyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWRnZUNvbG9yU3BlYyB7XG4gIHJlYWRvbmx5IHRoZW1lPzogVGhlbWVQYWxldHRlXG4gIHJlYWRvbmx5IHN0YXRlPzogRWxkZXJTdGF0ZUNvbG9yXG4gIHJlYWRvbmx5IGxldmVsPzogRWxkZXJMZXZlbENvbG9yXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFkZ2VBdmF0YXJTcGVjIHtcbiAgcmVhZG9ubHkgaWNvbj86IHN0cmluZ1xufVxuXG5jbGFzcyBFbGRlckJhZGdlTW9kZWwge1xuICBwdWJsaWMgc3RhdGljIHN0YW5kYXJkKCk6IEVsZGVyQmFkZ2VNb2RlbCB7XG4gICAgcmV0dXJuIG5ldyBFbGRlckJhZGdlTW9kZWwoJycsIHsgdGhlbWU6ICdwcmltYXJ5JyB9LCB7fSlcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogYW55LFxuICAgIHB1YmxpYyByZWFkb25seSBjb2xvclNwZWM6IEJhZGdlQ29sb3JTcGVjLFxuICAgIHB1YmxpYyByZWFkb25seSBhdmF0YXJTcGVjOiBCYWRnZUF2YXRhclNwZWNcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgc2hvd0F2YXRhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmF2YXRhclNwZWM/Lmljb25cbiAgfVxufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGVXcmFwcGVyIHtcbiAgY2hpcDogVGVtcGxhdGVSZWY8YW55PlxuICBhdmF0YXI6IFRlbXBsYXRlUmVmPGFueT5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1iYWRnZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0Q2hpcCxcbiAgICBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZSxcbiAgICBNYXRDaGlwQXZhdGFyLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTWF0SWNvbixcbiAgICBBc3luY1BpcGUsXG4gICAgRWxkZXJUcnVuY2F0ZVBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmFkZ2VDb21wb25lbnQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVhZG9ubHkgYmFkZ2VNb2RlbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVsZGVyQmFkZ2VNb2RlbD4oRWxkZXJCYWRnZU1vZGVsLnN0YW5kYXJkKCkpXG4gIHB1YmxpYyBlbGVtZW50Q2xhc3M6IHN0cmluZ1tdID0gW11cbiAgcmVhZG9ubHkgdGVtcGxhdGVzJDogT2JzZXJ2YWJsZTxUZW1wbGF0ZVdyYXBwZXI+XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjaGlwVGVtcGxhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZVJlZjxhbnk+PihudWxsKVxuICBwcml2YXRlIHJlYWRvbmx5IGNoaXBBdmF0YXJUZW1wbGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT4+KG51bGwpXG5cbiAgQElucHV0KClcbiAgcHVibGljIGFwcGVhcmFuY2U6IEVsZGVyQ2hpcEFwcGVhcmFuY2UgPSAnbGVnYWN5J1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudGVtcGxhdGVzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY2hpcFRlbXBsYXRlJCwgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkXSkucGlwZShcbiAgICAgIG1hcCgoW2NoaXAsIGF2YXRhcl0pID0+IHtcbiAgICAgICAgcmV0dXJuIDxUZW1wbGF0ZVdyYXBwZXI+e1xuICAgICAgICAgIGNoaXAsXG4gICAgICAgICAgYXZhdGFyLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmJhZGdlTW9kZWwkLmdldFZhbHVlKClcbiAgICB0aGlzLmJhZGdlTW9kZWwkLm5leHQobmV3IEVsZGVyQmFkZ2VNb2RlbCh2YWx1ZSwgY3VycmVudC5jb2xvclNwZWMsIGN1cnJlbnQuYXZhdGFyU3BlYykpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNvbG9yU3BlYyhzcGVjOiBCYWRnZUNvbG9yU3BlYykge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmJhZGdlTW9kZWwkLmdldFZhbHVlKClcbiAgICB0aGlzLmJhZGdlTW9kZWwkLm5leHQobmV3IEVsZGVyQmFkZ2VNb2RlbChjdXJyZW50LnZhbHVlLCBzcGVjLCBjdXJyZW50LmF2YXRhclNwZWMpKVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBiYWRnZUNvbG9yKGNvbG9yOiBUaGVtZVBhbGV0dGUpIHtcbiAgICB0aGlzLmNvbG9yU3BlYyA9IHsgdGhlbWU6IGNvbG9yIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXZhdGFyU3BlYyhzcGVjOiBCYWRnZUF2YXRhclNwZWMpIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5iYWRnZU1vZGVsJC5nZXRWYWx1ZSgpXG4gICAgdGhpcy5iYWRnZU1vZGVsJC5uZXh0KG5ldyBFbGRlckJhZGdlTW9kZWwoY3VycmVudC52YWx1ZSwgY3VycmVudC5jb2xvclNwZWMsIHNwZWMpKVxuICB9XG5cbiAgQElucHV0KCdjc3NDbGFzcycpXG4gIHB1YmxpYyBzZXRDc3NDbGFzcyh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuZWxlbWVudENsYXNzID0gdmFsLnNwbGl0KCcgJylcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBUZW1wbGF0ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJCYWRnZUNoaXBEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlID0gdGVtcGxhdGVcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwVGVtcGxhdGUkLm5leHQodGVtcGxhdGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwVGVtcGxhdGUkLmdldFZhbHVlKClcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJCYWRnZUNoaXBBdmF0YXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHNldCBjaGlwQXZhdGFyVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlID0gdGVtcGxhdGVcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLm5leHQodGVtcGxhdGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBBdmF0YXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLmdldFZhbHVlKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlcyQgfCBhc3luYyBhcyB0ZW1wbGF0ZXNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJhZGdlTW9kZWwkIHwgYXN5bmMgYXMgYmFkZ2VNb2RlbFwiPlxuICAgIDxtYXQtY2hpcFxuICAgICAgZWxkZXJDaGlwTGFiZWxcbiAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgW2NvbG9yXT1cImJhZGdlTW9kZWwuY29sb3JTcGVjPy50aGVtZVwiXG4gICAgICBbc3RhdGVDb2xvcl09XCJiYWRnZU1vZGVsLmNvbG9yU3BlYz8uc3RhdGVcIlxuICAgICAgW2xldmVsQ29sb3JdPVwiYmFkZ2VNb2RlbC5jb2xvclNwZWM/LmxldmVsXCJcbiAgICAgIFtjbGFzc109XCInZWxkZXItYmFkZ2UgZmlsbCAnICsgZWxlbWVudENsYXNzXCJcbiAgICA+XG4gICAgICA8bWF0LWNoaXAtYXZhdGFyIGNsYXNTPVwiZWxkZXItYmFkZ2UtYXZhdGFyXCIgKm5nSWY9XCJ0ZW1wbGF0ZXMuYXZhdGFyIHx8IGJhZGdlTW9kZWwuc2hvd0F2YXRhclwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIHRlbXBsYXRlcy5hdmF0YXIgfHwgc2ltcGxlQXZhdGFyVGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogYmFkZ2VNb2RlbCB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LWNoaXAtYXZhdGFyPlxuXG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzLmNoaXAgfHwgc2ltcGxlQ2hpcFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogYmFkZ2VNb2RlbCB9XCJcbiAgICAgID5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2hpcD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVDaGlwVGVtcGxhdGUgbGV0LWJhZGdlTW9kZWw+XG4gIDwhLS1cbiAgPHNwYW4gY2xhc3M9XCJlbGRlci1jaGlwLXRleHRcIj57e2JhZGdlTW9kZWwudmFsdWUgfCBlbGRlclRydW5jYXRlOjIwfX08L3NwYW4+XG4gIC0tPlxuICB7eyBiYWRnZU1vZGVsLnZhbHVlIHwgZWxkZXJUcnVuY2F0ZTogMjAgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2ltcGxlQXZhdGFyVGVtcGxhdGUgbGV0LWJhZGdlTW9kZWw+XG4gIDxtYXQtaWNvbj57eyBiYWRnZU1vZGVsLmF2YXRhclNwZWM/Lmljb24gfX08L21hdC1pY29uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9iYWRnZS9lbGRlci1iYWRnZS9lbGRlci1iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2JhZGdlL2VsZGVyLWJhZGdlL2VsZGVyLWJhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFakUsT0FBTyxFQUlMLHVCQUF1QixHQUN4QixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBOztBQU1uRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1MsV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJ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QWlCOzsyRkFHUixtQkFBbUI7a0JBbEIvQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixPQUFPO3dCQUNQLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxpQkFBaUI7cUJBQ2xCO3dEQWlCTSxVQUFVO3NCQURoQixLQUFLO2dCQTJCSyxLQUFLO3NCQURmLEtBQUs7Z0JBT0ssU0FBUztzQkFEbkIsS0FBSztnQkFPSyxVQUFVO3NCQURwQixLQUFLO2dCQU1LLFVBQVU7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxVQUFVO2dCQVlOLGlCQUFpQjtzQkFEM0IsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFNaEUsWUFBWTtzQkFEdEIsS0FBSztnQkFVSyx1QkFBdUI7c0JBRGpDLFlBQVk7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBTXRFLGtCQUFrQjtzQkFENUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQge1xuICBFbGRlckNoaXBBcHBlYXJhbmNlLFxuICBFbGRlckxldmVsQ29sb3IsXG4gIEVsZGVyU3RhdGVDb2xvcixcbiAgRWxkZXJDaGlwTGFiZWxEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2NoaXBzL2VsZGVyLWNoaXAtbGFiZWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBFbGRlclRydW5jYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2VsZGVyLXRydW5jYXRlLnBpcGUnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdENoaXAsIE1hdENoaXBBdmF0YXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcydcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQmFkZ2VDaGlwXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmFkZ2VDaGlwRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQmFkZ2VDaGlwQXZhdGFyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmFkZ2VDaGlwQXZhdGFyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWRnZUNvbG9yU3BlYyB7XG4gIHJlYWRvbmx5IHRoZW1lPzogVGhlbWVQYWxldHRlXG4gIHJlYWRvbmx5IHN0YXRlPzogRWxkZXJTdGF0ZUNvbG9yXG4gIHJlYWRvbmx5IGxldmVsPzogRWxkZXJMZXZlbENvbG9yXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFkZ2VBdmF0YXJTcGVjIHtcbiAgcmVhZG9ubHkgaWNvbj86IHN0cmluZ1xufVxuXG5jbGFzcyBFbGRlckJhZGdlTW9kZWwge1xuICBwdWJsaWMgc3RhdGljIHN0YW5kYXJkKCk6IEVsZGVyQmFkZ2VNb2RlbCB7XG4gICAgcmV0dXJuIG5ldyBFbGRlckJhZGdlTW9kZWwoJycsIHsgdGhlbWU6ICdwcmltYXJ5JyB9LCB7fSlcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogYW55LFxuICAgIHB1YmxpYyByZWFkb25seSBjb2xvclNwZWM6IEJhZGdlQ29sb3JTcGVjLFxuICAgIHB1YmxpYyByZWFkb25seSBhdmF0YXJTcGVjOiBCYWRnZUF2YXRhclNwZWNcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgc2hvd0F2YXRhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmF2YXRhclNwZWM/Lmljb25cbiAgfVxufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGVXcmFwcGVyIHtcbiAgY2hpcDogVGVtcGxhdGVSZWY8YW55PlxuICBhdmF0YXI6IFRlbXBsYXRlUmVmPGFueT5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1iYWRnZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0Q2hpcCxcbiAgICBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZSxcbiAgICBNYXRDaGlwQXZhdGFyLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTWF0SWNvbixcbiAgICBBc3luY1BpcGUsXG4gICAgRWxkZXJUcnVuY2F0ZVBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQmFkZ2VDb21wb25lbnQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVhZG9ubHkgYmFkZ2VNb2RlbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVsZGVyQmFkZ2VNb2RlbD4oRWxkZXJCYWRnZU1vZGVsLnN0YW5kYXJkKCkpXG4gIHB1YmxpYyBlbGVtZW50Q2xhc3M6IHN0cmluZ1tdID0gW11cbiAgcmVhZG9ubHkgdGVtcGxhdGVzJDogT2JzZXJ2YWJsZTxUZW1wbGF0ZVdyYXBwZXI+XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjaGlwVGVtcGxhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZVJlZjxhbnk+PihudWxsKVxuICBwcml2YXRlIHJlYWRvbmx5IGNoaXBBdmF0YXJUZW1wbGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT4+KG51bGwpXG5cbiAgQElucHV0KClcbiAgcHVibGljIGFwcGVhcmFuY2U6IEVsZGVyQ2hpcEFwcGVhcmFuY2UgPSAnbGVnYWN5J1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudGVtcGxhdGVzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY2hpcFRlbXBsYXRlJCwgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkXSkucGlwZShcbiAgICAgIG1hcCgoW2NoaXAsIGF2YXRhcl0pID0+IHtcbiAgICAgICAgcmV0dXJuIDxUZW1wbGF0ZVdyYXBwZXI+e1xuICAgICAgICAgIGNoaXAsXG4gICAgICAgICAgYXZhdGFyLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmJhZGdlTW9kZWwkLmdldFZhbHVlKClcbiAgICB0aGlzLmJhZGdlTW9kZWwkLm5leHQobmV3IEVsZGVyQmFkZ2VNb2RlbCh2YWx1ZSwgY3VycmVudC5jb2xvclNwZWMsIGN1cnJlbnQuYXZhdGFyU3BlYykpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNvbG9yU3BlYyhzcGVjOiBCYWRnZUNvbG9yU3BlYykge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmJhZGdlTW9kZWwkLmdldFZhbHVlKClcbiAgICB0aGlzLmJhZGdlTW9kZWwkLm5leHQobmV3IEVsZGVyQmFkZ2VNb2RlbChjdXJyZW50LnZhbHVlLCBzcGVjLCBjdXJyZW50LmF2YXRhclNwZWMpKVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBiYWRnZUNvbG9yKGNvbG9yOiBUaGVtZVBhbGV0dGUpIHtcbiAgICB0aGlzLmNvbG9yU3BlYyA9IHsgdGhlbWU6IGNvbG9yIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXZhdGFyU3BlYyhzcGVjOiBCYWRnZUF2YXRhclNwZWMpIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5iYWRnZU1vZGVsJC5nZXRWYWx1ZSgpXG4gICAgdGhpcy5iYWRnZU1vZGVsJC5uZXh0KG5ldyBFbGRlckJhZGdlTW9kZWwoY3VycmVudC52YWx1ZSwgY3VycmVudC5jb2xvclNwZWMsIHNwZWMpKVxuICB9XG5cbiAgQElucHV0KCdjc3NDbGFzcycpXG4gIHB1YmxpYyBzZXRDc3NDbGFzcyh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuZWxlbWVudENsYXNzID0gdmFsLnNwbGl0KCcgJylcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBUZW1wbGF0ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJCYWRnZUNoaXBEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcFRlbXBsYXRlID0gdGVtcGxhdGVcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwVGVtcGxhdGUkLm5leHQodGVtcGxhdGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwVGVtcGxhdGUkLmdldFZhbHVlKClcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJCYWRnZUNoaXBBdmF0YXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHNldCBjaGlwQXZhdGFyVGVtcGxhdGVRdWVyeSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlID0gdGVtcGxhdGVcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLm5leHQodGVtcGxhdGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBBdmF0YXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGUkLmdldFZhbHVlKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlcyQgfCBhc3luYyBhcyB0ZW1wbGF0ZXNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJhZGdlTW9kZWwkIHwgYXN5bmMgYXMgYmFkZ2VNb2RlbFwiPlxuICAgIDxtYXQtY2hpcFxuICAgICAgZWxkZXJDaGlwTGFiZWxcbiAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgW2NvbG9yXT1cImJhZGdlTW9kZWwuY29sb3JTcGVjPy50aGVtZVwiXG4gICAgICBbc3RhdGVDb2xvcl09XCJiYWRnZU1vZGVsLmNvbG9yU3BlYz8uc3RhdGVcIlxuICAgICAgW2xldmVsQ29sb3JdPVwiYmFkZ2VNb2RlbC5jb2xvclNwZWM/LmxldmVsXCJcbiAgICAgIFtjbGFzc109XCInZWxkZXItYmFkZ2UgZmlsbCAnICsgZWxlbWVudENsYXNzXCJcbiAgICA+XG4gICAgICA8bWF0LWNoaXAtYXZhdGFyIGNsYXNTPVwiZWxkZXItYmFkZ2UtYXZhdGFyXCIgKm5nSWY9XCJ0ZW1wbGF0ZXMuYXZhdGFyIHx8IGJhZGdlTW9kZWwuc2hvd0F2YXRhclwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIHRlbXBsYXRlcy5hdmF0YXIgfHwgc2ltcGxlQXZhdGFyVGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogYmFkZ2VNb2RlbCB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LWNoaXAtYXZhdGFyPlxuXG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzLmNoaXAgfHwgc2ltcGxlQ2hpcFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogYmFkZ2VNb2RlbCB9XCJcbiAgICAgID5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2hpcD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzaW1wbGVDaGlwVGVtcGxhdGUgbGV0LWJhZGdlTW9kZWw+XG4gIDwhLS1cbiAgPHNwYW4gY2xhc3M9XCJlbGRlci1jaGlwLXRleHRcIj57e2JhZGdlTW9kZWwudmFsdWUgfCBlbGRlclRydW5jYXRlOjIwfX08L3NwYW4+XG4gIC0tPlxuICB7eyBiYWRnZU1vZGVsLnZhbHVlIHwgZWxkZXJUcnVuY2F0ZTogMjAgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2ltcGxlQXZhdGFyVGVtcGxhdGUgbGV0LWJhZGdlTW9kZWw+XG4gIDxtYXQtaWNvbj57eyBiYWRnZU1vZGVsLmF2YXRhclNwZWM/Lmljb24gfX08L21hdC1pY29uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -34,7 +34,7 @@ export class HttpDataTransferIndicatorComponent {
34
34
  this.aggregate$ = this.transferService.transferAggregate;
35
35
  }
36
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferIndicatorComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferIndicatorComponent, isStandalone: true, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferIndicatorComponent, isStandalone: true, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferIndicatorComponent, decorators: [{
40
40
  type: Component,
@@ -48,10 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
48
48
  ElderOverlayComponent,
49
49
  HttpDataTransferOverviewComponent,
50
50
  AsyncPipe,
51
- ], template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"] }]
51
+ ], template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px}\n"] }]
52
52
  }], ctorParameters: () => [{ type: i1.ElderDataTransferService }], propDecorators: { activeColor: [{
53
53
  type: Input
54
54
  }], inactiveColor: [{
55
55
  type: Input
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFLakYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUE7QUFDeEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBb0JqRCxNQUFNLE9BQU8sa0NBQWtDO0lBZTdDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFwQjdEOzs7O29GQUk0RTtRQUdyRSxnQkFBVyxHQUFpQixTQUFTLENBQUE7UUFHckMsa0JBQWEsR0FBaUIsU0FBUyxDQUFBO0lBVWtCLENBQUM7SUFFakU7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUE7SUFDMUQsQ0FBQzs4R0EvQlUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsaUtDaEMvQywrNUJBMkJBLGdORE5JLElBQUksNkZBQ0osYUFBYSw2RkFDYiw0QkFBNEIsNEpBQzVCLE9BQU8sMklBQ1Asa0JBQWtCLCtLQUNsQixRQUFRLGtOQUNSLHFCQUFxQiw4UkFDckIsaUNBQWlDLG9FQUNqQyxTQUFTOzsyRkFHQSxrQ0FBa0M7a0JBbEI5QyxTQUFTOytCQUNFLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixhQUFhO3dCQUNiLDRCQUE0Qjt3QkFDNUIsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLFFBQVE7d0JBQ1IscUJBQXFCO3dCQUNyQixpQ0FBaUM7d0JBQ2pDLFNBQVM7cUJBQ1Y7NkZBVU0sV0FBVztzQkFEakIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEVsZGVyRGF0YVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSdcbmltcG9ydCB7IERhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1wcm9ncmVzcy1hZ2dyZWdhdGUnXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3L2h0dHAtZGF0YS10cmFuc2Zlci1vdmVydmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEJhZGdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUsXG4gICAgTWF0SWNvbixcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXIsXG4gICAgTWF0QmFkZ2UsXG4gICAgRWxkZXJPdmVybGF5Q29tcG9uZW50LFxuICAgIEh0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlQ29sb3I6IFRoZW1lUGFsZXR0ZSA9IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmFjdGl2ZUNvbG9yOiBUaGVtZVBhbGV0dGUgPSB1bmRlZmluZWRcblxuICBwdWJsaWMgYWdncmVnYXRlJDogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJQcm9ncmVzc0FnZ3JlZ2F0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zZmVyU2VydmljZTogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFnZ3JlZ2F0ZSQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlckFnZ3JlZ2F0ZVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlJCB8IGFzeW5jIGFzIGFnZ3JlZ2F0ZVwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWNlbnRlci1jZW50ZXJcIlxuICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cIm92ZXJsYXlcIlxuICA+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPT0gMFwiIFtjb2xvcl09XCJpbmFjdGl2ZUNvbG9yXCI+Y2xvdWRfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPiAwXCJcbiAgICAgIFttYXRCYWRnZV09XCJhZ2dyZWdhdGUuaW5UcmFuc2ZlclwiXG4gICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgW21hdEJhZGdlQ29sb3JdPVwiYWN0aXZlQ29sb3JcIlxuICAgICAgW2NvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAgIFtzdHJva2VXaWR0aF09XCIzXCJcbiAgICAgIFtkaWFtZXRlcl09XCIyNFwiXG4gICAgICBbdmFsdWVdPVwiYWdncmVnYXRlLnBlcmNlbnREb25lXCJcbiAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgPlxuICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxlbGRlci1vdmVybGF5ICNvdmVybGF5PVwiZWxkZXJPdmVybGF5XCIgb3JpZ2luWD1cImNlbnRlclwiIG92ZXJsYXlYPVwiY2VudGVyXCI+XG4gIDxlbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3IGNsYXNzPVwicGFuZWxcIj4gPC9lbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3PlxuPC9lbGRlci1vdmVybGF5PlxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFLakYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUE7QUFDeEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBb0JqRCxNQUFNLE9BQU8sa0NBQWtDO0lBZTdDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFwQjdEOzs7O29GQUk0RTtRQUdyRSxnQkFBVyxHQUFpQixTQUFTLENBQUE7UUFHckMsa0JBQWEsR0FBaUIsU0FBUyxDQUFBO0lBVWtCLENBQUM7SUFFakU7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUE7SUFDMUQsQ0FBQzs4R0EvQlUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsaUtDaEMvQywrNUJBMkJBLDhHRE5JLElBQUksNkZBQ0osYUFBYSw2RkFDYiw0QkFBNEIsNEpBQzVCLE9BQU8sMklBQ1Asa0JBQWtCLCtLQUNsQixRQUFRLGtOQUNSLHFCQUFxQiw4UkFDckIsaUNBQWlDLG9FQUNqQyxTQUFTOzsyRkFHQSxrQ0FBa0M7a0JBbEI5QyxTQUFTOytCQUNFLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixhQUFhO3dCQUNiLDRCQUE0Qjt3QkFDNUIsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLFFBQVE7d0JBQ1IscUJBQXFCO3dCQUNyQixpQ0FBaUM7d0JBQ2pDLFNBQVM7cUJBQ1Y7NkZBVU0sV0FBVztzQkFEakIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEVsZGVyRGF0YVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSdcbmltcG9ydCB7IERhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1wcm9ncmVzcy1hZ2dyZWdhdGUnXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3L2h0dHAtZGF0YS10cmFuc2Zlci1vdmVydmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEJhZGdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUsXG4gICAgTWF0SWNvbixcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXIsXG4gICAgTWF0QmFkZ2UsXG4gICAgRWxkZXJPdmVybGF5Q29tcG9uZW50LFxuICAgIEh0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlQ29sb3I6IFRoZW1lUGFsZXR0ZSA9IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmFjdGl2ZUNvbG9yOiBUaGVtZVBhbGV0dGUgPSB1bmRlZmluZWRcblxuICBwdWJsaWMgYWdncmVnYXRlJDogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJQcm9ncmVzc0FnZ3JlZ2F0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zZmVyU2VydmljZTogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFnZ3JlZ2F0ZSQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlckFnZ3JlZ2F0ZVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlJCB8IGFzeW5jIGFzIGFnZ3JlZ2F0ZVwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWNlbnRlci1jZW50ZXJcIlxuICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cIm92ZXJsYXlcIlxuICA+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPT0gMFwiIFtjb2xvcl09XCJpbmFjdGl2ZUNvbG9yXCI+Y2xvdWRfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPiAwXCJcbiAgICAgIFttYXRCYWRnZV09XCJhZ2dyZWdhdGUuaW5UcmFuc2ZlclwiXG4gICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgW21hdEJhZGdlQ29sb3JdPVwiYWN0aXZlQ29sb3JcIlxuICAgICAgW2NvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAgIFtzdHJva2VXaWR0aF09XCIzXCJcbiAgICAgIFtkaWFtZXRlcl09XCIyNFwiXG4gICAgICBbdmFsdWVdPVwiYWdncmVnYXRlLnBlcmNlbnREb25lXCJcbiAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgPlxuICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxlbGRlci1vdmVybGF5ICNvdmVybGF5PVwiZWxkZXJPdmVybGF5XCIgb3JpZ2luWD1cImNlbnRlclwiIG92ZXJsYXlYPVwiY2VudGVyXCI+XG4gIDxlbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3IGNsYXNzPVwicGFuZWxcIj4gPC9lbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3PlxuPC9lbGRlci1vdmVybGF5PlxuIl19
@@ -17,7 +17,7 @@ export class HttpDataTransferOverviewComponent {
17
17
  this.transfers$ = this.transferService.transfers;
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferOverviewComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferOverviewComponent, isStandalone: true, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n </div>\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferOverviewComponent, isStandalone: true, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card class=\"layout-col full elevated-card\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n </div>\n\n <mat-toolbar class=\"flex-none toolbar-dark-bg\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}.elevated-card{margin-top:4px;box-shadow:var(--mat-app-elevation-shadow-level-5, none)!important;background-color:var(--md-sys-color-surface-container-low)!important}.toolbar-dark-bg{background-color:var(--md-sys-color-surface-container);border-radius:10px}\n"], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferOverviewComponent, decorators: [{
23
23
  type: Component,
@@ -29,6 +29,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
29
29
  MatToolbar,
30
30
  HttpDataTransferAggregateComponent,
31
31
  AsyncPipe,
32
- ], template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n </div>\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"] }]
32
+ ], template: "<mat-card class=\"layout-col full elevated-card\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n </div>\n\n <mat-toolbar class=\"flex-none toolbar-dark-bg\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}.elevated-card{margin-top:4px;box-shadow:var(--mat-app-elevation-shadow-level-5, none)!important;background-color:var(--md-sys-color-surface-container-low)!important}.toolbar-dark-bg{background-color:var(--md-sys-color-surface-container);border-radius:10px}\n"] }]
33
33
  }], ctorParameters: () => [{ type: i1.ElderDataTransferService }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJbEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sd0VBQXdFLENBQUE7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzlGLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7O0FBa0JoRCxNQUFNLE9BQU8saUNBQWlDO0lBUzVDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQTtJQUNsRCxDQUFDOzhHQWpCVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx3RkMxQjlDLHMyQkF5QkEsZ05EUkksT0FBTyxvR0FDUCxJQUFJLDZGQUNKLEtBQUssbUhBQ0wseUJBQXlCLHNGQUN6QixVQUFVLHFHQUNWLGtDQUFrQyxxR0FDbEMsU0FBUzs7MkZBR0EsaUNBQWlDO2tCQWhCN0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLHlCQUF5Qjt3QkFDekIsVUFBVTt3QkFDVixrQ0FBa0M7d0JBQ2xDLFNBQVM7cUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2ZlciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2ZlcidcbmltcG9ydCB7IEh0dHBEYXRhVHJhbnNmZXJBZ2dyZWdhdGVDb21wb25lbnQgfSBmcm9tICcuLi9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlL2h0dHAtZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0VG9vbGJhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInXG5pbXBvcnQgeyBIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2Zlci5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTWF0Q2FyZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Q2FyZCxcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgTWF0VG9vbGJhcixcbiAgICBIdHRwRGF0YVRyYW5zZmVyQWdncmVnYXRlQ29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVycyQ6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPlxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2UpIHtcbiAgICB0aGlzLnRyYW5zZmVycyQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlcnNcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJyYWlzZWRcIiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCIgKm5nSWY9XCJ0cmFuc2ZlcnMkIHwgYXN5bmMgYXMgdHJhbnNmZXJzXCI+XG4gICAgPGRpdiAqbmdJZj1cInRyYW5zZmVycy5sZW5ndGggPiAwOyBlbHNlIG5vRGF0YVwiIGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IHNjcm9sbC1saXN0XCI+XG4gICAgICA8ZWxkZXItZGF0YS10cmFuc2ZlclxuICAgICAgICBjbGFzcz1cImZsZXgtbm9uZVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCB0cmFuc2ZlciBvZiB0cmFuc2ZlcnNcIlxuICAgICAgICBbdHJhbnNmZXJdPVwidHJhbnNmZXJcIlxuICAgICAgPlxuICAgICAgPC9lbGRlci1kYXRhLXRyYW5zZmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMiBub3NlbGVjdFwiIHN0eWxlPVwiY29sb3I6IGdyYXlcIj5ObyBkYXRhIHRyYW5zZmVycy48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJmbGV4LW5vbmUgbWF0LWVsZXZhdGlvbi16NVwiPlxuICAgIDxlbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZVxuICAgICAgY2xhc3M9XCJmbGV4XCJcbiAgICAgIFtoaWRkZW5XaGVuSW5hY3RpdmVdPVwiZmFsc2VcIlxuICAgID48L2VsZGVyLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlPlxuICA8L21hdC10b29sYmFyPlxuPC9tYXQtY2FyZD5cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJbEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sd0VBQXdFLENBQUE7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzlGLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7O0FBa0JoRCxNQUFNLE9BQU8saUNBQWlDO0lBUzVDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQTtJQUNsRCxDQUFDOzhHQWpCVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx3RkMxQjlDLDYxQkF5QkEsaWREUkksT0FBTyxvR0FDUCxJQUFJLDZGQUNKLEtBQUssbUhBQ0wseUJBQXlCLHNGQUN6QixVQUFVLHFHQUNWLGtDQUFrQyxxR0FDbEMsU0FBUzs7MkZBR0EsaUNBQWlDO2tCQWhCN0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLHlCQUF5Qjt3QkFDekIsVUFBVTt3QkFDVixrQ0FBa0M7d0JBQ2xDLFNBQVM7cUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2ZlciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2ZlcidcbmltcG9ydCB7IEh0dHBEYXRhVHJhbnNmZXJBZ2dyZWdhdGVDb21wb25lbnQgfSBmcm9tICcuLi9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlL2h0dHAtZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0VG9vbGJhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInXG5pbXBvcnQgeyBIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2Zlci5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTWF0Q2FyZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Q2FyZCxcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgTWF0VG9vbGJhcixcbiAgICBIdHRwRGF0YVRyYW5zZmVyQWdncmVnYXRlQ29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVycyQ6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPlxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2UpIHtcbiAgICB0aGlzLnRyYW5zZmVycyQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlcnNcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwibGF5b3V0LWNvbCBmdWxsIGVsZXZhdGVkLWNhcmRcIj5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZmxleFwiICpuZ0lmPVwidHJhbnNmZXJzJCB8IGFzeW5jIGFzIHRyYW5zZmVyc1wiPlxuICAgIDxkaXYgKm5nSWY9XCJ0cmFuc2ZlcnMubGVuZ3RoID4gMDsgZWxzZSBub0RhdGFcIiBjbGFzcz1cImxheW91dC1jb2wgZmxleCBzY3JvbGwtbGlzdFwiPlxuICAgICAgPGVsZGVyLWRhdGEtdHJhbnNmZXJcbiAgICAgICAgY2xhc3M9XCJmbGV4LW5vbmVcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgdHJhbnNmZXIgb2YgdHJhbnNmZXJzXCJcbiAgICAgICAgW3RyYW5zZmVyXT1cInRyYW5zZmVyXCJcbiAgICAgID5cbiAgICAgIDwvZWxkZXItZGF0YS10cmFuc2Zlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm9EYXRhPlxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgcGxhY2UtY2VudGVyLWNlbnRlciBmbGV4XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXN1YnRpdGxlLTIgbm9zZWxlY3RcIiBzdHlsZT1cImNvbG9yOiBncmF5XCI+Tm8gZGF0YSB0cmFuc2ZlcnMuPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG5cbiAgPG1hdC10b29sYmFyIGNsYXNzPVwiZmxleC1ub25lIHRvb2xiYXItZGFyay1iZ1wiPlxuICAgIDxlbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZVxuICAgICAgY2xhc3M9XCJmbGV4XCJcbiAgICAgIFtoaWRkZW5XaGVuSW5hY3RpdmVdPVwiZmFsc2VcIlxuICAgID48L2VsZGVyLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlPlxuICA8L21hdC10b29sYmFyPlxuPC9tYXQtY2FyZD5cbiJdfQ==
@@ -207,11 +207,11 @@ export class ElderBlobViewerComponent {
207
207
  });
208
208
  }
209
209
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderBlobViewerComponent, deps: [{ token: i1.HttpClientPristine }, { token: i2.DomSanitizer }, { token: i3.ElderToastService }], target: i0.ɵɵFactoryTarget.Component }); }
210
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: ElderBlobViewerComponent, isStandalone: true, selector: "elder-blob-viewer", inputs: { displayUnknownAsText: { classPropertyName: "displayUnknownAsText", publicName: "displayUnknownAsText", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: false, isRequired: false, transformFunction: null }, blobUrl: { classPropertyName: "blobUrl", publicName: "blobUrl", isSignal: false, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, mimeType: { classPropertyName: "mimeType", publicName: "mimeType", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"layout-col full place-center-center document-viewer\">\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n <!-- Video -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isVideo\">\n <video class=\"video\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isAudio\">\n <audio class=\"audio\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\">\n <img class=\"cover flex\" [src]=\"blobContext.safeUrl\" alt=\"blob image\" />\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayEmbedded\">\n <div class=\"full\">\n <embed\n class=\"embedded\"\n [src]=\"blobContext.safeUrl\"\n [type]=\"blobContext.mimeType.value\"\n width=\"100%\"\n height=\"100%\"\n />\n </div>\n </div>\n\n <!-- Plain Text -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayAsText\">\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\"\n wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.cantDisplay\">\n <p>Cant display {{ blobContext.mimeType.value }}!</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div class=\"layout-col place-center-center full\">\n <p>No Document.</p>\n </div>\n </ng-container>\n</div>\n", styles: [":host{overflow:hidden}.document-viewer{background-color:#dedede;color:#1f1e1e}.video,.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:#575757;color:#ccc;outline:none;resize:none;width:100%;height:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-border-radius:12px;border-radius:0;-webkit-box-shadow:0px 2px 14px #000;box-shadow:0 2px 14px #000;border-top:1px solid #fff;border-bottom:1px solid #fff}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: ElderBlobViewerComponent, isStandalone: true, selector: "elder-blob-viewer", inputs: { displayUnknownAsText: { classPropertyName: "displayUnknownAsText", publicName: "displayUnknownAsText", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: false, isRequired: false, transformFunction: null }, blobUrl: { classPropertyName: "blobUrl", publicName: "blobUrl", isSignal: false, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, mimeType: { classPropertyName: "mimeType", publicName: "mimeType", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"layout-col full place-center-center document-viewer\">\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n <!-- Video -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isVideo\">\n <video class=\"video\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isAudio\">\n <audio class=\"audio\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\">\n <img class=\"cover flex\" [src]=\"blobContext.safeUrl\" alt=\"blob image\" />\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayEmbedded\">\n <div class=\"full\">\n <embed\n class=\"embedded\"\n [src]=\"blobContext.safeUrl\"\n [type]=\"blobContext.mimeType.value\"\n width=\"100%\"\n height=\"100%\"\n />\n </div>\n </div>\n\n <!-- Plain Text -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayAsText\">\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\"\n wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.cantDisplay\">\n <p>Cant display {{ blobContext.mimeType.value }}!</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div class=\"layout-col place-center-center full\">\n <p>No Document.</p>\n </div>\n </ng-container>\n</div>\n", styles: [":host{overflow:hidden}.document-viewer{background-color:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface)}.video,.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);outline:none;resize:none;width:100%;height:100%;box-sizing:border-box;border-radius:0;box-shadow:0 2px 14px #000;border-top:1px solid #fff;border-bottom:1px solid #fff}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
211
211
  }
212
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderBlobViewerComponent, decorators: [{
213
213
  type: Component,
214
- args: [{ selector: 'elder-blob-viewer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, AsyncPipe], template: "<div class=\"layout-col full place-center-center document-viewer\">\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n <!-- Video -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isVideo\">\n <video class=\"video\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isAudio\">\n <audio class=\"audio\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\">\n <img class=\"cover flex\" [src]=\"blobContext.safeUrl\" alt=\"blob image\" />\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayEmbedded\">\n <div class=\"full\">\n <embed\n class=\"embedded\"\n [src]=\"blobContext.safeUrl\"\n [type]=\"blobContext.mimeType.value\"\n width=\"100%\"\n height=\"100%\"\n />\n </div>\n </div>\n\n <!-- Plain Text -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayAsText\">\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\"\n wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.cantDisplay\">\n <p>Cant display {{ blobContext.mimeType.value }}!</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div class=\"layout-col place-center-center full\">\n <p>No Document.</p>\n </div>\n </ng-container>\n</div>\n", styles: [":host{overflow:hidden}.document-viewer{background-color:#dedede;color:#1f1e1e}.video,.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:#575757;color:#ccc;outline:none;resize:none;width:100%;height:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-border-radius:12px;border-radius:0;-webkit-box-shadow:0px 2px 14px #000;box-shadow:0 2px 14px #000;border-top:1px solid #fff;border-bottom:1px solid #fff}\n"] }]
214
+ args: [{ selector: 'elder-blob-viewer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, AsyncPipe], template: "<div class=\"layout-col full place-center-center document-viewer\">\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n <!-- Video -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isVideo\">\n <video class=\"video\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isAudio\">\n <audio class=\"audio\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\">\n <img class=\"cover flex\" [src]=\"blobContext.safeUrl\" alt=\"blob image\" />\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayEmbedded\">\n <div class=\"full\">\n <embed\n class=\"embedded\"\n [src]=\"blobContext.safeUrl\"\n [type]=\"blobContext.mimeType.value\"\n width=\"100%\"\n height=\"100%\"\n />\n </div>\n </div>\n\n <!-- Plain Text -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayAsText\">\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\"\n wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.cantDisplay\">\n <p>Cant display {{ blobContext.mimeType.value }}!</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div class=\"layout-col place-center-center full\">\n <p>No Document.</p>\n </div>\n </ng-container>\n</div>\n", styles: [":host{overflow:hidden}.document-viewer{background-color:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface)}.video,.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);outline:none;resize:none;width:100%;height:100%;box-sizing:border-box;border-radius:0;box-shadow:0 2px 14px #000;border-top:1px solid #fff;border-bottom:1px solid #fff}\n"] }]
215
215
  }], ctorParameters: () => [{ type: i1.HttpClientPristine }, { type: i2.DomSanitizer }, { type: i3.ElderToastService }], propDecorators: { blob: [{
216
216
  type: Input
217
217
  }], blobUrl: [{
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
221
221
  }], mimeType: [{
222
222
  type: Input
223
223
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYmxvYi12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9ibG9iLXZpZXdlci9lbGRlci1ibG9iLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzL2Jsb2Itdmlld2VyL2VsZGVyLWJsb2Itdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUE7QUFFbkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBR3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7OztBQUVqRCxNQUFNLFdBQVc7SUFDUixNQUFNLENBQUMsUUFBUSxDQUFDLElBQVksRUFBRSxRQUFzQjtRQUN6RCxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBZ0Is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QUFHLEVBQUUsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1lBQzVFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzVELENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFFBQXNCO1FBQzdDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFdEYsOEVBQThFO1FBQzlFLG9FQUFvRTtRQUNwRSx3RkFBd0Y7UUFFeEYsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBRU8sY0FBYyxDQUFDLFdBQW1CO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFO1lBQ3hDLFlBQVksRUFBRSxNQUFNO1NBQ3JCLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBN0tVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHd1QkMvRnJDLDJnRUEwREEsd3BCRG1DWSxJQUFJLHdGQUFFLFNBQVM7OzJGQUVkLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO2tKQXFFZixJQUFJO3NCQURkLEtBQUs7Z0JBVUssT0FBTztzQkFEakIsS0FBSztnQkFVSyxHQUFHO3NCQURiLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlcidcbmltcG9ydCB7IEJsb2JVcmwgfSBmcm9tICcuLi9ibG9iLXVybCdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBIdHRwQ2xpZW50UHJpc3RpbmUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHR0cC9odHRwLWNsaWVudC1wcmlzdGluZSdcbmltcG9ydCB7IEVsZGVyVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3RzL2VsZGVyLXRvYXN0LnNlcnZpY2UnXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuY2xhc3MgQmxvYkNvbnRleHQge1xuICBwdWJsaWMgc3RhdGljIHRleHRCbG9iKHRleHQ6IHN0cmluZywgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSkge1xuICAgIHJldHVybiBuZXcgQmxvYkNvbnRleHQobnVsbCwgbWltZVR5cGUsIHRleHQpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNhZmVVcmwoc2FmZVVybDogU2FmZVVybCwgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSk6IEJsb2JDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IEJsb2JDb250ZXh0KHNhZmVVcmwsIG1pbWVUeXBlLCBudWxsKVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHNhZmVVcmw6IFNhZmVVcmwsXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbWVUeXBlOiBCbG9iTWltZVR5cGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHRleHQ6IHN0cmluZyA9IG51bGxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUFzVGV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRleHRcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FudERpc3BsYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLmRpc3BsYXlBc1RleHQgJiZcbiAgICAgICF0aGlzLmRpc3BsYXlFbWJlZGRlZCAmJlxuICAgICAgIXRoaXMubWltZVR5cGUuaXNBdWRpbyAmJlxuICAgICAgIXRoaXMubWltZVR5cGUuaXNJbWFnZSAmJlxuICAgICAgIXRoaXMubWltZVR5cGUuaXNWaWRlb1xuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUVtYmVkZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1pbWVUeXBlLmlzUGRmXG4gIH1cbn1cblxuY2xhc3MgQmxvYk1pbWVUeXBlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBPQ1RFVF9TVFJFQU0gPSBuZXcgQmxvYk1pbWVUeXBlKCdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKVxuXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2UobWltZVR5cGU6IHN0cmluZyk6IEJsb2JNaW1lVHlwZSB7XG4gICAgaWYgKG1pbWVUeXBlKSB7XG4gICAgICByZXR1cm4gbmV3IEJsb2JNaW1lVHlwZShtaW1lVHlwZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEJsb2JNaW1lVHlwZS5PQ1RFVF9TVFJFQU1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IHN0cmluZykge31cblxuICBwdWJsaWMgZ2V0IGlzT2N0ZXRTdHJlYW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnRzV2l0aCgnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJylcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNWaWRlbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5zdGFydHNXaXRoKCd2aWRlby8nKVxuICB9XG5cbiAgcHVibGljIGdldCBpc0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXVkaW8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnRzV2l0aCgnYXVkaW8vJylcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNKc29uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2FwcGxpY2F0aW9uL2pzb24nKVxuICB9XG5cbiAgcHVibGljIGdldCBpc1BkZigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5zdGFydHNXaXRoKCdhcHBsaWNhdGlvbi9wZGYnKVxuICB9XG5cbiAgcHVibGljIGdldCBpc1RleHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnRzV2l0aCgndGV4dC8nKSB8fCB0aGlzLmlzSnNvblxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWJsb2Itdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWJsb2Itdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItYmxvYi12aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBBc3luY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckJsb2JWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHB1YmxpYyByZWFkb25seSBibG9iQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJsb2JDb250ZXh0PihudWxsKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3VybCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbClcbiAgcHJpdmF0ZSByZWFkb25seSBfbWltZVR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwUHJpc3RpbmU6IEh0dHBDbGllbnRQcmlzdGluZSxcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBFbGRlclRvYXN0U2VydmljZVxuICApIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3VybCQsIHRoaXMuX21pbWVUeXBlJF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKFt1cmwsIG1pbWVUeXBlXSkgPT4gISF1cmwpLFxuICAgICAgICBtYXAoKFt1cmwsIG1pbWVUeXBlXSkgPT4gQmxvYlVybC5mcm9tKHVybCwgbWltZVR5cGUpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoYmxvYlVybCkgPT4gKHRoaXMuYmxvYlVybCA9IGJsb2JVcmwpKVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQXR0ZW1wdCB0byBkaXNwbGF5IHVua25vd24gYmxvYnMgYXMgdGV4dC4gKGkuZS4gbWltZS10eXBlIGlzIG9jdGV0LXN0cmVhbSlcbiAgICogQHBhcmFtIHVua25vd25Bc1RleHRcbiAgICovXG4gIHB1YmxpYyBkaXNwbGF5VW5rbm93bkFzVGV4dCA9IGlucHV0KGZhbHNlLCB7XG4gICAgdHJhbnNmb3JtOiAoaW5wdXQ6IEJvb2xlYW5JbnB1dCkgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KGlucHV0KSxcbiAgfSlcblxuICAvKipcbiAgICogU2V0IGEgaW4gbWVtb3J5IGJsb2IgdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGJsb2JcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmxvYihibG9iOiBCbG9iKSB7XG4gICAgdGhpcy5oYW5kbGVCbG9iKGJsb2IpXG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgYmxvYi11cmwgdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGJsb2JVcmxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmxvYlVybChibG9iVXJsOiBCbG9iVXJsKSB7XG4gICAgdGhpcy5oYW5kbGVCbG9iVXJsKGJsb2JVcmwpXG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgdXJsIHRvIGRpc3BsYXkuIFJlcXVpcmVzIHRoZSBtaW1lVHlwZSB0byBiZSBzZXQgYXN3ZWxsLlxuICAgKiBAcGFyYW0gdXJsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHVybCh1cmw6IHN0cmluZykge1xuICAgIHRoaXMuX3VybCQubmV4dCh1cmwpXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBtaW1lLXR5cGUgZm9yIHRoZSB1cmwgdG8gZGlzcGxheS4gT25seSBjb25zaWRlcmVkIGlmIHVybCBpcyBzZXQuXG4gICAqIEBwYXJhbSBtaW1lVHlwZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtaW1lVHlwZShtaW1lVHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbWltZVR5cGUkLm5leHQobWltZVR5cGUpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGhhbmRsZUJsb2IoYmxvYjogQmxvYik6IHZvaWQge1xuICAgIGNvbnN0IHNhZmVVcmwgPSB0aGlzLmNyZWF0ZVNhZmVVcmxGcm9tQmxvYihibG9iKVxuICAgIGNvbnN0IG1pbWVUeXBlID0gQmxvYk1pbWVUeXBlLnBhcnNlKGJsb2IudHlwZSlcblxuICAgIGlmICh0aGlzLmNhbkRpc3BsYXlBc1RleHQobWltZVR5cGUpKSB7XG4gICAgICB0aGlzLnRleHRDb250ZXh0KGJsb2IsIG1pbWVUeXBlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5leHRCbG9iKEJsb2JDb250ZXh0LnNhZmVVcmwoc2FmZVVybCwgbWltZVR5cGUpKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdGV4dENvbnRleHQoYmxvYjogQmxvYiwgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSk6IHZvaWQge1xuICAgIGJsb2IudGV4dCgpLnRoZW4oKHRleHQpID0+IHtcbiAgICAgIHRoaXMubmV4dEJsb2IoQmxvYkNvbnRleHQudGV4dEJsb2IodGV4dCwgbWltZVR5cGUpKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUJsb2JVcmwoYmxvYlVybDogQmxvYlVybCk6IHZvaWQge1xuICAgIGNvbnN0IHNhZmVVcmwgPSB0aGlzLmNyZWF0ZVNhZmVVcmxGcm9tRGF0YVVybChibG9iVXJsLnVybClcbiAgICBjb25zdCBtaW1lVHlwZSA9IEJsb2JNaW1lVHlwZS5wYXJzZShibG9iVXJsLm1pbWVUeXBlKVxuXG4gICAgaWYgKHRoaXMuY2FuRGlzcGxheUFzVGV4dChtaW1lVHlwZSkpIHtcbiAgICAgIHRoaXMubG9hZEFzVGV4dChibG9iVXJsLnVybCwgbWltZVR5cGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmV4dEJsb2IoQmxvYkNvbnRleHQuc2FmZVVybChzYWZlVXJsLCBtaW1lVHlwZSkpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuZXh0QmxvYihibG9iQ29udGV4dDogQmxvYkNvbnRleHQpOiB2b2lkIHtcbiAgICB0aGlzLmJsb2JDb250ZXh0JC5uZXh0KGJsb2JDb250ZXh0KVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTYWZlVXJsRnJvbUJsb2IoYmxvYjogQmxvYik6IFNhZmVVcmwge1xuICAgIGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpXG4gICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChibG9iVXJsKVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTYWZlVXJsRnJvbURhdGFVcmwodXJsOiBzdHJpbmcpOiBTYWZlVXJsIHtcbiAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHVybClcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEFzVGV4dChwcmlzdGluZVVybDogc3RyaW5nLCBtaW1lVHlwZTogQmxvYk1pbWVUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0QmxvYihCbG9iQ29udGV4dC50ZXh0QmxvYignTG9hZGluZy4uLicsIG1pbWVUeXBlKSlcblxuICAgIHRoaXMuZG93bmxvYWRBc1RleHQocHJpc3RpbmVVcmwpLnN1YnNjcmliZShcbiAgICAgICh0ZXh0KSA9PiB7XG4gICAgICAgIHRoaXMubmV4dEJsb2IoQmxvYkNvbnRleHQudGV4dEJsb2IodGV4dCwgbWltZVR5cGUpKVxuICAgICAgfSxcbiAgICAgIChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5uZXh0QmxvYihCbG9iQ29udGV4dC50ZXh0QmxvYignRmFpbGVkIHRvIGRvd25sb2FkIGNvbnRlbnQhJywgbWltZVR5cGUpKVxuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS53YXJuKCdGYWlsZWQgdG8gZG93bmxvYWQgY29udGVudCEnLCBlcnIpXG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBjYW5EaXNwbGF5QXNUZXh0KG1pbWVUeXBlOiBCbG9iTWltZVR5cGUpOiBib29sZWFuIHtcbiAgICBjb25zdCBjYW4gPSBtaW1lVHlwZS5pc1RleHQgfHwgKHRoaXMuZGlzcGxheVVua25vd25Bc1RleHQoKSAmJiBtaW1lVHlwZS5pc09jdGV0U3RyZWFtKVxuXG4gICAgLy8gVE9ETyBfZGlzcGxheVVua25vd25Bc1RleHQgbWlnaHQgYmUgbnVsbCBkdWUgcmFjZSBjb25kaXRpb24gc2VlIHRvZG8gYWJvdmUuXG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ2NhbkRpc3BsYXlBc1RleHQoJyArIG1pbWVUeXBlLnZhbHVlICsgJykgLS0+ICdcbiAgICAvLyAgKyBjYW4gKyAnIC0tLT4gdGhpcy5fZGlzcGxheVVua25vd25Bc1RleHQ6JyArIHRoaXMuX2Rpc3BsYXlVbmtub3duQXNUZXh0LCBtaW1lVHlwZSk7XG5cbiAgICByZXR1cm4gY2FuXG4gIH1cblxuICBwcml2YXRlIGRvd25sb2FkQXNUZXh0KHByaXN0aW5lVXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBQcmlzdGluZS5nZXQocHJpc3RpbmVVcmwsIHtcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGwgcGxhY2UtY2VudGVyLWNlbnRlciBkb2N1bWVudC12aWV3ZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2JDb250ZXh0JCB8IGFzeW5jIGFzIGJsb2JDb250ZXh0XCI+XG4gICAgPCEtLSBWaWRlbyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZ1bGxcIiAqbmdJZj1cImJsb2JDb250ZXh0Lm1pbWVUeXBlLmlzVmlkZW9cIj5cbiAgICAgIDx2aWRlbyBjbGFzcz1cInZpZGVvXCIgY29udHJvbHMgYXV0b3BsYXkgbG9vcD5cbiAgICAgICAgPHNvdXJjZSBbc3JjXT1cImJsb2JDb250ZXh0LnNhZmVVcmxcIiBbdHlwZV09XCJibG9iQ29udGV4dC5taW1lVHlwZS52YWx1ZVwiIC8+XG4gICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1IHZpZGVvLlxuICAgICAgPC92aWRlbz5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQXVkaW8gLS0+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgcGxhY2UtY2VudGVyLWNlbnRlciBmdWxsXCIgKm5nSWY9XCJibG9iQ29udGV4dC5taW1lVHlwZS5pc0F1ZGlvXCI+XG4gICAgICA8YXVkaW8gY2xhc3M9XCJhdWRpb1wiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3A+XG4gICAgICAgIDxzb3VyY2UgW3NyY109XCJibG9iQ29udGV4dC5zYWZlVXJsXCIgW3R5cGVdPVwiYmxvYkNvbnRleHQubWltZVR5cGUudmFsdWVcIiAvPlxuICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNSBhdWRpby5cbiAgICAgIDwvYXVkaW8+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEltYWdlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGxcIiAqbmdJZj1cImJsb2JDb250ZXh0Lm1pbWVUeXBlLmlzSW1hZ2VcIiBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJjb3ZlciBmbGV4XCIgW3NyY109XCJibG9iQ29udGV4dC5zYWZlVXJsXCIgYWx0PVwiYmxvYiBpbWFnZVwiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEVtYmVkZGVkIChQREZzIGV0YykgLS0+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiICpuZ0lmPVwiYmxvYkNvbnRleHQuZGlzcGxheUVtYmVkZGVkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZnVsbFwiPlxuICAgICAgICA8ZW1iZWRcbiAgICAgICAgICBjbGFzcz1cImVtYmVkZGVkXCJcbiAgICAgICAgICBbc3JjXT1cImJsb2JDb250ZXh0LnNhZmVVcmxcIlxuICAgICAgICAgIFt0eXBlXT1cImJsb2JDb250ZXh0Lm1pbWVUeXBlLnZhbHVlXCJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFBsYWluIFRleHQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiICpuZ0lmPVwiYmxvYkNvbnRleHQuZGlzcGxheUFzVGV4dFwiPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIGNsYXNzPVwiZG9jdW1lbnQtY29udGVudFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udGVudFwiXG4gICAgICAgIFt2YWx1ZV09XCJibG9iQ29udGV4dC50ZXh0XCJcbiAgICAgICAgd3JhcD1cIm9mZlwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIHBsYWNlLWNlbnRlci1jZW50ZXIgZnVsbFwiICpuZ0lmPVwiYmxvYkNvbnRleHQuY2FudERpc3BsYXlcIj5cbiAgICAgIDxwPkNhbnQgZGlzcGxheSB7eyBibG9iQ29udGV4dC5taW1lVHlwZS52YWx1ZSB9fSE8L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGJsb2JDb250ZXh0JCB8IGFzeW5jKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIHBsYWNlLWNlbnRlci1jZW50ZXIgZnVsbFwiPlxuICAgICAgPHA+Tm8gRG9jdW1lbnQuPC9wPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYmxvYi12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy9ibG9iLXZpZXdlci9lbGRlci1ibG9iLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzL2Jsb2Itdmlld2VyL2VsZGVyLWJsb2Itdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUE7QUFFbkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBR3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7OztBQUVqRCxNQUFNLFdBQVc7SUFDUixNQUFNLENBQUMsUUFBUSxDQUFDLElBQVksRUFBRSxRQUFzQjtRQUN6RCxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBZ0Is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QUFHLEVBQUUsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1lBQzVFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzVELENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFFBQXNCO1FBQzdDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFdEYsOEVBQThFO1FBQzlFLG9FQUFvRTtRQUNwRSx3RkFBd0Y7UUFFeEYsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0lBRU8sY0FBYyxDQUFDLFdBQW1CO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFO1lBQ3hDLFlBQVksRUFBRSxNQUFNO1NBQ3JCLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBN0tVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHd1QkMvRnJDLDJnRUEwREEsNG9CRG1DWSxJQUFJLHdGQUFFLFNBQVM7OzJGQUVkLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO2tKQXFFZixJQUFJO3NCQURkLEtBQUs7Z0JBVUssT0FBTztzQkFEakIsS0FBSztnQkFVSyxHQUFHO3NCQURiLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlcidcbmltcG9ydCB7IEJsb2JVcmwgfSBmcm9tICcuLi9ibG9iLXVybCdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBIdHRwQ2xpZW50UHJpc3RpbmUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHR0cC9odHRwLWNsaWVudC1wcmlzdGluZSdcbmltcG9ydCB7IEVsZGVyVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3RzL2VsZGVyLXRvYXN0LnNlcnZpY2UnXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuY2xhc3MgQmxvYkNvbnRleHQge1xuICBwdWJsaWMgc3RhdGljIHRleHRCbG9iKHRleHQ6IHN0cmluZywgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSkge1xuICAgIHJldHVybiBuZXcgQmxvYkNvbnRleHQobnVsbCwgbWltZVR5cGUsIHRleHQpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNhZmVVcmwoc2FmZVVybDogU2FmZVVybCwgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSk6IEJsb2JDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IEJsb2JDb250ZXh0KHNhZmVVcmwsIG1pbWVUeXBlLCBudWxsKVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHNhZmVVcmw6IFNhZmVVcmwsXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbWVUeXBlOiBCbG9iTWltZVR5cGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHRleHQ6IHN0cmluZyA9IG51bGxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUFzVGV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRleHRcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FudERpc3BsYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLmRpc3BsYXlBc1RleHQgJiZcbiAgICAgICF0aGlzLmRpc3BsYXlFbWJlZGRlZCAmJlxuICAgICAgIXRoaXMubWltZVR5cGUuaXNBdWRpbyAmJlxuICAgICAgIXRoaXMubWltZVR5cGUuaXNJbWFnZSAmJlxuICAgICAgIXRoaXMubWltZVR5cGUuaXNWaWRlb1xuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUVtYmVkZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1pbWVUeXBlLmlzUGRmXG4gIH1cbn1cblxuY2xhc3MgQmxvYk1pbWVUeXBlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBPQ1RFVF9TVFJFQU0gPSBuZXcgQmxvYk1pbWVUeXBlKCdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKVxuXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2UobWltZVR5cGU6IHN0cmluZyk6IEJsb2JNaW1lVHlwZSB7XG4gICAgaWYgKG1pbWVUeXBlKSB7XG4gICAgICByZXR1cm4gbmV3IEJsb2JNaW1lVHlwZShtaW1lVHlwZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEJsb2JNaW1lVHlwZS5PQ1RFVF9TVFJFQU1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IHN0cmluZykge31cblxuICBwdWJsaWMgZ2V0IGlzT2N0ZXRTdHJlYW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnRzV2l0aCgnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJylcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNWaWRlbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5zdGFydHNXaXRoKCd2aWRlby8nKVxuICB9XG5cbiAgcHVibGljIGdldCBpc0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXVkaW8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnRzV2l0aCgnYXVkaW8vJylcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNKc29uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLnN0YXJ0c1dpdGgoJ2FwcGxpY2F0aW9uL2pzb24nKVxuICB9XG5cbiAgcHVibGljIGdldCBpc1BkZigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5zdGFydHNXaXRoKCdhcHBsaWNhdGlvbi9wZGYnKVxuICB9XG5cbiAgcHVibGljIGdldCBpc1RleHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnRzV2l0aCgndGV4dC8nKSB8fCB0aGlzLmlzSnNvblxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWJsb2Itdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWJsb2Itdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItYmxvYi12aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBBc3luY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckJsb2JWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHB1YmxpYyByZWFkb25seSBibG9iQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJsb2JDb250ZXh0PihudWxsKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3VybCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbClcbiAgcHJpdmF0ZSByZWFkb25seSBfbWltZVR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwUHJpc3RpbmU6IEh0dHBDbGllbnRQcmlzdGluZSxcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBFbGRlclRvYXN0U2VydmljZVxuICApIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3VybCQsIHRoaXMuX21pbWVUeXBlJF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKFt1cmwsIG1pbWVUeXBlXSkgPT4gISF1cmwpLFxuICAgICAgICBtYXAoKFt1cmwsIG1pbWVUeXBlXSkgPT4gQmxvYlVybC5mcm9tKHVybCwgbWltZVR5cGUpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoYmxvYlVybCkgPT4gKHRoaXMuYmxvYlVybCA9IGJsb2JVcmwpKVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQXR0ZW1wdCB0byBkaXNwbGF5IHVua25vd24gYmxvYnMgYXMgdGV4dC4gKGkuZS4gbWltZS10eXBlIGlzIG9jdGV0LXN0cmVhbSlcbiAgICogQHBhcmFtIHVua25vd25Bc1RleHRcbiAgICovXG4gIHB1YmxpYyBkaXNwbGF5VW5rbm93bkFzVGV4dCA9IGlucHV0KGZhbHNlLCB7XG4gICAgdHJhbnNmb3JtOiAoaW5wdXQ6IEJvb2xlYW5JbnB1dCkgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KGlucHV0KSxcbiAgfSlcblxuICAvKipcbiAgICogU2V0IGEgaW4gbWVtb3J5IGJsb2IgdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGJsb2JcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmxvYihibG9iOiBCbG9iKSB7XG4gICAgdGhpcy5oYW5kbGVCbG9iKGJsb2IpXG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgYmxvYi11cmwgdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGJsb2JVcmxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYmxvYlVybChibG9iVXJsOiBCbG9iVXJsKSB7XG4gICAgdGhpcy5oYW5kbGVCbG9iVXJsKGJsb2JVcmwpXG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgdXJsIHRvIGRpc3BsYXkuIFJlcXVpcmVzIHRoZSBtaW1lVHlwZSB0byBiZSBzZXQgYXN3ZWxsLlxuICAgKiBAcGFyYW0gdXJsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHVybCh1cmw6IHN0cmluZykge1xuICAgIHRoaXMuX3VybCQubmV4dCh1cmwpXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBtaW1lLXR5cGUgZm9yIHRoZSB1cmwgdG8gZGlzcGxheS4gT25seSBjb25zaWRlcmVkIGlmIHVybCBpcyBzZXQuXG4gICAqIEBwYXJhbSBtaW1lVHlwZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtaW1lVHlwZShtaW1lVHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbWltZVR5cGUkLm5leHQobWltZVR5cGUpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGhhbmRsZUJsb2IoYmxvYjogQmxvYik6IHZvaWQge1xuICAgIGNvbnN0IHNhZmVVcmwgPSB0aGlzLmNyZWF0ZVNhZmVVcmxGcm9tQmxvYihibG9iKVxuICAgIGNvbnN0IG1pbWVUeXBlID0gQmxvYk1pbWVUeXBlLnBhcnNlKGJsb2IudHlwZSlcblxuICAgIGlmICh0aGlzLmNhbkRpc3BsYXlBc1RleHQobWltZVR5cGUpKSB7XG4gICAgICB0aGlzLnRleHRDb250ZXh0KGJsb2IsIG1pbWVUeXBlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5leHRCbG9iKEJsb2JDb250ZXh0LnNhZmVVcmwoc2FmZVVybCwgbWltZVR5cGUpKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdGV4dENvbnRleHQoYmxvYjogQmxvYiwgbWltZVR5cGU6IEJsb2JNaW1lVHlwZSk6IHZvaWQge1xuICAgIGJsb2IudGV4dCgpLnRoZW4oKHRleHQpID0+IHtcbiAgICAgIHRoaXMubmV4dEJsb2IoQmxvYkNvbnRleHQudGV4dEJsb2IodGV4dCwgbWltZVR5cGUpKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUJsb2JVcmwoYmxvYlVybDogQmxvYlVybCk6IHZvaWQge1xuICAgIGNvbnN0IHNhZmVVcmwgPSB0aGlzLmNyZWF0ZVNhZmVVcmxGcm9tRGF0YVVybChibG9iVXJsLnVybClcbiAgICBjb25zdCBtaW1lVHlwZSA9IEJsb2JNaW1lVHlwZS5wYXJzZShibG9iVXJsLm1pbWVUeXBlKVxuXG4gICAgaWYgKHRoaXMuY2FuRGlzcGxheUFzVGV4dChtaW1lVHlwZSkpIHtcbiAgICAgIHRoaXMubG9hZEFzVGV4dChibG9iVXJsLnVybCwgbWltZVR5cGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmV4dEJsb2IoQmxvYkNvbnRleHQuc2FmZVVybChzYWZlVXJsLCBtaW1lVHlwZSkpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuZXh0QmxvYihibG9iQ29udGV4dDogQmxvYkNvbnRleHQpOiB2b2lkIHtcbiAgICB0aGlzLmJsb2JDb250ZXh0JC5uZXh0KGJsb2JDb250ZXh0KVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTYWZlVXJsRnJvbUJsb2IoYmxvYjogQmxvYik6IFNhZmVVcmwge1xuICAgIGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpXG4gICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChibG9iVXJsKVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTYWZlVXJsRnJvbURhdGFVcmwodXJsOiBzdHJpbmcpOiBTYWZlVXJsIHtcbiAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHVybClcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEFzVGV4dChwcmlzdGluZVVybDogc3RyaW5nLCBtaW1lVHlwZTogQmxvYk1pbWVUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0QmxvYihCbG9iQ29udGV4dC50ZXh0QmxvYignTG9hZGluZy4uLicsIG1pbWVUeXBlKSlcblxuICAgIHRoaXMuZG93bmxvYWRBc1RleHQocHJpc3RpbmVVcmwpLnN1YnNjcmliZShcbiAgICAgICh0ZXh0KSA9PiB7XG4gICAgICAgIHRoaXMubmV4dEJsb2IoQmxvYkNvbnRleHQudGV4dEJsb2IodGV4dCwgbWltZVR5cGUpKVxuICAgICAgfSxcbiAgICAgIChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5uZXh0QmxvYihCbG9iQ29udGV4dC50ZXh0QmxvYignRmFpbGVkIHRvIGRvd25sb2FkIGNvbnRlbnQhJywgbWltZVR5cGUpKVxuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS53YXJuKCdGYWlsZWQgdG8gZG93bmxvYWQgY29udGVudCEnLCBlcnIpXG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBjYW5EaXNwbGF5QXNUZXh0KG1pbWVUeXBlOiBCbG9iTWltZVR5cGUpOiBib29sZWFuIHtcbiAgICBjb25zdCBjYW4gPSBtaW1lVHlwZS5pc1RleHQgfHwgKHRoaXMuZGlzcGxheVVua25vd25Bc1RleHQoKSAmJiBtaW1lVHlwZS5pc09jdGV0U3RyZWFtKVxuXG4gICAgLy8gVE9ETyBfZGlzcGxheVVua25vd25Bc1RleHQgbWlnaHQgYmUgbnVsbCBkdWUgcmFjZSBjb25kaXRpb24gc2VlIHRvZG8gYWJvdmUuXG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ2NhbkRpc3BsYXlBc1RleHQoJyArIG1pbWVUeXBlLnZhbHVlICsgJykgLS0+ICdcbiAgICAvLyAgKyBjYW4gKyAnIC0tLT4gdGhpcy5fZGlzcGxheVVua25vd25Bc1RleHQ6JyArIHRoaXMuX2Rpc3BsYXlVbmtub3duQXNUZXh0LCBtaW1lVHlwZSk7XG5cbiAgICByZXR1cm4gY2FuXG4gIH1cblxuICBwcml2YXRlIGRvd25sb2FkQXNUZXh0KHByaXN0aW5lVXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBQcmlzdGluZS5nZXQocHJpc3RpbmVVcmwsIHtcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGwgcGxhY2UtY2VudGVyLWNlbnRlciBkb2N1bWVudC12aWV3ZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2JDb250ZXh0JCB8IGFzeW5jIGFzIGJsb2JDb250ZXh0XCI+XG4gICAgPCEtLSBWaWRlbyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZ1bGxcIiAqbmdJZj1cImJsb2JDb250ZXh0Lm1pbWVUeXBlLmlzVmlkZW9cIj5cbiAgICAgIDx2aWRlbyBjbGFzcz1cInZpZGVvXCIgY29udHJvbHMgYXV0b3BsYXkgbG9vcD5cbiAgICAgICAgPHNvdXJjZSBbc3JjXT1cImJsb2JDb250ZXh0LnNhZmVVcmxcIiBbdHlwZV09XCJibG9iQ29udGV4dC5taW1lVHlwZS52YWx1ZVwiIC8+XG4gICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1IHZpZGVvLlxuICAgICAgPC92aWRlbz5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQXVkaW8gLS0+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgcGxhY2UtY2VudGVyLWNlbnRlciBmdWxsXCIgKm5nSWY9XCJibG9iQ29udGV4dC5taW1lVHlwZS5pc0F1ZGlvXCI+XG4gICAgICA8YXVkaW8gY2xhc3M9XCJhdWRpb1wiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3A+XG4gICAgICAgIDxzb3VyY2UgW3NyY109XCJibG9iQ29udGV4dC5zYWZlVXJsXCIgW3R5cGVdPVwiYmxvYkNvbnRleHQubWltZVR5cGUudmFsdWVcIiAvPlxuICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNSBhdWRpby5cbiAgICAgIDwvYXVkaW8+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEltYWdlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGxcIiAqbmdJZj1cImJsb2JDb250ZXh0Lm1pbWVUeXBlLmlzSW1hZ2VcIiBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJjb3ZlciBmbGV4XCIgW3NyY109XCJibG9iQ29udGV4dC5zYWZlVXJsXCIgYWx0PVwiYmxvYiBpbWFnZVwiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEVtYmVkZGVkIChQREZzIGV0YykgLS0+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiICpuZ0lmPVwiYmxvYkNvbnRleHQuZGlzcGxheUVtYmVkZGVkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZnVsbFwiPlxuICAgICAgICA8ZW1iZWRcbiAgICAgICAgICBjbGFzcz1cImVtYmVkZGVkXCJcbiAgICAgICAgICBbc3JjXT1cImJsb2JDb250ZXh0LnNhZmVVcmxcIlxuICAgICAgICAgIFt0eXBlXT1cImJsb2JDb250ZXh0Lm1pbWVUeXBlLnZhbHVlXCJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFBsYWluIFRleHQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiICpuZ0lmPVwiYmxvYkNvbnRleHQuZGlzcGxheUFzVGV4dFwiPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIGNsYXNzPVwiZG9jdW1lbnQtY29udGVudFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udGVudFwiXG4gICAgICAgIFt2YWx1ZV09XCJibG9iQ29udGV4dC50ZXh0XCJcbiAgICAgICAgd3JhcD1cIm9mZlwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIHBsYWNlLWNlbnRlci1jZW50ZXIgZnVsbFwiICpuZ0lmPVwiYmxvYkNvbnRleHQuY2FudERpc3BsYXlcIj5cbiAgICAgIDxwPkNhbnQgZGlzcGxheSB7eyBibG9iQ29udGV4dC5taW1lVHlwZS52YWx1ZSB9fSE8L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGJsb2JDb250ZXh0JCB8IGFzeW5jKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIHBsYWNlLWNlbnRlci1jZW50ZXIgZnVsbFwiPlxuICAgICAgPHA+Tm8gRG9jdW1lbnQuPC9wPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,11 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LoaderBackgroundComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LoaderBackgroundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: LoaderBackgroundComponent, isStandalone: true, selector: "elder-loader-background", ngImport: i0, template: "<div class=\"loader-background\">\n <div class=\"spinner\">\n <div class=\"bounce1 circle\"></div>\n <div class=\"bounce2 logo\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"var(--md-sys-color-tertiary-fixed)\"\n viewBox=\"0 0 284.34 272.09\"\n >\n <g>\n <path\n d=\"M141.92,11A125,125,0,0,1,247,68.35q4.46-2.76,8.67-5.93a135.38,135.38,0,0,0-227.43,0q4.21,3.17,8.67,5.93A125,125,0,0,1,141.92,11Z\"\n />\n <path\n d=\"M267,136.05a125,125,0,1,1-246-31.53c-2.44-3.48-5.11-7-7.85-10.47a135.11,135.11,0,0,0-6.69,42c0,74.74,60.8,135.54,135.54,135.54s135.55-60.8,135.55-135.54a135.11,135.11,0,0,0-6.69-42c-2.74,3.52-5.41,7-7.85,10.47A124.65,124.65,0,0,1,267,136.05Z\"\n />\n <g id=\"main-logo\">\n <path\n d=\"M151.24,188.12a41.39,41.39,0,0,1-5.06-12.27H138.1A41.13,41.13,0,0,1,133,188.12a37.86,37.86,0,0,1-9.67,10.31l16.83,44.43,20.48-44.6A38,38,0,0,1,151.24,188.12Z\"\n />\n <path\n d=\"M205.38,95.82c-3,.39-6.16.67-9.48,1v14.75H181V98.24c-16.68,2.2-32.74,7.35-36.46,25.82.34,12.92-.48,26.37,2.58,38.89A50.81,50.81,0,0,0,153.34,178a46.35,46.35,0,0,0,11.6,12.45,61.34,61.34,0,0,0,32.73,11.65c25.65,1.59,38.9-16.32,40.73-40.34,1-13.61-.4-27.57,3.28-40.71,7.17-25.61,32.12-42.78,41.25-67.76C263.36,75.89,235.14,91.93,205.38,95.82ZM191.3,184.64a33.51,33.51,0,1,1,33.5-33.51A33.51,33.51,0,0,1,191.3,184.64Z\"\n />\n <path\n d=\"M79,95.82C49.2,91.93,21,75.89,1.4,53.31c9.14,25,34.09,42.15,41.26,67.76,3.68,13.14,2.23,27.1,3.27,40.71,1.84,24,15.09,41.93,40.73,40.34a61.58,61.58,0,0,0,32.45-11.43A46.73,46.73,0,0,0,131,178,50.57,50.57,0,0,0,137.21,163c3.06-12.52,2.24-26,2.58-38.89C134.18,96.2,100.46,98.63,79,95.82ZM93,184.64a33.51,33.51,0,1,1,33.5-33.51A33.5,33.5,0,0,1,93,184.64Z\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div class=\"bounce3 circle\"></div>\n </div>\n</div>\n", styles: [".loader-background{--loader-bg-surface: var(--md-sys-color-surface);--loader-bg-color: var(--md-sys-color-primary);--logo-color: var(--md-sys-color-tertiary-fixed);position:relative;height:100vh;width:100vw;margin:0;padding:0;background:linear-gradient(200deg,var(--loader-bg-surface) 40%,var(--loader-bg-color) 0%)}.spinner{position:absolute;top:50vh;left:45vw;width:200px;text-align:center}.logo{width:50px;height:48px;border-radius:100%;display:inline-block;animation:sk-bouncedelay 1.4s infinite ease-in-out both}.logo svg{fill:var(--logo-color)!important}.circle{border:1.5px solid var(--logo-color);height:25px;border-radius:50%;width:25px;display:inline-block;animation:sk-bouncedelay 1.4s infinite ease-in-out both}.spinner .bounce1{animation-delay:-.32s}.spinner .bounce2{animation-delay:-.16s}@keyframes sk-bouncedelay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LoaderBackgroundComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'elder-loader-background', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"loader-background\">\n <div class=\"spinner\">\n <div class=\"bounce1 circle\"></div>\n <div class=\"bounce2 logo\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"var(--md-sys-color-tertiary-fixed)\"\n viewBox=\"0 0 284.34 272.09\"\n >\n <g>\n <path\n d=\"M141.92,11A125,125,0,0,1,247,68.35q4.46-2.76,8.67-5.93a135.38,135.38,0,0,0-227.43,0q4.21,3.17,8.67,5.93A125,125,0,0,1,141.92,11Z\"\n />\n <path\n d=\"M267,136.05a125,125,0,1,1-246-31.53c-2.44-3.48-5.11-7-7.85-10.47a135.11,135.11,0,0,0-6.69,42c0,74.74,60.8,135.54,135.54,135.54s135.55-60.8,135.55-135.54a135.11,135.11,0,0,0-6.69-42c-2.74,3.52-5.41,7-7.85,10.47A124.65,124.65,0,0,1,267,136.05Z\"\n />\n <g id=\"main-logo\">\n <path\n d=\"M151.24,188.12a41.39,41.39,0,0,1-5.06-12.27H138.1A41.13,41.13,0,0,1,133,188.12a37.86,37.86,0,0,1-9.67,10.31l16.83,44.43,20.48-44.6A38,38,0,0,1,151.24,188.12Z\"\n />\n <path\n d=\"M205.38,95.82c-3,.39-6.16.67-9.48,1v14.75H181V98.24c-16.68,2.2-32.74,7.35-36.46,25.82.34,12.92-.48,26.37,2.58,38.89A50.81,50.81,0,0,0,153.34,178a46.35,46.35,0,0,0,11.6,12.45,61.34,61.34,0,0,0,32.73,11.65c25.65,1.59,38.9-16.32,40.73-40.34,1-13.61-.4-27.57,3.28-40.71,7.17-25.61,32.12-42.78,41.25-67.76C263.36,75.89,235.14,91.93,205.38,95.82ZM191.3,184.64a33.51,33.51,0,1,1,33.5-33.51A33.51,33.51,0,0,1,191.3,184.64Z\"\n />\n <path\n d=\"M79,95.82C49.2,91.93,21,75.89,1.4,53.31c9.14,25,34.09,42.15,41.26,67.76,3.68,13.14,2.23,27.1,3.27,40.71,1.84,24,15.09,41.93,40.73,40.34a61.58,61.58,0,0,0,32.45-11.43A46.73,46.73,0,0,0,131,178,50.57,50.57,0,0,0,137.21,163c3.06-12.52,2.24-26,2.58-38.89C134.18,96.2,100.46,98.63,79,95.82ZM93,184.64a33.51,33.51,0,1,1,33.5-33.51A33.5,33.5,0,0,1,93,184.64Z\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div class=\"bounce3 circle\"></div>\n </div>\n</div>\n", styles: [".loader-background{--loader-bg-surface: var(--md-sys-color-surface);--loader-bg-color: var(--md-sys-color-primary);--logo-color: var(--md-sys-color-tertiary-fixed);position:relative;height:100vh;width:100vw;margin:0;padding:0;background:linear-gradient(200deg,var(--loader-bg-surface) 40%,var(--loader-bg-color) 0%)}.spinner{position:absolute;top:50vh;left:45vw;width:200px;text-align:center}.logo{width:50px;height:48px;border-radius:100%;display:inline-block;animation:sk-bouncedelay 1.4s infinite ease-in-out both}.logo svg{fill:var(--logo-color)!important}.circle{border:1.5px solid var(--logo-color);height:25px;border-radius:50%;width:25px;display:inline-block;animation:sk-bouncedelay 1.4s infinite ease-in-out both}.spinner .bounce1{animation-delay:-.32s}.spinner .bounce2{animation-delay:-.16s}@keyframes sk-bouncedelay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhY2tncm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXItYmFja2dyb3VuZC9sb2FkZXItYmFja2dyb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci1iYWNrZ3JvdW5kL2xvYWRlci1iYWNrZ3JvdW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBVWxFLE1BQU0sT0FBTyx5QkFBeUI7OEdBQXpCLHlCQUF5QjtrR0FBekIseUJBQXlCLG1GQ1Z0Qyx3K0RBaUNBOzsyRkR2QmEseUJBQXlCO2tCQVJyQyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsRUFBRSxtQkFHTSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWxvYWRlci1iYWNrZ3JvdW5kJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZXItYmFja2dyb3VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9sb2FkZXItYmFja2dyb3VuZC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkZXJCYWNrZ3JvdW5kQ29tcG9uZW50IHt9XG4iLCI8ZGl2IGNsYXNzPVwibG9hZGVyLWJhY2tncm91bmRcIj5cbiAgPGRpdiBjbGFzcz1cInNwaW5uZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm91bmNlMSBjaXJjbGVcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYm91bmNlMiBsb2dvXCI+XG4gICAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICBmaWxsPVwidmFyKC0tbWQtc3lzLWNvbG9yLXRlcnRpYXJ5LWZpeGVkKVwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjg0LjM0IDI3Mi4wOVwiXG4gICAgICA+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTE0MS45MiwxMUExMjUsMTI1LDAsMCwxLDI0Nyw2OC4zNXE0LjQ2LTIuNzYsOC42Ny01LjkzYTEzNS4zOCwxMzUuMzgsMCwwLDAtMjI3LjQzLDBxNC4yMSwzLjE3LDguNjcsNS45M0ExMjUsMTI1LDAsMCwxLDE0MS45MiwxMVpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMjY3LDEzNi4wNWExMjUsMTI1LDAsMSwxLTI0Ni0zMS41M2MtMi40NC0zLjQ4LTUuMTEtNy03Ljg1LTEwLjQ3YTEzNS4xMSwxMzUuMTEsMCwwLDAtNi42OSw0MmMwLDc0Ljc0LDYwLjgsMTM1LjU0LDEzNS41NCwxMzUuNTRzMTM1LjU1LTYwLjgsMTM1LjU1LTEzNS41NGExMzUuMTEsMTM1LjExLDAsMCwwLTYuNjktNDJjLTIuNzQsMy41Mi01LjQxLDctNy44NSwxMC40N0ExMjQuNjUsMTI0LjY1LDAsMCwxLDI2NywxMzYuMDVaXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxnIGlkPVwibWFpbi1sb2dvXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTE1MS4yNCwxODguMTJhNDEuMzksNDEuMzksMCwwLDEtNS4wNi0xMi4yN0gxMzguMUE0MS4xMyw0MS4xMywwLDAsMSwxMzMsMTg4LjEyYTM3Ljg2LDM3Ljg2LDAsMCwxLTkuNjcsMTAuMzFsMTYuODMsNDQuNDMsMjAuNDgtNDQuNkEzOCwzOCwwLDAsMSwxNTEuMjQsMTg4LjEyWlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk0yMDUuMzgsOTUuODJjLTMsLjM5LTYuMTYuNjctOS40OCwxdjE0Ljc1SDE4MVY5OC4yNGMtMTYuNjgsMi4yLTMyLjc0LDcuMzUtMzYuNDYsMjUuODIuMzQsMTIuOTItLjQ4LDI2LjM3LDIuNTgsMzguODlBNTAuODEsNTAuODEsMCwwLDAsMTUzLjM0LDE3OGE0Ni4zNSw0Ni4zNSwwLDAsMCwxMS42LDEyLjQ1LDYxLjM0LDYxLjM0LDAsMCwwLDMyLjczLDExLjY1YzI1LjY1LDEuNTksMzguOS0xNi4zMiw0MC43My00MC4zNCwxLTEzLjYxLS40LTI3LjU3LDMuMjgtNDAuNzEsNy4xNy0yNS42MSwzMi4xMi00Mi43OCw0MS4yNS02Ny43NkMyNjMuMzYsNzUuODksMjM1LjE0LDkxLjkzLDIwNS4zOCw5NS44MlpNMTkxLjMsMTg0LjY0YTMzLjUxLDMzLjUxLDAsMSwxLDMzLjUtMzMuNTFBMzMuNTEsMzMuNTEsMCwwLDEsMTkxLjMsMTg0LjY0WlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk03OSw5NS44MkM0OS4yLDkxLjkzLDIxLDc1Ljg5LDEuNCw1My4zMWM5LjE0LDI1LDM0LjA5LDQyLjE1LDQxLjI2LDY3Ljc2LDMuNjgsMTMuMTQsMi4yMywyNy4xLDMuMjcsNDAuNzEsMS44NCwyNCwxNS4wOSw0MS45Myw0MC43Myw0MC4zNGE2MS41OCw2MS41OCwwLDAsMCwzMi40NS0xMS40M0E0Ni43Myw0Ni43MywwLDAsMCwxMzEsMTc4LDUwLjU3LDUwLjU3LDAsMCwwLDEzNy4yMSwxNjNjMy4wNi0xMi41MiwyLjI0LTI2LDIuNTgtMzguODlDMTM0LjE4LDk2LjIsMTAwLjQ2LDk4LjYzLDc5LDk1LjgyWk05MywxODQuNjRhMzMuNTEsMzMuNTEsMCwxLDEsMzMuNS0zMy41MUEzMy41LDMzLjUsMCwwLDEsOTMsMTg0LjY0WlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJvdW5jZTMgY2lyY2xlXCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=