@ng-atomic/components 17.10.0 → 17.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  2. package/esm2022/components.module.mjs +3 -2
  3. package/esm2022/frames/app/app.frame.mjs +192 -16
  4. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +2 -2
  5. package/esm2022/frames/columns/columns.frame.mjs +4 -4
  6. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  7. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  8. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  9. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  10. package/esm2022/frames/frames.module.mjs +2 -1
  11. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  12. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  13. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +11 -4
  14. package/esm2022/frames/scroll/scroll.frame.mjs +2 -2
  15. package/esm2022/frames/scroll-v2/scroll.frame.mjs +2 -2
  16. package/esm2022/frames/side-nav/side-nav.frame.mjs +34 -28
  17. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  18. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +2 -2
  19. package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +48 -11
  20. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  21. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  22. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  23. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  24. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +11 -8
  25. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +2 -2
  26. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  27. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  28. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  29. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  30. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +2 -2
  31. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +2 -2
  32. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  33. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  34. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  35. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  36. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  37. package/esm2022/organisms/menu-header/menu-header.organism.mjs +4 -5
  38. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  39. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +51 -20
  40. package/esm2022/organisms/navigator/navigator.organism.mjs +3 -3
  41. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  42. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  43. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  44. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +2 -2
  45. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +4 -4
  46. package/esm2022/organisms/smart-list/smart-list.organism.mjs +11 -3
  47. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  48. package/esm2022/organisms/table/index.helpers.mjs +3 -1
  49. package/esm2022/organisms/table/table.organism.mjs +205 -101
  50. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +2 -2
  51. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  52. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  53. package/esm2022/pages/_index/index.page.mjs +242 -50
  54. package/esm2022/pages/form/form.page.mjs +71 -46
  55. package/esm2022/pages/pages.module.mjs +3 -4
  56. package/esm2022/templates/_index/index.template.mjs +66 -28
  57. package/esm2022/templates/background/background.template.mjs +2 -2
  58. package/esm2022/templates/entrance/entrance.template.mjs +2 -2
  59. package/esm2022/templates/form/form.builder.mjs +12 -2
  60. package/esm2022/templates/form/form.template.mjs +2 -2
  61. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +2 -2
  62. package/esm2022/templates/menu/menu.template.mjs +3 -3
  63. package/esm2022/templates/selection/selection.template.mjs +2 -2
  64. package/esm2022/templates/settings/settings.template.mjs +2 -2
  65. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  66. package/fesm2022/ng-atomic-components-frames-app.mjs +191 -15
  67. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  68. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
  69. package/fesm2022/ng-atomic-components-frames-columns.mjs +3 -3
  70. package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -1
  71. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  72. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  73. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  74. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  75. package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
  76. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  77. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +10 -3
  78. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  79. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +2 -2
  80. package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
  81. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +33 -27
  82. package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
  83. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  84. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
  85. package/fesm2022/ng-atomic-components-frames.mjs +1 -0
  86. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  87. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +47 -10
  88. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
  89. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  90. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  91. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  92. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  93. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +10 -7
  94. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs.map +1 -1
  95. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
  96. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  97. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  98. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  99. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  100. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
  101. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
  102. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  103. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  104. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  105. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  106. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  107. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +3 -4
  108. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs.map +1 -1
  109. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  110. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +50 -19
  111. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +2 -2
  113. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  115. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  116. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  117. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
  118. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +3 -3
  119. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
  120. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +10 -2
  121. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +1 -1
  122. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  123. package/fesm2022/ng-atomic-components-organisms-table.mjs +206 -100
  124. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  125. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
  126. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  127. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  128. package/fesm2022/ng-atomic-components-pages-_index.mjs +242 -50
  129. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  130. package/fesm2022/ng-atomic-components-pages-form.mjs +71 -46
  131. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-pages.mjs +2 -3
  133. package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
  134. package/fesm2022/ng-atomic-components-templates-_index.mjs +65 -27
  135. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  136. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  137. package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
  138. package/fesm2022/ng-atomic-components-templates-form.mjs +13 -3
  139. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  140. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
  141. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  142. package/fesm2022/ng-atomic-components-templates-menu.mjs.map +1 -1
  143. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  144. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  145. package/fesm2022/ng-atomic-components.mjs +2 -1
  146. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  147. package/frames/app/app.frame.d.ts +69 -52
  148. package/frames/columns/columns.frame.d.ts +3 -3
  149. package/frames/fab/fab.frame.d.ts +3 -3
  150. package/frames/router-outlet/router-outlet.frame.d.ts +4 -3
  151. package/frames/side-nav/side-nav.frame.d.ts +16 -12
  152. package/molecules/actions-column/actions-column.molecule.d.ts +3 -3
  153. package/molecules/checkbox-column/checkbox-column.molecule.d.ts +8 -2
  154. package/molecules/chips-input-field/chips-input-field.molecule.d.ts +3 -3
  155. package/molecules/loading-box/loading-box.molecule.d.ts +3 -3
  156. package/molecules/navigation-list-item/navigation-list-item.molecule.d.ts +3 -2
  157. package/organisms/menu-header/menu-header.organism.d.ts +10 -4
  158. package/organisms/navigation-list/navigation-list.organism.d.ts +2 -1
  159. package/organisms/navigator/navigator.organism.d.ts +3 -3
  160. package/organisms/slider-input-section/slider-input-section.organism.d.ts +3 -3
  161. package/organisms/smart-list/smart-list.organism.d.ts +14 -13
  162. package/organisms/stripe-input-section/stripe-input-section.organism.d.ts +3 -3
  163. package/organisms/table/index.helpers.d.ts +1 -0
  164. package/organisms/table/table.organism.d.ts +39 -9
  165. package/package.json +3 -3
  166. package/pages/_index/index.page.d.ts +123 -82
  167. package/pages/form/form.page.d.ts +69 -56
  168. package/pages/terms/terms.page.d.ts +3 -3
  169. package/templates/_index/index.template.d.ts +27 -15
  170. package/templates/form/form.template.d.ts +3 -3
@@ -20,7 +20,7 @@ export class IconAtom extends NgAtomicComponent {
20
20
  } @else {
21
21
  <mat-icon>{{ name() }}</mat-icon>
22
22
  }
