@seniorsistemas/angular-components 19.8.0 → 19.9.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 (79) hide show
  1. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +2 -1
  2. package/code-editor/lib/code-editor/core/facades/core-facade.d.ts +3 -1
  3. package/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +12 -2
  4. package/drawer/README.md +119 -0
  5. package/drawer/index.d.ts +5 -0
  6. package/{sidebar/lib/sidebar/sidebar.component.d.ts → drawer/lib/drawer/drawer.component.d.ts} +18 -15
  7. package/drawer/lib/drawer/drawer.module.d.ts +8 -0
  8. package/drawer/public-api.d.ts +2 -0
  9. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +6 -3
  10. package/esm2022/code-editor/lib/code-editor/core/facades/core-facade.mjs +7 -1
  11. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.mjs +47 -22
  12. package/esm2022/drawer/lib/drawer/drawer.component.mjs +192 -0
  13. package/esm2022/drawer/lib/drawer/drawer.module.mjs +17 -0
  14. package/esm2022/drawer/public-api.mjs +3 -0
  15. package/esm2022/drawer/seniorsistemas-angular-components-drawer.mjs +5 -0
  16. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +4 -5
  17. package/esm2022/lib/locale/fallback.mjs +3 -2
  18. package/esm2022/select/lib/select/select.component.mjs +11 -14
  19. package/esm2022/side-sheet/lib/side-sheet/models/side-sheet-config.mjs +2 -0
  20. package/esm2022/side-sheet/lib/side-sheet/models/side-sheet-size.mjs +2 -0
  21. package/esm2022/side-sheet/lib/side-sheet/services/side-sheet.service.mjs +82 -0
  22. package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +171 -0
  23. package/esm2022/side-sheet/public-api.mjs +3 -0
  24. package/esm2022/side-sheet/seniorsistemas-angular-components-side-sheet.mjs +5 -0
  25. package/esm2022/sidebar/public-api.mjs +12 -3
  26. package/esm2022/switch/lib/switch/switch.component.mjs +5 -3
  27. package/esm2022/switch/lib/switch/switch.module.mjs +2 -2
  28. package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +4 -3
  29. package/esm2022/tabs/lib/tabs/tabs.component.mjs +14 -10
  30. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +82 -75
  31. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
  32. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +35 -18
  33. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.mjs +2 -1
  34. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +89 -77
  35. package/esm2022/toast/lib/toast/toast.service.mjs +2 -2
  36. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +5 -2
  37. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  38. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +52 -21
  39. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  40. package/fesm2022/seniorsistemas-angular-components-drawer.mjs +211 -0
  41. package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -0
  42. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +3 -4
  43. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  44. package/fesm2022/seniorsistemas-angular-components-select.mjs +10 -13
  45. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  46. package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +257 -0
  47. package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -0
  48. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +10 -180
  49. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  50. package/fesm2022/seniorsistemas-angular-components-switch.mjs +5 -3
  51. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  52. package/fesm2022/seniorsistemas-angular-components-tabs.mjs +16 -11
  53. package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
  54. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +201 -164
  55. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  56. package/fesm2022/seniorsistemas-angular-components-toast.mjs +1 -1
  57. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  58. package/fesm2022/seniorsistemas-angular-components.mjs +2 -1
  59. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  60. package/package.json +19 -7
  61. package/select/lib/select/select.component.d.ts +2 -1
  62. package/side-sheet/README.md +184 -0
  63. package/side-sheet/index.d.ts +5 -0
  64. package/side-sheet/lib/side-sheet/models/side-sheet-config.d.ts +20 -0
  65. package/side-sheet/lib/side-sheet/models/side-sheet-size.d.ts +1 -0
  66. package/side-sheet/lib/side-sheet/services/side-sheet.service.d.ts +49 -0
  67. package/side-sheet/lib/side-sheet/side-sheet.component.d.ts +61 -0
  68. package/side-sheet/public-api.d.ts +4 -0
  69. package/sidebar/README.md +20 -93
  70. package/sidebar/public-api.d.ts +11 -2
  71. package/tabs/lib/tab-item/tab-item.component.d.ts +1 -0
  72. package/tabs/lib/tabs/tabs.component.d.ts +2 -1
  73. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +19 -7
  74. package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +4 -3
  75. package/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.d.ts +1 -0
  76. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +6 -5
  77. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +0 -169
  78. package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +0 -17
  79. package/sidebar/lib/sidebar/sidebar.module.d.ts +0 -8