23
- `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-GRbY: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-GRbY: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-GRbY: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-GRbY: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-GRbY: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-GRbY: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-GRbY: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-GRbY)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-GRbY)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-yreV: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-yreV: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-yreV: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-yreV: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-yreV: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-yreV: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-yreV: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-yreV)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-yreV)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: IconAtom, decorators: [{
26
26
  type: Component,
@@ -32,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
32
32
  } @else {
33
33
  <mat-icon>{{ name() }}</mat-icon>
34
34
  }
35
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-GRbY: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-GRbY: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-GRbY: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-GRbY: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-GRbY: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-GRbY: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-GRbY: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-GRbY)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-GRbY)}\n"] }]
35
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-yreV: var(--primary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-icon-yreV: var(--surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-icon-yreV: var(--background-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-yreV: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-icon-yreV: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-icon-yreV: var(--on-surface-color);--color: inherit;--color-SCOPED-IN-icon-yreV: var(--color)}:host mat-icon{color:var(--on-background-color-SCOPED-IN-icon-yreV)}:host mat-icon ::ng-deep svg .filled{transition:fill .5s;fill:var(--color-SCOPED-IN-icon-yreV)}\n"] }]
36
36
  }], propDecorators: { color: [{
37
37
  type: HostBinding,
38
38
  args: ['style.--color']
@@ -8,7 +8,7 @@ import { NgAtomicPagesModule } from "@ng-atomic/components/pages";
8
8
  import { NgAtomicSheetsModule } from '@ng-atomic/components/sheets';
9
9
  import { MatDialogModule } from '@angular/material/dialog';
10
10
  import { MatSnackBarModule } from '@angular/material/snack-bar';
11
- import { RootPropertyService } from '@ng-atomic/common/services/root-property';
11
+ import { provideRootProperty, RootPropertyService } from '@ng-atomic/common/services/root-property';
12
12
  import * as i0 from "@angular/core";
13
13
  export class NgAtomicComponentsModule {
14
14
  static forRoot() {
@@ -16,6 +16,7 @@ export class NgAtomicComponentsModule {
16
16
  ngModule: NgAtomicComponentsModule,
17
17
  providers: [
18
18
  RootPropertyService.Config.provide(),
19
+ provideRootProperty(),
19
20
  importProvidersFrom(NgAtomicAtomsModule.forRoot()),
20
21
  importProvidersFrom(NgAtomicMoleculesModule.forRoot()),
21
22
  importProvidersFrom(NgAtomicOrganismsModule.forRoot()),
@@ -41,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
41
42
  ]
42
43
  }]
43
44
  }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFRL0UsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsd0JBQXdCO1lBQ2xDLFNBQVMsRUFBRTtnQkFDVCxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNwQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEQsbUJBQW1CLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RELG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN0RCxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEQsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xELG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuRCxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNwRDtTQUNGLENBQUE7SUFDSCxDQUFDOzhHQWZVLHdCQUF3QjsrR0FBeEIsd0JBQXdCLFlBSmpDLGVBQWU7WUFDZixpQkFBaUI7K0dBR1Isd0JBQXdCLFlBSmpDLGVBQWU7WUFDZixpQkFBaUI7OzJGQUdSLHdCQUF3QjtrQkFOcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIGltcG9ydFByb3ZpZGVyc0Zyb20gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmdBdG9taWNBdG9tc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvYXRvbXNcIjtcbmltcG9ydCB7IE5nQXRvbWljTW9sZWN1bGVzTW9kdWxlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9tb2xlY3VsZXNcIjtcbmltcG9ydCB7IE5nQXRvbWljT3JnYW5pc21zTW9kdWxlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXNcIjtcbmltcG9ydCB7IE5nQXRvbWljVGVtcGxhdGVzTW9kdWxlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXNcIjtcbmltcG9ydCB7IE5nQXRvbWljRnJhbWVzTW9kdWxlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXNcIjtcbmltcG9ydCB7IE5nQXRvbWljUGFnZXNNb2R1bGUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzXCI7XG5pbXBvcnQgeyBOZ0F0b21pY1NoZWV0c01vZHVsZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9zaGVldHMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFJvb3RQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9yb290LXByb3BlcnR5JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ0F0b21pY0NvbXBvbmVudHNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5nQXRvbWljQ29tcG9uZW50c01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBSb290UHJvcGVydHlTZXJ2aWNlLkNvbmZpZy5wcm92aWRlKCksXG4gICAgICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oTmdBdG9taWNBdG9tc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljTW9sZWN1bGVzTW9kdWxlLmZvclJvb3QoKSksXG4gICAgICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oTmdBdG9taWNPcmdhbmlzbXNNb2R1bGUuZm9yUm9vdCgpKSxcbiAgICAgICAgaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY1RlbXBsYXRlc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljUGFnZXNNb2R1bGUuZm9yUm9vdCgpKSxcbiAgICAgICAgaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY0ZyYW1lc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljU2hlZXRzTW9kdWxlLmZvclJvb3QoKSksXG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFTcEcsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsd0JBQXdCO1lBQ2xDLFNBQVMsRUFBRTtnQkFDVCxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNwQyxtQkFBbUIsRUFBRTtnQkFDckIsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xELG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN0RCxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEQsbUJBQW1CLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RELG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsRCxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbkQsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDcEQ7U0FDRixDQUFBO0lBQ0gsQ0FBQzs4R0FoQlUsd0JBQXdCOytHQUF4Qix3QkFBd0IsWUFKakMsZUFBZTtZQUNmLGlCQUFpQjsrR0FHUix3QkFBd0IsWUFKakMsZUFBZTtZQUNmLGlCQUFpQjs7MkZBR1Isd0JBQXdCO2tCQU5wQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgaW1wb3J0UHJvdmlkZXJzRnJvbSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOZ0F0b21pY0F0b21zTW9kdWxlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9hdG9tc1wiO1xuaW1wb3J0IHsgTmdBdG9taWNNb2xlY3VsZXNNb2R1bGUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL21vbGVjdWxlc1wiO1xuaW1wb3J0IHsgTmdBdG9taWNPcmdhbmlzbXNNb2R1bGUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtc1wiO1xuaW1wb3J0IHsgTmdBdG9taWNUZW1wbGF0ZXNNb2R1bGUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlc1wiO1xuaW1wb3J0IHsgTmdBdG9taWNGcmFtZXNNb2R1bGUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lc1wiO1xuaW1wb3J0IHsgTmdBdG9taWNQYWdlc01vZHVsZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXNcIjtcbmltcG9ydCB7IE5nQXRvbWljU2hlZXRzTW9kdWxlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3NoZWV0cyc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgcHJvdmlkZVJvb3RQcm9wZXJ0eSwgUm9vdFByb3BlcnR5U2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3Jvb3QtcHJvcGVydHknO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNDb21wb25lbnRzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ0F0b21pY0NvbXBvbmVudHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgUm9vdFByb3BlcnR5U2VydmljZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgICBwcm92aWRlUm9vdFByb3BlcnR5KCksXG4gICAgICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oTmdBdG9taWNBdG9tc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljTW9sZWN1bGVzTW9kdWxlLmZvclJvb3QoKSksXG4gICAgICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oTmdBdG9taWNPcmdhbmlzbXNNb2R1bGUuZm9yUm9vdCgpKSxcbiAgICAgICAgaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY1RlbXBsYXRlc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljUGFnZXNNb2R1bGUuZm9yUm9vdCgpKSxcbiAgICAgICAgaW1wb3J0UHJvdmlkZXJzRnJvbShOZ0F0b21pY0ZyYW1lc01vZHVsZS5mb3JSb290KCkpLFxuICAgICAgICBpbXBvcnRQcm92aWRlcnNGcm9tKE5nQXRvbWljU2hlZXRzTW9kdWxlLmZvclJvb3QoKSksXG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,17 +1,22 @@
1
- import { ChangeDetectionStrategy, Component, PLATFORM_ID, input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, PLATFORM_ID, computed, effect, input } from '@angular/core';
2
2
  import { Directive, inject } from '@angular/core';
3
3
  import { RouterOutlet } from '@angular/router';
4
4
  import { LoadingFrame } from '@ng-atomic/components/frames/loading';
5
5
  import { SideNavFrame } from '@ng-atomic/components/frames/side-nav';
6
6
  import { EntranceFrame } from '@ng-atomic/components/frames/entrance';
7
- import { InjectableComponent, NgAtomicComponent, _computed } from '@ng-atomic/core';
7
+ import { InjectableComponent, NgAtomicComponent, _computed, applyToInput, provideEffect } from '@ng-atomic/core';
8
8
  import { FormBuilder } from '@angular/forms';
9
9
  import { makeConfig } from '@ng-atomic/common/services/ui';
10
10
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
11
11
  import { BackgroundTemplateStore } from '@ng-atomic/components/templates/background';
12
12
  import { DrawerFrame } from '@ng-atomic/components/frames/drawer';
13
13
  import { FabFrame } from '@ng-atomic/components/frames/fab';
14
- import { initializeStore, provideStoreInitializer } from '@ng-atomic/components/pages/form';
14
+ import { AppService } from '@ng-atomic/common/services/app';
15
+ import { SideAppService } from '@ng-atomic/common/services/side-app';
16
+ import { AuthService } from '@ng-atomic/common/services/auth';
17
+ import { RootPropertyService } from '@ng-atomic/common/services/root-property';
18
+ import { makeInitializerConfig } from '@ng-atomic/common/services/initializer';
19
+ import { injectPrimaryPaths } from '@ng-atomic/common/utils';
15
20
  import * as i0 from "@angular/core";
16
21
  var ActionId;
17
22
  (function (ActionId) {
@@ -41,10 +46,172 @@ export class AppFrameStore extends InjectableComponent {
41
46
  { id: ActionId.SIGN_OUT, name: 'ログアウト', icon: 'exit_to_app' },
42
47
  ],
43
48
  sideNavMode: 'collapsed',
49
+ sideNavMenuType: 'menu',
50
+ sideNavMenuTitle: undefined,
44
51
  sideAppOutletName: 'side-app',
45
52
  });
46
53
  }, ['components', 'frames', 'app']); }
47
- static { this.provideInitializer = (provideStoreInitializer); }
54
+ static { this.provideAppServiceConfig = () => AppFrameStore.Config.provide(() => {
55
+ const app = inject(AppService);
56
+ const fabHide = computed(() => app.sideApp.opened());
57
+ return (config) => ({
58
+ ...config,
59
+ isLoading: app.loading.isLoading(),
60
+ sideNavMode: app.sideNavMode.sideNavMode(),
61
+ sideAppOpened: app.sideApp.opened(),
62
+ fabActions: app.fab.actions(),
63
+ fabHide: fabHide(),
64
+ });
65
+ }); }
66
+ static provideIconButtonMenuAsDefaultConfig() {
67
+ return [
68
+ RootPropertyService.Config.provide(() => {
69
+ const getProps = (context) => {
70
+ switch (context.breakpoint) {
71
+ case 'xSmall': return { '--menu-width': '220px' };
72
+ case 'small':
73
+ case 'medium':
74
+ case 'large':
75
+ case 'xLarge': return { '--menu-width': '64px' };
76
+ }
77
+ };
78
+ return (config, context) => ({ ...config, ...getProps(context) });
79
+ }),
80
+ AppFrameStore.Config.provide(() => {
81
+ const getMenuType = (context) => {
82
+ switch (context.breakpoint) {
83
+ case 'xSmall': return 'menu';
84
+ default: return 'icon-button-menu';
85
+ }
86
+ };
87
+ return (config, context) => ({
88
+ ...config,
89
+ sideNavMenuType: getMenuType(context),
90
+ });
91
+ })
92
+ ];
93
+ }
94
+ static { this.Initializer = makeInitializerConfig(AppFrameStore); }
95
+ static { this.provideInitializer = AppFrameStore.Initializer.provide; }
96
+ static provideExpandSideAppOnInit() {
97
+ return AppFrameStore.Initializer.provide(() => {
98
+ inject(SideAppService).expand();
99
+ });
100
+ }
101
+ static provideSideNavActionsInitializer(actionsFactory) {
102
+ return AppFrameStore.Initializer.provide((store) => {
103
+ const paths = injectPrimaryPaths();
104
+ function compare(paths, payload) {
105
+ if (payload === undefined)
106
+ return false;
107
+ return payload.every((path, i) => paths[i] === path);
108
+ }
109
+ const actions = actionsFactory();
110
+ effect(() => {
111
+ applyToInput(store, 'sideNavActions', actions.map(action => ({
112
+ ...action, disabled: compare(paths(), action?.payload),
113
+ })));
114
+ }, { allowSignalWrites: true });
115
+ });
116
+ }
117
+ static provideNavigateEffect() {
118
+ return provideEffect(AppFrameStore.ActionId.NAVIGATE, () => {
119
+ const app = inject(AppService);
120
+ return (payload) => {
121
+ app.router.navigate(payload).then(() => app.sideNav.collapse());
122
+ };
123
+ });
124
+ }
125
+ static provideSignOutEffect() {
126
+ return provideEffect(AppFrameStore.ActionId.SIGN_OUT, () => {
127
+ const app = inject(AppService);
128
+ const auth = inject(AuthService);
129
+ return () => {
130
+ auth.signOut().then(() => {
131
+ app.sideNav.collapse();
132
+ app.snackBar.open('サインアウトしました');
133
+ });
134
+ };
135
+ });
136
+ }
137
+ static provideOpenSideAppEffect() {
138
+ return provideEffect(AppFrameStore.ActionId.OPEN_SIDE_APP, () => {
139
+ const app = inject(AppService);
140
+ return () => {
141
+ console.debug('open side app');
142
+ app.sideApp.expand();
143
+ };
144
+ });
145
+ }
146
+ static provideSignUpWithEmailEffect() {
147
+ return provideEffect(AppFrameStore.ActionId.SIGN_UP_WITH_EMAIL, () => {
148
+ const app = inject(AppService);
149
+ const store = inject(AppFrameStore);
150
+ const auth = inject(AuthService);
151
+ return () => {
152
+ const data = store.form().getRawValue();
153
+ app.loading.await(() => {
154
+ return auth.createUserWithEmailAndPassword(data.email, data.password).then(() => {
155
+ app.snackBar.open('新規登録しました。');
156
+ }).catch((error) => {
157
+ console.error(error);
158
+ app.snackBar.open(error.message);
159
+ });
160
+ });
161
+ };
162
+ });
163
+ }
164
+ static provideSignInWithEmailEffect() {
165
+ return provideEffect(AppFrameStore.ActionId.SIGN_IN_WITH_EMAIL, () => {
166
+ const app = inject(AppService);
167
+ const store = inject(AppFrameStore);
168
+ const auth = inject(AuthService);
169
+ return () => {
170
+ const data = store.form().getRawValue();
171
+ app.loading.await(() => {
172
+ return auth.signInWithEmailAndPassword(data.email, data.password).then(() => {
173
+ app.snackBar.open('ログインしました');
174
+ }).catch((error) => {
175
+ console.error(error);
176
+ app.snackBar.open(error.message);
177
+ });
178
+ });
179
+ };
180
+ });
181
+ }
182
+ static provideSignInWithGoogleEffect() {
183
+ return provideEffect(AppFrameStore.ActionId.SIGN_IN_WITH_GOOGLE, () => {
184
+ const app = inject(AppService);
185
+ const auth = inject(AuthService);
186
+ return () => {
187
+ auth.signInWithGoogle().then(() => {
188
+ app.snackBar.open('ログインしました');
189
+ }).catch((error) => {
190
+ console.error(error);
191
+ const _message = error.message.match(/HTTP Cloud Function returned an error: (.*) \(.*/);
192
+ const message = _message ? JSON.parse(_message[1]).error.message : error.message;
193
+ app.snackBar.open(message);
194
+ });
195
+ };
196
+ });
197
+ }
198
+ static provideDefaultEffects() {
199
+ return [
200
+ AppFrameStore.provideNavigateEffect(),
201
+ AppFrameStore.provideSignOutEffect(),
202
+ AppFrameStore.provideOpenSideAppEffect(),
203
+ AppFrameStore.provideSignUpWithEmailEffect(),
204
+ AppFrameStore.provideSignInWithEmailEffect(),
205
+ AppFrameStore.provideSignInWithGoogleEffect(),
206
+ ];
207
+ }
208
+ static provideDefault() {
209
+ return [
210
+ AppFrameStore.provideAppServiceConfig(),
211
+ AppFrameStore.provideIconButtonMenuAsDefaultConfig(),
212
+ AppFrameStore.provideDefaultEffects(),
213
+ ];
214
+ }
48
215
  constructor() {
49
216
  super();
50
217
  this.config = AppFrameStore.Config.inject();
@@ -56,13 +223,15 @@ export class AppFrameStore extends InjectableComponent {
56
223
  this.entranceActions = input(_computed(() => this.config().entranceActions));
57
224
  this.sideNavActions = input(_computed(() => this.config().sideNavActions));
58
225
  this.sideNavMode = input(_computed(() => this.config().sideNavMode));
226
+ this.sideNavMenuType = input(_computed(() => this.config().sideNavMenuType));
227
+ this.sideNavMenuTitle = input(_computed(() => this.config().sideNavMenuTitle));
59
228
  this.sideAppOutletName = input(_computed(() => this.config().sideAppOutletName));
60
229
  this.fabActions = input(_computed(() => this.config().fabActions));
61
230
  this.fabHide = input(_computed(() => this.config().fabHide));
62
- initializeStore(this);
231
+ AppFrameStore.Initializer.initializeStore(this);
63
232
  }
64
233
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AppFrameStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
65
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.2", type: AppFrameStore, isStandalone: true, selector: "frames-app", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isEntrance: { classPropertyName: "isEntrance", publicName: "isEntrance", isSignal: true, isRequired: false, transformFunction: null }, sideAppOpened: { classPropertyName: "sideAppOpened", publicName: "sideAppOpened", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, entranceActions: { classPropertyName: "entranceActions", publicName: "entranceActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavActions: { classPropertyName: "sideNavActions", publicName: "sideNavActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavMode: { classPropertyName: "sideNavMode", publicName: "sideNavMode", isSignal: true, isRequired: false, transformFunction: null }, sideAppOutletName: { classPropertyName: "sideAppOutletName", publicName: "sideAppOutletName", isSignal: true, isRequired: false, transformFunction: null }, fabActions: { classPropertyName: "fabActions", publicName: "fabActions", isSignal: true, isRequired: false, transformFunction: null }, fabHide: { classPropertyName: "fabHide", publicName: "fabHide", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
234
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.2", type: AppFrameStore, isStandalone: true, selector: "frames-app", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isEntrance: { classPropertyName: "isEntrance", publicName: "isEntrance", isSignal: true, isRequired: false, transformFunction: null }, sideAppOpened: { classPropertyName: "sideAppOpened", publicName: "sideAppOpened", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, entranceActions: { classPropertyName: "entranceActions", publicName: "entranceActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavActions: { classPropertyName: "sideNavActions", publicName: "sideNavActions", isSignal: true, isRequired: false, transformFunction: null }, sideNavMode: { classPropertyName: "sideNavMode", publicName: "sideNavMode", isSignal: true, isRequired: false, transformFunction: null }, sideNavMenuType: { classPropertyName: "sideNavMenuType", publicName: "sideNavMenuType", isSignal: true, isRequired: false, transformFunction: null }, sideNavMenuTitle: { classPropertyName: "sideNavMenuTitle", publicName: "sideNavMenuTitle", isSignal: true, isRequired: false, transformFunction: null }, sideAppOutletName: { classPropertyName: "sideAppOutletName", publicName: "sideAppOutletName", isSignal: true, isRequired: false, transformFunction: null }, fabActions: { classPropertyName: "fabActions", publicName: "fabActions", isSignal: true, isRequired: false, transformFunction: null }, fabHide: { classPropertyName: "fabHide", publicName: "fabHide", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
66
235
  }
67
236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AppFrameStore, decorators: [{
68
237
  type: Directive,
@@ -80,9 +249,6 @@ export class AppFrame extends NgAtomicComponent {
80
249
  isPlatformBrowser() {
81
250
  return isPlatformBrowser(this.platformId);
82
251
  }
83
- dispatch(action, scope, componentId) {
84
- return super.dispatch(action, scope, componentId);
85
- }
86
252
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AppFrame, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
87
253
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: AppFrame, isStandalone: true, selector: "frames-app", usesInheritance: true, hostDirectives: [{ directive: AppFrameStore }], ngImport: i0, template: `
88
254
  <router-outlet/>
@@ -92,7 +258,11 @@ export class AppFrame extends NgAtomicComponent {
92
258
  }
93
259
  }
94
260
  <frames-loading [isLoading]="store.isLoading()">
95
- <frames-fab [actions]="store.fabActions()" [hide]="store.fabHide()">
261
+ <frames-fab
262
+ [actions]="store.fabActions()"
263
+ [hide]="store.fabHide()"
264
+ (action)="dispatch($event)"
265
+ >
96
266
  <frames-entrance
97
267
  [isEntrance]="store.isEntrance()"
98
268
  [form]="store.form()"
@@ -108,7 +278,8 @@ export class AppFrame extends NgAtomicComponent {
108
278
  <frames-side-nav
109
279
  [actions]="store.sideNavActions()"
110
280
  [mode]="store.sideNavMode()"
111
- [menuTitle]="store.title()"
281
+ [menuType]="store.sideNavMenuType()"
282
+ [menuTitle]="store.sideNavMenuTitle()"
112
283
  (action)="dispatch($event)"
113
284
  contents
114
285
  >
@@ -121,7 +292,7 @@ export class AppFrame extends NgAtomicComponent {
121
292
  </frames-entrance>
122
293
  </frames-fab>
123
294
  </frames-loading>
124
- `, isInline: true, styles: [":host{--primary-color-SCOPED-IN-frames-app-lIkl: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-lIkl: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-lIkl: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-lIkl: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-lIkl: var(--background-color);--on-background-color-SCOPED-IN-frames-app-lIkl: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-lIkl: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-lIkl: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-lIkl: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-lIkl: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-lIkl: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-lIkl: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-lIkl: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-lIkl: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-lIkl: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-lIkl: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-lIkl);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-lIkl);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-lIkl);--surface-color: var(--surface-color-SCOPED-IN-frames-app-lIkl);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-lIkl);--background-color: var(--background-color-SCOPED-IN-frames-app-lIkl);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-lIkl);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-lIkl);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-lIkl)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-lIkl)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-lIkl)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-lIkl);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-lIkl);--background-color: var(--background-background-color-SCOPED-IN-frames-app-lIkl);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-lIkl);height:100%}\n"], dependencies: [{ kind: "component", type: FabFrame, selector: "frames-fab" }, { kind: "component", type: LoadingFrame, selector: "frames-loading" }, { kind: "component", type: SideNavFrame, selector: "frames-side-nav" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EntranceFrame, selector: "frames-entrance" }, { kind: "component", type:
295
+ `, isInline: true, styles: [":host{--primary-color-SCOPED-IN-frames-app-sQsj: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-sQsj: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-sQsj: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-sQsj: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-sQsj: var(--background-color);--on-background-color-SCOPED-IN-frames-app-sQsj: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-sQsj: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-sQsj: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-sQsj: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-sQsj: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-sQsj: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-sQsj: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-sQsj: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-sQsj: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-sQsj: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-sQsj: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-sQsj);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-sQsj);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-sQsj);--surface-color: var(--surface-color-SCOPED-IN-frames-app-sQsj);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-sQsj);--background-color: var(--background-color-SCOPED-IN-frames-app-sQsj);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-sQsj);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-sQsj);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-sQsj)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-sQsj)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-sQsj)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-sQsj);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-sQsj);--background-color: var(--background-background-color-SCOPED-IN-frames-app-sQsj);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-sQsj);height:100%}\n"], dependencies: [{ kind: "component", type: FabFrame, selector: "frames-fab" }, { kind: "component", type: LoadingFrame, selector: "frames-loading" }, { kind: "component", type: SideNavFrame, selector: "frames-side-nav" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EntranceFrame, selector: "frames-entrance" }, { kind: "component", type:
125
296
  // DrawerFrameStore,
126
297
  DrawerFrame, selector: "frames-drawer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
127
298
  }
@@ -144,7 +315,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
144
315
  }
145
316
  }
146
317
  <frames-loading [isLoading]="store.isLoading()">
147
- <frames-fab [actions]="store.fabActions()" [hide]="store.fabHide()">
318
+ <frames-fab
319
+ [actions]="store.fabActions()"
320
+ [hide]="store.fabHide()"
321
+ (action)="dispatch($event)"
322
+ >
148
323
  <frames-entrance
149
324
  [isEntrance]="store.isEntrance()"
150
325
  [form]="store.form()"
@@ -160,7 +335,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
160
335
  <frames-side-nav
161
336
  [actions]="store.sideNavActions()"
162
337
  [mode]="store.sideNavMode()"
163
- [menuTitle]="store.title()"
338
+ [menuType]="store.sideNavMenuType()"
339
+ [menuTitle]="store.sideNavMenuTitle()"
164
340
  (action)="dispatch($event)"
165
341
  contents
166
342
  >
@@ -175,6 +351,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
175
351
  </frames-loading>
176
352
  `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
177
353
  AppFrameStore,
178
- ], styles: [":host{--primary-color-SCOPED-IN-frames-app-lIkl: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-lIkl: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-lIkl: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-lIkl: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-lIkl: var(--background-color);--on-background-color-SCOPED-IN-frames-app-lIkl: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-lIkl: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-lIkl: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-lIkl: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-lIkl: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-lIkl: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-lIkl: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-lIkl: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-lIkl: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-lIkl: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-lIkl: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-lIkl);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-lIkl);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-lIkl);--surface-color: var(--surface-color-SCOPED-IN-frames-app-lIkl);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-lIkl);--background-color: var(--background-color-SCOPED-IN-frames-app-lIkl);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-lIkl);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-lIkl);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-lIkl)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-lIkl)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-lIkl)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-lIkl);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-lIkl);--background-color: var(--background-background-color-SCOPED-IN-frames-app-lIkl);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-lIkl);height:100%}\n"] }]
354
+ ], styles: [":host{--primary-color-SCOPED-IN-frames-app-sQsj: var(--primary-color);--on-primary-color-SCOPED-IN-frames-app-sQsj: var(--on-primary-color);--surface-color-SCOPED-IN-frames-app-sQsj: var(--surface-color);--on-surface-color-SCOPED-IN-frames-app-sQsj: var(--on-surface-color);--background-color-SCOPED-IN-frames-app-sQsj: var(--background-color);--on-background-color-SCOPED-IN-frames-app-sQsj: var(--on-background-color);--menu-width-SCOPED-IN-frames-app-sQsj: var(--menu-width);--menu-background-color-SCOPED-IN-frames-app-sQsj: var(--menu-background-color);--menu-on-background-color-SCOPED-IN-frames-app-sQsj: var(--menu-on-background-color);--background-primary-color-SCOPED-IN-frames-app-sQsj: var(--background-primary-color);--background-on-primary-color-SCOPED-IN-frames-app-sQsj: var(--background-on-primary-color);--background-background-color-SCOPED-IN-frames-app-sQsj: var(--background-background-color);--loading-primary-color-SCOPED-IN-frames-app-sQsj: var(--loading-primary-color);--page-width-lv1-SCOPED-IN-frames-app-sQsj: var(--page-width-lv1);--menu-padding-top: 56px;--menu-padding-top-SCOPED-IN-frames-app-sQsj: var(--menu-padding-top);--loading-z-index: 1000;--loading-z-index-SCOPED-IN-frames-app-sQsj: var(--loading-z-index)}:host{display:block;width:100%;height:100%;position:fixed;color:var(--primary-color-SCOPED-IN-frames-app-sQsj);touch-action:none}:host *{--primary-color: var(--primary-color-SCOPED-IN-frames-app-sQsj);--on-primary-color: var(--on-primary-color-SCOPED-IN-frames-app-sQsj);--surface-color: var(--surface-color-SCOPED-IN-frames-app-sQsj);--on-surface-color: var(--on-surface-color-SCOPED-IN-frames-app-sQsj);--background-color: var(--background-color-SCOPED-IN-frames-app-sQsj);--on-background-color: var(--on-background-color-SCOPED-IN-frames-app-sQsj);--menu-background-color: var(--menu-background-color-SCOPED-IN-frames-app-sQsj);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-frames-app-sQsj)}:host frames-side-nav{color:#000;--menu-width: var(--menu-width-SCOPED-IN-frames-app-sQsj)}:host frames-loading{--primary-color: var(--loading-primary-color-SCOPED-IN-frames-app-sQsj)}:host templates-background{--primary-color: var(--background-primary-color-SCOPED-IN-frames-app-sQsj);--on-primary-color: var(--background-on-primary-color-SCOPED-IN-frames-app-sQsj);--background-color: var(--background-background-color-SCOPED-IN-frames-app-sQsj);position:absolute;top:0;left:0}:host frames-side-nav .side-app{position:relative;width:var(--page-width-lv1-SCOPED-IN-frames-app-sQsj);height:100%}\n"] }]
179
355
  }] });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2FwcC9hcHAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQVUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFNUYsSUFBSyxRQVFKO0FBUkQsV0FBSyxRQUFRO0lBQ1gs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a0JBekRwQixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1A7d0JBQ1AsUUFBUTt3QkFDUixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCx1QkFBdUI7cUJBQ3hCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1QsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CO3dCQUNkLGFBQWE7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBQTEFURk9STV9JRCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9hZGluZ0ZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9sb2FkaW5nJztcbmltcG9ydCB7IFNpZGVOYXZGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvc2lkZS1uYXYnO1xuaW1wb3J0IHsgRW50cmFuY2VGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvZW50cmFuY2UnO1xuaW1wb3J0IHsgQWN0aW9uLCBJbmplY3RhYmxlQ29tcG9uZW50LCBOZ0F0b21pY0NvbXBvbmVudCwgX2NvbXB1dGVkIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWFrZUNvbmZpZyB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9iYWNrZ3JvdW5kJztcbmltcG9ydCB7IERyYXdlckZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9kcmF3ZXInO1xuaW1wb3J0IHsgRmFiRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2ZhYic7XG5pbXBvcnQgeyBpbml0aWFsaXplU3RvcmUsIHByb3ZpZGVTdG9yZUluaXRpYWxpemVyIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm0nO1xuXG5lbnVtIEFjdGlvbklkIHtcbiAgU0lHTl9JTl9XSVRIX0dPT0dMRSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBHb29nbGUnLFxuICBTSUdOX0lOX1dJVEhfVFdJVFRFUiA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBUd2l0dGVyJyxcbiAgU0lHTl9JTl9XSVRIX0VNQUlMID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBJbiBXaXRoIEVtYWlsJyxcbiAgU0lHTl9VUF9XSVRIX0VNQUlMID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBVcCBXaXRoIEVtYWlsJyxcbiAgTkFWSUdBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBOYXZpZ2F0ZScsXG4gIFNJR05fT1VUID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gU2lnbiBPdXQnLFxuICBPUEVOX1NJREVfQVBQID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gT3BlbiBTaWRlIEFwcCcsXG59XG5cbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ2ZyYW1lcy1hcHAnIH0pXG5leHBvcnQgY2xhc3MgQXBwRnJhbWVTdG9yZSBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgQWN0aW9uSWQgPSBBY3Rpb25JZDtcbiAgc3RhdGljIHJlYWRvbmx5IENvbmZpZyA9IG1ha2VDb25maWcoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiAoe1xuICAgICAgZmFiQWN0aW9uczogW10sXG4gICAgICBmYWJIaWRlOiB0cnVlLFxuICAgICAgaXNFbnRyYW5jZTogdHJ1ZSxcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICBzaWRlQXBwT3BlbmVkOiBmYWxzZSxcbiAgICAgIHRpdGxlOiAndGl0bGUnLFxuICAgICAgZm9ybTogaW5qZWN0KEZvcm1CdWlsZGVyKS5ncm91cCh7fSksXG4gICAgICBlbnRyYW5jZUFjdGlvbnM6IFtcbiAgICAgICAgeyBpZDogQWN0aW9uSWQuU0lHTl9JTl9XSVRIX0dPT0dMRSwgbmFtZTogJ0dvb2dsZeOBp+OCteOCpOODs+OCpOODsycsIGljb246ICcnIH0sXG4gICAgICBdLFxuICAgICAgc2lkZU5hdkFjdGlvbnM6IFtcbiAgICAgICAgeyBpZDogQWN0aW9uSWQuU0lHTl9PVVQsIG5hbWU6ICfjg63jgrDjgqLjgqbjg4gnLCBpY29uOiAnZXhpdF90b19hcHAnIH0sXG4gICAgICBdLFxuICAgICAgc2lkZU5hdk1vZGU6ICdjb2xsYXBzZWQnIGFzICdleHBhbmRlZCcgfCAnY29sbGFwc2VkJyxcbiAgICAgIHNpZGVBcHBPdXRsZXROYW1lOiAnc2lkZS1hcHAnLFxuICAgIH0pO1xuICB9LCBbJ2NvbXBvbmVudHMnLCAnZnJhbWVzJywgJ2FwcCddKTtcbiAgc3RhdGljIHByb3ZpZGVJbml0aWFsaXplciA9IHByb3ZpZGVTdG9yZUluaXRpYWxpemVyPEFwcEZyYW1lU3RvcmU+O1xuXG4gIHJlYWRvbmx5IGNvbmZpZyA9IEFwcEZyYW1lU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBpc0xvYWRpbmcgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5pc0xvYWRpbmcpKTtcbiAgcmVhZG9ubHkgaXNFbnRyYW5jZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmlzRW50cmFuY2UpKTtcbiAgcmVhZG9ubHkgc2lkZUFwcE9wZW5lZCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVBcHBPcGVuZWQpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS50aXRsZSkpO1xuICByZWFkb25seSBmb3JtID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZm9ybSkpO1xuICByZWFkb25seSBlbnRyYW5jZUFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5lbnRyYW5jZUFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdkFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2QWN0aW9ucykpO1xuICByZWFkb25seSBzaWRlTmF2TW9kZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZNb2RlKSk7XG4gIHJlYWRvbmx5IHNpZGVBcHBPdXRsZXROYW1lID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZUFwcE91dGxldE5hbWUpKTtcbiAgcmVhZG9ubHkgZmFiQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmZhYkFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgZmFiSGlkZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmZhYkhpZGUpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGluaXRpYWxpemVTdG9yZSh0aGlzKTtcbiAgfVxufVxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZyYW1lcy1hcHAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRmFiRnJhbWUsXG4gICAgTG9hZGluZ0ZyYW1lLFxuICAgIFNpZGVOYXZGcmFtZSxcbiAgICBSb3V0ZXJPdXRsZXQsXG4gICAgRW50cmFuY2VGcmFtZSxcbiAgICAvLyBEcmF3ZXJGcmFtZVN0b3JlLFxuICAgIERyYXdlckZyYW1lLFxuICAgIEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICA8cm91dGVyLW91dGxldC8+XG4gIEBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIoKSkge1xuICAgIEBkZWZlciB7XG4gICAgICA8dGVtcGxhdGVzLWJhY2tncm91bmQgaW5qZWN0YWJsZS8+XG4gICAgfVxuICB9XG4gIDxmcmFtZXMtbG9hZGluZyBbaXNMb2FkaW5nXT1cInN0b3JlLmlzTG9hZGluZygpXCI+XG4gICAgPGZyYW1lcy1mYWIgW2FjdGlvbnNdPVwic3RvcmUuZmFiQWN0aW9ucygpXCIgW2hpZGVdPVwic3RvcmUuZmFiSGlkZSgpXCI+XG4gICAgICA8ZnJhbWVzLWVudHJhbmNlXG4gICAgICAgIFtpc0VudHJhbmNlXT1cInN0b3JlLmlzRW50cmFuY2UoKVwiXG4gICAgICAgIFtmb3JtXT1cInN0b3JlLmZvcm0oKVwiXG4gICAgICAgIFt0aXRsZV09XCJzdG9yZS50aXRsZSgpXCJcbiAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuZW50cmFuY2VBY3Rpb25zKClcIlxuICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8ZnJhbWVzLWRyYXdlclxuICAgICAgICAgIFtvcGVuZWRdPVwic3RvcmUuc2lkZUFwcE9wZW5lZCgpXCJcbiAgICAgICAgICBbcG9zaXRpb25dPVwiJ2VuZCdcIlxuICAgICAgICAgIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZnJhbWVzLXNpZGUtbmF2XG4gICAgICAgICAgICBbYWN0aW9uc109XCJzdG9yZS5zaWRlTmF2QWN0aW9ucygpXCJcbiAgICAgICAgICAgIFttb2RlXT1cInN0b3JlLnNpZGVOYXZNb2RlKClcIlxuICAgICAgICAgICAgW21lbnVUaXRsZV09XCJzdG9yZS50aXRsZSgpXCJcbiAgICAgICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgICAgICBjb250ZW50c1xuICAgICAgICAgID5cbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0IGNvbnRlbnRzLz5cbiAgICAgICAgICA8L2ZyYW1lcy1zaWRlLW5hdj5cbiAgICAgICAgICA8ZGl2IGRyYXdlciBzdHlsZT1cIndpZHRoOiB2YXIoLS1wYWdlLXdpZHRoLWx2MSk7aGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICAgICAgPHJvdXRlci1vdXRsZXQgW25hbWVdPVwic3RvcmUuc2lkZUFwcE91dGxldE5hbWUoKVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZnJhbWVzLWRyYXdlcj5cbiAgICAgIDwvZnJhbWVzLWVudHJhbmNlPlxuICAgIDwvZnJhbWVzLWZhYj5cbiAgPC9mcmFtZXMtbG9hZGluZz5cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL2FwcC5mcmFtZS5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgQXBwRnJhbWVTdG9yZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwRnJhbWUgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChBcHBGcmFtZVN0b3JlKTtcbiAgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcHJvdGVjdGVkIGlzUGxhdGZvcm1TZXJ2ZXIoKSB7XG4gICAgcmV0dXJuIGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1BsYXRmb3JtQnJvd3NlcigpIHtcbiAgICByZXR1cm4gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgfVxuXG4gIGRpc3BhdGNoKGFjdGlvbjogQWN0aW9uPGFueT4sIHNjb3BlPzogc3RyaW5nLCBjb21wb25lbnRJZD86IHN0cmluZyB8IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBzdXBlci5kaXNwYXRjaChhY3Rpb24sIHNjb3BlLCBjb21wb25lbnRJZCk7XG4gIH1cbn1cbiJdfQ==
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmZyYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvZnJhbWVzL2FwcC9hcHAuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsSSxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxP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QVE7d0JBQ1IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsdUJBQXVCO3FCQUN4QixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1QsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CO3dCQUNkLGFBQWE7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBQTEFURk9STV9JRCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9hZGluZ0ZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9sb2FkaW5nJztcbmltcG9ydCB7IFNpZGVOYXZGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvc2lkZS1uYXYnO1xuaW1wb3J0IHsgRW50cmFuY2VGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvZW50cmFuY2UnO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25zLCBJbmplY3RhYmxlQ29tcG9uZW50LCBOZ0F0b21pY0NvbXBvbmVudCwgX2NvbXB1dGVkLCBhcHBseVRvSW5wdXQsIHByb3ZpZGVFZmZlY3QgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1ha2VDb25maWcsIFVJQ29udGV4dCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9iYWNrZ3JvdW5kJztcbmltcG9ydCB7IERyYXdlckZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9kcmF3ZXInO1xuaW1wb3J0IHsgRmFiRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2ZhYic7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvYXBwJztcbmltcG9ydCB7IFNpZGVBcHBTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvc2lkZS1hcHAnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9hdXRoJztcbmltcG9ydCB7IFJvb3RQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9yb290LXByb3BlcnR5JztcbmltcG9ydCB7IG1ha2VJbml0aWFsaXplckNvbmZpZyB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2luaXRpYWxpemVyJztcbmltcG9ydCB7IGluamVjdFByaW1hcnlQYXRocyB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcblxuZW51bSBBY3Rpb25JZCB7XG4gIFNJR05fSU5fV0lUSF9HT09HTEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBTaWduIEluIFdpdGggR29vZ2xlJyxcbiAgU0lHTl9JTl9XSVRIX1RXSVRURVIgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50czpmcmFtZXMvYXBwXSBTaWduIEluIFdpdGggVHdpdHRlcicsXG4gIFNJR05fSU5fV0lUSF9FTUFJTCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gSW4gV2l0aCBFbWFpbCcsXG4gIFNJR05fVVBfV0lUSF9FTUFJTCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gVXAgV2l0aCBFbWFpbCcsXG4gIE5BVklHQVRFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6ZnJhbWVzL2FwcF0gTmF2aWdhdGUnLFxuICBTSUdOX09VVCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIFNpZ24gT3V0JyxcbiAgT1BFTl9TSURFX0FQUCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOmZyYW1lcy9hcHBdIE9wZW4gU2lkZSBBcHAnLFxufVxuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdmcmFtZXMtYXBwJyB9KVxuZXhwb3J0IGNsYXNzIEFwcEZyYW1lU3RvcmUgZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBtYWtlQ29uZmlnKCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4gKHtcbiAgICAgIGZhYkFjdGlvbnM6IFtdLFxuICAgICAgZmFiSGlkZTogdHJ1ZSxcbiAgICAgIGlzRW50cmFuY2U6IHRydWUsXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgc2lkZUFwcE9wZW5lZDogZmFsc2UsXG4gICAgICB0aXRsZTogJ3RpdGxlJyxcbiAgICAgIGZvcm06IGluamVjdChGb3JtQnVpbGRlcikuZ3JvdXAoe30pIGFzIEFic3RyYWN0Q29udHJvbCxcbiAgICAgIGVudHJhbmNlQWN0aW9uczogW1xuICAgICAgICB7IGlkOiBBY3Rpb25JZC5TSUdOX0lOX1dJVEhfR09PR0xFLCBuYW1lOiAnR29vZ2xl44Gn44K144Kk44Oz44Kk44OzJywgaWNvbjogJycgfSxcbiAgICAgIF0gYXMgQWN0aW9ucyxcbiAgICAgIHNpZGVOYXZBY3Rpb25zOiBbXG4gICAgICAgIHsgaWQ6IEFjdGlvbklkLlNJR05fT1VULCBuYW1lOiAn44Ot44Kw44Ki44Km44OIJywgaWNvbjogJ2V4aXRfdG9fYXBwJyB9LFxuICAgICAgXSBhcyBBY3Rpb25zLFxuICAgICAgc2lkZU5hdk1vZGU6ICdjb2xsYXBzZWQnIGFzICdleHBhbmRlZCcgfCAnY29sbGFwc2VkJyxcbiAgICAgIHNpZGVOYXZNZW51VHlwZTogJ21lbnUnIGFzICdtZW51JyB8ICdpY29uLWJ1dHRvbi1tZW51JyxcbiAgICAgIHNpZGVOYXZNZW51VGl0bGU6IHVuZGVmaW5lZCBhcyBzdHJpbmcsXG4gICAgICBzaWRlQXBwT3V0bGV0TmFtZTogJ3NpZGUtYXBwJyxcbiAgICB9KTtcbiAgfSwgWydjb21wb25lbnRzJywgJ2ZyYW1lcycsICdhcHAnXSk7XG4gIHN0YXRpYyBwcm92aWRlQXBwU2VydmljZUNvbmZpZyA9ICgpID0+IEFwcEZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICBjb25zdCBmYWJIaWRlID0gY29tcHV0ZWQoKCkgPT4gYXBwLnNpZGVBcHAub3BlbmVkKCkpO1xuICAgIHJldHVybiAoY29uZmlnKSA9PiAoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgaXNMb2FkaW5nOiBhcHAubG9hZGluZy5pc0xvYWRpbmcoKSxcbiAgICAgIHNpZGVOYXZNb2RlOiBhcHAuc2lkZU5hdk1vZGUuc2lkZU5hdk1vZGUoKSxcbiAgICAgIHNpZGVBcHBPcGVuZWQ6IGFwcC5zaWRlQXBwLm9wZW5lZCgpLFxuICAgICAgZmFiQWN0aW9uczogYXBwLmZhYi5hY3Rpb25zKCksXG4gICAgICBmYWJIaWRlOiBmYWJIaWRlKCksXG4gICAgfSk7XG4gIH0pO1xuICBzdGF0aWMgcHJvdmlkZUljb25CdXR0b25NZW51QXNEZWZhdWx0Q29uZmlnKCkge1xuICAgIHJldHVybiBbXG4gICAgICBSb290UHJvcGVydHlTZXJ2aWNlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICAgICAgY29uc3QgZ2V0UHJvcHMgPSAoY29udGV4dDogVUlDb250ZXh0KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChjb250ZXh0LmJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGNhc2UgJ3hTbWFsbCc6IHJldHVybiB7ICctLW1lbnUtd2lkdGgnOiAnMjIwcHgnIH07XG4gICAgICAgICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICAgICAgY2FzZSAnbGFyZ2UnOlxuICAgICAgICAgICAgY2FzZSAneExhcmdlJzogcmV0dXJuIHsgJy0tbWVudS13aWR0aCc6ICc2NHB4JyB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGNvbmZpZywgY29udGV4dCkgPT4gKHsuLi5jb25maWcsIC4uLmdldFByb3BzKGNvbnRleHQpfSk7XG4gICAgICB9KSxcbiAgICAgIEFwcEZyYW1lU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgICBjb25zdCBnZXRNZW51VHlwZSA9IChjb250ZXh0OiBVSUNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGNvbnRleHQuYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgY2FzZSAneFNtYWxsJzogcmV0dXJuICdtZW51JztcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnaWNvbi1idXR0b24tbWVudSc7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gKGNvbmZpZywgY29udGV4dCkgPT4gKHtcbiAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgc2lkZU5hdk1lbnVUeXBlOiBnZXRNZW51VHlwZShjb250ZXh0KSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIF07XG4gIH1cbiAgc3RhdGljIEluaXRpYWxpemVyID0gbWFrZUluaXRpYWxpemVyQ29uZmlnKEFwcEZyYW1lU3RvcmUpO1xuICBzdGF0aWMgcHJvdmlkZUluaXRpYWxpemVyID0gQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlO1xuICBzdGF0aWMgcHJvdmlkZUV4cGFuZFNpZGVBcHBPbkluaXQoKSB7XG4gICAgcmV0dXJuIEFwcEZyYW1lU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoKSA9PiB7XG4gICAgICBpbmplY3QoU2lkZUFwcFNlcnZpY2UpLmV4cGFuZCgpO1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlU2lkZU5hdkFjdGlvbnNJbml0aWFsaXplcihhY3Rpb25zRmFjdG9yeTogKCkgPT4gQWN0aW9uW10pIHtcbiAgICByZXR1cm4gQXBwRnJhbWVTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgY29uc3QgcGF0aHMgPSBpbmplY3RQcmltYXJ5UGF0aHMoKTtcbiAgICAgIGZ1bmN0aW9uIGNvbXBhcmUocGF0aHM6IHN0cmluZ1tdLCBwYXlsb2FkPzogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKHBheWxvYWQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gcGF5bG9hZC5ldmVyeSgocGF0aCwgaSkgPT4gcGF0aHNbaV0gPT09IHBhdGgpO1xuICAgICAgfVxuICAgICAgY29uc3QgYWN0aW9ucyA9IGFjdGlvbnNGYWN0b3J5KCk7XG5cbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ3NpZGVOYXZBY3Rpb25zJywgYWN0aW9ucy5tYXAoYWN0aW9uID0+ICh7XG4gICAgICAgICAgLi4uYWN0aW9uLCBkaXNhYmxlZDogY29tcGFyZShwYXRocygpLCBhY3Rpb24/LnBheWxvYWQpLFxuICAgICAgICB9KSkpO1xuICAgICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVOYXZpZ2F0ZUVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBcHBGcmFtZVN0b3JlLkFjdGlvbklkLk5BVklHQVRFLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICByZXR1cm4gKHBheWxvYWQ6IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUocGF5bG9hZCkudGhlbigoKSA9PiBhcHAuc2lkZU5hdi5jb2xsYXBzZSgpKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVTaWduT3V0RWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuU0lHTl9PVVQsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYXV0aC5zaWduT3V0KCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgYXBwLnNpZGVOYXYuY29sbGFwc2UoKTtcbiAgICAgICAgICBhcHAuc25hY2tCYXIub3Blbign44K144Kk44Oz44Ki44Km44OI44GX44G+44GX44GfJyk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZU9wZW5TaWRlQXBwRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuT1BFTl9TSURFX0FQUCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc29sZS5kZWJ1Zygnb3BlbiBzaWRlIGFwcCcpO1xuICAgICAgICBhcHAuc2lkZUFwcC5leHBhbmQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgcHJvdmlkZVNpZ25VcFdpdGhFbWFpbEVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChBcHBGcmFtZVN0b3JlLkFjdGlvbklkLlNJR05fVVBfV0lUSF9FTUFJTCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoQXBwRnJhbWVTdG9yZSk7XG4gICAgICBjb25zdCBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBzdG9yZS5mb3JtKCkuZ2V0UmF3VmFsdWUoKSBhcyB7ZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZ307XG4gICAgICAgIGFwcC5sb2FkaW5nLmF3YWl0KCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXV0aC5jcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQoZGF0YS5lbWFpbCwgZGF0YS5wYXNzd29yZCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3Blbign5paw6KaP55m76Yyy44GX44G+44GX44Gf44CCJyk7XG4gICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVTaWduSW5XaXRoRW1haWxFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQXBwRnJhbWVTdG9yZS5BY3Rpb25JZC5TSUdOX0lOX1dJVEhfRU1BSUwsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KEFwcEZyYW1lU3RvcmUpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gc3RvcmUuZm9ybSgpLmdldFJhd1ZhbHVlKCkgYXMge2VtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmd9O1xuICAgICAgICBhcHAubG9hZGluZy5hd2FpdCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF1dGguc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQoZGF0YS5lbWFpbCwgZGF0YS5wYXNzd29yZCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBhcHAuc25hY2tCYXIub3Blbign44Ot44Kw44Kk44Oz44GX44G+44GX44GfJyk7XG4gICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVTaWduSW5XaXRoR29vZ2xlRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEFwcEZyYW1lU3RvcmUuQWN0aW9uSWQuU0lHTl9JTl9XSVRIX0dPT0dMRSwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBhdXRoLnNpZ25JbldpdGhHb29nbGUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBhcHAuc25hY2tCYXIub3Blbign44Ot44Kw44Kk44Oz44GX44G+44GX44GfJyk7XG4gICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgIGNvbnN0IF9tZXNzYWdlID0gZXJyb3IubWVzc2FnZS5tYXRjaCgvSFRUUCBDbG91ZCBGdW5jdGlvbiByZXR1cm5lZCBhbiBlcnJvcjogKC4qKSBcXCguKi8pO1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBfbWVzc2FnZSA/IEpTT04ucGFyc2UoX21lc3NhZ2VbMV0pLmVycm9yLm1lc3NhZ2UgOiBlcnJvci5tZXNzYWdlO1xuICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKG1lc3NhZ2UpO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0RWZmZWN0cygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlTmF2aWdhdGVFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZVNpZ25PdXRFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZU9wZW5TaWRlQXBwRWZmZWN0KCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVTaWduVXBXaXRoRW1haWxFZmZlY3QoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZVNpZ25JbldpdGhFbWFpbEVmZmVjdCgpLFxuICAgICAgQXBwRnJhbWVTdG9yZS5wcm92aWRlU2lnbkluV2l0aEdvb2dsZUVmZmVjdCgpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUFwcFNlcnZpY2VDb25maWcoKSxcbiAgICAgIEFwcEZyYW1lU3RvcmUucHJvdmlkZUljb25CdXR0b25NZW51QXNEZWZhdWx0Q29uZmlnKCksXG4gICAgICBBcHBGcmFtZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgIF1cbiAgfVxuXG4gIHJlYWRvbmx5IGNvbmZpZyA9IEFwcEZyYW1lU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBpc0xvYWRpbmcgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5pc0xvYWRpbmcpKTtcbiAgcmVhZG9ubHkgaXNFbnRyYW5jZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmlzRW50cmFuY2UpKTtcbiAgcmVhZG9ubHkgc2lkZUFwcE9wZW5lZCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVBcHBPcGVuZWQpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS50aXRsZSkpO1xuICByZWFkb25seSBmb3JtID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZm9ybSkpO1xuICByZWFkb25seSBlbnRyYW5jZUFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5lbnRyYW5jZUFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgc2lkZU5hdkFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zaWRlTmF2QWN0aW9ucykpO1xuICByZWFkb25seSBzaWRlTmF2TW9kZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZNb2RlKSk7XG4gIHJlYWRvbmx5IHNpZGVOYXZNZW51VHlwZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVOYXZNZW51VHlwZSkpO1xuICByZWFkb25seSBzaWRlTmF2TWVudVRpdGxlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2lkZU5hdk1lbnVUaXRsZSkpO1xuICByZWFkb25seSBzaWRlQXBwT3V0bGV0TmFtZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNpZGVBcHBPdXRsZXROYW1lKSk7XG4gIHJlYWRvbmx5IGZhYkFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mYWJBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IGZhYkhpZGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mYWJIaWRlKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBBcHBGcmFtZVN0b3JlLkluaXRpYWxpemVyLmluaXRpYWxpemVTdG9yZSh0aGlzKTtcbiAgfVxufVxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZyYW1lcy1hcHAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRmFiRnJhbWUsXG4gICAgTG9hZGluZ0ZyYW1lLFxuICAgIFNpZGVOYXZGcmFtZSxcbiAgICBSb3V0ZXJPdXRsZXQsXG4gICAgRW50cmFuY2VGcmFtZSxcbiAgICAvLyBEcmF3ZXJGcmFtZVN0b3JlLFxuICAgIERyYXdlckZyYW1lLFxuICAgIEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICA8cm91dGVyLW91dGxldC8+XG4gIEBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIoKSkge1xuICAgIEBkZWZlciB7XG4gICAgICA8dGVtcGxhdGVzLWJhY2tncm91bmQgaW5qZWN0YWJsZS8+XG4gICAgfVxuICB9XG4gIDxmcmFtZXMtbG9hZGluZyBbaXNMb2FkaW5nXT1cInN0b3JlLmlzTG9hZGluZygpXCI+XG4gICAgPGZyYW1lcy1mYWJcbiAgICAgIFthY3Rpb25zXT1cInN0b3JlLmZhYkFjdGlvbnMoKVwiXG4gICAgICBbaGlkZV09XCJzdG9yZS5mYWJIaWRlKClcIlxuICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8ZnJhbWVzLWVudHJhbmNlXG4gICAgICAgIFtpc0VudHJhbmNlXT1cInN0b3JlLmlzRW50cmFuY2UoKVwiXG4gICAgICAgIFtmb3JtXT1cInN0b3JlLmZvcm0oKVwiXG4gICAgICAgIFt0aXRsZV09XCJzdG9yZS50aXRsZSgpXCJcbiAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuZW50cmFuY2VBY3Rpb25zKClcIlxuICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8ZnJhbWVzLWRyYXdlclxuICAgICAgICAgIFtvcGVuZWRdPVwic3RvcmUuc2lkZUFwcE9wZW5lZCgpXCJcbiAgICAgICAgICBbcG9zaXRpb25dPVwiJ2VuZCdcIlxuICAgICAgICAgIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZnJhbWVzLXNpZGUtbmF2XG4gICAgICAgICAgICBbYWN0aW9uc109XCJzdG9yZS5zaWRlTmF2QWN0aW9ucygpXCJcbiAgICAgICAgICAgIFttb2RlXT1cInN0b3JlLnNpZGVOYXZNb2RlKClcIlxuICAgICAgICAgICAgW21lbnVUeXBlXT1cInN0b3JlLnNpZGVOYXZNZW51VHlwZSgpXCJcbiAgICAgICAgICAgIFttZW51VGl0bGVdPVwic3RvcmUuc2lkZU5hdk1lbnVUaXRsZSgpXCJcbiAgICAgICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgICAgICBjb250ZW50c1xuICAgICAgICAgID5cbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0IGNvbnRlbnRzLz5cbiAgICAgICAgICA8L2ZyYW1lcy1zaWRlLW5hdj5cbiAgICAgICAgICA8ZGl2IGRyYXdlciBzdHlsZT1cIndpZHRoOiB2YXIoLS1wYWdlLXdpZHRoLWx2MSk7aGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICAgICAgPHJvdXRlci1vdXRsZXQgW25hbWVdPVwic3RvcmUuc2lkZUFwcE91dGxldE5hbWUoKVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZnJhbWVzLWRyYXdlcj5cbiAgICAgIDwvZnJhbWVzLWVudHJhbmNlPlxuICAgIDwvZnJhbWVzLWZhYj5cbiAgPC9mcmFtZXMtbG9hZGluZz5cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL2FwcC5mcmFtZS5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgQXBwRnJhbWVTdG9yZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwRnJhbWUgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChBcHBGcmFtZVN0b3JlKTtcbiAgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcHJvdGVjdGVkIGlzUGxhdGZvcm1TZXJ2ZXIoKSB7XG4gICAgcmV0dXJuIGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1BsYXRmb3JtQnJvd3NlcigpIHtcbiAgICByZXR1cm4gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgfVxufVxuIl19
@@ -3,12 +3,12 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export class AutoLayoutFrame {
5
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AutoLayoutFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: AutoLayoutFrame, isStandalone: true, selector: "frames-auto-layout", ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-2psP: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-2psP: var(--vertical-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;gap:var(--gap-SCOPED-IN-auto-layout-2psP);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-2psP) 0}:host[horizontal]{flex-direction:row}:host[vertical]{flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: AutoLayoutFrame, isStandalone: true, selector: "frames-auto-layout", ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-SvM5: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-SvM5: var(--vertical-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;gap:var(--gap-SCOPED-IN-auto-layout-SvM5);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-SvM5) 0}:host[horizontal]{flex-direction:row}:host[vertical]{flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AutoLayoutFrame, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'frames-auto-layout', standalone: true, imports: [
11
11
  CommonModule,
12
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>", styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-2psP: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-2psP: var(--vertical-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;gap:var(--gap-SCOPED-IN-auto-layout-2psP);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-2psP) 0}:host[horizontal]{flex-direction:row}:host[vertical]{flex-direction:column}\n"] }]
12
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>", styles: [":host{--gap: 24px;--gap-SCOPED-IN-auto-layout-SvM5: var(--gap);--vertical-padding: 24px;--vertical-padding-SCOPED-IN-auto-layout-SvM5: var(--vertical-padding)}:host{display:flex;width:100%;height:100%;justify-content:center;gap:var(--gap-SCOPED-IN-auto-layout-SvM5);box-sizing:border-box;padding:var(--vertical-padding-SCOPED-IN-auto-layout-SvM5) 0}:host[horizontal]{flex-direction:row}:host[vertical]{flex-direction:column}\n"] }]
13
13
  }] });
14
14
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1sYXlvdXQuZnJhbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvYXV0by1sYXlvdXQvYXV0by1sYXlvdXQuZnJhbWUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi9mcmFtZXMvYXV0by1sYXlvdXQvYXV0by1sYXlvdXQuZnJhbWUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZbkUsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTtrR0FBZixlQUFlLDhFQ2I1QiwyQkFBeUIsbWVET3JCLFlBQVk7OzJGQU1ILGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxZQUFZO3FCQUNiLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnJhbWVzLWF1dG8tbGF5b3V0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG8tbGF5b3V0LmZyYW1lLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvLWxheW91dC5mcmFtZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvTGF5b3V0RnJhbWUgeyB9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+Il19
@@ -12,7 +12,7 @@ let ColumnsFrameStore = class ColumnsFrameStore extends InjectableComponent {
12
12
  this.type = input(_computed(() => this.config().type));
13
13
  }
14
14
  static { ColumnsFrameStore_1 = this; }
15
- static { this.Config = makeConfig(() => (_, context) => {
15
+ static { this.Config = makeConfig(() => (context) => {
16
16
  const getType = () => {
17
17
  switch (context.breakpoint) {
18
18
  case 'xSmall':
@@ -103,7 +103,7 @@ export class ColumnsFrame extends NgAtomicComponent {
103
103
  <ng-container [ngTemplateOutlet]="right()?.templateRef" />
104
104
  </div>
105
105
  }
106
- `, isInline: true, styles: [":host{display:block;--side-width: 360px;--side-width-SCOPED-IN-columns-2aEv: var(--side-width)}:host{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:100%}:host[type=row]{flex-direction:row;justify-content:space-between}:host[type=row] .container{width:100%}:host[type=row] .container.left{max-width:var(--side-width-SCOPED-IN-columns-2aEv)}:host[type=row] .container.right{max-width:var(--side-width-SCOPED-IN-columns-2aEv)}:host[type=column]{flex-direction:column;justify-content:flex-start}:host[type=column] .container.main{width:100%}:host[type=column] .container.left{width:100%}:host[type=column] .container.right{width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
106
+ `, isInline: true, styles: [":host{display:block;--side-width: 360px;--side-width-SCOPED-IN-columns-Wc6c: var(--side-width)}:host{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:100%}:host[type=row]{flex-direction:row;justify-content:space-between}:host[type=row] .container{width:100%}:host[type=row] .container.left{max-width:var(--side-width-SCOPED-IN-columns-Wc6c)}:host[type=row] .container.right{max-width:var(--side-width-SCOPED-IN-columns-Wc6c)}:host[type=column]{flex-direction:column;justify-content:flex-start}:host[type=column] .container.main{width:100%}:host[type=column] .container.left{width:100%}:host[type=column] .container.right{width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
107
  }
108
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ColumnsFrame, decorators: [{
109
109
  type: Component,
@@ -134,7 +134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
134
134
  }
135
135
  ], host: {
136
136
  '[attr.type]': 'store.type()',
137
- }, styles: [":host{display:block;--side-width: 360px;--side-width-SCOPED-IN-columns-2aEv: var(--side-width)}:host{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:100%}:host[type=row]{flex-direction:row;justify-content:space-between}:host[type=row] .container{width:100%}:host[type=row] .container.left{max-width:var(--side-width-SCOPED-IN-columns-2aEv)}:host[type=row] .container.right{max-width:var(--side-width-SCOPED-IN-columns-2aEv)}:host[type=column]{flex-direction:column;justify-content:flex-start}:host[type=column] .container.main{width:100%}:host[type=column] .container.left{width:100%}:host[type=column] .container.right{width:100%}\n"] }]
137
+ }, styles: [":host{display:block;--side-width: 360px;--side-width-SCOPED-IN-columns-Wc6c: var(--side-width)}:host{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:100%}:host[type=row]{flex-direction:row;justify-content:space-between}:host[type=row] .container{width:100%}:host[type=row] .container.left{max-width:var(--side-width-SCOPED-IN-columns-Wc6c)}:host[type=row] .container.right{max-width:var(--side-width-SCOPED-IN-columns-Wc6c)}:host[type=column]{flex-direction:column;justify-content:flex-start}:host[type=column] .container.main{width:100%}:host[type=column] .container.left{width:100%}:host[type=column] .container.right{width:100%}\n"] }]
138
138
  }] });
139
139
  export class ColumnsFrameModule {
140
140
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ColumnsFrameModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -160,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
160
160
  ]
161
161
  }]
162
162
  }] });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5mcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2ZyYW1lcy9jb2x1bW5zL2NvbHVtbnMuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJNUYsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxtQkFBbUI7SUFBbkQ7O1FBV0ksV0FBTSxHQUFHLG1CQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQyxTQUFJLEdBQUcsS0FBSyxDQUFtQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDOUU7O2FBWmlCLFdBQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDdkQsTUFBTSxPQUFPLEdBQUcsR0FBcUIsRUFBRTtZQUNyQyxRQUFRLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQzFCLEtBQUssUUFBUSxDQUFDO2dCQUNkLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxRQUFRLENBQUM7Z0JBQzlC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QkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLFlBeEJsQixZQUFZLEVBNURaLFVBQVUsRUFVVixVQUFVLEVBT1YsV0FBVyxhQTJDWCxZQUFZLEVBNURaLFVBQVUsRUFVVixVQUFVLEVBT1YsV0FBVzsrR0FtRVgsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQWhCOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixVQUFVO3dCQUNWLFdBQVc7cUJBQ1o7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIE5nTW9kdWxlLCBQTEFURk9STV9JRCwgVGVtcGxhdGVSZWYsIGNvbnRlbnRDaGlsZCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFrZUNvbmZpZyB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBUb2tlbml6ZWRUeXBlLCBfY29tcHV0ZWQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuXG5AVG9rZW5pemVkVHlwZSgpXG5ARGlyZWN0aXZlKHtzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ2ZyYW1lcy1jb2x1bW5zJ30pXG5leHBvcnQgY2xhc3MgQ29sdW1uc0ZyYW1lU3RvcmUgZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IENvbmZpZyA9IG1ha2VDb25maWcoKCkgPT4gKF8sIGNvbnRleHQpID0+IHtcbiAgICBjb25zdCBnZXRUeXBlID0gKCk6ICdyb3cnIHwgJ2NvbHVtbicgPT4ge1xuICAgICAgc3dpdGNoIChjb250ZXh0LmJyZWFrcG9pbnQpIHtcbiAgICAgICAgY2FzZSAneFNtYWxsJzpcbiAgICAgICAgY2FzZSAnc21hbGwnOiByZXR1cm4gJ2NvbHVtbic7XG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiAncm93JztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgdHlwZTogZ2V0VHlwZSgpIH07XG4gIH0sIFsnY29tcG9uZW50cycsICdmcmFtZXMnLCAnY29sdW1ucyddKTtcbiAgcmVhZG9ubHkgY29uZmlnID0gQ29sdW1uc0ZyYW1lU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8J3JvdycgfCAnY29sdW1uJz4oX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudHlwZSkpO1xufVxuXG5ARGlyZWN0aXZlKHtzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ1tsZWZ0XSwgW2xlZnRDb2x1bW5dJ30pXG5leHBvcnQgY2xhc3MgTGVmdENvbHVtbiB7XG4gIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICByZWFkb25seSBpc1BsYXRmb3JtQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPHVua25vd24+KVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbbWFpbl0sIFttYWluQ29sdW1uXScsXG59KVxuZXhwb3J0IGNsYXNzIE1haW5Db2x1bW4ge1xuICByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcmVhZG9ubHkgaXNQbGF0Zm9ybUJyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjx1bmtub3duPilcbn1cblxuQERpcmVjdGl2ZSh7c3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdbcmlnaHRdLCBbcmlnaHRDb2x1bW5dJ30pXG5leHBvcnQgY2xhc3MgUmlnaHRDb2x1bW4ge1xuICByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcmVhZG9ubHkgaXNQbGF0Zm9ybUJyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjx1bmtub3duPilcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnJhbWVzLWNvbHVtbnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYobGVmdCgpPy50ZW1wbGF0ZVJlZiAmJiBsZWZ0KCk/LmlzUGxhdGZvcm1Ccm93c2VyKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdCBjb250YWluZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0KCk/LnRlbXBsYXRlUmVmXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAobWFpbigpPy50ZW1wbGF0ZVJlZiAmJiBtYWluKCk/LmlzUGxhdGZvcm1Ccm93c2VyKSB7XG4gICAgICA8bWFpbiBjbGFzcz1cIm1haW4gY29udGFpbmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpbigpPy50ZW1wbGF0ZVJlZlwiIC8+XG4gICAgICA8L21haW4+XG4gICAgfVxuICAgIFxuICAgIEBpZiAocmlnaHQoKT8udGVtcGxhdGVSZWYgJiYgcmlnaHQoKT8uaXNQbGF0Zm9ybUJyb3dzZXIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCBjb250YWluZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodCgpPy50ZW1wbGF0ZVJlZlwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi9jb2x1bW5zLmZyYW1lLnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IENvbHVtbnNGcmFtZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbJ3R5cGUnXSxcbiAgICB9XG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIudHlwZV0nOiAnc3RvcmUudHlwZSgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uc0ZyYW1lIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChDb2x1bW5zRnJhbWVTdG9yZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsZWZ0ID0gY29udGVudENoaWxkKExlZnRDb2x1bW4pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFpbiA9IGNvbnRlbnRDaGlsZChNYWluQ29sdW1uKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJpZ2h0ID0gY29udGVudENoaWxkKFJpZ2h0Q29sdW1uKTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC8vIENvbHVtbnNGcmFtZVN0b3JlLFxuICAgIENvbHVtbnNGcmFtZSxcbiAgICBMZWZ0Q29sdW1uLFxuICAgIE1haW5Db2x1bW4sXG4gICAgUmlnaHRDb2x1bW4sXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAvLyBDb2x1bW5zRnJhbWVTdG9yZSxcbiAgICBDb2x1bW5zRnJhbWUsXG4gICAgTGVmdENvbHVtbixcbiAgICBNYWluQ29sdW1uLFxuICAgIFJpZ2h0Q29sdW1uLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbnNGcmFtZU1vZHVsZSB7IH1cbiJdfQ==
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5mcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL2ZyYW1lcy9jb2x1bW5zL2NvbHVtbnMuZnJhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJNUYsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxtQkFBbUI7SUFBbkQ7O1FBV0ksV0FBTSxHQUFHLG1CQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQyxTQUFJLEdBQUcsS0FBSyxDQUFtQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDOUU7O2FBWmlCLFdBQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNwRCxNQUFNLE9BQU8sR0FBRyxHQUFxQixFQUFFO1lBQ3JDLFFBQVEsT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDMUIsS0FBSyxRQUFRLENBQUM7Z0JBQ2QsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQztnQkFDOUIsT0FBTyxDQUFD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bEIsa0JBQWtCOytHQUFsQixrQkFBa0IsWUF4QmxCLFlBQVksRUE1RFosVUFBVSxFQVVWLFVBQVUsRUFPVixXQUFXLGFBMkNYLFlBQVksRUE1RFosVUFBVSxFQVVWLFVBQVUsRUFPVixXQUFXOytHQW1FWCxrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBaEI5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixVQUFVO3dCQUNWLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjt3QkFDckIsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsV0FBVztxQkFDWjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERpcmVjdGl2ZSwgTmdNb2R1bGUsIFBMQVRGT1JNX0lELCBUZW1wbGF0ZVJlZiwgY29udGVudENoaWxkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYWtlQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQsIFRva2VuaXplZFR5cGUsIF9jb21wdXRlZCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5cbkBUb2tlbml6ZWRUeXBlKClcbkBEaXJlY3RpdmUoe3N0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnZnJhbWVzLWNvbHVtbnMnfSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5zRnJhbWVTdG9yZSBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gbWFrZUNvbmZpZygoKSA9PiAoY29udGV4dCkgPT4ge1xuICAgIGNvbnN0IGdldFR5cGUgPSAoKTogJ3JvdycgfCAnY29sdW1uJyA9PiB7XG4gICAgICBzd2l0Y2ggKGNvbnRleHQuYnJlYWtwb2ludCkge1xuICAgICAgICBjYXNlICd4U21hbGwnOlxuICAgICAgICBjYXNlICdzbWFsbCc6IHJldHVybiAnY29sdW1uJztcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuICdyb3cnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyB0eXBlOiBnZXRUeXBlKCkgfTtcbiAgfSwgWydjb21wb25lbnRzJywgJ2ZyYW1lcycsICdjb2x1bW5zJ10pO1xuICByZWFkb25seSBjb25maWcgPSBDb2x1bW5zRnJhbWVTdG9yZS5Db25maWcuaW5qZWN0KCk7XG4gIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDwncm93JyB8ICdjb2x1bW4nPihfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS50eXBlKSk7XG59XG5cbkBEaXJlY3RpdmUoe3N0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnW2xlZnRdLCBbbGVmdENvbHVtbl0nfSlcbmV4cG9ydCBjbGFzcyBMZWZ0Q29sdW1uIHtcbiAgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHJlYWRvbmx5IGlzUGxhdGZvcm1Ccm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8dW5rbm93bj4pXG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1ttYWluXSwgW21haW5Db2x1bW5dJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFpbkNvbHVtbiB7XG4gIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICByZWFkb25seSBpc1BsYXRmb3JtQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPHVua25vd24+KVxufVxuXG5ARGlyZWN0aXZlKHtzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ1tyaWdodF0sIFtyaWdodENvbHVtbl0nfSlcbmV4cG9ydCBjbGFzcyBSaWdodENvbHVtbiB7XG4gIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICByZWFkb25seSBpc1BsYXRmb3JtQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPHVua25vd24+KVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcmFtZXMtY29sdW1ucycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZihsZWZ0KCk/LnRlbXBsYXRlUmVmICYmIGxlZnQoKT8uaXNQbGF0Zm9ybUJyb3dzZXIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IGNvbnRhaW5lclwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxlZnQoKT8udGVtcGxhdGVSZWZcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChtYWluKCk/LnRlbXBsYXRlUmVmICYmIG1haW4oKT8uaXNQbGF0Zm9ybUJyb3dzZXIpIHtcbiAgICAgIDxtYWluIGNsYXNzPVwibWFpbiBjb250YWluZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtYWluKCk/LnRlbXBsYXRlUmVmXCIgLz5cbiAgICAgIDwvbWFpbj5cbiAgICB9XG4gICAgXG4gICAgQGlmIChyaWdodCgpPy50ZW1wbGF0ZVJlZiAmJiByaWdodCgpPy5pc1BsYXRmb3JtQnJvd3Nlcikge1xuICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IGNvbnRhaW5lclwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0KCk/LnRlbXBsYXRlUmVmXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL2NvbHVtbnMuZnJhbWUuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogQ29sdW1uc0ZyYW1lU3RvcmUsXG4gICAgICBpbnB1dHM6IFsndHlwZSddLFxuICAgIH1cbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci50eXBlXSc6ICdzdG9yZS50eXBlKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5zRnJhbWUgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KENvbHVtbnNGcmFtZVN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxlZnQgPSBjb250ZW50Q2hpbGQoTGVmdENvbHVtbik7XG4gIHByb3RlY3RlZCByZWFkb25seSBtYWluID0gY29udGVudENoaWxkKE1haW5Db2x1bW4pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmlnaHQgPSBjb250ZW50Q2hpbGQoUmlnaHRDb2x1bW4pO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLy8gQ29sdW1uc0ZyYW1lU3RvcmUsXG4gICAgQ29sdW1uc0ZyYW1lLFxuICAgIExlZnRDb2x1bW4sXG4gICAgTWFpbkNvbHVtbixcbiAgICBSaWdodENvbHVtbixcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC8vIENvbHVtbnNGcmFtZVN0b3JlLFxuICAgIENvbHVtbnNGcmFtZSxcbiAgICBMZWZ0Q29sdW1uLFxuICAgIE1haW5Db2x1bW4sXG4gICAgUmlnaHRDb2x1bW4sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uc0ZyYW1lTW9kdWxlIHsgfVxuIl19