@@ -0,0 +1,82 @@
1
+ import { Injectable, inject, isDevMode, signal } from '@angular/core';
2
+ import { NavigationStart, Router } from '@angular/router';
3
+ import { filter } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * @description Controla remotamente a única instância de `s-side-sheet` da aplicação —
7
+ * declarada uma vez no shell do app (ex: em `app.component.html`, logo abaixo da topbar), sem
8
+ * nenhum input — a partir de qualquer componente de rota.
9
+ *
10
+ * O componente que solicita a abertura declara seu próprio `<ng-template>` e passa o
11
+ * `TemplateRef` correspondente; o `s-side-sheet` do shell projeta esse template internamente.
12
+ * Fecha automaticamente a cada navegação de rota — tanto por UX (não deixar conteúdo de uma
13
+ * página antiga empurrando uma página nova) quanto por segurança técnica (o `TemplateRef`
14
+ * pertence a um componente que a navegação pode destruir).
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * private readonly sideSheetService = inject(SideSheetService);
19
+ * private readonly panelBody = viewChild<TemplateRef<unknown>>('panelBody');
20
+ *
21
+ * protected selectOrder(order: Order): void {
22
+ * this.sideSheetService.open({ header: order.number, template: this.panelBody()! });
23
+ * }
24
+ * ```
25
+ */
26
+ export class SideSheetService {
27
+ _header = signal('');
28
+ _template = signal(null);
29
+ _context = signal(undefined);
30
+ _size = signal('default');
31
+ _mountedInstanceCount = 0;
32
+ /** @description Visibilidade do painel. Controlada internamente pelo `s-side-sheet`. */
33
+ visible = signal(false);
34
+ header = this._header.asReadonly();
35
+ template = this._template.asReadonly();
36
+ context = this._context.asReadonly();
37
+ size = this._size.asReadonly();
38
+ constructor() {
39
+ const router = inject(Router, { optional: true });
40
+ router?.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => this.close());
41
+ }
42
+ /** @description Abre (ou atualiza, se já aberto) o painel com o cabeçalho e o template informados. */
43
+ open(config) {
44
+ if (this._mountedInstanceCount === 0 && isDevMode()) {
45
+ console.warn('[SideSheetService] open() foi chamado, mas nenhum <s-side-sheet> está montado ' +
46
+ 'no shell do app. Declare um em app.component.html.');
47
+ }
48
+ this._header.set(config.header);
49
+ this._template.set(config.template);
50
+ this._context.set(config.context);
51
+ this._size.set(config.size ?? 'default');
52
+ this.visible.set(true);
53
+ }
54
+ /** @description Fecha o painel e limpa o cabeçalho, template, contexto e tamanho armazenados. */
55
+ close() {
56
+ this.visible.set(false);
57
+ this._header.set('');
58
+ this._template.set(null);
59
+ this._context.set(undefined);
60
+ this._size.set('default');
61
+ }
62
+ /** @internal Chamado por SideSheetComponent ao ser criado. */
63
+ _registerInstance() {
64
+ if (this._mountedInstanceCount > 0 && isDevMode()) {
65
+ throw new Error('[SideSheetComponent] Já existe uma instância montada nesta aplicação. ' +
66
+ 'Declare <s-side-sheet> uma única vez, no ponto mais alto da árvore ' +
67
+ '(ex: app.component.html).');
68
+ }
69
+ this._mountedInstanceCount++;
70
+ }
71
+ /** @internal Chamado por SideSheetComponent ao ser destruído. */
72
+ _unregisterInstance() {
73
+ this._mountedInstanceCount = Math.max(0, this._mountedInstanceCount - 1);
74
+ }
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SideSheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
76
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SideSheetService, providedIn: 'root' });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SideSheetService, decorators: [{
79
+ type: Injectable,
80
+ args: [{ providedIn: 'root' }]
81
+ }], ctorParameters: () => [] });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NpZGUtc2hlZXQvc3JjL2xpYi9zaWRlLXNoZWV0L3NlcnZpY2VzL3NpZGUtc2hlZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFlLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsTUFBTSxPQUFPLGdCQUFnQjtJQUNSLE9BQU8sR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckIsU0FBUyxHQUFHLE1BQU0sQ0FBOEIsSUFBSSxDQUFDLENBQUM7SUFDdEQsUUFBUSxHQUFHLE1BQU0sQ0FBVSxTQUFTLENBQUMsQ0FBQztJQUN0QyxLQUFLLEdBQUcsTUFBTSxDQUFnQixTQUFTLENBQUMsQ0FBQztJQUNsRCxxQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFFbEMsd0ZBQXdGO0lBQ3hFLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFL0M7UUFDSSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVELHNHQUFzRztJQUMvRixJQUFJLENBQUksTUFBMEI7UUFDckMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssQ0FBQyxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDbEQsT0FBTyxDQUFDLElBQUksQ0FDUixnRkFBZ0Y7Z0JBQzVFLG9EQUFvRCxDQUMzRCxDQUFDO1FBQ04sQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBZ0MsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxpR0FBaUc7SUFDMUYsS0FBSztRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCw4REFBOEQ7SUFDdkQsaUJBQWlCO1FBQ3BCLElBQUksSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQ1gsd0VBQXdFO2dCQUNwRSxxRUFBcUU7Z0JBQ3JFLDJCQUEyQixDQUNsQyxDQUFDO1FBQ04sQ0FBQztRQUNELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxpRUFBaUU7SUFDMUQsbUJBQW1CO1FBQ3RCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzt3R0EzRFEsZ0JBQWdCOzRHQUFoQixnQkFBZ0IsY0FESCxNQUFNOzs0RkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFRlbXBsYXRlUmVmLCBpbmplY3QsIGlzRGV2TW9kZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTaWRlU2hlZXRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvc2lkZS1zaGVldC1jb25maWcnO1xuaW1wb3J0IHsgU2lkZVNoZWV0U2l6ZSB9IGZyb20gJy4uL21vZGVscy9zaWRlLXNoZWV0LXNpemUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb250cm9sYSByZW1vdGFtZW50ZSBhIMO6bmljYSBpbnN0w6JuY2lhIGRlIGBzLXNpZGUtc2hlZXRgIGRhIGFwbGljYcOnw6NvIOKAlFxuICogZGVjbGFyYWRhIHVtYSB2ZXogbm8gc2hlbGwgZG8gYXBwIChleDogZW0gYGFwcC5jb21wb25lbnQuaHRtbGAsIGxvZ28gYWJhaXhvIGRhIHRvcGJhciksIHNlbVxuICogbmVuaHVtIGlucHV0IOKAlCBhIHBhcnRpciBkZSBxdWFscXVlciBjb21wb25lbnRlIGRlIHJvdGEuXG4gKlxuICogTyBjb21wb25lbnRlIHF1ZSBzb2xpY2l0YSBhIGFiZXJ0dXJhIGRlY2xhcmEgc2V1IHByw7NwcmlvIGA8bmctdGVtcGxhdGU+YCBlIHBhc3NhIG9cbiAqIGBUZW1wbGF0ZVJlZmAgY29ycmVzcG9uZGVudGU7IG8gYHMtc2lkZS1zaGVldGAgZG8gc2hlbGwgcHJvamV0YSBlc3NlIHRlbXBsYXRlIGludGVybmFtZW50ZS5cbiAqIEZlY2hhIGF1dG9tYXRpY2FtZW50ZSBhIGNhZGEgbmF2ZWdhw6fDo28gZGUgcm90YSDigJQgdGFudG8gcG9yIFVYIChuw6NvIGRlaXhhciBjb250ZcO6ZG8gZGUgdW1hXG4gKiBww6FnaW5hIGFudGlnYSBlbXB1cnJhbmRvIHVtYSBww6FnaW5hIG5vdmEpIHF1YW50byBwb3Igc2VndXJhbsOnYSB0w6ljbmljYSAobyBgVGVtcGxhdGVSZWZgXG4gKiBwZXJ0ZW5jZSBhIHVtIGNvbXBvbmVudGUgcXVlIGEgbmF2ZWdhw6fDo28gcG9kZSBkZXN0cnVpcikuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHByaXZhdGUgcmVhZG9ubHkgc2lkZVNoZWV0U2VydmljZSA9IGluamVjdChTaWRlU2hlZXRTZXJ2aWNlKTtcbiAqIHByaXZhdGUgcmVhZG9ubHkgcGFuZWxCb2R5ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigncGFuZWxCb2R5Jyk7XG4gKlxuICogcHJvdGVjdGVkIHNlbGVjdE9yZGVyKG9yZGVyOiBPcmRlcik6IHZvaWQge1xuICogICAgIHRoaXMuc2lkZVNoZWV0U2VydmljZS5vcGVuKHsgaGVhZGVyOiBvcmRlci5udW1iZXIsIHRlbXBsYXRlOiB0aGlzLnBhbmVsQm9keSgpISB9KTtcbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNpZGVTaGVldFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hlYWRlciA9IHNpZ25hbCgnJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGVtcGxhdGUgPSBzaWduYWw8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZXh0ID0gc2lnbmFsPHVua25vd24+KHVuZGVmaW5lZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfc2l6ZSA9IHNpZ25hbDxTaWRlU2hlZXRTaXplPignZGVmYXVsdCcpO1xuICAgIHByaXZhdGUgX21vdW50ZWRJbnN0YW5jZUNvdW50ID0gMDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVmlzaWJpbGlkYWRlIGRvIHBhaW5lbC4gQ29udHJvbGFkYSBpbnRlcm5hbWVudGUgcGVsbyBgcy1zaWRlLXNoZWV0YC4gKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdmlzaWJsZSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGhlYWRlciA9IHRoaXMuX2hlYWRlci5hc1JlYWRvbmx5KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlID0gdGhpcy5fdGVtcGxhdGUuYXNSZWFkb25seSgpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0ID0gdGhpcy5fY29udGV4dC5hc1JlYWRvbmx5KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHNpemUgPSB0aGlzLl9zaXplLmFzUmVhZG9ubHkoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgICAgICByb3V0ZXI/LmV2ZW50cy5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBBYnJlIChvdSBhdHVhbGl6YSwgc2UgasOhIGFiZXJ0bykgbyBwYWluZWwgY29tIG8gY2FiZcOnYWxobyBlIG8gdGVtcGxhdGUgaW5mb3JtYWRvcy4gKi9cbiAgICBwdWJsaWMgb3BlbjxUPihjb25maWc6IFNpZGVTaGVldENvbmZpZzxUPik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbW91bnRlZEluc3RhbmNlQ291bnQgPT09IDAgJiYgaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnW1NpZGVTaGVldFNlcnZpY2VdIG9wZW4oKSBmb2kgY2hhbWFkbywgbWFzIG5lbmh1bSA8cy1zaWRlLXNoZWV0PiBlc3TDoSBtb250YWRvICcgK1xuICAgICAgICAgICAgICAgICAgICAnbm8gc2hlbGwgZG8gYXBwLiBEZWNsYXJlIHVtIGVtIGFwcC5jb21wb25lbnQuaHRtbC4nLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2hlYWRlci5zZXQoY29uZmlnLmhlYWRlcik7XG4gICAgICAgIHRoaXMuX3RlbXBsYXRlLnNldChjb25maWcudGVtcGxhdGUgYXMgVGVtcGxhdGVSZWY8dW5rbm93bj4pO1xuICAgICAgICB0aGlzLl9jb250ZXh0LnNldChjb25maWcuY29udGV4dCk7XG4gICAgICAgIHRoaXMuX3NpemUuc2V0KGNvbmZpZy5zaXplID8/ICdkZWZhdWx0Jyk7XG4gICAgICAgIHRoaXMudmlzaWJsZS5zZXQodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBGZWNoYSBvIHBhaW5lbCBlIGxpbXBhIG8gY2FiZcOnYWxobywgdGVtcGxhdGUsIGNvbnRleHRvIGUgdGFtYW5obyBhcm1hemVuYWRvcy4gKi9cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlzaWJsZS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLl9oZWFkZXIuc2V0KCcnKTtcbiAgICAgICAgdGhpcy5fdGVtcGxhdGUuc2V0KG51bGwpO1xuICAgICAgICB0aGlzLl9jb250ZXh0LnNldCh1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLl9zaXplLnNldCgnZGVmYXVsdCcpO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgQ2hhbWFkbyBwb3IgU2lkZVNoZWV0Q29tcG9uZW50IGFvIHNlciBjcmlhZG8uICovXG4gICAgcHVibGljIF9yZWdpc3Rlckluc3RhbmNlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbW91bnRlZEluc3RhbmNlQ291bnQgPiAwICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgJ1tTaWRlU2hlZXRDb21wb25lbnRdIErDoSBleGlzdGUgdW1hIGluc3TDom5jaWEgbW9udGFkYSBuZXN0YSBhcGxpY2HDp8Ojby4gJyArXG4gICAgICAgICAgICAgICAgICAgICdEZWNsYXJlIDxzLXNpZGUtc2hlZXQ+IHVtYSDDum5pY2EgdmV6LCBubyBwb250byBtYWlzIGFsdG8gZGEgw6Fydm9yZSAnICtcbiAgICAgICAgICAgICAgICAgICAgJyhleDogYXBwLmNvbXBvbmVudC5odG1sKS4nLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9tb3VudGVkSW5zdGFuY2VDb3VudCsrO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgQ2hhbWFkbyBwb3IgU2lkZVNoZWV0Q29tcG9uZW50IGFvIHNlciBkZXN0cnXDrWRvLiAqL1xuICAgIHB1YmxpYyBfdW5yZWdpc3Rlckluc3RhbmNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tb3VudGVkSW5zdGFuY2VDb3VudCA9IE1hdGgubWF4KDAsIHRoaXMuX21vdW50ZWRJbnN0YW5jZUNvdW50IC0gMSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,171 @@
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import { animate, style, transition, trigger } from '@angular/animations';
3
+ import { CdkTrapFocus } from '@angular/cdk/a11y';
4
+ import { Component, DestroyRef, computed, effect, inject, signal, untracked, viewChild } from '@angular/core';
5
+ import { disableScroll, enableScroll, randomHash } from '@seniorsistemas/angular-components/utils';
6
+ import { SideSheetService } from './services/side-sheet.service';
7
+ import * as i0 from "@angular/core";
8
+ /** Mantida em sincronia com o breakpoint `[@media(min-width:1024px)]` usado no template e em `panelWidthClasses`. */
9
+ const OVERLAY_QUERY = '(min-width: 1024px)';
10
+ /**
11
+ * @description Painel que empurra o conteúdo adjacente para a esquerda, dividindo o espaço
12
+ * horizontal com ele — sem escurecer a tela e sem sobrepor o conteúdo, no modo desktop
13
+ * (>= 1024px). Abaixo de 1024px o painel passa a funcionar como um overlay em tela cheia,
14
+ * com fundo escurecido, igual a um Drawer.
15
+ *
16
+ * Fecha somente pelo botão de fechar (X) do cabeçalho — não há fechamento por tecla Escape
17
+ * ou clique fora, em nenhuma resolução. Essa é uma decisão de produto deliberada: o conteúdo
18
+ * por trás do painel permanece interativo (filtros, dropdowns, autocomplete) e um atalho
19
+ * global de Escape entraria em conflito com outros overlays já abertos sobre esse conteúdo.
20
+ *
21
+ * Sem inputs: é uma instância **única** por aplicação, declarada uma vez no shell do app (ex:
22
+ * `app.component.html`, logo abaixo da topbar) e controlada remotamente por
23
+ * `SideSheetService.open()`/`close()` a partir de qualquer componente de rota. Uma segunda
24
+ * instância montada simultaneamente lança um erro em modo de desenvolvimento. O conteúdo
25
+ * projetado dentro do `<s-side-sheet>` é o conteúdo principal da página (ex: o
26
+ * `router-outlet`), empurrado pelo painel quando ele abre.
27
+ *
28
+ * @example
29
+ * ```html
30
+ * <!-- app.component.html -->
31
+ * <s-side-sheet>
32
+ * <router-outlet />
33
+ * </s-side-sheet>
34
+ * ```
35
+ * ```typescript
36
+ * // pedidos.component.ts
37
+ * private readonly sideSheetService = inject(SideSheetService);
38
+ * private readonly panelBody = viewChild<TemplateRef<unknown>>('panelBody');
39
+ *
40
+ * protected selecionarPedido(pedido: Pedido): void {
41
+ * this.sideSheetService.open({ header: pedido.numero, template: this.panelBody()! });
42
+ * }
43
+ * ```
44
+ *
45
+ * @category Overlay
46
+ */
47
+ export class SideSheetComponent {
48
+ sideSheetService = inject(SideSheetService);
49
+ /** @description Id único usado para associar o título ao painel via `aria-labelledby`. */
50
+ titleId = randomHash('side-sheet-title');
51
+ titleRef = viewChild('titleRef');
52
+ isDesktopViewport = signal(this._matchesDesktop());
53
+ /** @description `true` quando o painel funciona como overlay em tela cheia (< 1024px). */
54
+ isOverlayMode = computed(() => !this.isDesktopViewport());
55
+ animationMode = computed(() => this.isOverlayMode() ? 'overlay' : 'push');
56
+ /**
57
+ * @description Largura do painel no modo push, por breakpoint. `half` só passa a ser
58
+ * fluido a partir de 1366px — entre 1024–1365px herda os mesmos 400px do `default`
59
+ * (conversão de "Half" para "Default" descrita na especificação de produto).
60
+ */
61
+ panelWidthClasses = computed(() => this.sideSheetService.size() === 'half'
62
+ ? '[@media(min-width:1024px)]:w-[400px] [@media(min-width:1366px)]:w-[max(400px,50vw)]'
63
+ : '[@media(min-width:1024px)]:w-[400px] [@media(min-width:1920px)]:w-[480px] [@media(min-width:2560px)]:w-[560px] [@media(min-width:3440px)]:w-[640px]');
64
+ _elementToRefocus = null;
65
+ constructor() {
66
+ const destroyRef = inject(DestroyRef);
67
+ this.sideSheetService._registerInstance();
68
+ destroyRef.onDestroy(() => this.sideSheetService._unregisterInstance());
69
+ if (typeof window !== 'undefined' && typeof window.matchMedia === 'function') {
70
+ const mediaQueryList = window.matchMedia(OVERLAY_QUERY);
71
+ const listener = (event) => this.isDesktopViewport.set(event.matches);
72
+ mediaQueryList.addEventListener('change', listener);
73
+ destroyRef.onDestroy(() => mediaQueryList.removeEventListener('change', listener));
74
+ }
75
+ effect(() => {
76
+ const shouldLockScroll = this.sideSheetService.visible() && this.isOverlayMode();
77
+ if (shouldLockScroll) {
78
+ disableScroll();
79
+ }
80
+ else {
81
+ enableScroll();
82
+ }
83
+ });
84
+ effect(() => {
85
+ if (this.sideSheetService.visible()) {
86
+ this._elementToRefocus = document.activeElement;
87
+ if (!untracked(this.isOverlayMode)) {
88
+ queueMicrotask(() => this.titleRef()?.nativeElement.focus());
89
+ }
90
+ }
91
+ else {
92
+ this._elementToRefocus?.focus();
93
+ this._elementToRefocus = null;
94
+ }
95
+ });
96
+ destroyRef.onDestroy(() => enableScroll());
97
+ }
98
+ closeSideSheet() {
99
+ this.sideSheetService.close();
100
+ }
101
+ _matchesDesktop() {
102
+ return typeof window !== 'undefined' && typeof window.matchMedia === 'function'
103
+ ? window.matchMedia(OVERLAY_QUERY).matches
104
+ : true;
105
+ }
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SideSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SideSheetComponent, isStandalone: true, selector: "s-side-sheet", host: { classAttribute: "block h-full w-full flex-1 min-h-0" }, viewQueries: [{ propertyName: "titleRef", first: true, predicate: ["titleRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"side-sheet relative flex h-full w-full\">\n <div class=\"side-sheet__content min-w-0 flex-1 overflow-auto\">\n <ng-content></ng-content>\n </div>\n\n @if (sideSheetService.visible()) {\n @if (isOverlayMode()) {\n <div class=\"side-sheet__backdrop absolute inset-0 z-20 bg-[rgba(0,0,0,0.5)]\" @backdropVisibility></div>\n }\n\n <aside\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"isOverlayMode()\"\n [@panelVisibility]=\"animationMode()\"\n class=\"side-sheet__panel z-30 flex flex-col gap-4 border-l border-grayscale-20 bg-grayscale-0 p-4 shadow-[0px_2px_4px_rgba(0,0,0,0.2),0px_1px_10px_rgba(0,0,0,0.12),0px_4px_5px_rgba(0,0,0,0.14)] absolute inset-0 w-full [@media(min-width:1024px)]:static [@media(min-width:1024px)]:inset-auto\"\n [class]=\"panelWidthClasses()\"\n [class.side-sheet__panel--half]=\"sideSheetService.size() === 'half'\"\n [attr.role]=\"isOverlayMode() ? 'dialog' : 'complementary'\"\n [attr.aria-modal]=\"isOverlayMode() ? true : null\"\n [attr.aria-labelledby]=\"titleId\"\n >\n <div class=\"side-sheet__header flex flex-col gap-3\">\n <div class=\"flex items-center gap-4\">\n <h2\n #titleRef\n [id]=\"titleId\"\n tabindex=\"-1\"\n class=\"min-w-0 flex-1 break-words font-open-sans text-base font-normal uppercase text-grayscale-90 outline-none\"\n >\n {{ sideSheetService.header() }}\n </h2>\n <button\n type=\"button\"\n class=\"flex shrink-0 cursor-pointer items-center justify-center rounded-medium border-none bg-transparent p-2 outline-none focus-visible:ring-2 focus-visible:ring-primary\"\n aria-label=\"Fechar\"\n (click)=\"closeSideSheet()\"\n >\n <i class=\"fas fa-times text-xs\" aria-hidden=\"true\"></i>\n </button>\n </div>\n <hr class=\"h-px w-full border-0 bg-grayscale-20\" />\n </div>\n\n <div class=\"side-sheet__body min-h-0 flex-1 overflow-auto\">\n <ng-container\n *ngTemplateOutlet=\"sideSheetService.template(); context: sideSheetService.context()\"\n ></ng-container>\n </div>\n </aside>\n }\n</div>\n", dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
108
+ trigger('panelVisibility', [
109
+ transition('void => push', [
110
+ style({ width: 0 }),
111
+ animate('300ms cubic-bezier(0.4, 0, 0.2, 1)', style({ width: '*' })),
112
+ ]),
113
+ transition('push => void', [
114
+ style({ width: '*' }),
115
+ animate('300ms cubic-bezier(0.4, 0, 0.2, 1)', style({ width: 0 })),
116
+ ]),
117
+ transition('void => overlay', [
118
+ style({ transform: 'translateX(100%)' }),
119
+ animate('300ms cubic-bezier(0.4, 0, 0.2, 1)', style({ transform: 'translateX(0)' })),
120
+ ]),
121
+ transition('overlay => void', [
122
+ style({ transform: 'translateX(0)' }),
123
+ animate('300ms cubic-bezier(0.4, 0, 0.2, 1)', style({ transform: 'translateX(100%)' })),
124
+ ]),
125
+ // Resize cruzando o breakpoint com o painel já aberto: não existe um tween visualmente
126
+ // coerente entre width:400px/static (push) e width:100%/absolute (overlay) — aplica o
127
+ // estado final imediatamente, sem transição residual.
128
+ transition('push => overlay', []),
129
+ transition('overlay => push', []),
130
+ ]),
131
+ trigger('backdropVisibility', [
132
+ transition(':enter', [style({ opacity: 0 }), animate('300ms ease', style({ opacity: 1 }))]),
133
+ transition(':leave', [style({ opacity: 1 }), animate('300ms ease', style({ opacity: 0 }))]),
134
+ ]),
135
+ ] });
136
+ }
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SideSheetComponent, decorators: [{
138
+ type: Component,
139
+ args: [{ selector: 's-side-sheet', standalone: true, host: {
140
+ class: 'block h-full w-full flex-1 min-h-0',
141
+ }, imports: [CdkTrapFocus, NgTemplateOutlet], animations: [
142
+ trigger('panelVisibility', [
143
+ transition('void => push', [
144
+ style({ width: 0 }),
145
+ animate('300ms cubic-bezier(0.4, 0, 0.2, 1)', style({ width: '*' })),
146
+ ]),
147
+ transition('push => void', [
148
+ style({ width: '*' }),
149
+ animate('300ms cubic-bezier(0.4, 0, 0.2, 1)', style({ width: 0 })),
150
+ ]),
151
+ transition('void => overlay', [
152
+ style({ transform: 'translateX(100%)' }),
153
+ animate('300ms cubic-bezier(0.4, 0, 0.2, 1)', style({ transform: 'translateX(0)' })),
154
+ ]),
155
+ transition('overlay => void', [
156
+ style({ transform: 'translateX(0)' }),
157
+ animate('300ms cubic-bezier(0.4, 0, 0.2, 1)', style({ transform: 'translateX(100%)' })),
158
+ ]),
159
+ // Resize cruzando o breakpoint com o painel já aberto: não existe um tween visualmente
160
+ // coerente entre width:400px/static (push) e width:100%/absolute (overlay) — aplica o
161
+ // estado final imediatamente, sem transição residual.
162
+ transition('push => overlay', []),
163
+ transition('overlay => push', []),
164
+ ]),
165
+ trigger('backdropVisibility', [
166
+ transition(':enter', [style({ opacity: 0 }), animate('300ms ease', style({ opacity: 1 }))]),
167
+ transition(':leave', [style({ opacity: 1 }), animate('300ms ease', style({ opacity: 0 }))]),
168
+ ]),
169
+ ], template: "<div class=\"side-sheet relative flex h-full w-full\">\n <div class=\"side-sheet__content min-w-0 flex-1 overflow-auto\">\n <ng-content></ng-content>\n </div>\n\n @if (sideSheetService.visible()) {\n @if (isOverlayMode()) {\n <div class=\"side-sheet__backdrop absolute inset-0 z-20 bg-[rgba(0,0,0,0.5)]\" @backdropVisibility></div>\n }\n\n <aside\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"isOverlayMode()\"\n [@panelVisibility]=\"animationMode()\"\n class=\"side-sheet__panel z-30 flex flex-col gap-4 border-l border-grayscale-20 bg-grayscale-0 p-4 shadow-[0px_2px_4px_rgba(0,0,0,0.2),0px_1px_10px_rgba(0,0,0,0.12),0px_4px_5px_rgba(0,0,0,0.14)] absolute inset-0 w-full [@media(min-width:1024px)]:static [@media(min-width:1024px)]:inset-auto\"\n [class]=\"panelWidthClasses()\"\n [class.side-sheet__panel--half]=\"sideSheetService.size() === 'half'\"\n [attr.role]=\"isOverlayMode() ? 'dialog' : 'complementary'\"\n [attr.aria-modal]=\"isOverlayMode() ? true : null\"\n [attr.aria-labelledby]=\"titleId\"\n >\n <div class=\"side-sheet__header flex flex-col gap-3\">\n <div class=\"flex items-center gap-4\">\n <h2\n #titleRef\n [id]=\"titleId\"\n tabindex=\"-1\"\n class=\"min-w-0 flex-1 break-words font-open-sans text-base font-normal uppercase text-grayscale-90 outline-none\"\n >\n {{ sideSheetService.header() }}\n </h2>\n <button\n type=\"button\"\n class=\"flex shrink-0 cursor-pointer items-center justify-center rounded-medium border-none bg-transparent p-2 outline-none focus-visible:ring-2 focus-visible:ring-primary\"\n aria-label=\"Fechar\"\n (click)=\"closeSideSheet()\"\n >\n <i class=\"fas fa-times text-xs\" aria-hidden=\"true\"></i>\n </button>\n </div>\n <hr class=\"h-px w-full border-0 bg-grayscale-20\" />\n </div>\n\n <div class=\"side-sheet__body min-h-0 flex-1 overflow-auto\">\n <ng-container\n *ngTemplateOutlet=\"sideSheetService.template(); context: sideSheetService.context()\"\n ></ng-container>\n </div>\n </aside>\n }\n</div>\n" }]
170
+ }], ctorParameters: () => [] });
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc2lkZS1zaGVldC9zcmMvbGliL3NpZGUtc2hlZXQvc2lkZS1zaGVldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc2lkZS1zaGVldC9zcmMvbGliL3NpZGUtc2hlZXQvc2lkZS1zaGVldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFjLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRW5HLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUVqRSxxSEFBcUg7QUFDckgsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUM7QUFFNUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9DRztBQXVDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQ1IsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFL0QsMEZBQTBGO0lBQ3ZFLE9BQU8sR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUUzQyxR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QztxQkFDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENka1RyYXBGb2N1cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgRWxlbWVudFJlZiwgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBzaWduYWwsIHVudHJhY2tlZCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXNhYmxlU2Nyb2xsLCBlbmFibGVTY3JvbGwsIHJhbmRvbUhhc2ggfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcblxuaW1wb3J0IHsgU2lkZVNoZWV0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2lkZS1zaGVldC5zZXJ2aWNlJztcblxuLyoqIE1hbnRpZGEgZW0gc2luY3JvbmlhIGNvbSBvIGJyZWFrcG9pbnQgYFtAbWVkaWEobWluLXdpZHRoOjEwMjRweCldYCB1c2FkbyBubyB0ZW1wbGF0ZSBlIGVtIGBwYW5lbFdpZHRoQ2xhc3Nlc2AuICovXG5jb25zdCBPVkVSTEFZX1FVRVJZID0gJyhtaW4td2lkdGg6IDEwMjRweCknO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBQYWluZWwgcXVlIGVtcHVycmEgbyBjb250ZcO6ZG8gYWRqYWNlbnRlIHBhcmEgYSBlc3F1ZXJkYSwgZGl2aWRpbmRvIG8gZXNwYcOnb1xuICogaG9yaXpvbnRhbCBjb20gZWxlIOKAlCBzZW0gZXNjdXJlY2VyIGEgdGVsYSBlIHNlbSBzb2JyZXBvciBvIGNvbnRlw7pkbywgbm8gbW9kbyBkZXNrdG9wXG4gKiAoPj0gMTAyNHB4KS4gQWJhaXhvIGRlIDEwMjRweCBvIHBhaW5lbCBwYXNzYSBhIGZ1bmNpb25hciBjb21vIHVtIG92ZXJsYXkgZW0gdGVsYSBjaGVpYSxcbiAqIGNvbSBmdW5kbyBlc2N1cmVjaWRvLCBpZ3VhbCBhIHVtIERyYXdlci5cbiAqXG4gKiBGZWNoYSBzb21lbnRlIHBlbG8gYm90w6NvIGRlIGZlY2hhciAoWCkgZG8gY2FiZcOnYWxobyDigJQgbsOjbyBow6EgZmVjaGFtZW50byBwb3IgdGVjbGEgRXNjYXBlXG4gKiBvdSBjbGlxdWUgZm9yYSwgZW0gbmVuaHVtYSByZXNvbHXDp8Ojby4gRXNzYSDDqSB1bWEgZGVjaXPDo28gZGUgcHJvZHV0byBkZWxpYmVyYWRhOiBvIGNvbnRlw7pkb1xuICogcG9yIHRyw6FzIGRvIHBhaW5lbCBwZXJtYW5lY2UgaW50ZXJhdGl2byAoZmlsdHJvcywgZHJvcGRvd25zLCBhdXRvY29tcGxldGUpIGUgdW0gYXRhbGhvXG4gKiBnbG9iYWwgZGUgRXNjYXBlIGVudHJhcmlhIGVtIGNvbmZsaXRvIGNvbSBvdXRyb3Mgb3ZlcmxheXMgasOhIGFiZXJ0b3Mgc29icmUgZXNzZSBjb250ZcO6ZG8uXG4gKlxuICogU2VtIGlucHV0czogw6kgdW1hIGluc3TDom5jaWEgKirDum5pY2EqKiBwb3IgYXBsaWNhw6fDo28sIGRlY2xhcmFkYSB1bWEgdmV6IG5vIHNoZWxsIGRvIGFwcCAoZXg6XG4gKiBgYXBwLmNvbXBvbmVudC5odG1sYCwgbG9nbyBhYmFpeG8gZGEgdG9wYmFyKSBlIGNvbnRyb2xhZGEgcmVtb3RhbWVudGUgcG9yXG4gKiBgU2lkZVNoZWV0U2VydmljZS5vcGVuKClgL2BjbG9zZSgpYCBhIHBhcnRpciBkZSBxdWFscXVlciBjb21wb25lbnRlIGRlIHJvdGEuIFVtYSBzZWd1bmRhXG4gKiBpbnN0w6JuY2lhIG1vbnRhZGEgc2ltdWx0YW5lYW1lbnRlIGxhbsOnYSB1bSBlcnJvIGVtIG1vZG8gZGUgZGVzZW52b2x2aW1lbnRvLiBPIGNvbnRlw7pkb1xuICogcHJvamV0YWRvIGRlbnRybyBkbyBgPHMtc2lkZS1zaGVldD5gIMOpIG8gY29udGXDumRvIHByaW5jaXBhbCBkYSBww6FnaW5hIChleDogb1xuICogYHJvdXRlci1vdXRsZXRgKSwgZW1wdXJyYWRvIHBlbG8gcGFpbmVsIHF1YW5kbyBlbGUgYWJyZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPCEtLSBhcHAuY29tcG9uZW50Lmh0bWwgLS0+XG4gKiA8cy1zaWRlLXNoZWV0PlxuICogICA8cm91dGVyLW91dGxldCAvPlxuICogPC9zLXNpZGUtc2hlZXQ+XG4gKiBgYGBcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIHBlZGlkb3MuY29tcG9uZW50LnRzXG4gKiBwcml2YXRlIHJlYWRvbmx5IHNpZGVTaGVldFNlcnZpY2UgPSBpbmplY3QoU2lkZVNoZWV0U2VydmljZSk7XG4gKiBwcml2YXRlIHJlYWRvbmx5IHBhbmVsQm9keSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3BhbmVsQm9keScpO1xuICpcbiAqIHByb3RlY3RlZCBzZWxlY2lvbmFyUGVkaWRvKHBlZGlkbzogUGVkaWRvKTogdm9pZCB7XG4gKiAgICAgdGhpcy5zaWRlU2hlZXRTZXJ2aWNlLm9wZW4oeyBoZWFkZXI6IHBlZGlkby5udW1lcm8sIHRlbXBsYXRlOiB0aGlzLnBhbmVsQm9keSgpISB9KTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBPdmVybGF5XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1zaWRlLXNoZWV0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWRlLXNoZWV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnYmxvY2sgaC1mdWxsIHctZnVsbCBmbGV4LTEgbWluLWgtMCcsXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbQ2RrVHJhcEZvY3VzLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3BhbmVsVmlzaWJpbGl0eScsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gcHVzaCcsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHdpZHRoOiAwIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSknLCBzdHlsZSh7IHdpZHRoOiAnKicgfSkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdwdXNoID0+IHZvaWQnLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoeyB3aWR0aDogJyonIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzMwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSknLCBzdHlsZSh7IHdpZHRoOiAwIH0pKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBvdmVybGF5JywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKScsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdvdmVybGF5ID0+IHZvaWQnLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIC8vIFJlc2l6ZSBjcnV6YW5kbyBvIGJyZWFrcG9pbnQgY29tIG8gcGFpbmVsIGrDoSBhYmVydG86IG7Do28gZXhpc3RlIHVtIHR3ZWVuIHZpc3VhbG1lbnRlXG4gICAgICAgICAgICAvLyBjb2VyZW50ZSBlbnRyZSB3aWR0aDo0MDBweC9zdGF0aWMgKHB1c2gpIGUgd2lkdGg6MTAwJS9hYnNvbHV0ZSAob3ZlcmxheSkg4oCUIGFwbGljYSBvXG4gICAgICAgICAgICAvLyBlc3RhZG8gZmluYWwgaW1lZGlhdGFtZW50ZSwgc2VtIHRyYW5zacOnw6NvIHJlc2lkdWFsLlxuICAgICAgICAgICAgdHJhbnNpdGlvbigncHVzaCA9PiBvdmVybGF5JywgW10pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignb3ZlcmxheSA9PiBwdXNoJywgW10pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignYmFja2Ryb3BWaXNpYmlsaXR5JywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZSgnMzAwbXMgZWFzZScsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtzdHlsZSh7IG9wYWNpdHk6IDEgfSksIGFuaW1hdGUoJzMwMG1zIGVhc2UnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVTaGVldENvbXBvbmVudCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpZGVTaGVldFNlcnZpY2UgPSBpbmplY3QoU2lkZVNoZWV0U2VydmljZSk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIElkIMO6bmljbyB1c2FkbyBwYXJhIGFzc29jaWFyIG8gdMOtdHVsbyBhbyBwYWluZWwgdmlhIGBhcmlhLWxhYmVsbGVkYnlgLiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0aXRsZUlkID0gcmFuZG9tSGFzaCgnc2lkZS1zaGVldC10aXRsZScpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aXRsZVJlZiA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxIZWFkaW5nRWxlbWVudD4+KCd0aXRsZVJlZicpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNEZXNrdG9wVmlld3BvcnQgPSBzaWduYWwodGhpcy5fbWF0Y2hlc0Rlc2t0b3AoKSk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIGB0cnVlYCBxdWFuZG8gbyBwYWluZWwgZnVuY2lvbmEgY29tbyBvdmVybGF5IGVtIHRlbGEgY2hlaWEgKDwgMTAyNHB4KS4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNPdmVybGF5TW9kZSA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmlzRGVza3RvcFZpZXdwb3J0KCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhbmltYXRpb25Nb2RlID0gY29tcHV0ZWQ8J3B1c2gnIHwgJ292ZXJsYXknPigoKSA9PlxuICAgICAgICB0aGlzLmlzT3ZlcmxheU1vZGUoKSA/ICdvdmVybGF5JyA6ICdwdXNoJyxcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIExhcmd1cmEgZG8gcGFpbmVsIG5vIG1vZG8gcHVzaCwgcG9yIGJyZWFrcG9pbnQuIGBoYWxmYCBzw7MgcGFzc2EgYSBzZXJcbiAgICAgKiBmbHVpZG8gYSBwYXJ0aXIgZGUgMTM2NnB4IOKAlCBlbnRyZSAxMDI04oCTMTM2NXB4IGhlcmRhIG9zIG1lc21vcyA0MDBweCBkbyBgZGVmYXVsdGBcbiAgICAgKiAoY29udmVyc8OjbyBkZSBcIkhhbGZcIiBwYXJhIFwiRGVmYXVsdFwiIGRlc2NyaXRhIG5hIGVzcGVjaWZpY2HDp8OjbyBkZSBwcm9kdXRvKS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFuZWxXaWR0aENsYXNzZXMgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLnNpZGVTaGVldFNlcnZpY2Uuc2l6ZSgpID09PSAnaGFsZidcbiAgICAgICAgICAgID8gJ1tAbWVkaWEobWluLXdpZHRoOjEwMjRweCldOnctWzQwMHB4XSBbQG1lZGlhKG1pbi13aWR0aDoxMzY2cHgpXTp3LVttYXgoNDAwcHgsNTB2dyldJ1xuICAgICAgICAgICAgOiAnW0BtZWRpYShtaW4td2lkdGg6MTAyNHB4KV06dy1bNDAwcHhdIFtAbWVkaWEobWluLXdpZHRoOjE5MjBweCldOnctWzQ4MHB4XSBbQG1lZGlhKG1pbi13aWR0aDoyNTYwcHgpXTp3LVs1NjBweF0gW0BtZWRpYShtaW4td2lkdGg6MzQ0MHB4KV06dy1bNjQwcHhdJyxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSBfZWxlbWVudFRvUmVmb2N1czogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgICAgIHRoaXMuc2lkZVNoZWV0U2VydmljZS5fcmVnaXN0ZXJJbnN0YW5jZSgpO1xuICAgICAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLnNpZGVTaGVldFNlcnZpY2UuX3VucmVnaXN0ZXJJbnN0YW5jZSgpKTtcblxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5tYXRjaE1lZGlhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zdCBtZWRpYVF1ZXJ5TGlzdCA9IHdpbmRvdy5tYXRjaE1lZGlhKE9WRVJMQVlfUVVFUlkpO1xuICAgICAgICAgICAgY29uc3QgbGlzdGVuZXIgPSAoZXZlbnQ6IE1lZGlhUXVlcnlMaXN0RXZlbnQpOiB2b2lkID0+IHRoaXMuaXNEZXNrdG9wVmlld3BvcnQuc2V0KGV2ZW50Lm1hdGNoZXMpO1xuICAgICAgICAgICAgbWVkaWFRdWVyeUxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgbGlzdGVuZXIpO1xuICAgICAgICAgICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gbWVkaWFRdWVyeUxpc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgbGlzdGVuZXIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzaG91bGRMb2NrU2Nyb2xsID0gdGhpcy5zaWRlU2hlZXRTZXJ2aWNlLnZpc2libGUoKSAmJiB0aGlzLmlzT3ZlcmxheU1vZGUoKTtcbiAgICAgICAgICAgIGlmIChzaG91bGRMb2NrU2Nyb2xsKSB7XG4gICAgICAgICAgICAgICAgZGlzYWJsZVNjcm9sbCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbmFibGVTY3JvbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNpZGVTaGVldFNlcnZpY2UudmlzaWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFRvUmVmb2N1cyA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgICAgICAgICAgICAgIGlmICghdW50cmFja2VkKHRoaXMuaXNPdmVybGF5TW9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy50aXRsZVJlZigpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFRvUmVmb2N1cz8uZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50VG9SZWZvY3VzID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gZW5hYmxlU2Nyb2xsKCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbG9zZVNpZGVTaGVldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWRlU2hlZXRTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbWF0Y2hlc0Rlc2t0b3AoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93Lm1hdGNoTWVkaWEgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gd2luZG93Lm1hdGNoTWVkaWEoT1ZFUkxBWV9RVUVSWSkubWF0Y2hlc1xuICAgICAgICAgICAgOiB0cnVlO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzaWRlLXNoZWV0IHJlbGF0aXZlIGZsZXggaC1mdWxsIHctZnVsbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlLXNoZWV0X19jb250ZW50IG1pbi13LTAgZmxleC0xIG92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChzaWRlU2hlZXRTZXJ2aWNlLnZpc2libGUoKSkge1xuICAgICAgICBAaWYgKGlzT3ZlcmxheU1vZGUoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtc2hlZXRfX2JhY2tkcm9wIGFic29sdXRlIGluc2V0LTAgei0yMCBiZy1bcmdiYSgwLDAsMCwwLjUpXVwiIEBiYWNrZHJvcFZpc2liaWxpdHk+PC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8YXNpZGVcbiAgICAgICAgICAgIGNka1RyYXBGb2N1c1xuICAgICAgICAgICAgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cImlzT3ZlcmxheU1vZGUoKVwiXG4gICAgICAgICAgICBbQHBhbmVsVmlzaWJpbGl0eV09XCJhbmltYXRpb25Nb2RlKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLXNoZWV0X19wYW5lbCB6LTMwIGZsZXggZmxleC1jb2wgZ2FwLTQgYm9yZGVyLWwgYm9yZGVyLWdyYXlzY2FsZS0yMCBiZy1ncmF5c2NhbGUtMCBwLTQgc2hhZG93LVswcHhfMnB4XzRweF9yZ2JhKDAsMCwwLDAuMiksMHB4XzFweF8xMHB4X3JnYmEoMCwwLDAsMC4xMiksMHB4XzRweF81cHhfcmdiYSgwLDAsMCwwLjE0KV0gYWJzb2x1dGUgaW5zZXQtMCB3LWZ1bGwgW0BtZWRpYShtaW4td2lkdGg6MTAyNHB4KV06c3RhdGljIFtAbWVkaWEobWluLXdpZHRoOjEwMjRweCldOmluc2V0LWF1dG9cIlxuICAgICAgICAgICAgW2NsYXNzXT1cInBhbmVsV2lkdGhDbGFzc2VzKClcIlxuICAgICAgICAgICAgW2NsYXNzLnNpZGUtc2hlZXRfX3BhbmVsLS1oYWxmXT1cInNpZGVTaGVldFNlcnZpY2Uuc2l6ZSgpID09PSAnaGFsZidcIlxuICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpc092ZXJsYXlNb2RlKCkgPyAnZGlhbG9nJyA6ICdjb21wbGVtZW50YXJ5J1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLW1vZGFsXT1cImlzT3ZlcmxheU1vZGUoKSA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ0aXRsZUlkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtc2hlZXRfX2hlYWRlciBmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMlxuICAgICAgICAgICAgICAgICAgICAgICAgI3RpdGxlUmVmXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwidGl0bGVJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWluLXctMCBmbGV4LTEgYnJlYWstd29yZHMgZm9udC1vcGVuLXNhbnMgdGV4dC1iYXNlIGZvbnQtbm9ybWFsIHVwcGVyY2FzZSB0ZXh0LWdyYXlzY2FsZS05MCBvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBzaWRlU2hlZXRTZXJ2aWNlLmhlYWRlcigpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHNocmluay0wIGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1lZGl1bSBib3JkZXItbm9uZSBiZy10cmFuc3BhcmVudCBwLTIgb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJGZWNoYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlU2lkZVNoZWV0KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS10aW1lcyB0ZXh0LXhzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJoLXB4IHctZnVsbCBib3JkZXItMCBiZy1ncmF5c2NhbGUtMjBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXNoZWV0X19ib2R5IG1pbi1oLTAgZmxleC0xIG92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic2lkZVNoZWV0U2VydmljZS50ZW1wbGF0ZSgpOyBjb250ZXh0OiBzaWRlU2hlZXRTZXJ2aWNlLmNvbnRleHQoKVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgfVxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export { SideSheetComponent } from './lib/side-sheet/side-sheet.component';
2
+ export { SideSheetService } from './lib/side-sheet/services/side-sheet.service';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zaWRlLXNoZWV0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2lkZVNoZWV0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvc2lkZS1zaGVldC9zaWRlLXNoZWV0LmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7IFNpZGVTaGVldFNpemUgfSBmcm9tICcuL2xpYi9zaWRlLXNoZWV0L21vZGVscy9zaWRlLXNoZWV0LXNpemUnO1xuZXhwb3J0IHR5cGUgeyBTaWRlU2hlZXRDb25maWcgfSBmcm9tICcuL2xpYi9zaWRlLXNoZWV0L21vZGVscy9zaWRlLXNoZWV0LWNvbmZpZyc7XG5leHBvcnQgeyBTaWRlU2hlZXRTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2lkZS1zaGVldC9zZXJ2aWNlcy9zaWRlLXNoZWV0LnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLXNpZGUtc2hlZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc2lkZS1zaGVldC9zcmMvc2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLXNpZGUtc2hlZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,3 +1,12 @@
1
- export { SidebarComponent } from './lib/sidebar/sidebar.component';
2
- export { SidebarModule } from './lib/sidebar/sidebar.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zaWRlYmFyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcbmV4cG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICcuL2xpYi9zaWRlYmFyL3NpZGViYXIubW9kdWxlJztcbiJdfQ==
1
+ import { DrawerComponent as DrawerComponentOriginal, DrawerModule as DrawerModuleOriginal, } from '@seniorsistemas/angular-components/drawer';
2
+ /**
3
+ * @deprecated Use DrawerComponent from '@seniorsistemas/angular-components/drawer'.
4
+ * O pacote sidebar será removido na versão 20.0.0.
5
+ */
6
+ export const DrawerComponent = DrawerComponentOriginal;
7
+ /**
8
+ * @deprecated Use DrawerModule from '@seniorsistemas/angular-components/drawer'.
9
+ * O pacote sidebar será removido na versão 20.0.0.
10
+ */
11
+ export const DrawerModule = DrawerModuleOriginal;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zaWRlYmFyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLElBQUksdUJBQXVCLEVBQzFDLFlBQVksSUFBSSxvQkFBb0IsR0FDdkMsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEcmF3ZXJDb21wb25lbnQgYXMgRHJhd2VyQ29tcG9uZW50T3JpZ2luYWwsXG4gICAgRHJhd2VyTW9kdWxlIGFzIERyYXdlck1vZHVsZU9yaWdpbmFsLFxufSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2RyYXdlcic7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIERyYXdlckNvbXBvbmVudCBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2RyYXdlcicuXG4gKiBPIHBhY290ZSBzaWRlYmFyIHNlcsOhIHJlbW92aWRvIG5hIHZlcnPDo28gMjAuMC4wLlxuICovXG5leHBvcnQgY29uc3QgRHJhd2VyQ29tcG9uZW50ID0gRHJhd2VyQ29tcG9uZW50T3JpZ2luYWw7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIERyYXdlck1vZHVsZSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2RyYXdlcicuXG4gKiBPIHBhY290ZSBzaWRlYmFyIHNlcsOhIHJlbW92aWRvIG5hIHZlcnPDo28gMjAuMC4wLlxuICovXG5leHBvcnQgY29uc3QgRHJhd2VyTW9kdWxlID0gRHJhd2VyTW9kdWxlT3JpZ2luYWw7XG4iXX0=
@@ -1,6 +1,8 @@
1
1
  import { Component, EventEmitter, HostListener, Input, Output, ViewChild, forwardRef } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { TranslateModule } from '@ngx-translate/core';
3
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngx-translate/core";
4
6
  /**
5
7
  * @description Componente de chave tipo switch (liga/desliga) que implementa
6
8
  * `ControlValueAccessor` para uso em formulários Angular. Suporta rótulos
@@ -79,7 +81,7 @@ export class SwitchComponent {
79
81
  useExisting: forwardRef(() => SwitchComponent),
80
82
  multi: true,
81
83
  },
82
- ], viewQueries: [{ propertyName: "switchRef", first: true, predicate: ["switch"], descendants: true, static: true }], ngImport: i0, template: "<div\n #switch\n class=\"inline-flex items-center\"\n [class.opacity-50]=\"disabled\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"inline-block h-6 m-0 relative w-10\">\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"h-0 opacity-0 w-0\"\n [attr.aria-checked]=\"value\"\n [attr.aria-label]=\"label || null\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider bg-grayscale-40 rounded-[15px] inset-0 absolute cursor-pointer transition-all duration-[400ms]\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"text-grayscale-90 font-open-sans text-sm font-normal leading-[150%] ml-3\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.slider{background-color:#428bca}input:checked+.slider:before{transform:translate(16px)}input:focus-visible+.slider{box-shadow:0 0 0 2px #000;outline:2px solid #000;outline-offset:1px}.switch--focus .slider{box-shadow:0 0 0 2px #428bca80}\n"] });
84
+ ], viewQueries: [{ propertyName: "switchRef", first: true, predicate: ["switch"], descendants: true, static: true }], ngImport: i0, template: "<div\n #switch\n class=\"inline-flex items-center\"\n role=\"group\"\n [attr.aria-label]=\"label || ('platform.angular_components.switch_toggle' | translate)\"\n [class.opacity-50]=\"disabled\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"inline-block h-6 m-0 relative w-10\">\n <span class=\"sr-only\">{{ label || ('platform.angular_components.switch_toggle' | translate) }}</span>\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"h-0 opacity-0 w-0\"\n [attr.aria-checked]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider bg-grayscale-40 rounded-[15px] inset-0 absolute cursor-pointer transition-all duration-[400ms]\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"text-grayscale-90 font-open-sans text-sm font-normal leading-[150%] ml-3\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.slider{background-color:#428bca}input:checked+.slider:before{transform:translate(16px)}input:focus-visible+.slider{box-shadow:0 0 0 2px #000;outline:2px solid #000;outline-offset:1px}.switch--focus .slider{box-shadow:0 0 0 2px #428bca80}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
83
85
  }
84
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, decorators: [{
85
87
  type: Component,
@@ -89,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
89
91
  useExisting: forwardRef(() => SwitchComponent),
90
92
  multi: true,
91
93
  },
92
- ], standalone: true, imports: [], template: "<div\n #switch\n class=\"inline-flex items-center\"\n [class.opacity-50]=\"disabled\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"inline-block h-6 m-0 relative w-10\">\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"h-0 opacity-0 w-0\"\n [attr.aria-checked]=\"value\"\n [attr.aria-label]=\"label || null\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider bg-grayscale-40 rounded-[15px] inset-0 absolute cursor-pointer transition-all duration-[400ms]\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"text-grayscale-90 font-open-sans text-sm font-normal leading-[150%] ml-3\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.slider{background-color:#428bca}input:checked+.slider:before{transform:translate(16px)}input:focus-visible+.slider{box-shadow:0 0 0 2px #000;outline:2px solid #000;outline-offset:1px}.switch--focus .slider{box-shadow:0 0 0 2px #428bca80}\n"] }]
94
+ ], standalone: true, imports: [TranslateModule], template: "<div\n #switch\n class=\"inline-flex items-center\"\n role=\"group\"\n [attr.aria-label]=\"label || ('platform.angular_components.switch_toggle' | translate)\"\n [class.opacity-50]=\"disabled\"\n [attr.aria-disabled]=\"disabled || null\"\n>\n <label class=\"inline-block h-6 m-0 relative w-10\">\n <span class=\"sr-only\">{{ label || ('platform.angular_components.switch_toggle' | translate) }}</span>\n <input\n #input\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"h-0 opacity-0 w-0\"\n [attr.aria-checked]=\"value\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-readonly]=\"readonly || null\"\n (change)=\"toggleCheck()\"\n />\n <span\n class=\"slider bg-grayscale-40 rounded-[15px] inset-0 absolute cursor-pointer transition-all duration-[400ms]\"\n aria-hidden=\"true\"\n ></span>\n </label>\n @if (showStatusLabel) {\n <span class=\"text-grayscale-90 font-open-sans text-sm font-normal leading-[150%] ml-3\">{{ value ? trueLabel : falseLabel }}</span>\n }\n</div>\n\n", styles: [".slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:\"\";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.slider{background-color:#428bca}input:checked+.slider:before{transform:translate(16px)}input:focus-visible+.slider{box-shadow:0 0 0 2px #000;outline:2px solid #000;outline-offset:1px}.switch--focus .slider{box-shadow:0 0 0 2px #428bca80}\n"] }]
93
95
  }], propDecorators: { readonly: [{
94
96
  type: Input
95
97
  }], trueLabel: [{
@@ -120,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
120
122
  type: HostListener,
121
123
  args: ['focusout']
122
124
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV6RTs7Ozs7Ozs7Ozs7R0FXRztBQWVILE1BQU0sT0FBTyxlQUFlO0lBQ3hCLDBGQUEwRjtJQUVuRixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXhCLDZFQUE2RTtJQUV0RSxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBRTVCLGlGQUFpRjtJQUUxRSxVQUFVLEdBQUcsV0FBVyxDQUFDO0lBRWhDLHFGQUFxRjtJQUU5RSxPQUFPLENBQVU7SUFDeEIsaUdBQWlHO0lBRTFGLEtBQUssQ0FBVTtJQUV0Qix5REFBeUQ7SUFFbEQsU0FBUyxDQUFVO0lBRTFCLDZGQUE2RjtJQUV0RixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXhCLHNGQUFzRjtJQUUvRSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVsRCx5REFBeUQ7SUFFbEQsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVyQix1RkFBdUY7SUFFaEYsZUFBZSxHQUFHLElBQUksQ0FBQztJQUd2QixTQUFTLENBQWM7SUFFdEIsU0FBUyxDQUE0QjtJQUNyQyxVQUFVLENBQTRCO0lBR3ZDLFNBQVM7UUFDWixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQStCLENBQUM7UUFDckUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUdNLFVBQVU7UUFDYixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQStCLENBQUM7UUFDckUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFrQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRU0saUJBQWlCLENBQUMsU0FBbUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVNLGdCQUFnQixDQUFFLFFBQWlCO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO3dHQTFGUSxlQUFlOzRGQUFmLGVBQWUsMllBVmI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDOUMsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDZJQ3pCTCw4aUNBK0JBOzs0RkRGYSxlQUFlO2tCQWQzQixTQUFTOytCQUNJLFVBQVUsYUFHVDt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0osY0FDVyxJQUFJLFdBQ1AsRUFBRTs4QkFLSixRQUFRO3NCQURkLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUtDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsUUFBUTtzQkFEZCxLQUFLO2dCQUtDLFlBQVk7c0JBRGxCLE1BQU07Z0JBS0EsS0FBSztzQkFEWCxLQUFLO2dCQUtDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTzlCLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyxTQUFTO2dCQU9oQixVQUFVO3NCQURoQixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGNoYXZlIHRpcG8gc3dpdGNoIChsaWdhL2Rlc2xpZ2EpIHF1ZSBpbXBsZW1lbnRhXHJcbiAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgcGFyYSB1c28gZW0gZm9ybXVsw6FyaW9zIEFuZ3VsYXIuIFN1cG9ydGEgcsOzdHVsb3NcclxuICogcGVyc29uYWxpemFkb3MgcGFyYSBvcyBlc3RhZG9zIHZlcmRhZGVpcm8gZSBmYWxzbywgYWzDqW0gZGUgbW9kbyBzb21lbnRlIGxlaXR1cmEuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cImF0aXZvXCIgdHJ1ZUxhYmVsPVwiQXRpdm9cIiBmYWxzZUxhYmVsPVwiSW5hdGl2b1wiIC8+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncy1zd2l0Y2gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zd2l0Y2guY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3aXRjaENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBJbXBlZGUgYWx0ZXJhw6fDtWVzIHBlbG8gdXN1w6FyaW8gc2VtIGRlc2FiaWxpdGFyIG8gY2FtcG8uIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGV4aWJpZG8gcXVhbmRvIG8gdmFsb3Igw6kgYHRydWVgLiBAZGVmYXVsdCAnTGlnYWRvJyAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0cnVlTGFiZWwgPSAnTGlnYWRvJztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciDDqSBgZmFsc2VgLiBAZGVmYXVsdCAnRGVzbGlnYWRvJyAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmYWxzZUxhYmVsID0gJ0Rlc2xpZ2Fkbyc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBgaWRgIGRvIGVsZW1lbnRvIGA8aW5wdXQ+YCBpbnRlcm5vIHBhcmEgYXNzb2NpYcOnw6NvIGNvbSBgPGxhYmVsPmAuICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGlucHV0SWQ/OiBzdHJpbmc7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIE5vbWUgYWNlc3PDrXZlbCBkZXNjcml0aXZvIGRvIHN3aXRjaCBwYXJhIHRlY25vbG9naWFzIGFzc2lzdGl2YXMgKGFyaWEtbGFiZWwpLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEF0cmlidXRvIGBuYW1lYCBkbyBgPGlucHV0PmAgaW50ZXJuby4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5wdXROYW1lPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRGVzYWJpbGl0YSBvIGNvbXBvbmVudGUsIGltcGVkaW5kbyBpbnRlcmHDp8OjbyBlIGFsdGVyYcOnw7Vlcy4gQGRlZmF1bHQgZmFsc2UgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdmFsb3IgZG8gc3dpdGNoIG11ZGEsIGNvbSBvIG5vdm8gZXN0YWRvIGJvb2xlYW5vLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gVmFsb3IgYXR1YWwgZG8gc3dpdGNoLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB2YWx1ZSA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ29udHJvbGEgc2UgZGV2ZSBvdSBuw6NvIGV4aWJpciBvIHZhbHVlIGRvIGNvbXBvbmVudGUuIEBkZWZhdWx0IHRydWUgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd1N0YXR1c0xhYmVsID0gdHJ1ZTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdzd2l0Y2gnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgcHVibGljIHN3aXRjaFJlZiE6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U/OiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XHJcbiAgICBwcml2YXRlIF9vblRvdWNoZWQ/OiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXHJcbiAgICBwdWJsaWMgb25Gb2N1c0luKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHN3aXRjaEVsZW1lbnQgPSB0aGlzLnN3aXRjaFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICAgIHN3aXRjaEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc3dpdGNoLS1mb2N1cycpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcclxuICAgIHB1YmxpYyBvbkZvY3VzT3V0KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHN3aXRjaEVsZW1lbnQgPSB0aGlzLnN3aXRjaFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICAgIHN3aXRjaEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc3dpdGNoLS1mb2N1cycpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlID0gb25DaGFuZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlPyhkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdG9nZ2xlQ2hlY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnZhbHVlID0gIXRoaXMudmFsdWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZWQuZW1pdCh0aGlzLnZhbHVlKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX29uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX29uVG91Y2hlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9vblRvdWNoZWQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcbiAgICAjc3dpdGNoXG4gICAgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgIFtjbGFzcy5vcGFjaXR5LTUwXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IG51bGxcIlxuPlxuICAgIDxsYWJlbCBjbGFzcz1cImlubGluZS1ibG9jayBoLTYgbS0wIHJlbGF0aXZlIHctMTBcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImlucHV0TmFtZVwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICBjbGFzcz1cImgtMCBvcGFjaXR5LTAgdy0wXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgbnVsbFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZUNoZWNrKClcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzbGlkZXIgYmctZ3JheXNjYWxlLTQwIHJvdW5kZWQtWzE1cHhdIGluc2V0LTAgYWJzb2x1dGUgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tWzQwMG1zXVwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gICAgQGlmIChzaG93U3RhdHVzTGFiZWwpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWdyYXlzY2FsZS05MCBmb250LW9wZW4tc2FucyB0ZXh0LXNtIGZvbnQtbm9ybWFsIGxlYWRpbmctWzE1MCVdIG1sLTNcIj57eyB2YWx1ZSA/IHRydWVMYWJlbCA6IGZhbHNlTGFiZWwgfX08L3NwYW4+XG4gICAgfVxuPC9kaXY+XG5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRXREOzs7Ozs7Ozs7OztHQVdHO0FBZUgsTUFBTSxPQUFPLGVBQWU7SUFDeEIsMEZBQTBGO0lBRW5GLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFeEIsNkVBQTZFO0lBRXRFLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFFNUIsaUZBQWlGO0lBRTFFLFVBQVUsR0FBRyxXQUFXLENBQUM7SUFFaEMscUZBQXFGO0lBRTlFLE9BQU8sQ0FBVTtJQUN4QixpR0FBaUc7SUFFMUYsS0FBSyxDQUFVO0lBRXRCLHlEQUF5RDtJQUVsRCxTQUFTLENBQVU7SUFFMUIsNkZBQTZGO0lBRXRGLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFeEIsc0ZBQXNGO0lBRS9FLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRWxELHlEQUF5RDtJQUVsRCxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRXJCLHVGQUF1RjtJQUVoRixlQUFlLEdBQUcsSUFBSSxDQUFDO0lBR3ZCLFNBQVMsQ0FBYztJQUV0QixTQUFTLENBQTRCO0lBQ3JDLFVBQVUsQ0FBNEI7SUFHdkMsU0FBUztRQUNaLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBK0IsQ0FBQztRQUNyRSxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBR00sVUFBVTtRQUNiLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBK0IsQ0FBQztRQUNyRSxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQWtDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxTQUFtQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUUsUUFBaUI7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7d0dBMUZRLGVBQWU7NEZBQWYsZUFBZSwyWUFWYjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osNklDMUJMLGd1Q0FpQ0EsdWNETGMsZUFBZTs7NEZBRWhCLGVBQWU7a0JBZDNCLFNBQVM7K0JBQ0ksVUFBVSxhQUdUO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSixjQUNXLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQzs4QkFLbkIsUUFBUTtzQkFEZCxLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxVQUFVO3NCQURoQixLQUFLO2dCQUtDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUtDLFFBQVE7c0JBRGQsS0FBSztnQkFLQyxZQUFZO3NCQURsQixNQUFNO2dCQUtBLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU85QixTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUztnQkFPaEIsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgY2hhdmUgdGlwbyBzd2l0Y2ggKGxpZ2EvZGVzbGlnYSkgcXVlIGltcGxlbWVudGFcclxuICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCBwYXJhIHVzbyBlbSBmb3JtdWzDoXJpb3MgQW5ndWxhci4gU3Vwb3J0YSByw7N0dWxvc1xyXG4gKiBwZXJzb25hbGl6YWRvcyBwYXJhIG9zIGVzdGFkb3MgdmVyZGFkZWlybyBlIGZhbHNvLCBhbMOpbSBkZSBtb2RvIHNvbWVudGUgbGVpdHVyYS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy1zd2l0Y2ggZm9ybUNvbnRyb2xOYW1lPVwiYXRpdm9cIiB0cnVlTGFiZWw9XCJBdGl2b1wiIGZhbHNlTGFiZWw9XCJJbmF0aXZvXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXN3aXRjaCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3N3aXRjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dpdGNoQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTd2l0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEltcGVkZSBhbHRlcmHDp8O1ZXMgcGVsbyB1c3XDoXJpbyBzZW0gZGVzYWJpbGl0YXIgbyBjYW1wby4gQGRlZmF1bHQgZmFsc2UgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciDDqSBgdHJ1ZWAuIEBkZWZhdWx0ICdMaWdhZG8nICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRydWVMYWJlbCA9ICdMaWdhZG8nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gUsOzdHVsbyBleGliaWRvIHF1YW5kbyBvIHZhbG9yIMOpIGBmYWxzZWAuIEBkZWZhdWx0ICdEZXNsaWdhZG8nICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZhbHNlTGFiZWwgPSAnRGVzbGlnYWRvJztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIGBpZGAgZG8gZWxlbWVudG8gYDxpbnB1dD5gIGludGVybm8gcGFyYSBhc3NvY2lhw6fDo28gY29tIGA8bGFiZWw+YC4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5wdXRJZD86IHN0cmluZztcclxuICAgIC8qKiBAZGVzY3JpcHRpb24gTm9tZSBhY2Vzc8OtdmVsIGRlc2NyaXRpdm8gZG8gc3dpdGNoIHBhcmEgdGVjbm9sb2dpYXMgYXNzaXN0aXZhcyAoYXJpYS1sYWJlbCkuICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gQXRyaWJ1dG8gYG5hbWVgIGRvIGA8aW5wdXQ+YCBpbnRlcm5vLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbnB1dE5hbWU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIG8gY29tcG9uZW50ZSwgaW1wZWRpbmRvIGludGVyYcOnw6NvIGUgYWx0ZXJhw6fDtWVzLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB2YWxvciBkbyBzd2l0Y2ggbXVkYSwgY29tIG8gbm92byBlc3RhZG8gYm9vbGVhbm8uICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBWYWxvciBhdHVhbCBkbyBzd2l0Y2guIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHZhbHVlID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDb250cm9sYSBzZSBkZXZlIG91IG7Do28gZXhpYmlyIG8gdmFsdWUgZG8gY29tcG9uZW50ZS4gQGRlZmF1bHQgdHJ1ZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93U3RhdHVzTGFiZWwgPSB0cnVlO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3N3aXRjaCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgc3dpdGNoUmVmITogRWxlbWVudFJlZjtcclxuXHJcbiAgICBwcml2YXRlIF9vbkNoYW5nZT86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c2luJylcclxuICAgIHB1YmxpYyBvbkZvY3VzSW4oKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3dpdGNoRWxlbWVudCA9IHRoaXMuc3dpdGNoUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICAgICAgc3dpdGNoRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzd2l0Y2gtLWZvY3VzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxyXG4gICAgcHVibGljIG9uRm9jdXNPdXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3dpdGNoRWxlbWVudCA9IHRoaXMuc3dpdGNoUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICAgICAgc3dpdGNoRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzd2l0Y2gtLWZvY3VzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVDaGVjaygpIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSAhdGhpcy52YWx1ZTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KHRoaXMudmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fb25Ub3VjaGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxuICAgICNzd2l0Y2hcbiAgICBjbGFzcz1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgcm9sZT1cImdyb3VwXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsIHx8ICgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnN3aXRjaF90b2dnbGUnIHwgdHJhbnNsYXRlKVwiXG4gICAgW2NsYXNzLm9wYWNpdHktNTBdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbnVsbFwiXG4+XG4gICAgPGxhYmVsIGNsYXNzPVwiaW5saW5lLWJsb2NrIGgtNiBtLTAgcmVsYXRpdmUgdy0xMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57eyBsYWJlbCB8fCAoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zd2l0Y2hfdG9nZ2xlJyB8IHRyYW5zbGF0ZSkgfX08L3NwYW4+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0XG4gICAgICAgICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgICAgICBbbmFtZV09XCJpbnB1dE5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgICAgICAgICAgY2xhc3M9XCJoLTAgb3BhY2l0eS0wIHctMFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgbnVsbFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZUNoZWNrKClcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzbGlkZXIgYmctZ3JheXNjYWxlLTQwIHJvdW5kZWQtWzE1cHhdIGluc2V0LTAgYWJzb2x1dGUgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tWzQwMG1zXVwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gICAgQGlmIChzaG93U3RhdHVzTGFiZWwpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWdyYXlzY2FsZS05MCBmb250LW9wZW4tc2FucyB0ZXh0LXNtIGZvbnQtbm9ybWFsIGxlYWRpbmctWzE1MCVdIG1sLTNcIj57eyB2YWx1ZSA/IHRydWVMYWJlbCA6IGZhbHNlTGFiZWwgfX08L3NwYW4+XG4gICAgfVxuPC9kaXY+XG5cbiJdfQ==
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export class SwitchModule {
5
5
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
6
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SwitchModule, imports: [SwitchComponent], exports: [SwitchComponent] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchModule });
7
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchModule, imports: [SwitchComponent] });
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchModule, decorators: [{
10
10
  type: NgModule,
@@ -13,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
13
13
  exports: [SwitchComponent],
14
14
  }]
15
15
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLFlBQVk7d0dBQVosWUFBWTt5R0FBWixZQUFZLFlBSFgsZUFBZSxhQUNmLGVBQWU7eUdBRWhCLFlBQVk7OzRGQUFaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN3aXRjaENvbXBvbmVudCB9IGZyb20gJy4vc3dpdGNoLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1N3aXRjaENvbXBvbmVudF0sXHJcbiAgICBleHBvcnRzOiBbU3dpdGNoQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN3aXRjaE1vZHVsZSB7fVxyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gvc3JjL2xpYi9zd2l0Y2gvc3dpdGNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLFlBQVk7d0dBQVosWUFBWTt5R0FBWixZQUFZLFlBSFgsZUFBZSxhQUNmLGVBQWU7eUdBRWhCLFlBQVksWUFIWCxlQUFlOzs0RkFHaEIsWUFBWTtrQkFKeEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnLi9zd2l0Y2guY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbU3dpdGNoQ29tcG9uZW50XSxcclxuICAgIGV4cG9ydHM6IFtTd2l0Y2hDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3dpdGNoTW9kdWxlIHt9XHJcbiJdfQ==
@@ -51,6 +51,7 @@ export class TabItemComponent {
51
51
  headerElement = computed(() => {
52
52
  return this.headerTemplateDirectives()?.find((x) => x.type === 'header')?.template;
53
53
  });
54
+ alreadyOpened = false;
54
55
  ngAfterViewInit() {
55
56
  if (this.destroyOnHide() && !this.templateContent()) {
56
57
  console.error("When destroyOnHide is true sTemplate='body' is required");
@@ -58,10 +59,10 @@ export class TabItemComponent {
58
59
  return;
59
60
  }
60
61
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: TabItemComponent, isStandalone: true, selector: "s-tab-item", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, destroyOnHide: { classPropertyName: "destroyOnHide", publicName: "destroyOnHide", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, queries: [{ propertyName: "headerTemplateDirectives", predicate: TemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "_template", first: true, predicate: ["template"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #template>\n <ng-content></ng-content>\n</ng-template>\n" });
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: TabItemComponent, isStandalone: true, selector: "s-tab-item", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, destroyOnHide: { classPropertyName: "destroyOnHide", publicName: "destroyOnHide", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, queries: [{ propertyName: "headerTemplateDirectives", predicate: TemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "_template", first: true, predicate: ["template"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #template>\n <ng-content></ng-content>\n</ng-template>\n\n" });
62
63
  }
63
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemComponent, decorators: [{
64
65
  type: Component,
65
- args: [{ selector: 's-tab-item', standalone: true, template: "<ng-template #template>\n <ng-content></ng-content>\n</ng-template>\n" }]
66
+ args: [{ selector: 's-tab-item', standalone: true, template: "<ng-template #template>\n <ng-content></ng-content>\n</ng-template>\n\n" }]
66
67
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RhYnMvc3JjL2xpYi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixLQUFLLEVBQ0wsS0FBSyxFQUVMLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFFaEY7Ozs7Ozs7Ozs7Ozs7R0FhRztBQU1ILE1BQU0sT0FBTyxnQkFBZ0I7SUFDaEIsU0FBUyxHQUFHLFNBQVMsQ0FBbUIsVUFBVSxDQUFDLENBQUM7SUFDcEQsd0JBQXdCLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUQsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDckMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ3JGLENBQUMsQ0FBQyxDQUFDO0lBRUgsaUdBQWlHO0lBQ2pHLElBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUV2QixtREFBbUQ7SUFDbkQsTUFBTSxHQUFHLEtBQUssRUFBVSxDQUFDO0lBRXpCOzs7O09BSUc7SUFDSCxRQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRWpDOzs7T0FHRztJQUNILEtBQUssR0FBRyxLQUFLLEVBQW1CLENBQUM7SUFFakM7Ozs7O09BS0c7SUFDSCxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDL0MsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0gsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBRUgsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxPQUFPO0lBQ1gsQ0FBQzt3R0EvQ1EsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsdXhCQUUyQixpQkFBaUIsb0tDakN6RSwwRUFHQTs7NEZENEJhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDSSxZQUFZLGNBQ1YsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgY29udGVudENoaWxkcmVuLFxuICAgIGlucHV0LFxuICAgIG1vZGVsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGVtcGxhdGUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGl0ZW0gZGUgYWJhLCB1dGlsaXphZG8gY29tbyBmaWxobyBkaXJldG8gZGUgYFRhYnNDb21wb25lbnRgLlxuICogRGVmaW5lIG8gcsOzdHVsbywgw61jb25lIGUgY29udGXDumRvIGRlIGNhZGEgYWJhIGluZGl2aWR1YWxtZW50ZS5cbiAqIFN1cG9ydGEgdGVtcGxhdGVzIGN1c3RvbWl6YWRvcyBwYXJhIGNhYmXDp2FsaG8gZSBjb3JwbyB2aWEgYFRlbXBsYXRlRGlyZWN0aXZlYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtdGFiLWl0ZW0gaGVhZGVyPVwiRGV0YWxoZXNcIiB2YWx1ZT1cImRldGFpbHNcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIj5cbiAqICAgQ29udGXDumRvIGRhIGFiYVxuICogPC9zLXRhYi1pdGVtPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IE5hdmVnYcOnw6NvXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy10YWItaXRlbScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcmVhZG9ubHkgX3RlbXBsYXRlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPGFueT4+KCd0ZW1wbGF0ZScpO1xuICAgIHJlYWRvbmx5IGhlYWRlclRlbXBsYXRlRGlyZWN0aXZlcyA9IGNvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZURpcmVjdGl2ZSk7XG4gICAgcmVhZG9ubHkgdGVtcGxhdGVDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZXMoKT8uZmluZCgoeCkgPT4geC50eXBlID09PSAnYm9keScpPy50ZW1wbGF0ZTtcbiAgICB9KTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRlIMOtY29uZSBleGliaWRhIGFvIGxhZG8gZG8gcsOzdHVsbyBkYSBhYmEgKGV4OiBjbGFzc2UgZGUgRm9udCBBd2Vzb21lLiAqL1xuICAgIGljb24gPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFRleHRvIGRvIHLDs3R1bG8gZXhpYmlkbyBuYSBhYmEuICovXG4gICAgaGVhZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIGEgYWJhIGZpY2EgZGVzYWJpbGl0YWRhIGUgbsOjbyBwb2RlIHNlciBzZWxlY2lvbmFkYSBwZWxvIHVzdcOhcmlvLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBWYWxvciBpZGVudGlmaWNhZG9yIMO6bmljbyBkYSBhYmEsIHV0aWxpemFkbyBwZWxvIGBUYWJzQ29tcG9uZW50YCBwYXJhIGNvbnRyb2xhciBhIGFiYSBhdGl2YS5cbiAgICAgKiBRdWFuZG8gbsOjbyBpbmZvcm1hZG8sIMOpIGF0cmlidcOtZG8gYXV0b21hdGljYW1lbnRlIG8gw61uZGljZSBkYSBhYmEgKGJhc2VhZG8gZW0gemVybykuXG4gICAgICovXG4gICAgdmFsdWUgPSBtb2RlbDxzdHJpbmcgfCBudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUXVhbmRvIGB0cnVlYCwgZGVzdHLDs2kgbyBjb250ZcO6ZG8gZGEgYWJhIGFvIGVzY29uZMOqLWxhLCBsaWJlcmFuZG8gcmVjdXJzb3MuXG4gICAgICogRXhpZ2UgcXVlIG8gY29udGXDumRvIHNlamEgZW52b2x2aWRvIGVtIHVtIHRlbXBsYXRlIGNvbSBgc1RlbXBsYXRlPVwiYm9keVwiYC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgZGVzdHJveU9uSGlkZSA9IGlucHV0KGZhbHNlKTtcbiAgICB0ZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgX3RlbXBsYXRlID0gdGhpcy5fdGVtcGxhdGUoKTtcbiAgICAgICAgY29uc3QgdGVtcGxhdGVDb250ZW50ID0gdGhpcy50ZW1wbGF0ZUNvbnRlbnQoKTtcbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlQ29udGVudCA/IHRlbXBsYXRlQ29udGVudCA6IF90ZW1wbGF0ZTtcbiAgICB9KTtcbiAgICBoZWFkZXJFbGVtZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZXMoKT8uZmluZCgoeCkgPT4geC50eXBlID09PSAnaGVhZGVyJyk/LnRlbXBsYXRlO1xuICAgIH0pO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kZXN0cm95T25IaWRlKCkgJiYgIXRoaXMudGVtcGxhdGVDb250ZW50KCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJXaGVuIGRlc3Ryb3lPbkhpZGUgaXMgdHJ1ZSBzVGVtcGxhdGU9J2JvZHknIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG59XG5cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RhYnMvc3JjL2xpYi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixLQUFLLEVBQ0wsS0FBSyxFQUVMLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFFaEY7Ozs7Ozs7Ozs7Ozs7R0FhRztBQU1ILE1BQU0sT0FBTyxnQkFBZ0I7SUFDaEIsU0FBUyxHQUFHLFNBQVMsQ0FBbUIsVUFBVSxDQUFDLENBQUM7SUFDcEQsd0JBQXdCLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUQsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDckMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ3JGLENBQUMsQ0FBQyxDQUFDO0lBQ0gsaUdBQWlHO0lBQ2pHLElBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUV2QixtREFBbUQ7SUFDbkQsTUFBTSxHQUFHLEtBQUssRUFBVSxDQUFDO0lBRXpCOzs7O09BSUc7SUFDSCxRQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRWpDOzs7T0FHRztJQUNILEtBQUssR0FBRyxLQUFLLEVBQW1CLENBQUM7SUFFakM7Ozs7O09BS0c7SUFDSCxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDL0MsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0gsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBRUgsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUV0QixlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUNsRCxPQUFPLENBQUMsS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELE9BQU87SUFDWCxDQUFDO3dHQWhEUSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix1eEJBRTJCLGlCQUFpQixvS0NqQ3pFLDRFQUlBOzs0RkQyQmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNJLFlBQVksY0FDVixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBjb250ZW50Q2hpbGRyZW4sXG4gICAgaW5wdXQsXG4gICAgbW9kZWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90ZW1wbGF0ZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgaXRlbSBkZSBhYmEsIHV0aWxpemFkbyBjb21vIGZpbGhvIGRpcmV0byBkZSBgVGFic0NvbXBvbmVudGAuXG4gKiBEZWZpbmUgbyByw7N0dWxvLCDDrWNvbmUgZSBjb250ZcO6ZG8gZGUgY2FkYSBhYmEgaW5kaXZpZHVhbG1lbnRlLlxuICogU3Vwb3J0YSB0ZW1wbGF0ZXMgY3VzdG9taXphZG9zIHBhcmEgY2FiZcOnYWxobyBlIGNvcnBvIHZpYSBgVGVtcGxhdGVEaXJlY3RpdmVgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy10YWItaXRlbSBoZWFkZXI9XCJEZXRhbGhlc1wiIHZhbHVlPVwiZGV0YWlsc1wiIFtkaXNhYmxlZF09XCJmYWxzZVwiPlxuICogICBDb250ZcO6ZG8gZGEgYWJhXG4gKiA8L3MtdGFiLWl0ZW0+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgTmF2ZWdhw6fDo29cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXRhYi1pdGVtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWItaXRlbS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICByZWFkb25seSBfdGVtcGxhdGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ3RlbXBsYXRlJyk7XG4gICAgcmVhZG9ubHkgaGVhZGVyVGVtcGxhdGVEaXJlY3RpdmVzID0gY29udGVudENoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKTtcbiAgICByZWFkb25seSB0ZW1wbGF0ZUNvbnRlbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhlYWRlclRlbXBsYXRlRGlyZWN0aXZlcygpPy5maW5kKCh4KSA9PiB4LnR5cGUgPT09ICdib2R5Jyk/LnRlbXBsYXRlO1xuICAgIH0pO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRlIMOtY29uZSBleGliaWRhIGFvIGxhZG8gZG8gcsOzdHVsbyBkYSBhYmEgKGV4OiBjbGFzc2UgZGUgRm9udCBBd2Vzb21lLiAqL1xuICAgIGljb24gPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFRleHRvIGRvIHLDs3R1bG8gZXhpYmlkbyBuYSBhYmEuICovXG4gICAgaGVhZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIGEgYWJhIGZpY2EgZGVzYWJpbGl0YWRhIGUgbsOjbyBwb2RlIHNlciBzZWxlY2lvbmFkYSBwZWxvIHVzdcOhcmlvLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBWYWxvciBpZGVudGlmaWNhZG9yIMO6bmljbyBkYSBhYmEsIHV0aWxpemFkbyBwZWxvIGBUYWJzQ29tcG9uZW50YCBwYXJhIGNvbnRyb2xhciBhIGFiYSBhdGl2YS5cbiAgICAgKiBRdWFuZG8gbsOjbyBpbmZvcm1hZG8sIMOpIGF0cmlidcOtZG8gYXV0b21hdGljYW1lbnRlIG8gw61uZGljZSBkYSBhYmEgKGJhc2VhZG8gZW0gemVybykuXG4gICAgICovXG4gICAgdmFsdWUgPSBtb2RlbDxzdHJpbmcgfCBudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUXVhbmRvIGB0cnVlYCwgZGVzdHLDs2kgbyBjb250ZcO6ZG8gZGEgYWJhIGFvIGVzY29uZMOqLWxhLCBsaWJlcmFuZG8gcmVjdXJzb3MuXG4gICAgICogRXhpZ2UgcXVlIG8gY29udGXDumRvIHNlamEgZW52b2x2aWRvIGVtIHVtIHRlbXBsYXRlIGNvbSBgc1RlbXBsYXRlPVwiYm9keVwiYC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgZGVzdHJveU9uSGlkZSA9IGlucHV0KGZhbHNlKTtcbiAgICB0ZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgX3RlbXBsYXRlID0gdGhpcy5fdGVtcGxhdGUoKTtcbiAgICAgICAgY29uc3QgdGVtcGxhdGVDb250ZW50ID0gdGhpcy50ZW1wbGF0ZUNvbnRlbnQoKTtcbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlQ29udGVudCA/IHRlbXBsYXRlQ29udGVudCA6IF90ZW1wbGF0ZTtcbiAgICB9KTtcbiAgICBoZWFkZXJFbGVtZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZXMoKT8uZmluZCgoeCkgPT4geC50eXBlID09PSAnaGVhZGVyJyk/LnRlbXBsYXRlO1xuICAgIH0pO1xuXG4gICAgYWxyZWFkeU9wZW5lZCA9IGZhbHNlO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kZXN0cm95T25IaWRlKCkgJiYgIXRoaXMudGVtcGxhdGVDb250ZW50KCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJXaGVuIGRlc3Ryb3lPbkhpZGUgaXMgdHJ1ZSBzVGVtcGxhdGU9J2JvZHknIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG59XG5cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuIl19